@arcgis/core 4.34.0-next.117 → 4.34.0-next.119

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{f7c99e9c8d19352af38d.js → 1847e8ac559085949f6d.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{9c571ff94911f7c4459a.js → 21f1e12d4e703b59c31c.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{7748356f4d848254fc66.js → 292403693cba4562a02d.js} +1 -1
  5. package/assets/esri/core/workers/chunks/4a38b1402cd48ced5d0f.js +1 -0
  6. package/assets/esri/core/workers/chunks/6d5f36fdd6ff081f30e8.js +1 -0
  7. package/assets/esri/core/workers/chunks/{061ffb84aeb5bacebbc8.js → 98ccd88bdb9cb96a7610.js} +1 -1
  8. package/assets/esri/core/workers/chunks/b113d4f6a014863aaf66.js +1 -0
  9. package/assets/esri/core/workers/chunks/{c8d58ceb142f2be9106f.js → f18fdfcb3d5d7851e6fc.js} +1 -1
  10. package/assets/esri/core/workers/chunks/f619ab4a3ff3036641a9.js +1 -0
  11. package/chunks/GlowComposition.glsl.js +46 -46
  12. package/chunks/ShadedColorMaterial.glsl.js +10 -10
  13. package/config.js +1 -1
  14. package/editing/templateUtils.js +1 -1
  15. package/interfaces.d.ts +147 -32
  16. package/kernel.js +1 -1
  17. package/layers/PointCloudLayer.js +1 -1
  18. package/layers/SceneLayer.js +1 -1
  19. package/layers/VideoLayer.js +1 -1
  20. package/layers/mixins/SceneService.js +1 -1
  21. package/libs/parquet/parquet.js +1 -1
  22. package/package.json +1 -1
  23. package/renderers/support/RasterSymbolizer.js +1 -1
  24. package/support/revision.js +1 -1
  25. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  26. package/symbols/cim/cimAnalyzer.js +1 -1
  27. package/undoredo/support/ServiceVersionInfo.js +1 -1
  28. package/undoredo/support/Services.js +1 -1
  29. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/stretch.js +1 -1
  30. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  31. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  32. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  33. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  34. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  35. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  36. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  37. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  38. package/widgets/Editor/VisibleElements.js +1 -1
  39. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  40. package/widgets/Editor/workflowUtils.js +1 -1
  41. package/widgets/Editor.js +1 -1
  42. package/widgets/FeatureTable/FieldColumn.js +1 -1
  43. package/widgets/FeatureTable/Grid/Column.js +1 -1
  44. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  45. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  46. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  47. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  48. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  49. package/widgets/OrientedImageryViewer.js +1 -1
  50. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  51. package/widgets/support/SelectionList/VisibleElements.js +1 -1
  52. package/widgets/support/SelectionList.js +1 -1
  53. package/assets/esri/core/workers/chunks/08eb477a375ef882eb2d.js +0 -1
  54. package/assets/esri/core/workers/chunks/0c23d180de581ad47290.js +0 -1
  55. package/assets/esri/core/workers/chunks/4a73622445536b8c55f1.js +0 -1
  56. package/assets/esri/core/workers/chunks/deb2854bb7d082a26f52.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1713,3513],{8303:(e,t,r)=>{r.d(t,{A:()=>A});var i=r(31635),s=r(92602),n=r(70333),o=r(78888),a=r(60999),l=r(49186),d=r(53966),u=r(97768),c=r(74887),p=r(84952),h=r(10107),y=(r(44208),r(87811),r(36005)),g=r(64108),f=r(43937),m=r(77548),v=r(20655),w=r(80812),b=r(41318),I=r(10407);const A=e=>{const t=e;let A=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,u.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new w.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:i}=await r.e(1204).then(r.bind(r,41204));return(0,c.Te)(t),await i({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)||d.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(!s.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:i},content:{updateItem:s}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",i),this._set("userHasUpdateItemPrivileges",s)}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 i=!n.id?.findCredential(this.url),s=e===r.id;if(s&&r.portal.user)return this._getUserPrivileges(r,i);let o,a;if(s)o=r.portal.url;else try{o=await(0,m.wI)(this.url,t)}catch(e){(0,c.QP)(e)}if(!o||!(0,p.b8)(o,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;a=await(n.id?.getCredential(`${o}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,c.QP)(e)}const l=!0,d=!1,u=!1;if(!a)return{features:{edit:l,fullEdit:d},content:{updateItem:u}};try{if(s?await r.reload():(r=new w.default({id:e,portal:{url:o}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){(0,c.QP)(e)}return{features:{edit:l,fullEdit:d},content:{updateItem:u}}}_getUserPrivileges(e,t){const r=(0,I.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?n.id?.findCredential(this.url):null;if(!t)return!0;const r=S.credential===t?S.user:await this._fetchEditingUser(e);return S.credential=t,S.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=n.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const i=`${r.owningSystemUrl}/sharing/rest`,s=v.A.getDefault();if(s&&s.loaded&&(0,p.S8)(s.restUrl)===(0,p.S8)(i))return s.user;const l=`${i}/community/self`,d=null!=e?e.signal:null,u=await(0,a.Ke)((0,o.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:d}));return u.ok?b.A.fromJSON(u.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,i=this.portalItem?.id&&(this.portalItem.portal||v.A.getDefault());return r&&i&&!(0,p.ut)(i.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.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,i.Cg)([(0,h.MZ)({type:w.default})],A.prototype,"portalItem",null),(0,i.Cg)([(0,y.w)("web-document","portalItem",["itemId"])],A.prototype,"readPortalItem",null),(0,i.Cg)([(0,f.K)("web-document","portalItem",{itemId:{type:String}})],A.prototype,"writePortalItem",null),(0,i.Cg)([(0,h.MZ)({clonable:!1})],A.prototype,"resourceReferences",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasEditingPrivileges",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasFullEditingPrivileges",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasUpdateItemPrivileges",void 0),A=(0,i.Cg)([(0,g.$)("esri.layers.mixins.PortalLayer")],A),A},S={credential:null,user:null}},8947:(e,t,r)=>{r.d(t,{L:()=>o});var i=r(60999),s=r(74887),n=r(67076);async function o(e,t,r){const o=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(o&&"unique-value"===o.type&&o.styleOrigin){const a=await(0,i.Ke)(o.populateFromStyle());if((0,s.Te)(r),!1===a.ok){const r=a.error;t?.messages&&t.messages.push(new n.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${r.message}`,{error:r,context:t})),e.clear("renderer",t?.origin)}}}},10184:(e,t,r)=>{r.d(t,{A:()=>c});var i=r(31635),s=r(69540),n=r(25482),o=r(88930),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),d=r(64108),u=r(73133);let c=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,o.t)(this.value,this.unit,"milliseconds")}};(0,i.Cg)([(0,l.e)(u.j,{nonNullable:!0})],c.prototype,"unit",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:{write:!0},nonNullable:!0})],c.prototype,"value",void 0),c=(0,i.Cg)([(0,d.$)("esri.time.TimeInterval")],c)},10407:(e,t,r)=>{r.d(t,{It:()=>h,LG:()=>o,OM:()=>d,Sm:()=>u,Y:()=>a,bK:()=>l,mm:()=>p,sQ:()=>c});var i=r(91218),s=r(16930),n=r(28735);function o(e,t){if(!a(e,t)){const r=e.typeKeywords;r?r.push(t):e.typeKeywords=[t]}}function a(e,t){return!!e.typeKeywords?.includes(t)}function l(e){return a(e,p.HOSTED_SERVICE)}function d(e,t){const r=e.typeKeywords;if(r){const e=r.indexOf(t);e>-1&&r.splice(e,1)}}function u(e,t,r){r?o(e,t):d(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,n.ci)(e);const r=s.A.WGS84;return await(0,i.initializeProjection)(t,r),(0,i.project)(e,r)}(r)}const p={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 h(e){const{portal:t,isOrgItem:r,itemControl:i}=e,s=t.user?.privileges;let n=!s||s.includes("features:user:edit"),o=!!r&&!!s?.includes("features:user:fullEdit");const a="update"===i||"admin"===i;return a?o=n=!0:o&&(n=!0),{features:{edit:n,fullEdit:o},content:{updateItem:a}}}},17036:(e,t,r)=>{r.d(t,{p:()=>l});var i=r(44208),s=r(53966),n=r(20437),o=r(95466),a=r(30524);function l(){return{fields:{type:[n.A],value:null,set:function(e){if(e&&(0,i.A)("big-integer-warning-enabled")){const t=e.filter(e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8);if(t.length){const e=t.map(e=>`'${e.name}'`).join(", ");s.A.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${e}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",e)}},fieldsIndex:{readOnly:!0,get(){return o.A.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){const e=this._userOutFields;if(!e?.length)return null;if(e.includes("*"))return["*"];if(!this.fields)return e;for(const t of e){const r=this.fieldsIndex?.has(t);r||s.A.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:e})}return(0,a.DB)(this.fieldsIndex,e)}}}}},18768:(e,t,r)=>{r.d(t,{b:()=>l});var i=r(31635),s=r(53966),n=r(10107),o=(r(44208),r(87811),r(64108)),a=r(60694);const l=e=>{const t=e;let r=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,a.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Jf)(e,s.A.getLogger(this)))}};return(0,i.Cg)([(0,n.MZ)()],r.prototype,"title",null),(0,i.Cg)([(0,n.MZ)({type:String})],r.prototype,"url",null),r=(0,i.Cg)([(0,o.$)("esri.layers.mixins.ArcGISService")],r),r}},20557:(e,t,r)=>{r.d(t,{Fm:()=>l,Hz:()=>h,JQ:()=>p,JZ:()=>b,ND:()=>g,R_:()=>o,U9:()=>c,fu:()=>s,nr:()=>y,oF:()=>n,rq:()=>d,z$:()=>u});const i=[["binary","application/octet-stream","bin",""]];function s(e,t){return null!=m(t.name,e?.supportedFormats??[])}function n(e,t){if(!e)return!1;const r=d(t,e.supportedFormats??[]);return null!=r&&e.editFormats.includes(r)}function o(e,t){return v(function(e,t){const r=e.toLowerCase();return f(t).find(e=>w(e)===r)}(e,t))}function a(e,t){return v(m(e,t))}function l(e,t){return w(function(e,t){return f(t).find(t=>v(t)===e)}(e,t))}function d(e,t){return a(e.name,t)??o(e.type,t)}function u(e,t,r){return o(e,r)??a(t,r)}function c({supportedFormats:e}){return u("model/gltf-binary","glb",e)}function p(e){const t=c(e);return null!=t&&e.editFormats.includes(t)}function h(e){if(!e)return null;const t=c(e),r=function({supportedFormats:e}){return u("model/gltf+json","gltf",e)}(e);let i=null;for(const s of e.queryFormats){if(s===t)return s;s===r&&(i=s)}return i}function y({supportedFormats:e}){return u("application/esri3do-SR_world","wld",e)}function g({supportedFormats:e}){return u("application/esri3do-SR_prj","prj",e)}function f(e){return[...i,...e]}function m(e,t){const r=e.toLowerCase();return f(t).find(e=>function(e){return e?.[2].split(",").map(e=>e.toLowerCase())??[]}(e).some(e=>r.endsWith(e)))}function v(e){return e?.[0]}function w(e){return e?.[1].toLowerCase()}function b(e){return e.tables?.find(e=>"assetMaps"===e.role)}},20816:(e,t,r)=>{r.d(t,{TA:()=>s,We:()=>a,Z3:()=>n,ZJ:()=>l,w5:()=>d});var i=r(78888);const s=(0,r(13069).vD)(),n=new Map,o=new Map;async function a(e,t,r){if(!e||!r)return!1;if(!t)return!0;const s=new URL(e).host;let o=n.get(s);if(!o){const t=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,"");o=(await(0,i.A)(t,{responseType:"json",query:{f:"json"}})).data.defaultVersionName}return o===t}async function l(e,t,i=!1){if(!e||!t)return!0;const n=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),a=o.get(n)?.entries();if(a)for(const[e,o]of a)if(o.name===t){const t=!o.stack?.hasForwardEdits();if(!t&&i){const[{deleteForwardEdits:t},{default:i}]=await Promise.all([r.e(2186).then(r.bind(r,32186)),r.e(2558).then(r.bind(r,32558))]),a=await t(n,e,new i({sessionId:s,moment:o.moment}));return a.success&&o.stack?.clearForwardEdits(),a.success}return t}return!0}function d(e,t){if(!e)return!1;const r=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),i=o.get(r)?.entries();if(i)for(const[e,r]of i)if(r.name===t)return"edit"===r.lockType;return!1}new Map},24770:(e,t,r)=>{r.d(t,{$I:()=>f,AU:()=>h,g7:()=>g,i4:()=>u,ui:()=>c,up:()=>v,vt:()=>d,yo:()=>y});var i=r(34727),s=r(58083),n=r(67026),o=r(82534),a=r(38954),l=r(51850);function d(e=v){return[e[0],e[1],e[2],e[3]]}function u(e,t,r=d()){return(0,a.d)(r,e),r[3]=t,r}function c(e,t=d()){const r=(0,s.l)(w,e);return m(t,(0,i.KJ)((0,n.Xd)(t,r))),t}function p(e,t,r=d()){return(0,n.x8)(w,e,f(e)),(0,n.x8)(b,t,f(t)),(0,n.lw)(w,b,w),m(r,(0,i.KJ)((0,n.Xd)(r,w)))}function h(e,t,r,i=d()){return u(l.Cw,e,I),u(l.JP,t,A),u(l.Cb,r,S),p(I,A,I),p(I,S,i),i}function y(e){return e}function g(e){return e[3]}function f(e){return(0,i.kU)(e[3])}function m(e,t){return e[3]=t,e}const v=[0,0,1,0],w=(0,o.vt)(),b=(0,o.vt)(),I=(d(),d()),A=d(),S=d()},25036:(e,t,r)=>{r.d(t,{j:()=>o});var i=r(31635),s=r(10107),n=(r(44208),r(53966),r(87811),r(64108));const o=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;void 0!==t?.effectiveScaleRange&&function(e,t){e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale}(e,t.effectiveScaleRange);const r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,i.Cg)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"minScale",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"maxScale",void 0),(0,i.Cg)([(0,s.MZ)({readOnly:!0})],r.prototype,"effectiveScaleRange",null),r=(0,i.Cg)([(0,n.$)("esri.layers.mixins.ScaleRangeLayer")],r),r}},36969:(e,t,r)=>{r.r(t),r.d(t,{default:()=>De});var i=r(31635),s=r(52106),n=r(37838),o=r(69540),a=r(7762),l=r(51447),d=r(49186),u=r(36563),c=r(53966),p=r(97768),h=r(92071),y=r(74887),g=r(36708),f=r(10107),m=(r(44208),r(87811),r(88620)),v=r(36005),w=r(64108),b=r(86738),I=r(91218),A=r(55156),S=r(60950),C=r(89808),M=r(99959);const F=Symbol("isSceneGraphicOrigin");var x;class L extends M.A{get[(x=F,S.ym)](){return this.layer}get[A.e](){return this.layer}get[C.Q](){return this.layer}constructor(e){super(),this[x]=!0,this.type="scene",this.layer=e}get id(){return this.layer.id}}var T=r(4146),j=r(55726),E=r(52136),O=r(18768),P=r(69208),_=r(47685),U=r(16131),Z=r(8303),R=r(25036),N=r(58947),D=r(82935),$=r(25482),k=r(30524);function q({associatedLayer:e,serviceUpdateTimeStamp:t}){const r=e?.editingInfo?.lastEditDate,i=e?.serverGens,s=null!=r,n=null!=t,o=s&&n&&t.lastUpdate!==r.getTime();return s&&(o||!n&&i?.minServerGen!==i?.serverGen)}var H=r(96184),G=r(79677),V=r(10184);const Q=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.serviceTimeInfo=null}get timeInfo(){const e=this.associatedLayer?.timeInfo;if(null==e)return null;const t=e.clone();return(0,k.sv)(t,this.fieldsIndex),t}set timeInfo(e){(0,k.sv)(e,this.fieldsIndex),this._override("timeInfo",e)}get timeExtent(){return this.associatedLayer?.timeExtent}set timeExtent(e){this._override("timeExtent",e)}get timeOffset(){return this.associatedLayer?.timeOffset}set timeOffset(e){this._override("timeOffset",e)}get datesInUnknownTimezone(){return this.associatedLayer?.datesInUnknownTimezone??!1}set datesInUnknownTimezone(e){this._override("datesInUnknownTimezone",e)}async loadTimeInfoFromService(e){const{serviceTimeInfo:t}=this;if(null==t)return;const{startTimeField:r,endTimeField:i}=t;if(null==r&&null==i)return;if(q({associatedLayer:this.associatedLayer,serviceUpdateTimeStamp:this.serviceUpdateTimeStamp}))return;const s=async t=>{let i=null;try{const r=await(this.fetchStatistics?.(t,e));i=r?.stats}catch{}if(null==i)return null;const{minTimeStr:s,min:n,maxTimeStr:o,max:a}=i,l=t===r?s??n:o??a;return null!=l?new Date(l):null},[n,o]=await Promise.all([s(r),s(i)]);if(null!=r&&null==n||null!=i&&null==o)return;const a=new G.A({start:n,end:o});this.setAtOrigin("timeInfo",new H.A({endField:i,startField:r,fullTimeExtent:a}),"service")}};return(0,i.Cg)([(0,f.MZ)({type:H.A,json:{read:!1,write:!1}})],r.prototype,"timeInfo",null),(0,i.Cg)([(0,f.MZ)({type:G.A,json:{read:!1,write:!1}})],r.prototype,"timeExtent",null),(0,i.Cg)([(0,f.MZ)({type:V.A,json:{read:!1,write:!1}})],r.prototype,"timeOffset",null),(0,i.Cg)([(0,f.MZ)({type:Boolean,nonNullable:!0,json:{read:!1,write:!1}})],r.prototype,"datesInUnknownTimezone",null),(0,i.Cg)([(0,f.MZ)({type:J,readOnly:!0,json:{read:{source:"timeInfo"}},clonable:!1})],r.prototype,"serviceTimeInfo",void 0),r=(0,i.Cg)([(0,w.$)("esri.layers.mixins.TemporalSceneLayer")],r),r};let J=class extends $.o{constructor(){super(...arguments),this.endTimeField=null,this.startTimeField=null}};(0,i.Cg)([(0,f.MZ)({type:String})],J.prototype,"endTimeField",void 0),(0,i.Cg)([(0,f.MZ)({type:String})],J.prototype,"startTimeField",void 0),J=(0,i.Cg)([(0,w.$)("esri.layers.mixins.TemporalSceneLayer.SceneServiceTimeInfo")],J);var K=r(60694),B=r(92009),z=r(4071),W=r(10873),Y=r(15426),X=r(40530),ee=r(67202),te=r(17036),re=r(95466),ie=r(50805),se=r(20557),ne=r(46499),oe=r(39383),ae=r(37352),le=r(4513),de=r(86390);let ue=class extends $.o{constructor(){super(...arguments),this.name=null,this.field=null,this.currentRangeExtent=null,this.fullRangeExtent=null,this.type="rangeInfo"}};(0,i.Cg)([(0,f.MZ)({type:String,json:{read:!0,write:{isRequired:!0}}})],ue.prototype,"name",void 0),(0,i.Cg)([(0,f.MZ)({type:String,json:{read:!0,write:{isRequired:!0}}})],ue.prototype,"field",void 0),(0,i.Cg)([(0,f.MZ)({type:[Number],json:{read:!0,write:!0}})],ue.prototype,"currentRangeExtent",void 0),(0,i.Cg)([(0,f.MZ)({type:[Number],json:{read:!0,write:!0}})],ue.prototype,"fullRangeExtent",void 0),(0,i.Cg)([(0,f.MZ)({type:["rangeInfo"],readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],ue.prototype,"type",void 0),ue=(0,i.Cg)([(0,w.$)("esri.layers.support.RangeInfo")],ue);var ce,pe=r(78888),he=r(4718),ye=r(87024),ge=r(67076),fe=r(39829);let me=ce=class extends((0,$.T)(a.A.ofType(fe.A))){constructor(e){super(e)}clone(){return new ce(this.items.map(e=>e.clone()))}write(e,t){return this.toJSON(t)}toJSON(e){const t=e?.layer?.spatialReference;return t?this.toArray().map(r=>{if(!t.equals(r.spatialReference)){if(!(0,I.canProjectWithoutEngine)(r.spatialReference,t))return e?.messages?.push(new ge.A("scenefilter:unsupported","Scene filters with incompatible spatial references are not supported",{modification:this,spatialReference:e.layer.spatialReference,context:e})),null;const i=new fe.A;(0,I.projectPolygon)(r,i,t),r=i}const i=r.toJSON(e);return delete i.spatialReference,i}).filter(e=>null!=e):this.toArray().map(t=>t.toJSON(e))}static fromJSON(e,t){const r=new ce;return e.forEach(e=>r.add(fe.A.fromJSON(e,t))),r}};me=ce=(0,i.Cg)([(0,w.$)("esri.layers.support.PolygonCollection")],me);const ve=me;var we,be=r(97159);let Ie=we=class extends $.o{constructor(e){super(e),this.spatialRelationship="disjoint",this.geometries=new ve,this._geometriesSource=null}initialize(){this.addHandles((0,g.on)(()=>this.geometries,"after-changes",()=>this.geometries=this.geometries,g.OH))}readGeometries(e,t,r){Array.isArray(e)?this.geometries=ve.fromJSON(e,r):"web-scene"!==r.origin&&"portal-item"!==r.origin||(this._geometriesSource={url:(0,be.f)(e,r),context:r})}async loadGeometries(e,t){if(null==this._geometriesSource)return;const{url:r,context:i}=this._geometriesSource,s=await(0,pe.A)(r,{responseType:"json",signal:t?.signal}),n=e.toJSON(),o=s.data.map(e=>({...e,spatialReference:n}));this.geometries=ve.fromJSON(o,i),this._geometriesSource=null}clone(){const e=new we({geometries:(0,he.o8)(this.geometries),spatialRelationship:this.spatialRelationship});return e._geometriesSource=this._geometriesSource,e}};(0,i.Cg)([(0,f.MZ)({type:["disjoint","contains"],nonNullable:!0,json:{write:{isRequired:!0}}})],Ie.prototype,"spatialRelationship",void 0),(0,i.Cg)([(0,f.MZ)({type:ve,nonNullable:!0,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}}),(0,ye.P)({origins:["web-scene","portal-item"],type:"resource",prefix:"geometries",contentAddressed:!0})],Ie.prototype,"geometries",void 0),(0,i.Cg)([(0,v.w)(["web-scene","portal-item","service"],"geometries")],Ie.prototype,"readGeometries",null),Ie=we=(0,i.Cg)([(0,w.$)("esri.layers.support.SceneFilter")],Ie);const Ae=Ie;var Se=r(84952),Ce=r(8947),Me=r(41214),Fe=r(61956),xe=r(56776),Le=r(30291);async function Te(e){const t=[];for(const r of e)r.name.toLowerCase().endsWith(".zip")?t.push(je(r)):t.push(Promise.resolve(r));return(await Promise.all(t)).flat()}async function je(e){const{BlobReader:t,ZipReader:i,BlobWriter:s}=await Promise.all([r.e(1967),r.e(9588)]).then(r.bind(r,9588)),n=[],o=new i(new t(e));return(await o.getEntries()).forEach(e=>{if(e.directory||/^__MACOS/i.test(e.filename))return;const t=new s;n.push(e.getData(t).then(t=>new File([t],e.filename)))}),Promise.all(n)}var Ee=r(5682),Oe=r(45671),Pe=r(78553);const _e=new Set(["3DObject","Point"]),Ue=(0,te.p)();let Ze=class extends(Q((0,_.w6)((0,N.w6)((0,O.b)((0,U.q)((0,Z.A)((0,R.j)((0,h.P)((0,P.d)((0,E.p)((0,o.OU)(T.A)))))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType="ArcGISSceneServiceLayer",this.type="scene",this.fields=null,this.graphicOrigin=new L(this),this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new a.A,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.attributeTableTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._set("renderer",null),this.associatedLayer=(0,p.pR)(this.associatedLayer)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){const r=this.getField(e)?.domain??null;return this.associatedLayer?(0,Y.Vq)(this.associatedLayer,e,t,r):r}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new re.A(this.fields)}readNodePages(e,t,r){return"Point"===t.layerType&&(e=t.pointNodePages),null==e||"object"!=typeof e?null:ie.W4.fromJSON(e,r)}set elevationInfo(e){this._set("elevationInfo",e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return null!=this.associatedLayer&&(0,Y.C$)(this.associatedLayer)}get geometryType(){return Ne[this.profile]||"mesh"}set renderer(e){(0,k.yp)(e,this.fieldsIndex),this._set("renderer",e)}readCachedDrawingInfo(e){return null!=e&&"object"==typeof e||(e={}),null==e.color&&(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e=null!=e?e:z.P;const{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsRollbackOnFailure:s,supportsUploadWithItemId:n,supportsGeometryUpdate:o,supportsReturnServiceEditsInSourceSpatialReference:a},data:{supportsZ:l,supportsM:d,isVersioned:u,supportsAttachment:c},operations:{supportsEditing:p,supportsAdd:h,supportsUpdate:y,supportsDelete:g,supportsQuery:f,supportsQueryAttachments:m,supportsAsyncConvert3D:v}}=e,w=e.operations.supportsChangeTracking,b=!!this.associatedLayer?.infoFor3D;return{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsReturnServiceEditsInSourceSpatialReference:a,supportsRollbackOnFailure:s,supportsGeometryUpdate:b&&o,supportsUploadWithItemId:n},data:{supportsAttachment:c,supportsZ:l,supportsM:d,isVersioned:u},operations:{supportsQuery:f,supportsQueryAttachments:m,supportsEditing:p&&w,supportsAdd:b&&h&&w,supportsDelete:b&&g&&w,supportsUpdate:y&&w,supportsAsyncConvert3D:v}}}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some(t=>("esriFieldTypeOID"===t.type&&(e=t.name),!!e)),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some(t=>("esriFieldTypeGlobalID"===t.type&&(e=t.name),!!e)),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){const r=t.store.profile;return null!=r&&Re[r]?Re[r]:(c.A.getLogger(this).error("Unknown or missing profile",{profile:r,layer:this}),"mesh-pyramids")}get useViewTime(){return this.associatedLayer?.useViewTime??!0}set useViewTime(e){this._override("useViewTime",e)}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){const t=e?.signal;await this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(y.QP),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await this.loadTimeInfoFromService(e),await(0,Ce.L)(this,{origin:"service"},t),(0,k.yp)(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){null!=this.filter&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){c.A.getLogger(this).error("#_loadFilterGeometries()",this,"Failed to load filter geometries. Geometry filter will not be applied for this layer.",{error:e}),this.filter=null}}createQuery(){const e=new Fe.A;return"mesh"===this.geometryType?this.capabilities.query.supportsReturnMesh&&(e.returnGeometry=!0):(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||"1=1",e.sqlFormat="standard",e.outFields=["*"],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryExtent(e||this.createQuery(),t))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryFeatureCount(e||this.createQuery(),t))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryFeatures(e||this.createQuery(),t)).then(e=>{if(e?.features)for(const t of e.features)t.layer=this,t.sourceLayer=this,t.origin=this.graphicOrigin;return e})}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new d.A("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new d.A("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){const r=(0,k.hL)(this.fieldsIndex,await(0,Oe.TO)(this,(0,Oe.D8)(this)));return(0,Ee.s1)(this.parsedUrl?.path??"",this.attributeStorageInfo??[],e,t,r,this.apiKey,this.customParameters)}async queryCachedFeature(e,t){const r=await this.queryCachedAttributes(e,[t]);if(!r||0===r.length)throw new d.A("scenelayer:feature-not-in-cached-data","Feature not found in cached data");const i=new s.A;return i.attributes=r[0],i.layer=this,i.sourceLayer=this,i.origin=this.graphicOrigin,i}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryObjectIds(e||this.createQuery(),t))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then(r=>r.queryAttachments(e,t))}getFieldUsageInfo(e){const t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(c.A.getLogger(this).error("#getFieldUsageInfo()","Unavailable until layer is loaded"),t)}createPopupTemplate(e){return(0,Le.tn)(this,e)}_getAssociatedLayerForQuery(){const e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new d.A("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});try{await this.associatedLayer.load()}catch(e){throw new d.A("scenelayer:query-not-available","SceneLayer associated feature layer could not be loaded",{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return null!=this.statisticsInfo&&this.statisticsInfo.some(t=>t.name===e)}async queryCachedStatistics(e,t){return await this.load(t),await this.fetchStatistics(e,t)}async saveAs(e,t){return this._debouncedSaveOperations(1,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"},e)}async save(){const e={getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"};return this._debouncedSaveOperations(0,e)}async applyEdits(e,t){const{applyEdits:i}=await r.e(8628).then(r.bind(r,78628));let s=t;await this.load();const n=this.associatedLayer;if(!n)throw new d.A(`${this.type}-layer:not-editable`,"Service is not editable");await n.load();const{globalIdField:o}=n,a=!!n.infoFor3D,l=s?.globalIdUsed??!0;if(a&&null==o)throw new d.A(`${this.type}-layer:not-editable`,"Valid globalIdField expected on editable SceneLayer");if(a&&!l)throw new d.A(`${this.type}-layer:globalid-required`,"globalIdUsed must not be false for SceneLayer editing as globalIds are required.");return(0,K.Wo)(n.url)&&a&&null!=e.deleteFeatures&&null!=o&&(s={...s,globalIdToObjectId:await(0,Y.GA)(n,e.deleteFeatures,o)}),i(this,n.source,e,s)}async uploadAssets(e,t){if(await this.load(),null==this.associatedLayer)throw new d.A(`${this.type}-layer:not-editable`,"Service is not editable");return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}async convertMesh(e,t){t??={},null!=t.location&&(0,l.io)(c.A.getLogger(this),"The 'location' option of convertMesh() has been deprecated in favour of 'origin'.",{version:"4.34",replacement:"origin",warnOnce:!0});const i=e=>{throw c.A.getLogger(this).error(".convertMesh()",e.message),e};await this.load(t),this.infoFor3D||i(new d.A("invalid:layer","SceneLayer has no capability for mesh conversion"));const s=await this.extractAndFilterFiles(e);(0,y.Te)(t);const n=s.reduce((e,t)=>(0,se.oF)(this.infoFor3D,t)?e+1:e,0);0===n&&i(new j.VP),n>1&&i(new j.XQ);const o=this.spatialReference,a=t.origin??t.location,u=await(0,I.projectWithZConversion)(a??t.defaultOrigin??new b.A({x:0,y:0,z:0,spatialReference:o}),o,t),p=u.spatialReference.isGeographic?"local":"georeferenced",{default:h}=await Promise.all([r.e(8487),r.e(36)]).then(r.bind(r,40036));(0,y.Te)(t);const g=h.createWithExternalSource(u,{type:"client",files:s},{vertexSpace:p,transform:(0,de.Z)(u.spatialReference),unitConversionDisabled:!0}),[f]=await this.uploadAssets([g],{...t,useAssetOrigin:!a});return f}async extractAndFilterFiles(e){await this.load();const t=this.infoFor3D;return t?(await Te(e)).filter(e=>(0,se.fu)(t,e)):e}validateLayer(e){if(e.layerType&&!_e.has(e.layerType))throw new d.A("scenelayer:layer-type-not-supported","SceneLayer does not support this layer type",{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new d.A("layer:service-version-not-supported","Service version is not supported.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});if(this.version.major>2)throw new d.A("layer:service-version-too-new","Service version is too new.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});!function(e,t){let r=!1,i=!1;if(null==e)r=!0,i=!0;else{const s=t&&t.isGeographic;switch(e){case"east-north-up":case"earth-centered":r=!0,i=s;break;case"vertex-reference-frame":r=!0,i=!s;break;default:r=!1}}if(!r)throw new d.A("scenelayer:unsupported-normal-reference-frame","Normal reference frame is invalid.");if(!i)throw new d.A("scenelayer:incompatible-normal-reference-frame","Normal reference frame is incompatible with layer spatial reference.")}(this.normalReferenceFrame,this.spatialReference)}_getTypeKeywords(){const e=[];if("points"===this.profile)e.push("Point");else{if("mesh-pyramids"!==this.profile)throw new d.A("scenelayer:unknown-profile","SceneLayer:save() encountered an unknown SceneLayer profile: "+this.profile);e.push("3DObject")}return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(const e of this.fields){const t=!!this.attributeStorageInfo?.some(t=>t.name===e.name),r=!!this.associatedLayer?.fields?.some(t=>t&&e.name===t.name),i={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||r,supportsLayerQuery:r};this._fieldUsageInfo[e.name]=i}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPropertyOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(const t of this.associatedLayer.fields){const r=this.getField(t.name);r?(!r.domain&&t.domain&&(r.domain=t.domain.clone()),r.editable=t.editable,r.nullable=t.nullable,r.length=t.length):(e||(e=this.fields?this.fields.slice():[]),e.push(t.clone()))}e&&this._set("fields",e)}_applyAssociatedLayerPropertyOverrides(){if(!this.associatedLayer)return;const e=["popupTemplate","popupEnabled","attributeTableTemplate"],t=(0,m.oY)(this);for(let r=0;r<e.length;r++){const i=e[r],s=this.originIdOf(i),n=this.associatedLayer.originIdOf(i);s<n&&(2===n||3===n)&&t.setAtOrigin(i,this.associatedLayer[i],n)}}_applyAssociatedLayerExtentOverride(){const e=this.associatedLayer?.getAtOrigin("fullExtent","service");null!=this.associatedLayer?.infoFor3D&&e&&(0,K.Wo)(this.associatedLayer?.url)&&q(this)&&(0,m.oY)(this).setAtOrigin("fullExtent",e.clone(),2)}_applyAssociatedLayerPrivileges(){const e=this.associatedLayer;e&&(this._set("userHasEditingPrivileges",e.userHasEditingPrivileges),this._set("userHasFullEditingPrivileges",e.userHasFullEditingPrivileges),this._set("userHasUpdateItemPrivileges",e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if(["mesh-pyramids","points"].includes(this.profile))try{const{serverUrl:t,layerId:r,portalItem:i}=await(0,B.L)(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,customParameters:this.customParameters,apiKey:this.apiKey,signal:e}),s=await le.S.FeatureLayer();this.associatedLayer=new s({url:t,customParameters:this.customParameters,layerId:r,portalItem:i}),await this.associatedLayer.load()}catch(e){(0,y.zf)(e)||this._logWarningOnPopupEnabled()}}async _logWarningOnPopupEnabled(){const e=new AbortController;this.addHandles((0,u.rE)(e));try{await(0,g.C_)(()=>this.popupEnabled&&null!=this.popupTemplate,e.signal)}catch(e){return void(0,y.jH)(e)}const t=`this SceneLayer: ${this.title}`;null==this.attributeStorageInfo?c.A.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${t}`):c.A.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${t}`)}_validateElevationInfo(){const e=this.elevationInfo;"mesh-pyramids"===this.profile&&(0,xe.XF)(c.A.getLogger(this),(0,xe.$7)("Mesh scene layers","relative-to-scene",e)),(0,xe.XF)(c.A.getLogger(this),(0,xe.tW)("Scene layers",e))}async fetchStatistics(e,t){return await async function({fieldName:e,statisticsInfo:t,errorContext:r,fieldsIndex:i,path:s,customParameters:n,apiKey:o,signal:a}){if(null==t)throw new d.A(`${r}:no-cached-statistics`,"Cached statistics are not available for this layer");const l=i.get(e);if(null==l)throw new d.A(`${r}:field-unexisting`,`Field '${e}' does not exist on the layer`);const u=t.find(e=>e.name===l.name);if(null==u)throw new d.A(`${r}:no-cached-statistics`,"Cached statistics for this attribute are not available");const c=(0,Se.fj)(s,u.href),{data:p}=await(0,pe.A)(c,{query:{f:"json",...n,token:o},responseType:"json",signal:a});return p}({fieldName:e,statisticsInfo:this.statisticsInfo,errorContext:"scenelayer",fieldsIndex:this.fieldsIndex,path:this.parsedUrl?.path??"",customParameters:this.customParameters,apiKey:this.apiKey,signal:t?.signal})}};(0,i.Cg)([(0,f.MZ)({types:{key:"type",base:X.c,typeMap:{selection:ee.A}},json:{origins:{"web-scene":{name:"layerDefinition.featureReduction",write:{allowNull:!0}},"portal-item":{name:"layerDefinition.featureReduction",write:{allowNull:!0}}}}})],Ze.prototype,"featureReduction",void 0),(0,i.Cg)([(0,f.MZ)({type:[ue],json:{read:!1,origins:{"web-scene":{name:"layerDefinition.rangeInfos",write:!0},"portal-item":{name:"layerDefinition.rangeInfos",write:!0}}},clonable:!1})],Ze.prototype,"rangeInfos",void 0),(0,i.Cg)([(0,f.MZ)({json:{read:!1}})],Ze.prototype,"associatedLayer",void 0),(0,i.Cg)([(0,f.MZ)({type:["show","hide"]})],Ze.prototype,"listMode",void 0),(0,i.Cg)([(0,f.MZ)({type:["ArcGISSceneServiceLayer"]})],Ze.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,f.MZ)({json:{read:!1},readOnly:!0})],Ze.prototype,"type",void 0),(0,i.Cg)([(0,f.MZ)({...Ue.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Ze.prototype,"fields",void 0),(0,i.Cg)([(0,f.MZ)()],Ze.prototype,"types",null),(0,i.Cg)([(0,f.MZ)()],Ze.prototype,"typeIdField",null),(0,i.Cg)([(0,f.MZ)()],Ze.prototype,"templates",null),(0,i.Cg)([(0,f.MZ)()],Ze.prototype,"formTemplate",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0})],Ze.prototype,"graphicOrigin",void 0),(0,i.Cg)([(0,f.MZ)({readOnly:!0,clonable:!1})],Ze.prototype,"fieldsIndex",null),(0,i.Cg)([(0,f.MZ)({type:ae.A,json:{read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo"}}})],Ze.prototype,"floorInfo",void 0),(0,i.Cg)([(0,f.MZ)(Ue.outFields)],Ze.prototype,"outFields",void 0),(0,i.Cg)([(0,f.MZ)({type:ie.W4,readOnly:!0,json:{read:!1},clonable:!1})],Ze.prototype,"nodePages",void 0),(0,i.Cg)([(0,v.w)("service","nodePages",["nodePages","pointNodePages"])],Ze.prototype,"readNodePages",null),(0,i.Cg)([(0,f.MZ)({type:[ie.uV],readOnly:!0,clonable:!1})],Ze.prototype,"materialDefinitions",void 0),(0,i.Cg)([(0,f.MZ)({type:[ie.Ot],readOnly:!0,clonable:!1})],Ze.prototype,"textureSetDefinitions",void 0),(0,i.Cg)([(0,f.MZ)({type:[ie.L0],readOnly:!0,clonable:!1})],Ze.prototype,"geometryDefinitions",void 0),(0,i.Cg)([(0,f.MZ)({readOnly:!0})],Ze.prototype,"serviceUpdateTimeStamp",void 0),(0,i.Cg)([(0,f.MZ)({readOnly:!0})],Ze.prototype,"attributeStorageInfo",void 0),(0,i.Cg)([(0,f.MZ)({readOnly:!0})],Ze.prototype,"statisticsInfo",void 0),(0,i.Cg)([(0,f.MZ)({type:a.A.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.excludeObjectIds",write:{enabled:!0}}})],Ze.prototype,"excludeObjectIds",void 0),(0,i.Cg)([(0,f.MZ)({type:String,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],Ze.prototype,"definitionExpression",void 0),(0,i.Cg)([(0,f.MZ)({type:Ae,json:{name:"layerDefinition.polygonFilter",write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],Ze.prototype,"filter",void 0),(0,i.Cg)([(0,f.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Ze.prototype,"path",void 0),(0,i.Cg)([(0,f.MZ)(W.Yj)],Ze.prototype,"elevationInfo",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],Ze.prototype,"effectiveCapabilities",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0})],Ze.prototype,"effectiveEditingEnabled",null),(0,i.Cg)([(0,f.MZ)({type:String})],Ze.prototype,"geometryType",null),(0,i.Cg)([(0,f.MZ)(W.kF)],Ze.prototype,"labelsVisible",void 0),(0,i.Cg)([(0,f.MZ)({type:[ne.A],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:{reader:oe.w},write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:oe.w},write:!0}})],Ze.prototype,"labelingInfo",void 0),(0,i.Cg)([(0,f.MZ)(W.fV)],Ze.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,f.MZ)({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:["opacity","layerDefinition.drawingInfo.transparency"],reader(e,t){if("number"==typeof e&&e>=0&&e<=1)return e;const r=t.layerDefinition?.drawingInfo?.transparency;return void 0!==r?(0,Pe.D)(r):void 0}}},"portal-item":{write:!0},service:{read:!1}}}})],Ze.prototype,"opacity",void 0),(0,i.Cg)([(0,f.MZ)({type:["Low","High"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Ze.prototype,"priority",void 0),(0,i.Cg)([(0,f.MZ)({type:["Labels"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Ze.prototype,"semantic",void 0),(0,i.Cg)([(0,f.MZ)({types:Me.XJ,json:{origins:{service:{read:{source:"drawingInfo.renderer"}}},name:"layerDefinition.drawingInfo.renderer",write:!0},value:null})],Ze.prototype,"renderer",null),(0,i.Cg)([(0,f.MZ)({json:{read:!1}})],Ze.prototype,"cachedDrawingInfo",void 0),(0,i.Cg)([(0,v.w)("service","cachedDrawingInfo")],Ze.prototype,"readCachedDrawingInfo",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],Ze.prototype,"capabilities",null),(0,i.Cg)([(0,f.MZ)({type:Boolean,json:{read:!1}})],Ze.prototype,"editingEnabled",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0,json:{write:!1,read:!1}})],Ze.prototype,"infoFor3D",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0,json:{write:!1,read:!1}})],Ze.prototype,"relationships",null),(0,i.Cg)([(0,f.MZ)(W.M6)],Ze.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,f.MZ)({type:n.A,json:{name:"popupInfo",write:!0}})],Ze.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],Ze.prototype,"defaultPopupTemplate",null),(0,i.Cg)([(0,f.MZ)(W.zQ)],Ze.prototype,"attributeTableTemplate",void 0),(0,i.Cg)([(0,f.MZ)({type:String,json:{read:!1}})],Ze.prototype,"objectIdField",void 0),(0,i.Cg)([(0,v.w)("service","objectIdField",["objectIdField","fields"])],Ze.prototype,"readObjectIdField",null),(0,i.Cg)([(0,f.MZ)({type:String,json:{read:!1}})],Ze.prototype,"globalIdField",void 0),(0,i.Cg)([(0,v.w)("service","globalIdField",["globalIdField","fields"])],Ze.prototype,"readGlobalIdField",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0,type:String,json:{read:!1}})],Ze.prototype,"displayField",null),(0,i.Cg)([(0,f.MZ)({type:String,json:{read:!1}})],Ze.prototype,"profile",void 0),(0,i.Cg)([(0,v.w)("service","profile",["store.profile"])],Ze.prototype,"readProfile",null),(0,i.Cg)([(0,f.MZ)({readOnly:!0,type:String,json:{origins:{service:{read:{source:"store.normalReferenceFrame"}}},read:!1}})],Ze.prototype,"normalReferenceFrame",void 0),(0,i.Cg)([(0,f.MZ)(W.PY)],Ze.prototype,"screenSizePerspectiveEnabled",void 0),(0,i.Cg)([(0,f.MZ)({json:{read:!1,origins:{service:{read:!0}}}})],Ze.prototype,"serviceItemId",void 0),(0,i.Cg)([(0,f.MZ)(D.B)],Ze.prototype,"useViewTime",null),Ze=(0,i.Cg)([(0,w.$)("esri.layers.SceneLayer")],Ze);const Re={"mesh-pyramids":"mesh-pyramids",meshpyramids:"mesh-pyramids","features-meshes":"mesh-pyramids",points:"points","features-points":"points",lines:"lines","features-lines":"lines",polygons:"polygons","features-polygons":"polygons"},Ne={"mesh-pyramids":"mesh",points:"point"},De=Ze},40530:(e,t,r)=>{r.d(t,{c:()=>a});var i=r(31635),s=r(25482),n=r(10107),o=(r(44208),r(53966),r(87811),r(64108));let a=class extends s.o{constructor(){super(...arguments),this.type=null}};(0,i.Cg)([(0,n.MZ)({type:["selection","cluster","binning"],readOnly:!0,json:{read:!1,write:!0}})],a.prototype,"type",void 0),a=(0,i.Cg)([(0,o.$)("esri.layers.support.FeatureReduction")],a)},47685:(e,t,r)=>{r.d(t,{Mk:()=>g,Zk:()=>h,w6:()=>v});var i=r(31635),s=r(65529),n=r(4718),o=r(74887),a=r(10107),l=(r(44208),r(53966),r(64108)),d=r(20816);const u=new s.bk;function c(e){return u.on("apply-edits",new WeakRef(e))}function p(e){return u.on("update-moment",new WeakRef(e))}function h(e,t,r=null,i=!1){const s=(0,o.Tw)();return i=null==t||i,u.emit("apply-edits",{serviceUrl:e,layerId:t,gdbVersion:r,mayReceiveServiceEdits:i,result:s.promise}),s}const y=Symbol();function g(e){return null!=e&&"object"==typeof e&&y in e}function f(e){return null!=e&&"object"==typeof e&&"gdbVersion"in e}function m(e,t,r){const i=new URL(e).host,s=d.Z3.get(i),n=e=>!e||e===s;return n(t)&&n(r)||t===r}const v=e=>{var t;const r=e;let s=class extends r{static{t=y}constructor(...e){super(...e),this[t]=!0,this._applyEditsHandler=e=>{const{serviceUrl:t,layerId:r,gdbVersion:i,mayReceiveServiceEdits:s,result:o}=e,a=t===this.url,l=null!=r&&null!=this.layerId&&r===this.layerId,d=f(this),u=f(this)&&m(t,i,this.gdbVersion);if(!a||d&&!u||!l&&!s)return;const c=o.then(e=>{if(this.lastEditsEventDate=new Date,l&&(e.addedFeatures.length||e.updatedFeatures.length||e.deletedFeatures.length||e.addedAttachments.length||e.updatedAttachments.length||e.deletedAttachments.length))return this.emit("edits",(0,n.o8)(e)),e;const r=e.editedFeatures?.find(({layerId:e})=>e===this.layerId);if(r){const{adds:t,updates:i,deletes:s}=r.editedFeatures,o={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:t?t.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],deletedFeatures:s?s.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],updatedFeatures:i?i.map(({current:{attributes:e}})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],editedFeatures:(0,n.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,n.o8)(e.historicMoment)};return this.emit("edits",o),o}const s={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:[],deletedFeatures:[],updatedFeatures:[],editedFeatures:(0,n.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,n.o8)(e.historicMoment)};return"historicMoment"in this&&this._shouldUpdateHistoricMoment(t,i,s.historicMoment)&&this.emit("edits",s),s}).then(e=>("historicMoment"in this&&this._shouldUpdateHistoricMoment(t,i,e.historicMoment)&&(this.historicMoment=e.historicMoment),e));this.emit("apply-edits",{result:c})},this._updateMomentHandler=e=>{const{serviceUrl:t,gdbVersion:r,moment:i}=e,s=t===this.url,n=f(this),o=f(this)&&m(t,r,this.gdbVersion),a=f(this)&&!m(t,this.gdbVersion,null);s&&n&&o&&a&&"historicMoment"in this&&this.historicMoment!==i&&(this.historicMoment=i)},this.when().then(()=>{this.addHandles(c(this._applyEditsHandler)),"historicMoment"in this&&this.addHandles(p(this._updateMomentHandler))},()=>{})}_shouldUpdateHistoricMoment(e,t,r){return"historicMoment"in this&&this.historicMoment!==r&&(0,d.w5)(e,t)}};return(0,i.Cg)([(0,a.MZ)()],s.prototype,"lastEditsEventDate",void 0),s=(0,i.Cg)([(0,l.$)("esri.layers.mixins.EditBusLayer")],s),s}},54239:(e,t,r)=>{r.d(t,{A:()=>m});var i,s=r(31635),n=r(4576),o=r(66552),a=r(25482),l=r(83047),d=r(67076),u=r(10107),c=(r(44208),r(53966),r(36005)),p=r(64108),h=r(43937);const y=(0,o.O)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),g=y.jsonValues.slice();(0,n.Xy)(g,"orthometric");const f=(0,o.O)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let m=i=class extends a.o{constructor(e){super(e),this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}writeHeightModel(e,t,r){return y.write(e,t,r)}readHeightModel(e,t,r){return y.read(e)||(r?.messages&&r.messages.push(function(e,t){return new d.A("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:r})),null)}readHeightUnit(e,t,r){return f.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readHeightUnitService(e,t,r){return(0,l.LA)(e)||f.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new i({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const r=(0,l.k1)(t);return new i({heightModel:e.heightModel,heightUnit:r??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new i;return t.read(e,{origin:"web-scene"}),t}};function v(e,t){return new d.A("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,s.Cg)([(0,u.MZ)({type:y.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:g,default:"ellipsoidal",write:{isRequired:!0}}}}})],m.prototype,"heightModel",void 0),(0,s.Cg)([(0,h.K)("web-scene","heightModel")],m.prototype,"writeHeightModel",null),(0,s.Cg)([(0,c.w)(["web-scene","service"],"heightModel")],m.prototype,"readHeightModel",null),(0,s.Cg)([(0,u.MZ)({type:f.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:f.jsonValues,write:{writer:f.write,isRequired:!0}}}}})],m.prototype,"heightUnit",void 0),(0,s.Cg)([(0,c.w)("web-scene","heightUnit")],m.prototype,"readHeightUnit",null),(0,s.Cg)([(0,c.w)("service","heightUnit")],m.prototype,"readHeightUnitService",null),(0,s.Cg)([(0,u.MZ)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],m.prototype,"vertCRS",void 0),(0,s.Cg)([(0,c.w)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],m.prototype,"readVertCRS",null),m=i=(0,s.Cg)([(0,p.$)("esri.geometry.HeightModelInfo")],m)},55726:(e,t,r)=>{r.d(t,{$1:()=>d,H2:()=>h,MT:()=>y,VP:()=>g,WF:()=>u,Wt:()=>o,XQ:()=>f,hK:()=>p,nS:()=>c,uh:()=>a,xY:()=>l});var i=r(49186);const s="upload-assets",n=()=>new Error;class o extends i.A{constructor(){super(`${s}:unsupported`,"Layer does not support asset uploads.",n())}}class a extends i.A{constructor(){super(`${s}:no-glb-support`,"Layer does not support glb.",n())}}class l extends i.A{constructor(){super(`${s}:no-supported-source`,"No supported external source found",n())}}class d extends i.A{constructor(){super(`${s}:not-base-64`,"Expected gltf data in base64 format after conversion.",n())}}class u extends i.A{constructor(){super(`${s}:unable-to-prepare-options`,"Unable to prepare uploadAsset request options.",n())}}class c extends i.A{constructor(e,t){super(`${s}:bad-response`,`Bad response. Uploaded ${e} items and received ${t} results.`,n())}}class p extends i.A{constructor(e,t){super(`${s}-layer:upload-failed`,`Failed to upload mesh file ${e}. Error code: ${t?.code??"-1"}. Error message: ${t?.messages??"unknown"}`,n())}}class h extends i.A{constructor(e){super(`${s}-layer:unsupported-format`,`The service allowed us to upload an asset of FormatID ${e}, but it does not list it in its supported formats.`,n())}}class y extends i.A{constructor(){super(`${s}:convert3D-failed`,"convert3D failed.")}}class g extends i.A{constructor(){super("invalid-input:no-model","No supported model found")}}class f extends i.A{constructor(){super("invalid-input:multiple-models","Multiple supported models found")}}},67202:(e,t,r)=>{r.d(t,{A:()=>l});var i,s=r(31635),n=r(10107),o=(r(44208),r(53966),r(87811),r(64108)),a=r(40530);let l=i=class extends a.c{constructor(e){super(e),this.type="selection"}clone(){return new i}};(0,s.Cg)([(0,n.MZ)({type:["selection"]})],l.prototype,"type",void 0),l=i=(0,s.Cg)([(0,o.$)("esri.layers.support.FeatureReductionSelection")],l)},69208:(e,t,r)=>{r.d(t,{d:()=>o});var i=r(31635),s=r(10107),n=(r(44208),r(53966),r(87811),r(64108));const o=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.customParameters=null}};return(0,i.Cg)([(0,s.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],r.prototype,"customParameters",void 0),r=(0,i.Cg)([(0,n.$)("esri.layers.mixins.CustomParametersMixin")],r),r}},73133:(e,t,r)=>{r.d(t,{j:()=>i});const i=(0,r(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:void 0})},73179:(e,t,r)=>{r.d(t,{b:()=>l,h:()=>d});var i=r(4718),s=r(53966),n=r(84952),o=r(60694),a=r(10873);function l(e){const{nonStandardUrlAllowed:t=!1,separator:r}=e??{},n=(0,i.o8)(a.OZ),l=n.json?.write;return"object"==typeof l&&l&&(l.writer=function(e,t,i,s){(0,o.LS)(this,e,r,t,s)}),{...n,set:function(e){if(null==e)return void this._set("url",e);const r=(0,o.HZ)({layer:this,url:e,nonStandardUrlAllowed:t,logger:s.A.getLogger(this)});this._set("url",r.url),null!=r.layerId&&this._set("layerId",r.layerId)}}}function d(e,t){const{separator:r}=t??{},i=(0,n.An)(e.url);return null!=i&&(null!=e.dynamicDataSource?i.path=(0,n.fj)(i.path,"dynamicLayer"):null!=e.layerId&&(i.path=(0,n.fj)(i.path,r??"",e.layerId.toString()))),i}},73836:(e,t,r)=>{r.d(t,{A:()=>y});var i=r(31635),s=r(69540),n=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(64108)),l=r(58083),d=r(9093),u=r(67026),c=r(82534),p=r(51850),h=r(24770);let y=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.translation=(0,p.vt)(),this.rotationAxis=(0,p.ci)(h.up),this.rotationAngle=0,this.scale=(0,p.fA)(1,1,1)}get rotation(){return(0,h.i4)(this.rotationAxis,this.rotationAngle)}set rotation(e){this.rotationAxis=(0,p.o8)((0,h.yo)(e)),this.rotationAngle=(0,h.g7)(e)}get localMatrix(){const e=(0,d.vt)();return(0,u.x8)(g,(0,h.yo)(this.rotation),(0,h.$I)(this.rotation)),(0,l.o1)(e,g,this.translation,this.scale),e}get localMatrixInverse(){return(0,l.B8)((0,d.vt)(),this.localMatrix)}equals(e){return this===e||null!=e&&(0,l.t2)(this.localMatrix,e.localMatrix)}};(0,i.Cg)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],y.prototype,"translation",void 0),(0,i.Cg)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],y.prototype,"rotationAxis",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],y.prototype,"rotationAngle",void 0),(0,i.Cg)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],y.prototype,"scale",void 0),(0,i.Cg)([(0,o.MZ)()],y.prototype,"rotation",null),(0,i.Cg)([(0,o.MZ)()],y.prototype,"localMatrix",null),(0,i.Cg)([(0,o.MZ)()],y.prototype,"localMatrixInverse",null),y=(0,i.Cg)([(0,a.$)("esri.geometry.support.MeshTransform")],y);const g=(0,c.vt)()},80200:(e,t,r)=>{r.d(t,{T:()=>i,d:()=>g});const i={Base64:0,Hex:1,String:2,Raw:3},s=8,n=(1<<s)-1;function o(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function a(e){const t=[];for(let r=0,i=e.length*s;r<i;r+=s)t[r>>5]|=(e.charCodeAt(r/s)&n)<<r%32;return t}function l(e){const t=[];for(let r=0,i=32*e.length;r<i;r+=s)t.push(String.fromCharCode(e[r>>5]>>>r%32&n));return t.join("")}function d(e,t,r,i,s,n){return o(function(e,t){return e<<t|e>>>32-t}(o(o(t,e),o(i,n)),s),r)}function u(e,t,r,i,s,n,o){return d(t&r|~t&i,e,t,s,n,o)}function c(e,t,r,i,s,n,o){return d(t&i|r&~i,e,t,s,n,o)}function p(e,t,r,i,s,n,o){return d(t^r^i,e,t,s,n,o)}function h(e,t,r,i,s,n,o){return d(r^(t|~i),e,t,s,n,o)}function y(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let r=1732584193,i=-271733879,s=-1732584194,n=271733878;for(let t=0;t<e.length;t+=16){const a=r,l=i,d=s,y=n;r=u(r,i,s,n,e[t],7,-680876936),n=u(n,r,i,s,e[t+1],12,-389564586),s=u(s,n,r,i,e[t+2],17,606105819),i=u(i,s,n,r,e[t+3],22,-1044525330),r=u(r,i,s,n,e[t+4],7,-176418897),n=u(n,r,i,s,e[t+5],12,1200080426),s=u(s,n,r,i,e[t+6],17,-1473231341),i=u(i,s,n,r,e[t+7],22,-45705983),r=u(r,i,s,n,e[t+8],7,1770035416),n=u(n,r,i,s,e[t+9],12,-1958414417),s=u(s,n,r,i,e[t+10],17,-42063),i=u(i,s,n,r,e[t+11],22,-1990404162),r=u(r,i,s,n,e[t+12],7,1804603682),n=u(n,r,i,s,e[t+13],12,-40341101),s=u(s,n,r,i,e[t+14],17,-1502002290),i=u(i,s,n,r,e[t+15],22,1236535329),r=c(r,i,s,n,e[t+1],5,-165796510),n=c(n,r,i,s,e[t+6],9,-1069501632),s=c(s,n,r,i,e[t+11],14,643717713),i=c(i,s,n,r,e[t],20,-373897302),r=c(r,i,s,n,e[t+5],5,-701558691),n=c(n,r,i,s,e[t+10],9,38016083),s=c(s,n,r,i,e[t+15],14,-660478335),i=c(i,s,n,r,e[t+4],20,-405537848),r=c(r,i,s,n,e[t+9],5,568446438),n=c(n,r,i,s,e[t+14],9,-1019803690),s=c(s,n,r,i,e[t+3],14,-187363961),i=c(i,s,n,r,e[t+8],20,1163531501),r=c(r,i,s,n,e[t+13],5,-1444681467),n=c(n,r,i,s,e[t+2],9,-51403784),s=c(s,n,r,i,e[t+7],14,1735328473),i=c(i,s,n,r,e[t+12],20,-1926607734),r=p(r,i,s,n,e[t+5],4,-378558),n=p(n,r,i,s,e[t+8],11,-2022574463),s=p(s,n,r,i,e[t+11],16,1839030562),i=p(i,s,n,r,e[t+14],23,-35309556),r=p(r,i,s,n,e[t+1],4,-1530992060),n=p(n,r,i,s,e[t+4],11,1272893353),s=p(s,n,r,i,e[t+7],16,-155497632),i=p(i,s,n,r,e[t+10],23,-1094730640),r=p(r,i,s,n,e[t+13],4,681279174),n=p(n,r,i,s,e[t],11,-358537222),s=p(s,n,r,i,e[t+3],16,-722521979),i=p(i,s,n,r,e[t+6],23,76029189),r=p(r,i,s,n,e[t+9],4,-640364487),n=p(n,r,i,s,e[t+12],11,-421815835),s=p(s,n,r,i,e[t+15],16,530742520),i=p(i,s,n,r,e[t+2],23,-995338651),r=h(r,i,s,n,e[t],6,-198630844),n=h(n,r,i,s,e[t+7],10,1126891415),s=h(s,n,r,i,e[t+14],15,-1416354905),i=h(i,s,n,r,e[t+5],21,-57434055),r=h(r,i,s,n,e[t+12],6,1700485571),n=h(n,r,i,s,e[t+3],10,-1894986606),s=h(s,n,r,i,e[t+10],15,-1051523),i=h(i,s,n,r,e[t+1],21,-2054922799),r=h(r,i,s,n,e[t+8],6,1873313359),n=h(n,r,i,s,e[t+15],10,-30611744),s=h(s,n,r,i,e[t+6],15,-1560198380),i=h(i,s,n,r,e[t+13],21,1309151649),r=h(r,i,s,n,e[t+4],6,-145523070),n=h(n,r,i,s,e[t+11],10,-1120210379),s=h(s,n,r,i,e[t+2],15,718787259),i=h(i,s,n,r,e[t+9],21,-343485551),r=o(r,a),i=o(i,l),s=o(s,d),n=o(n,y)}return[r,i,s,n]}function g(e,t=i.Hex){const r=t||i.Base64,n=y(a(e),e.length*s);switch(r){case i.Raw:return n;case i.Hex:return function(e){const t="0123456789abcdef",r=[];for(let i=0,s=4*e.length;i<s;i++)r.push(t.charAt(e[i>>2]>>i%4*8+4&15)+t.charAt(e[i>>2]>>i%4*8&15));return r.join("")}(n);case i.String:return l(n);case i.Base64:return function(e){const t=[];for(let r=0,i=4*e.length;r<i;r+=3){const i=(e[r>>2]>>r%4*8&255)<<16|(e[r+1>>2]>>(r+1)%4*8&255)<<8|e[r+2>>2]>>(r+2)%4*8&255;for(let s=0;s<4;s++)8*r+6*s>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i>>6*(3-s)&63))}return t.join("")}(n)}}},82935:(e,t,r)=>{r.d(t,{B:()=>h,e:()=>y});var i=r(31635),s=r(10107),n=(r(44208),r(53966),r(87811),r(36005)),o=r(64108),a=r(89317),l=r(30524),d=r(96184),u=r(73133),c=r(79677),p=r(10184);const h={type:Boolean,json:{read:{source:"timeAnimation"},write:{target:"timeAnimation",layerContainerTypes:a.K}}},y=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){const r=t.timeInfo.exportOptions;if(!r)return null;const i=r.timeOffset,s=u.j.fromJSON(r.timeOffsetUnits);return i&&s?new p.A({value:i,unit:s}):null}set timeInfo(e){(0,l.sv)(e,this.fieldsIndex),this._set("timeInfo",e)}};return(0,i.Cg)([(0,s.MZ)({type:c.A,json:{write:!1}})],r.prototype,"timeExtent",void 0),(0,i.Cg)([(0,s.MZ)({type:p.A})],r.prototype,"timeOffset",void 0),(0,i.Cg)([(0,n.w)("service","timeOffset",["timeInfo.exportOptions"])],r.prototype,"readOffset",null),(0,i.Cg)([(0,s.MZ)({value:null,type:d.A,json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],r.prototype,"timeInfo",null),(0,i.Cg)([(0,s.MZ)(h)],r.prototype,"useViewTime",void 0),r=(0,i.Cg)([(0,o.$)("esri.layers.mixins.TemporalLayer")],r),r}},85648:(e,t,r)=>{r.d(t,{n:()=>s});var i=r(84952);function s(e){return n[function(e){return"json"===e.type?"application/json":"blob"===e.type?e.blob.type:function(e){const t=(0,i.Zo)(e);return l[t]||o}(e.url)}(e)]||a}const n={},o="text/plain",a=n[o],l={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpg",bmp:"image/bmp",gif:"image/gif",json:"application/json",txt:"text/plain",xml:"application/xml",svg:"image/svg+xml",zip:"application/zip",pbf:"application/vnd.mapbox-vector-tile",gz:"application/gzip","bin.gz":"application/octet-stream"};for(const e in l)n[l[e]]=e},86390:(e,t,r)=>{r.d(t,{Z:()=>n});var i=r(83047),s=r(73836);function n(e){const t=1/(0,i.GA)(e,1);return 1!==t?new s.A({scale:[t,t,t]}):void 0}},87024:(e,t,r)=>{r.d(t,{P:()=>h});var i=r(49186),s=r(80200),n=r(76553),o=r(84952),a=r(13069),l=r(96156),d=r(35666),u=r(10107),c=r(85648),p=r(97159);function h(e){const t=e?.origins??[void 0];return(r,i)=>{const s=function(e,t,r){if("resource"===e?.type)return function(e,t,r){const i=(0,l.z4)(t,r);return{type:String,read:(e,t,r)=>{const s=(0,p.r)(e,t,r);return i.type===String?s:"function"==typeof i.type?new i.type({url:s}):void 0},write:{isRequired:i.json?.write?.isRequired,writer(t,s,a,l){if(!l?.resources)return"string"==typeof t?void(s[a]=(0,p.t)(t,l)):void(s[a]=t.write({},l));const u=function(e){return null==e?null:"string"==typeof e?e:e.url}(t),h=(0,p.t)(u,{...l,verifyItemRelativeUrls:l?.verifyItemRelativeUrls?{writtenUrls:l.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},1),m=i.type!==String&&(!(0,n.H)(this)||l?.origin&&this.originIdOf(r)>(0,d.aB)(l.origin)),v={object:this,propertyName:r,value:t,targetUrl:h,dest:s,targetPropertyName:a,context:l,params:e};l?.portalItem&&h&&!(0,o.oP)(h)?m&&e?.contentAddressed?y(v):m?function(e){const{context:t,targetUrl:r,params:i,value:s,dest:n,targetPropertyName:a}=e;if(!t.portalItem)return;const l=t.portalItem.resourceFromPath(r),d=f(s,r,t),u=(0,c.n)(d),p=(0,o.Zo)(l.path),h=i?.compress??!1;u===p?(t.resources&&g({...e,resource:l,content:d,compress:h,updates:t.resources.toUpdate}),n[a]=r):y(e)}(v):function({context:e,targetUrl:t,dest:r,targetPropertyName:i}){e.portalItem&&e.resources&&(e.resources.toKeep.push({resource:e.portalItem.resourceFromPath(t),compress:!1}),r[i]=t)}(v):l?.portalItem&&(null==h||null!=(0,p.i)(h)||(0,o.w8)(h)||m)?y(v):s[a]=h}}}}(e,t,r);switch(e?.type??"other"){case"other":return{read:!0,write:!0};case"url":{const{read:e,write:t}=p.b;return{read:e,write:t}}}}(e,r,i);for(const e of t){const t=(0,u.rM)(r,e,i);for(const e in s)t[e]=s[e]}}}function y(e){const{targetUrl:t,params:r,value:n,context:l,dest:d,targetPropertyName:u}=e;if(!l.portalItem)return;const h=(0,p.p)(t),y=f(n,t,l);if(r?.contentAddressed&&"json"!==y.type)return void l.messages?.push(new i.A("persistable:contentAddressingUnsupported",`Property "${u}" is trying to serializing a resource with content of type ${y.type} with content addressing. Content addressing is only supported for json resources.`,{content:y}));const m=r?.contentAddressed&&"json"===y.type?(0,s.d)(y.jsonString):h?.filename??(0,a.lk)(),v=(0,o.fj)(r?.prefix??h?.prefix,m),w=`${v}.${(0,c.n)(y)}`;if(r?.contentAddressed&&l.resources&&"json"===y.type){const e=l.resources.toKeep.find(({resource:e})=>e.path===w)??l.resources.toAdd.find(({resource:e})=>e.path===w);if(e)return void(d[u]=e.resource.itemRelativeUrl)}const b=l.portalItem.resourceFromPath(w);(0,o.w8)(t)&&l.resources&&l.resources.pendingOperations.push((0,o.tk)(t).then(e=>{b.path=`${v}.${(0,c.n)({type:"blob",blob:e})}`,d[u]=b.itemRelativeUrl}).catch(()=>{}));const I=r?.compress??!1;l.resources&&g({...e,resource:b,content:y,compress:I,updates:l.resources.toAdd}),d[u]=b.itemRelativeUrl}function g({object:e,propertyName:t,updates:r,resource:i,content:s,compress:n}){r.push({resource:i,content:s,compress:n,finish:r=>{!function(e,t,r){"string"==typeof e[t]?e[t]=r.url:e[t].url=r.url}(e,t,r)}})}function f(e,t,r){return"string"==typeof e?{type:"url",url:t}:{type:"json",jsonString:JSON.stringify(e.toJSON(r))}}},96184:(e,t,r)=>{r.d(t,{A:()=>y});var i=r(31635),s=r(69540),n=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(36005)),l=r(64108),d=r(43937),u=r(79677),c=r(10184),p=r(56400);function h(e,t){return c.A.fromJSON({value:e,unit:t})}let y=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?u.A.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?h(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?h(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,i.Cg)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],y.prototype,"cumulative",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"endField",void 0),(0,i.Cg)([(0,o.MZ)({type:u.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"fullTimeExtent",void 0),(0,i.Cg)([(0,a.w)("fullTimeExtent",["timeExtent"])],y.prototype,"readFullTimeExtent",null),(0,i.Cg)([(0,d.K)("fullTimeExtent")],y.prototype,"writeFullTimeExtent",null),(0,i.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],y.prototype,"hasLiveData",void 0),(0,i.Cg)([(0,o.MZ)({type:c.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"interval",void 0),(0,i.Cg)([(0,a.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],y.prototype,"readInterval",null),(0,i.Cg)([(0,d.K)("interval")],y.prototype,"writeInterval",null),(0,i.Cg)([(0,o.MZ)({type:String,json:{name:"startTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"startField",void 0),(0,i.Cg)([(0,o.MZ)((0,p.P6)("timeReference",!0))],y.prototype,"timeZone",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"trackIdField",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.useTime",write:!0}})],y.prototype,"useTime",void 0),(0,i.Cg)([(0,o.MZ)({type:[Date],json:{read:!1}})],y.prototype,"stops",void 0),y=(0,i.Cg)([(0,l.$)("esri.layers.support.TimeInfo")],y)}}]);
@@ -2,52 +2,52 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{ReadDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{If as s,glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DBindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{lodFactorsPresets as n}from"../views/3d/webgl-engine/effects/glow/GlowPresets.glsl.js";import{RayDistanceFalloffPassParameters as m,RayDistanceFalloff as c}from"../views/3d/webgl-engine/effects/raymarching/RayDistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as p}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as g}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as u}from"../views/webgl/ShaderBuilder.js";class x extends m{constructor(){super(...arguments),this.lodFactors=[0,0,0,0,0,0],this.glowLod=-1,this.dispersionWeight=1,this.distanceModifier=1e-4}}function w(m){const x=new u,w=x.fragment,{blurEnabled:f,tonemappingEnabled:v}=m;return x.include(p,{needUVs:!0,needEyeDirection:!0}),w.include(o),w.include(c),w.include(e),x.outputs.add("fragColor","vec4",0),x.outputs.add("fragEmission","vec3",1),w.include(g),w.uniforms.add(new d("colorTexture",e=>e.color),new d("emissionTexture",e=>e.emission),new t("depthTexture",e=>e.mainDepth),new r("distanceModifier",e=>e.distanceModifier)),f?(w.uniforms.add(new d("lodTexture0",e=>e.lodTexture0),new d("lodTexture1",e=>e.lodTexture1),new d("lodTexture2",e=>e.lodTexture2),new d("lodTexture3",e=>e.lodTexture3),new d("lodTexture4",e=>e.lodTexture4),new a("glowLod",e=>e.glowLod),new i("minDisperse",()=>n.minDisperse.presets,6),new i("maxDisperse",()=>n.maxDisperse.presets,6),new r("dispersionWeight",e=>e.dispersionWeight)).main.add(l`
6
- vec4 color = texture(colorTexture, uv);
7
- color = vec4(linearizeGamma(color.rgb), color.a);
8
-
9
- vec3 lod0 = texture(emissionTexture, uv).rgb;
10
- vec3 lod1 = texture(lodTexture0, uv).rgb;
11
- vec3 lod2 = texture(lodTexture1, uv).rgb;
12
- vec3 lod3 = texture(lodTexture2, uv).rgb;
13
- vec3 lod4 = texture(lodTexture3, uv).rgb;
14
- vec3 lod5 = texture(lodTexture4, uv).rgb;
15
-
16
- float terrainDepth = -1.0;
17
- float depthSample = depthFromTexture(depthTexture, uv);
18
- if(depthSample < 1.0 && depthSample > 0.0){
19
- vec3 cameraSpaceRay = normalize(eyeDir);
20
- cameraSpaceRay /= cameraSpaceRay.z;
21
- cameraSpaceRay *= linearizeDepth(depthSample);
22
- terrainDepth = max(0.0, length(cameraSpaceRay));
23
- }
24
- vec3 rayDir = normalize(worldRay);
25
- float dispersionByDistance = getDistanceFalloff(terrainDepth, rayDir, distanceModifier);
26
- float dispersionPerPixel = dispersionWeight * dispersionByDistance;
27
-
28
- float lodFactor0 = mix(minDisperse[0], maxDisperse[0], dispersionPerPixel);
29
- float lodFactor1 = mix(minDisperse[1], maxDisperse[1], dispersionPerPixel);
30
- float lodFactor2 = mix(minDisperse[2], maxDisperse[2], dispersionPerPixel);
31
- float lodFactor3 = mix(minDisperse[3], maxDisperse[3], dispersionPerPixel);
32
- float lodFactor4 = mix(minDisperse[4], maxDisperse[4], dispersionPerPixel);
33
- float lodFactor5 = mix(minDisperse[5], maxDisperse[5], dispersionPerPixel);
34
-
35
- vec3 emission = lodFactor0 * lod0;
36
- emission += lodFactor1 * lod1;
37
- emission += lodFactor2 * lod2;
38
- emission += lodFactor3 * lod3;
39
- emission += lodFactor4 * lod4;
40
- emission += lodFactor5 * lod5;
41
-
42
- // only for glow editor lod debugging
43
- emission = glowLod == 0 ? lodFactor0 * lod0 : glowLod == 1 ? lodFactor1 * lod1 : glowLod == 2 ? lodFactor2 * lod2 : glowLod == 3 ? lodFactor3 * lod3 : glowLod == 4 ? lodFactor4 * lod4 : glowLod == 5 ? lodFactor5 * lod5 : emission;
44
-
45
- fragEmission = emission;
46
- // tonemapping is only applied to the emissive part since main color values are not in HDR.
47
- ${s(v,"emission = tonemapACES(emission);")}
48
-
49
- fragColor = delinearizeGamma(vec4(color.rgb + emission.rgb, color.w));
50
- `),x):(w.main.add(l`
5
+ import{ReadDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{If as s,glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DBindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{lodFactorsPresets as n}from"../views/3d/webgl-engine/effects/glow/GlowPresets.glsl.js";import{RayDistanceFalloffPassParameters as m,RayDistanceFalloff as c}from"../views/3d/webgl-engine/effects/raymarching/RayDistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as p}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as g}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as u}from"../views/webgl/ShaderBuilder.js";class x extends m{constructor(){super(...arguments),this.lodFactors=[0,0,0,0,0,0],this.glowLod=-1,this.dispersionWeight=1,this.distanceModifier=1e-4}}function w(m){const x=new u,w=x.fragment,{blurEnabled:f,tonemappingEnabled:v}=m;return x.include(p,{needUVs:!0,needEyeDirection:!0}),w.include(o),w.include(c),w.include(e),x.outputs.add("fragColor","vec4",0),x.outputs.add("fragEmission","vec3",1),w.include(g),w.uniforms.add(new d("colorTexture",e=>e.color),new d("emissionTexture",e=>e.emission)),f?(w.uniforms.add(new t("depthTexture",e=>e.mainDepth),new r("distanceModifier",e=>e.distanceModifier),new d("lodTexture0",e=>e.lodTexture0),new d("lodTexture1",e=>e.lodTexture1),new d("lodTexture2",e=>e.lodTexture2),new d("lodTexture3",e=>e.lodTexture3),new d("lodTexture4",e=>e.lodTexture4),new a("glowLod",e=>e.glowLod),new i("minDisperse",()=>n.minDisperse.presets,6),new i("maxDisperse",()=>n.maxDisperse.presets,6),new r("dispersionWeight",e=>e.dispersionWeight)).main.add(l`
6
+ vec4 color = texture(colorTexture, uv);
7
+ color = vec4(linearizeGamma(color.rgb), color.a);
8
+
9
+ vec3 lod0 = texture(emissionTexture, uv).rgb;
10
+ vec3 lod1 = texture(lodTexture0, uv).rgb;
11
+ vec3 lod2 = texture(lodTexture1, uv).rgb;
12
+ vec3 lod3 = texture(lodTexture2, uv).rgb;
13
+ vec3 lod4 = texture(lodTexture3, uv).rgb;
14
+ vec3 lod5 = texture(lodTexture4, uv).rgb;
15
+
16
+ float terrainDepth = -1.0;
17
+ float depthSample = depthFromTexture(depthTexture, uv);
18
+ if(depthSample < 1.0 && depthSample > 0.0){
19
+ vec3 cameraSpaceRay = normalize(eyeDir);
20
+ cameraSpaceRay /= cameraSpaceRay.z;
21
+ cameraSpaceRay *= linearizeDepth(depthSample);
22
+ terrainDepth = max(0.0, length(cameraSpaceRay));
23
+ }
24
+ vec3 rayDir = normalize(worldRay);
25
+ float dispersionByDistance = getDistanceFalloff(terrainDepth, rayDir, distanceModifier);
26
+ float dispersionPerPixel = dispersionWeight * dispersionByDistance;
27
+
28
+ float lodFactor0 = mix(minDisperse[0], maxDisperse[0], dispersionPerPixel);
29
+ float lodFactor1 = mix(minDisperse[1], maxDisperse[1], dispersionPerPixel);
30
+ float lodFactor2 = mix(minDisperse[2], maxDisperse[2], dispersionPerPixel);
31
+ float lodFactor3 = mix(minDisperse[3], maxDisperse[3], dispersionPerPixel);
32
+ float lodFactor4 = mix(minDisperse[4], maxDisperse[4], dispersionPerPixel);
33
+ float lodFactor5 = mix(minDisperse[5], maxDisperse[5], dispersionPerPixel);
34
+
35
+ vec3 emission = lodFactor0 * lod0;
36
+ emission += lodFactor1 * lod1;
37
+ emission += lodFactor2 * lod2;
38
+ emission += lodFactor3 * lod3;
39
+ emission += lodFactor4 * lod4;
40
+ emission += lodFactor5 * lod5;
41
+
42
+ // only for glow editor lod debugging
43
+ emission = glowLod == 0 ? lodFactor0 * lod0 : glowLod == 1 ? lodFactor1 * lod1 : glowLod == 2 ? lodFactor2 * lod2 : glowLod == 3 ? lodFactor3 * lod3 : glowLod == 4 ? lodFactor4 * lod4 : glowLod == 5 ? lodFactor5 * lod5 : emission;
44
+
45
+ fragEmission = emission;
46
+ // tonemapping is only applied to the emissive part since main color values are not in HDR.
47
+ ${s(v,"emission = tonemapACES(emission);")}
48
+
49
+ fragColor = delinearizeGamma(vec4(color.rgb + emission.rgb, color.w));
50
+ `),x):(w.main.add(l`
51
51
  vec4 color = texture(colorTexture, uv);
52
52
  color = vec4(linearizeGamma(color.rgb), color.a);
53
53
 
@@ -2,16 +2,16 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ScreenSizeScaling as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{terrainDepthTest as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as s,addViewNormal as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as c}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOID as g}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";function v(e){const v=new m;v.include(i),v.include(o,e),v.fragment.include(r,e),v.include(g,e),v.include(n,e);const{vertex:f,fragment:u}=v;return u.include(l),s(f,e),u.uniforms.add(new t("uColor",e=>e.color)),v.attributes.add("position","vec3"),v.varyings.add("vWorldPosition","vec3"),e.screenSizeEnabled&&v.attributes.add("offset","vec3"),e.shadingEnabled&&(a(f),v.attributes.add("normal","vec3"),v.varyings.add("vViewNormal","vec3"),u.uniforms.add(new d("shadingDirection",e=>e.shadingDirection)),u.uniforms.add(new t("shadedColor",e=>w(e.shadingTint,e.color)))),f.main.add(c`
6
- vWorldPosition = ${e.screenSizeEnabled?c`screenSizeScaling(offset, position)`:c`position`};
7
- ${e.shadingEnabled?c`vec3 worldNormal = normal;
8
- vViewNormal = (viewNormal * vec4(worldNormal, 1)).xyz;`:""}
9
- forwardViewPosDepth((view * vec4(vWorldPosition, 1.0)).xyz);
10
- gl_Position = transformPosition(proj, view, vWorldPosition);
11
- `),u.main.add(c`
5
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ScreenSizeScaling as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{terrainDepthTest as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as s,addViewNormal as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{If as c,glsl as g}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOID as m}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as v}from"../views/webgl/ShaderBuilder.js";function w(e){const w=new v;w.include(i),w.include(o,e),w.fragment.include(r,e),w.include(m,e),w.include(n,e);const{vertex:u,fragment:b}=w;return b.include(l),s(u,e),b.uniforms.add(new t("uColor",e=>e.color)),w.attributes.add("position","vec3"),w.varyings.add("vWorldPosition","vec3"),e.screenSizeEnabled&&w.attributes.add("offset","vec3"),e.shadingEnabled&&(a(u),w.attributes.add("normal","vec3"),w.varyings.add("vViewNormal","vec3"),b.uniforms.add(new d("shadingDirection",e=>e.shadingDirection)),b.uniforms.add(new t("shadedColor",e=>f(e.shadingTint,e.color)))),u.main.add(g`
6
+ vWorldPosition = ${e.screenSizeEnabled?g`screenSizeScaling(offset, position)`:g`position`};
7
+ ${c(e.shadingEnabled,g`vec3 worldNormal = normal;
8
+ vViewNormal = (viewNormal * vec4(worldNormal, 1)).xyz;`)}
9
+ forwardViewPosDepth((view * vec4(vWorldPosition, 1.0)).xyz);
10
+ gl_Position = transformPosition(proj, view, vWorldPosition);
11
+ `),b.main.add(g`
12
12
  discardBySlice(vWorldPosition);
13
13
  discardByTerrainDepth();
14
- ${e.shadingEnabled?c`vec3 viewNormalNorm = normalize(vViewNormal);
14
+ ${e.shadingEnabled?g`vec3 viewNormalNorm = normalize(vViewNormal);
15
15
  float shadingFactor = 1.0 - clamp(-dot(viewNormalNorm, shadingDirection), 0.0, 1.0);
16
- vec4 finalColor = mix(uColor, shadedColor, shadingFactor);`:c`vec4 finalColor = uColor;`}
17
- outputColorHighlightOID(finalColor, vWorldPosition, finalColor.rgb);`),v}function w(e,o){const r=1-e[3],i=e[3]+o[3]*r;return 0===i?(f[3]=i,f):(f[0]=(e[0]*e[3]+o[0]*o[3]*r)/i,f[1]=(e[1]*e[3]+o[1]*o[3]*r)/i,f[2]=(e[2]*e[3]+o[2]*o[3]*r)/i,f[3]=o[3],f)}const f=e(),u=Object.freeze(Object.defineProperty({__proto__:null,build:v},Symbol.toStringTag,{value:"Module"}));export{u as S,v as b};
16
+ vec4 finalColor = mix(uColor, shadedColor, shadingFactor);`:g`vec4 finalColor = uColor;`}
17
+ outputColorHighlightOID(finalColor, vWorldPosition, finalColor.rgb);`),w}function f(e,o){const r=1-e[3],i=e[3]+o[3]*r;return 0===i?(u[3]=i,u):(u[0]=(e[0]*e[3]+o[0]*o[3]*r)/i,u[1]=(e[1]*e[3]+o[1]*o[3]*r)/i,u[2]=(e[2]*e[3]+o[2]*o[3]*r)/i,u[3]=o[3],u)}const u=e(),b=Object.freeze(Object.defineProperty({__proto__:null,build:w},Symbol.toStringTag,{value:"Module"}));export{b as S,w as b};
package/config.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.34.0-next.117";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
5
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.34.0-next.119";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../core/Logger.js";import{getOrCreateMapValue as t}from"../core/MapUtils.js";import{throwIfAborted as r}from"../core/promiseUtils.js";import{addMaybe as n}from"../core/SetUtils.js";import{isGroupTemplateDefinition as i,isPresetTemplateDefinition as o,isFeatureTemplateDefinition as s}from"./sharedTemplates/templateDefinitions/templateDefinitionUtils.js";import{isSubtypeGroupLayer as a,isSubtypeSublayer as l,isFeatureLayer as p}from"../layers/support/layerUtils.js";import{querySharedTemplates as u}from"../rest/sharedTemplates/querySharedTemplates.js";import{getServices as f}from"../undoredo/support/Services.js";const c=()=>e.getLogger("esri.editing.templateUtils");function y(e){return null!=e&&"prototype"in e}function m(e){return g(e)&&!("definition"in e)}function d(e){return g(e)&&"definition"in e}function g(e){return null!=e&&"templateId"in e}function w(e){return d(e)&&"feature"===e?.type&&(null==e.definition||s(e.definition))}function v(e){return d(e)&&"group"===e?.type&&(null==e.definition||i(e.definition))}function A(e){return d(e)&&"preset"===e?.type&&(null==e.definition||o(e.definition))}function S(e){return d(e)&&null!=e?.definition}const h=e=>{if(null==e||"object"!=typeof e)return[];return[..."templates"in e&&Array.isArray(e.templates)?e.templates:[],..."types"in e&&Array.isArray(e.types)?e.types.flatMap(e=>e.templates):[]]};async function j({layers:e,view:t,signal:n,queryOptions:i}){if(null==t)return e.map(e=>({layer:e,templates:h(e)}));const o=await M(e,t);r(n);const s=new Map,a=Array.from(o).map(e=>b({serviceInfo:e,out:s,signal:n,queryOptions:i})),l=await Promise.allSettled(a);for(const r of l.filter(e=>"rejected"===e.status))c().warn("Failed to fetch shared templates for service. Will use standard templates if available.",r.reason);return e.map(e=>({layer:e,templates:s.get(e)??h(e)}))}async function b({serviceInfo:e,out:t,signal:n,queryOptions:i}){const{featureService:o,layersAndTables:s}=e,l=await q({featureService:o,layers:s.toArray(),signal:n,queryOptions:i});r(n);for(const[r,p]of l.entries())if(0!==p.length)if(a(r)){const e=O(p),n=[],i=e.get(1/0)??n;for(const o of r.sublayers){const r=e.get(o.subtypeCode)??n;t.set(o,[...r,...i])}}else t.set(r,p)}async function q({featureService:e,layers:r,signal:n,queryOptions:i}){if(!e.capabilities?.editing.supportsSharedTemplates)return new Map;const o=new Map(r.map(e=>[e.layerId,e])),s=await u({featureService:e,query:{layers:Array.from(o.keys()),...i},requestOptions:{signal:n}}),a=new Map;for(const l of s)for(const e of l.layerIds)o.has(e)&&t(a,o.get(e),()=>[]).push(l);return a}async function M(e,t){const r=await f(t).load(),i=new Set;for(const o of e)n(i,L(r,o));return await Promise.all(Array.from(i).map(e=>e.featureService.load())),i}function L(e,t){return l(t)&&t.parent?e.tablesAndLayersLookup.get(t.parent):p(t)?e.tablesAndLayersLookup.get(t):null}function O(e){const r=new Map;for(const n of e)t(r,n.subtypeCode??1/0,()=>[]).push(n);return r}export{h as getAllStandardFeatureTemplatesForLayer,L as getServiceInfoForLayer,j as getTemplatesForLayers,S as isLoadedSharedTemplate,w as isSharedFeatureTemplate,v as isSharedGroupTemplate,A as isSharedPresetTemplate,d as isSharedTemplate,m as isSharedTemplateMetadata,g as isSharedTemplateOrMetadata,y as isStandardFeatureTemplate};
5
+ import e from"../core/Logger.js";import{getOrCreateMapValue as t}from"../core/MapUtils.js";import{throwIfAborted as r}from"../core/promiseUtils.js";import{addMaybe as n}from"../core/SetUtils.js";import{isGroupTemplateDefinition as i,isPresetTemplateDefinition as o,isFeatureTemplateDefinition as s}from"./sharedTemplates/templateDefinitions/templateDefinitionUtils.js";import{isSubtypeGroupLayer as a,isSubtypeSublayer as l,isFeatureLayer as p}from"../layers/support/layerUtils.js";import{querySharedTemplates as u}from"../rest/sharedTemplates/querySharedTemplates.js";import{getServices as f}from"../undoredo/support/Services.js";const c=()=>e.getLogger("esri.editing.templateUtils");function y(e){return null!=e&&"prototype"in e}function m(e){return g(e)&&!("definition"in e)}function d(e){return g(e)&&"definition"in e}function g(e){return null!=e&&"templateId"in e}function w(e){return d(e)&&"feature"===e?.type&&(null==e.definition||s(e.definition))}function A(e){return d(e)&&"group"===e?.type&&(null==e.definition||i(e.definition))}function h(e){return d(e)&&"preset"===e?.type&&(null==e.definition||o(e.definition))}function j(e){return d(e)&&null!=e?.definition}const v=e=>{if(null==e||"object"!=typeof e)return[];return[..."templates"in e&&Array.isArray(e.templates)?e.templates:[],..."types"in e&&Array.isArray(e.types)?e.types.flatMap(e=>e.templates):[]]};async function S({layers:e,view:t,signal:n,queryOptions:i}){if(null==t)return e.map(e=>({layer:e,templates:v(e)}));const o=await M(e,t);r(n);const s=new Map,a=Array.from(o).map(async e=>(await e.load(),await b({serviceInfo:e,out:s,signal:n,queryOptions:i}))),l=await Promise.allSettled(a);for(const r of l.filter(e=>"rejected"===e.status))c().warn("Failed to fetch shared templates for service. Will use standard templates if available.",r.reason);return e.map(e=>({layer:e,templates:s.get(e)??v(e)}))}async function b({serviceInfo:e,out:t,signal:n,queryOptions:i}){const{featureService:o,layersAndTables:s}=e,l=await q({featureService:o,layers:s.toArray(),signal:n,queryOptions:i});r(n);for(const[r,p]of l.entries())if(0!==p.length)if(a(r)){const e=O(p),n=[],i=e.get(1/0)??n;for(const o of r.sublayers){const r=e.get(o.subtypeCode)??n;t.set(o,[...r,...i])}}else t.set(r,p)}async function q({featureService:e,layers:r,signal:n,queryOptions:i}){if(!e.capabilities?.editing.supportsSharedTemplates)return new Map;const o=new Map(r.map(e=>[e.layerId,e])),s=await u({featureService:e,query:{layers:Array.from(o.keys()),...i},requestOptions:{signal:n}}),a=new Map;for(const l of s)for(const e of l.layerIds)o.has(e)&&t(a,o.get(e),()=>[]).push(l);return a}async function M(e,t){const r=f(t),i=new Set;for(const o of e)n(i,L(r,o));return await Promise.all(Array.from(i).map(e=>e.load())),i}function L(e,t){return l(t)&&t.parent?e.tablesAndLayersLookup.get(t.parent):p(t)?e.tablesAndLayersLookup.get(t):null}function O(e){const r=new Map;for(const n of e)t(r,n.subtypeCode??1/0,()=>[]).push(n);return r}export{v as getAllStandardFeatureTemplatesForLayer,L as getServiceInfoForLayer,S as getTemplatesForLayers,j as isLoadedSharedTemplate,w as isSharedFeatureTemplate,A as isSharedGroupTemplate,h as isSharedPresetTemplate,d as isSharedTemplate,m as isSharedTemplateMetadata,g as isSharedTemplateOrMetadata,y as isStandardFeatureTemplate};