/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{a as x}from"./2GLF4DQN.js";import{k as y,u as m,v as h,w as v,z as E}from"./IWZQMWZ5.js";export default $arcgis.t(([{on:C,watch:w},{createObservable:b,trackAccess:g},{property:P,subclass:k},A])=>{var U=(o,e)=>{let t=y().manager;t.onLoaded(()=>t.onLifecycle(()=>C(o,e,n.emit)));let n=v();return n},V=(o,e)=>r=>O(r,o),u=class extends E{constructor(e,r){super(e),this.Y=new Map,this.A=void 0,this.#o=b();let t=this;t.#e=r,t.Z(),t.setProvisionalExports($(e,new WeakRef(t),e.M.length-1,t.instance,t.Y),!1),m(e,n=>{if(n){let c=w(()=>e[n],s=>{if(s===t.instance)return;let i=t.instance;t.exports=s,t.instance=s,t.Y.forEach((a,l)=>e.requestUpdate(a,i[l])),t.#t&&i.destroy(),t.#t=!1},{sync:!0});t.onDestroy(c.remove)}},t.exports)}#t;#o;#e;get exports(){return g(this.#o),super.exports}set exports(e){super.exports=e,this.#o.notify()}Z(){let e=this;e.instance="prototype"in e.#e&&"declaredClass"in e.#e.prototype?new e.#e:e.#e(),e.#t=!0}hostConnected(){this.exports=this.instance}hostDestroy(){this.#t&&this.instance.destroy?.()}},O=x(u),$=(o,e,r,t,n)=>new Proxy(t,{get:(c,s)=>{let i=c[s];if(typeof s=="symbol"||n.has(s))return i;let a=o.M[r];return a.A=s,h(o,l=>{if(a.A=void 0,l!==void 0){let p=l.key;n.set(s,p);let d=o.constructor.getPropertyOptions(p),f=s!==p&&p.toLowerCase().includes("disable");M(e,d,s,p,f),d.i===void 0&&N(d,r,s,f)}},i)}}),M=(o,e,r,t,n,c)=>c=w(()=>{let s=o.deref();return s===void 0||s.component.manager.destroyed?c=c.remove():s.exports[r]},(s,i)=>{if(!c)return;o.deref().component?.requestUpdate(t,n?!i:i),e.c=!1},{sync:!0}),N=(o,e,r,t)=>{o.d.get=function(){let n=this.M[e]?.exports[r];return t?!n:n},o.d.set=function(n){let c=this.M[e];c.A!==r&&(c.exports[r]=t?!n:n)}},Z=o=>o.Y,q=(o,e)=>{let r=e.manager.useRefSync(o);r?.hostDestroy(),r?.Z(),r?.hostConnected()},G=o=>{let e=class extends A{},r=typeof o=="function"?o():o,t=Object.getOwnPropertyDescriptors(r);for(let[c,s]of Object.entries(t))Object.defineProperty(e.prototype,c,s),P()(e.prototype,c);let n=k()(e);return new n};return{a:U,b:V,c:u,d:$,e:Z,f:q,g:G}},"core/reactiveUtils","applications/Components/reactiveUtils","core/accessorSupport/decorators","core/Accessor")