UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 103 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2763,8256],{4146:(t,e,n)=>{n.d(e,{A:()=>x});var r=n(90237),i=n(78888),o=n(49186),s=n(65529),a=n(4902),l=n(92474),u=n(53966),c=n(74887),h=n(84952),p=n(10107),d=(n(44208),n(87811),n(40608)),f=n(5443),m=n(16930),g=n(92602),y=n(64272);let _=0,x=class extends(s.A.EventedMixin(a.A.IdentifiableMixin(l.A))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new f.A(-180,-90,180,90,m.A.WGS84),this.id=Date.now().toString(16)+"-layer-"+_++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=m.A.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(t){const e="string"==typeof t?{url:t}:t;return(await n.e(7982).then(n.bind(n,27982))).fromUrl(e)}static fromPortalItem(t){return async function(t){const e="portalItem"in t?t:{portalItem:t},{fromItem:r}=await n.e(5613).then(n.bind(n,45613));try{return await r(e)}catch(t){const n=e?.portalItem,r=n?.id||"unset",i=n?.portal?.url||g.A.portalUrl;throw u.A.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+i+"', id: '"+r+"')",t),t}}(t)}initialize(){this.when().catch((t=>{(0,c.zf)(t)||u.A.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:t})}))}destroy(){const t=this.parent;if(t){const e=this;"layers"in t&&t.layers.includes(e)?t.layers.remove(e):"tables"in t&&t.tables.includes(e)?t.tables.remove(e):"baseLayers"in t&&t.baseLayers.includes(e)?t.baseLayers.remove(e):"referenceLayers"in t&&t.referenceLayers.includes(e)&&t.referenceLayers.remove(e),this._set("parent",null)}}get effectiveVisible(){let t=this.visible;const e=this.parent;return t&&e&&"effectiveVisible"in e&&(t&&=e.effectiveVisible),t}get hasAttributionData(){return null!=this.attributionDataUrl}get parsedUrl(){return(0,h.An)(this.url)}createLayerView(t,e){return Promise.reject(new o.A("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const t=this.attributionDataUrl;if(this.hasAttributionData&&t)return(await(0,i.A)(t,{query:{f:"json"},responseType:"json"})).data;throw new o.A("layer:no-attribution-data","Layer does not have attribution data")}};(0,r._)([(0,p.MZ)({type:String})],x.prototype,"attributionDataUrl",void 0),(0,r._)([(0,p.MZ)({readOnly:!0})],x.prototype,"effectiveVisible",null),(0,r._)([(0,p.MZ)({type:f.A})],x.prototype,"fullExtent",void 0),(0,r._)([(0,p.MZ)({readOnly:!0})],x.prototype,"hasAttributionData",null),(0,r._)([(0,p.MZ)({type:String,clonable:!1})],x.prototype,"id",void 0),(0,r._)([(0,p.MZ)({type:Boolean,nonNullable:!0})],x.prototype,"legendEnabled",void 0),(0,r._)([(0,p.MZ)({type:["show","hide","hide-children"]})],x.prototype,"listMode",void 0),(0,r._)([(0,p.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0})],x.prototype,"opacity",void 0),(0,r._)([(0,p.MZ)({clonable:!1})],x.prototype,"parent",void 0),(0,r._)([(0,p.MZ)({readOnly:!0})],x.prototype,"parsedUrl",null),(0,r._)([(0,p.MZ)({type:Boolean,readOnly:!0})],x.prototype,"persistenceEnabled",void 0),(0,r._)([(0,p.MZ)({type:Boolean})],x.prototype,"popupEnabled",void 0),(0,r._)([(0,p.MZ)({type:Boolean})],x.prototype,"attributionVisible",void 0),(0,r._)([(0,p.MZ)({type:m.A})],x.prototype,"spatialReference",void 0),(0,r._)([(0,p.MZ)({type:String})],x.prototype,"title",void 0),(0,r._)([(0,p.MZ)({readOnly:!0,json:{read:!1}})],x.prototype,"type",void 0),(0,r._)([(0,p.MZ)()],x.prototype,"url",void 0),(0,r._)([(0,p.MZ)({type:y.T})],x.prototype,"visibilityTimeExtent",void 0),(0,r._)([(0,p.MZ)({type:Boolean,nonNullable:!0})],x.prototype,"visible",void 0),x=(0,r._)([(0,d.$)("esri.layers.Layer")],x)},4902:(t,e,n)=>{n.d(e,{A:()=>u});var r=n(90237),i=n(40608);let o=0;const s=t=>{let e=class extends t{constructor(...t){super(...t),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+o++})}};return e=(0,r._)([(0,i.$)("esri.core.Identifiable")],e),e};let a=class extends(s(class{})){};var l;a=(0,r._)([(0,i.$)("esri.core.Identifiable")],a),(l=a||(a={})).IdentifiableMixin=s,l.NumericIdentifiableMixin=t=>{let e=class extends t{constructor(...t){super(...t),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:o++})}};return e=(0,r._)([(0,i.$)("esri.core.Identifiable.NumericIdentifiable")],e),e};const u=a},6518:(t,e,n)=>{n.d(e,{F:()=>a});var r=n(44208),i=n(75503),o=n(19419);const s={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new i.w(9,(0,r.A)("esri-csp-restrictions")?t=>({minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const t=new Array(this._idByBounds.size);let e=0;this._idByBounds.forEach(((n,r)=>{t[e++]=r})),this._indexInvalid=!1,this._index.clear(),this._index.load(t)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter((t=>this._idByBounds.has(t)))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const t=(0,o.Ie)();for(const e of this._boundsById.values())e&&(t[0]=Math.min(e[0],t[0]),t[1]=Math.min(e[1],t[1]),t[2]=Math.max(e[2],t[2]),t[3]=Math.max(e[3],t[3]));return t}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(t){const e=this._boundsById.get(t);this._boundsById.delete(t),e&&(this._idByBounds.delete(e),this._indexInvalid||this._index.remove(e))}forEachInBounds(t,e){this._loadIndex(),function(t,e,n){(function(t){s.minX=t[0],s.minY=t[1],s.maxX=t[2],s.maxY=t[3]})(e),t.search(s,n)}(this._index,t,(t=>e(this._idByBounds.get(t))))}get(t){return this._boundsById.get(t)}has(t){return this._boundsById.has(t)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(t,e){if(!this._indexInvalid){const e=this._boundsById.get(t);e&&(this._index.remove(e),this._idByBounds.delete(e))}this._boundsById.set(t,e),e&&(this._idByBounds.set(e,t),this._indexInvalid||(this._boundsToLoad.push(e),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},8303:(t,e,n)=>{n.d(e,{A:()=>w});var r=n(90237),i=n(92602),o=n(70333),s=n(78888),a=n(60999),l=n(49186),u=n(53966),c=n(97768),h=n(74887),p=n(84952),d=n(10107),f=(n(44208),n(87811),n(36005)),m=n(40608),g=n(43937),y=n(77548),_=n(20655),x=n(80812),v=n(41318),M=n(10407);const w=t=>{let e=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,c.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,e,n){if(e.itemId)return new x.default({id:e.itemId,portal:n?.portal})}writePortalItem(t,e){t?.id&&(e.itemId=t.id)}async loadFromPortal(t,e){if(this.portalItem?.id)try{const{load:r}=await n.e(1204).then(n.bind(n,41204));return(0,h.Te)(e),await r({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},e)}catch(t){throw(0,h.zf)(t)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${t}`),t}}async finishLoadEditablePortalLayer(t){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(t).catch((t=>((0,h.QP)(t),!0))))}async setUserPrivileges(t,e){if(!i.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(e);if(this.url)try{const{features:{edit:n,fullEdit:r},content:{updateItem:i}}=await this._fetchUserPrivileges(t,e);this._set("userHasEditingPrivileges",n),this._set("userHasFullEditingPrivileges",r),this._set("userHasUpdateItemPrivileges",i)}catch(t){(0,h.QP)(t)}}async _fetchUserPrivileges(t,e){let n=this.portalItem;if(!t||!n||!n.loaded||n.sourceUrl)return this._fetchFallbackUserPrivileges(e);const r=!o.id?.findCredential(this.url),i=t===n.id;if(i&&n.portal.user)return this._getUserPrivileges(n,r);let s,a;if(i)s=n.portal.url;else try{s=await(0,y.wI)(this.url,e)}catch(t){(0,h.QP)(t)}if(!s||!(0,p.b8)(s,n.portal.url))return this._fetchFallbackUserPrivileges(e);try{const t=null!=e?e.signal:null;a=await(o.id?.getCredential(`${s}/sharing`,{prompt:!1,signal:t}))}catch(t){(0,h.QP)(t)}const l=!0,u=!1,c=!1;if(!a)return{features:{edit:l,fullEdit:u},content:{updateItem:c}};try{if(i?await n.reload():(n=new x.default({id:t,portal:{url:s}}),await n.load(e)),n.portal.user)return this._getUserPrivileges(n,r)}catch(t){(0,h.QP)(t)}return{features:{edit:l,fullEdit:u},content:{updateItem:c}}}_getUserPrivileges(t,e){const n=(0,M.It)(t);return e&&(n.features.edit=!0),n}async _fetchFallbackUserPrivileges(t){let e=!0;try{e=await this._fetchUserHasEditingPrivileges(t)}catch(t){(0,h.QP)(t)}return{features:{edit:e,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(t){const e=this.url?o.id?.findCredential(this.url):null;if(!e)return!0;const n=b.credential===e?b.user:await this._fetchEditingUser(t);return b.credential=e,b.user=n,null==n?.privileges||n.privileges.includes("features:user:edit")}async _fetchEditingUser(t){const e=this.portalItem?.portal?.user;if(e)return e;const n=o.id?.findServerInfo(this.url??"");if(!n?.owningSystemUrl)return null;const r=`${n.owningSystemUrl}/sharing/rest`,i=_.A.getDefault();if(i&&i.loaded&&(0,p.S8)(i.restUrl)===(0,p.S8)(r))return i.user;const l=`${r}/community/self`,u=null!=t?t.signal:null,c=await(0,a.Ke)((0,s.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return c.ok?v.A.fromJSON(c.value.data):null}read(t,e){e&&(e.layer=this),super.read(t,e)}write(t,e){const n=e?.portal,r=this.portalItem?.id&&(this.portalItem.portal||_.A.getDefault());return n&&r&&!(0,p.ut)(r.restUrl,n.restUrl)?(e.messages&&e.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(t,{...e,layer:this})}};return(0,r._)([(0,d.MZ)({type:x.default})],e.prototype,"portalItem",null),(0,r._)([(0,f.w)("web-document","portalItem",["itemId"])],e.prototype,"readPortalItem",null),(0,r._)([(0,g.K)("web-document","portalItem",{itemId:{type:String}})],e.prototype,"writePortalItem",null),(0,r._)([(0,d.MZ)({clonable:!1})],e.prototype,"resourceReferences",void 0),(0,r._)([(0,d.MZ)({type:Boolean,readOnly:!0})],e.prototype,"userHasEditingPrivileges",void 0),(0,r._)([(0,d.MZ)({type:Boolean,readOnly:!0})],e.prototype,"userHasFullEditingPrivileges",void 0),(0,r._)([(0,d.MZ)({type:Boolean,readOnly:!0})],e.prototype,"userHasUpdateItemPrivileges",void 0),e=(0,r._)([(0,m.$)("esri.layers.mixins.PortalLayer")],e),e},b={credential:null,user:null}},11006:(t,e,n)=>{function r(t,e,n,r,o){i(t,e,n||0,r||t.length-1,o||s)}function i(t,e,n,r,s){for(;r>n;){if(r-n>600){var a=r-n+1,l=e-n+1,u=Math.log(a),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(a-c)/a)*(l-a/2<0?-1:1);i(t,e,Math.max(n,Math.floor(e-l*c/a+h)),Math.min(r,Math.floor(e+(a-l)*c/a+h)),s)}var p=t[e],d=n,f=r;for(o(t,n,e),s(t[r],p)>0&&o(t,n,r);d<f;){for(o(t,d,f),d++,f--;s(t[d],p)<0;)d++;for(;s(t[f],p)>0;)f--}0===s(t[n],p)?o(t,n,f):o(t,++f,r),f<=e&&(n=f+1),e<=f&&(r=f-1)}}function o(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function s(t,e){return t<e?-1:t>e?1:0}n.d(e,{q:()=>r})},13069:(t,e,n)=>{n.d(e,{AG:()=>a,lk:()=>i,vD:()=>s,yS:()=>o});const r="randomUUID"in crypto;function i(){if(r)return crypto.randomUUID();const t=crypto.getRandomValues(new Uint16Array(8));t[3]=4095&t[3]|16384,t[4]=16383&t[4]|32768;const e=e=>t[e].toString(16).padStart(4,"0");return e(0)+e(1)+"-"+e(2)+"-"+e(3)+"-"+e(4)+"-"+e(5)+e(6)+e(7)}function o(){return`{${i().toUpperCase()}}`}function s(){return`{${i()}}`}function a(t){const e=t.toUpperCase();return"{"!==t[0]?`{${e}}`:e}},16494:(t,e,n)=>{n.d(e,{W5:()=>s});var r=n(37330);const i=["dd","dl","dt","h1","h2","h3","h4","h5","h6","sub","sup","animate","animatetransform","circle","clippath","defs","ellipse","g","image","line","lineargradient","marker","mask","path","pattern","polygon","polyline","radialgradient","rect","stop","svg","switch","symbol","text","textpath","tspan","use"].reduce(((t,e)=>(t[e]=[],t)),{}),o=["align","alink","alt","bgcolor","border","cellpadding","cellspacing","class","color","cols","colspan","coords","d","dir","face","height","hspace","ismap","lang","marginheight","marginwidth","multiple","nohref","noresize","noshade","nowrap","ref","rel","rev","rows","rowspan","scrolling","shape","span","summary","tabindex","title","usemap","valign","value","vlink","vspace","width"],s=new r.I({whiteList:i,onTagAttr:(t,e,n)=>{const r=`${e}="${n}"`;if(o.includes(e))return r},stripIgnoreTag:!0,stripIgnoreTagBody:["script","style"]},!0)},19647:(t,e,n)=>{n.r(e),n.d(e,{default:()=>ee});var r=n(90237),i=n(5503),o=n(49186),s=n(53966),a=n(92071),l=n(74887),u=n(10107),c=n(79901),h=(n(44208),n(87811),n(36005)),p=n(40608),d=n(43937),f=n(35666),m=n(4146),g=n(63074),y=n(16131),_=n(8303),x=n(25036),v=n(69540),M=n(25482),w=n(77690),b=n(29242),A=n(37585),S=n(38954);const P=(0,n(51850).vt)(),I=(0,b.vt)(),O=(0,b.vt)(),E=(0,b.vt)();function R(t,e,n){return(0,S.i)(P,e[0],e[1],1),(0,S.o)(P,P,(0,w.mg)(I,n)),0===P[2]?(0,A.hZ)(t,P[0],P[1]):(0,A.hZ)(t,P[0]/P[2],P[1]/P[2])}function T(t,e,n){return L(O,e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]),L(E,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]),(0,w.lw)(t,(0,w.KC)(O,O),E),0!==t[8]&&(t[0]/=t[8],t[1]/=t[8],t[2]/=t[8],t[3]/=t[8],t[4]/=t[8],t[5]/=t[8],t[6]/=t[8],t[7]/=t[8],t[8]/=t[8]),t}function L(t,e,n,r,i,o,s,a,l){(0,w.hZ)(t,e,r,o,n,i,s,1,1,1),(0,S.i)(P,a,l,1),(0,w.KC)(I,t);const[u,c,h]=(0,S.o)(P,P,(0,w.mg)(I,I));return(0,w.hZ)(I,u,0,0,0,c,0,0,0,h),(0,w.lw)(t,I,t)}var Z=n(90629),B=n(48163),j=n(86738),C=n(39829),$=n(98988),N=n(16930);let U=class extends v.A{projectOrWarn(t,e){if(null==t)return t;const{geometry:n,pending:r}=(0,$.projectOrLoad)(t,e);return r?null:r||n?n:(s.A.getLogger(this).warn("geometry could not be projected to the spatial reference",{georeference:this,geometry:t,sourceSpatialReference:t.spatialReference,targetSpatialReference:e}),null)}};U=(0,r._)([(0,p.$)("esri.layers.support.GeoreferenceBase")],U);const F=(0,b.vt)(),Y=(0,B.vt)();let X=class extends M.A{};(0,r._)([(0,u.MZ)({type:Number,json:{write:{isRequired:!0}}})],X.prototype,"x",void 0),(0,r._)([(0,u.MZ)({type:Number,json:{write:{isRequired:!0}}})],X.prototype,"y",void 0),X=(0,r._)([(0,p.$)("esri.layers.support.ControlPointsGeoreference.ControlPointJSONType")],X);let D=class extends v.A{constructor(){super(...arguments),this.sourcePoint=null,this.mapPoint=null}};(0,r._)([(0,u.MZ)()],D.prototype,"sourcePoint",void 0),(0,r._)([(0,u.MZ)({type:j.A})],D.prototype,"mapPoint",void 0),D=(0,r._)([(0,p.$)("esri.layers.support.ControlPointsGeoreference.ControlPoint")],D);let q=class extends(M.A.JSONSupportMixin(U)){constructor(t){super(t),this.controlPoints=null,this.height=0,this.type="control-points",this.width=0}readControlPoints(t,e){const n=N.A.fromJSON(e.spatialReference),r=(0,b.fA)(...e.coefficients,1);return t.map((t=>((0,A.hZ)(Y,t.x,t.y),R(Y,Y,r),{sourcePoint:t,mapPoint:new j.A({x:Y[0],y:Y[1],spatialReference:n})})))}writeControlPoints(t,e,n,r){if(null!=this.transform)null!=t&&k(t[0])&&(e.controlPoints=t.map((t=>{const e=t.sourcePoint;return{x:e.x,y:e.y}})),e.spatialReference=t[0].mapPoint.spatialReference.toJSON(),e.coefficients=this.transform.slice(0,8));else{const t=new o.A("web-document-write:invalid-georeference","Invalid 'controlPoints', 'width', 'height' configuration. Make sure the parent media element is loaded i.e. the ImageElement or VideoElement set as 'MediaLayer.source'.",{layer:r?.layer,georeference:this});r?.messages?r.messages.push(t):s.A.getLogger(this).error(t.name,t.message)}}get coords(){if(null==this.controlPoints)return null;const t=this._updateTransform(F);if(null==t||!k(this.controlPoints[0]))return null;const e=this.controlPoints[0].mapPoint.spatialReference;return function(t,e,n,r){const i=(0,B.fA)(0,n),o=(0,B.fA)(0,0),s=(0,B.fA)(e,0),a=(0,B.fA)(e,n);return R(i,i,t),R(o,o,t),R(s,s,t),R(a,a,t),new C.A({rings:[[i,o,s,a,i]],spatialReference:r})}(t,this.width,this.height,e)}set coords(t){if(null==this.controlPoints||!k(this.controlPoints[0]))return;const e=this.controlPoints[0].mapPoint.spatialReference;if(null==(t=this.projectOrWarn(t,e)))return;const{width:n,height:r}=this,{rings:[[i,o,s,a]]}=t,l={sourcePoint:(0,Z.tc)(0,r),mapPoint:new j.A({x:i[0],y:i[1],spatialReference:e})},u={sourcePoint:(0,Z.tc)(0,0),mapPoint:new j.A({x:o[0],y:o[1],spatialReference:e})},c={sourcePoint:(0,Z.tc)(n,0),mapPoint:new j.A({x:s[0],y:s[1],spatialReference:e})},h={sourcePoint:(0,Z.tc)(n,r),mapPoint:new j.A({x:a[0],y:a[1],spatialReference:e})};k(l)&&k(u)&&k(c)&&k(h)&&(nt(F,l,u,c,h),this.controlPoints=this.controlPoints.map((({sourcePoint:t})=>((0,A.hZ)(Y,t.x,t.y),R(Y,Y,F),{sourcePoint:t,mapPoint:new j.A({x:Y[0],y:Y[1],spatialReference:e})}))))}get inverseTransform(){return null==this.transform?null:(0,w.B8)((0,b.vt)(),this.transform)}get transform(){return this._updateTransform()}toMap(t){if(null==t||null==this.transform||null==this.controlPoints||!k(this.controlPoints[0]))return null;(0,A.hZ)(Y,t.x,t.y);const e=this.controlPoints[0].mapPoint.spatialReference;return R(Y,Y,this.transform),new j.A({x:Y[0],y:Y[1],spatialReference:e})}toSource(t){if(null==t||null==this.inverseTransform||null==this.controlPoints||!k(this.controlPoints[0]))return null;const e=this.controlPoints[0].mapPoint.spatialReference;return t=t.normalize(),null==(t=(0,$.projectOrLoad)(t,e).geometry)?null:((0,A.hZ)(Y,t.x,t.y),R(Y,Y,this.inverseTransform),(0,Z.tc)(Y[0],Y[1]))}toSourceNormalized(t){const e=this.toSource(t);return null!=e&&(e.x/=this.width,e.y/=this.height),e}_updateTransform(t){const{controlPoints:e,width:n,height:r}=this;if(!(null!=e&&n>0&&r>0))return null;const[i,o,s,a]=e;if(!k(i))return null;const l=i.mapPoint.spatialReference,u=this._projectControlPoint(o,l),c=this._projectControlPoint(s,l),h=this._projectControlPoint(a,l);if(!u.valid||!c.valid||!h.valid)return null;if(!k(u.controlPoint))return null;null==t&&(t=(0,b.vt)());let p=null;return p=k(c.controlPoint)&&k(h.controlPoint)?nt(t,i,u.controlPoint,c.controlPoint,h.controlPoint):k(c.controlPoint)?function(t,e,n,r){return et(z,W,e),et(V,J,n),et(H,K,r),(0,A.Cc)(G,z,V,.5),(0,A.e$)(G,H,G,Math.PI),(0,A.Cc)(Q,W,J,.5),(0,A.e$)(Q,K,Q,Math.PI),st(t,z,V,H,G,W,J,K,Q)}(t,i,u.controlPoint,c.controlPoint):function(t,e,n){return et(z,W,e),et(V,J,n),(0,A.e$)(H,V,z,tt),(0,A.e$)(G,z,V,tt),(0,A.e$)(K,J,W,-tt),(0,A.e$)(Q,W,J,-tt),st(t,z,V,H,G,W,J,K,Q)}(t,i,u.controlPoint),p.every((t=>0===t))?null:p}_projectControlPoint(t,e){if(!k(t))return{valid:!0,controlPoint:t};const{sourcePoint:n,mapPoint:r}=t,{geometry:i,pending:o}=(0,$.projectOrLoad)(r,e);return o?{valid:!1,controlPoint:null}:o||i?{valid:!0,controlPoint:{sourcePoint:n,mapPoint:i}}:(s.A.getLogger(this).warn("map point could not be projected to the spatial reference",{georeference:this,controlPoint:t,sourceSpatialReference:r.spatialReference,targetSpatialReference:e}),{valid:!1,controlPoint:null})}};function k(t){return null!=t?.sourcePoint&&null!=t.mapPoint}(0,r._)([(0,u.MZ)({type:[D],json:{write:{allowNull:!1,isRequired:!0,target:{controlPoints:{type:[X],isRequired:!0},coefficients:{type:[Number],isRequired:!0},spatialReference:{type:N.A,isRequired:!0}}}}})],q.prototype,"controlPoints",void 0),(0,r._)([(0,h.w)("controlPoints")],q.prototype,"readControlPoints",null),(0,r._)([(0,d.K)("controlPoints")],q.prototype,"writeControlPoints",null),(0,r._)([(0,u.MZ)({clonable:!1})],q.prototype,"coords",null),(0,r._)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],q.prototype,"height",void 0),(0,r._)([(0,u.MZ)({readOnly:!0})],q.prototype,"inverseTransform",null),(0,r._)([(0,u.MZ)({readOnly:!0})],q.prototype,"transform",null),(0,r._)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],q.prototype,"width",void 0),q=(0,r._)([(0,p.$)("esri.layers.support.ControlPointsGeoreference")],q);const z=(0,B.vt)(),V=(0,B.vt)(),H=(0,B.vt)(),G=(0,B.vt)(),W=(0,B.vt)(),J=(0,B.vt)(),K=(0,B.vt)(),Q=(0,B.vt)(),tt=Math.PI/2;function et(t,e,n){(0,A.hZ)(t,n.sourcePoint.x,n.sourcePoint.y),(0,A.hZ)(e,n.mapPoint.x,n.mapPoint.y)}function nt(t,e,n,r,i){return et(z,W,e),et(V,J,n),et(H,K,r),et(G,Q,i),st(t,z,V,H,G,W,J,K,Q)}const rt=new Array(8).fill(0),it=new Array(8).fill(0);function ot(t,e,n,r,i){return t[0]=e[0],t[1]=e[1],t[2]=n[0],t[3]=n[1],t[4]=r[0],t[5]=r[1],t[6]=i[0],t[7]=i[1],t}function st(t,e,n,r,i,o,s,a,l){return T(t,ot(rt,e,n,r,i),ot(it,o,s,a,l))}var at=n(78888),lt=n(21287),ut=n(84952),ct=n(13069),ht=n(4902),pt=n(92474),dt=n(5443),ft=n(21325);const mt=(0,B.vt)();let gt=class extends U{constructor(t){super(t),this.bottomLeft=null,this.bottomRight=null,this.topLeft=null,this.topRight=null,this.type="corners"}get coords(){let{topLeft:t,topRight:e,bottomLeft:n,bottomRight:r}=this;if(null==t||null==e||null==n||null==r)return null;const i=t.spatialReference;return e=this.projectOrWarn(e,i),n=this.projectOrWarn(n,i),r=this.projectOrWarn(r,i),null==e||null==n||null==r?null:new C.A({rings:[[[n.x,n.y],[t.x,t.y],[e.x,e.y],[r.x,r.y],[n.x,n.y]]],spatialReference:i})}set coords(t){const{topLeft:e}=this;if(null==e)return;const n=e.spatialReference;if(null==(t=this.projectOrWarn(t,n)))return;const{rings:[[r,i,o,s]]}=t;this.bottomLeft=new j.A({x:r[0],y:r[1],spatialReference:n}),this.topLeft=new j.A({x:i[0],y:i[1],spatialReference:n}),this.topRight=new j.A({x:o[0],y:o[1],spatialReference:n}),this.bottomRight=new j.A({x:s[0],y:s[1],spatialReference:n})}toSourceNormalized(t){const{topLeft:e,topRight:n,bottomRight:r,bottomLeft:i}=this;if(null==t||null==e||null==n||null==r||null==i)return null;const o=e.spatialReference;t=t.normalize();const s=(0,$.projectOrLoad)(t,o).geometry;if(null==s)return null;(0,A.hZ)(mt,s.x,s.y);const a=T((0,b.vt)(),[e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y],[0,0,0,1,1,0,1,1]);return R(mt,mt,a),(0,Z.tc)(mt[0],mt[1])}};(0,r._)([(0,u.MZ)({clonable:!1})],gt.prototype,"coords",null),(0,r._)([(0,u.MZ)({type:j.A})],gt.prototype,"bottomLeft",void 0),(0,r._)([(0,u.MZ)({type:j.A})],gt.prototype,"bottomRight",void 0),(0,r._)([(0,u.MZ)({type:j.A})],gt.prototype,"topLeft",void 0),(0,r._)([(0,u.MZ)({type:j.A})],gt.prototype,"topRight",void 0),gt=(0,r._)([(0,p.$)("esri.layers.support.CornersGeoreference")],gt);const yt=gt;var _t=n(34727),xt=n(34304);let vt=class extends U{constructor(t){super(t),this.extent=null,this.rotation=0,this.type="extent-and-rotation"}get coords(){if(null==this.extent)return null;const{xmin:t,ymin:e,xmax:n,ymax:r,spatialReference:i}=this.extent;let o;if(this.rotation){const{x:i,y:s}=this.extent.center,a=Mt(i,s,this.rotation);o=[a(t,e),a(t,r),a(n,r),a(n,e)],o.push(o[0])}else o=[[t,e],[t,r],[n,r],[n,e],[t,e]];return new C.A({rings:[o],spatialReference:i})}set coords(t){if(null==t||null==this.extent)return;const e=this.extent.spatialReference;if(t=this.projectOrWarn(t,e),null==t?.extent)return;const{rings:[[n,r,i]],extent:{center:{x:o,y:s}}}=t,a=(0,_t.KJ)(Math.PI/2-Math.atan2(r[1]-n[1],r[0]-n[0])),l=Mt(o,s,-a),[u,c]=l(n[0],n[1]),[h,p]=l(i[0],i[1]);this.extent=new dt.A({xmin:u,ymin:c,xmax:h,ymax:p,spatialReference:e}),this.rotation=a}toSourceNormalized(t){const{extent:e,rotation:n}=this;if(null==t||null==e)return null;const{xmin:r,ymin:i,xmax:o,ymax:s,center:a,spatialReference:l}=e;t=t.normalize();const u=(0,$.projectOrLoad)(t,l).geometry;if(null==u)return null;let c=u.x,h=u.y;return n&&([c,h]=Mt(a.x,a.y,-n)(c,h)),(0,Z.tc)((0,_t.hs)(c,r,o,0,1),(0,_t.hs)(h,s,i,0,1))}};function Mt(t,e,n){const r=(0,xt.DF)(n),i=Math.cos(r),o=Math.sin(r);return(n,r)=>[i*(n-t)+o*(r-e)+t,i*(r-e)-o*(n-t)+e]}function wt(t,e){const n=(0,f.aB)(e);return function(t){return"media"===t?.type}(t)&&!!t.portalItem&&null!=n&&n>f.Gr.PORTAL_ITEM}function bt(t,e,n){return{enabled:!wt(n?.layer,n?.origin),ignoreOrigin:!0}}(0,r._)([(0,u.MZ)({clonable:!1})],vt.prototype,"coords",null),(0,r._)([(0,u.MZ)({type:dt.A})],vt.prototype,"extent",void 0),(0,r._)([(0,u.MZ)({type:Number})],vt.prototype,"rotation",void 0),vt=(0,r._)([(0,p.$)("esri.layers.support.ExtentAndRotationGeoreference")],vt);const At={json:{name:"url",type:String,write:{overridePolicy:bt}}},St={readOnly:!0,json:{read:!1,write:{target:"mediaType",overridePolicy:bt}}},Pt={types:{key:"type",base:U,typeMap:{"control-points":q,corners:yt,"extent-and-rotation":vt}},json:{types:{key:"type",base:U,typeMap:{"control-points":q}},write:{overridePolicy:()=>({enabled:!0,ignoreOrigin:!0})}}};let It=class extends(ht.A.NumericIdentifiableMixin((0,a.P)(pt.A))){constructor(t){super(t),this.georeference=null,this.opacity=1}readGeoreference(t){return q.fromJSON(t)}writeGeoreference(t,e,n,r){const i=r?.resources?.pendingOperations,a=()=>{const i=function(t,e,n){if(!t||"control-points"===t.type)return t;const{coords:r}=t;if(5!==r?.rings[0]?.length)return null;const[i,o,s,a]=r.rings[0],{spatialReference:l}=r;return new q({controlPoints:[{mapPoint:new j.A({x:i[0],y:i[1],spatialReference:l}),sourcePoint:(0,Z.tc)(0,n)},{mapPoint:new j.A({x:o[0],y:o[1],spatialReference:l}),sourcePoint:(0,Z.tc)(0,0)},{mapPoint:new j.A({x:s[0],y:s[1],spatialReference:l}),sourcePoint:(0,Z.tc)(e,0)},{mapPoint:new j.A({x:a[0],y:a[1],spatialReference:l}),sourcePoint:(0,Z.tc)(e,n)}],width:e,height:n})}(this.georeference,this.contentWidth,this.contentHeight);if(i){if("control-points"!==t.type&&s.A.getLogger(this).warn(`only georeference of type 'control-points' may be persisted. The georeference of type '${t.type}' has been automatically converted.`),4!==i.controlPoints?.length&&r?.messages)return void r.messages.push(new o.A("property:unsupported","only 'control-points' georeference with 4 control points may be persisted."));e[n]=i.write({},r)}};if("control-points"!==t.type&&!this.loaded&&i)return e[n]={},void i.push(this.load().then(a));a()}get contentWidth(){return 0}get contentHeight(){return 0}toSource(t){const{georeference:e,contentWidth:n,contentHeight:r}=this;if(null==t||null==e||0===n||0===r)return null;const i=e.toSourceNormalized(t);return null==i?null:(i.x*=n,i.y*=r,i)}};(0,r._)([(0,u.MZ)(Pt)],It.prototype,"georeference",void 0),(0,r._)([(0,h.w)("georeference")],It.prototype,"readGeoreference",null),(0,r._)([(0,d.K)("georeference")],It.prototype,"writeGeoreference",null),(0,r._)([(0,u.MZ)({json:{read:!1,write:!1}})],It.prototype,"opacity",void 0),It=(0,r._)([(0,p.$)("esri.layers.support.MediaElementBase")],It);var Ot=n(85648);const Et=Symbol("ImageElementInstance"),Rt=Symbol("VideoElementInstance");function Tt(t){return function(t){return null!=t&&"object"==typeof t&&Et in t}(t)||function(t){return null!=t&&"object"==typeof t&&Rt in t}(t)}var Lt,Zt=n(97159);let Bt=class extends It{static{Lt=Et}constructor(t){super(t),this.animationOptions=null,this.content=null,this.image=null,this.type="image",this[Lt]=!0,this.image=null}load(){const t=this.image;if("string"==typeof t){const e=(0,lt.M5)(t).then((t=>{this._set("content",t)}));this.addResolvingPromise(e)}else if(t instanceof HTMLImageElement){const e=t.decode().then((()=>{this._set("content",t)}));this.addResolvingPromise(e)}else t?this._set("content",t):this.addResolvingPromise(Promise.reject(new o.A("image-element:invalid-image-type","Invalid image type",{image:t})));return Promise.resolve(this)}get contentWidth(){return null==this.content?0:this.content instanceof HTMLImageElement?this.content.naturalWidth:this.content.width}get contentHeight(){return null==this.content?0:this.content instanceof HTMLImageElement?this.content.naturalHeight:this.content.height}readImage(t,e,n){return(0,Zt.f)(e.url,n)}writeImage(t,e,n,r){if(null==t)return;const i=r?.portalItem,o=r?.resources;if(!i||!o)return void("string"==typeof t&&(e[n]=(0,Zt.t)(t,r)));const s=function(t){return"string"==typeof t&&!(0,ut.DB)(t)&&!(0,ut.w8)(t)}(t)?t:null;if(s){if(null==(0,Zt.i)(s))return void(e[n]=s);const t=(0,Zt.t)(s,{...r,verifyItemRelativeUrls:r?.verifyItemRelativeUrls?{writtenUrls:r.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},Zt.M.NO);if(i&&t&&!(0,ut.oP)(t))return o.toKeep.push({resource:i.resourceFromPath(t),compress:!1}),void(e[n]=t)}e[n]="<pending>",o.pendingOperations.push(async function(t){return"string"==typeof t?(0,ut.DB)(t)?(0,ut.N9)(t):(await(0,at.A)(t,{responseType:"blob"})).data:new Promise((e=>function(t){if(t instanceof HTMLCanvasElement)return t;const e=t instanceof HTMLImageElement?t.naturalWidth:t.width,n=t instanceof HTMLImageElement?t.naturalHeight:t.height,r=document.createElement("canvas"),i=r.getContext("2d");return r.width=e,r.height=n,t instanceof HTMLImageElement?i.drawImage(t,0,0,t.width,t.height):t instanceof ImageData&&i.putImageData(t,0,0),r}(t).toBlob(e)))}(t).then((t=>{const r=function(t,e){const n=(0,ct.lk)(),r=`${(0,ut.fj)("media",n)}.${(0,Ot.n)({type:"blob",blob:t})}`;return e.resourceFromPath(r)}(t,i);e[n]=r.itemRelativeUrl,o.toAdd.push({resource:r,content:{type:"blob",blob:t},compress:!1,finish:t=>{this.image=t.url}})})))}};(0,r._)([(0,u.MZ)()],Bt.prototype,"animationOptions",void 0),(0,r._)([(0,u.MZ)({readOnly:!0})],Bt.prototype,"content",void 0),(0,r._)([(0,u.MZ)({readOnly:!0})],Bt.prototype,"contentWidth",null),(0,r._)([(0,u.MZ)({readOnly:!0})],Bt.prototype,"contentHeight",null),(0,r._)([(0,u.MZ)(At)],Bt.prototype,"image",void 0),(0,r._)([(0,h.w)("image",["url"])],Bt.prototype,"readImage",null),(0,r._)([(0,d.K)("image")],Bt.prototype,"writeImage",null),(0,r._)([(0,u.MZ)(St)],Bt.prototype,"type",void 0),Bt=(0,r._)([(0,p.$)("esri.layers.support.ImageElement")],Bt);var jt=n(62885),Ct=n(65529),$t=n(61893),Nt=n(36708),Ut=n(19419),Ft=n(12176),Yt=n(6518),Xt=n(69622),Dt=n(89056);let qt=class extends Xt.A{constructor(t){super(t)}get bounds(){const t=this.coords;return null==t?.extent?null:(0,Ut.VY)(t.extent)}get coords(){const t=this.element.georeference?.coords;return(0,$.projectOrLoad)(t,this.spatialReference).geometry}get normalizedCoords(){return C.A.fromJSON((0,Dt.jZ)(this.coords))}get normalizedBounds(){const t=null!=this.normalizedCoords?this.normalizedCoords.extent:null;return null!=t?(0,Ut.VY)(t):null}};(0,r._)([(0,u.MZ)()],qt.prototype,"spatialReference",void 0),(0,r._)([(0,u.MZ)()],qt.prototype,"element",void 0),(0,r._)([(0,u.MZ)()],qt.prototype,"bounds",null),(0,r._)([(0,u.MZ)()],qt.prototype,"coords",null),(0,r._)([(0,u.MZ)()],qt.prototype,"normalizedCoords",null),(0,r._)([(0,u.MZ)()],qt.prototype,"normalizedBounds",null),qt=(0,r._)([(0,p.$)("esri.layers.support.MediaElementView")],qt);var kt,zt=n(16494),Vt=n(38969);const Ht=Symbol("canplay");let Gt=class extends It{static{kt=Rt}constructor(t){super(t),this.autoplay=!0,this.content=null,this.type="video",this[kt]=!0}load(){const t=this.video;return"string"==typeof t?this.addResolvingPromise(this._preProcessVideoUrl(t).then((async t=>{const e=document.createElement("video");return e.src=zt.W5.sanitizeUrl((0,ut.s2)(t)),e.crossOrigin="anonymous",e.autoplay=this.autoplay,e.muted=!0,e.loop=!0,e.playsInline=!0,this._loadVideo(e).then((()=>{this._set("content",e)}))}))):t instanceof HTMLVideoElement?this.addResolvingPromise(this._loadVideo(t).then((()=>{this._set("content",t)}))):this.addResolvingPromise(Promise.reject(new o.A("video-element:invalid-video-type","Invalid video type",{video:t}))),Promise.resolve(this)}get contentWidth(){return this.content?.videoWidth??0}get contentHeight(){return this.content?.videoHeight??0}get currentTime(){return this.content?.currentTime}set currentTime(t){if(!this.content)return;const e=(0,_t.qE)(t,0,this.content.duration);"fastSeek"in this.content?this.content.fastSeek(e):this.content.currentTime=e,this.content.play().then((()=>{this.content?.pause()})).catch((()=>{}))}get duration(){return this.content?.duration}set video(t){"not-loaded"===this.loadStatus?this._set("video",t):s.A.getLogger(this).error("#video","video cannot be changed after the element is loaded.")}writeVideo(t,e,n,r){if(!t)return void(r?.messages&&r.messages.push(new o.A("video-element:unsupported-video","video source is missing")));const i=function(t){return"string"==typeof t&&!(0,ut.DB)(t)&&!(0,ut.w8)(t)}(t)?t:null;if(!i)return void(r?.messages&&r.messages.push(new o.A("video-element:unsupported-video","video source must be an absolute url")));!(0,ut.oP)(i)&&r?.blockedRelativeUrls&&r.blockedRelativeUrls.push(i);const s=(0,ut.s2)(i);(0,Zt.i)(s)?r?.messages&&r.messages.push(new o.A("video-element:unsupported-video","video source cannot be an item resource")):e[n]=s}async _preProcessVideoUrl(t){if((0,ut.zs)(t))return(0,ut.yM)(t);try{return await(0,at.A)(t,{method:"head"}),t}catch{try{return(0,ut.yM)(t,!0)}catch{return t}}}async _loadVideo(t){"anonymous"!==t.crossOrigin&&(t.crossOrigin="anonymous",(0,ut.w8)(t.src)||(t.src=t.src));try{await(0,Vt.i)(t,(t=>this.addHandles(t,Ht))),this.autoplay&&await t.play().catch((t=>{throw console.error(t),t}))}finally{this.removeHandles(Ht)}}};(0,r._)([(0,u.MZ)()],Gt.prototype,"autoplay",void 0),(0,r._)([(0,u.MZ)({readOnly:!0})],Gt.prototype,"content",void 0),(0,r._)([(0,u.MZ)({readOnly:!0})],Gt.prototype,"contentWidth",null),(0,r._)([(0,u.MZ)({readOnly:!0})],Gt.prototype,"contentHeight",null),(0,r._)([(0,u.MZ)({type:Number})],Gt.prototype,"currentTime",null),(0,r._)([(0,u.MZ)({type:Number})],Gt.prototype,"duration",null),(0,r._)([(0,u.MZ)(At)],Gt.prototype,"video",null),(0,r._)([(0,d.K)("video")],Gt.prototype,"writeVideo",null),(0,r._)([(0,u.MZ)(St)],Gt.prototype,"type",void 0),Gt=(0,r._)([(0,p.$)("esri.layers.support.VideoElement")],Gt);const Wt={key:"type",defaultKeyValue:"image",base:It,typeMap:{image:Bt,video:Gt}},Jt=i.A.ofType(Wt);let Kt=class extends(pt.A.LoadableMixin($t.A.EsriPromiseMixin(Ct.A.EventedAccessor))){constructor(t){super(t),this._index=new Yt.F,this._elementViewsMap=new Map,this._elementsIndexes=new Map,this._elementsChangedHandler=t=>{for(const e of t.removed){const t=this._elementViewsMap.get(e);this._elementViewsMap.delete(e),this._index.delete(t),this.removeHandles(t),t.destroy(),this.notifyChange("fullExtent")}const{spatialReference:e}=this;for(const n of t.added){if(this._elementViewsMap.get(n))continue;const t=new qt({spatialReference:e,element:n});this._elementViewsMap.set(n,t);const r=(0,Nt.wB)((()=>t.coords),(()=>this._updateIndexForElement(t,!1)));this._updateIndexForElement(t,!0),this.addHandles(r,t)}this._elementsIndexes.clear(),this.elements.forEach(((t,e)=>this._elementsIndexes.set(t,e))),this.emit("refresh")},this.elements=new Jt}async load(t){if((0,l.Te)(t),!this.spatialReference){const t=this.elements.find((t=>null!=t.georeference?.coords));this._set("spatialReference",t?t.georeference.coords.spatialReference:N.A.WGS84)}return this._elementsChangedHandler({added:this.elements.items,removed:[]}),this.addHandles(this.elements.on("change",this._elementsChangedHandler)),this}destroy(){this._index.clear(),this._elementViewsMap.clear(),this._elementsIndexes.clear()}set elements(t){this._set("elements",(0,jt.V)(t,this._get("elements"),Jt))}get fullExtent(){if("not-loaded"===this.loadStatus)return null;const t=this._index.fullBounds;return null==t?null:new dt.A({xmin:t[0],ymin:t[1],xmax:t[2],ymax:t[3],spatialReference:this.spatialReference})}set spatialReference(t){"not-loaded"===this.loadStatus?this._set("spatialReference",t):s.A.getLogger(this).error("#spatialReference","spatialReference cannot be changed after the source is loaded.")}async queryElements(t,e){await this.load(),await(0,$.initializeProjection)(t.spatialReference,this.spatialReference,null,e);const n=(0,ft.aI)(t.spatialReference,this.spatialReference)?t:(0,$.project)(t,this.spatialReference);if(!n)return[];const r=n.normalize(),i=[];for(const t of r)this._index.forEachInBounds((0,Ut.VY)(t),(({normalizedCoords:e,element:n})=>{null!=e&&(0,Ft.fA)(t,e)&&i.push(n)}));return i.sort(((t,e)=>this._elementsIndexes.get(t)-this._elementsIndexes.get(e))),i}hasElement(t){return this.elements.includes(t)}_updateIndexForElement(t,e){const n=t.normalizedBounds,r=this._index.has(t),i=null!=n;this._index.delete(t),i&&this._index.set(t,n),this.notifyChange("fullExtent"),e||(r!==i?this.emit("refresh"):this.emit("change",{element:t.element}))}};(0,r._)([(0,u.MZ)()],Kt.prototype,"elements",null),(0,r._)([(0,u.MZ)({readOnly:!0})],Kt.prototype,"fullExtent",null),(0,r._)([(0,u.MZ)()],Kt.prototype,"spatialReference",null),Kt=(0,r._)([(0,p.$)("esri.layers.support.LocalMediaElementSource")],Kt);var Qt=n(92935);let te=class extends((0,g.dM)((0,x.j)((0,y.q)((0,_.A)((0,a.P)(m.A)))))){constructor(t){super(t),this.effectiveSource=null,this.georeference=null,this.copyright=null,this.operationalLayerType="MediaLayer",this.spatialReference=null,this.type="media",this._debouncedSaveOperations=(0,l.sg)((async(t,e,r)=>{const{save:i,saveAs:o}=await n.e(3561).then(n.bind(n,63561));switch(t){case Qt.X.SAVE:return i(this,e);case Qt.X.SAVE_AS:return o(this,r,e)}})),this.source=new Kt}load(t){return this.addResolvingPromise(this._doLoad(t)),Promise.resolve(this)}async _doLoad(t){await this.loadFromPortal({supportedTypes:["Media Layer"]},t);let e=this.source;if(!e)throw new o.A("media-layer:source-missing","Set 'MediaLayer.source' before loading the layer.");const n=this._getSourceOverride(e,this.georeference);n&&(this.setAtOrigin("source",n,"web-map"),this.setAtOrigin("source",n,"web-scene"),e=n);const r=Tt(e)?new Kt({elements:new i.A([e])}):e;this._set("effectiveSource",r),this.spatialReference&&(r.spatialReference=this.spatialReference),await r.load(t),this.spatialReference=r.spatialReference}destroy(){this.effectiveSource?.destroy(),this.effectiveSource!==this.source&&this.source?.destroy()}readGeoreference(t,e){return t&&"itemId"in e&&e.itemId?t:void 0}get fullExtent(){return this.loaded?this.effectiveSource.fullExtent:null}get source(){return this._get("source")}set source(t){"loaded"!==this.loadStatus&&"failed"!==this.loadStatus?this._set("source",t):s.A.getLogger(this).error("#source","source cannot be changed after the layer is loaded.")}castSource(t){return t?Array.isArray(t)?new Kt({elements:new i.A(t)}):t instanceof i.A?new Kt({elements:t}):t:null}readSource(t,e,n){if("itemId"in e&&e.itemId)return;const r=this._createSource(e);return r?.read(e,n),r}writeSource(t,e,n,r){if(t&&t instanceof Kt){const e=t.elements.length;if(1!==e)return void(r?.messages&&r.messages.push(new o.A("media-layer:unsupported-source",`local media element source can only be persisted if it contains exactly one ImageElement, but it has ${e}.`)));t=t.elements.at(0)}Tt(t)?t.write(e,r):r?.messages&&(t?r.messages.push(new o.A("media-layer:unsupported-source","only media elements of type 'ImageElement' or 'VideoElement' can be persisted")):r.messages.push(new o.A("media-layer:unsupported-source","the media layer is missing a source")))}async save(t){return this._debouncedSaveOperations(Qt.X.SAVE,t)}async saveAs(t,e){return this._debouncedSaveOperations(Qt.X.SAVE_AS,e,t)}_createSource(t){if("mediaType"in t)switch(t.mediaType){case"image":return new Bt;case"video":return new Gt}return null}_getSourceOverride(t,e){if(Tt(t)&&this.originIdOf("source")===f.Gr.PORTAL_ITEM&&e&&(this.originIdOf("georeference")===f.Gr.WEB_MAP||this.originIdOf("georeference")===f.Gr.WEB_SCENE)){const n=t.toJSON(),r=this._createSource(n);return r.read({...n},{origin:"portal-item"}),r.read({georeference:e},{origin:"web-map"}),r.read({georeference:e},{origin:"web-scene"}),r}return null}};(0,r._)([(0,u.MZ)({readOnly:!0})],te.prototype,"effectiveSource",void 0),(0,r._)([(0,u.MZ)({readOnly:!0,json:{read:!1,write:!1,origins:{"web-document":{read:!0}}}})],te.prototype,"georeference",void 0),(0,r._)([(0,h.w)("web-document","georeference")],te.prototype,"readGeoreference",null),(0,r._)([(0,u.MZ)({type:String})],te.prototype,"copyright",void 0),(0,r._)([(0,u.MZ)({readOnly:!0})],te.prototype,"fullExtent",null),(0,r._)([(0,u.MZ)({type:["MediaLayer"]})],te.prototype,"operationalLayerType",void 0),(0,r._)([(0,u.MZ)({type:["show","hide"]})],te.prototype,"listMode",void 0),(0,r._)([(0,u.MZ)({nonNullable:!0,json:{write:{enabled:!0,allowNull:!1,target:{url:{type:String},mediaType:{type:["image","video"]},georeference:{type:q}},overridePolicy(t,e,n){return{enabled:!0,allowNull:!1,ignoreOrigin:wt(this,n?.origin)&&Tt(t)&&!!t.georeference&&t.originIdOf("georeference")>f.Gr.PORTAL_ITEM}}}}})],te.prototype,"source",null),(0,r._)([(0,c.w)("source")],te.prototype,"castSource",null),(0,r._)([(0,h.w)("source",["url"])],te.prototype,"readSource",null),(0,r._)([(0,d.K)("source")],te.prototype,"writeSource",null),(0,r._)([(0,u.MZ)()],te.prototype,"spatialReference",void 0),(0,r._)([(0,u.MZ)({readOnly:!0})],te.prototype,"type",void 0),te=(0,r._)([(0,p.$)("esri.layers.MediaLayer")],te);const ee=te},21287:(t,e,n)=>{n.d(e,{M5:()=>h,eV:()=>c});var r=n(78888),i=n(49186),o=n(74887),s=n(84952),a=n(26306);let l=null,u=!0;function c(t,e,n,r){if(!e||!n)throw new Error("Cannot construct image data without dimensions");if(u)try{return new ImageData(t,e,n)}catch(t){u=!1}const i=function(t,e,n){return n||(l||(l=document.createElement("canvas"),l.width=1,l.height=1),n=l),n.getContext("2d").createImageData(t,e)}(e,n,r);return i.data.set(t,0),i}async function h(t,e){const{arrayBuffer:l,mediaType:u}=await async function(t,e){const n=(0,s.r$)(t);if(n?.isBase64)return{arrayBuffer:(0,a.M)(n.data),mediaType:n.mediaType};const i=await(0,r.A)(t,{responseType:"array-buffer",...e});return{arrayBuffer:i.data,mediaType:i.getHeader?.("Content-Type")??""}}(t,e),c="image/png"===u;if("image/gif"===u){const{isAnimatedGIF:t,parseGif:r}=await n.e(820).then(n.bind(n,10820));if(t(l))return r(l,e)}if(c){const{isAnimatedPNG:t,parseApng:r}=await n.e(2390).then(n.bind(n,22390));if(t(l))return r(l,e)}return async function(t,e){const n=window.URL.createObjectURL(t);try{const{data:t}=await(0,r.A)(n,{...e,responseType:"image"});return t}catch(t){if(!(0,o.zf)(t))throw new i.A("invalid-image",`Could not fetch requested image at ${n}`);throw t}finally{window.URL.revokeObjectURL(n)}}(new Blob([l],{type:u}),e)}},25036:(t,e,n)=>{n.d(e,{j:()=>s});var r=n(90237),i=n(10107),o=(n(44208),n(53966),n(87811),n(40608));const s=t=>{let e=class extends t{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const t={minScale:this.minScale,maxScale:this.maxScale},e=this.parent;e&&"effectiveScaleRange"in e&&function(t,e){t.minScale=t.minScale>0?e.minScale>0?Math.min(t.minScale,e.minScale):t.minScale:e.minScale,t.maxScale=t.maxScale>0?e.maxScale>0?Math.max(t.maxScale,e.maxScale):t.maxScale:e.maxScale}(t,e.effectiveScaleRange);const n=this._get("effectiveScaleRange");return n&&n.minScale===t.minScale&&n.maxScale===t.maxScale?n:t}};return(0,r._)([(0,i.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],e.prototype,"minScale",void 0),(0,r._)([(0,i.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],e.prototype,"maxScale",void 0),(0,r._)([(0,i.MZ)({readOnly:!0})],e.prototype,"effectiveScaleRange",null),e=(0,r._)([(0,o.$)("esri.layers.mixins.ScaleRangeLayer")],e),e}},27865:(t,e,n)=>{n.d(e,{O9:()=>o,dw:()=>s,mj:()=>i});var r=n(59247);function i(t,e){const n=t.length>e.length?t:e;return(t.length>e.length?e:t).every(((t,e)=>t.type===n[e].type))}function o(t,e){const n=t.length>e.length?t:e,i=t.length>e.length?e:t;for(let t=i.length;t<n.length;t++)i.push((0,r.sK)(n[t]))}function s(t){const e=t[0];return!!e&&"type"in e}},29242:(t,e,n)=>{function r(){return[1,0,0,0,1,0,0,0,1]}function i(t,e,n,r,i,o,s,a,l){return[t,e,n,r,i,o,s,a,l]}n.d(e,{fA:()=>i,vt:()=>r,zK:()=>o});const o=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:o,clone:function(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},create:r,fromValues:i},Symbol.toStringTag,{value:"Module"}))},37585:(t,e,n)=>{n.d(e,{C:()=>i,Cc:()=>g,Io:()=>h,S8:()=>m,WQ:()=>s,e$:()=>_,hZ:()=>o,hs:()=>c,jb:()=>v,l0:()=>y});var r=n(34304);function i(t,e){return t[0]=e[0],t[1]=e[1],t}function o(t,e,n){return t[0]=e,t[1]=n,t}function s(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t}function a(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t}function l(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t}function u(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t}function c(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t}function h(t,e){const n=e[0]-t[0],r=e[1]-t[1];return Math.sqrt(n*n+r*r)}function p(t,e){const n=e[0]-t[0],r=e[1]-t[1];return n*n+r*r}function d(t){const e=t[0],n=t[1];return Math.sqrt(e*e+n*n)}function f(t){const e=t[0],n=t[1];return e*e+n*n}function m(t,e){const n=e[0],r=e[1];let i=n*n+r*r;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t}function g(t,e,n,r){const i=e[0],o=e[1];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t}function y(t,e,n){const r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i+n[4],t[1]=n[1]*r+n[3]*i+n[5],t}function _(t,e,n,r){const i=e[0]-n[0],o=e[1]-n[1],s=Math.sin(r),a=Math.cos(r);return t[0]=i*a-o*s+n[0],t[1]=i*s+o*a+n[1],t}const x=d,v=a,M=l,w=u,b=h,A=p,S=f;Object.freeze(Object.defineProperty({__proto__:null,add:s,angle:function(t,e){const n=t[0],r=t[1],i=e[0],o=e[1];let s=n*n+r*r;s>0&&(s=1/Math.sqrt(s));let a=i*i+o*o;a>0&&(a=1/Math.sqrt(a));const l=(n*i+r*o)*s*a;return l>1?0:l<-1?Math.PI:Math.acos(l)},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},copy:i,cross:function(t,e,n){const r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t},dist:b,distance:h,div:w,divide:u,dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},equals:function(t,e){const n=t[0],i=t[1],o=e[0],s=e[1],a=(0,r.FD)();return Math.abs(n-o)<=a*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=a*Math.max(1,Math.abs(i),Math.abs(s))},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]},floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},inverse:function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},len:x,length:d,lerp:g,max:function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t},min:function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t},mul:M,multiply:l,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},normalize:m,projectAndScale:function(t,e,n,r,i){let o=e[0]-n[0],s=e[1]-n[1];const a=(r[0]*o+r[1]*s)*(i-1);return o=r[0]*a,s=r[1]*a,t[0]=e[0]+o,t[1]=e[1]+s,t},random:function(t,e=1){const n=2*(0,r.Ov)()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t},rotate:_,round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},scale:c,scaleAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t},set:o,sqrDist:A,sqrLen:S,squaredDistance:p,squaredLength:f,str:function(t){return"vec2("+t[0]+", "+t[1]+")"},sub:v,subtract:a,transformMat2:function(t,e,n){const r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i,t[1]=n[1]*r+n[3]*i,t},transformMat2d:y,transformMat3:function(t,e,n){const r=e[0],i=e[1];return t[0]=n[0]*r+n[3]*i+n[6],t[1]=n[1]*r+n[4]*i+n[7],t},transformMat4:function(t,e,n){const r=e[0],i=e[1];return t[0]=n[0]*r+n[4]*i+n[12],t[1]=n[1]*r+n[5]*i+n[13],t}},Symbol.toStringTag,{value:"Module"}))},38954:(t,e,n)=>{n.d(e,{A:()=>f,B:()=>d,C:()=>c,D:()=>h,E:()=>Z,F:()=>$,H:()=>U,a:()=>B,b:()=>y,c:()=>s,d:()=>u,e:()=>A,f:()=>l,g:()=>g,h:()=>S,i:()=>a,j:()=>_,k:()=>v,l:()=>o,m:()=>P,n:()=>b,o:()=>O,q:()=>L,r:()=>w,s:()=>x,t:()=>I,u:()=>M,v:()=>E,w:()=>p,x:()=>N,y:()=>F,z:()=>m});var r=n(51850),i=n(34304);function o(t){const e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)}function s(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t}function l(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}function u(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}function c(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}function h(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}function p(t,e){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t}function d(t,e){return t[0]=Math.sign(e[0]),t[1]=Math.sign(e[1]),t[2]=Math.sign(e[2]),t}function f(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t}function m(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t}function g(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}function y(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t}function _(t,e){const n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(n*n+r*r+i*i)}function x(t,e){const n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return n*n+r*r+i*i}function v(t){const e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r}function M(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function w(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function b(t,e){const n=e[0],r=e[1],i=e[2];let o=n*n+r*r+i*i;return o>0&&(o=1/Math.sqrt(o),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o),t}function A(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function S(t,e,n){const r=e[0],i=e[1],o=e[2],s=n[0],a=n[1],l=n[2];return t[0]=i*l-o*a,t[1]=o*s-r*l,t[2]=r*a-i*s,t}function P(t,e,n,r){const i=e[0],o=e[1],s=e[2];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t[2]=s+r*(n[2]-s),t}function I(t,e,n){const r=e[0],i=e[1],o=e[2];return t[0]=n[0]*r+n[4]*i+n[8]*o+n[12],t[1]=n[1]*r+n[5]*i+n[9]*o+n[13],t[2]=n[2]*r+n[6]*i+n[10]*o+n[14],t}function O(t,e,n){const r=e[0],i=e[1],o=e[2];return t[0]=r*n[0]+i*n[3]+o*n[6],t[1]=r*n[1]+i*n[4]+o*n[7],t[2]=r*n[2]+i*n[5]+o*n[8],t}function E(t,e,n){const r=n[0],i=n[1],o=n[2],s=n[3],a=e[0],l=e[1],u=e[2],c=i*u-o*l,h=o*a-r*u,p=r*l-i*a,d=i*p-o*h,f=o*c-r*p,m=r*h-i*c,g=2*s;return t[0]=a+c*g+2*d,t[1]=l+h*g+2*f,t[2]=u+p*g