tressi
Version:
Deterministic load testing for API performance validation.
3 lines • 128 kB
JavaScript
import{$a as bi,Aa as hi,B as Ht,Ba as fi,Bb as Ti,Bc as j,C as Te,Ca as pi,D as He,Da as gi,Ea as mi,Fa as vi,G as Vt,Ga as yi,Gb as _i,H as De,Ha as Ne,Hb as Mi,Hc as Ui,I as Hn,Ib as Ii,Ja as Di,K as si,L as z,La as Ye,M as Ve,Ma as wi,N as J,Na as Yt,O as y,Oa as Kn,P as _e,Qa as Xn,R as p,S as Me,Sa as Ci,T as ai,Ta as Ze,U as D,Ua as k,V as g,Va as Ei,W as l,X as gt,Y as ui,Ya as Zt,Z as K,Za as Si,_ as L,_a as Kt,ab as Pe,b as ti,ba as le,bb as we,c as ni,ca as T,cb as Jn,cc as Oi,d as ze,da as de,e as ce,ea as ci,ec as R,f as Y,fa as Ie,fb as Qn,fc as Q,ga as Ge,gb as er,gc as Fi,h as Z,ha as Vn,hb as tr,i as N,ia as mt,ib as nr,ic as Ni,j as m,jb as rr,k as ri,ka as b,kb as Ri,kc as Pi,l as $n,la as Gn,m as ii,n as A,na as Oe,o as zn,oa as Gt,p as re,pa as qn,pc as Ke,q as pt,qa as qe,qc as Li,r as oi,ra as li,rc as ki,s as zt,sa as Wn,sc as vt,ta as di,ua as qt,ub as Ai,va as Yn,wa as Zn,wc as xi,xa as Wt,ya as Fe,z as $,za as We}from"./chunk-W6IDPYNF.js";import{a as h,b as I}from"./chunk-I4MTPUBM.js";function yt(t,r){r=encodeURIComponent(r);for(let e of t.split(";")){let n=e.indexOf("="),[i,o]=n==-1?[e,""]:[e.slice(0,n),e.slice(n+1)];if(i.trim()===r)return decodeURIComponent(o)}return null}var Le=class{};var ji=null;function he(){return ji}function ir(t){ji??=t}var Dt=class{},pe=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>l(Bi),providedIn:"platform"})}return t})(),or=new D(""),Bi=(()=>{class t extends pe{_location;_history;_doc=l(T);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return he().getBaseHref(this._doc)}onPopState(e){let n=he().getGlobalEventTarget(this._doc,"window");return n.addEventListener("popstate",e,!1),()=>n.removeEventListener("popstate",e)}onHashChange(e){let n=he().getGlobalEventTarget(this._doc,"window");return n.addEventListener("hashchange",e,!1),()=>n.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,n,i){this._history.pushState(e,n,i)}replaceState(e,n,i){this._history.replaceState(e,n,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>new t,providedIn:"platform"})}return t})();var Ce=class t{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(r){r?typeof r=="string"?this.lazyInit=()=>{this.headers=new Map,r.split(`
`).forEach(e=>{let n=e.indexOf(":");if(n>0){let i=e.slice(0,n),o=e.slice(n+1).trim();this.addHeaderEntry(i,o)}})}:typeof Headers<"u"&&r instanceof Headers?(this.headers=new Map,r.forEach((e,n)=>{this.addHeaderEntry(n,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(r).forEach(([e,n])=>{this.setHeaderEntries(e,n)})}:this.headers=new Map}has(r){return this.init(),this.headers.has(r.toLowerCase())}get(r){this.init();let e=this.headers.get(r.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(r){return this.init(),this.headers.get(r.toLowerCase())||null}append(r,e){return this.clone({name:r,value:e,op:"a"})}set(r,e){return this.clone({name:r,value:e,op:"s"})}delete(r,e){return this.clone({name:r,value:e,op:"d"})}maybeSetNormalizedName(r,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,r)}init(){this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(r=>this.applyUpdate(r)),this.lazyUpdate=null))}copyFrom(r){r.init(),Array.from(r.headers.keys()).forEach(e=>{this.headers.set(e,r.headers.get(e)),this.normalizedNames.set(e,r.normalizedNames.get(e))})}clone(r){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([r]),e}applyUpdate(r){let e=r.name.toLowerCase();switch(r.op){case"a":case"s":let n=r.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(r.name,e);let i=(r.op==="a"?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":let o=r.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(r,e){let n=r.toLowerCase();this.maybeSetNormalizedName(r,n),this.headers.has(n)?this.headers.get(n).push(e):this.headers.set(n,[e])}setHeaderEntries(r,e){let n=(Array.isArray(e)?e:[e]).map(o=>o.toString()),i=r.toLowerCase();this.headers.set(i,n),this.maybeSetNormalizedName(r,i)}forEach(r){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>r(this.normalizedNames.get(e),this.headers.get(e)))}};var Jt=class{map=new Map;set(r,e){return this.map.set(r,e),this}get(r){return this.map.has(r)||this.map.set(r,r.defaultValue()),this.map.get(r)}delete(r){return this.map.delete(r),this}has(r){return this.map.has(r)}keys(){return this.map.keys()}},Qt=class{encodeKey(r){return $i(r)}encodeValue(r){return $i(r)}decodeKey(r){return decodeURIComponent(r)}decodeValue(r){return decodeURIComponent(r)}};function Ds(t,r){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(i=>{let o=i.indexOf("="),[s,a]=o==-1?[r.decodeKey(i),""]:[r.decodeKey(i.slice(0,o)),r.decodeValue(i.slice(o+1))],u=e.get(s)||[];u.push(a),e.set(s,u)}),e}var ws=/%(\d[a-f0-9])/gi,Cs={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function $i(t){return encodeURIComponent(t).replace(ws,(r,e)=>Cs[e]??r)}function Xt(t){return`${t}`}var ge=class t{map;encoder;updates=null;cloneFrom=null;constructor(r={}){if(this.encoder=r.encoder||new Qt,r.fromString){if(r.fromObject)throw new y(2805,!1);this.map=Ds(r.fromString,this.encoder)}else r.fromObject?(this.map=new Map,Object.keys(r.fromObject).forEach(e=>{let n=r.fromObject[e],i=Array.isArray(n)?n.map(Xt):[Xt(n)];this.map.set(e,i)})):this.map=null}has(r){return this.init(),this.map.has(r)}get(r){this.init();let e=this.map.get(r);return e?e[0]:null}getAll(r){return this.init(),this.map.get(r)||null}keys(){return this.init(),Array.from(this.map.keys())}append(r,e){return this.clone({param:r,value:e,op:"a"})}appendAll(r){let e=[];return Object.keys(r).forEach(n=>{let i=r[n];Array.isArray(i)?i.forEach(o=>{e.push({param:n,value:o,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(r,e){return this.clone({param:r,value:e,op:"s"})}delete(r,e){return this.clone({param:r,value:e,op:"d"})}toString(){return this.init(),this.keys().map(r=>{let e=this.encoder.encodeKey(r);return this.map.get(r).map(n=>e+"="+this.encoder.encodeValue(n)).join("&")}).filter(r=>r!=="").join("&")}clone(r){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(r),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(r=>this.map.set(r,this.cloneFrom.map.get(r))),this.updates.forEach(r=>{switch(r.op){case"a":case"s":let e=(r.op==="a"?this.map.get(r.param):void 0)||[];e.push(Xt(r.value)),this.map.set(r.param,e);break;case"d":if(r.value!==void 0){let n=this.map.get(r.param)||[],i=n.indexOf(Xt(r.value));i!==-1&&n.splice(i,1),n.length>0?this.map.set(r.param,n):this.map.delete(r.param)}else{this.map.delete(r.param);break}}}),this.cloneFrom=this.updates=null)}};function Es(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function zi(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function Hi(t){return typeof Blob<"u"&&t instanceof Blob}function Vi(t){return typeof FormData<"u"&&t instanceof FormData}function Ss(t){return typeof URLSearchParams<"u"&&t instanceof URLSearchParams}var Gi="Content-Type",qi="Accept",Wi="text/plain",Yi="application/json",bs=`${Yi}, ${Wi}, */*`,Xe=class t{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;referrerPolicy;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(r,e,n,i){this.url=e,this.method=r.toUpperCase();let o;if(Es(this.method)||i?(this.body=n!==void 0?n:null,o=i):o=n,o){if(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,this.keepalive=!!o.keepalive,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),o.priority&&(this.priority=o.priority),o.cache&&(this.cache=o.cache),o.credentials&&(this.credentials=o.credentials),typeof o.timeout=="number"){if(o.timeout<1||!Number.isInteger(o.timeout))throw new y(2822,"");this.timeout=o.timeout}o.mode&&(this.mode=o.mode),o.redirect&&(this.redirect=o.redirect),o.integrity&&(this.integrity=o.integrity),o.referrer&&(this.referrer=o.referrer),o.referrerPolicy&&(this.referrerPolicy=o.referrerPolicy),this.transferCache=o.transferCache}if(this.headers??=new Ce,this.context??=new Jt,!this.params)this.params=new ge,this.urlWithParams=e;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=e;else{let a=e.indexOf("?"),u=a===-1?"?":a<e.length-1?"&":"";this.urlWithParams=e+u+s}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||zi(this.body)||Hi(this.body)||Vi(this.body)||Ss(this.body)?this.body:this.body instanceof ge?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||Vi(this.body)?null:Hi(this.body)?this.body.type||null:zi(this.body)?null:typeof this.body=="string"?Wi:this.body instanceof ge?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Yi:null}clone(r={}){let e=r.method||this.method,n=r.url||this.url,i=r.responseType||this.responseType,o=r.keepalive??this.keepalive,s=r.priority||this.priority,a=r.cache||this.cache,u=r.mode||this.mode,c=r.redirect||this.redirect,d=r.credentials||this.credentials,f=r.referrer||this.referrer,w=r.integrity||this.integrity,q=r.referrerPolicy||this.referrerPolicy,U=r.transferCache??this.transferCache,W=r.timeout??this.timeout,C=r.body!==void 0?r.body:this.body,S=r.withCredentials??this.withCredentials,F=r.reportProgress??this.reportProgress,X=r.headers||this.headers,M=r.params||this.params,ht=r.context??this.context;return r.setHeaders!==void 0&&(X=Object.keys(r.setHeaders).reduce((ft,Ae)=>ft.set(Ae,r.setHeaders[Ae]),X)),r.setParams&&(M=Object.keys(r.setParams).reduce((ft,Ae)=>ft.set(Ae,r.setParams[Ae]),M)),new t(e,n,C,{params:M,headers:X,context:ht,reportProgress:F,responseType:i,withCredentials:S,transferCache:U,keepalive:o,cache:a,priority:s,timeout:W,mode:u,redirect:c,credentials:d,referrer:f,integrity:w,referrerPolicy:q})}},ke=(function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t})(ke||{}),Qe=class{headers;status;statusText;url;ok;type;redirected;responseType;constructor(r,e=200,n="OK"){this.headers=r.headers||new Ce,this.status=r.status!==void 0?r.status:e,this.statusText=r.statusText||n,this.url=r.url||null,this.redirected=r.redirected,this.responseType=r.responseType,this.ok=this.status>=200&&this.status<300}},en=class t extends Qe{constructor(r={}){super(r)}type=ke.ResponseHeader;clone(r={}){return new t({headers:r.headers||this.headers,status:r.status!==void 0?r.status:this.status,statusText:r.statusText||this.statusText,url:r.url||this.url||void 0})}},wt=class t extends Qe{body;constructor(r={}){super(r),this.body=r.body!==void 0?r.body:null}type=ke.Response;clone(r={}){return new t({body:r.body!==void 0?r.body:this.body,headers:r.headers||this.headers,status:r.status!==void 0?r.status:this.status,statusText:r.statusText||this.statusText,url:r.url||this.url||void 0,redirected:r.redirected??this.redirected,responseType:r.responseType??this.responseType})}},Je=class extends Qe{name="HttpErrorResponse";message;error;ok=!1;constructor(r){super(r,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${r.url||"(unknown url)"}`:this.message=`Http failure response for ${r.url||"(unknown url)"}: ${r.status} ${r.statusText}`,this.error=r.error||null}},Rs=200,As=204;var Ts=new D("");var _s=/^\)\]\}',?\n/;var ar=(()=>{class t{xhrFactory;tracingService=l(Yt,{optional:!0});constructor(e){this.xhrFactory=e}maybePropagateTrace(e){return this.tracingService?.propagate?this.tracingService.propagate(e):e}handle(e){if(e.method==="JSONP")throw new y(-2800,!1);let n=this.xhrFactory;return m(null).pipe(z(()=>new ze(o=>{let s=n.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((C,S)=>s.setRequestHeader(C,S.join(","))),e.headers.has(qi)||s.setRequestHeader(qi,bs),!e.headers.has(Gi)){let C=e.detectContentTypeHeader();C!==null&&s.setRequestHeader(Gi,C)}if(e.timeout&&(s.timeout=e.timeout),e.responseType){let C=e.responseType.toLowerCase();s.responseType=C!=="json"?C:"text"}let a=e.serializeBody(),u=null,c=()=>{if(u!==null)return u;let C=s.statusText||"OK",S=new Ce(s.getAllResponseHeaders()),F=s.responseURL||e.url;return u=new en({headers:S,status:s.status,statusText:C,url:F}),u},d=this.maybePropagateTrace(()=>{let{headers:C,status:S,statusText:F,url:X}=c(),M=null;S!==As&&(M=typeof s.response>"u"?s.responseText:s.response),S===0&&(S=M?Rs:0);let ht=S>=200&&S<300;if(e.responseType==="json"&&typeof M=="string"){let ft=M;M=M.replace(_s,"");try{M=M!==""?JSON.parse(M):null}catch(Ae){M=ft,ht&&(ht=!1,M={error:Ae,text:M})}}ht?(o.next(new wt({body:M,headers:C,status:S,statusText:F,url:X||void 0})),o.complete()):o.error(new Je({error:M,headers:C,status:S,statusText:F,url:X||void 0}))}),f=this.maybePropagateTrace(C=>{let{url:S}=c(),F=new Je({error:C,status:s.status||0,statusText:s.statusText||"Unknown Error",url:S||void 0});o.error(F)}),w=f;e.timeout&&(w=this.maybePropagateTrace(C=>{let{url:S}=c(),F=new Je({error:new DOMException("Request timed out","TimeoutError"),status:s.status||0,statusText:s.statusText||"Request timeout",url:S||void 0});o.error(F)}));let q=!1,U=this.maybePropagateTrace(C=>{q||(o.next(c()),q=!0);let S={type:ke.DownloadProgress,loaded:C.loaded};C.lengthComputable&&(S.total=C.total),e.responseType==="text"&&s.responseText&&(S.partialText=s.responseText),o.next(S)}),W=this.maybePropagateTrace(C=>{let S={type:ke.UploadProgress,loaded:C.loaded};C.lengthComputable&&(S.total=C.total),o.next(S)});return s.addEventListener("load",d),s.addEventListener("error",f),s.addEventListener("timeout",w),s.addEventListener("abort",f),e.reportProgress&&(s.addEventListener("progress",U),a!==null&&s.upload&&s.upload.addEventListener("progress",W)),s.send(a),o.next({type:ke.Sent}),()=>{s.removeEventListener("error",f),s.removeEventListener("abort",f),s.removeEventListener("load",d),s.removeEventListener("timeout",w),e.reportProgress&&(s.removeEventListener("progress",U),a!==null&&s.upload&&s.upload.removeEventListener("progress",W)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(n){return new(n||t)(g(Le))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ms(t,r){return r(t)}function Is(t,r,e){return(n,i)=>L(e,()=>r(n,o=>t(o,i)))}var Zi=new D("",{factory:()=>[]}),Ki=new D(""),Xi=new D("",{factory:()=>!0});var ur=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=g(ar),i},providedIn:"root"})}return t})();var tn=(()=>{class t{backend;injector;chain=null;pendingTasks=l(Gn);contributeToStability=l(Xi);constructor(e,n){this.backend=e,this.injector=n}handle(e){if(this.chain===null){let n=Array.from(new Set([...this.injector.get(Zi),...this.injector.get(Ki,[])]));this.chain=n.reduceRight((i,o)=>Is(i,o,this.injector),Ms)}if(this.contributeToStability){let n=this.pendingTasks.add();return this.chain(e,i=>this.backend.handle(i)).pipe(Vt(n))}else return this.chain(e,n=>this.backend.handle(n))}static \u0275fac=function(n){return new(n||t)(g(ur),g(K))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),cr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=g(tn),i},providedIn:"root"})}return t})();function sr(t,r){return{body:r,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,credentials:t.credentials,transferCache:t.transferCache,timeout:t.timeout,keepalive:t.keepalive,priority:t.priority,cache:t.cache,mode:t.mode,redirect:t.redirect,integrity:t.integrity,referrer:t.referrer,referrerPolicy:t.referrerPolicy}}var Ji=(()=>{class t{handler;constructor(e){this.handler=e}request(e,n,i={}){let o;if(e instanceof Xe)o=e;else{let u;i.headers instanceof Ce?u=i.headers:u=new Ce(i.headers);let c;i.params&&(i.params instanceof ge?c=i.params:c=new ge({fromObject:i.params})),o=new Xe(e,n,i.body!==void 0?i.body:null,{headers:u,context:i.context,params:c,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials,transferCache:i.transferCache,keepalive:i.keepalive,priority:i.priority,cache:i.cache,mode:i.mode,redirect:i.redirect,credentials:i.credentials,referrer:i.referrer,referrerPolicy:i.referrerPolicy,integrity:i.integrity,timeout:i.timeout})}let s=m(o).pipe(Te(u=>this.handler.handle(u)));if(e instanceof Xe||i.observe==="events")return s;let a=s.pipe($(u=>u instanceof wt));switch(i.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(A(u=>{if(u.body!==null&&!(u.body instanceof ArrayBuffer))throw new y(2806,!1);return u.body}));case"blob":return a.pipe(A(u=>{if(u.body!==null&&!(u.body instanceof Blob))throw new y(2807,!1);return u.body}));case"text":return a.pipe(A(u=>{if(u.body!==null&&typeof u.body!="string")throw new y(2808,!1);return u.body}));default:return a.pipe(A(u=>u.body))}case"response":return a;default:throw new y(2809,!1)}}delete(e,n={}){return this.request("DELETE",e,n)}get(e,n={}){return this.request("GET",e,n)}head(e,n={}){return this.request("HEAD",e,n)}jsonp(e,n){return this.request("JSONP",e,{params:new ge().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,n={}){return this.request("OPTIONS",e,n)}patch(e,n,i={}){return this.request("PATCH",e,sr(i,n))}post(e,n,i={}){return this.request("POST",e,sr(i,n))}put(e,n,i={}){return this.request("PUT",e,sr(i,n))}static \u0275fac=function(n){return new(n||t)(g(cr))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Os=new D("",{factory:()=>!0}),Fs="XSRF-TOKEN",Ns=new D("",{factory:()=>Fs}),Ps="X-XSRF-TOKEN",Ls=new D("",{factory:()=>Ps}),ks=(()=>{class t{cookieName=l(Ns);doc=l(T);lastCookieString="";lastToken=null;parseCount=0;getToken(){let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=yt(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Qi=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=g(ks),i},providedIn:"root"})}return t})();function xs(t,r){if(!l(Os)||t.method==="GET"||t.method==="HEAD")return r(t);try{let i=l(pe).href,{origin:o}=new URL(i),{origin:s}=new URL(t.url,o);if(o!==s)return r(t)}catch{return r(t)}let e=l(Qi).getToken(),n=l(Ls);return e!=null&&!t.headers.has(n)&&(t=t.clone({headers:t.headers.set(n,e)})),r(t)}function Us(...t){let r=[Ji,tn,{provide:cr,useExisting:tn},{provide:ur,useFactory:()=>l(Ts,{optional:!0})??l(ar)},{provide:Zi,useValue:xs,multi:!0}];for(let e of t)r.push(...e.\u0275providers);return gt(r)}function nn(t,r){return t?r?t.endsWith("/")?r.startsWith("/")?t+r.slice(1):t+r:r.startsWith("/")?t+r:`${t}/${r}`:t:r}function eo(t){let r=t.search(/#|\?|$/);return t[r-1]==="/"?t.slice(0,r-1)+t.slice(r):t}function ee(t){return t&&t[0]!=="?"?`?${t}`:t}var te=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>l(on),providedIn:"root"})}return t})(),rn=new D(""),on=(()=>{class t extends te{_platformLocation;_baseHref;_removeListenerFns=[];constructor(e,n){super(),this._platformLocation=e,this._baseHref=n??this._platformLocation.getBaseHrefFromDOM()??l(T).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return nn(this._baseHref,e)}path(e=!1){let n=this._platformLocation.pathname+ee(this._platformLocation.search),i=this._platformLocation.hash;return i&&e?`${n}${i}`:n}pushState(e,n,i,o){let s=this.prepareExternalUrl(i+ee(o));this._platformLocation.pushState(e,n,s)}replaceState(e,n,i,o){let s=this.prepareExternalUrl(i+ee(o));this._platformLocation.replaceState(e,n,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(n){return new(n||t)(g(pe),g(rn,8))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var ie=(()=>{class t{_subject=new ce;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(e){this._locationStrategy=e;let n=this._locationStrategy.getBaseHref();this._basePath=$s(eo(to(n))),this._locationStrategy.onPopState(i=>{this._subject.next({url:this.path(!0),pop:!0,state:i.state,type:i.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,n=""){return this.path()==this.normalize(e+ee(n))}normalize(e){return t.stripTrailingSlash(Bs(this._basePath,to(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,n="",i=null){this._locationStrategy.pushState(i,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ee(n)),i)}replaceState(e,n="",i=null){this._locationStrategy.replaceState(i,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ee(n)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(n=>{this._notifyUrlChangeListeners(n.url,n.state)}),()=>{let n=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(n,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",n){this._urlChangeListeners.forEach(i=>i(e,n))}subscribe(e,n,i){return this._subject.subscribe({next:e,error:n??void 0,complete:i??void 0})}static normalizeQueryParams=ee;static joinWithSlash=nn;static stripTrailingSlash=eo;static \u0275fac=function(n){return new(n||t)(g(te))};static \u0275prov=p({token:t,factory:()=>js(),providedIn:"root"})}return t})();function js(){return new ie(g(te))}function Bs(t,r){if(!t||!r.startsWith(t))return r;let e=r.substring(t.length);return e===""||["/",";","?","#"].includes(e[0])?e:r}function to(t){return t.replace(/\/index.html$/,"")}function $s(t){if(new RegExp("^(https?:)?//").test(t)){let[,e]=t.split(/\/\/[^\/]+/);return e}return t}var dr=(()=>{class t extends te{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(e,n){super(),this._platformLocation=e,n!=null&&(this._baseHref=n)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let n=this._platformLocation.hash??"#";return n.length>0?n.substring(1):n}prepareExternalUrl(e){let n=nn(this._baseHref,e);return n.length>0?"#"+n:n}pushState(e,n,i,o){let s=this.prepareExternalUrl(i+ee(o))||this._platformLocation.pathname;this._platformLocation.pushState(e,n,s)}replaceState(e,n,i,o){let s=this.prepareExternalUrl(i+ee(o))||this._platformLocation.pathname;this._platformLocation.replaceState(e,n,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(n){return new(n||t)(g(pe),g(rn,8))};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})();var lr=/\s+/,no=[],zs=(()=>{class t{_ngEl;_renderer;initialClasses=no;rawClass;stateMap=new Map;constructor(e,n){this._ngEl=e,this._renderer=n}set klass(e){this.initialClasses=e!=null?e.trim().split(lr):no}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(lr):e}ngDoCheck(){for(let n of this.initialClasses)this._updateState(n,!0);let e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(let n of e)this._updateState(n,!0);else if(e!=null)for(let n of Object.keys(e))this._updateState(n,!!e[n]);this._applyStateDiff()}_updateState(e,n){let i=this.stateMap.get(e);i!==void 0?(i.enabled!==n&&(i.changed=!0,i.enabled=n),i.touched=!0):this.stateMap.set(e,{enabled:n,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let n=e[0],i=e[1];i.changed?(this._toggleClass(n,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(n,!1),this.stateMap.delete(n)),i.touched=!1}}_toggleClass(e,n){e=e.trim(),e.length>0&&e.split(lr).forEach(i=>{n?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(n){return new(n||t)(k(qe),k(Ze))};static \u0275dir=we({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return t})();var Hs=(()=>{class t{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;injector=l(le);constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let n=this._viewContainerRef;if(this._viewRef&&n.remove(n.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let i=this._createContextForwardProxy();this._viewRef=n.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this._getInjector()})}}_getInjector(){return this.ngTemplateOutletInjector==="outlet"?this.injector:this.ngTemplateOutletInjector??void 0}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,n,i)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,n,i):!1,get:(e,n,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,n,i)}})}static \u0275fac=function(n){return new(n||t)(k(Zt))};static \u0275dir=we({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[Oe]})}return t})();function Vs(t,r){return new y(2100,!1)}var Gs=(()=>{class t{transform(e){return e==null?null:(qs(t,e),e.toLowerCase())}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=Jn({name:"lowercase",type:t,pure:!0})}return t})();function qs(t,r){if(typeof r!="string")throw Vs(t,r)}function Ws(t,r){return{key:t,value:r}}var Ys=(()=>{class t{differs;constructor(e){this.differs=e}differ;keyValues=[];compareFn=ro;transform(e,n=ro){if(!e||!(e instanceof Map)&&typeof e!="object")return null;this.differ??=this.differs.find(e).create();let i=this.differ.diff(e),o=n!==this.compareFn;return i&&(this.keyValues=[],i.forEachItem(s=>{this.keyValues.push(Ws(s.key,s.currentValue))})),(i||o)&&(n&&this.keyValues.sort(n),this.compareFn=n),this.keyValues}static \u0275fac=function(n){return new(n||t)(k(Li,16))};static \u0275pipe=Jn({name:"keyvalue",type:t,pure:!1})}return t})();function ro(t,r){let e=t.key,n=r.key;if(e===n)return 0;if(e==null)return 1;if(n==null)return-1;if(typeof e=="string"&&typeof n=="string")return e<n?-1:1;if(typeof e=="number"&&typeof n=="number")return e-n;if(typeof e=="boolean"&&typeof n=="boolean")return e<n?-1:1;let i=String(e),o=String(n);return i==o?0:i<o?-1:1}var io=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=Pe({type:t});static \u0275inj=Me({})}return t})();var fr="browser";function zd(t){return t===fr}var pr=(()=>{class t{static \u0275prov=p({token:t,providedIn:"root",factory:()=>new hr(l(T),window)})}return t})(),hr=class{document;window;offset=()=>[0,0];constructor(r,e){this.document=r,this.window=e}setOffset(r){Array.isArray(r)?this.offset=()=>r:this.offset=r}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(r,e){this.window.scrollTo(I(h({},e),{left:r[0],top:r[1]}))}scrollToAnchor(r,e){let n=Js(this.document,r);n&&(this.scrollToElement(n,e),n.focus())}setHistoryScrollRestoration(r){try{this.window.history.scrollRestoration=r}catch{console.warn(_e(2400,!1))}}scrollToElement(r,e){let n=r.getBoundingClientRect(),i=n.left+this.window.pageXOffset,o=n.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(I(h({},e),{left:i-s[0],top:o-s[1]}))}};function Js(t,r){let e=t.getElementById(r)||t.getElementsByName(r)[0];if(e)return e;if(typeof t.createTreeWalker=="function"&&t.body&&typeof t.body.attachShadow=="function"){let n=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT),i=n.currentNode;for(;i;){let o=i.shadowRoot;if(o){let s=o.getElementById(r)||o.querySelector(`[name="${r}"]`);if(s)return s}i=n.nextNode()}}return null}var Ct=class{_doc;constructor(r){this._doc=r}manager},sn=(()=>{class t extends Ct{constructor(e){super(e)}supports(e){return!0}addEventListener(e,n,i,o){return e.addEventListener(n,i,o),()=>this.removeEventListener(e,n,i,o)}removeEventListener(e,n,i,o){return e.removeEventListener(n,i,o)}static \u0275fac=function(n){return new(n||t)(g(T))};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})(),cn=new D(""),yr=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,n){this._zone=n,e.forEach(s=>{s.manager=this});let i=e.filter(s=>!(s instanceof sn));this._plugins=i.slice().reverse();let o=e.find(s=>s instanceof sn);o&&this._plugins.push(o)}addEventListener(e,n,i,o){return this._findPluginFor(n).addEventListener(e,n,i,o)}getZone(){return this._zone}_findPluginFor(e){let n=this._eventNameToPlugin.get(e);if(n)return n;if(n=this._plugins.find(o=>o.supports(e)),!n)throw new y(5101,!1);return this._eventNameToPlugin.set(e,n),n}static \u0275fac=function(n){return new(n||t)(g(cn),g(Ge))};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})(),gr="ng-app-id";function oo(t){for(let r of t)r.remove()}function so(t,r){let e=r.createElement("style");return e.textContent=t,e}function ea(t,r,e,n){let i=t.head?.querySelectorAll(`style[${gr}="${r}"],link[${gr}="${r}"]`);if(i)for(let o of i)o.removeAttribute(gr),o instanceof HTMLLinkElement?n.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&e.set(o.textContent,{usage:0,elements:[o]})}function vr(t,r){let e=r.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),e}var Dr=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,n,i,o={}){this.doc=e,this.appId=n,this.nonce=i,ea(e,n,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,n){for(let i of e)this.addUsage(i,this.inline,so);n?.forEach(i=>this.addUsage(i,this.external,vr))}removeStyles(e,n){for(let i of e)this.removeUsage(i,this.inline);n?.forEach(i=>this.removeUsage(i,this.external))}addUsage(e,n,i){let o=n.get(e);o?o.usage++:n.set(e,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(e,this.doc)))})}removeUsage(e,n){let i=n.get(e);i&&(i.usage--,i.usage<=0&&(oo(i.elements),n.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])oo(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[n,{elements:i}]of this.inline)i.push(this.addElement(e,so(n,this.doc)));for(let[n,{elements:i}]of this.external)i.push(this.addElement(e,vr(n,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,n){return this.nonce&&n.setAttribute("nonce",this.nonce),e.appendChild(n)}static \u0275fac=function(n){return new(n||t)(g(T),g(Wn),g(Yn,8),g(qt))};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})(),mr={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},wr=/%COMP%/g;var uo="%COMP%",ta=`_nghost-${uo}`,na=`_ngcontent-${uo}`,ra=!0,ia=new D("",{factory:()=>ra});function oa(t){return na.replace(wr,t)}function sa(t){return ta.replace(wr,t)}function co(t,r){return r.map(e=>e.replace(wr,t))}var Cr=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;constructor(e,n,i,o,s,a,u=null,c=null){this.eventManager=e,this.sharedStylesHost=n,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.ngZone=a,this.nonce=u,this.tracingService=c,this.defaultRenderer=new Et(e,s,a,this.tracingService)}createRenderer(e,n){if(!e||!n)return this.defaultRenderer;let i=this.getOrCreateRenderer(e,n);return i instanceof un?i.applyToHost(e):i instanceof St&&i.applyStyles(),i}getOrCreateRenderer(e,n){let i=this.rendererByCompId,o=i.get(n.id);if(!o){let s=this.doc,a=this.ngZone,u=this.eventManager,c=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,f=this.tracingService;switch(n.encapsulation){case Wt.Emulated:o=new un(u,c,n,this.appId,d,s,a,f);break;case Wt.ShadowDom:return new an(u,e,n,s,a,this.nonce,f,c);case Wt.ExperimentalIsolatedShadowDom:return new an(u,e,n,s,a,this.nonce,f);default:o=new St(u,c,n,d,s,a,f);break}i.set(n.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(n){return new(n||t)(g(yr),g(Dr),g(Wn),g(ia),g(T),g(Ge),g(Yn),g(Yt,8))};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})(),Et=class{eventManager;doc;ngZone;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(r,e,n,i){this.eventManager=r,this.doc=e,this.ngZone=n,this.tracingService=i}destroy(){}destroyNode=null;createElement(r,e){return e?this.doc.createElementNS(mr[e]||e,r):this.doc.createElement(r)}createComment(r){return this.doc.createComment(r)}createText(r){return this.doc.createTextNode(r)}appendChild(r,e){(ao(r)?r.content:r).appendChild(e)}insertBefore(r,e,n){r&&(ao(r)?r.content:r).insertBefore(e,n)}removeChild(r,e){e.remove()}selectRootElement(r,e){let n=typeof r=="string"?this.doc.querySelector(r):r;if(!n)throw new y(-5104,!1);return e||(n.textContent=""),n}parentNode(r){return r.parentNode}nextSibling(r){return r.nextSibling}setAttribute(r,e,n,i){if(i){e=i+":"+e;let o=mr[i];o?r.setAttributeNS(o,e,n):r.setAttribute(e,n)}else r.setAttribute(e,n)}removeAttribute(r,e,n){if(n){let i=mr[n];i?r.removeAttributeNS(i,e):r.removeAttribute(`${n}:${e}`)}else r.removeAttribute(e)}addClass(r,e){r.classList.add(e)}removeClass(r,e){r.classList.remove(e)}setStyle(r,e,n,i){i&(Ye.DashCase|Ye.Important)?r.style.setProperty(e,n,i&Ye.Important?"important":""):r.style[e]=n}removeStyle(r,e,n){n&Ye.DashCase?r.style.removeProperty(e):r.style[e]=""}setProperty(r,e,n){r!=null&&(r[e]=n)}setValue(r,e){r.nodeValue=e}listen(r,e,n,i){if(typeof r=="string"&&(r=he().getGlobalEventTarget(this.doc,r),!r))throw new y(5102,!1);let o=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(r,e,o)),this.eventManager.addEventListener(r,e,o,i)}decoratePreventDefault(r){return e=>{if(e==="__ngUnwrap__")return r;r(e)===!1&&e.preventDefault()}}};function ao(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var an=class extends Et{hostEl;sharedStylesHost;shadowRoot;constructor(r,e,n,i,o,s,a,u){super(r,i,o,a),this.hostEl=e,this.sharedStylesHost=u,this.shadowRoot=e.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let c=n.styles;c=co(n.id,c);for(let f of c){let w=document.createElement("style");s&&w.setAttribute("nonce",s),w.textContent=f,this.shadowRoot.appendChild(w)}let d=n.getExternalStyles?.();if(d)for(let f of d){let w=vr(f,i);s&&w.setAttribute("nonce",s),this.shadowRoot.appendChild(w)}}nodeOrShadowRoot(r){return r===this.hostEl?this.shadowRoot:r}appendChild(r,e){return super.appendChild(this.nodeOrShadowRoot(r),e)}insertBefore(r,e,n){return super.insertBefore(this.nodeOrShadowRoot(r),e,n)}removeChild(r,e){return super.removeChild(null,e)}parentNode(r){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(r)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},St=class extends Et{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(r,e,n,i,o,s,a,u){super(r,o,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=i;let c=n.styles;this.styles=u?co(u,c):c,this.styleUrls=n.getExternalStyles?.(u)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&wi.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},un=class extends St{contentAttr;hostAttr;constructor(r,e,n,i,o,s,a,u){let c=i+"-"+n.id;super(r,e,n,o,s,a,u,c),this.contentAttr=oa(c),this.hostAttr=sa(c)}applyToHost(r){this.applyStyles(),this.setAttribute(r,this.hostAttr,"")}createElement(r,e){let n=super.createElement(r,e);return super.setAttribute(n,this.contentAttr,""),n}};var ln=class t extends Dt{supportsDOMEvents=!0;static makeCurrent(){ir(new t)}onAndCancel(r,e,n,i){return r.addEventListener(e,n,i),()=>{r.removeEventListener(e,n,i)}}dispatchEvent(r,e){r.dispatchEvent(e)}remove(r){r.remove()}createElement(r,e){return e=e||this.getDefaultDocument(),e.createElement(r)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(r){return r.nodeType===Node.ELEMENT_NODE}isShadowRoot(r){return r instanceof DocumentFragment}getGlobalEventTarget(r,e){return e==="window"?window:e==="document"?r:e==="body"?r.body:null}getBaseHref(r){let e=ua();return e==null?null:ca(e)}resetBaseElement(){bt=null}getUserAgent(){return window.navigator.userAgent}getCookie(r){return yt(document.cookie,r)}},bt=null;function ua(){return bt=bt||document.head.querySelector("base"),bt?bt.getAttribute("href"):null}function ca(t){return new URL(t,document.baseURI).pathname}var la=(()=>{class t{build(){return new XMLHttpRequest}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})(),lo=["alt","control","meta","shift"],da={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ha={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},ho=(()=>{class t extends Ct{constructor(e){super(e)}supports(e){return t.parseEventName(e)!=null}addEventListener(e,n,i,o){let s=t.parseEventName(n),a=t.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>he().onAndCancel(e,s.domEventName,a,o))}static parseEventName(e){let n=e.toLowerCase().split("."),i=n.shift();if(n.length===0||!(i==="keydown"||i==="keyup"))return null;let o=t._normalizeKey(n.pop()),s="",a=n.indexOf("code");if(a>-1&&(n.splice(a,1),s="code."),lo.forEach(c=>{let d=n.indexOf(c);d>-1&&(n.splice(d,1),s+=c+".")}),s+=o,n.length!=0||o.length===0)return null;let u={};return u.domEventName=i,u.fullKey=s,u}static matchEventFullKeyCode(e,n){let i=da[e.key]||e.key,o="";return n.indexOf("code.")>-1&&(i=e.code,o="code."),i==null||!i?!1:(i=i.toLowerCase(),i===" "?i="space":i==="."&&(i="dot"),lo.forEach(s=>{if(s!==i){let a=ha[s];a(e)&&(o+=s+".")}}),o+=i,o===n)}static eventCallback(e,n,i){return o=>{t.matchEventFullKeyCode(o,e)&&i.runGuarded(()=>n(o))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(n){return new(n||t)(g(T))};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})();async function fa(t,r,e){let n=h({rootComponent:t},pa(r,e));return ki(n)}function pa(t,r){return{platformRef:r?.platformRef,appProviders:[...Da,...t?.providers??[]],platformProviders:ya}}function ga(){ln.makeCurrent()}function ma(){return new Vn}function va(){return li(document),document}var ya=[{provide:qt,useValue:fr},{provide:di,useValue:ga,multi:!0},{provide:T,useFactory:va}];var Da=[{provide:ui,useValue:"root"},{provide:Vn,useFactory:ma},{provide:cn,useClass:sn,multi:!0},{provide:cn,useClass:ho,multi:!0},Cr,Dr,yr,{provide:Ci,useExisting:Cr},{provide:Le,useClass:la},[]];var fo=(()=>{class t{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(n){return new(n||t)(g(T))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Ca=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=g(Ea),i},providedIn:"root"})}return t})(),Ea=(()=>{class t extends Ca{_doc;constructor(e){super(),this._doc=e}sanitize(e,n){if(n==null)return null;switch(e){case Ne.NONE:return n;case Ne.HTML:return We(n,"HTML")?Fe(n):yi(this._doc,String(n)).toString();case Ne.STYLE:return We(n,"Style")?Fe(n):n;case Ne.SCRIPT:if(We(n,"Script"))return Fe(n);throw new y(5200,!1);case Ne.URL:return We(n,"URL")?Fe(n):vi(String(n));case Ne.RESOURCE_URL:if(We(n,"ResourceURL"))return Fe(n);throw new y(5201,!1);default:throw new y(5202,!1)}}bypassSecurityTrustHtml(e){return hi(e)}bypassSecurityTrustStyle(e){return fi(e)}bypassSecurityTrustScript(e){return pi(e)}bypassSecurityTrustUrl(e){return gi(e)}bypassSecurityTrustResourceUrl(e){return mi(e)}static \u0275fac=function(n){return new(n||t)(g(T))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var v="primary",xt=Symbol("RouteTitle"),Ar=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function Ue(t){return new Ar(t)}function Er(t,r,e){for(let n=0;n<t.length;n++){let i=t[n],o=r[n];if(i[0]===":")e[i.substring(1)]=o;else if(i!==o.path)return!1}return!0}function wo(t,r,e){let n=e.path.split("/"),i=n.indexOf("**");if(i===-1){if(n.length>t.length||e.pathMatch==="full"&&(r.hasChildren()||n.length<t.length))return null;let u={},c=t.slice(0,n.length);return Er(n,c,u)?{consumed:c,posParams:u}:null}if(i!==n.lastIndexOf("**"))return null;let o=n.slice(0,i),s=n.slice(i+1);if(o.length+s.length>t.length||e.pathMatch==="full"&&r.hasChildren()&&e.path!=="**")return null;let a={};return!Er(o,t.slice(0,o.length),a)||!Er(s,t.slice(t.length-s.length),a)?null:{consumed:t,posParams:a}}function mn(t){return new Promise((r,e)=>{t.pipe(De()).subscribe({next:n=>r(n),error:n=>e(n)})})}function ba(t,r){if(t.length!==r.length)return!1;for(let e=0;e<t.length;++e)if(!oe(t[e],r[e]))return!1;return!0}function oe(t,r){let e=t?Tr(t):void 0,n=r?Tr(r):void 0;if(!e||!n||e.length!=n.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!Co(t[i],r[i]))return!1;return!0}function Tr(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Co(t,r){if(Array.isArray(t)&&Array.isArray(r)){if(t.length!==r.length)return!1;let e=[...t].sort(),n=[...r].sort();return e.every((i,o)=>n[o]===i)}else return t===r}function Ra(t){return t.length>0?t[t.length-1]:null}function je(t){return $n(t)?t:er(t)?N(Promise.resolve(t)):m(t)}function Eo(t){return $n(t)?mn(t):Promise.resolve(t)}var Aa={exact:bo,subset:Ro},So={exact:Ta,subset:_a,ignored:()=>!0},$r={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Mt={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function zr(t,r,e){let n=t instanceof x?t:r.parseUrl(t);return Q(()=>_r(r.lastSuccessfulNavigation()?.finalUrl??new x,n,h(h({},Mt),e)))}function _r(t,r,e){return Aa[e.paths](t.root,r.root,e.matrixParams)&&So[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function Ta(t,r){return oe(t,r)}function bo(t,r,e){if(!xe(t.segments,r.segments)||!fn(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!bo(t.children[n],r.children[n],e))return!1;return!0}function _a(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>Co(t[e],r[e]))}function Ro(t,r,e){return Ao(t,r,r.segments,e)}function Ao(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!xe(i,e)||r.hasChildren()||!fn(i,e,n))}else if(t.segments.length===e.length){if(!xe(t.segments,e)||!fn(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!Ro(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!xe(t.segments,i)||!fn(t.segments,i,n)||!t.children[v]?!1:Ao(t.children[v],r,o,n)}}function fn(t,r,e){return r.every((n,i)=>So[e](t[i].parameters,n.parameters))}var x=class{root;queryParams;fragment;_queryParamMap;constructor(r=new E([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap??=Ue(this.queryParams),this._queryParamMap}toString(){return Oa.serialize(this)}},E=class{segments;children;parent=null;constructor(r,e){this.segments=r,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return pn(this)}},Ee=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){return this._parameterMap??=Ue(this.parameters),this._parameterMap}toString(){return _o(this)}};function Ma(t,r){return xe(t,r)&&t.every((e,n)=>oe(e.parameters,r[n].parameters))}function xe(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function Ia(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===v&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==v&&(e=e.concat(r(i,n)))}),e}var be=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>new ve,providedIn:"root"})}return t})(),ve=class{parse(r){let e=new Ir(r);return new x(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${Rt(r.root,!0)}`,n=Pa(r.queryParams),i=typeof r.fragment=="string"?`#${Fa(r.fragment)}`:"";return`${e}${n}${i}`}},Oa=new ve;function pn(t){return t.segments.map(r=>_o(r)).join("/")}function Rt(t,r){if(!t.hasChildren())return pn(t);if(r){let e=t.children[v]?Rt(t.children[v],!1):"",n=[];return Object.entries(t.children).forEach(([i,o])=>{i!==v&&n.push(`${i}:${Rt(o,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=Ia(t,(n,i)=>i===v?[Rt(t.children[v],!1)]:[`${i}:${Rt(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[v]!=null?`${pn(t)}/${e[0]}`:`${pn(t)}/(${e.join("//")})`}}function To(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function dn(t){return To(t).replace(/%3B/gi,";")}function Fa(t){return encodeURI(t)}function Mr(t){return To(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function gn(t){return decodeURIComponent(t)}function po(t){return gn(t.replace(/\+/g,"%20"))}function _o(t){return`${Mr(t.path)}${Na(t.parameters)}`}function Na(t){return Object.entries(t).map(([r,e])=>`;${Mr(r)}=${Mr(e)}`).join("")}function Pa(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${dn(e)}=${dn(i)}`).join("&"):`${dn(e)}=${dn(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var La=/^[^\/()?;#]+/;function Sr(t){let r=t.match(La);return r?r[0]:""}var ka=/^[^\/()?;=#]+/;function xa(t){let r=t.match(ka);return r?r[0]:""}var Ua=/^[^=?&#]+/;function ja(t){let r=t.match(Ua);return r?r[0]:""}var Ba=/^[^&#]+/;function $a(t){let r=t.match(Ba);return r?r[0]:""}var Ir=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new E([],{}):new E([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(r=0){if(r>50)throw new y(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0,r));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,r)),(e.length>0||Object.keys(n).length>0)&&(i[v]=new E(e,n)),i}parseSegment(){let r=Sr(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new y(4009,!1);return this.capture(r),new Ee(gn(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=xa(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=Sr(this.remaining);i&&(n=i,this.capture(n))}r[gn(e)]=gn(n)}parseQueryParam(r){let e=ja(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let s=$a(this.remaining);s&&(n=s,this.capture(n))}let i=po(e),o=po(n);if(r.hasOwnProperty(i)){let s=r[i];Array.isArray(s)||(s=[s],r[i]=s),s.push(o)}else r[i]=o}parseParens(r,e){let n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=Sr(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new y(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):r&&(s=v);let a=this.parseChildren(e+1);n[s??v]=Object.keys(a).length===1&&a[v]?a[v]:new E([],a),this.consumeOptional("//")}return n}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new y(4011,!1)}};function Mo(t){return t.segments.length>0?new E([],{[v]:t}):t}function Io(t){let r={};for(let[n,i]of Object.entries(t.children)){let o=Io(i);if(n===v&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))r[s]=a;else(o.segments.length>0||o.hasChildren())&&(r[n]=o)}let e=new E(t.segments,r);return za(e)}function za(t){if(t.numberOfChildren===1&&t.children[v]){let r=t.children[v];return new E(t.segments.concat(r.segments),r.children)}return t}function Se(t){return t instanceof x}function Oo(t,r,e=null,n=null,i=new ve){let o=Fo(t);return No(o,r,e,n,i)}function Fo(t){let r;function e(o){let s={};for(let u of o.children){let c=e(u);s[u.outlet]=c}let a=new E(o.url,s);return o===t&&(r=a),a}let n=e(t.root),i=Mo(n);return r??i}function No(t,r,e,n,i){let o=t;for(;o.parent;)o=o.parent;if(r.length===0)return br(o,o,o,e,n,i);let s=Ha(r);if(s.toRoot())return br(o,o,new E([],{}),e,n,i);let a=Va(s,o,t),u=a.processChildren?Tt(a.segmentGroup,a.index,s.commands):Lo(a.segmentGroup,a.index,s.commands);return br(o,a.segmentGroup,u,e,n,i)}function vn(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function It(t){return typeof t=="object"&&t!=null&&t.outlets}function go(t,r,e){t||="\u0275";let n=new x;return n.queryParams={[t]:r},e.parse(e.serialize(n)).queryParams[t]}function br(t,r,e,n,i,o){let s={};for(let[c,d]of Object.entries(n??{}))s[c]=Array.isArray(d)?d.map(f=>go(c,f,o)):go(c,d,o);let a;t===r?a=e:a=Po(t,r,e);let u=Mo(Io(a));return new x(u,s,i)}function Po(t,r,e){let n={};return Object.entries(t.children).forEach(([i,o])=>{o===r?n[i]=e:n[i]=Po(o,r,e)}),new E(t.segments,n)}var yn=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&vn(n[0]))throw new y(4003,!1);let i=n.find(It);if(i&&i!==Ra(n))throw new y(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Ha(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new yn(!0,0,t);let r=0,e=!1,n=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([u,c])=>{a[u]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,u)=>{u==0&&a==="."||(u==0&&a===""?e=!0:a===".."?r++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new yn(e,r,n)}var tt=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function Va(t,r,e){if(t.isAbsolute)return new tt(r,!0,0);if(!e)return new tt(r,!1,NaN);if(e.parent===null)return new tt(e,!0,0);let n=vn(t.commands[0])?0:1,i=e.segments.length-1+n;return Ga(e,i,t.numberOfDoubleDots)}function Ga(t,r,e){let n=t,i=r,o=e;for(;o>i;){if(o-=i,n=n.parent,!n)throw new y(4005,!1);i=n.segments.length}return new tt(n,!1,i-o)}function qa(t){return It(t[0])?t[0].outlets:{[v]:t}}function Lo(t,r,e){if(t??=new E([],{}),t.segments.length===0&&t.hasChildren())return Tt(t,r,e);let n=Wa(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndex<t.segments.length){let o=new E(t.segments.slice(0,n.pathIndex),{});return o.children[v]=new E(t.segments.slice(n.pathIndex),t.children),Tt(o,0,i)}else return n.match&&i.length===0?new E(t.segments,{}):n.match&&!t.hasChildren()?Or(t,r,e):n.match?Tt(t,0,i):Or(t,r,e)}function Tt(t,r,e){if(e.length===0)return new E(t.segments,{});{let n=qa(e),i={};if(Object.keys(n).some(o=>o!==v)&&t.children[v]&&t.numberOfChildren===1&&t.children[v].segments.length===0){let o=Tt(t.children[v],r,e);return new E(t.segments,o.children)}return Object.entries(n).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=Lo(t.children[o],r,s))}),Object.entries(t.children).forEach(([o,s])=>{n[o]===void 0&&(i[o]=s)}),new E(t.segments,i)}}function Wa(t,r,e){let n=0,i=r,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(n>=e.length)return o;let s=t.segments[i],a=e[n];if(It(a))break;let u=`${a}`,c=n<e.length-1?e[n+1]:null;if(i>0&&u===void 0)break;if(u&&c&&typeof c=="object"&&c.outlets===void 0){if(!vo(u,c,s))return o;n+=2}else{if(!vo(u,{},s))return o;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function Or(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i<e.length;){let o=e[i];if(It(o)){let u=Ya(o.outlets);return new E(n,u)}if(i===0&&vn(e[0])){let u=t.segments[r];n.push(new Ee(u.path,mo(e[0]))),i++;continue}let s=It(o)?o.outlets[v]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&vn(a)?(n.push(new Ee(s,mo(a))),i+=2):(n.push(new Ee(s,{})),i++)}return new E(n,{})}function Ya(t){let r={};return Object.entries(t).forEach(([e,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=Or(new E([],{}),0,n))}),r}function mo(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function vo(t,r,e){return t==e.path&&oe(r,e.parameters)}var nt="imperative",_=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(_||{}),V=class{id;url;constructor(r,e){this.id=r,this.url=e}},ne=class extends V{type=_.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},O=class extends V{urlAfterRedirects;type=_.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},P=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(P||{}),it=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(it||{}),B=class extends V{reason;code;type=_.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function ko(t){return t instanceof B&&(t.code===P.Redirect||t.code===P.SupersededByNewNavigation)}var ae=class extends V{reason;code;type=_.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},ye=class extends V{error;target;type=_.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Ot=class extends V{urlAfterRedirects;state;type=_.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Dn=class extends V{urlAfterRedirects;state;type=_.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},wn=class extends V{urlAfterRedirects;state;shouldActivate;type=_.GuardsCheckEnd;constructor(r,e,n,i,o){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Cn=class extends V{urlAfterRedirects;state;type=_.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},En=class extends V{urlAfterRedirects;state;type=_.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Sn=class{route;type=_.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},bn=class{route;type=_.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Rn=class{snapshot;type=_.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},An=class{snapshot;type=_.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Tn=class{snapshot;type=_.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},_n=class{snapshot;type=_.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ot=class{routerEvent;position;anchor;scrollBehavior;type=_.Scroll;constructor(r,e,n,i){this.routerEvent=r,this.position=e,this.anchor=n,this.scrollBehavior=i}toString(){let r=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${r}')`}},st=class{},Ft=class{},at=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function Za(t){return!(t instanceof st)&&!(t instanceof at)&&!(t instanceof Ft)}var Mn=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(r){this.rootInjector=r,this.children=new Be(this.rootInjector)}},Be=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Mn(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(g(K))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),In=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=Fr(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=Fr(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=Nr(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return Nr(r,this._root).map(e=>e.value)}};function Fr(t,r){if(t===r.value)return r;for(let e of r.children){let n=Fr(t,e);if(n)return n}return null}function Nr(t,r){if(t===r.value)return[r];for(let e of r.children){let n=Nr(t,e);if(n.length)return n.unshift(r),n}return[]}var H=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function et(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var Nt=class extends In{snapshot;constructor(r,e){super(r),this.snapshot=e,Vr(this,r)}toString(){return this.snapshot.toString()}};function xo(t,r){let e=Ka(t,r),n=new Y([new Ee("",{})]),i=new Y({}),o=new Y({}),s=new Y({}),a=new Y(""),u=new ue(n,i,s,a,o,v,t,e.root);return u.snapshot=e.root,new Nt(new H(u,[]),e)}function Ka(t,r){let e={},n={},i={},s=new ut([],e,i,"",n,v,t,null,{},r);return new Pt("",new H(s,[]))}var ue=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,o,s,a,u){this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(A(c=>c[xt]))??m(void 0),this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(A(r=>Ue(r))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(A(r=>Ue(r))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Hr(t,r,e="emptyOnly"){let n,{routeConfig:i}=t;return r!==null&&(e==="always"||i?.path===""||!r.component&&!r.routeConfig?.loadComponent)?n={params:h(h({},r.params),t.params),data:h(h({},r.data),t.data),resolve:h(h(h(h({},t.data),r.data),i?.data),t._resolvedData)}:n={params:h({},t.params),data:h({},t.data),resolve:h(h({},t.data),t._resolvedData??{})},i&&jo(i)&&(n.resolve[xt]=i.title),n}var ut=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[xt]}constructor(r,e,n,i,o,s,a,u,c,d){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c,this._environmentInjector=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Ue(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Ue(this.queryParams),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},Pt=class extends In{url;constructor(r,e){super(e),this.url=r,Vr(this,e)}toString(){return Uo(this._root)}};function Vr(t,r){r.value._routerState=t,r.children.forEach(e=>Vr(t,e))}function Uo(t){let r=t.children.length>0?` { ${t.children.map(Uo).join(", ")} } `:"";return`${t.value}${r}`}function Rr(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,oe(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),oe(r.params,e.params)||t.paramsSubject.next(e.params),ba(r.url,e.url)||t.urlSubject.next(e.url),oe(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Pr(t,r){let e=oe(t.params,r.params)&&Ma(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||Pr(t.parent,r.parent))}function jo(t){return typeof t.title=="string"||t.title===null}var Bo=new D(""),Gr=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=v;activateEvents=new Ie;deactivateEvents=new Ie;attachEvents=new Ie;detachEvents=new Ie;routerOutletData=Pi();parentContexts=l(Be);location=l(Zt);changeDetector=l(Ke);inputBinder=l(Ut,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new y(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new y(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new y(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,n){if(this.isActivated)throw new y(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new Lr(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:u,environmentInjector:n}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=we({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Oe]})}return t})(),Lr=class{route;childContexts;parent;outletData;constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===ue?this.route:r===Be?this.childContexts:r===Bo?this.outletData:this.parent.get(r,e)}},Ut=new D(""),qr=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:n}=e,i=zn([n.queryParams,n.params,n.data]).pipe(z(([o,s,a],u)=>(a=h(h(h({},o),s),a),u===0?m(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let s=xi(n.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})(),Wr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=bi({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(n,i){n&1&&Ai(0,"router-outlet")},dependencies:[Gr],encapsulation:2})}return t})();function Yr(t){let r=t.children&&t.children.map(Yr),e=r?I(h({},t),{children:r}):h({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==v&&(e.component=Wr),e}function Xa(t,r,e){let n=Lt(t,r._root,e?e._root:void 0);return new Nt(n,r)}function Lt(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=Ja(t,r,e);return new H(n,i)}else{if(t.shouldAttach(r.value)){let o=t.retrieve(r.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=r.value,s.children=r.children.map(a=>Lt(t,a)),s}}let n=Qa(r.value),i=r.children.map(o=>Lt(t,o));return new H(n,i)}}function Ja(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return Lt(t,n,i);return Lt(t,n)})}function Qa(t){return new ue(new Y(t.url),new Y(t.params),new Y(t.queryParams),new Y(t.fragment),new Y(t.data),t.outlet,t.component,t)}var ct=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},$o="ngNavigationCancelingError";function On(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=Se(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=zo(!1,P.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function zo(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[$o]=!0,e.cancellationCode=r,e}function eu(t){return Ho(t)&&Se(t.url)}function Ho(t){return!!t&&t[$o]}var kr=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,o){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=o}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),Rr(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=et(e);r.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],n),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,n)})}deactivateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(i===o)if(i.component){let s=n.getContext(i.outlet);s&&this.deactivateChildRoutes(r,e,s.children)}else this.deactivateChildRoutes(r,e,n);else o&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=et(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(n&&n.outlet){let s=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:s,route:r,contexts:a})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=et(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=et(e);r.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],n),this.forwardEvent(new _n(o.value.snapshot))}),r.children.length&&this.forwardEvent(new An(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(Rr(i),i===o)if(i.component){let s=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,s.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let s=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Rr(a.route.value),this.activateChildRoutes(r,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(r,null,s.children)}else this.activateChildRoutes(r,null,n)}},Fn=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},rt=class{component;route;constructor(r,e){this.component=r,this.route=e}};function tu(t,r,e){let n=t._root,i=r?r._root:null;return At(n,i,e,[n.value])}function nu(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function dt(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!ai(t)?t:r.get(t):n}function At(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=et(r);return t.children.forEach(s=>{ru(s,o[s.value.outlet],e,n.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>_t(a,e.getContext(s),i)),i}function ru(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=r?r.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let u=iu(s,o,o.routeConfig.runGuardsAndResolvers);u?i.canActivateChecks.push(new Fn(n)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?At(t,r,a?a.children:null,n,i):At(t,r,e,n,i),u&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new rt(a.outlet.component,s))}else s&&_t(r,a,i),i.canActivateChecks.push(new Fn(n)),o.component?At(t,null,a?a.children:null,n,i):At(t,null,e,n,i);return i}function iu(t,r,e){if(typeof e=="function")return L(r._environmentInjector,()=>e(t,r));switch(e){case"pathParamsChange":return!xe(t.url,r.url);case"pathParamsOrQueryParamsChange":return!xe(t.url,r.url)||!oe(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Pr(t,r)||!oe(t.queryParams,r.queryParams);default:return!Pr(t,r)}}function _t(t,r,e){let n=et(t),i=t.value;Object.entries(n).forEach(([o,s])=>{i.component?r?_t(s,r.children.getContext(o),e):_t(s,null,e):_t(s,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new rt(r.outlet.component,i)):e.canDeactivateChecks.push(new rt(null,i)):e.canDeactivateChecks.push(new rt(null,i))}function jt(t){return typeof t=="function"}function ou(t){return typeof t=="boolean"}function su(t){return t&&jt(t.canLoad)}function au(t){return t&&jt(t.canActivate)}function uu(t){return t&&jt(t.canActivateChild)}function cu(t){return t&&jt(t.canDeactivate)}function lu(t){return t&&jt(t.canMatch)}function Vo(t){return t instanceof ii||t?.name==="EmptyError"}var hn=Symbol("INITIAL_VALUE");function lt(){return z(t=>zn(t.map(r=>r.pipe(He(1),si(hn)))).pipe(A(r=>{for(let e of r)if(e!==!0){if(e===hn)return hn;if(e===!1||du(e))return e}return!0}),$(r=>r!==hn),He(1)))}function du(t){return Se(t)||t instanceof ct}function Go(t){return t.aborted?m(void 0).pipe(He(1)):new ze(r=>{let e=()=>{r.next(),r.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function qo(t){return Ve(Go(t))}function hu(t){return re(r=>{let{targetSnapshot:e,currentSnapshot:n,guards:{canActivateChecks:i,canDeactivateChecks:o}}=r;return o.length===0&&i.length===0?m(I(h({},r),{guardsResult:!0})):fu(o,e,n).pipe(re(s=>s&&ou(s)?pu(e,i,t):m(s)),A(s=>I(h({},r),{guardsResult:s})))})}function fu(t,r,e){return N(t).pipe(re(n=>Du(n.component,n.route,e,r)),De(n=>n!==!0,!0))}function pu(t,r,e){return N(r).pipe(Te(n=>oi(mu(n.route.parent,e),gu(n.route,e),yu(t,n.path),vu(t,n.route))),De(n=>n!==!0,!0))}function gu(t,r){return t!==null&&r&&r(new Tn(t)),m(!0)}function mu(t,r){return t!==null&&r&&r(new Rn(t)),m(!0)}function vu(t,r){let e=r.routeConfig?r.routeConfig.canActivate:null;if(!e||e.length===0)return m(!0);let n=e.map(i=>zt(()=>{let o=r._environmentInjector,s=dt(i,o),a=au(s)?s.canActivate(r,t):L(o,()=>s(r,t));return je(a).pipe(De())}));return m(n).pipe(lt())}function yu(t,r){let e=r[r.length-1],i=r.slice(0,r.length-1).reverse().map(o=>nu(o)).filter(o=>o!==null).map(o=>zt(()=>{let s=o.guards.map(a=>{let u=o.node._environmentInjector,c=dt(a,u),d=uu(c)?c.canActivateChild(e,t):L(u,()=>c(e,t));return je(d).pipe(De())});return m(s).pipe(lt())}));return m(i).pipe(lt())}function Du(t,r,e,n){let i=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!i||i.length===0)return m(!0);let o=i.map(s=>{let a=r._environmentInjector,u=dt(s,a),c=cu(u)?u.canDeactivate(t,r,e,n):L(a,()=>u(t,r,e,n));return je(c).pipe(De())});return m(o).pipe(lt())}function wu(t,r,e,n,i){let o=r.canLoad;if(o===void 0||o.length===0)return m(!0);let s=o.map(a=>{let u=dt(a,t),c=su(u)?u.canLoad(r,e):L(t,()=>u(r,e)),d=je(c);return i?d.pipe(qo(i)):d});return m(s).pipe(lt(),Wo(n))}function Wo(t){return ni(J(r=>{if(typeof r!="boolean")throw On(t,r)}),A(r=>r===!0))}function Cu(t,r,e,n,i,o){let s=r.canMatch;if(!s||s.length===0)return m(!0);let a=s.map(u=>{let c=dt(u,t),d=lu(c)?c.canMatch(r,e,i):L(t,()=>c(r,e,i));return je(d).pipe(qo(o))});return m(a).pipe(lt(),Wo(n))}var me=class t extends Error{segmentGroup;constructor(r){super(),this.segmentGroup=r||null,Object.setPrototypeOf(this,t.prototype)}},kt=class t extends Error{urlTree;constructor(r){super(),this.urlTree=r,Object.setPrototypeOf(this,t.prototype)}};function Eu(t){throw new y(4e3,!1)}function Su(t){throw zo(!1,P.GuardRejected)}var xr=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}async lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return n;if(i.numberOfChildren>1||!i.children[v])throw Eu(`${r.redirectTo}`);i=i.children[v]}}async applyRedirectCommands(r,e,n,i,o){let s=await bu(e,i,o);if(s instanceof x)throw new kt(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),r,n);if(s[0]==="/")throw new kt(a);return a}applyRedirectCreateUrlTree(r,e,n,i){let o=this.createSegmentGroup(r,e.root,n,i);return new x(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);n[i]=e[a]}else n[i]=o}),n}createSegmentGroup(r,e,n,i){let o=this.createSegments(r,e.segments,n,i),s={};return Object.entries(e.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(r,u,n,i)}),new E(o,s)}createSegments(r,e,n,i){return e.map(o=>o.path[0]===":"?this.findPosParam(r,o,i):this.findOrReturn(o,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new y(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}};function bu(t,r,e){if(typeof t=="string")return Promise.resolve(t);let n=t;return mn(je(L(e,()=>n(r))))}function Ru(t,r){return t.providers&&!t._injector&&(t._injector=Kt(t.providers,r,`Route: ${t.path}`)),t._injector??r}function se(t){return t.outlet||v}function Au(t,r){let e=t.filter(n=>se(n)===r);return e.push(...t.filter(n=>se(n)!==r)),e}var Ur={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Yo(t){return{routeConfig:t.routeConfig,url:t.url,params:t.params,queryParams:t.queryParams,fragment:t.fragment,data:t.data,outlet:t.outlet,title:t.title,paramMap:t.paramMap,queryParamMap:t.queryParamMap}}function Tu(t,r,e,n,i,o,s){let a=Zo(t,r,e);if(!a.matched)return m(a);let u=Yo(o(a));return n=Ru(r,n),Cu(n,r,e,i,u,s).pipe(A(c=>c===!0?a:h({},Ur)))}function Zo(t,r,e){if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?h({},Ur):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||wo)(e,t,r);if(!i)return h({},Ur);let o={};Object.entries(i.posParams??{}).forEach(([a,u])=>{o[a]=u.path});let s=i.consumed.length>0?h(h({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function yo(t,r,e,n){return e.length>0&&Iu(t,e,n)?{segmentGroup:new E(r,Mu(n,new E(e,t.children))),slicedSegments:[]}:e.length===0&&Ou(t,e,n)?{segmentGroup:new E(t.segments,_u(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new E(t.segments,t.children),slicedSegments:e}}function _u(t,r,e,n){let i={};for(let o of e)if(Pn(t,r,o)&&!n[se(o)]){let s=new E([],{});i[se(o)]=s}return h(h({},n),i)}function Mu(t,r){let e={};e[v]=r;for(let n of t)if(n.path===""&&se(n)!==v){let i=new E([],{});e[se(n)]=i}return e}function Iu(t,r,e){return e.some(n=>Pn(t,r,n)&&se(n)!==v)}function Ou(t,r,e){return e.some(n=>Pn(t,r,n))}function Pn(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Fu(t,r,e){return r.length===0&&!t.children[e]}var jr=class{};async function Nu(t,r,e,n,i,o,s="emptyOnly",a){return new Br(t,r,e,n,i,s,o,a).recognize()}var Pu=31,Br=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,o,s,a,u){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=u,this.applyRedirects=new xr(this.urlSerializer,this.urlTree)}noMatchError(r){return new y(4002,`'${r.segmentGroup}'`)}async recognize(){let r=yo(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:n}=await this.match(r),i=new H(n,e),o=new Pt("",i),s=Oo(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}async match(r){let e=new ut([],Object.freeze({}),Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),v,this.rootComponentType,null,{},this.injector);try{return{children:await this.processSegmentGroup(this.injector,this.config,r,v,e),rootSnapshot:e}}catch(n){if(n instanceof kt)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof me?this.noMatchError(n):n}}async processSegmentGroup(r,e,n,i,o){if(n.segments.length===0&&n.hasChildren())return this.processChildren(r,e,n,o);let s=await this.processSegment(r,e,n,n.segments,i,!0,o);return s instanceof H?[s]:[]}async processChildren(r,e,n,i){let o=[];for(let u of Object.keys(n.children))u==="primary"?o.unshift(u):o.push(u);let s=[];for(let u of o){let c=n.children[u],d=Au(e,u),f=await this.processSegmentGroup(r,d,c,u,i);s.push(...f)}let a=Ko(s);return Lu(a),a}async processSegment(r,e,n,i,o,s,a){for(let u of e)try{return await this.processSegmentAgainstRoute(u._injector??r,e,u,n,i,o,s,a)}catch(c){if(c instanceof me||Vo(c))continue;throw c}if(Fu(n,i,o))return new jr;throw new me(n)}async processSegmentAgainstRoute(r,e,n,i,o,s,a,u){if(se(n)!==s&&(s===v||!Pn(i,o,n)))throw new me(i);if(n.redirectTo===void 0)return this.matchSegmentAgainstRoute(r,i,n,o,s,u);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,o,s,u);throw new me(i)}async expandSegmentAgainstRouteUsingRedirect(r,e,n,i,o,s,a){let{matched:u,parameters:c,consumedSegments:d,positionalParamSegments:f,remainingSegments:w}=Zo(e,i,o);if(!u)throw new me(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Pu&&(this.allowRedirects=!1));let q=this.createSnapshot(r,i,o,c,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let U=await this.applyRedirects.applyRedirectCommands(d,i.redirectTo,f,Yo(q),r),W=await this.applyRedirects.lineralizeSegments(i,U);return this.processSegment(r,n,e,W.concat(w),s,!1,a)}createSnapshot(r,e,n,i,o){let s=new ut(n,i,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,xu(e),se(e),e.component??e._loadedComponent??null,e,Uu(e),r),a=Hr(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}async matchSegmentAgainstRoute(r,e,n,i,o,s){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=X=>this.createSnapshot(r,n,X.consumedSegments,X.parameters,s),u=await mn(Tu(e,n,i,r,this.urlSerializer,a,this.abortSignal));if(n.path==="**"&&(e.children={}),!u?.matched)throw new me(e);r=n._injector??r;let{routes:c}=await this.getChildConfig(r,n,i),d=n._loadedInjector??r,{parameters:f,consumedSegments:w,remainingSegments:q}=u,U=this.createSnapshot(r,n,w,f,s),{segmentGroup:W,slicedSegments:C}=yo(e,w,q,c);if(C.length===0&&W.hasChildren()){let X=await this.processChildren(d,c,W,U);return new H(U,X)}if(c.length===0&&C.length===0)return new H(U,[]);let S=se(n)===o,F=await this.processSegment(d,c,W,C,S?v:o,!0,U);return new H(U,F instanceof H?[F]:[])}async getChildConfig(r,e,n){if(e.children)return{routes:e.children,injector:r};if(e.loadChildren){if(e._loadedRoutes!==void 0){let o=e._loadedNgModuleFactory;return o&&!e._loadedInjector&&(e._loadedInjector=o.create(r).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(await mn(wu(r,e,n,this.urlSerializer,this.abortSignal))){let o=await this.configLoader.loadChildren(r,e);return e._loadedRoutes=o.routes,e._loadedInjector=o.injector,e._loadedNgModuleFactory=o.factory,o}throw Su(e)}return{routes:[],injector:r}}};function Lu(t){t.sort((r,e)=>r.value.outlet===v?-1:e.value.outlet===v?1:r.value.outlet.localeCompare(e.value.outlet))}function ku(t){let r=t.value.routeConfig;return r&&r.path===""}function Ko(t){let r=[],e=new Set;for(let n of t){if(!ku(n)){r.push(n);continue}let i=r.find(o=>n.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=Ko(n.children);r.push(new H(n.value,i))}return r.filter(n=>!e.has(n))}function xu(t){return t.data||{}}function Uu(t){return t.resolve||{}}function ju(t,r,e,n,i,o,s){return re(async a=>{let{state:u,tree:c}=await Nu(t,r,e,n,a.extractedUrl,i,o,s);return I(h({},a),{targetSnapshot:u,urlAfterRedirects:c})})}function Bu(t){return re(r=>{let{targetSnapshot:e,guards:{canActivateChecks:n}}=r;if(!n.length)return m(r);let i=new Set(n.map(a=>a.route)),o=new Set;for(let a of i)if(!o.has(a))for(let u of Xo(a))o.add(u);let s=0;return N(o).pipe(Te(a=>i.has(a)?$u(a,e,t):(a.data=Hr(a,a.parent,t).resolve,m(void 0))),J(()=>s++),Hn(1),re(a=>s===o.size?m(r):Z))})}function Xo(t){let r=t.children.map(e=>Xo(e)).flat();return[t,...r]}function $u(t,r,e){let n=t.routeConfig,i=t._resolve;return n?.title!==void 0&&!jo(n)&&(i[xt]=n.title),zt(()=>(t.data=Hr(t,t.parent,e).resolve,zu(i,t,r).pipe(A(o=>(t._resolvedData=o,t.data=h(h({},t.data),o),null)))))}function zu(t,r,e){let n=Tr(t);if(n.length===0)return m({});let i={};return N(n).pipe(re(o=>Hu(t[o],r,e).pipe(De(),J(s=>{if(s instanceof ct)throw On(new ve,s);i[o]=s}))),Hn(1),A(()=>i),Ht(o=>Vo(o)?Z:ri(o)))}function Hu(t,r,e){let n=r._environmentInjector,i=dt(t,n),o=i.resolve?i.resolve(r,e):L(n,()=>i(r,e));return je(o)}function Do(t){return z(r=>{let e=t(r);return e?N(e).pipe(A(()=>r)):m(r)})}var Zr=(()=>{class t{buildTitle(e){let n,i=e.root;for(;i!==void 0;)n=this.getResolvedTitleForRoute(i)??n,i=i.children.find(o=>o.outlet===v);return n}getResolvedTitleForRoute(e){return e.data[xt]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>l(Jo),providedIn:"root"})}return t})(),Jo=(()=>{class t extends Zr{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(g(fo))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Re=new D("",{factory:()=>({})}),$e=new D(""),Ln=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=l(Oi);async loadComponent(e,n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return Promise.resolve(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);let i=(async()=>{try{let o=await Eo(L(e,()=>n.loadComponent())),s=await ts(es(o));return this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=s,s}finally{this.componentLoaders.delete(n)}})();return this.componentLoaders.set(n,i),i}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return Promise.resolve({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let i=(async()=>{try{let o=await Qo(n,this.compiler,e,this.onLoadEndListener);return n._loadedRoutes=o.routes,n._loadedInjector=o.injector,n._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(n)}})();return this.childrenLoaders.set(n,i),i}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();async function Qo(t,r,e,n){let i=await Eo(L(e,()=>t.loadChildren())),o=await ts(es(i)),s;o instanceof Si||Array.isArray(o)?s=o:s=await r.compileModuleAsync(o),n&&n(t);let a,u,c=!1,d;return Array.isArray(s)?(u=s,c=!0):(a=s.create(e).injector,d=s,u=a.get($e,[],{optional:!0,self:!0}).flat()),{routes:u.map(Yr),injector:a,factory:d}}function Vu(t){return t&&typeof t=="object"&&"default"in t}function es(t){return Vu(t)?t.default:t}async function ts(t){return t}var kn=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>l(Gu),providedIn:"root"})}return t})(),Gu=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Kr=new D(""),Xr=new D("");function ns(t,r,e){let n=t.get(Xr),i=t.get(T);if(!i.startViewTransition||n.skipNextTransition)return n.skipNextTransition=!1,new Promise(c=>setTimeout(c));let o,s=new Promise(c=>{o=c}),a=i.startViewTransition(()=>(o(),qu(t)));a.updateCallbackDone.catch(c=>{}),a.ready.catch(c=>{}),a.finished.catch(c=>{});let{onViewTransitionCreated:u}=n;return u&&L(t,()=>u({transition:a,from:r,to:e})),s}function qu(t){return new Promise(r=>{Xn({read:()=>setTimeout(r)},{injector:t})})}var Wu=()=>{},Jr=new D(""),xn=(()=>{class t{currentNavigation=b(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=b(null);events=new ce;transitionAbortWithErrorSubject=new ce;configLoader=l(Ln);environmentInjector=l(K);destroyRef=l(de);urlSerializer=l(be);rootContexts=l(Be);location=l(ie);inputBindingEnabled=l(Ut,{optional:!0})!==null;titleStrategy=l(Zr);options=l(Re,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=l(kn);createViewTransition=l(Kr,{optional:!0});navigationErrorHandler=l(Jr,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>m(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new Sn(i)),n=i=>this.events.next(new bn(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let n=++this.navigationId;R(()=>{this.transitions?.next(I(h({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:n,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(e){return this.transitions=new Y(null),this.transitions.pipe($(n=>n!==null),z(n=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===n.id;return m(n).pipe(z(a=>{if(this.navigationId>n.id)return this.cancelNavigationTransition(n,"",P.SupersededByNewNavigation),Z;this.currentTransition=n;let u=this.lastSuccessfulNavigation();this.currentNavigation.set({id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:u?I(h({},u),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),d=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!c&&d!=="reload")return this.events.next(new ae(a.id,this.urlSerializer.serialize(a.rawUrl),"",it.IgnoredSameUrlNavigation)),a.resolve(!1),Z;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return m(a).pipe(z(f=>(this.events.next(new ne(f.id,this.urlSerializer.serialize(f.extractedUrl),f.source,f.restoredState)),f.id!==this.navigationId?Z:Promise.resolve(f))),ju(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),J(f=>{n.targetSnapshot=f.targetSnapshot,n.urlAfterRedirects=f.urlAfterRedirects,this.currentNavigation.update(w=>(w.finalUrl=f.urlAfterRedirects,w)),this.events.next(new Ft)}),z(f=>N(n.routesRecognizeHandler.deferredHandle??m(void 0)).pipe(A(()=>f))),J(()=>{let f=new Ot(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(f)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:f,extractedUrl:w,source:q,restoredState:U,extras:W}=a,C=new ne(f,this.urlSerializer.serialize(w),q,U);this.events.next(C);let S=xo(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=n=I(h({},a),{targetSnapshot:S,urlAfterRedirects:w,extras:I(h({},W),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(F=>(F.finalUrl=w,F)),m(n)}else return this.events.next(new ae(a.id,this.urlSerializer.serialize(a.extractedUrl),"",it.IgnoredByUrlHandlingStrategy)),a.resolve(!1),Z}),A(a=>{let u=new Dn(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(u),this.currentTransition=n=I(h({},a),{guards:tu(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),n}),hu(a=>this.events.next(a)),z(a=>{if(n.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw On(this.urlSerializer,a.guardsResult);let u=new wn(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(u),!s())return Z;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",P.GuardRejected),Z;if(a.guards.canActivateChecks.length===0)return m(a);let c=new Cn(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(c),!s())return Z;let d=!1;return m(a).pipe(Bu(this.paramsInheritanceStrategy),J({next:()=>{d=!0;let f=new En(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(f)},complete:()=>{d||this.cancelNavigationTransition(a,"",P.NoDataFromResolver)}}))}),Do(a=>{let u=d=>{let f=[];if(d.routeConfig?._loadedComponent)d.component=d.routeConfig?._loadedComponent;else if(d.routeConfig?.loadComponent){let w=d._environmentInjector;f.push(this.configLoader.loadComponent(w,d.routeConfig).then(q=>{d.component=q}))}for(let w of d.children)f.push(...u(w));return f},c=u(a.targetSnapshot.root);return c.length===0?m(a):N(Promise.all(c).then(()=>a))}),Do(()=>this.afterPreactivation()),z(()=>{let{currentSnapshot:a,targetSnapshot:u}=n,c=this.createViewTransition?.(this.environmentInjector,a.root,u.root);return c?N(c).pipe(A(()=>n)):m(n)}),He(1),z(a=>{let u=Xa(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=n=a=I(h({},a),{targetRouterState:u}),this.currentNavigation.update(d=>(d.targetRouterState=u,d)),this.events.next(new st);let c=n.beforeActivateHandler.deferredHandle;return c?N(c.then(()=>a)):m(a)}),J(a=>{new kr(e.routeReuseStrategy,n.targetRouterState,n.currentRouterState,u=>this.events.next(u),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(u=>(u.abort=Wu,u)),this.lastSuccessfulNavigation.set(R(this.currentNavigation)),this.events.next(new O(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),Ve(Go(o.signal).pipe($(()=>!i&&!n.targetRouterState),J(()=>{this.cancelNavigationTransition(n,o.signal.reason+"",P.Aborted)}))),J({complete:()=>{i=!0}}),Ve(this.transitionAbortWithErrorSubject.pipe(J(a=>{throw a}))),Vt(()=>{o.abort(),i||this.cancelNavigationTransition(n,"",P.SupersededByNewNavigation),this.currentTransition?.id===n.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Ht(a=>{if(i=!0,this.destroyed)return n.resolve(!1),Z;if(Ho(a))this.events.next(new B(n.id,this.urlSerializer.serialize(n.extractedUrl),a.message,a.cancellationCode)),eu(a)?this.events.next(new at(a.url,a.navigationBehaviorOptions)):n.resolve(!1);else{let u=new ye(n.id,this.urlSerializer.serialize(n.extractedUrl),a,n.targetSnapshot??void 0);try{let c=L(this.environmentInjector,()=>this.navigationErrorHandler?.(u));if(c instanceof ct){let{message:d,cancellationCode:f}=On(this.urlSerializer,c);this.events.next(new B(n.id,this.urlSerializer.serialize(n.extractedUrl),d,f)),this.events.next(new at(c.redirectTo,c.navigationBehaviorOptions))}else throw this.events.next(u),a}catch(c){this.options.resolveNavigationPromiseOnError?n.resolve(!1):n.reject(c)}}return Z}))}))}cancelNavigationTransition(e,n,i){let o=new B(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=R(this.currentNavigation),i=n?.targetBrowserUrl??n?.extractedUrl;return e.toString()!==i?.toString()&&!n?.extras.skipLocationChange}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Yu(t){return t!==nt}var rs=new D("");var is=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>l(Zu),providedIn:"root"})}return t})(),Nn=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}shouldDestroyInjector(r){return!0}},Zu=(()=>{class t extends Nn{static \u0275fac=(()=>{let e;return function(i){return(e||(e=Gt(t)))(i||t)}})();static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Un=(()=>{class t{urlSerializer=l(be);options=l(Re,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=l(ie);urlHandlingStrategy=l(kn);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new x;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:n,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,n):n,s=i??o;return s instanceof x?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:n,initialUrl:i}){n&&e?(this.currentUrlTree=n,this.rawUrlTree=this.urlHandlingStrategy.merge(n,i),this.routerState=e):this.rawUrlTree=i}routerState=xo(null,l(K));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:()=>l(Ku),providedIn:"root"})}return t})(),Ku=(()=>{class t extends Un{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&setTimeout(()=>{e(n.url,n.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(e,n){e instanceof ne?this.updateStateMemento():e instanceof ae?this.commitTransition(n):e instanceof Ot?this.urlUpdateStrategy==="eager"&&(n.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof st?(this.commitTransition(n),this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof B&&!ko(e)?this.restoreHistory(n):e instanceof ye?this.restoreHistory(n,!0):e instanceof O&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:n,id:i}){let{replaceUrl:o,state:s}=n;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,u=h(h({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",u)}else{let a=h(h({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Gt(t)))(i||t)}})();static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function jn(t,r){t.events.pipe($(e=>e instanceof O||e instanceof B||e instanceof ye||e instanceof ae),A(e=>e instanceof O||e instanceof ae?0:(e instanceof B?e.code===P.Redirect||e.code===P.SupersededByNewNavigation:!1)?2:1),$(e=>e!==2),He(1)).subscribe(()=>{r()})}var G=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=l(Qn);stateManager=l(Un);options=l(Re,{optional:!0})||{};pendingTasks=l(ci);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=l(xn);urlSerializer=l(be);location=l(ie);urlHandlingStrategy=l(kn);injector=l(K);_events=new ce;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=l(is);injectorCleanup=l(rs,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=l($e,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!l(Ut,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new ti;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(n=>{try{let i=this.navigationTransitions.currentTransition,o=R(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(n,o),n instanceof B&&n.code!==P.Redirect&&n.code!==P.SupersededByNewNavigation)this.navigated=!0;else if(n instanceof O)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(n instanceof at){let s=n.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(n.url,i.currentRawUrl),u=h({scroll:i.extras.scroll,browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||Yu(i.source)},s);this.scheduleNavigation(a,nt,null,u,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}Za(n)&&this._events.next(n)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),nt,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,n,i,o)=>{this.navigateToSyncWithBrowser(e,i,n,o)})}navigateToSyncWithBrowser(e,n,i,o){let s=i?.navigationId?i:null;if(i){let u=h({},i);delete u.navigationId,delete u.\u0275routerPageId,Object.keys(u).length!==0&&(o.state=u)}let a=this.parseUrl(e);this.scheduleNavigation(a,n,s,o).catch(u=>{this.disposed||this.injector.get(mt)(u)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return R(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(Yr),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,n={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:u}=n,c=u?this.currentUrlTree.fragment:s,d=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":d=h(h({},this.currentUrlTree.queryParams),o);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}d!==null&&(d=this.removeEmptyProps(d));let f;try{let w=i?i.snapshot:this.routerState.snapshot.root;f=Fo(w)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),f=this.currentUrlTree.root}return No(f,e,d,c??null,this.urlSerializer)}navigateByUrl(e,n={skipLocationChange:!1}){let i=Se(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,nt,null,n)}navigate(e,n={skipLocationChange:!1}){return Xu(e),this.navigateByUrl(this.createUrlTree(e,n),n)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.console.warn(_e(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,n){let i;if(n===!0?i=h({},$r):n===!1?i=h({},Mt):i=h(h({},Mt),n),Se(e))return _r(this.currentUrlTree,e,i);let o=this.parseUrl(e);return _r(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((n,[i,o])=>(o!=null&&(n[i]=o),n),{})}scheduleNavigation(e,n,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((f,w)=>{a=f,u=w});let d=this.pendingTasks.add();return jn(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:n,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(Promise.reject.bind(Promise))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Xu(t){for(let r=0;r<t.length;r++)if(t[r]==null)throw new y(4008,!1)}var Ju=(()=>{class t{router=l(G);stateManager=l(Un);fragment=b("");queryParams=b({});path=b("");serializer=l(be);constructor(){this.updateState(),this.router.events?.subscribe(e=>{e instanceof O&&this.updateState()})}updateState(){let{fragment:e,root:n,queryParams:i}=this.stateManager.getCurrentUrlTree();this.fragment.set(e),this.queryParams.set(i),this.path.set(this.serializer.serialize(new x(n)))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Bn=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;hrefAttributeValue=l(new Ni("href"),{optional:!0});reactiveHref=Fi(()=>this.isAnchorElement?this.computeHref(this._urlTree()):this.hrefAttributeValue);get href(){return R(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}set target(e){this._target.set(e)}get target(){return R(this._target)}_target=b(void 0);set queryParams(e){this._queryParams.set(e)}get queryParams(){return R(this._queryParams)}_queryParams=b(void 0,{equal:()=>!1});set fragment(e){this._fragment.set(e)}get fragment(){return R(this._fragment)}_fragment=b(void 0);set queryParamsHandling(e){this._queryParamsHandling.set(e)}get queryParamsHandling(){return R(this._queryParamsHandling)}_queryParamsHandling=b(void 0);set state(e){this._state.set(e)}get state(){return R(this._state)}_state=b(void 0,{equal:()=>!1});set info(e){this._info.set(e)}get info(){return R(this._info)}_info=b(void 0,{equal:()=>!1});set relativeTo(e){this._relativeTo.set(e)}get relativeTo(){return R(this._relativeTo)}_relativeTo=b(void 0);set preserveFragment(e){this._preserveFragment.set(e)}get preserveFragment(){return R(this._preserveFragment)}_preserveFragment=b(!1);set skipLocationChange(e){this._skipLocationChange.set(e)}get skipLocationChange(){return R(this._skipLocationChange)}_skipLocationChange=b(!1);set replaceUrl(e){this._replaceUrl.set(e)}get replaceUrl(){return R(this._replaceUrl)}_replaceUrl=b(!1);isAnchorElement;onChanges=new ce;applicationErrorHandler=l(mt);options=l(Re,{optional:!0});reactiveRouterState=l(Ju);constructor(e,n,i,o,s,a){this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let u=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=u==="a"||u==="area"||!!(typeof customElements=="object"&&customElements.get(u)?.observedAttributes?.includes?.("href"))}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.onChanges.next(this)}routerLinkInput=b(null);set routerLink(e){e==null?(this.routerLinkInput.set(null),this.setTabIndexIfNotOnNativeEl(null)):(Se(e)?this.routerLinkInput.set(e):this.routerLinkInput.set(Array.isArray(e)?e:[e]),this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,n,i,o,s){let a=this._urlTree();if(a===null||this.isAnchorElement&&(e!==0||n||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let u={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,u)?.catch(c=>{this.applicationErrorHandler(c)}),!this.isAnchorElement}ngOnDestroy(){}applyAttributeValue(e,n){let i=this.renderer,o=this.el.nativeElement;n!==null?i.setAttribute(o,e,n):i.removeAttribute(o,e)}_urlTree=Q(()=>{this.reactiveRouterState.path(),this._preserveFragment()&&this.reactiveRouterState.fragment();let e=i=>i==="preserve"||i==="merge";(e(this._queryParamsHandling())||e(this.options?.defaultQueryParamsHandling))&&this.reactiveRouterState.queryParams();let n=this.routerLinkInput();return n===null||!this.router.createUrlTree?null:Se(n)?n:this.router.createUrlTree(n,{relativeTo:this._relativeTo()!==void 0?this._relativeTo():this.route,queryParams:this._queryParams(),fragment:this._fragment(),queryParamsHandling:this._queryParamsHandling(),preserveFragment:this._preserveFragment()})},{equal:(e,n)=>this.computeHref(e)===this.computeHref(n)});get urlTree(){return R(this._urlTree)}computeHref(e){return e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null}static \u0275fac=function(n){return new(n||t)(k(G),k(ue),qn("tabindex"),k(Ze),k(qe),k(te))};static \u0275dir=we({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(n,i){n&1&&Ti("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),n&2&&Ri("href",i.reactiveHref(),Di)("target",i._target())},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",vt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",vt],replaceUrl:[2,"replaceUrl","replaceUrl",vt],routerLink:"routerLink"},features:[Oe]})}return t})(),Qu=(()=>{class t{router;element;renderer;cdr;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new Ie;link=l(Bn,{optional:!0});constructor(e,n,i,o){this.router=e,this.element=n,this.renderer=i,this.cdr=o,this.routerEventsSubscription=e.events.subscribe(s=>{s instanceof O&&this.update()})}ngAfterContentInit(){m(this.links.changes,m(null)).pipe(pt()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(n=>!!n).map(n=>n.onChanges);this.linkInputChangesSubscription=N(e).pipe(pt()).subscribe(n=>{this._isActive!==this.isLinkActive(this.router)(n)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let n=ec(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact??!1?h({},$r):h({},Mt);return i=>{let o=i.urlTree;return o?R(zr(o,e,n)):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(n){return new(n||t)(k(G),k(qe),k(Ze),k(Ke))};static \u0275dir=we({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,o){if(n&1&&_i(o,Bn,5),n&2){let s;Mi(s=Ii())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Oe]})}return t})();function ec(t){let r=t;return!!(r.paths||r.matrixParams||r.queryParams||r.fragment)}var Bt=class{};var os=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,n,i,o){this.router=e,this.injector=n,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe($(e=>e instanceof O),Te(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription?.unsubscribe()}processRoutes(e,n){let i=[];for(let o of n){o.providers&&!o._injector&&(o._injector=Kt(o.providers,e,""));let s=o._injector??e;o._loadedNgModuleFactory&&!o._loadedInjector&&(o._loadedInjector=o._loadedNgModuleFactory.create(s).injector);let a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return N(i).pipe(pt())}preloadConfig(e,n){return this.preloadingStrategy.preload(n,()=>{if(e.destroyed)return m(null);let i;n.loadChildren&&n.canLoad===void 0?i=N(this.loader.loadChildren(e,n)):i=m(null);let o=i.pipe(re(s=>s===null?m(void 0):(n._loadedRoutes=s.routes,n._loadedInjector=s.injector,n._loadedNgModuleFactory=s.factory,this.processRoutes(s.injector??e,s.routes))));if(n.loadComponent&&!n._loadedComponent){let s=this.loader.loadComponent(e,n);return N([o,s]).pipe(pt())}else return o})}static \u0275fac=function(n){return new(n||t)(g(G),g(K),g(Bt),g(Ln))};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ss=new D(""),tc=(()=>{class t{options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=nt;restoredId=0;store={};urlSerializer=l(be);zone=l(Ge);viewportScroller=l(pr);transitions=l(xn);constructor(e){this.options=e,this.options.scrollPositionRestoration||="disabled",this.options.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof ne?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof O?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof ae&&e.code===it.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{if(!(e instanceof ot)||e.scrollBehavior==="manual")return;let n={behavior:"instant"};e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],n):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position,n):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0])})}scheduleScrollEvent(e,n){let i=R(this.transitions.currentNavigation)?.extras.scroll;this.zone.runOutsideAngular(async()=>{await new Promise(o=>{setTimeout(o),typeof requestAnimationFrame<"u"&&requestAnimationFrame(o)}),this.zone.run(()=>{this.transitions.events.next(new ot(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,n,i))})})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(n){Ei()};static \u0275prov=p({token:t,factory:t.\u0275fac})}return t})();function nc(t,...r){return gt([{provide:$e,multi:!0,useValue:t},[],{provide:ue,useFactory:as},{provide:nr,multi:!0,useFactory:us},r.map(e=>e.\u0275providers)])}function as(){return l(G).routerState.root}function $t(t,r){return{\u0275kind:t,\u0275providers:r}}function us(){let t=l(le);return r=>{let e=t.get(rr);if(r!==e.components[0])return;let n=t.get(G),i=t.get(cs);t.get(ei)===1&&n.initialNavigation(),t.get(hs,null,{optional:!0})?.setUpPreloading(),t.get(ss,null,{optional:!0})?.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var cs=new D("",{factory:()=>new ce}),ei=new D("",{factory:()=>1});function ls(){let t=[{provide:Zn,useValue:!0},{provide:ei,useValue:0},tr(()=>{let r=l(le);return r.get(or,Promise.resolve()).then(()=>new Promise(n=>{let i=r.get(G),o=r.get(cs);jn(i,()=>{n(!0)}),r.get(xn).afterPreactivation=()=>(n(!0),o.closed?m(void 0):o),i.initialNavigation()}))})];return $t(2,t)}function ds(){let t=[tr(()=>{l(G).setUpLocationChangeListener()}),{provide:ei,useValue:2}];return $t(3,t)}var hs=new D("");function fs(t){return $t(0,[{provide:hs,useExisting:os},{provide:Bt,useExisting:t}])}function ps(){return $t(8,[qr,{provide:Ut,useExisting:qr}])}function gs(t){Kn("NgRouterViewTransitions");let r=[{provide:Kr,useValue:ns},{provide:Xr,useValue:h({skipNextTransition:!!t?.skipInitialTransition},t)}];return $t(9,r)}var ms=[ie,{provide:be,useClass:ve},G,Be,{provide:ue,useFactory:as},Ln,[]],rc=(()=>{class t{constructor(){}static forRoot(e,n){return{ngModule:t,providers:[ms,[],{provide:$e,multi:!0,useValue:e},[],n?.errorHandler?{provide:Jr,useValue:n.errorHandler}:[],{provide:Re,useValue:n||{}},n?.useHash?oc():sc(),ic(),n?.preloadingStrategy?fs(n.preloadingStrategy).\u0275providers:[],n?.initialNavigation?ac(n):[],n?.bindToComponentInputs?ps().\u0275providers:[],n?.enableViewTransitions?gs().\u0275providers:[],uc()]}}static forChild(e){return{ngModule:t,providers:[{provide:$e,multi:!0,useValue:e}]}}static \u0275fac=function(n){return new(n||t)};static \u0275mod=Pe({type:t});static \u0275inj=Me({})}return t})();function ic(){return{provide:ss,useFactory:()=>{let t=l(pr),r=l(Re);return r.scrollOffset&&t.setOffset(r.scrollOffset),new tc(r)}}}function oc(){return{provide:te,useClass:dr}}function sc(){return{provide:te,useClass:on}}function ac(t){return[t.initialNavigation==="disabled"?ds().\u0275providers:[],t.initialNavigation==="enabledBlocking"?ls().\u0275providers:[]]}var Qr=new D("");function uc(){return[{provide:Qr,useFactory:us},{provide:nr,multi:!0,useExisting:Qr}]}var xf="/media/tressi-logo-512.png";function Kf(t){t||(t=l(de));let r=new ze(e=>{if(t.destroyed){e.next();return}return t.onDestroy(e.next.bind(e))});return e=>e.pipe(Ve(r))}function vs(t,r){let n=!r?.manualCleanup?r?.injector?.get(de)??l(de):null,i=cc(r?.equal),o;r?.requireSync?o=b({kind:0},{equal:i}):o=b({kind:1,value:r?.initialValue},{equal:i});let s,a=t.subscribe({next:u=>o.set({kind:1,value:u}),error:u=>{o.set({kind:2,error:u}),s?.()},complete:()=>{s?.()}});if(r?.requireSync&&o().kind===0)throw new y(601,!1);return s=n?.onDestroy(a.unsubscribe.bind(a)),Q(()=>{let u=o();switch(u.kind){case 1:return u.value;case 2:throw u.error;case 0:throw new y(601,!1)}},{equal:r?.equal})}function cc(t=Object.is){return(r,e)=>r.kind===1&&e.kind===1&&t(r.value,e.value)}var ys=class t{_router=l(G);_location=l(ie);_localStorage=l(Ui);isNavigating=b(!1);_navigationTrigger=vs(this._router.events.pipe($(r=>r instanceof O),A(()=>Date.now())),{initialValue:0});constructor(){this._listenToNavigation()}getCurrentUrl=Q(()=>(this._navigationTrigger(),globalThis.location.href));isOnDocs=Q(()=>this.getCurrentUrl().endsWith(j.DOCS));isOnServerUnavailable=Q(()=>this.getCurrentUrl().includes(j.SERVER_UNAVAILABLE));isOnDocsSubroute=Q(()=>this.getCurrentUrl().includes(`/${j.DOCS}/`));toDashboard(r){let e=r?[`/${j.DASHBOARD}`,r]:[`/${j.DASHBOARD}`];this._router.navigate(e)}toHome(){this._router.navigate([`/${j.HOME}`])}toConfigs(){this._router.navigate([`/${j.CONFIGS}`])}toDocs(r,e){let n=[`/${j.DOCS}`];r&&n.push(r),e&&n.push(e),this._router.navigate(n)}toTestDetails(r){let e=j.TESTS_WITH_ID.split("/")[0];this._router.navigate([`/${e}`,r])}toWelcome(){this._router.navigate([`/${j.WELCOME}`])}toServerUnavailable(){this._router.navigate([`/${j.SERVER_UNAVAILABLE}`])}toLastRoute(){let r=this._localStorage.preferences().lastRoute;if(r){globalThis.location.href=r;return}this.toHome()}updateDashboardUrl(r){this._location.go(`/${j.DASHBOARD}/${r}`)}updateUrl(r){r.includes(":")||this._location.go(`/${r}`)}back(){this._location.back()}_listenToNavigation(){this._router.events.pipe($(r=>r instanceof ne||r instanceof O||r instanceof B||r instanceof ye)).subscribe(r=>{r instanceof ne?this.isOnDocsSubroute()||this.isNavigating.set(!0):(this.isNavigating.set(!1),r instanceof O&&!r.urlAfterRedirects.includes(j.SERVER_UNAVAILABLE)&&this._localStorage.saveLastRoute(r.urlAfterRedirects))})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=p({token:t,factory:t.\u0275fac,providedIn:"root"})};export{Ji as a,Us as b,zs as c,Hs as d,Gs as e,Ys as f,io as g,zd as h,fa as i,fo as j,Ca as k,O as l,Gr as m,G as n,Bn as o,Qu as p,nc as q,ps as r,gs as s,rc as t,xf as u,Kf as v,vs as w,ys as x};