diff --git a/docs/404.html b/docs/404.html index 252b713b..b92e39aa 100644 --- a/docs/404.html +++ b/docs/404.html @@ -2,7 +2,6 @@ - ReportGenerator @@ -12,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/contact.html b/docs/contact.html index 60697fbd..2c0910d9 100644 --- a/docs/contact.html +++ b/docs/contact.html @@ -2,7 +2,6 @@ - ReportGenerator @@ -12,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/features.html b/docs/features.html index c30180a9..3300862c 100644 --- a/docs/features.html +++ b/docs/features.html @@ -2,7 +2,6 @@ - ReportGenerator @@ -12,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/getstarted.html b/docs/getstarted.html index 55febc72..1bdc4066 100644 --- a/docs/getstarted.html +++ b/docs/getstarted.html @@ -2,7 +2,6 @@ - ReportGenerator @@ -12,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index e500ffc3..8039af1a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,7 +2,6 @@ - ReportGenerator @@ -12,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/main.2c819b7cfce8baa5.js b/docs/main.2c819b7cfce8baa5.js deleted file mode 100644 index fce53046..00000000 --- a/docs/main.2c819b7cfce8baa5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{139:()=>{let Re=null,Wr=1;function Se(e){const n=Re;return Re=e,n}function sg(e){if((!bi(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==Wr)){if(!e.producerMustRecompute(e)&&!nu(e))return e.dirty=!1,void(e.lastCleanEpoch=Wr);e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=Wr}}function nu(e){Zr(e);for(let n=0;n0}function Zr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let pg=null;function Ce(e){return"function"==typeof e}function iu(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const su=iu(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function au(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Et{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(Ce(r))try{r()}catch(i){n=i instanceof su?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{_g(i)}catch(s){n=n??[],s instanceof su?n=[...n,...s.errors]:n.push(s)}}if(n)throw new su(n)}}add(n){var t;if(n&&n!==this)if(this.closed)_g(n);else{if(n instanceof Et){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&au(t,n)}remove(n){const{_finalizers:t}=this;t&&au(t,n),n instanceof Et&&n._removeParent(this)}}Et.EMPTY=(()=>{const e=new Et;return e.closed=!0,e})();const vg=Et.EMPTY;function yg(e){return e instanceof Et||e&&"closed"in e&&Ce(e.remove)&&Ce(e.add)&&Ce(e.unsubscribe)}function _g(e){Ce(e)?e():e.unsubscribe()}const vr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},la={setTimeout(e,n,...t){const{delegate:r}=la;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=la;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Cg(e){la.setTimeout(()=>{const{onUnhandledError:n}=vr;if(!n)throw e;n(e)})}function lu(){}const GM=cu("C",void 0,void 0);function cu(e,n,t){return{kind:e,value:n,error:t}}let yr=null;function ca(e){if(vr.useDeprecatedSynchronousErrorHandling){const n=!yr;if(n&&(yr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=yr;if(yr=null,t)throw r}}else e()}class uu extends Et{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,yg(n)&&n.add(this)):this.destination=XM}static create(n,t,r){return new ua(n,t,r)}next(n){this.isStopped?fu(function qM(e){return cu("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?fu(function zM(e){return cu("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?fu(GM,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const ZM=Function.prototype.bind;function du(e,n){return ZM.call(e,n)}class YM{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){da(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){da(r)}else da(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){da(t)}}}class ua extends uu{constructor(n,t,r){let o;if(super(),Ce(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&vr.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&du(n.next,i),error:n.error&&du(n.error,i),complete:n.complete&&du(n.complete,i)}):o=n}this.destination=new YM(o)}}function da(e){vr.useDeprecatedSynchronousErrorHandling?function WM(e){vr.useDeprecatedSynchronousErrorHandling&&yr&&(yr.errorThrown=!0,yr.error=e)}(e):Cg(e)}function fu(e,n){const{onStoppedNotification:t}=vr;t&&la.setTimeout(()=>t(e,n))}const XM={closed:!0,next:lu,error:function QM(e){throw e},complete:lu},hu="function"==typeof Symbol&&Symbol.observable||"@@observable";function qn(e){return e}function Dg(e){return 0===e.length?qn:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Te=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function e1(e){return e&&e instanceof uu||function KM(e){return e&&Ce(e.next)&&Ce(e.error)&&Ce(e.complete)}(e)&&yg(e)}(t)?t:new ua(t,r,o);return ca(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=wg(r))((o,i)=>{const s=new ua({next:a=>{try{t(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[hu](){return this}pipe(...t){return Dg(t)(this)}toPromise(t){return new(t=wg(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function wg(e){var n;return null!==(n=e??vr.Promise)&&void 0!==n?n:Promise}const t1=iu(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let zt=(()=>{class e extends Te{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new bg(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new t1}next(t){ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?vg:(this.currentObservers=null,i.push(t),new Et(()=>{this.currentObservers=null,au(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Te;return t.source=this,t}}return e.create=(n,t)=>new bg(n,t),e})();class bg extends zt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:vg}}function Eg(e){return Ce(e?.lift)}function $e(e){return n=>{if(Eg(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ve(e,n,t,r,o){return new n1(e,n,t,r,o)}class n1 extends uu{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function K(e,n){return $e((t,r)=>{let o=0;t.subscribe(Ve(r,i=>{r.next(e.call(n,i,o++))}))})}function Wn(e){return this instanceof Wn?(this.v=e,this):new Wn(e)}function Tg(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function vu(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Ag=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function xg(e){return Ce(e?.then)}function Ng(e){return Ce(e[hu])}function Rg(e){return Symbol.asyncIterator&&Ce(e?.[Symbol.asyncIterator])}function Og(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Pg=function E1(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function kg(e){return Ce(e?.[Pg])}function Fg(e){return function Sg(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(m){return new Promise(function(v,_){i.push([g,m,v,_])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof Wn?Promise.resolve(g.value.v).then(c,u):d(i[0][2],g)}(r[g](m))}catch(v){d(i[0][3],v)}}function c(g){a("next",g)}function u(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield Wn(t.read());if(o)return yield Wn(void 0);yield yield Wn(r)}}finally{t.releaseLock()}})}function Lg(e){return Ce(e?.getReader)}function qt(e){if(e instanceof Te)return e;if(null!=e){if(Ng(e))return function I1(e){return new Te(n=>{const t=e[hu]();if(Ce(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Ag(e))return function M1(e){return new Te(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Cg)})}(e);if(Rg(e))return Vg(e);if(kg(e))return function T1(e){return new Te(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Lg(e))return function A1(e){return Vg(Fg(e))}(e)}throw Og(e)}function Vg(e){return new Te(n=>{(function x1(e,n){var t,r,o,i;return function Ig(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Tg(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function An(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Xe(e,n,t=1/0){return Ce(n)?Xe((r,o)=>K((i,s)=>n(r,i,o,s))(qt(e(r,o))),t):("number"==typeof n&&(t=n),$e((r,o)=>function N1(e,n,t,r,o,i,s,a){const l=[];let c=0,u=0,d=!1;const g=()=>{d&&!l.length&&!c&&n.complete()},m=_=>c{i&&n.next(_),c++;let D=!1;qt(t(_,u++)).subscribe(Ve(n,I=>{o?.(I),i?m(I):n.next(I)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(I)):v(I)}g()}catch(I){n.error(I)}}))};return e.subscribe(Ve(n,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Yr(e=1/0){return Xe(qn,e)}const an=new Te(e=>e.complete());function yu(e){return e[e.length-1]}function jg(e){return Ce(yu(e))?e.pop():void 0}function Ei(e){return function O1(e){return e&&Ce(e.schedule)}(yu(e))?e.pop():void 0}function Hg(e,n=0){return $e((t,r)=>{t.subscribe(Ve(r,o=>An(r,e,()=>r.next(o),n),()=>An(r,e,()=>r.complete(),n),o=>An(r,e,()=>r.error(o),n)))})}function Ug(e,n=0){return $e((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Bg(e,n){if(!e)throw new Error("Iterable cannot be null");return new Te(t=>{An(t,n,()=>{const r=e[Symbol.asyncIterator]();An(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Oe(e,n){return n?function H1(e,n){if(null!=e){if(Ng(e))return function k1(e,n){return qt(e).pipe(Ug(n),Hg(n))}(e,n);if(Ag(e))return function L1(e,n){return new Te(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(xg(e))return function F1(e,n){return qt(e).pipe(Ug(n),Hg(n))}(e,n);if(Rg(e))return Bg(e,n);if(kg(e))return function V1(e,n){return new Te(t=>{let r;return An(t,n,()=>{r=e[Pg](),An(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>Ce(r?.return)&&r.return()})}(e,n);if(Lg(e))return function j1(e,n){return Bg(Fg(e),n)}(e,n)}throw Og(e)}(e,n):qt(e)}class kt extends zt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function F(...e){return Oe(e,Ei(e))}function _r(e){return e<=0?()=>an:$e((n,t)=>{let r=0;n.subscribe(Ve(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function $g(e={}){const{connector:n=(()=>new zt),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,c=0,u=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,u=d=!1},v=()=>{const _=s;m(),_?.unsubscribe()};return $e((_,D)=>{c++,!d&&!u&&g();const I=l=l??n();D.add(()=>{c--,0===c&&!d&&!u&&(a=_u(v,o))}),I.subscribe(D),s||(s=new ua({next:w=>I.next(w),error:w=>{d=!0,g(),a=_u(m,t,w),I.error(w)},complete:()=>{u=!0,g(),a=_u(m,r),I.complete()}}),Oe(_).subscribe(s))})(i)}}function _u(e,n,...t){return!0===n?(e(),null):!1===n?null:n(...t).pipe(_r(1)).subscribe(()=>e())}function Ft(e,n){return $e((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Ve(r,l=>{o?.unsubscribe();let c=0;const u=i++;qt(e(l,u)).subscribe(o=Ve(r,d=>r.next(n?n(l,d,u,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function $1(e,n){return e===n}function le(e){for(let n in e)if(e[n]===le)return n;throw Error("Could not find renamed property on target object.")}function fa(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function je(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(je).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function Cu(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const G1=le({__forward_ref__:le});function he(e){return e.__forward_ref__=he,e.toString=function(){return je(this())},e}function j(e){return ha(e)?e():e}function ha(e){return"function"==typeof e&&e.hasOwnProperty(G1)&&e.__forward_ref__===he}function Du(e){return e&&!!e.\u0275providers}const Gg="https://g.co/ng/security#xss";class M extends Error{constructor(n,t){super(function Qr(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}const Ii=le({\u0275cmp:le}),wu=le({\u0275dir:le}),bu=le({\u0275pipe:le}),zg=le({\u0275mod:le}),xn=le({\u0275fac:le}),Mi=le({__NG_ELEMENT_ID__:le}),qg=le({__NG_ENV_ID__:le});function G(e){return"string"==typeof e?e:null==e?"":String(e)}function Eu(e,n){throw new M(-201,!1)}function gt(e,n){null==e&&function L(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function O(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ln(e){return{providers:e.providers||[],imports:e.imports||[]}}function pa(e){return Wg(e,ma)||Wg(e,Zg)}function Wg(e,n){return e.hasOwnProperty(n)?e[n]:null}function ga(e){return e&&(e.hasOwnProperty(Iu)||e.hasOwnProperty(K1))?e[Iu]:null}const ma=le({\u0275prov:le}),Iu=le({\u0275inj:le}),Zg=le({ngInjectableDef:le}),K1=le({ngInjectorDef:le});var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});let Mu;function Yg(){return Mu}function mt(e){const n=Mu;return Mu=e,n}function Qg(e,n,t){const r=pa(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void Eu(je(e))}const pe=globalThis;class N{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=O({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Si={},Nu="__NG_DI_FLAG__",va="ngTempTokenPath",n0=/\n/gm,Jg="__source";let Xr;function Yn(e){const n=Xr;return Xr=e,n}function s0(e,n=X.Default){if(void 0===Xr)throw new M(-203,!1);return null===Xr?Qg(e,void 0,n):Xr.get(e,n&X.Optional?null:void 0,n)}function k(e,n=X.Default){return(Yg()||s0)(j(e),n)}function A(e,n=X.Default){return k(e,ya(n))}function ya(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ru(e){const n=[];for(let t=0;tn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==em(m,c,0)||2&r&&c!==g){if(Zt(r))return!1;s=!0}}}}else{if(!s&&!Zt(r)&&!Zt(l))return!1;if(s&&Zt(l))continue;s=!1,r=l|1&r}}return Zt(r)||s}function Zt(e){return 0==(1&e)}function h0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!Zt(s)&&(n+=am(i,o),o=""),r=s,i=i||!Zt(r);t++}return""!==o&&(n+=am(i,o)),n}function Mt(e){return Nn(()=>{const n=cm(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===_a.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Wt.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};um(t);const r=e.dependencies;return t.directiveDefs=Ca(r,!1),t.pipeDefs=Ca(r,!0),t.id=function E0(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function D0(e){return Q(e)||Ge(e)}function w0(e){return null!==e}function Rn(e){return Nn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function lm(e,n){if(null==e)return cn;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function $(e){return Nn(()=>{const n=cm(e);return um(n),n})}function Q(e){return e[Ii]||null}function Ge(e){return e[wu]||null}function Je(e){return e[bu]||null}function et(e,n){const t=e[zg]||null;if(!t&&!0===n)throw new Error(`Type ${je(e)} does not have '\u0275mod' property.`);return t}function cm(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||cn,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:lm(e.inputs,n),outputs:lm(e.outputs),debugInfo:null}}function um(e){e.features?.forEach(n=>n(e))}function Ca(e,n){if(!e)return null;const t=n?Je:D0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(w0)}const Ae=0,T=1,H=2,we=3,Yt=4,tt=5,un=6,Jr=7,ge=8,it=9,Kr=10,z=11,xi=12,dm=13,eo=14,Me=15,Ni=16,to=17,dn=18,Ri=19,fm=20,Xn=21,Da=22,Cr=23,U=25,Pu=1,hm=2,ku=6,fn=7,no=9,Pe=11;function Ke(e){return Array.isArray(e)&&"object"==typeof e[Pu]}function Ye(e){return Array.isArray(e)&&!0===e[Pu]}function Fu(e){return 0!=(4&e.flags)}function Dr(e){return e.componentOffset>-1}function ba(e){return 1==(1&e.flags)}function Qt(e){return!!e.template}function Lu(e){return 0!=(512&e[H])}function wr(e,n){return e.hasOwnProperty(xn)?e[xn]:null}class T0{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Lt(){return vm}function vm(e){return e.type.prototype.ngOnChanges&&(e.setInput=x0),A0}function A0(){const e=_m(this),n=e?.current;if(n){const t=e.previous;if(t===cn)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function x0(e,n,t,r){const o=this.declaredInputs[t],i=_m(e)||function N0(e,n){return e[ym]=n}(e,{previous:cn,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new T0(l&&l.currentValue,n,a===cn),e[r]=n}Lt.ngInherit=!0;const ym="__ngSimpleChanges__";function _m(e){return e[ym]||null}const hn=function(e,n,t){};function me(e){for(;Array.isArray(e);)e=e[Ae];return e}function Pi(e,n){return me(n[e])}function st(e,n){return me(n[e.index])}function ki(e,n){return e.data[n]}function St(e,n){const t=n[e];return Ke(t)?t:t[Ae]}function Bu(e){return 128==(128&e[H])}function pn(e,n){return null==n?null:e[n]}function wm(e){e[to]=0}function F0(e){1024&e[H]||(e[H]|=1024,Bu(e)&&Ea(e))}function Em(e){9216&e[H]&&Ea(e)}function Ea(e){let n=e[we];for(;null!==n&&!(Ye(n)&&n[ku]||Ke(n)&&8192&n[H]);){if(Ye(n))n[ku]=!0;else if(n[H]|=8192,!Bu(n))break;n=n[we]}}function Ia(e,n){if(256==(256&e[H]))throw new M(911,!1);null===e[Xn]&&(e[Xn]=[]),e[Xn].push(n)}const B={lFrame:Pm(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Mm(){return B.bindingsEnabled}function b(){return B.lFrame.lView}function J(){return B.lFrame.tView}function re(e){return B.lFrame.contextLView=e,e[ge]}function oe(e){return B.lFrame.contextLView=null,e}function ue(){let e=Sm();for(;null!==e&&64===e.type;)e=e.parent;return e}function Sm(){return B.lFrame.currentTNode}function gn(e,n){const t=B.lFrame;t.currentTNode=e,t.isParent=n}function Gu(){return B.lFrame.isParent}function zu(){B.lFrame.isParent=!1}function at(){const e=B.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function mn(){return B.lFrame.bindingIndex++}function W0(e,n){const t=B.lFrame;t.bindingIndex=t.bindingRootIndex=e,qu(n)}function qu(e){B.lFrame.currentDirectiveIndex=e}function Nm(){return B.lFrame.currentQueryIndex}function Zu(e){B.lFrame.currentQueryIndex=e}function Y0(e){const n=e[T];return 2===n.type?n.declTNode:1===n.type?e[tt]:null}function Rm(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=Y0(i),null===o||(i=i[eo],10&o.type))););if(null===o)return!1;n=o,e=i}const r=B.lFrame=Om();return r.currentTNode=n,r.lView=e,!0}function Yu(e){const n=Om(),t=e[T];B.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Om(){const e=B.lFrame,n=null===e?null:e.child;return null===n?Pm(e):n}function Pm(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function km(){const e=B.lFrame;return B.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Fm=km;function Qu(){const e=km();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function lt(){return B.lFrame.selectedIndex}function br(e){B.lFrame.selectedIndex=e}function De(){const e=B.lFrame;return ki(e.tView,e.selectedIndex)}let Vm=!0;function Ma(){return Vm}function Jn(e){Vm=e}function Sa(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[to]+=65536),(a>14>16&&(3&e[H])===n&&(e[H]+=16384,Hm(a,i)):Hm(a,i)}const io=-1;class Li{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function Ku(e){return e!==io}function Vi(e){return 32767&e}function ji(e,n){let t=function aS(e){return e>>16}(e),r=n;for(;t>0;)r=r[eo],t--;return r}let ed=!0;function xa(e){const n=ed;return ed=e,n}const Um=255,Bm=5;let lS=0;const vn={};function Na(e,n){const t=$m(e,n);if(-1!==t)return t;const r=n[T];r.firstCreatePass&&(e.injectorIndex=n.length,td(r.data,e),td(n,null),td(r.blueprint,null));const o=Ra(e,n),i=e.injectorIndex;if(Ku(o)){const s=Vi(o),a=ji(o,n),l=a[T].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|l[s+c]}return n[i+8]=o,i}function td(e,n){e.push(0,0,0,0,0,0,0,0,n)}function $m(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Ra(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=Qm(o),null===r)return io;if(t++,o=o[eo],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return io}function nd(e,n,t){!function cS(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Mi)&&(r=t[Mi]),null==r&&(r=t[Mi]=lS++);const o=r&Um;n.data[e+(o>>Bm)]|=1<=0?n&Um:hS:n}(t);if("function"==typeof i){if(!Rm(n,e,r))return r&X.Host?Gm(o,0,r):zm(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;Eu()}finally{Fm()}}else if("number"==typeof i){let s=null,a=$m(e,n),l=io,c=r&X.Host?n[Me][tt]:null;for((-1===a||r&X.SkipSelf)&&(l=-1===a?Ra(e,n):n[a+8],l!==io&&Ym(r,!1)?(s=n[T],a=Vi(l),n=ji(l,n)):a=-1);-1!==a;){const u=n[T];if(Zm(i,a,u.data)){const d=dS(a,n,t,s,r,c);if(d!==vn)return d}l=n[a+8],l!==io&&Ym(r,n[T].data[a+8]===c)&&Zm(i,a,n)?(s=u,a=Vi(l),n=ji(l,n)):a=-1}}return o}function dS(e,n,t,r,o,i){const s=n[T],a=s.data[e+8],u=Oa(a,s,t,null==r?Dr(a)&&ed:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==u?Er(n,s,u,a):vn}function Oa(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,u=i>>20,g=o?a+u:e.directiveEnd;for(let m=r?a:a+u;m=l&&v.type===t)return m}if(o){const m=s[l];if(m&&Qt(m)&&m.type===t)return l}return null}function Er(e,n,t,r){let o=e[t];const i=n.data;if(function rS(e){return e instanceof Li}(o)){const s=o;s.resolving&&function q1(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new M(-200,`Circular dependency in DI detected for ${e}${t}`)}(function ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():G(e)}(i[t]));const a=xa(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?mt(s.injectImpl):null;Rm(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function tS(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=vm(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&mt(c),xa(a),s.resolving=!1,Fm()}}return o}function Zm(e,n,t){return!!(t[n+(e>>Bm)]&1<{const n=e.prototype.constructor,t=n[xn]||rd(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[xn]||rd(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function rd(e){return ha(e)?()=>{const n=rd(j(e));return n&&n()}:wr(e)}function Qm(e){const n=e[T],t=n.type;return 2===t?n.declTNode:1===t?e[tt]:null}const co="__parameters__";function fo(e,n,t){return Nn(()=>{const r=function od(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(co)?l[co]:Object.defineProperty(l,co,{value:[]})[co];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function po(e,n){e.forEach(t=>Array.isArray(t)?po(t,n):n(t))}function Jm(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function ka(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Tt(e,n,t){let r=go(e,n);return r>=0?e[1|r]=t:(r=~r,function Km(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function sd(e,n){const t=go(e,n);if(t>=0)return e[1|t]}function go(e,n){return function ev(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<{t.push(s)};return po(n,s=>{const a=s;Ua(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&av(o,i),t}function av(e,n){for(let t=0;t{n(i,r)})}}function Ua(e,n,t,r){if(!(e=j(e)))return!1;let o=null,i=ga(e);const s=!i&&Q(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=ga(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ua(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{po(i.imports,u=>{Ua(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&av(c,n)}if(!a){const c=wr(o)||(()=>new o);n({provide:o,useFactory:c,deps:te},o),n({provide:cd,useValue:o,multi:!0},o),n({provide:vo,useValue:()=>k(o),multi:!0},o)}const l=i.providers;if(null!=l&&!a){const c=e;dd(l,u=>{n(u,c)})}}}return o!==e&&void 0!==e.providers}function dd(e,n){for(let t of e)Du(t)&&(t=t.\u0275providers),Array.isArray(t)?dd(t,n):n(t)}const FS=le({provide:String,useValue:le});function fd(e){return null!==e&&"object"==typeof e&&FS in e}function Ir(e){return"function"==typeof e}const hd=new N("Set Injector scope."),Ba={},VS={};let pd;function $a(){return void 0===pd&&(pd=new Ha),pd}class At{}class Mr extends At{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,md(n,s=>this.processProvider(s)),this.records.set(ov,yo(void 0,this)),o.has("environment")&&this.records.set(At,yo(void 0,this));const i=this.records.get(hd);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(cd,te,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=Yn(this),r=mt(void 0);try{return n()}finally{Yn(t),mt(r)}}get(n,t=Si,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(qg))return n[qg](this);r=ya(r);const i=Yn(this),s=mt(void 0);try{if(!(r&X.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function $S(e){return"function"==typeof e||"object"==typeof e&&e instanceof N}(n)&&pa(n);l=c&&this.injectableDefInScope(c)?yo(gd(n),Ba):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(r&X.Self?$a():this.parent).get(n,t=r&X.Optional&&t===Si?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[va]=a[va]||[]).unshift(je(n)),i)throw a;return function l0(e,n,t,r){const o=e[va];throw n[Jg]&&o.unshift(n[Jg]),e.message=function c0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=je(n);if(Array.isArray(n))o=n.map(je).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):je(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(n0,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[va]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{mt(s),Yn(i)}}resolveInjectorInitializers(){const n=Yn(this),t=mt(void 0);try{const o=this.get(vo,te,X.Self);for(const i of o)i()}finally{Yn(n),mt(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(je(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new M(205,!1)}processProvider(n){let t=Ir(n=j(n))?n:j(n&&n.provide);const r=function HS(e){return fd(e)?yo(void 0,e.useValue):yo(uv(e),Ba)}(n);if(Ir(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=yo(void 0,Ba,!0),o.factory=()=>Ru(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===Ba&&(t.value=VS,t.value=t.factory()),"object"==typeof t.value&&t.value&&function BS(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=j(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function gd(e){const n=pa(e),t=null!==n?n.factory:wr(e);if(null!==t)return t;if(e instanceof N)throw new M(204,!1);if(e instanceof Function)return function jS(e){const n=e.length;if(n>0)throw function Ui(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new M(204,!1)}function uv(e,n,t){let r;if(Ir(e)){const o=j(e);return wr(o)||gd(o)}if(fd(e))r=()=>j(e.useValue);else if(function cv(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Ru(e.deps||[]));else if(function lv(e){return!(!e||!e.useExisting)}(e))r=()=>k(j(e.useExisting));else{const o=j(e&&(e.useClass||e.provide));if(!function US(e){return!!e.deps}(e))return wr(o)||gd(o);r=()=>new o(...Ru(e.deps))}return r}function yo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function md(e,n){for(const t of e)Array.isArray(t)?md(t,n):t&&Du(t)?md(t.\u0275providers,n):n(t)}function pv(e,n=null,t=null,r){const o=gv(e,n,t,r);return o.resolveInjectorInitializers(),o}function gv(e,n=null,t=null,r,o=new Set){const i=[t||te,iv(e)];return r=r||("object"==typeof e?void 0:je(e)),new Mr(i,n||$a(),r||null,o)}let _d,_t=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Si;static#t=this.NULL=new Ha;static create(t,r){if(Array.isArray(t))return pv({name:""},r,t,"");{const o=t.name??"";return pv({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=O({token:e,providedIn:"any",factory:()=>k(ov)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();const za=new N("AppId",{providedIn:"root",factory:()=>KS}),KS="ng",vv=new N("Platform Initializer"),Sr=new N("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),yv=new N("CSP nonce",{providedIn:"root",factory:()=>function er(){if(void 0!==_d)return _d;if(typeof document<"u")return document;throw new M(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});function xt(e){return e instanceof Function?e():e}function Ya(e){return 128==(128&e.flags)}var rr=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(rr||{});const cT=/^>|^->||--!>|)/g,dT="\u200b$1\u200b";const Ed=new Map;let fT=0;const Md="__ngContext__";function nt(e,n){Ke(n)?(e[Md]=n[Ri],function pT(e){Ed.set(e[Ri],e)}(n)):e[Md]=n}let Sd;function Td(e,n){return Sd(e,n)}function Wi(e){const n=e[we];return Ye(n)?n[we]:n}function Fv(e){return Vv(e[xi])}function Lv(e){return Vv(e[Yt])}function Vv(e){for(;null!==e&&!Ye(e);)e=e[Yt];return e}function Co(e,n,t,r,o){if(null!=r){let i,s=!1;Ye(r)?i=r:Ke(r)&&(s=!0,r=r[Ae]);const a=me(r);0===e&&null!==t?null==o?Bv(n,t,a):Tr(n,t,a,o||null,!0):1===e&&null!==t?Tr(n,t,a,o||null,!0):2===e?function nl(e,n,t){const r=el(e,n);r&&function OT(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function FT(e,n,t,r,o){const i=t[fn];i!==me(t)&&Co(n,e,r,i,o);for(let a=Pe;an.replace(uT,dT))}(n))}function Ja(e,n,t){return e.createElement(n,t)}function Hv(e,n){const t=e[no],r=t.indexOf(n);t.splice(r,1)}function Zi(e,n){if(e.length<=Pe)return;const t=Pe+n,r=e[t];if(r){const o=r[Ni];null!==o&&o!==e&&Hv(o,r),n>0&&(e[t-1][Yt]=r[Yt]);const i=ka(e,Pe+n);!function IT(e,n){Qi(e,n,n[z],2,null,null),n[Ae]=null,n[tt]=null}(r[T],r);const s=i[dn];null!==s&&s.detachView(i[T]),r[we]=null,r[Yt]=null,r[H]&=-129}return r}function Ka(e,n){if(!(256&n[H])){const t=n[z];n[Cr]&&function dg(e){if(Zr(e),bi(e))for(let n=0;n=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[Jr]=null);const o=n[Xn];if(null!==o){n[Xn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Wt.None||i===Wt.Emulated)return null}return st(r,t)}}(e,n.parent,t)}function Tr(e,n,t,r,o){e.insertBefore(n,t,r,o)}function Bv(e,n,t){e.appendChild(n,t)}function $v(e,n,t,r,o){null!==r?Tr(e,n,t,r,o):Bv(e,n,t)}function el(e,n){return e.parentNode(n)}let Rd,ol,qv=function zv(e,n,t){return 40&e.type?st(e,t):null};function tl(e,n,t,r){const o=Nd(e,r,n),i=n[z],a=function Gv(e,n,t){return qv(e,n,t)}(r.parent||n[tt],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return ol}()?.createScriptURL(e)||e}class ny{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Gg})`}}function or(e){return e instanceof ny?e.changingThisBreaksApplicationSecurity:e}function Xi(e,n){const t=function WT(e){return e instanceof ny&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Gg})`)}return t===n}const XT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var wo=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(wo||{});function bo(e){const n=Ki();return n?n.sanitize(wo.URL,e)||"":Xi(e,"URL")?or(e):function Ld(e){return(e=String(e)).match(XT)?e:"unsafe:"+e}(G(e))}function cy(e){const n=Ki();if(n)return ty(n.sanitize(wo.RESOURCE_URL,e)||"");if(Xi(e,"ResourceURL"))return ty(or(e));throw new M(904,!1)}function Ki(){const e=b();return e&&e[Kr].sanitizer}let dy=(e,n,t)=>null;function Zd(e,n,t=!1){return dy(e,n,t)}class yA{}class py{}class CA{resolveComponentFactory(n){throw function _A(e){const n=Error(`No component factory found for ${je(e)}.`);return n.ngComponent=e,n}(n)}}let dl=(()=>{class e{static#e=this.NULL=new CA}return e})();function DA(){return Mo(ue(),b())}function Mo(e,n){return new Nt(st(e,n))}let Nt=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=DA}return e})();function wA(e){return e instanceof Nt?e.nativeElement:e}class my{}let Fn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function bA(){const e=b(),t=St(ue().index,e);return(Ke(t)?t:e)[z]}()}return e})(),EA=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:()=>null})}return e})();class ns{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const IA=new ns("17.0.2"),Xd={};function fl(e){return!!Jd(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Jd(e){return null!==e&&("function"==typeof e||"object"==typeof e)}class yy{constructor(){}supports(n){return fl(n)}create(n){return new xA(n)}}const AA=(e,n)=>n;class xA{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||AA}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new NA(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new _y),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new _y),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class NA{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class RA{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class _y{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new RA,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Cy(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new PA(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class PA{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function wy(){return new hl([new yy])}let hl=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:wy});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||wy()),deps:[[e,new Va,new La]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new M(901,!1)}}return e})();function by(){return new rs([new Dy])}let rs=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:by});constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||by()),deps:[[e,new Va,new La]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new M(901,!1)}}return e})();function os(e,n,t,r,o=!1){for(;null!==t;){const i=n[t.index];null!==i&&r.push(me(i)),Ye(i)&&Ey(i,r);const s=t.type;if(8&s)os(e,n,t.child,r);else if(32&s){const a=Td(t,n);let l;for(;l=a();)r.push(l)}else if(16&s){const a=Zv(n,t);if(Array.isArray(a))r.push(...a);else{const l=Wi(n[Me]);os(l[T],l,a,r,!0)}}t=o?t.projectionNext:t.next}return r}function Ey(e,n){for(let t=Pe;t!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{},consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Ea(e.lView)},consumerOnSignalRead(){this.lView[Cr]=this}};function Kd(e){return e.ngOriginalError}class Ln{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Kd(n);for(;t&&Kd(t);)t=Kd(t);return t||null}}const Ty=new N("",{providedIn:"root",factory:()=>!1}),W={};function C(e){Ry(J(),b(),lt()+e,!1)}function Ry(e,n,t,r){if(!r)if(3==(3&n[H])){const i=e.preOrderCheckHooks;null!==i&&Ta(n,i,t)}else{const i=e.preOrderHooks;null!==i&&Aa(n,i,0,t)}br(t)}function S(e,n=X.Default){const t=b();return null===t?k(e,n):qm(ue(),t,j(e),n)}function gl(e,n,t,r,o,i,s,a,l,c,u){const d=n.blueprint.slice();return d[Ae]=o,d[H]=140|r,(null!==c||e&&2048&e[H])&&(d[H]|=2048),wm(d),d[we]=d[eo]=e,d[ge]=t,d[Kr]=s||e&&e[Kr],d[z]=a||e&&e[z],d[it]=l||e&&e[it]||null,d[tt]=i,d[Ri]=function hT(){return fT++}(),d[un]=u,d[fm]=c,d[Me]=2==n.type?e[Me]:d,d}function So(e,n,t,r,o){let i=e.data[n];if(null===i)i=function ef(e,n,t,r,o){const i=Sm(),s=Gu(),l=e.data[n]=function JA(e,n,t,r,o,i){let s=n?n.injectorIndex:-1,a=0;return function oo(){return null!==B.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,t,n,r,o);return null===e.firstChild&&(e.firstChild=l),null!==i&&(s?null==i.child&&null!==l.parent&&(i.child=l):null===i.next&&(i.next=l,l.prev=i)),l}(e,n,t,r,o),function q0(){return B.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=t,i.value=r,i.attrs=o;const s=function Fi(){const e=B.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return gn(i,!0),i}function is(e,n,t,r){if(0===t)return-1;const o=n.length;for(let i=0;iU&&Ry(e,n,U,!1),hn(s?2:0,o),t(r,o)}finally{br(i),hn(s?3:1,o)}}function tf(e,n,t){if(Fu(n)){const r=Se(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function Ly(e,n,t,r){for(let o in e)if(e.hasOwnProperty(o)){t=null===t?{}:t;const i=e[o];null===r?Vy(t,n,o,i):r.hasOwnProperty(o)&&Vy(t,n,r[o],i)}return t}function Vy(e,n,t,r){e.hasOwnProperty(t)?e[t].push(n,r):e[t]=[n,r]}function Rt(e,n,t,r,o,i,s,a){const l=st(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(df(e,t,u,r,o),Dr(n)&&function tx(e,n){const t=St(n,e);16&t[H]||(t[H]|=64)}(t,n.index)):3&n.type&&(r=function ex(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(l,r,o))}function af(e,n,t,r){if(Mm()){const o=null===r?null:{"":-1},i=function ax(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,is(e,t,o.hostVars,W),o)}function yn(e,n,t,r,o,i){const s=st(e,n);!function cf(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?G(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[z],s,i,e.value,t,r,o)}function hx(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;ae.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(a,s),function VA(e){e.lView[Cr]!==e&&(e.lView=null,Iy.push(e))}(a)),Qu()}}function Zy(e,n){for(let t=Fv(e);null!==t;t=Lv(t)){t[ku]=!1;for(let r=Pe;r-1&&(Zi(n,r),ka(t,r))}this._attachedToViewContainer=!1}Ka(this._lView[T],this._lView)}onDestroy(n){Ia(this._lView,n)}markForCheck(){ss(this._cdRefInjectingView||this._lView)}detach(){this._lView[H]&=-129}reattach(){Em(this._lView),this._lView[H]|=128}detectChanges(){!function ff(e,n,t,r=!0){const o=n[Kr],i=o.rendererFactory,s=o.afterRenderEventManager;i.begin?.(),s?.begin();try{Wy(e,n,e.template,t),function mx(e){let n=0;for(;9216&e[H]||e[Cr]?.dirty;){if(100===n)throw new M(103,!1);n++,Qy(e,1)}}(n)}catch(l){throw r&&vl(n,l),l}finally{i.end?.(),o.inlineEffectRunner?.flush(),s?.end()}}(this._lView[T],this._lView,this.context,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new M(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function ST(e,n){Qi(e,n,n[z],2,null,null)}(this._lView[T],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new M(902,!1);this._appRef=n}}let ls=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=Dx}return e})();function Dx(e){return function wx(e,n,t){if(Dr(e)&&!t){const r=St(e.index,n);return new as(r,r)}return 47&e.type?new as(n[Me],n):null}(ue(),b(),16==(16&e))}let yl=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=Mx;static#t=this.__NG_ENV_ID__=t=>t}return e})();class Ix extends yl{constructor(n){super(),this._lView=n}onDestroy(n){return Ia(this._lView,n),()=>function $u(e,n){if(null===e[Xn])return;const t=e[Xn].indexOf(n);-1!==t&&e[Xn].splice(t,1)}(this._lView,n)}}function Mx(){return new Ix(b())}const Jy=new Set;function Ar(e){Jy.has(e)||(Jy.add(e),performance?.mark?.("mark_use_counter",{detail:{feature:e}}))}function hf(e){return n=>{setTimeout(e,void 0,n)}}const xe=class Ox extends zt{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=hf(i),o&&(o=hf(o)),s&&(s=hf(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof Et&&n.add(a),a}};function Ky(...e){}class ae{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new xe(!1),this.onMicrotaskEmpty=new xe(!1),this.onStable=new xe(!1),this.onError=new xe(!1),typeof Zone>"u")throw new M(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function Px(){const e="function"==typeof pe.requestAnimationFrame;let n=pe[e?"requestAnimationFrame":"setTimeout"],t=pe[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function Lx(e){const n=()=>{!function Fx(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(pe,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,gf(e),e.isCheckStableRunning=!0,pf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),gf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function jx(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return e_(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),t_(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return e_(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),t_(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,gf(e),pf(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ae.isInAngularZone())throw new M(909,!1)}static assertNotInAngularZone(){if(ae.isInAngularZone())throw new M(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,kx,Ky,Ky);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const kx={};function pf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function gf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function e_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function t_(e){e._nesting--,pf(e)}const n_=new N("",{providedIn:"root",factory:r_});function r_(){const e=A(ae);let n=!0;return function U1(...e){const n=Ei(e),t=function P1(e,n){return"number"==typeof yu(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?qt(r[0]):Yr(t)(Oe(r,n)):an}(new Te(o=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(n),o.complete()})}),new Te(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ae.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ae.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe($g()))}var xr=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(xr||{});const o_={destroy(){}};function s_(e,n){!n&&function vd(e){if(!Yg()&&!function o0(){return Xr}())throw new M(-203,!1)}();const t=n?.injector??A(_t);if(!function tr(e){return"browser"===(e??A(_t)).get(Sr)}(t))return o_;Ar("NgAfterNextRender");const r=t.get(_l),o=r.handler??=new l_,i=n?.phase??xr.MixedReadWrite,s=()=>{o.unregister(l),a()},a=t.get(yl).onDestroy(s),l=new a_(t,i,()=>{s(),e()});return o.register(l),{destroy:s}}class a_{constructor(n,t,r){this.phase=t,this.callbackFn=r,this.zone=n.get(ae),this.errorHandler=n.get(Ln,null,{optional:!0})}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(n){this.errorHandler?.handleError(n)}}}class l_{constructor(){this.executingCallbacks=!1,this.buckets={[xr.EarlyRead]:new Set,[xr.Write]:new Set,[xr.MixedReadWrite]:new Set,[xr.Read]:new Set},this.deferredCallbacks=new Set}validateBegin(){if(this.executingCallbacks)throw new M(102,!1)}register(n){(this.executingCallbacks?this.deferredCallbacks:this.buckets[n.phase]).add(n)}unregister(n){this.buckets[n.phase].delete(n),this.deferredCallbacks.delete(n)}execute(){this.executingCallbacks=!0;for(const n of Object.values(this.buckets))for(const t of n)t.invoke();this.executingCallbacks=!1;for(const n of this.deferredCallbacks)this.buckets[n.phase].add(n);this.deferredCallbacks.clear()}destroy(){for(const n of Object.values(this.buckets))n.clear();this.deferredCallbacks.clear()}}let _l=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null,this.internalCallbacks=[]}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth){for(const t of this.internalCallbacks)t();this.internalCallbacks.length=0,this.handler?.execute()}}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:()=>new e})}return e})();function Ux(e,n){const t=St(n,e),r=t[T];!function Bx(e,n){for(let t=n.length;t0&&Xv(e,t,i.join(" "))}}(d,Ie,m,r),void 0!==t&&function Jx(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Ai(o.hostAttrs,t=Ai(t,o.hostAttrs))}}(r)}function Dl(e){return e===cn?{}:e===te?[]:e}function tN(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function nN(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function rN(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function g_(e){const n=e.inputConfig,t={};for(const r in n)if(n.hasOwnProperty(r)){const o=n[r];Array.isArray(o)&&o[2]&&(t[r]=o[2])}e.inputTransforms=t}function _n(e,n,t){return e[n]=t}function He(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Xt(e,n,t,r){const o=b();return He(o,mn(),n)&&(J(),yn(De(),o,e,n,t,r)),Xt}function Ao(e,n,t,r){return He(e,mn(),t)?n+G(t)+r:W}function bl(e,n){return e<<17|n<<2}function ir(e){return e>>17&32767}function vf(e){return 2|e}function Rr(e){return(131068&e)>>2}function yf(e,n){return-131069&e|n<<2}function _f(e){return 1|e}function I_(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?ir(i):Rr(i),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];pN(e[a],n)&&(l=!0,e[a+1]=r?_f(u):vf(u)),a=r?ir(u):Rr(u)}l&&(e[t+1]=r?vf(i):_f(i))}function pN(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&go(e,n)>=0}function E(e,n,t){const r=b();return He(r,mn(),n)&&Rt(J(),De(),r,e,n,r[z],t,!1),E}function Cf(e,n,t,r,o){const s=o?"class":"style";df(e,t,n.inputs[s],s,r)}function El(e,n){return function Jt(e,n,t,r){const o=b(),i=J(),s=function Pn(e){const n=B.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function P_(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[lt()],s=function O_(e,n){return n>=e.expandoStartIndex}(e,t);(function V_(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function bN(e,n,t,r){const o=function Wu(e){const n=B.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=ds(t=Df(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=Df(o,e,n,t,r),null===i){let l=function EN(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==Rr(r))return e[ir(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=Df(null,e,n,l[1],r),l=ds(l,n.attrs,r),function IN(e,n,t,r){e[ir(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function MN(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):u=t,o)if(0!==l){const g=ir(e[a+1]);e[r+1]=bl(g,a),0!==g&&(e[g+1]=yf(e[g+1],r)),e[a+1]=function uN(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=bl(a,0),0!==a&&(e[a+1]=yf(e[a+1],r)),a=r;else e[r+1]=bl(l,0),0===a?a=r:e[l+1]=yf(e[l+1],r),l=r;c&&(e[r+1]=vf(e[r+1])),I_(e,u,r,!0),I_(e,u,r,!1),function hN(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&go(i,n)>=0&&(t[r+1]=_f(t[r+1]))}(n,u,e,r,i),s=bl(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==W&&He(o,s,n)&&function F_(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const l=e.data,c=l[a+1],u=function dN(e){return 1==(1&e)}(c)?L_(l,n,t,o,Rr(c),s):void 0;Il(u)||(Il(i)||function cN(e){return 2==(2&e)}(c)&&(i=L_(l,null,t,o,a,s)),function LT(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:rr.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=rr.Important),e.setStyle(t,r,o,i))}}(r,s,Pi(lt(),t),o,i))}(i,i.data[lt()],o,o[z],e,o[s+1]=function xN(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=je(or(e)))),e}(n,t),r,s)}(e,n,null,!0),El}function Df(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[o+1];g===W&&(g=d?te:void 0);let m=d?sd(g,r):u===r?g:void 0;if(c&&!Il(m)&&(m=sd(l,r)),Il(m)&&(a=m,s))return a;const v=e[o+1];o=s?ir(v):Rr(v)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=sd(l,r))}return a}function Il(e){return void 0!==e}let G_=(e,n)=>null;function Vo(e,n){return G_(e,n)}function gs(e,n,t,r){const o=n.tView,a=gl(e,o,t,4096&e[H]?4096:16,null,n,null,null,null,r?.injector??null,r?.dehydratedView??null);a[Ni]=e[n.index];const c=e[dn];return null!==c&&(a[dn]=c.createEmbeddedView(o)),mf(o,a,t),a}function jo(e,n){return!n||Ya(e)}function ms(e,n,t,r=!0){const o=n[T];if(function AT(e,n,t,r){const o=Pe+r,i=t.length;r>0&&(t[o-1][Yt]=n),r{class e{static#e=this.__NG_ELEMENT_ID__=uR}return e})();function uR(){return X_(ue(),b())}const dR=en,Y_=class extends dR{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return Mo(this._hostTNode,this._hostLView)}get injector(){return new ze(this._hostTNode,this._hostLView)}get parentInjector(){const n=Ra(this._hostTNode,this._hostLView);if(Ku(n)){const t=ji(n,this._hostLView),r=Vi(n);return new ze(t[T].data[r+8],t)}return new ze(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Q_(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Pe}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const s=Vo(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},i,s);return this.insertImpl(a,o,jo(this._hostTNode,s)),a}createComponent(n,t,r,o,i){const s=n&&!function Hi(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const v=t||{};a=v.index,r=v.injector,o=v.projectableNodes,i=v.environmentInjector||v.ngModuleRef}const l=s?n:new cs(Q(n)),c=r||this.parentInjector;if(!i&&null==l.ngModule){const _=(s?c:this.parentInjector).get(At,null);_&&(i=_)}const u=Q(l.componentType??{}),d=Vo(this._lContainer,u?.id??null),m=l.create(c,o,d?.firstChild??null,i);return this.insertImpl(m.hostView,a,jo(this._hostTNode,d)),m}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){const o=n._lView;if(function k0(e){return Ye(e[we])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[we],c=new Y_(l,l[tt],l[we]);c.detach(c.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;return ms(s,o,i,r),n.attachToViewContainerRef(),Jm(xf(s),i,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Q_(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=Zi(this._lContainer,t);r&&(ka(xf(this._lContainer),t),Ka(r[T],r))}detach(n){const t=this._adjustIndex(n,-1),r=Zi(this._lContainer,t);return r&&null!=ka(xf(this._lContainer),t)?new as(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Q_(e){return e[8]}function xf(e){return e[8]||(e[8]=[])}function X_(e,n){let t;const r=n[e.index];return Ye(r)?t=r:(t=By(r,n,null,e),n[e.index]=t,ml(n,t)),J_(t,n,e,r),new Y_(t,e,n)}let J_=function eC(e,n,t,r){if(e[fn])return;let o;o=8&t.type?me(r):function fR(e,n){const t=e[z],r=t.createComment(""),o=st(n,e);return Tr(t,el(t,o),r,function PT(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[fn]=o},Nf=(e,n,t)=>!1;function q(e,n,t,r,o,i,s,a){const l=b(),c=J(),u=e+U,d=c.firstCreatePass?function mR(e,n,t,r,o,i,s,a,l){const c=n.consts,u=So(n,e,4,s||null,pn(c,a));af(n,t,u,pn(c,l)),Sa(n,u);const d=u.tView=sf(2,u,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,r,o,i,s):c.data[u];gn(d,!1);const g=tC(c,l,d,e);Ma()&&tl(c,l,g,d),nt(g,l);const m=By(g,l,g,d);return l[u]=m,ml(l,m),function K_(e,n,t){return Nf(e,n,t)}(m,d,l),ba(d)&&nf(c,l,d),null!=s&&rf(l,d,a),q}let tC=function nC(e,n,t,r){return Jn(!0),n[z].createComment("")};function Ho(e,n,t){Ar("NgControlFlow");const r=b(),o=mn(),i=function Rf(e,n){return e[n]}(r,U+e);if(He(r,o,n)){const a=Se(null);try{if(function Af(e,n){const t=Zi(e,n);return void 0!==t&&Ka(t[T],t),t}(i,0),-1!==n){const l=function Of(e,n){return ki(e,n+U)}(r[T],n),c=Vo(i,l.tView.ssrId);ms(i,gs(r,l,t,{dehydratedView:c}),0,jo(l,c))}}finally{Se(a)}}else{const a=function Z_(e,n){const t=Pe+n;if(t(Jn(!0),Ja(r,o,function Lm(){return B.lFrame.currentNamespace}()));function Dt(e,n,t){const r=b(),o=J(),i=e+U,s=o.firstCreatePass?function aO(e,n,t,r,o){const i=n.consts,s=pn(i,r),a=So(n,e,8,"ng-container",s);return null!==s&&Cl(a,s,!0),af(n,t,a,pn(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];gn(s,!0);const a=SC(o,r,s,e);return r[i]=a,Ma()&&tl(o,r,a,s),nt(a,r),ba(s)&&(nf(o,r,s),tf(o,s,r)),null!=t&&rf(r,s),Dt}function wt(){let e=ue();const n=J();return Gu()?zu():(e=e.parent,gn(e,!1)),n.firstCreatePass&&(Sa(n,e),Fu(e)&&n.queries.elementEnd(e)),wt}let SC=(e,n,t,r)=>(Jn(!0),Ad(n[z],""));function Fe(){return b()}const Zo="en-US";let RC=Zo;function Is(e){return!!e&&"function"==typeof e.then}function rD(e){return!!e&&"function"==typeof e.subscribe}function R(e,n,t,r){const o=b(),i=J(),s=ue();return function iD(e,n,t,r,o,i,s){const a=ba(r),c=e.firstCreatePass&&zy(e),u=n[ge],d=Gy(n);let g=!0;if(3&r.type||s){const _=st(r,n),D=s?s(_):_,I=d.length,w=s?V=>s(me(V[r.index])):r.index;let x=null;if(!s&&a&&(x=function sP(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=i,x.__ngLastListenerFn__=i,g=!1;else{i=aD(r,n,u,i,!1);const V=t.listen(D,o,i);d.push(i,V),c&&c.push(o,w,I,I+1)}}else i=aD(r,n,u,i,!1);const m=r.outputs;let v;if(g&&null!==m&&(v=m[o])){const _=v.length;if(_)for(let D=0;D<_;D+=2){const Z=n[v[D]][v[D+1]].subscribe(i),Ie=d.length;d.push(i,Z),c&&c.push(o,r.index,Ie,-(Ie+1))}}}(i,o,o[z],s,e,n,r),R}function sD(e,n,t,r){try{return hn(6,n,t),!1!==t(r)}catch(o){return vl(e,o),!1}finally{hn(7,n,t)}}function aD(e,n,t,r,o){return function i(s){if(s===Function)return r;ss(e.componentOffset>-1?St(e.index,n):n);let l=sD(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)l=sD(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function P(e=1){return function Q0(e){return(B.lFrame.contextLView=function bm(e,n){for(;e>0;)n=n[eo],e--;return n}(e,B.lFrame.contextLView))[ge]}(e)}function jn(e,n,t,r,o){const i=b(),s=Ao(i,n,t,r);return s!==W&&Rt(J(),De(),i,e,s,i[z],o,!1),jn}function Gf(e){return function ro(e,n){return e[n]}(function z0(){return B.lFrame.contextLView}(),U+e)}function f(e,n=""){const t=b(),r=J(),o=e+U,i=r.firstCreatePass?So(r,o,1,n,null):r.data[o],s=MD(r,t,i,n,e);t[o]=s,Ma()&&tl(r,t,s,i),gn(i,!1)}let MD=(e,n,t,r,o)=>(Jn(!0),function Xa(e,n){return e.createText(n)}(n[z],r));function be(e){return Hn("",e,""),be}function Hn(e,n,t){const r=b(),o=Ao(r,e,n,t);return o!==W&&function Vn(e,n,t){const r=Pi(n,e);!function jv(e,n,t){e.setValue(n,t)}(e[z],r,t)}(r,lt(),o),Hn}function zf(e,n,t,r,o){if(e=j(e),Array.isArray(e))for(let i=0;i>20;if(Ir(e)||!e.multi){const m=new Li(c,o,S),v=Wf(l,n,o?u:u+g,d);-1===v?(nd(Na(a,s),i,l),qf(i,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(m),s.push(m)):(t[v]=m,s[v]=m)}else{const m=Wf(l,n,u+g,d),v=Wf(l,n,u,u+g),D=v>=0&&t[v];if(o&&!D||!o&&!(m>=0&&t[m])){nd(Na(a,s),i,l);const I=function IP(e,n,t,r,o){const i=new Li(e,t,S);return i.multi=[],i.index=n,i.componentProviders=0,kD(i,o,r&&!t),i}(o?EP:bP,t.length,o,r,c);!o&&D&&(t[v].providerFactory=I),qf(i,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(I),s.push(I)}else qf(i,e,m>-1?m:v,kD(t[o?v:m],c,!o&&r));!o&&r&&D&&t[v].componentProviders++}}}function qf(e,n,t,r){const o=Ir(n),i=function LS(e){return!!e.useClass}(n);if(o||i){const l=(i?j(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function kD(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Wf(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function wP(e,n,t){const r=J();if(r.firstCreatePass){const o=Qt(e);zf(t,r.data,r.blueprint,o,!0),zf(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class kr{}class FD{}class Yf extends kr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new c_(this);const o=et(n);this._bootstrapComponents=xt(o.bootstrap),this._r3Injector=gv(n,t,[{provide:kr,useValue:this},{provide:dl,useValue:this.componentFactoryResolver},...r],je(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Qf extends FD{constructor(n){super(),this.moduleType=n}create(n){return new Yf(this.moduleType,n,[])}}class LD extends kr{constructor(n){super(),this.componentFactoryResolver=new c_(this),this.instance=null;const t=new Mr([...n.providers,{provide:kr,useValue:this},{provide:dl,useValue:this.componentFactoryResolver}],n.parent||$a(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function Xf(e,n,t=null){return new LD({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let TP=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=sv(0,t.type),o=r.length>0?Xf([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=O({token:e,providedIn:"environment",factory:()=>new e(k(At))})}return e})();function Ot(e){Ar("NgStandalone"),e.getStandaloneInjector=n=>n.get(TP).getOrCreateStandaloneInjector(e)}function ee(e,n,t){const r=at()+e,o=b();return o[r]===W?_n(o,r,t?n.call(t):n()):function us(e,n){return e[n]}(o,r)}function Ms(e,n,t,r){return function qD(e,n,t,r,o,i){const s=n+t;return He(e,s,o)?_n(e,s+1,i?r.call(i,o):r(o)):Ss(e,s+1)}(b(),at(),e,n,t,r)}function zD(e,n,t,r,o){return function WD(e,n,t,r,o,i,s){const a=n+t;return function Nr(e,n,t,r){const o=He(e,n,t);return He(e,n+1,r)||o}(e,a,o,i)?_n(e,a+2,s?r.call(s,o,i):r(o,i)):Ss(e,a+2)}(b(),at(),e,n,t,r,o)}function Ss(e,n){const t=e[n];return t===W?void 0:t}function KP(){return this._results[Symbol.iterator]()}class Kf{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new xe)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=Kf.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=KP)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const r=function yt(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function _S(e,n,t){if(e.length!==n.length)return!1;for(let r=0;r{class e{static#e=this.__NG_ELEMENT_ID__=nk}return e})();const ek=Un,tk=class extends ek{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=gs(this._declarationLView,this._declarationTContainer,n,{injector:t,dehydratedView:r});return new as(o)}};function nk(){return Ul(ue(),b())}function Ul(e,n){return 4&e.type?new tk(n,e,Mo(e,n)):null}class eh{constructor(n){this.queryList=n,this.matches=null}clone(){return new eh(this.queryList)}setDirty(){this.queryList.setDirty()}}class th{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const r=null!==n.contentQueries?n.contentQueries[0]:t.length,o=[];for(let i=0;i0)r.push(s[a/2]);else{const c=i[a+1],u=n[-l];for(let d=Pe;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=A(ch,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Is(i))t.push(i);else if(rD(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Cw=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const Bn=new N("LocaleId",{providedIn:"root",factory:()=>A(Bn,X.Optional|X.SkipSelf)||function Rk(){return typeof $localize<"u"&&$localize.locale||Zo}()});let $l=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new kt(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class Vk{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let ww=(()=>{class e{compileModuleSync(t){return new Qf(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=xt(et(t).declarations).reduce((s,a)=>{const l=Q(a);return l&&s.push(new cs(l)),s},[]);return new Vk(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Sw=new N(""),zl=new N("");let ph,fh=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,ph||(function cF(e){ph=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ae.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(k(ae),k(hh),k(zl))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),hh=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return ph?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),ar=null;const gh=new N("PlatformDestroyListeners"),mh=new N("appBootstrapListener");function pF(e){try{const{rootComponent:n,appProviders:t,platformProviders:r}=e,o=function hF(e=[]){if(ar)return ar;const n=function Nw(e=[],n){return _t.create({name:n,providers:[{provide:hd,useValue:"platform"},{provide:gh,useValue:new Set([()=>ar=null])},...e]})}(e);return ar=n,function Aw(){!function HM(e){pg=e}(()=>{throw new M(600,!1)})}(),function xw(e){e.get(vv,null)?.forEach(t=>t())}(n),n}(r),i=[_F(),...t||[]],a=new LD({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(ae);return l.run(()=>{a.resolveInjectorInitializers();const c=a.get(Ln,null);let u;l.runOutsideAngular(()=>{u=l.onError.subscribe({next:m=>{c.handleError(m)}})});const d=()=>a.destroy(),g=o.get(gh);return g.add(d),a.onDestroy(()=>{u.unsubscribe(),g.delete(d)}),function Pw(e,n,t){try{const r=t();return Is(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(c,l,()=>{const m=a.get(uh);return m.runInitializers(),m.donePromise.then(()=>{!function OC(e){gt(e,"Expected localeId to be defined"),"string"==typeof e&&(RC=e.toLowerCase().replace(/_/g,"-"))}(a.get(Bn,Zo)||Zo);const _=a.get(Xo);return void 0!==n&&_.bootstrap(n),_})})})}catch(n){return Promise.reject(n)}}let Xo=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=A(Lw),this.zoneIsStable=A(n_),this.componentTypes=[],this.components=[],this.isStable=A($l).hasPendingTasks.pipe(Ft(t=>t?F(!1):this.zoneIsStable),function B1(e,n=qn){return e=e??$1,$e((t,r)=>{let o,i=!0;t.subscribe(Ve(r,s=>{const a=n(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),$g()),this._injector=A(At)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof py;if(!this._injector.get(uh).done)throw!o&&function Qn(e){const n=Q(e)||Ge(e)||Je(e);return null!==n&&n.standalone}(t),new M(405,!1);let s;s=o?t:this._injector.get(dl).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function dF(e){return e.isBoundToModule}(s)?void 0:this._injector.get(kr),c=s.create(_t.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(Sw,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),ql(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new M(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;ql(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(mh,[]);[...this._bootstrapListeners,...r].forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>ql(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new M(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function ql(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const Lw=new N("",{providedIn:"root",factory:()=>A(Ln).handleError.bind(void 0)});function vF(){const e=A(ae),n=A(Ln);return t=>e.runOutsideAngular(()=>n.handleError(t))}let yF=(()=>{class e{constructor(){this.zone=A(ae),this.applicationRef=A(Xo)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Vw(e){return[{provide:ae,useFactory:e},{provide:vo,multi:!0,useFactory:()=>{const n=A(yF,{optional:!0});return()=>n.initialize()}},{provide:Lw,useFactory:vF},{provide:n_,useFactory:r_}]}function _F(e){return ud([[],Vw(()=>new ae(function Ow(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}let IF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(k(Xo))};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({})}return e})();function Ko(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const ye_apiBaseUrl="https://www.palmmedia.de/api/";let Sh=null;function lr(){return Sh}class YF{}const ft=new N("DocumentToken");let Th=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>A(XF),providedIn:"platform"})}return e})();const QF=new N("Location Initialized");let XF=(()=>{class e extends Th{constructor(){super(),this._doc=A(ft),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return lr().getBaseHref(this._doc)}onPopState(t){const r=lr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=lr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}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(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function Ah(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function ab(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function $n(e){return e&&"?"!==e[0]?"?"+e:e}let Lr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>A(cb),providedIn:"root"})}return e})();const lb=new N("appBaseHref");let cb=(()=>{class e extends Lr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??A(ft).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Ah(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+$n(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+$n(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+$n(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Th),k(lb,8))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),JF=(()=>{class e extends Lr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Ah(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+$n(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+$n(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Th),k(lb,8))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),Os=(()=>{class e{constructor(t){this._subject=new xe,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function t2(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(ab(ub(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+$n(r))}normalize(t){return e.stripTrailingSlash(function e2(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,ub(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$n(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$n(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=$n;static#t=this.joinWithSlash=Ah;static#n=this.stripTrailingSlash=ab;static#r=this.\u0275fac=function(r){return new(r||e)(k(Lr))};static#o=this.\u0275prov=O({token:e,factory:()=>function KF(){return new Os(k(Lr))}(),providedIn:"root"})}return e})();function ub(e){return e.replace(/\/index.html$/,"")}function _b(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const jh=/\s+/,Cb=[];let uc=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=Cb,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(jh):Cb}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(jh):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(jh).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(S(hl),S(rs),S(Nt),S(Fn))};static#t=this.\u0275dir=$({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class H2{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Hh=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new H2(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),wb(a,o)}});for(let o=0,i=r.length;o{wb(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(en),S(Un),S(hl))};static#t=this.\u0275dir=$({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function wb(e,n){e.context.$implicit=n.item}let Uh=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new U2,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){bb("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){bb("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(en),S(Un))};static#t=this.\u0275dir=$({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class U2{constructor(){this.$implicit=null,this.ngIf=null}}function bb(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${je(n)}'.`)}let hL=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({})}return e})();function Sb(e){return"server"===e}let vL=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:()=>new yL(k(ft),window)})}return e})();class yL{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function _L(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class Tb{}const{isArray:$L}=Array,{getPrototypeOf:GL,prototype:zL,keys:qL}=Object;function Rb(e){if(1===e.length){const n=e[0];if($L(n))return{args:n,keys:null};if(function WL(e){return e&&"object"==typeof e&&GL(e)===zL}(n)){const t=qL(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:ZL}=Array;function Ob(e){return K(n=>function YL(e,n){return ZL(n)?e(...n):e(n)}(e,n))}function Pb(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}function Zh(...e){const n=Ei(e),t=jg(e),{args:r,keys:o}=Rb(e);if(0===r.length)return Oe([],n);const i=new Te(function QL(e,n,t=qn){return r=>{kb(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const c=Oe(e[l],n);let u=!1;c.subscribe(Ve(r,d=>{i[l]=d,u||(u=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>Pb(o,s):qn));return t?i.pipe(Ob(t)):i}function kb(e,n,t){e?An(t,e,n):n()}const hc=iu(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Yh(...e){return function XL(){return Yr(1)}()(Oe(e,Ei(e)))}function Fb(e){return new Te(n=>{qt(e()).subscribe(n)})}function pc(e,n){const t=Ce(e)?e:()=>e,r=o=>o.error(t());return new Te(n?o=>n.schedule(r,0,o):r)}function Qh(){return $e((e,n)=>{let t=null;e._refCount++;const r=Ve(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class Lb extends Te{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Eg(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Et;const t=this.getSubject();n.add(this.source.subscribe(Ve(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Et.EMPTY)}return n}refCount(){return Qh()(this)}}function rn(e,n){return $e((t,r)=>{let o=0;t.subscribe(Ve(r,i=>e.call(n,i,o++)&&r.next(i)))})}function gc(e){return $e((n,t)=>{let r=!1;n.subscribe(Ve(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function Vb(e=KL){return $e((n,t)=>{let r=!1;n.subscribe(Ve(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function KL(){return new hc}function Vr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?rn((o,i)=>e(o,i,r)):qn,_r(1),t?gc(n):Vb(()=>new hc))}function ti(e,n){return Ce(n)?Xe(e,n,1):Xe(e,1)}function rt(e,n,t){const r=Ce(e)||n||t?{next:e,error:n,complete:t}:e;return r?$e((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Ve(i,l=>{var c;null===(c=r.next)||void 0===c||c.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,l),i.error(l)},()=>{var l,c;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):qn}function ni(e){return $e((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Ve(t,void 0,void 0,s=>{i=qt(e(s,ni(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function Xh(e){return e<=0?()=>an:$e((n,t)=>{let r=[];n.subscribe(Ve(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}function Ls(e){return $e((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}class iV extends YF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Jh extends iV{static makeCurrent(){!function ZF(e){Sh||(Sh=e)}(new Jh)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function sV(){return Vs=Vs||document.querySelector("base"),Vs?Vs.getAttribute("href"):null}();return null==t?null:function aV(e){mc=mc||document.createElement("a"),mc.setAttribute("href",e);const n=mc.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Vs=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return _b(document.cookie,n)}}let mc,Vs=null,cV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const Kh=new N("EventManagerPlugins");let jb=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new M(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(k(Kh),k(ae))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();class Hb{constructor(n){this._doc=n}}const ep="ng-app-id";let Ub=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Sb(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${ep}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(ep),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(ep,this.appId),t.appendChild(s),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r),i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(k(ft),k(za),k(yv,8),k(Sr))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const tp={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/MathML/"},np=/%COMP%/g,hV=new N("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!0});function $b(e,n){return n.map(t=>t.replace(np,e))}let Gb=(()=>{class e{constructor(t,r,o,i,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=Sb(a),this.defaultRenderer=new rp(t,s,l,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Wt.ShadowDom&&(r={...r,encapsulation:Wt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof qb?o.applyToHost(t):o instanceof op&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Wt.Emulated:i=new qb(l,c,r,this.appId,u,s,a,d);break;case Wt.ShadowDom:return new vV(l,c,t,r,s,a,this.nonce,d);default:i=new op(l,c,r,u,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(k(jb),k(Ub),k(za),k(hV),k(ft),k(Sr),k(ae),k(yv))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();class rp{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(tp[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(zb(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(zb(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new M(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=tp[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=tp[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(rr.DashCase|rr.Important)?n.style.setProperty(t,r,o&rr.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&rr.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=lr().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function zb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class vV extends rp{constructor(n,t,r,o,i,s,a,l){super(n,i,s,l),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=$b(o.id,o.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends rp{constructor(n,t,r,o,i,s,a,l){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=l?$b(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class qb extends op{constructor(n,t,r,o,i,s,a,l){const c=o+"-"+r.id;super(n,t,r,i,s,a,l,c),this.contentAttr=function pV(e){return"_ngcontent-%COMP%".replace(np,e)}(c),this.hostAttr=function gV(e){return"_nghost-%COMP%".replace(np,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let yV=(()=>{class e extends Hb{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(k(ft))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const Wb=["alt","control","meta","shift"],_V={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},CV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let DV=(()=>{class e extends Hb{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>lr().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),Wb.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=_V[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),Wb.forEach(s=>{s!==o&&(0,CV[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(k(ft))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function Zb(e){return{appProviders:[...Qb,...e?.providers??[]],platformProviders:MV}}const MV=[{provide:Sr,useValue:"browser"},{provide:vv,useValue:function bV(){Jh.makeCurrent()},multi:!0},{provide:ft,useFactory:function IV(){return function JS(e){_d=e}(document),document},deps:[]}],SV=new N(""),Yb=[{provide:zl,useClass:class lV{addToWindow(n){pe.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new M(5103,!1);return i},pe.getAllAngularTestabilities=()=>n.getAllTestabilities(),pe.getAllAngularRootElements=()=>n.getAllRootElements(),pe.frameworkStabilizers||(pe.frameworkStabilizers=[]),pe.frameworkStabilizers.push(r=>{const o=pe.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&r(s)};o.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?lr().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:Sw,useClass:fh,deps:[ae,hh,zl]},{provide:fh,useClass:fh,deps:[ae,hh,zl]}],Qb=[{provide:hd,useValue:"root"},{provide:Ln,useFactory:function EV(){return new Ln},deps:[]},{provide:Kh,useClass:yV,multi:!0,deps:[ft,ae,Sr]},{provide:Kh,useClass:DV,multi:!0,deps:[ft]},Gb,Ub,jb,{provide:my,useExisting:Gb},{provide:Tb,useClass:cV,deps:[]},[]];let TV=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:za,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(SV,12))};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({providers:[...Qb,...Yb],imports:[hL,IF]})}return e})(),Xb=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(k(ft))};static#t=this.\u0275prov=O({token:e,factory:function(r){let o=null;return o=r?new r:function xV(){return new Xb(k(ft))}(),o},providedIn:"root"})}return e})();typeof window<"u"&&window;const Y="primary",js=Symbol("RouteTitle");class kV{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function ri(e){return new kV(e)}function FV(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function nE(e){return e.length>0?e[e.length-1]:null}function ur(e){return function BL(e){return!!e&&(e instanceof Te||Ce(e.lift)&&Ce(e.subscribe))}(e)?e:Is(e)?Oe(Promise.resolve(e)):F(e)}const VV={exact:function iE(e,n,t){if(!jr(e.segments,n.segments)||!vc(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!iE(e.children[r],n.children[r],t))return!1;return!0},subset:sE},rE={exact:function jV(e,n){return wn(e,n)},subset:function HV(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>tE(e[t],n[t]))},ignored:()=>!0};function oE(e,n,t){return VV[t.paths](e.root,n.root,t.matrixParams)&&rE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function sE(e,n,t){return aE(e,n,n.segments,t)}function aE(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!jr(o,t)||n.hasChildren()||!vc(o,t,r))}if(e.segments.length===t.length){if(!jr(e.segments,t)||!vc(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!sE(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(jr(e.segments,o)&&vc(e.segments,o,r)&&e.children[Y])&&aE(e.children[Y],n,i,r)}}function vc(e,n,t){return n.every((r,o)=>rE[t](e[o].parameters,r.parameters))}class oi{constructor(n=new de([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ri(this.queryParams)),this._queryParamMap}toString(){return $V.serialize(this)}}class de{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return yc(this)}}class Hs{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=ri(this.parameters)),this._parameterMap}toString(){return uE(this)}}function jr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let ii=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>new ap,providedIn:"root"})}return e})();class ap{parse(n){const t=new e3(n);return new oi(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${Us(n.root,!0)}`,r=function qV(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${_c(t)}=${_c(o)}`).join("&"):`${_c(t)}=${_c(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function GV(e){return encodeURI(e)}(n.fragment)}`:""}`}}const $V=new ap;function yc(e){return e.segments.map(n=>uE(n)).join("/")}function Us(e,n){if(!e.hasChildren())return yc(e);if(n){const t=e.children[Y]?Us(e.children[Y],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Y&&r.push(`${o}:${Us(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function BV(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Y&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Y&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Y?[Us(e.children[Y],!1)]:[`${o}:${Us(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Y]?`${yc(e)}/${t[0]}`:`${yc(e)}/(${t.join("//")})`}}function lE(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function _c(e){return lE(e).replace(/%3B/gi,";")}function lp(e){return lE(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Cc(e){return decodeURIComponent(e)}function cE(e){return Cc(e.replace(/\+/g,"%20"))}function uE(e){return`${lp(e.path)}${function zV(e){return Object.keys(e).map(n=>`;${lp(n)}=${lp(e[n])}`).join("")}(e.parameters)}`}const WV=/^[^\/()?;#]+/;function cp(e){const n=e.match(WV);return n?n[0]:""}const ZV=/^[^\/()?;=#]+/,QV=/^[^=?&#]+/,JV=/^[^&#]+/;class e3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new de([],{}):new de([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Y]=new de(n,t)),r}parseSegment(){const n=cp(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new M(4009,!1);return this.capture(n),new Hs(Cc(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function YV(e){const n=e.match(ZV);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=cp(this.remaining);o&&(r=o,this.capture(r))}n[Cc(t)]=Cc(r)}parseQueryParam(n){const t=function XV(e){const n=e.match(QV);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function KV(e){const n=e.match(JV);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=cE(t),i=cE(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=cp(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new M(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Y);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Y]:new de([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new M(4011,!1)}}function dE(e){return e.segments.length>0?new de([],{[Y]:e}):e}function fE(e){const n={};for(const r of Object.keys(e.children)){const i=fE(e.children[r]);if(r===Y&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function t3(e){if(1===e.numberOfChildren&&e.children[Y]){const n=e.children[Y];return new de(e.segments.concat(n.segments),n.children)}return e}(new de(e.segments,n))}function Hr(e){return e instanceof oi}function hE(e){let n;const o=dE(function t(i){const s={};for(const l of i.children){const c=t(l);s[l.outlet]=c}const a=new de(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function pE(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return up(o,o,o,t,r);const i=function r3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new mE(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new mE(t,n,r)}(n);if(i.toRoot())return up(o,o,new de([],{}),t,r);const s=function o3(e,n,t){if(e.isAbsolute)return new wc(n,!0,0);if(!t)return new wc(n,!1,NaN);if(null===t.parent)return new wc(t,!0,0);const r=Dc(e.commands[0])?0:1;return function i3(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new M(4005,!1);o=r.segments.length}return new wc(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?$s(s.segmentGroup,s.index,i.commands):vE(s.segmentGroup,s.index,i.commands);return up(o,s.segmentGroup,a,t,r)}function Dc(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Bs(e){return"object"==typeof e&&null!=e&&e.outlets}function up(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([l,c])=>{i[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:gE(e,n,t);const a=dE(fE(s));return new oi(a,i,o)}function gE(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:gE(i,n,t)}),new de(e.segments,r)}class mE{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&Dc(r[0]))throw new M(4003,!1);const o=r.find(Bs);if(o&&o!==nE(r))throw new M(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class wc{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function vE(e,n,t){if(e||(e=new de([],{})),0===e.segments.length&&e.hasChildren())return $s(e,n,t);const r=function a3(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(Bs(a))break;const l=`${a}`,c=r0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!_E(l,c,s))return i;r+=2}else{if(!_E(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Y)&&e.children[Y]&&1===e.numberOfChildren&&0===e.children[Y].segments.length){const i=$s(e.children[Y],n,t);return new de(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=vE(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new de(e.segments,o)}}function dp(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=dp(new de([],{}),0,r))}),n}function yE(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function _E(e,n,t){return e==t.path&&wn(n,t.parameters)}const Gs="imperative";class bn{constructor(n,t){this.id=n,this.url=t}}class bc extends bn{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class En extends bn{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class si extends bn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ai extends bn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class Ec extends bn{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class CE extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class c3 extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class u3 extends bn{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class d3 extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class f3 extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class h3{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class p3{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class g3{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class m3{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class v3{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class y3{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class DE{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class fp{}class hp{constructor(n){this.url=n}}class _3{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new zs,this.attachRef=null}}let zs=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new _3,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class wE{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=pp(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=pp(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=gp(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return gp(n,this._root).map(t=>t.value)}}function pp(e,n){if(e===n.value)return n;for(const t of n.children){const r=pp(e,t);if(r)return r}return null}function gp(e,n){if(e===n.value)return[n];for(const t of n.children){const r=gp(e,t);if(r.length)return r.unshift(n),r}return[]}class on{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function li(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class bE extends wE{constructor(n,t){super(n),this.snapshot=t,yp(this,n)}toString(){return this.snapshot.toString()}}function EE(e,n){const t=function C3(e,n){const s=new vp([],{},{},"",{},Y,n,null,{});return new IE("",new on(s,[]))}(0,n),r=new kt([new Hs("",{})]),o=new kt({}),i=new kt({}),s=new kt({}),a=new kt(""),l=new Ur(r,o,s,a,i,Y,n,t.root);return l.snapshot=t.root,new bE(new on(l,[]),t)}class Ur{constructor(n,t,r,o,i,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(K(c=>c[js]))??F(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}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._paramMap=this.params.pipe(K(n=>ri(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(n=>ri(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function mp(e,n,t="emptyOnly"){let r;const{routeConfig:o}=e;return r=null===n||"always"!==t&&""!==o?.path&&(n.component||n.routeConfig?.loadComponent)?{params:e.params,data:e.data,resolve:{...e.data,...e._resolvedData??{}}}:{params:{...n.params,...e.params},data:{...n.data,...e.data},resolve:{...e.data,...n.data,...o?.data,...e._resolvedData}},o&&SE(o)&&(r.resolve[js]=o.title),r}class vp{get title(){return this.data?.[js]}constructor(n,t,r,o,i,s,a,l,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}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._paramMap=ri(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ri(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class IE extends wE{constructor(n,t){super(t),this.url=n,yp(this,t)}toString(){return ME(this._root)}}function yp(e,n){n.value._routerState=e,n.children.forEach(t=>yp(e,t))}function ME(e){const n=e.children.length>0?` { ${e.children.map(ME).join(", ")} } `:"";return`${e.value}${n}`}function _p(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,wn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),wn(n.params,t.params)||e.paramsSubject.next(t.params),function LV(e,n){if(e.length!==n.length)return!1;for(let t=0;twn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||Cp(e.parent,n.parent))}function SE(e){return"string"==typeof e.title||null===e.title}let Dp=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new xe,this.deactivateEvents=new xe,this.attachEvents=new xe,this.detachEvents=new xe,this.parentContexts=A(zs),this.location=A(en),this.changeDetector=A(ls),this.environmentInjector=A(At),this.inputBinder=A(Ic,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new M(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new M(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new M(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new M(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new D3(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=$({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Lt]})}return e})();class D3{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Ur?this.route:n===zs?this.childContexts:this.parent.get(n,t)}}const Ic=new N("");let TE=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=Zh([r.queryParams,r.params,r.data]).pipe(Ft(([i,s,a],l)=>(a={...i,...s,...a},0===l?F(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function WF(e){const n=Q(e);if(!n)return null;const t=new cs(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function qs(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function b3(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return qs(e,r,o);return qs(e,r)})}(e,n,t);return new on(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>qs(e,a)),s}}const r=function E3(e){return new Ur(new kt(e.url),new kt(e.params),new kt(e.queryParams),new kt(e.fragment),new kt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>qs(e,i));return new on(r,o)}}const wp="ngNavigationCancelingError";function AE(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=Hr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=xE(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function xE(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[wp]=!0,r.cancellationCode=n,t&&(r.url=t),r}function NE(e){return e&&e[wp]}let RE=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["ng-component"]],standalone:!0,features:[Ot],decls:1,vars:0,template:function(r,o){1&r&&y(0,"router-outlet")},dependencies:[Dp],encapsulation:2})}return e})();function bp(e){const n=e.children&&e.children.map(bp),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Y&&(t.component=RE),t}function In(e){return e.outlet||Y}function Ws(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class R3{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),_p(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=li(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=li(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=li(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=li(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new y3(i.value.snapshot))}),n.children.length&&this.forwardEvent(new m3(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(_p(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.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),_p(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=Ws(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class OE{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Mc{constructor(n,t){this.component=n,this.route=t}}function O3(e,n,t){const r=e._root;return Zs(r,n?n._root:null,t,[r.value])}function ci(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function X1(e){return null!==pa(e)}(e)?n.get(e):e:r}function Zs(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=li(n);return e.children.forEach(s=>{(function k3(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function F3(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!jr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!jr(e.url,n.url)||!wn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Cp(e,n)||!wn(e.queryParams,n.queryParams);default:return!Cp(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new OE(r)):(i.data=s.data,i._resolvedData=s._resolvedData),Zs(e,n,i.component?a?a.children:null:t,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Mc(a.outlet.component,s))}else s&&Ys(n,a,o),o.canActivateChecks.push(new OE(r)),Zs(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>Ys(a,t.getContext(s),o)),o}function Ys(e,n,t){const r=li(e),o=e.value;Object.entries(r).forEach(([i,s])=>{Ys(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Mc(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function Qs(e){return"function"==typeof e}function PE(e){return e instanceof hc||"EmptyError"===e?.name}const Sc=Symbol("INITIAL_VALUE");function ui(){return Ft(e=>Zh(e.map(n=>n.pipe(_r(1),function JL(...e){const n=Ei(e);return $e((t,r)=>{(n?Yh(e,t,n):Yh(e,t)).subscribe(r)})}(Sc)))).pipe(K(n=>{for(const t of n)if(!0!==t){if(t===Sc)return Sc;if(!1===t||t instanceof oi)return t}return!0}),rn(n=>n!==Sc),_r(1)))}function kE(e){return function JM(...e){return Dg(e)}(rt(n=>{if(Hr(n))throw AE(0,n)}),K(n=>!0===n))}class Ep{constructor(n){this.segmentGroup=n||null}}class Ip extends Error{constructor(n){super(),this.urlTree=n}}function di(e){return pc(new Ep(e))}class nj{constructor(n,t){this.urlSerializer=n,this.urlTree=t}noMatchError(n){return new M(4002,!1)}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return F(r);if(o.numberOfChildren>1||!o.children[Y])return pc(new M(4e3,!1));o=o.children[Y]}}applyRedirectCommands(n,t,r){const o=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r);if(t.startsWith("/"))throw new Ip(o);return o}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new oi(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,r,o)}),new de(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new M(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const Mp={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function rj(e,n,t,r,o){const i=Sp(e,n,t);return i.matched?(r=function M3(e,n){return e.providers&&!e._injector&&(e._injector=Xf(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function K3(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?F(o.map(s=>{const a=ci(s,e);return ur(function B3(e){return e&&Qs(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(ui(),kE()):F(!0)}(r,n,t).pipe(K(s=>!0===s?i:{...Mp}))):F(i)}function Sp(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...Mp}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||FV)(t,e,n);if(!o)return{...Mp};const i={};Object.entries(o.posParams??{}).forEach(([a,l])=>{i[a]=l.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function FE(e,n,t,r){return t.length>0&&function sj(e,n,t){return t.some(r=>Tc(e,n,r)&&In(r)!==Y)}(e,t,r)?{segmentGroup:new de(n,ij(r,new de(t,e.children))),slicedSegments:[]}:0===t.length&&function aj(e,n,t){return t.some(r=>Tc(e,n,r))}(e,t,r)?{segmentGroup:new de(e.segments,oj(e,0,t,r,e.children)),slicedSegments:t}:{segmentGroup:new de(e.segments,e.children),slicedSegments:t}}function oj(e,n,t,r,o){const i={};for(const s of r)if(Tc(e,t,s)&&!o[In(s)]){const a=new de([],{});i[In(s)]=a}return{...o,...i}}function ij(e,n){const t={};t[Y]=n;for(const r of e)if(""===r.path&&In(r)!==Y){const o=new de([],{});t[In(r)]=o}return t}function Tc(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class uj{}class hj{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new nj(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new M(4002,!1)}recognize(){const n=FE(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(K(t=>{const r=new vp([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),o=new on(r,t),i=new IE("",o),s=function n3(e,n,t=null,r=null){return pE(hE(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root,null),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n,Y).pipe(ni(r=>{if(r instanceof Ip)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof Ep?this.noMatchError(r):r}))}inheritParamsAndData(n,t){const r=n.value,o=mp(r,t,this.paramsInheritanceStrategy);r.params=Object.freeze(o.params),r.data=Object.freeze(o.data),n.children.forEach(i=>this.inheritParamsAndData(i,r))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0).pipe(K(i=>i instanceof on?[i]:[]))}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Oe(o).pipe(ti(i=>{const s=r.children[i],a=function x3(e,n){const t=e.filter(r=>In(r)===n);return t.push(...e.filter(r=>In(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function tV(e,n){return $e(function eV(e,n,t,r,o){return(i,s)=>{let a=t,l=n,c=0;i.subscribe(Ve(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),gc(null),function nV(e,n){const t=arguments.length>=2;return r=>r.pipe(e?rn((o,i)=>e(o,i,r)):qn,Xh(1),t?gc(n):Vb(()=>new hc))}(),Xe(i=>{if(null===i)return di(r);const s=LE(i);return function pj(e){e.sort((n,t)=>n.value.outlet===Y?-1:t.value.outlet===Y?1:n.value.outlet.localeCompare(t.value.outlet))}(s),F(s)}))}processSegment(n,t,r,o,i,s){return Oe(t).pipe(ti(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(ni(l=>{if(l instanceof Ep)return F(null);throw l}))),Vr(a=>!!a),ni(a=>{if(PE(a))return function cj(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?F(new uj):di(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function lj(e,n,t,r){return!!(In(e)===r||r!==Y&&Tc(n,t,e))&&("**"===e.path||Sp(n,e,t).matched)}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):di(o):di(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:l,positionalParamSegments:c,remainingSegments:u}="**"===o.path?VE(i):Sp(t,o,i);if(!a)return di(t);o.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,c);return this.applyRedirects.lineralizeSegments(o,d).pipe(Xe(g=>this.processSegment(n,r,t,g.concat(u),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i){let s;return"**"===r.path?(s=F(VE(o)),t.children={}):s=rj(t,r,o,n),s.pipe(Ft(a=>a.matched?this.getChildConfig(n=r._injector??n,r,o).pipe(Ft(({routes:l})=>{const c=r._loadedInjector??n,{consumedSegments:u,remainingSegments:d,parameters:g}=a,m=new vp(u,g,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function mj(e){return e.data||{}}(r),In(r),r.component??r._loadedComponent??null,r,function vj(e){return e.resolve||{}}(r)),{segmentGroup:v,slicedSegments:_}=FE(t,u,d,l);if(0===_.length&&v.hasChildren())return this.processChildren(c,l,v).pipe(K(I=>null===I?null:new on(m,I)));if(0===l.length&&0===_.length)return F(new on(m,[]));const D=In(r)===i;return this.processSegment(c,l,v,_,D?Y:i,!0).pipe(K(I=>new on(m,I instanceof on?[I]:[])))})):di(t)))}getChildConfig(n,t,r){return t.children?F({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?F({routes:t._loadedRoutes,injector:t._loadedInjector}):function J3(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?F(!0):F(o.map(s=>{const a=ci(s,e);return ur(function V3(e){return e&&Qs(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(ui(),kE())}(n,t,r).pipe(Xe(o=>o?this.configLoader.loadChildren(n,t).pipe(rt(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function tj(e){return pc(xE(!1,3))}())):F({routes:[],injector:n})}}function gj(e){const n=e.value.routeConfig;return n&&""===n.path}function LE(e){const n=[],t=new Set;for(const r of e){if(!gj(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=LE(r.children);n.push(new on(r.value,o))}return n.filter(r=>!t.has(r))}function VE(e){return{matched:!0,parameters:e.length>0?nE(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}function _j(e,n){return Xe(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return F(t);const i=o.map(c=>c.route),s=new Set(i),a=jE(i[0].parent).slice(1);let l=0;return Oe(a).pipe(ti(c=>s.has(c)?function Cj(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!SE(o)&&(i[js]=o.title),function Dj(e,n,t,r){const o=sp(e);if(0===o.length)return F({});const i={};return Oe(o).pipe(Xe(s=>function wj(e,n,t,r){const o=Ws(n)??r,i=ci(e,o);return ur(i.resolve?i.resolve(n,t):o.runInContext(()=>i(n,t)))}(e[s],n,t,r).pipe(Vr(),rt(a=>{i[s]=a}))),Xh(1),function rV(e){return K(()=>e)}(i),ni(s=>PE(s)?an:pc(s)))}(i,e,n,r).pipe(K(s=>(e._resolvedData=s,e.data=mp(e,e.parent,t).resolve,null)))}(c,r,e,n):(c.data=mp(c,c.parent,e).resolve,F(void 0))),rt(()=>l++),Xh(1),Xe(c=>l===a.length?F(t):an))})}function jE(e){const n=e.children.map(t=>jE(t)).flat();return[e,...n]}function Tp(e){return Ft(n=>{const t=e(n);return t?Oe(t).pipe(K(()=>n)):F(n)})}let HE=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Y);return r}getResolvedTitleForRoute(t){return t.data[js]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>A(bj),providedIn:"root"})}return e})(),bj=(()=>{class e extends HE{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(k(Xb))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const fi=new N("",{providedIn:"root",factory:()=>({})}),hi=new N("ROUTES");let Ap=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=A(ww)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return F(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=ur(t.loadComponent()).pipe(K(UE),rt(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),Ls(()=>{this.componentLoaders.delete(t)})),o=new Lb(r,()=>new zt).pipe(Qh());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return F({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function Ej(e,n,t,r){return ur(e.loadChildren()).pipe(K(UE),Xe(o=>o instanceof FD||Array.isArray(o)?F(o):Oe(n.compileModuleAsync(o))),K(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(hi,[],{optional:!0,self:!0}).flat()),{routes:s.map(bp),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(Ls(()=>{this.childrenLoaders.delete(r)})),s=new Lb(i,()=>new zt).pipe(Qh());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function UE(e){return function Ij(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let xp=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>A(Mj),providedIn:"root"})}return e})(),Mj=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const BE=new N(""),$E=new N("");function Sj(e,n,t){const r=e.get($E),o=e.get(ft);return e.get(ae).runOutsideAngular(()=>{if(!o.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,Promise.resolve();let i;const s=new Promise(c=>{i=c}),a=o.startViewTransition(()=>(i(),function Tj(e){return new Promise(n=>{s_(n,{injector:e})})}(e))),{onViewTransitionCreated:l}=r;return l&&function GS(e,n){e instanceof Mr&&e.assertNotDestroyed();const r=Yn(e),o=mt(void 0);try{return n()}finally{Yn(r),mt(o)}}(e,()=>l({transition:a,from:n,to:t})),s})}let Ac=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new zt,this.transitionAbortSubject=new zt,this.configLoader=A(Ap),this.environmentInjector=A(At),this.urlSerializer=A(ii),this.rootContexts=A(zs),this.location=A(Os),this.inputBindingEnabled=null!==A(Ic,{optional:!0}),this.titleStrategy=A(HE),this.options=A(fi,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=A(xp),this.createViewTransition=A(BE,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>F(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new p3(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new h3(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new kt({id:0,currentUrlTree:r,currentRawUrl:r,extractedUrl:this.urlHandlingStrategy.extract(r),urlAfterRedirects:this.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Gs,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(rn(i=>0!==i.id),K(i=>({...i,extractedUrl:this.urlHandlingStrategy.extract(i.rawUrl)})),Ft(i=>{this.currentTransition=i;let s=!1,a=!1;return F(i).pipe(rt(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Ft(l=>{const c=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!c&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const d="";return this.events.next(new ai(l.id,this.urlSerializer.serialize(l.rawUrl),d,0)),l.resolve(null),an}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return F(l).pipe(Ft(d=>{const g=this.transitions?.getValue();return this.events.next(new bc(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),g!==this.transitions?.getValue()?an:Promise.resolve(d)}),function yj(e,n,t,r,o,i){return Xe(s=>function dj(e,n,t,r,o,i,s="emptyOnly"){return new hj(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(K(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),rt(d=>{i.targetSnapshot=d.targetSnapshot,i.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects};const g=new CE(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(g)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:d,extractedUrl:g,source:m,restoredState:v,extras:_}=l,D=new bc(d,this.urlSerializer.serialize(g),m,v);this.events.next(D);const I=EE(0,this.rootComponentType).snapshot;return this.currentTransition=i={...l,targetSnapshot:I,urlAfterRedirects:g,extras:{..._,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=g,F(i)}{const d="";return this.events.next(new ai(l.id,this.urlSerializer.serialize(l.extractedUrl),d,1)),l.resolve(null),an}}),rt(l=>{const c=new c3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),K(l=>(this.currentTransition=i={...l,guards:O3(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},i)),function G3(e,n){return Xe(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?F({...t,guardsResult:!0}):function z3(e,n,t,r){return Oe(e).pipe(Xe(o=>function X3(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?F(i.map(a=>{const l=Ws(n)??o,c=ci(a,l);return ur(function U3(e){return e&&Qs(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):l.runInContext(()=>c(e,n,t,r))).pipe(Vr())})).pipe(ui()):F(!0)}(o.component,o.route,t,n,r)),Vr(o=>!0!==o,!0))}(s,r,o,e).pipe(Xe(a=>a&&function L3(e){return"boolean"==typeof e}(a)?function q3(e,n,t,r){return Oe(n).pipe(ti(o=>Yh(function Z3(e,n){return null!==e&&n&&n(new g3(e)),F(!0)}(o.route.parent,r),function W3(e,n){return null!==e&&n&&n(new v3(e)),F(!0)}(o.route,r),function Q3(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function P3(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>Fb(()=>F(s.guards.map(l=>{const c=Ws(s.node)??t,u=ci(l,c);return ur(function H3(e){return e&&Qs(e.canActivateChild)}(u)?u.canActivateChild(r,e):c.runInContext(()=>u(r,e))).pipe(Vr())})).pipe(ui())));return F(i).pipe(ui())}(e,o.path,t),function Y3(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return F(!0);const o=r.map(i=>Fb(()=>{const s=Ws(n)??t,a=ci(i,s);return ur(function j3(e){return e&&Qs(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Vr())}));return F(o).pipe(ui())}(e,o.route,t))),Vr(o=>!0!==o,!0))}(r,i,e,n):F(a)),K(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),rt(l=>{if(i.guardsResult=l.guardsResult,Hr(l.guardsResult))throw AE(0,l.guardsResult);const c=new u3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),rn(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",3),!1)),Tp(l=>{if(l.guards.canActivateChecks.length)return F(l).pipe(rt(c=>{const u=new d3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),Ft(c=>{let u=!1;return F(c).pipe(_j(this.paramsInheritanceStrategy,this.environmentInjector),rt({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",2)}}))}),rt(c=>{const u=new f3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),Tp(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(rt(g=>{u.component=g}),K(()=>{})));for(const g of u.children)d.push(...c(g));return d};return Zh(c(l.targetSnapshot.root)).pipe(gc(),_r(1))}),Tp(()=>this.afterPreactivation()),Ft(()=>{const{currentSnapshot:l,targetSnapshot:c}=i,u=this.createViewTransition?.(this.environmentInjector,l.root,c.root);return u?Oe(u).pipe(K(()=>i)):F(i)}),K(l=>{const c=function w3(e,n,t){const r=qs(e,n._root,t?t._root:void 0);return new bE(r,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=i={...l,targetRouterState:c},this.currentNavigation.targetRouterState=c,i}),rt(()=>{this.events.next(new fp)}),((e,n,t,r)=>K(o=>(new R3(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),_r(1),rt({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new En(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),function oV(e){return $e((n,t)=>{qt(e).subscribe(Ve(t,()=>t.complete(),lu)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(rt(l=>{throw l}))),Ls(()=>{s||a||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),ni(l=>{if(a=!0,NE(l))this.events.next(new si(i.id,this.urlSerializer.serialize(i.extractedUrl),l.message,l.cancellationCode)),function I3(e){return NE(e)&&Hr(e.url)}(l)?this.events.next(new hp(l.url)):i.resolve(!1);else{this.events.next(new Ec(i.id,this.urlSerializer.serialize(i.extractedUrl),l,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(l))}catch(c){i.reject(c)}}return an}))}))}cancelNavigationTransition(t,r,o){const i=new si(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Aj(e){return e!==Gs}let xj=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>A(Rj),providedIn:"root"})}return e})();class Nj{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let Rj=(()=>{class e extends Nj{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),GE=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>A(Oj),providedIn:"root"})}return e})(),Oj=(()=>{class e extends GE{constructor(){super(...arguments),this.location=A(Os),this.urlSerializer=A(ii),this.options=A(fi,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=A(xp),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new oi,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=EE(0,null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{"popstate"===r.type&&t(r.url,r.state)})}handleRouterEvent(t,r){if(t instanceof bc)this.stateMemento=this.createStateMemento();else if(t instanceof ai)this.rawUrlTree=r.initialUrl;else if(t instanceof CE){if("eager"===this.urlUpdateStrategy&&!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl);this.setBrowserUrl(o,r)}}else t instanceof fp?(this.currentUrlTree=r.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r))):t instanceof si&&(3===t.code||2===t.code)?this.restoreHistory(r):t instanceof Ec?this.restoreHistory(r,!0):t instanceof En&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===t.finalUrl&&0===i&&(this.resetState(t),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Xs=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(Xs||{});function zE(e,n){e.events.pipe(rn(t=>t instanceof En||t instanceof si||t instanceof Ec||t instanceof ai),K(t=>t instanceof En||t instanceof ai?Xs.COMPLETE:t instanceof si&&(0===t.code||1===t.code)?Xs.REDIRECTING:Xs.FAILED),rn(t=>t!==Xs.REDIRECTING),_r(1)).subscribe(()=>{n()})}function Pj(e){throw e}const kj={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Fj={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Bt=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=A(Cw),this.stateManager=A(GE),this.options=A(fi,{optional:!0})||{},this.pendingTasks=A($l),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=A(Ac),this.urlSerializer=A(ii),this.location=A(Os),this.urlHandlingStrategy=A(xp),this._events=new zt,this.errorHandler=this.options.errorHandler||Pj,this.navigated=!1,this.routeReuseStrategy=A(xj),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=A(hi,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!A(Ic,{optional:!0}),this.eventsSubscription=new Et,this.isNgZoneEnabled=A(ae)instanceof ae&&ae.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const o=this.navigationTransitions.currentTransition,i=this.navigationTransitions.currentNavigation;if(null!==o&&null!==i)if(this.stateManager.handleRouterEvent(r,i),r instanceof si&&0!==r.code&&1!==r.code)this.navigated=!0;else if(r instanceof En)this.navigated=!0;else if(r instanceof hp){const s=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),a={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||Aj(o.source)};this.scheduleNavigation(s,Gs,null,a,{resolve:o.resolve,reject:o.reject,promise:o.promise})}(function Vj(e){return!(e instanceof fp||e instanceof hp)})(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Gs,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription||(this.nonRouterCurrentEntryChangeSubscription=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(t,"popstate",r)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(i.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(bp),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...i};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=i||null}null!==u&&(u=this.removeEmptyProps(u));try{d=hE(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return pE(d,t,u,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=Hr(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,Gs,null,r)}navigate(t,r={skipLocationChange:!1}){return function Lj(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,l=g});const u=this.pendingTasks.add();return zE(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:i,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Mn=(()=>{class e{constructor(t,r,o,i,s,a){this.router=t,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new zt,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=t.events.subscribe(c=>{c instanceof En&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(t){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){null!=t?(this.commands=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(t,r,o,i,s){return!!(null===this.urlTree||this.isAnchorElement&&(0!==t||r||o||i||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const t=null===this.href?null:function uy(e,n,t){return function cA(e,n){return"src"===n&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===n&&("base"===e||"link"===e)?cy:bo}(n,t)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",t)}applyAttributeValue(t,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,t,r):o.removeAttribute(i,t)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(r){return new(r||e)(S(Bt),S(Ur),function Pa(e){return function uS(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;const t=e.attrs;if(t){const r=t.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(t,r,o,i,s){this.router=t,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new xe,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof En&&this.update()})}ngAfterContentInit(){F(this.links.changes,F(null)).pipe(Yr()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Oe(t).pipe(Yr()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){const r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const t=this.hasActiveLinks();this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(t))})}isLinkActive(t){const r=function jj(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>!!o.urlTree&&t.isActive(o.urlTree,r)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Bt),S(Nt),S(Fn),S(ls),S(Mn,8))};static#t=this.\u0275dir=$({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(r,o,i){if(1&r&&ew(i,Mn,5),2&r){let s;KD(s=function tw(){return function lk(e,n){return e[dn].queries[n].queryList}(b(),Nm())}())&&(o.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Lt]})}return e})();class WE{}let Hj=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(rn(t=>t instanceof En),ti(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=Xf(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Oe(o).pipe(Yr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):F(null);const i=o.pipe(Xe(s=>null===s?F(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Oe([i,this.loader.loadComponent(r)]).pipe(Yr()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(k(Bt),k(ww),k(At),k(WE),k(Ap))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Np=new N("");let ZE=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof bc?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof En?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ai&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof DE&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new DE(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function Oy(){throw new Error("invalid")}()};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function Sn(e,n){return{\u0275kind:e,\u0275providers:n}}function QE(){const e=A(_t);return n=>{const t=e.get(Xo);if(n!==t.components[0])return;const r=e.get(Bt),o=e.get(XE);1===e.get(Rp)&&r.initialNavigation(),e.get(JE,null,X.Optional)?.setUpPreloading(),e.get(Np,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const XE=new N("",{factory:()=>new zt}),Rp=new N("",{providedIn:"root",factory:()=>1}),JE=new N("");function Gj(e){return Sn(0,[{provide:JE,useExisting:Hj},{provide:WE,useExisting:e}])}function qj(e){return Sn(9,[{provide:BE,useValue:Sj},{provide:$E,useValue:{skipNextTransition:!!e?.skipInitialTransition,...e}}])}const KE=new N("ROUTER_FORROOT_GUARD"),Wj=[Os,{provide:ii,useClass:ap},Bt,zs,{provide:Ur,useFactory:function YE(e){return e.routerState.root},deps:[Bt]},Ap,[]];let eI=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[Wj,[],{provide:hi,multi:!0,useValue:t},{provide:KE,useFactory:Xj,deps:[[Bt,new La,new Va]]},{provide:fi,useValue:r||{}},r?.useHash?{provide:Lr,useClass:JF}:{provide:Lr,useClass:cb},{provide:Np,useFactory:()=>{const e=A(vL),n=A(ae),t=A(fi),r=A(Ac),o=A(ii);return t.scrollOffset&&e.setOffset(t.scrollOffset),new ZE(o,r,e,n,t)}},r?.preloadingStrategy?Gj(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?Jj(r):[],r?.bindToComponentInputs?Sn(8,[TE,{provide:Ic,useExisting:TE}]).\u0275providers:[],r?.enableViewTransitions?qj().\u0275providers:[],[{provide:tI,useFactory:QE},{provide:mh,multi:!0,useExisting:tI}]]}}static forChild(t){return{ngModule:e,providers:[{provide:hi,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(k(KE,8))};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({})}return e})();function Xj(e){return"guarded"}function Jj(e){return["disabled"===e.initialNavigation?Sn(3,[{provide:ch,multi:!0,useFactory:()=>{const n=A(Bt);return()=>{n.setUpLocationChangeListener()}}},{provide:Rp,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Sn(2,[{provide:Rp,useValue:0},{provide:ch,multi:!0,deps:[_t],useFactory:n=>{const t=n.get(QF,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(Bt),i=n.get(XE);zE(o,()=>{r(!0)}),n.get(Ac).afterPreactivation=()=>(r(!0),i.closed?F(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const tI=new N(""),eH=()=>["/pro"];let tH=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-footer"]],standalone:!0,features:[Ot],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5","portrait"],[1,"col-xs-12","col-md-8"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[3,"routerLink"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(r,o){1&r&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),y(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create a code coverage report based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),y(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),y(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by becoming a "),y(25,"i",7),f(26,"\xa0"),h(27,"a",8),f(28,"GitHub sponsor"),p(),f(29," or by buying a "),h(30,"a",9),f(31,"PRO license"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),y(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),y(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),y(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),y(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),y(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),y(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),y(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),y(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),y(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),y(81,"i",21),f(82," GitHub"),p(),y(83,"br"),h(84,"a",22),y(85,"i",23),f(86," Twitter"),p(),y(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),y(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&r&&(C(19),Hn(" Fast forward ",o.years," years, I'm still maintaining "),C(11),E("routerLink",ee(2,eH)))},dependencies:[Mn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}.portrait[_ngcontent-%COMP%]{max-height:300px}"]})}return e})();const nI=()=>["/"],nH=e=>({show:e}),pi=()=>["link-active"],rI=()=>({exact:!0}),rH=()=>["/features"],oH=()=>["/getstarted"],iH=()=>["/usage"],sH=()=>["/contact"],aH=()=>["/pro"];let lH=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[Ot],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(r,o){1&r&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),y(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),R("click",function(){return o.toggle()}),y(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),y(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),y(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),y(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&r&&(C(3),E("routerLink",ee(17,nI)),C(4),Xt("aria-expanded",o.isExpanded),C(2),E("ngClass",Ms(18,nH,o.isExpanded)),C(2),E("routerLinkActive",ee(20,pi))("routerLinkActiveOptions",ee(21,rI)),C(1),E("routerLink",ee(22,nI)),C(2),E("routerLinkActive",ee(23,pi))("routerLinkActiveOptions",ee(24,rI)),C(1),E("routerLink",ee(25,rH)),C(2),E("routerLinkActive",ee(26,pi)),C(1),E("routerLink",ee(27,oH)),C(2),E("routerLinkActive",ee(28,pi)),C(1),E("routerLink",ee(29,iH)),C(2),E("routerLinkActive",ee(30,pi)),C(1),E("routerLink",ee(31,sH)),C(2),E("routerLinkActive",ee(32,pi)),C(1),E("routerLink",ee(33,aH)))},dependencies:[Mn,uc,qE],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]})}return e})(),cH=(()=>{class e{constructor(t,r,o){this.dom=t,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(rn(t=>t instanceof En),K(()=>this.activatedRoute),K(t=>{for(;t.firstChild;)t=t.firstChild;return t}),rn(t=>"primary"===t.outlet),Xe(t=>t.data)).subscribe(t=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(t.canonical?r+t.canonical:r+this.router.url)})}updateCanonicalUrl(t){const r=this.dom.getElementsByTagName("head")[0];var o=this.dom.querySelector("link[rel='canonical']")||null;null==o&&(o=this.dom.createElement("link"),r.appendChild(o)),o.setAttribute("rel","canonical"),o.setAttribute("href",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(ft),S(Bt),S(Ur))};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-root"]],standalone:!0,features:[Ot],decls:3,vars:0,template:function(r,o){1&r&&y(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[lH,Dp,tH],encapsulation:2})}return e})(),oI=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Fn),S(Nt))};static#t=this.\u0275dir=$({type:e})}return e})(),Br=(()=>{class e extends oI{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=$({type:e,features:[ce]})}return e})();const Tn=new N("NgValueAccessor"),fH={provide:Tn,useExisting:he(()=>gi),multi:!0},pH=new N("CompositionEventMode");let gi=(()=>{class e extends oI{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function hH(){const e=lr()?lr().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Fn),S(Nt),S(pH,8))};static#t=this.\u0275dir=$({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&R("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[Ee([fH]),ce]})}return e})();function dr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const ot=new N("NgValidators"),fr=new N("NgAsyncValidators"),gH=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function cI(e){return dr(e.value)?{required:!0}:null}function dI(e){return dr(e.value)||gH.test(e.value)?null:{email:!0}}function xc(e){return null}function gI(e){return null!=e}function mI(e){return Is(e)?Oe(e):e}function vI(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function yI(e,n){return n.map(t=>t(e))}function _I(e){return e.map(n=>function mH(e){return!e.validate}(n)?n:t=>n.validate(t))}function Op(e){return null!=e?function CI(e){if(!e)return null;const n=e.filter(gI);return 0==n.length?null:function(t){return vI(yI(t,n))}}(_I(e)):null}function Pp(e){return null!=e?function DI(e){if(!e)return null;const n=e.filter(gI);return 0==n.length?null:function(t){return function uH(...e){const n=jg(e),{args:t,keys:r}=Rb(e),o=new Te(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(r?Pb(r,a):a),i.complete())}))}});return n?o.pipe(Ob(n)):o}(yI(t,n).map(mI)).pipe(K(vI))}}(_I(e)):null}function wI(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function kp(e){return e?Array.isArray(e)?e:[e]:[]}function Nc(e,n){return Array.isArray(e)?e.includes(n):e===n}function II(e,n){const t=kp(n);return kp(e).forEach(o=>{Nc(t,o)||t.push(o)}),t}function MI(e,n){return kp(n).filter(t=>!Nc(e,t))}class SI{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Op(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Pp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class pt extends SI{get formDirective(){return null}get path(){return null}}class hr extends SI{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class TI{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Rc=(()=>{class e extends TI{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(hr,2))};static#t=this.\u0275dir=$({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&El("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[ce]})}return e})(),Oc=(()=>{class e extends TI{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(pt,10))};static#t=this.\u0275dir=$({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&El("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[ce]})}return e})();const Js="VALID",kc="INVALID",mi="PENDING",Ks="DISABLED";function Vp(e){return(Fc(e)?e.validators:e)||null}function jp(e,n){return(Fc(n)?n.asyncValidators:e)||null}function Fc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class RI{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===Js}get invalid(){return this.status===kc}get pending(){return this.status==mi}get disabled(){return this.status===Ks}get enabled(){return this.status!==Ks}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(II(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(II(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(MI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(MI(n,this._rawAsyncValidators))}hasValidator(n){return Nc(this._rawValidators,n)}hasAsyncValidator(n){return Nc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=mi,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ks,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Js,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Js||this.status===mi)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ks:Js}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=mi,this._hasOwnPendingAsyncValidator=!0;const t=mI(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new xe,this.statusChanges=new xe}_calculateStatus(){return this._allControlsDisabled()?Ks:this.errors?kc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(mi)?mi:this._anyControlsHaveStatus(kc)?kc:Js}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Fc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function CH(e){return Array.isArray(e)?Op(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function DH(e){return Array.isArray(e)?Pp(e):e||null}(this._rawAsyncValidators)}}class Hp extends RI{constructor(n,t,r){super(Vp(t),jp(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function NI(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new M(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function xI(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new M(1e3,"");if(!r[t])throw new M(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const vi=new N("CallSetDisabledState",{providedIn:"root",factory:()=>Lc}),Lc="always";function ea(e,n,t=Lc){Up(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function EH(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&OI(e,n)})}(e,n),function MH(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function IH(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&OI(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function bH(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Hc(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function Up(e,n){const t=function bI(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(wI(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function EI(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(wI(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Hc(n._rawValidators,o),Hc(n._rawAsyncValidators,o)}function OI(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const NH={provide:pt,useExisting:he(()=>yi)},ta=(()=>Promise.resolve())();let yi=(()=>{class e extends pt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new xe,this.form=new Hp({},Op(t),Pp(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ta.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),ea(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ta.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){ta.then(()=>{const r=this._findContainer(t.path),o=new Hp({});(function PI(e,n){Up(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ta.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){ta.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function kI(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(S(ot,10),S(fr,10),S(vi,8))};static#t=this.\u0275dir=$({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&R("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ee([NH]),ce]})}return e})();function FI(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function LI(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const VI=class extends RI{constructor(n=null,t,r){super(Vp(t),jp(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Fc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=LI(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){FI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){FI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){LI(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},PH={provide:hr,useExisting:he(()=>na)},UI=(()=>Promise.resolve())();let na=(()=>{class e extends hr{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new VI,this._registered=!1,this.name="",this.update=new xe,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Gp(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===gi?t=i:function AH(e){return Object.getPrototypeOf(e.constructor)===Br}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function $p(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){ea(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){UI.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&Ko(r);UI.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Vc(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(S(pt,9),S(ot,10),S(fr,10),S(Tn,10),S(ls,8),S(vi,8))};static#t=this.\u0275dir=$({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Ee([PH]),ce,Lt]})}return e})(),Bc=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=$({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const FH={provide:Tn,useExisting:he(()=>zp),multi:!0};let $I=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({})}return e})(),LH=(()=>{class e{constructor(){this._accessors=[]}add(t,r){this._accessors.push([t,r])}remove(t){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===t)return void this._accessors.splice(r,1)}select(t){this._accessors.forEach(r=>{this._isSameGroup(r,t)&&r[1]!==t&&r[1].fireUncheck(t.value)})}_isSameGroup(t,r){return!!t[0].control&&t[0]._parent===r._control._parent&&t[1].name===r.name}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:$I})}return e})(),zp=(()=>{class e extends Br{constructor(t,r,o,i){super(t,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=A(vi,{optional:!0})??Lc}ngOnInit(){this._control=this._injector.get(hr),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this.setProperty("checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}setDisabledState(t){(this.setDisabledStateFired||t||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Fn),S(Nt),S(LH),S(_t))};static#t=this.\u0275dir=$({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(r,o){1&r&&R("change",function(){return o.onChange()})("blur",function(){return o.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Ee([FH]),ce]})}return e})();const GH={provide:Tn,useExisting:he(()=>$c),multi:!0};function YI(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let $c=(()=>{class e extends Br{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=YI(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function zH(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=$({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,o){1&r&&R("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ee([GH]),ce]})}return e})(),QI=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(YI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Nt),S(Fn),S($c,9))};static#t=this.\u0275dir=$({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();const qH={provide:Tn,useExisting:he(()=>Yp),multi:!0};function XI(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Yp=(()=>{class e extends Br{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=$({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,o){1&r&&R("change",function(s){return o.onChange(s.target)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ee([qH]),ce]})}return e})(),JI=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(XI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(XI(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Nt),S(Fn),S(Yp,9))};static#t=this.\u0275dir=$({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();let $r=(()=>{class e{constructor(){this._validator=xc}ngOnChanges(t){if(this.inputName in t){const r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):xc,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=$({type:e,features:[Lt]})}return e})();const QH={provide:ot,useExisting:he(()=>_i),multi:!0};let _i=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=Ko,this.createValidator=t=>cI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=$({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(r,o){2&r&&Xt("required",o._enabled?"":null)},inputs:{required:"required"},features:[Ee([QH]),ce]})}return e})();const JH={provide:ot,useExisting:he(()=>Gc),multi:!0};let Gc=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=Ko,this.createValidator=t=>dI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=$({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[Ee([JH]),ce]})}return e})();const eU={provide:ot,useExisting:he(()=>Qp),multi:!0};let Qp=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=t=>function KI(e){return"number"==typeof e?e:parseInt(e,10)}(t),this.createValidator=t=>function hI(e){return n=>function sI(e){return null!=e&&"number"==typeof e.length}(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=$({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&Xt("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Ee([eU]),ce]})}return e})();const tU={provide:ot,useExisting:he(()=>Xp),multi:!0};let Xp=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=t=>t,this.createValidator=t=>function pI(e){if(!e)return xc;let n,t;return"string"==typeof e?(t="","^"!==e.charAt(0)&&(t+="^"),t+=e,"$"!==e.charAt(e.length-1)&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(dr(r.value))return null;const o=r.value;return n.test(o)?null:{pattern:{requiredPattern:t,actualValue:o}}}}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=$({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&Xt("pattern",o._enabled?o.pattern:null)},inputs:{pattern:"pattern"},features:[Ee([tU]),ce]})}return e})(),nU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({imports:[$I]})}return e})(),zc=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:vi,useValue:t.callSetDisabledState??Lc}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({imports:[nU]})}return e})();class qc{}class Wc{}class $t{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof $t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new $t;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof $t?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class oU{encodeKey(n){return aM(n)}encodeValue(n){return aM(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const sU=/%(\d[a-f0-9])/gi,aU={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function aM(e){return encodeURIComponent(e).replace(sU,(n,t)=>aU[t]??n)}function Zc(e){return`${e}`}class pr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new oU,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function iU(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(Zc):[Zc(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new pr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Zc(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(Zc(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class lU{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function lM(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function cM(e){return typeof Blob<"u"&&e instanceof Blob}function uM(e){return typeof FormData<"u"&&e instanceof FormData}class ra{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function cU(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),this.transferCache=i.transferCache),this.headers||(this.headers=new $t),this.context||(this.context=new lU),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new ra(t,r,i,{params:c,headers:l,context:u,reportProgress:a,responseType:o,withCredentials:s})}}var gr=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(gr||{});class Jp{constructor(n,t=200,r="OK"){this.headers=n.headers||new $t,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Yc extends Jp{constructor(n={}){super(n),this.type=gr.ResponseHeader}clone(n={}){return new Yc({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Gr extends Jp{constructor(n={}){super(n),this.type=gr.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Gr({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Ci extends Jp{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function Kp(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,transferCache:e.transferCache}}let eg=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof ra)i=t;else{let l,c;l=o.headers instanceof $t?o.headers:new $t(o.headers),o.params&&(c=o.params instanceof pr?o.params:new pr({fromObject:o.params})),i=new ra(t,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}const s=F(i).pipe(ti(l=>this.handler.handle(l)));if(t instanceof ra||"events"===o.observe)return s;const a=s.pipe(rn(l=>l instanceof Gr));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(K(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(K(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new pr).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,Kp(o,r))}post(t,r,o={}){return this.request("POST",t,Kp(o,r))}put(t,r,o={}){return this.request("PUT",t,Kp(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(k(qc))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function fM(e,n){return n(e)}function gU(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const vU=new N(""),oa=new N(""),hM=new N(""),pM=new N("");function yU(){let e=null;return(n,t)=>{null===e&&(e=(A(vU,{optional:!0})??[]).reduceRight(gU,fM));const r=A($l),o=r.add();return e(n,t).pipe(Ls(()=>r.remove(o)))}}let gM=(()=>{class e extends qc{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=A($l);const o=A(pM,{optional:!0});this.backend=o??t}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(oa),...this.injector.get(hM,[])]));this.chain=o.reduceRight((i,s)=>function mU(e,n,t){return(r,o)=>t.runInContext(()=>n(r,i=>e(i,o)))}(i,s,this.injector),fM)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(Ls(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(k(Wc),k(At))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const bU=/^\)\]\}',?\n/;let vM=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new M(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Oe(r.\u0275loadImpl()):F(null)).pipe(Ft(()=>new Te(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((_,D)=>s.setRequestHeader(_,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const _=t.detectContentTypeHeader();null!==_&&s.setRequestHeader("Content-Type",_)}if(t.responseType){const _=t.responseType.toLowerCase();s.responseType="json"!==_?_:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const _=s.statusText||"OK",D=new $t(s.getAllResponseHeaders()),I=function EU(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new Yc({headers:D,status:s.status,statusText:_,url:I}),l},u=()=>{let{headers:_,status:D,statusText:I,url:w}=c(),x=null;204!==D&&(x=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=x?200:0);let V=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof x){const Z=x;x=x.replace(bU,"");try{x=""!==x?JSON.parse(x):null}catch(Ie){x=Z,V&&(V=!1,x={error:Ie,text:x})}}V?(i.next(new Gr({body:x,headers:_,status:D,statusText:I,url:w||void 0})),i.complete()):i.error(new Ci({error:x,headers:_,status:D,statusText:I,url:w||void 0}))},d=_=>{const{url:D}=c(),I=new Ci({error:_,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});i.error(I)};let g=!1;const m=_=>{g||(i.next(c()),g=!0);let D={type:gr.DownloadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),i.next(D)},v=_=>{let D={type:gr.UploadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),i.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),i.next({type:gr.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(k(Tb))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const rg=new N("XSRF_ENABLED"),yM=new N("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),_M=new N("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class CM{}let SU=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=_b(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(k(ft),k(Sr),k(yM))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function TU(e,n){const t=e.url.toLowerCase();if(!A(rg)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=A(CM).getToken(),o=A(_M);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var mr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(mr||{});const DM=new N("LEGACY_INTERCEPTOR_FN");class FU{constructor(){this.name="",this.email="",this.message=""}}let TM=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${ye_apiBaseUrl}contact`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(eg))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function LU(e,n){if(1&e){const t=Fe();h(0,"form",4,5),R("ngSubmit",function(){return re(t),oe(P().submit())}),h(2,"div",6)(3,"label",7),f(4,"Name "),h(5,"span",8),f(6,"*"),p()(),h(7,"input",9),R("ngModelChange",function(o){return re(t),oe(P().contactViewModel.name=o)}),p()(),h(8,"div",6)(9,"label",10),f(10,"Email address "),h(11,"span",8),f(12,"*"),p()(),h(13,"input",11),R("ngModelChange",function(o){return re(t),oe(P().contactViewModel.email=o)}),p()(),h(14,"div",6)(15,"label",12),f(16,"Message "),h(17,"span",8),f(18,"*"),p()(),h(19,"textarea",13),R("ngModelChange",function(o){return re(t),oe(P().contactViewModel.message=o)}),p()(),h(20,"button",14),f(21,"Submit"),p()()}if(2&e){const t=Gf(1),r=P();C(7),E("ngModel",r.contactViewModel.name),C(6),E("ngModel",r.contactViewModel.email),C(6),E("ngModel",r.contactViewModel.message),C(1),E("disabled",!t.valid||r.enableFormCountDown>0)}}function VU(e,n){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function jU(e,n){1&e&&(h(0,"p",15),f(1,"Something went wrong. Please try again later."),p())}let HU=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new FU,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:t=>{console.log("Submitted form"),this.success=!0},error:t=>{console.error(t),this.error=!0},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(TM))};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[Ot],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post"],["class","text-danger"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),q(3,LU,22,4,"form",2)(4,VU,2,0,"p")(5,jU,2,0,"p",3),p()),2&r&&(C(3),Ho(3,o.success||o.error?-1:3),C(1),Ho(4,o.success?4:-1),C(1),Ho(5,o.error?5:-1))},dependencies:[zc,Bc,gi,Rc,Oc,_i,Gc,na,yi]})}return e})();const AM=()=>["/pro"];let UU=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[Ot],decls:131,vars:4,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),h(3,"h2",2),f(4,"Coverage quotas"),p(),h(5,"p"),f(6," The overiew cards provide a quick "),h(7,"span",3),f(8,"overview"),p(),f(9," of your coverage quotas."),y(10,"br"),f(11," You can use them to get a glimpse into the different "),h(12,"a",4),f(13,"coverage metrics"),p(),f(14,"\xa0"),h(15,"a",4),y(16,"i",5),p(),f(17,": "),p(),h(18,"ul")(19,"li"),f(20,"Line coverage"),p(),h(21,"li"),f(22,"Branch coverage"),p(),h(23,"li"),f(24,"Method coverage "),h(25,"a",6)(26,"span",7),f(27,"PRO"),p()()()(),y(28,"img",8)(29,"br"),h(30,"h2",9),f(31,"Coverage history"),p(),h(32,"p"),f(33," The history chart helps you to understand how your coverage quotas are "),h(34,"span",3),f(35,"evolving over time"),p(),f(36,". "),p(),y(37,"img",10)(38,"br"),h(39,"h2",11),f(40,"Summary table / Overview"),p(),h(41,"p"),f(42," The summary table helps you to identify classes with "),h(43,"span",3),f(44,"low test coverage"),p(),f(45,"."),y(46,"br"),f(47," The table offers various "),h(48,"span",3),f(49,"filter and sorting"),p(),f(50," options for quick navigation. "),p(),y(51,"img",12)(52,"br"),h(53,"h2",13),f(54,"Details page"),p(),h(55,"p"),f(56," The details page visualizes your "),h(57,"span",3),f(58,"line and branch coverage"),p(),f(59,". "),p(),h(60,"ul")(61,"li"),f(62,"Colors indicate the coverage status of each line."),p(),h(63,"li"),f(64,"Branch indicators help you to identity uncovered conditions."),p()(),y(65,"img",14)(66,"br"),h(67,"h2",15),f(68,"Metrics"),p(),h(69,"p"),f(70," Depending on your "),h(71,"a",16),f(72,"coverage tool"),p(),f(73,", metrics are provided to get further insigths in your "),h(74,"span",3),f(75,"code quality"),p(),f(76,". "),p(),h(77,"ul")(78,"li"),f(79,"The "),h(80,"a",17),R("click",function(){return o.scrollToAnchor("#details")}),f(81,"details page"),p(),f(82," contains information about the metrics of all methods of a class."),p(),h(83,"li"),f(84,"The "),h(85,"a",17),R("click",function(){return o.scrollToAnchor("#summary")}),f(86,"summary table"),p(),f(87," shows the lowest metrics of all methods of a class "),h(88,"a",6)(89,"span",7),f(90,"PRO"),p()()()(),h(91,"b"),f(92,"Details page"),p(),y(93,"br")(94,"img",18)(95,"br")(96,"br"),h(97,"b"),f(98,"Summary table"),p(),y(99,"br")(100,"img",19)(101,"br"),h(102,"h2",20),f(103,"Risk Hotspots"),p(),h(104,"p"),f(105," Based on the "),h(106,"a",17),R("click",function(){return o.scrollToAnchor("#metrics")}),f(107,"metrics"),p(),f(108," you get a list of potential risk hotspots."),y(109,"br"),f(110," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(111,"ul")(112,"li")(113,"a",21),f(114,"Cyclomatic complexity"),p(),f(115,"\xa0"),h(116,"a",21),y(117,"i",5),p()(),h(118,"li")(119,"a",22),f(120,"NPath complexity"),p(),f(121,"\xa0"),h(122,"a",22),y(123,"i",5),p()(),h(124,"li")(125,"a",23),f(126,"Crap score"),p(),f(127,"\xa0"),h(128,"a",23),y(129,"i",5),p()()(),y(130,"img",24),p()),2&r&&(C(25),E("routerLink",ee(2,AM)),C(63),E("routerLink",ee(3,AM)))},dependencies:[Mn]})}return e})();const Gt={dotnetSDKVersion:"8.x",majorVersion:"5",version:"5.2.0"},BU=()=>["/usage"];let $U=(()=>{class e{constructor(){this.versions=Gt}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[Ot],decls:72,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),y(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),y(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),h(18,"h2",3),f(19,".NET"),p(),h(20,"p"),f(21,"For .NET you can use "),h(22,"a",4),f(23,"coverlet"),p(),f(24," or "),h(25,"a",5),f(26,"altcover"),p(),f(27," for instrumenting your test code."),p(),h(28,"p"),f(29,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(30,"p")(31,"strong"),f(32,"Add dependencies to your "),h(33,"code"),f(34,"*.csproj"),p(),f(35," file:"),p()(),h(36,"pre",6),f(37),p(),h(38,"p")(39,"strong"),f(40,"Execute tests and create coverage report"),p()(),h(41,"pre",6),f(42),p(),h(43,"h2",7),f(44,"Java"),p(),h(45,"p"),f(46,"For Java you can use "),h(47,"a",8),f(48,"JaCoCo"),p(),f(49," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(50,"p")(51,"strong"),f(52,"Add dependencies to your "),h(53,"code"),f(54,"pom.xml"),p(),f(55," file:"),p()(),h(56,"pre",6),f(57,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(58,"p")(59,"strong"),f(60,"Execute tests and create coverage report"),p()(),h(61,"pre",6),f(62),p(),h(63,"h2",9),f(64,"NodeJS"),p(),h(65,"p"),f(66,"For NodeJS you can use "),h(67,"a",10),f(68,"Istanbul"),p(),f(69," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(70,"pre",6),f(71),p()()),2&r&&(C(15),E("routerLink",ee(5,BU)),C(22),Hn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),C(5),Hn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',o.versions.version,'\\tools\\net8.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(20),Hn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(9),Hn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[Mn]})}return e})(),xM=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[Ot],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"h2",2),f(3,"Trusted by"),p(),h(4,"div",3)(5,"div",4),y(6,"i",5)(7,"br"),h(8,"a",6),f(9,".NET Runtime"),p()(),h(10,"div",4),y(11,"i",7)(12,"br"),h(13,"a",8),f(14,"Google Cloud"),p()(),h(15,"div",4),y(16,"i",9)(17,"br"),h(18,"a",10),f(19,"AWS Encryption SDK"),p()(),h(20,"div",11),y(21,"i",12)(22,"br"),h(23,"a",13),f(24,"Many more"),p()()(),h(25,"div",3)(26,"div",4)(27,"a",14),y(28,"i",15),f(29," Over 60 million downloads on Nuget"),p()()()()())},encapsulation:2})}return e})();const GU=()=>["/pro"],zU=()=>["/usage"],qU=()=>["/getstarted"],WU=()=>["/features"];let ZU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-home"]],standalone:!0,features:[Ot],decls:114,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"div",2),y(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),y(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),y(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),y(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),y(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),y(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),y(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),y(85,"i",27),f(86," GitHub"),p()()()(),y(87,"app-testimonials"),h(88,"section",28)(89,"div",0)(90,"h2"),f(91,"Screenshots"),p(),h(92,"p"),f(93,"The screenshots show two snippets of the generated reports."),p(),h(94,"p"),f(95," Have a look the "),h(96,"a",17),f(97,"features page"),p(),f(98," to explore the elements in a coverage report or "),h(99,"a",29),f(100,"browse the example report"),p(),f(101,". "),y(102,"br"),f(103," You can also download "),h(104,"a",30),f(105,"sample reports"),p(),f(106," of all supported output formats."),p(),h(107,"div",1)(108,"div",31)(109,"a",32),y(110,"img",33),p()(),h(111,"div",34)(112,"a",35),y(113,"img",36),p()()()()()),2&r&&(C(45),E("routerLink",ee(4,GU)),C(12),E("routerLink",ee(5,zU)),C(24),E("routerLink",ee(6,qU)),C(15),E("routerLink",ee(7,WU)))},dependencies:[Mn,xM],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]})}return e})(),YU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[Ot],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),y(3,"i",2),f(4," The requested page does not exist.\n"),p())}})}return e})();class NM{constructor(){this.error=null,this.licenses=[]}}class QU{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let RM=(()=>{class e{initCodeFlow(){const o=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let t=location.href;const r=t.indexOf("?");r>-1&&(t=t.substring(r+1));const o=this.parseQueryString(t);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const t=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",t),t}validateNonce(t){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),r&&0!==r.length?r===t||(console.error("Validating nonce failed. Values do not match.",r,t),!1):(console.error("Validating nonce failed. No saved nonce available.",r,t),!1)}createNonce(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let r=45,o="";const i=typeof self>"u"?null:self.crypto||self.msCrypto;if(i){let a=new Uint8Array(r);i.getRandomValues(a),a.map||(a.map=Array.prototype.map);const l=[];for(var s=0;s0&&(c=decodeURIComponent(a),u=decodeURIComponent(l),"/"===c.substring(0,1)&&(c=c.substring(1)),r[c]=u);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),OM=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${ye_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getTrialLicense(t){return this.httpClient.post(`${ye_apiBaseUrl}reportgenerator/triallicense`,t)}getPaddleLicense(t){return this.httpClient.post(`${ye_apiBaseUrl}reportgenerator/paddlelicense`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(k(eg))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),XU=(()=>{class e{constructor(){this.isActive=!1,this.isActive=new Date["/contact"];function eB(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=P(2);C(2),be(t.license.error),C(3),E("routerLink",ee(2,og))}}function tB(e,n){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",74),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function nB(e,n){1&e&&(h(0,"span"),y(1,"i",78),f(2," Copy"),p())}function rB(e,n){1&e&&(h(0,"span"),y(1,"i",79),f(2," Copied"),p())}function oB(e,n){if(1&e){const t=Fe();h(0,"div")(1,"label",75),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",76),f(4),p(),h(5,"button",77),R("click",function(){return re(t),oe(P(2).copy())}),q(6,nB,3,0,"span",34)(7,rB,3,0,"span",34),p()()}if(2&e){const t=P(2);C(4),be(t.license.license),C(2),E("ngIf",!t.licenseCopied),C(1),E("ngIf",t.licenseCopied)}}function iB(e,n){if(1&e&&(h(0,"div",20),q(1,eB,8,3,"div",34)(2,tB,6,0,"div",34)(3,oB,8,3,"div",34),p()),2&e){const t=P();C(1),E("ngIf",t.license.error),C(1),E("ngIf",!t.license.error&&!t.license.isSponsor),C(1),E("ngIf",!t.license.error&&t.license.isSponsor&&t.license.license)}}const PM=e=>({active:e});function sB(e,n){if(1&e){const t=Fe();h(0,"span",80)(1,"span",81),R("click",function(){return re(t),oe(P().lifetimeLicense=!1)}),y(2,"i",82),f(3," Annual subscription"),p(),h(4,"span",81),R("click",function(){return re(t),oe(P().lifetimeLicense=!0)}),y(5,"i",83),f(6," Lifetime license"),p()()}if(2&e){const t=P();C(1),E("ngClass",Ms(2,PM,!t.lifetimeLicense)),C(3),E("ngClass",Ms(4,PM,t.lifetimeLicense))}}function aB(e,n){if(1&e){const t=Fe();h(0,"button",103),R("click",function(){return re(t),oe(P(2).requestTrial())}),y(1,"i",25),f(2," Start trial"),p()}2&e&&E("disabled",P(2).trialDisabled)}function lB(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function cB(e,n){1&e&&(Dt(0),y(1,"i",82),f(2," Annual subscription"),wt())}function uB(e,n){1&e&&(Dt(0),y(1,"i",83),f(2," Lifetime license"),wt())}function dB(e,n){if(1&e){const t=Fe();h(0,"button",105),R("click",function(){return re(t),oe(P(2).openPaddleCheckout("individual"))}),y(1,"i",106),f(2," Buy now"),p()}}function fB(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function hB(e,n){1&e&&(Dt(0),y(1,"i",82),f(2," Annual subscription"),wt())}function pB(e,n){1&e&&(Dt(0),y(1,"i",83),f(2," Lifetime license"),wt())}function gB(e,n){if(1&e){const t=Fe();h(0,"button",105),R("click",function(){return re(t),oe(P(2).openPaddleCheckout("team"))}),y(1,"i",106),f(2," Buy now"),p()}}function mB(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function vB(e,n){1&e&&(Dt(0),y(1,"i",82),f(2," Annual subscription"),wt())}function yB(e,n){1&e&&(Dt(0),y(1,"i",83),f(2," Lifetime license"),wt())}function _B(e,n){if(1&e){const t=Fe();h(0,"button",105),R("click",function(){return re(t),oe(P(2).openPaddleCheckout("enterprise"))}),y(1,"i",106),f(2," Buy now"),p()}}function CB(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function DB(e,n){if(1&e&&(h(0,"div",2)(1,"div",84)(2,"div",85),y(3,"img",86),h(4,"h4",87),f(5,"Free"),y(6,"br"),f(7,"Trial"),p(),h(8,"p"),y(9,"i",88),f(10," Get full access"),y(11,"br")(12,"i",89),f(13," 10 day trial period "),p(),q(14,aB,3,1,"button",90)(15,lB,2,0,"button",91),p()(),h(16,"div",92)(17,"div",93),y(18,"img",94),h(19,"h4",87),f(20,"Individual"),y(21,"br"),f(22),p(),h(23,"p"),y(24,"i",95),f(25," Per developer license."),y(26,"br"),q(27,cB,3,0,"ng-container",34)(28,uB,3,0,"ng-container",34),p(),q(29,dB,3,0,"button",96)(30,fB,2,0,"button",91),p()(),h(31,"div",97)(32,"div",93),y(33,"img",98),h(34,"h4",87),f(35,"Team"),y(36,"br"),f(37),p(),h(38,"p"),y(39,"i",99),f(40," Up to 10 developers."),y(41,"br"),q(42,hB,3,0,"ng-container",34)(43,pB,3,0,"ng-container",34),p(),q(44,gB,3,0,"button",96)(45,mB,2,0,"button",91),p()(),h(46,"div",100)(47,"div",93),y(48,"img",101),h(49,"h4",87),f(50,"Enterprise"),y(51,"br"),f(52),p(),h(53,"p"),y(54,"i",102),f(55," Unlimited developers."),y(56,"br"),q(57,vB,3,0,"ng-container",34)(58,yB,3,0,"ng-container",34),p(),q(59,_B,3,0,"button",96)(60,CB,2,0,"button",91),p()()()),2&e){const t=P();C(14),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle),C(7),be(t.lifetimeLicense?t.paddleIndividualLifetimeLicensePrice:t.paddleIndividualLicensePrice),C(5),E("ngIf",!t.lifetimeLicense),C(1),E("ngIf",t.lifetimeLicense),C(1),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle),C(7),be(t.lifetimeLicense?t.paddleTeamLifetimeLicensePrice:t.paddleTeamLicensePrice),C(5),E("ngIf",!t.lifetimeLicense),C(1),E("ngIf",t.lifetimeLicense),C(1),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle),C(7),be(t.lifetimeLicense?t.paddleEnterpriseLifetimeLicensePrice:t.paddleEnterpriseLicensePrice),C(5),E("ngIf",!t.lifetimeLicense),C(1),E("ngIf",t.lifetimeLicense),C(1),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle)}}function wB(e,n){1&e&&(Dt(0),h(1,"div",70)(2,"span",71),f(3,"Loading..."),p()(),h(4,"span",108),f(5,"Your license is being generated. Please wait."),p(),wt())}function bB(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=P(3);C(2),be(t.paddleLicense.error),C(3),E("routerLink",ee(2,og))}}function EB(e,n){1&e&&(h(0,"span"),y(1,"i",78),f(2," Copy"),p())}function IB(e,n){1&e&&(h(0,"span"),y(1,"i",79),f(2," Copied"),p())}function MB(e,n){if(1&e){const t=Fe();h(0,"div",112)(1,"textarea",113),f(2),p(),h(3,"button",77),R("click",function(){const i=re(t).$implicit;return oe(P(4).copyPaddle(i))}),q(4,EB,3,0,"span",34)(5,IB,3,0,"span",34),p()()}if(2&e){const t=n.$implicit,r=P(4);C(2),be(t),C(2),E("ngIf",-1===r.copiedPaddledLicenses.indexOf(t)),C(1),E("ngIf",r.copiedPaddledLicenses.indexOf(t)>-1)}}function SB(e,n){if(1&e&&(h(0,"div")(1,"label",110),f(2,"Thank you! Please save your license key persistently:"),p(),q(3,MB,6,3,"div",111),p()),2&e){const t=P(3);C(3),E("ngForOf",t.paddleLicense.licenses)}}function TB(e,n){if(1&e&&(h(0,"div",109),q(1,bB,8,3,"div",34)(2,SB,4,1,"div",34),p()),2&e){const t=P(2);C(1),E("ngIf",t.paddleLicense.error),C(1),E("ngIf",!t.paddleLicense.error)}}function AB(e,n){if(1&e&&(h(0,"div",2),q(1,wB,6,0,"ng-container",34)(2,TB,3,2,"div",107),p()),2&e){const t=P();C(1),E("ngIf",t.paddleLicenseRequested&&!t.paddleLicense),C(1),E("ngIf",t.paddleLicense)}}function xB(e,n){1&e&&(h(0,"p")(1,"i"),f(2,"ReportGenerator"),p(),f(3," subscription based licences are provided with a 30 day money back guarantee."),p())}const Di=()=>["/features"];let NB=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(t){this._lifetimeLicense=t,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(t,r,o){this.oauthService=t,this.licenseService=r,this.trackingService=o,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.paddleIndividualLifetimeLicensePrice="US$79",this.paddleTeamLifetimeLicensePrice="US$249",this.paddleEnterpriseLifetimeLicensePrice="US$449",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!1,window.paddleCheckoutComplete=i=>{this.paddleCheckoutComplete(i)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,i=>{this.paddleIndividualLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762580,i=>{this.paddleTeamLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762581,i=>{this.paddleEnterpriseLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(833943,i=>{this.paddleIndividualLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833944,i=>{this.paddleTeamLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833945,i=>{this.paddleEnterpriseLifetimeLicensePrice=i.price.gross})}ngOnInit(){const t=this.oauthService.validateStateAndExtractCode();null!==t?(console.log("Code received",t),this.licenseRequested=!0,this.licenseService.getLicense(t).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new QU,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=null!==window.localStorage.getItem("trialRequested")}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(t){console.error("Failed to copy license",t)}}copyPaddle(t){try{navigator.clipboard.writeText(t),this.copiedPaddledLicenses.push(t)}catch(r){console.error("Failed to copy paddle license",r)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:t=>{console.log("Received trial license response"),this.paddleLicense=t,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:t=>{console.error(t),this.paddleLicense=new NM,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(t){"enterprise"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:t,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(t){console.log("Checkout completed",t),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(t).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:t.product.name,lifetimeLicense:this.lifetimeLicense}})},error:r=>{console.error(r),this.paddleLicense=new NM,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(RM),S(OM),S(XU))};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[Ot],decls:229,vars:25,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"disabled","click"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-md-6 pb-3 d-none d-lg-block position-relative",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],["class","togglecontainer",4,"ngIf"],["class","row",4,"ngIf"],[1,"mt-5"],[4,"ngIf"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5","testimonial"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],["trialForm","ngForm"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],["for","floatingInput"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"col-md-6","pb-3","d-none","d-lg-block","position-relative"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"togglecontainer"],[1,"option",3,"ngClass","click"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button","class","btn btn-primary",3,"disabled","click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["type","button","disabled","",1,"btn","btn-primary"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],["class","col-xs-12 col-md-6",4,"ngIf"],[1,"position-relative","paddle-loading"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"]],template:function(r,o){if(1&r&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),y(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),y(19,"i",10),p()(),h(20,"td",11),y(21,"i",12),p(),h(22,"td",11),y(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),y(28,"i",10),p()(),h(29,"td",11),y(30,"i",12),p(),h(31,"td",11),y(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),y(37,"i",10),p()(),h(38,"td",11),y(39,"i",12),p(),h(40,"td",11),y(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),y(46,"i",10),p()(),h(47,"td",11),y(48,"i",12),p(),h(49,"td",11),y(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),y(55,"i",10),p()(),y(56,"td",11),h(57,"td",11),y(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),y(63,"i",10),p()(),y(64,"td",11),h(65,"td",11),y(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),y(72,"td",11),h(73,"td",11),y(74,"i",15),p()()()()(),h(75,"div",16)(76,"p")(77,"i"),f(78,"ReportGenerator"),p(),f(79," is Open Source and free to use."),y(80,"br"),f(81," Some of the advanced features require a PRO license. "),p(),h(82,"p"),f(83," You can either become a "),h(84,"a",17),R("click",function(){return o.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),R("click",function(){return o.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),y(90,"br"),f(91," A "),h(92,"a",17),R("click",function(){return o.scrollToPaddle()}),f(93,"free trial version"),p(),f(94," is available too. "),p(),h(95,"p"),f(96," Get "),h(97,"a",18),f(98,"in touch"),p(),f(99," if you have any issues and we will figure it out. "),p()()()(),h(100,"section",19)(101,"div",0)(102,"h2",1),f(103,"Get your license as a GitHub sponsor"),p(),h(104,"div",2)(105,"div",20)(106,"p"),f(107,"You can obtain your license in two easy steps (no sign up required):"),p(),h(108,"span",21),f(109,"1."),p(),h(110,"a",22),y(111,"i",23),f(112," Become a GitHub sponsor"),p(),y(113,"br"),h(114,"span",21),f(115,"2."),p(),h(116,"button",24),R("click",function(){return o.requestLicense()}),y(117,"i",25),f(118," Get license"),p(),q(119,JU,3,0,"div",26),p(),q(120,KU,2,0,"div",27)(121,iB,4,3,"div",28),p()()(),h(122,"section",29)(123,"div",0)(124,"h2",1),f(125,"Buy a license"),p(),h(126,"div",30),q(127,sB,7,6,"span",31),p(),q(128,DB,61,17,"div",32)(129,AB,3,2,"div",32),h(130,"div",33),q(131,xB,4,0,"p",34),h(132,"p"),f(133,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),p()()()(),y(134,"app-testimonials"),h(135,"section",35)(136,"div",36)(137,"h3"),f(138,"Customers"),p(),h(139,"div",37)(140,"a",38),y(141,"img",39),p()()()(),h(142,"section",40)(143,"h2",1),f(144,"Frequently Asked Questions"),p(),h(145,"div",41)(146,"div",42)(147,"h2",43)(148,"button",44),f(149," How do I use/activate my license? "),p()(),h(150,"div",45)(151,"div",46),f(152," Your license key is passed to "),h(153,"i"),f(154,"ReportGenerator"),p(),f(155," via a command line parameter: "),h(156,"i"),f(157,"-license:YOUR_KEY"),p()()()(),h(158,"div",42)(159,"h2",47)(160,"button",48),f(161," Are there limitations on number of users? "),p()(),h(162,"div",49)(163,"div",46)(164,"b"),f(165,"GitHub sponsors"),p(),y(166,"br"),h(167,"p"),f(168,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(169,"b"),f(170,"Bought license"),p(),y(171,"br"),h(172,"p"),f(173,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(174,"i"),f(175,"ReportGenerator"),p(),f(176,"."),p()()()(),h(177,"div",42)(178,"h2",50)(179,"button",51),f(180," Will my license expire? "),p()(),h(181,"div",52)(182,"div",46)(183,"b"),f(184,"GitHub sponsors"),p(),y(185,"br"),h(186,"p"),f(187,"Your license will not expire."),p(),h(188,"b"),f(189,"Bought license"),p(),y(190,"br"),h(191,"p")(192,"b"),f(193,"Annual subscription"),p(),f(194,": Your license may get revoked for new releases of "),h(195,"i"),f(196,"ReportGenerator"),p(),f(197,", if you cancel your subscription."),y(198,"br"),h(199,"b"),f(200,"Lifetime licenses"),p(),f(201,": Lifetime licenses will not expire. "),p()()()()()(),h(202,"div",53)(203,"div",54)(204,"div",55)(205,"form",56,57),R("ngSubmit",function(){return o.completeTrial()}),h(207,"div",58)(208,"h5",59),f(209,"Free Trial"),p(),y(210,"button",60),p(),h(211,"div",61)(212,"div",62)(213,"input",63),R("ngModelChange",function(s){return o.requestTrialData.name=s}),p(),h(214,"label",64),f(215,"Name "),h(216,"span",65),f(217,"*"),p()()(),h(218,"div",62)(219,"input",66),R("ngModelChange",function(s){return o.requestTrialData.email=s}),p(),h(220,"label",64),f(221,"Email address "),h(222,"span",65),f(223,"*"),p()()()(),h(224,"div",67)(225,"button",68),f(226,"Close"),p(),h(227,"button",69),f(228,"Get trial license"),p()()()()()()),2&r){const i=Gf(206);C(18),E("routerLink",ee(18,Di)),C(9),E("routerLink",ee(19,Di)),C(9),E("routerLink",ee(20,Di)),C(9),E("routerLink",ee(21,Di)),C(9),E("routerLink",ee(22,Di)),C(8),E("routerLink",ee(23,Di)),C(35),E("routerLink",ee(24,og)),C(19),E("disabled",o.licenseRequested),C(3),E("ngIf",o.licenseRequested&&!o.license),C(1),E("ngIf",!o.license),C(1),E("ngIf",o.license),C(6),E("ngIf",!o.paddleLicenseRequested),C(1),E("ngIf",!o.paddleLicenseRequested),C(1),E("ngIf",o.paddleLicenseRequested),C(2),E("ngIf",!o.lifetimeLicense),C(82),E("ngModel",o.requestTrialData.name),C(6),E("ngModel",o.requestTrialData.email),C(8),E("disabled",!i.valid)}},dependencies:[Mn,Hh,Uh,uc,zc,Bc,gi,Rc,Oc,_i,Qp,Gc,na,yi,xM],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width: 400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}.paddle-loading[_ngcontent-%COMP%]{position:relative;left:35px;top:-20px}.testimonial[_ngcontent-%COMP%]{max-width:550px;margin:auto}"]})}return e})();class Xc{constructor(n,t,r,o,i,s){this.name=n,this.url=t,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?'"':"";return`\r\n${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class RB extends Xc{formatExecutable(n){let t=`- task: ${n.tool}@${Gt.majorVersion}`;return t+="\r\n displayName: ReportGenerator",t+="\r\n inputs:",console.log("hello",t),t}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class OB{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(n){return this.sourcedirectories.splice(n,1),!1}addReport(){return this.reports.push(""),!1}removeReport(n){return this.reports.splice(n,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(n){return this.plugins.splice(n,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(n){return this.assemblyfilters.splice(n,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(n){return this.classfilters.splice(n,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(n){return this.filefilters.splice(n,1),!1}getUsage(n,t){const r=n.executables.find(a=>a.runtime==t);let o=void 0!==r?n.formatExecutable(r):"";o+=n.formatArguments("reports",this.reports),o+=n.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=n.formatArgument("reporttypes",i)),o+=n.formatArguments("sourcedirs",this.sourcedirectories),o+=n.formatArgument("historydir",this.historydir),o+=n.formatArguments("plugins",this.plugins),o+=n.formatArguments("assemblyfilters",this.assemblyfilters),o+=n.formatArguments("classfilters",this.classfilters),o+=n.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=n.formatArgument("verbosity",this.selectedverbosity)),o+=n.formatArgument("title",this.title),o+=n.formatArgument("tag",this.tag),o+=n.formatArgument("license",this.license),o}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class ig{constructor(n,t){this.tool=n,this.command=t}}function kB(e,n){if(1&e){const t=Fe();h(0,"div",35)(1,"label",36)(2,"input",37),R("ngModelChange",function(o){return re(t),oe(P().selectedEnvironment=o)})("ngModelChange",function(){return re(t),oe(P().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=n.$implicit,r=P();C(2),E("ngModel",r.selectedEnvironment)("value",t)("checked",r.selectedEnvironment.name===t.name),C(2),be(t.name),C(3),be(t.description)}}function FB(e,n){if(1&e){const t=Fe();h(0,"div",35)(1,"label",36)(2,"input",41),R("ngModelChange",function(o){return re(t),oe(P(3).selectedPackage=o)}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=P().$implicit,r=P(2);C(2),E("ngModel",r.selectedPackage)("value",t),C(2),be(t.name),C(3),be(t.description)}}function LB(e,n){if(1&e&&(Dt(0),q(1,FB,8,4,"div",40),wt()),2&e){const t=n.$implicit,r=P(2);C(1),E("ngIf",t.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function VB(e,n){if(1&e&&(Dt(0),h(1,"h4"),f(2,"NuGet Package"),p(),q(3,LB,2,1,"ng-container",39),wt()),2&e){const t=P();C(3),E("ngForOf",t.packages)}}function jB(e,n){if(1&e){const t=Fe();h(0,"span",45),R("click",function(){re(t);const o=P().index;return oe(P().configuration.removeReport(o))}),h(1,"a",46),y(2,"i",47),p()()}}const HB=e=>({"input-group":e});function UB(e,n){if(1&e){const t=Fe();h(0,"div",38)(1,"div",42)(2,"input",43),R("ngModelChange",function(o){const s=re(t).index;return oe(P().configuration.reports[s]=o)}),p(),q(3,jB,3,0,"span",44),p()()}if(2&e){const t=n.index,r=P();C(1),E("ngClass",Ms(4,HB,t>0)),C(1),jn("name","report_",t,""),E("ngModel",r.configuration.reports[t]),C(1),E("ngIf",t>0)}}const BB=(e,n)=>({"btn-outline-primary":e,"btn-primary":n});function $B(e,n){if(1&e){const t=Fe();h(0,"button",48),R("click",function(){const i=re(t).$implicit,s=P();return oe(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const t=n.$implicit,r=P();E("ngClass",zD(2,BB,t!==r.configuration.selectedType,t===r.configuration.selectedType)),C(1),be(t)}}function GB(e,n){if(1&e){const t=Fe();h(0,"span",53),y(1,"i",54),f(2," Please specify a "),h(3,"a",9),R("click",function(){return re(t),oe(P(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function zB(e,n){if(1&e&&(Dt(0),y(1,"br",55),h(2,"a",29),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",29),y(6,"i",56),p(),wt()),2&e){const t=P(2).$implicit;C(2),E("href",t.sampleReport,bo),C(3),E("href",t.sampleReport,bo)}}function qB(e,n){if(1&e){const t=Fe();h(0,"div",50)(1,"label",36)(2,"input",51),R("change",function(){re(t);const o=P().$implicit;return oe(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),q(5,GB,5,0,"span",52),y(6,"br"),h(7,"div",38),f(8),q(9,zB,7,2,"ng-container",5),p()()()}if(2&e){const t=P().$implicit,r=P();C(2),E("checked",t.checked),C(2),be(t.name),C(1),E("ngIf",t.checked&&t.requiresHistoryDir&&!r.configuration.historydir),C(3),Hn("",t.description," "),C(1),E("ngIf",t.sampleReport)}}function WB(e,n){if(1&e&&(Dt(0),q(1,qB,10,5,"div",49),wt()),2&e){const t=n.$implicit,r=P();C(1),E("ngIf",!r.configuration.selectedType||t.types.indexOf(r.configuration.selectedType)>-1)}}function ZB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",58),R("ngModelChange",function(o){const s=re(t).index;return oe(P().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(P().configuration.removeSourceDirectory(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=P();C(2),jn("name","sourcedir_",t,""),E("ngModel",r.configuration.sourcedirectories[t])}}function YB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",59),R("ngModelChange",function(o){const s=re(t).index;return oe(P().configuration.plugins[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(P().configuration.removePlugin(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=P();C(2),jn("name","plugin_",t,""),E("ngModel",r.configuration.plugins[t])}}function QB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",60),R("ngModelChange",function(o){const s=re(t).index;return oe(P().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(P().configuration.removeAssemblyFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=P();C(2),jn("name","assemblyfilter_",t,""),E("ngModel",r.configuration.assemblyfilters[t])}}function XB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",61),R("ngModelChange",function(o){const s=re(t).index;return oe(P().configuration.classfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(P().configuration.removeClassFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=P();C(2),jn("name","classfilter_",t,""),E("ngModel",r.configuration.classfilters[t])}}function JB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",62),R("ngModelChange",function(o){const s=re(t).index;return oe(P().configuration.filefilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(P().configuration.removeFileFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=P();C(2),jn("name","filefilter_",t,""),E("ngModel",r.configuration.filefilters[t])}}function KB(e,n){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const t=n.$implicit;E("value",t),C(1),be(t)}}function e$(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),be(t.tool),C(3),be(t.command)}}function t$(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function n$(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}function r$(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),be(t.tool),C(3),be(t.command)}}function o$(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function i$(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}const s$=()=>["/pro"],a$=[{path:"",component:ZU,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:UU,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:$U,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=Gt,this.lastResult="",this.usageCopied=!1,this.configuration=new OB,this.environments=[new Jc(".NET Core",".NET Core"),new Jc(".NET Framework","The full .NET framework"),new Jc("Azure DevOps",null),new Jc("Github Action",null)],this.packages=[new Xc("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"Use this package if your project is based on .NET Framework or .NET Core and you want to use ReportGenerator via the command line or a build script.",[new ig("Package Manager",`Install-Package ReportGenerator -Version ${Gt.version}`),new ig(".NET CLI",`dotnet add package ReportGenerator --version ${Gt.version}`)],[new ia(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Gt.version}\\tools\\net47\\ReportGenerator.exe`),new ia(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Gt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new Xc("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new ig(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Gt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Gt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Gt.version}`)],[new ia(".NET Core","reportgenerator")]),new RB("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new ia("Azure DevOps","reportgenerator")]),new PB("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new ia("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const t=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==t&&(this.lastResult=t,this.usageCopied=!1),t}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(t){console.error("Failed to copy license",t)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[Ot],decls:219,vars:39,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-md-7"],["class","form-check",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"alert","alert-info"],["class","mb-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button","class","btn btn-sm me-1 mb-1",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"ngClass","click"],["class","form-check mt-1",4,"ngIf"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["class","text-danger ms-2",4,"ngIf"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-check","text-success"],[1,"fa-solid","fa-copy"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),q(8,kB,8,5,"div",4),y(9,"hr"),q(10,VB,4,1,"ng-container",5),y(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),y(16,"br"),f(17,"Globbing is supported."),p(),q(18,UB,4,6,"div",7),h(19,"div",8)(20,"a",9),R("click",function(){return o.configuration.addReport()}),y(21,"i",10),f(22," Add report"),p()(),y(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),R("ngModelChange",function(s){return o.configuration.targetdir=s}),p()(),y(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),h(37,"span",13),f(38,"Filter:"),p(),q(39,$B,2,5,"button",14),y(40,"br"),q(41,WB,2,1,"ng-container",15),h(42,"h3"),f(43,"Source directories"),p(),h(44,"div",6),f(45,"Optional directories which contain the corresponding source code."),y(46,"br"),f(47,"The source directories are used if coverage report contains classes without path information."),p(),q(48,ZB,6,2,"div",16),h(49,"div",8)(50,"a",9),R("click",function(){return o.configuration.addSourceDirectory()}),y(51,"i",10),f(52," Add source directory"),p()(),y(53,"br"),h(54,"h3",17),f(55,"History directory"),p(),h(56,"div",6),f(57,"Optional directory for storing "),h(58,"b"),f(59,"persistent"),p(),f(60," coverage information. Choose a directory which does not get deleted between builds."),y(61,"br"),f(62,"Required to show the history chart in the HTML reports."),p(),h(63,"div",8)(64,"input",18),R("ngModelChange",function(s){return o.configuration.historydir=s}),p()(),y(65,"br"),h(66,"h3"),f(67,"Plugins"),p(),h(68,"div",6),f(69,"Optional plugin files for "),h(70,"a",19),f(71,"custom reports"),p(),f(72," or "),h(73,"a",20),f(74,"custom history storage"),p(),f(75,"."),p(),q(76,YB,6,2,"div",16),h(77,"div",8)(78,"a",9),R("click",function(){return o.configuration.addPlugin()}),y(79,"i",10),f(80," Add plugin"),p()(),y(81,"br"),h(82,"h3"),f(83,"Assembly filters"),p(),h(84,"div",6),f(85,"Optional list of "),h(86,"b"),f(87,"assemblies"),p(),f(88," that should be included or excluded in the report. "),y(89,"br"),f(90,"Exclusion filters take precedence over inclusion filters. "),y(91,"br"),f(92,"Wildcards are allowed."),y(93,"br"),h(94,"p"),f(95,"Examples:"),y(96,"br"),h(97,"code"),f(98,"+Included"),p(),y(99,"br"),h(100,"code"),f(101,"-Excluded"),p()()(),q(102,QB,6,2,"div",16),h(103,"div",8)(104,"a",9),R("click",function(){return o.configuration.addAssemblyFilter()}),y(105,"i",10),f(106," Add assembly filter"),p()(),y(107,"br"),h(108,"h3"),f(109,"Class filters"),p(),h(110,"div",6),f(111,"Optional list of "),h(112,"b"),f(113,"classes"),p(),f(114," that should be included or excluded in the report. "),y(115,"br"),f(116,"Exclusion filters take precedence over inclusion filters. "),y(117,"br"),f(118,"Wildcards are allowed."),y(119,"br"),h(120,"p"),f(121,"Examples:"),y(122,"br"),h(123,"code"),f(124,"+Included"),p(),y(125,"br"),h(126,"code"),f(127,"-Excluded"),p()()(),q(128,XB,6,2,"div",16),h(129,"div",8)(130,"a",9),R("click",function(){return o.configuration.addClassFilter()}),y(131,"i",10),f(132," Add class filter"),p()(),y(133,"br"),h(134,"h3"),f(135,"File filters"),p(),h(136,"div",6),f(137,"Optional list of "),h(138,"b"),f(139,"files"),p(),f(140," that should be included or excluded in the report. "),y(141,"br"),f(142,"Exclusion filters take precedence over inclusion filters. "),y(143,"br"),f(144,"Wildcards are allowed."),y(145,"br"),h(146,"p"),f(147,"Examples:"),y(148,"br"),h(149,"code"),f(150,"+Included"),p(),y(151,"br"),h(152,"code"),f(153,"-Excluded"),p()()(),q(154,JB,6,2,"div",16),h(155,"div",8)(156,"a",9),R("click",function(){return o.configuration.addFileFilter()}),y(157,"i",10),f(158," Add file filter"),p()(),y(159,"br"),h(160,"h3"),f(161,"Verbosity"),p(),h(162,"div",6),f(163,"The verbosity level of the log messages."),p(),h(164,"div",8)(165,"select",21),R("ngModelChange",function(s){return o.configuration.selectedverbosity=s}),q(166,KB,2,2,"option",22),p()(),y(167,"br"),h(168,"h3"),f(169,"Title"),p(),h(170,"div",6),f(171,"Optional title."),p(),h(172,"div",8)(173,"input",23),R("ngModelChange",function(s){return o.configuration.title=s}),p()(),y(174,"br"),h(175,"h3"),f(176,"Tag"),p(),h(177,"div",6),f(178,"Optional tag or build version."),p(),h(179,"div",8)(180,"input",24),R("ngModelChange",function(s){return o.configuration.tag=s}),p()(),y(181,"br"),h(182,"h3"),f(183,"License"),p(),h(184,"div",6),f(185,"Optional license. Get your license here: "),h(186,"a",25),f(187,"https://reportgenerator.io/pro"),p()(),h(188,"div",8)(189,"textarea",26),R("ngModelChange",function(s){return o.configuration.license=s}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),q(197,e$,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),R("click",function(){return o.copy()}),q(203,t$,2,0)(204,n$,2,0),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),q(211,r$,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),R("click",function(){return o.copy()}),q(217,o$,2,0)(218,i$,2,0),p()()()()()),2&r&&(C(8),E("ngForOf",o.environments),C(2),E("ngIf",o.severalPackagesAvailable()),C(8),E("ngForOf",o.configuration.reports)("ngForTrackBy",o.trackByIndex),C(11),E("ngModel",o.configuration.targetdir),C(10),E("ngForOf",o.configuration.types)("ngForTrackBy",o.trackByIndex),C(2),E("ngForOf",o.configuration.reporttypes)("ngForTrackBy",o.trackByIndex),C(7),E("ngForOf",o.configuration.sourcedirectories)("ngForTrackBy",o.trackByIndex),C(16),E("ngModel",o.configuration.historydir)("required",o.configuration.historyDirRequired()),C(12),E("ngForOf",o.configuration.plugins)("ngForTrackBy",o.trackByIndex),C(26),E("ngForOf",o.configuration.assemblyfilters)("ngForTrackBy",o.trackByIndex),C(26),E("ngForOf",o.configuration.classfilters)("ngForTrackBy",o.trackByIndex),C(26),E("ngForOf",o.configuration.filefilters)("ngForTrackBy",o.trackByIndex),C(11),E("ngModel",o.configuration.selectedverbosity),C(1),E("ngForOf",o.configuration.verbosities)("ngForTrackBy",o.trackByIndex),C(7),E("ngModel",o.configuration.title),C(7),E("ngModel",o.configuration.tag),C(6),E("routerLink",ee(38,s$)),C(3),E("ngModel",o.configuration.license),C(6),E("href",o.selectedPackage.url,bo),C(1),be(o.selectedPackage.name),C(1),E("ngForOf",o.selectedPackage.installOptions),C(4),be(o.getUsage()),C(2),Ho(203,o.usageCopied?203:204),C(6),E("href",o.selectedPackage.url,bo),C(1),be(o.selectedPackage.name),C(1),E("ngForOf",o.selectedPackage.installOptions),C(4),be(o.getUsage()),C(2),Ho(217,o.usageCopied?217:218))},dependencies:[zc,Bc,QI,JI,gi,$c,zp,Rc,Oc,_i,Xp,na,yi,Hh,Uh,uc,Mn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]})}return e})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:NB,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:HU,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:YU,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];(function wV(e,n){return pF({rootComponent:e,...Zb(n)})})(cH,{providers:[iv(TV,(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=ln({imports:[eI.forRoot(a$,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),eI]})}return e})(),zc),RM,OM,TM,function AU(...e){const n=[eg,vM,gM,{provide:qc,useExisting:gM},{provide:Wc,useExisting:vM},{provide:oa,useValue:TU,multi:!0},{provide:rg,useValue:!0},{provide:CM,useClass:SU}];for(const t of e)n.push(...t.\u0275providers);return ud(n)}(function xU(){return function zr(e,n){return{\u0275kind:e,\u0275providers:n}}(mr.LegacyInterceptors,[{provide:DM,useFactory:yU},{provide:oa,useExisting:DM,multi:!0}])}())]}).catch(e=>console.error(e))}},Kc=>{Kc(Kc.s=139)}]); \ No newline at end of file diff --git a/docs/main.ed23e5aa95656519.js b/docs/main.ed23e5aa95656519.js new file mode 100644 index 00000000..490f1e7b --- /dev/null +++ b/docs/main.ed23e5aa95656519.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{139:()=>{let Re=null,Wr=1;function Se(e){const n=Re;return Re=e,n}function lg(e){if((!Ii(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==Wr)){if(!e.producerMustRecompute(e)&&!iu(e))return e.dirty=!1,void(e.lastCleanEpoch=Wr);e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=Wr}}function iu(e){Zr(e);for(let n=0;n0}function Zr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let mg=null;function De(e){return"function"==typeof e}function lu(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const cu=lu(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function uu(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Et{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(De(r))try{r()}catch(i){n=i instanceof cu?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{Dg(i)}catch(s){n=n??[],s instanceof cu?n=[...n,...s.errors]:n.push(s)}}if(n)throw new cu(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Dg(n);else{if(n instanceof Et){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&uu(t,n)}remove(n){const{_finalizers:t}=this;t&&uu(t,n),n instanceof Et&&n._removeParent(this)}}Et.EMPTY=(()=>{const e=new Et;return e.closed=!0,e})();const _g=Et.EMPTY;function Cg(e){return e instanceof Et||e&&"closed"in e&&De(e.remove)&&De(e.add)&&De(e.unsubscribe)}function Dg(e){De(e)?e():e.unsubscribe()}const yr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},da={setTimeout(e,n,...t){const{delegate:r}=da;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=da;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function wg(e){da.setTimeout(()=>{const{onUnhandledError:n}=yr;if(!n)throw e;n(e)})}function du(){}const UM=fu("C",void 0,void 0);function fu(e,n,t){return{kind:e,value:n,error:t}}let _r=null;function fa(e){if(yr.useDeprecatedSynchronousErrorHandling){const n=!_r;if(n&&(_r={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=_r;if(_r=null,t)throw r}}else e()}class hu extends Et{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Cg(n)&&n.add(this)):this.destination=ZM}static create(n,t,r){return new ha(n,t,r)}next(n){this.isStopped?gu(function $M(e){return fu("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?gu(function BM(e){return fu("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?gu(UM,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const zM=Function.prototype.bind;function pu(e,n){return zM.call(e,n)}class qM{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){pa(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){pa(r)}else pa(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){pa(t)}}}class ha extends hu{constructor(n,t,r){let o;if(super(),De(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&yr.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&pu(n.next,i),error:n.error&&pu(n.error,i),complete:n.complete&&pu(n.complete,i)}):o=n}this.destination=new qM(o)}}function pa(e){yr.useDeprecatedSynchronousErrorHandling?function GM(e){yr.useDeprecatedSynchronousErrorHandling&&_r&&(_r.errorThrown=!0,_r.error=e)}(e):wg(e)}function gu(e,n){const{onStoppedNotification:t}=yr;t&&da.setTimeout(()=>t(e,n))}const ZM={closed:!0,next:du,error:function WM(e){throw e},complete:du},mu="function"==typeof Symbol&&Symbol.observable||"@@observable";function qn(e){return e}function bg(e){return 0===e.length?qn:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Te=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function XM(e){return e&&e instanceof hu||function QM(e){return e&&De(e.next)&&De(e.error)&&De(e.complete)}(e)&&Cg(e)}(t)?t:new ha(t,r,o);return fa(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Eg(r))((o,i)=>{const s=new ha({next:a=>{try{t(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[mu](){return this}pipe(...t){return bg(t)(this)}toPromise(t){return new(t=Eg(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Eg(e){var n;return null!==(n=e??yr.Promise)&&void 0!==n?n:Promise}const JM=lu(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let zt=(()=>{class e extends Te{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new Ig(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new JM}next(t){fa(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){fa(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){fa(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?_g:(this.currentObservers=null,i.push(t),new Et(()=>{this.currentObservers=null,uu(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Te;return t.source=this,t}}return e.create=(n,t)=>new Ig(n,t),e})();class Ig extends zt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:_g}}function Mg(e){return De(e?.lift)}function $e(e){return n=>{if(Mg(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ve(e,n,t,r,o){return new KM(e,n,t,r,o)}class KM extends hu{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function K(e,n){return $e((t,r)=>{let o=0;t.subscribe(Ve(r,i=>{r.next(e.call(n,i,o++))}))})}function Wn(e){return this instanceof Wn?(this.v=e,this):new Wn(e)}function xg(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function Cu(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Ng=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Rg(e){return De(e?.then)}function Og(e){return De(e[mu])}function kg(e){return Symbol.asyncIterator&&De(e?.[Symbol.asyncIterator])}function Pg(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Fg=function D1(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Lg(e){return De(e?.[Fg])}function Vg(e){return function Ag(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(m){return new Promise(function(v,_){i.push([g,m,v,_])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof Wn?Promise.resolve(g.value.v).then(c,u):d(i[0][2],g)}(r[g](m))}catch(v){d(i[0][3],v)}}function c(g){a("next",g)}function u(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield Wn(t.read());if(o)return yield Wn(void 0);yield yield Wn(r)}}finally{t.releaseLock()}})}function jg(e){return De(e?.getReader)}function qt(e){if(e instanceof Te)return e;if(null!=e){if(Og(e))return function w1(e){return new Te(n=>{const t=e[mu]();if(De(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Ng(e))return function b1(e){return new Te(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,wg)})}(e);if(kg(e))return Hg(e);if(Lg(e))return function I1(e){return new Te(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(jg(e))return function M1(e){return Hg(Vg(e))}(e)}throw Pg(e)}function Hg(e){return new Te(n=>{(function S1(e,n){var t,r,o,i;return function Sg(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=xg(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function An(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Xe(e,n,t=1/0){return De(n)?Xe((r,o)=>K((i,s)=>n(r,i,o,s))(qt(e(r,o))),t):("number"==typeof n&&(t=n),$e((r,o)=>function T1(e,n,t,r,o,i,s,a){const l=[];let c=0,u=0,d=!1;const g=()=>{d&&!l.length&&!c&&n.complete()},m=_=>c{i&&n.next(_),c++;let D=!1;qt(t(_,u++)).subscribe(Ve(n,I=>{o?.(I),i?m(I):n.next(I)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(I)):v(I)}g()}catch(I){n.error(I)}}))};return e.subscribe(Ve(n,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Yr(e=1/0){return Xe(qn,e)}const ln=new Te(e=>e.complete());function Du(e){return e[e.length-1]}function Ug(e){return De(Du(e))?e.pop():void 0}function Mi(e){return function x1(e){return e&&De(e.schedule)}(Du(e))?e.pop():void 0}function Bg(e,n=0){return $e((t,r)=>{t.subscribe(Ve(r,o=>An(r,e,()=>r.next(o),n),()=>An(r,e,()=>r.complete(),n),o=>An(r,e,()=>r.error(o),n)))})}function $g(e,n=0){return $e((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Gg(e,n){if(!e)throw new Error("Iterable cannot be null");return new Te(t=>{An(t,n,()=>{const r=e[Symbol.asyncIterator]();An(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Oe(e,n){return n?function L1(e,n){if(null!=e){if(Og(e))return function R1(e,n){return qt(e).pipe($g(n),Bg(n))}(e,n);if(Ng(e))return function k1(e,n){return new Te(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(Rg(e))return function O1(e,n){return qt(e).pipe($g(n),Bg(n))}(e,n);if(kg(e))return Gg(e,n);if(Lg(e))return function P1(e,n){return new Te(t=>{let r;return An(t,n,()=>{r=e[Fg](),An(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>De(r?.return)&&r.return()})}(e,n);if(jg(e))return function F1(e,n){return Gg(Vg(e),n)}(e,n)}throw Pg(e)}(e,n):qt(e)}class Pt extends zt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function V(...e){return Oe(e,Mi(e))}function Cr(e){return e<=0?()=>ln:$e((n,t)=>{let r=0;n.subscribe(Ve(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function wu(e,n,...t){return!0===n?(e(),null):!1===n?null:n(...t).pipe(Cr(1)).subscribe(()=>e())}function Ft(e,n){return $e((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Ve(r,l=>{o?.unsubscribe();let c=0;const u=i++;qt(e(l,u)).subscribe(o=Ve(r,d=>r.next(n?n(l,d,u,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function U1(e,n){return e===n}function ce(e){for(let n in e)if(e[n]===ce)return n;throw Error("Could not find renamed property on target object.")}function ga(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function je(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(je).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function bu(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const B1=ce({__forward_ref__:ce});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return je(this())},e}function j(e){return ma(e)?e():e}function ma(e){return"function"==typeof e&&e.hasOwnProperty(B1)&&e.__forward_ref__===pe}function Eu(e){return e&&!!e.\u0275providers}const zg="https://g.co/ng/security#xss";class M extends Error{constructor(n,t){super(function Qr(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}const Si=ce({\u0275cmp:ce}),Iu=ce({\u0275dir:ce}),Mu=ce({\u0275pipe:ce}),qg=ce({\u0275mod:ce}),xn=ce({\u0275fac:ce}),Ti=ce({__NG_ELEMENT_ID__:ce}),Wg=ce({__NG_ENV_ID__:ce});function $(e){return"string"==typeof e?e:null==e?"":String(e)}function Su(e,n){throw new M(-201,!1)}function gt(e,n){null==e&&function H(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function O(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function cn(e){return{providers:e.providers||[],imports:e.imports||[]}}function va(e){return Zg(e,_a)||Zg(e,Yg)}function Zg(e,n){return e.hasOwnProperty(n)?e[n]:null}function ya(e){return e&&(e.hasOwnProperty(Tu)||e.hasOwnProperty(X1))?e[Tu]:null}const _a=ce({\u0275prov:ce}),Tu=ce({\u0275inj:ce}),Yg=ce({ngInjectableDef:ce}),X1=ce({ngInjectorDef:ce});var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});let Au;function Qg(){return Au}function mt(e){const n=Au;return Au=e,n}function Xg(e,n,t){const r=va(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void Su(je(e))}const ge=globalThis;class N{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=O({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ai={},ku="__NG_DI_FLAG__",Ca="ngTempTokenPath",e0=/\n/gm,Kg="__source";let Xr;function Yn(e){const n=Xr;return Xr=e,n}function r0(e,n=X.Default){if(void 0===Xr)throw new M(-203,!1);return null===Xr?Xg(e,void 0,n):Xr.get(e,n&X.Optional?null:void 0,n)}function P(e,n=X.Default){return(Qg()||r0)(j(e),n)}function T(e,n=X.Default){return P(e,Da(n))}function Da(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Pu(e){const n=[];for(let t=0;tn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==tm(m,c,0)||2&r&&c!==g){if(Zt(r))return!1;s=!0}}}}else{if(!s&&!Zt(r)&&!Zt(l))return!1;if(s&&Zt(l))continue;s=!1,r=l|1&r}}return Zt(r)||s}function Zt(e){return 0==(1&e)}function d0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!Zt(s)&&(n+=lm(i,o),o=""),r=s,i=i||!Zt(r);t++}return""!==o&&(n+=lm(i,o)),n}function Mt(e){return Nn(()=>{const n=um(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===wa.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Wt.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};dm(t);const r=e.dependencies;return t.directiveDefs=ba(r,!1),t.pipeDefs=ba(r,!0),t.id=function w0(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function _0(e){return Q(e)||Ge(e)}function C0(e){return null!==e}function Rn(e){return Nn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function cm(e,n){if(null==e)return un;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function B(e){return Nn(()=>{const n=um(e);return dm(n),n})}function Q(e){return e[Si]||null}function Ge(e){return e[Iu]||null}function Je(e){return e[Mu]||null}function et(e,n){const t=e[qg]||null;if(!t&&!0===n)throw new Error(`Type ${je(e)} does not have '\u0275mod' property.`);return t}function um(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||un,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:cm(e.inputs,n),outputs:cm(e.outputs),debugInfo:null}}function dm(e){e.features?.forEach(n=>n(e))}function ba(e,n){if(!e)return null;const t=n?Je:_0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(C0)}const Ae=0,A=1,F=2,be=3,Yt=4,tt=5,Qt=6,Jr=7,me=8,st=9,Kr=10,G=11,Ri=12,fm=13,eo=14,Me=15,Oi=16,to=17,dn=18,ki=19,hm=20,Xn=21,Ea=22,Dr=23,z=25,Lu=1,fn=7,no=9,ke=10;var ro=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e[e.HasChildViewsToRefresh=4]="HasChildViewsToRefresh",e}(ro||{});function Ke(e){return Array.isArray(e)&&"object"==typeof e[Lu]}function Ye(e){return Array.isArray(e)&&!0===e[Lu]}function Vu(e){return 0!=(4&e.flags)}function wr(e){return e.componentOffset>-1}function Ma(e){return 1==(1&e.flags)}function Xt(e){return!!e.template}function ju(e){return 0!=(512&e[F])}function br(e,n){return e.hasOwnProperty(xn)?e[xn]:null}class M0{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Lt(){return vm}function vm(e){return e.type.prototype.ngOnChanges&&(e.setInput=T0),S0}function S0(){const e=_m(this),n=e?.current;if(n){const t=e.previous;if(t===un)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function T0(e,n,t,r){const o=this.declaredInputs[t],i=_m(e)||function A0(e,n){return e[ym]=n}(e,{previous:un,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new M0(l&&l.currentValue,n,a===un),e[r]=n}Lt.ngInherit=!0;const ym="__ngSimpleChanges__";function _m(e){return e[ym]||null}const hn=function(e,n,t){};function ve(e){for(;Array.isArray(e);)e=e[Ae];return e}function Fi(e,n){return ve(n[e])}function at(e,n){return ve(n[e.index])}function Li(e,n){return e.data[n]}function St(e,n){const t=n[e];return Ke(t)?t:t[Ae]}function Gu(e){return 128==(128&e[F])}function pn(e,n){return null==n?null:e[n]}function wm(e){e[to]=0}function k0(e){1024&e[F]||(e[F]|=1024,Gu(e)&&Sa(e))}function Em(e){return 9216&e[F]||e[Dr]?.dirty}function Im(e){Em(e)&&Sa(e)}function Sa(e){let n=e[be];for(;null!==n&&!(Ye(n)&&n[F]&ro.HasChildViewsToRefresh||Ke(n)&&8192&n[F]);){if(Ye(n))n[F]|=ro.HasChildViewsToRefresh;else if(n[F]|=8192,!Gu(n))break;n=n[be]}}function Ta(e,n){if(256==(256&e[F]))throw new M(911,!1);null===e[Xn]&&(e[Xn]=[]),e[Xn].push(n)}const U={lFrame:Pm(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Sm(){return U.bindingsEnabled}function b(){return U.lFrame.lView}function J(){return U.lFrame.tView}function re(e){return U.lFrame.contextLView=e,e[me]}function oe(e){return U.lFrame.contextLView=null,e}function de(){let e=Tm();for(;null!==e&&64===e.type;)e=e.parent;return e}function Tm(){return U.lFrame.currentTNode}function gn(e,n){const t=U.lFrame;t.currentTNode=e,t.isParent=n}function qu(){return U.lFrame.isParent}function Wu(){U.lFrame.isParent=!1}function lt(){const e=U.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function mn(){return U.lFrame.bindingIndex++}function z0(e,n){const t=U.lFrame;t.bindingIndex=t.bindingRootIndex=e,Zu(n)}function Zu(e){U.lFrame.currentDirectiveIndex=e}function Rm(){return U.lFrame.currentQueryIndex}function Qu(e){U.lFrame.currentQueryIndex=e}function W0(e){const n=e[A];return 2===n.type?n.declTNode:1===n.type?e[tt]:null}function Om(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=W0(i),null===o||(i=i[eo],10&o.type))););if(null===o)return!1;n=o,e=i}const r=U.lFrame=km();return r.currentTNode=n,r.lView=e,!0}function Xu(e){const n=km(),t=e[A];U.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function km(){const e=U.lFrame,n=null===e?null:e.child;return null===n?Pm(e):n}function Pm(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function Fm(){const e=U.lFrame;return U.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Lm=Fm;function Ju(){const e=Fm();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function nt(){return U.lFrame.selectedIndex}function Er(e){U.lFrame.selectedIndex=e}function we(){const e=U.lFrame;return Li(e.tView,e.selectedIndex)}let jm=!0;function Aa(){return jm}function Jn(e){jm=e}function xa(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[to]+=65536),(a>14>16&&(3&e[F])===n&&(e[F]+=16384,Um(a,i)):Um(a,i)}const so=-1;class ji{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function td(e){return e!==so}function Hi(e){return 32767&e}function Ui(e,n){let t=function iS(e){return e>>16}(e),r=n;for(;t>0;)r=r[eo],t--;return r}let nd=!0;function Oa(e){const n=nd;return nd=e,n}const Bm=255,$m=5;let sS=0;const vn={};function ka(e,n){const t=Gm(e,n);if(-1!==t)return t;const r=n[A];r.firstCreatePass&&(e.injectorIndex=n.length,rd(r.data,e),rd(n,null),rd(r.blueprint,null));const o=Pa(e,n),i=e.injectorIndex;if(td(o)){const s=Hi(o),a=Ui(o,n),l=a[A].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|l[s+c]}return n[i+8]=o,i}function rd(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Gm(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Pa(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=Xm(o),null===r)return so;if(t++,o=o[eo],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return so}function od(e,n,t){!function aS(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Ti)&&(r=t[Ti]),null==r&&(r=t[Ti]=sS++);const o=r&Bm;n.data[e+(o>>$m)]|=1<=0?n&Bm:dS:n}(t);if("function"==typeof i){if(!Om(n,e,r))return r&X.Host?zm(o,0,r):qm(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;Su()}finally{Lm()}}else if("number"==typeof i){let s=null,a=Gm(e,n),l=so,c=r&X.Host?n[Me][tt]:null;for((-1===a||r&X.SkipSelf)&&(l=-1===a?Pa(e,n):n[a+8],l!==so&&Qm(r,!1)?(s=n[A],a=Hi(l),n=Ui(l,n)):a=-1);-1!==a;){const u=n[A];if(Ym(i,a,u.data)){const d=cS(a,n,t,s,r,c);if(d!==vn)return d}l=n[a+8],l!==so&&Qm(r,n[A].data[a+8]===c)&&Ym(i,a,n)?(s=u,a=Hi(l),n=Ui(l,n)):a=-1}}return o}function cS(e,n,t,r,o,i){const s=n[A],a=s.data[e+8],u=Fa(a,s,t,null==r?wr(a)&&nd:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==u?Ir(n,s,u,a):vn}function Fa(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,u=i>>20,g=o?a+u:e.directiveEnd;for(let m=r?a:a+u;m=l&&v.type===t)return m}if(o){const m=s[l];if(m&&Xt(m)&&m.type===t)return l}return null}function Ir(e,n,t,r){let o=e[t];const i=n.data;if(function tS(e){return e instanceof ji}(o)){const s=o;s.resolving&&function G1(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new M(-200,`Circular dependency in DI detected for ${e}${t}`)}(function ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():$(e)}(i[t]));const a=Oa(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?mt(s.injectImpl):null;Om(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function K0(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=vm(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&mt(c),Oa(a),s.resolving=!1,Lm()}}return o}function Ym(e,n,t){return!!(t[n+(e>>$m)]&1<{const n=e.prototype.constructor,t=n[xn]||id(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[xn]||id(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function id(e){return ma(e)?()=>{const n=id(j(e));return n&&n()}:br(e)}function Xm(e){const n=e[A],t=n.type;return 2===t?n.declTNode:1===t?e[tt]:null}const uo="__parameters__";function ho(e,n,t){return Nn(()=>{const r=function sd(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(uo)?l[uo]:Object.defineProperty(l,uo,{value:[]})[uo];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function go(e,n){e.forEach(t=>Array.isArray(t)?go(t,n):n(t))}function Km(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Va(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Tt(e,n,t){let r=mo(e,n);return r>=0?e[1|r]=t:(r=~r,function ev(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function ld(e,n){const t=mo(e,n);if(t>=0)return e[1|t]}function mo(e,n){return function tv(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<{t.push(s)};return go(n,s=>{const a=s;Ga(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&lv(o,i),t}function lv(e,n){for(let t=0;t{n(i,r)})}}function Ga(e,n,t,r){if(!(e=j(e)))return!1;let o=null,i=ya(e);const s=!i&&Q(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=ya(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ga(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{go(i.imports,u=>{Ga(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&lv(c,n)}if(!a){const c=br(o)||(()=>new o);n({provide:o,useFactory:c,deps:te},o),n({provide:dd,useValue:o,multi:!0},o),n({provide:yo,useValue:()=>P(o),multi:!0},o)}const l=i.providers;if(null!=l&&!a){const c=e;hd(l,u=>{n(u,c)})}}}return o!==e&&void 0!==e.providers}function hd(e,n){for(let t of e)Eu(t)&&(t=t.\u0275providers),Array.isArray(t)?hd(t,n):n(t)}const kS=ce({provide:String,useValue:ce});function pd(e){return null!==e&&"object"==typeof e&&kS in e}function Mr(e){return"function"==typeof e}const gd=new N("Set Injector scope."),za={},FS={};let md;function qa(){return void 0===md&&(md=new $a),md}class At{}class _o extends At{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,yd(n,s=>this.processProvider(s)),this.records.set(iv,Co(void 0,this)),o.has("environment")&&this.records.set(At,Co(void 0,this));const i=this.records.get(gd);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(dd,te,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=Yn(this),r=mt(void 0);try{return n()}finally{Yn(t),mt(r)}}get(n,t=Ai,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(Wg))return n[Wg](this);r=Da(r);const i=Yn(this),s=mt(void 0);try{if(!(r&X.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function US(e){return"function"==typeof e||"object"==typeof e&&e instanceof N}(n)&&va(n);l=c&&this.injectableDefInScope(c)?Co(vd(n),za):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(r&X.Self?qa():this.parent).get(n,t=r&X.Optional&&t===Ai?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ca]=a[Ca]||[]).unshift(je(n)),i)throw a;return function s0(e,n,t,r){const o=e[Ca];throw n[Kg]&&o.unshift(n[Kg]),e.message=function a0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=je(n);if(Array.isArray(n))o=n.map(je).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):je(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(e0,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Ca]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{mt(s),Yn(i)}}resolveInjectorInitializers(){const n=Yn(this),t=mt(void 0);try{const o=this.get(yo,te,X.Self);for(const i of o)i()}finally{Yn(n),mt(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(je(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new M(205,!1)}processProvider(n){let t=Mr(n=j(n))?n:j(n&&n.provide);const r=function VS(e){return pd(e)?Co(void 0,e.useValue):Co(dv(e),za)}(n);if(Mr(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=Co(void 0,za,!0),o.factory=()=>Pu(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===za&&(t.value=FS,t.value=t.factory()),"object"==typeof t.value&&t.value&&function HS(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=j(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function vd(e){const n=va(e),t=null!==n?n.factory:br(e);if(null!==t)return t;if(e instanceof N)throw new M(204,!1);if(e instanceof Function)return function LS(e){const n=e.length;if(n>0)throw function $i(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new M(204,!1)}function dv(e,n,t){let r;if(Mr(e)){const o=j(e);return br(o)||vd(o)}if(pd(e))r=()=>j(e.useValue);else if(function uv(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Pu(e.deps||[]));else if(function cv(e){return!(!e||!e.useExisting)}(e))r=()=>P(j(e.useExisting));else{const o=j(e&&(e.useClass||e.provide));if(!function jS(e){return!!e.deps}(e))return br(o)||vd(o);r=()=>new o(...Pu(e.deps))}return r}function Co(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function yd(e,n){for(const t of e)Array.isArray(t)?yd(t,n):t&&Eu(t)?yd(t.\u0275providers,n):n(t)}function Kn(e,n){e instanceof _o&&e.assertNotDestroyed();const r=Yn(e),o=mt(void 0);try{return n()}finally{Yn(r),mt(o)}}function gv(e,n=null,t=null,r){const o=mv(e,n,t,r);return o.resolveInjectorInitializers(),o}function mv(e,n=null,t=null,r,o=new Set){const i=[t||te,sv(e)];return r=r||("object"==typeof e?void 0:je(e)),new _o(i,n||qa(),r||null,o)}let Dd,_t=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Ai;static#t=this.NULL=new $a;static create(t,r){if(Array.isArray(t))return gv({name:""},r,t,"");{const o=t.name??"";return gv({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=O({token:e,providedIn:"any",factory:()=>P(iv)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();const Za=new N("AppId",{providedIn:"root",factory:()=>QS}),QS="ng",yv=new N("Platform Initializer"),Sr=new N("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),_v=new N("CSP nonce",{providedIn:"root",factory:()=>function tr(){if(void 0!==Dd)return Dd;if(typeof document<"u")return document;throw new M(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});function xt(e){return e instanceof Function?e():e}function Ja(e){return 128==(128&e.flags)}var or=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(or||{});const sT=/^>|^->||--!>|)/g,lT="\u200b$1\u200b";const Md=new Map;let cT=0;const Td="__ngContext__";function rt(e,n){Ke(n)?(e[Td]=n[ki],function dT(e){Md.set(e[ki],e)}(n)):e[Td]=n}let Ad;function xd(e,n){return Ad(e,n)}function Yi(e){const n=e[be];return Ye(n)?n[be]:n}function Lv(e){return jv(e[Ri])}function Vv(e){return jv(e[Yt])}function jv(e){for(;null!==e&&!Ye(e);)e=e[Yt];return e}function wo(e,n,t,r,o){if(null!=r){let i,s=!1;Ye(r)?i=r:Ke(r)&&(s=!0,r=r[Ae]);const a=ve(r);0===e&&null!==t?null==o?$v(n,t,a):Tr(n,t,a,o||null,!0):1===e&&null!==t?Tr(n,t,a,o||null,!0):2===e?function il(e,n,t){const r=rl(e,n);r&&function xT(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function OT(e,n,t,r,o){const i=t[fn];i!==ve(t)&&wo(n,e,r,i,o);for(let a=ke;an.replace(aT,lT))}(n))}function tl(e,n,t){return e.createElement(n,t)}function Uv(e,n){const t=e[no],r=t.indexOf(n);t.splice(r,1)}function Qi(e,n){if(e.length<=ke)return;const t=ke+n,r=e[t];if(r){const o=r[Oi];null!==o&&o!==e&&Uv(o,r),n>0&&(e[t-1][Yt]=r[Yt]);const i=Va(e,ke+n);!function wT(e,n){Ji(e,n,n[G],2,null,null),n[Ae]=null,n[tt]=null}(r[A],r);const s=i[dn];null!==s&&s.detachView(i[A]),r[be]=null,r[Yt]=null,r[F]&=-129}return r}function nl(e,n){if(!(256&n[F])){const t=n[G];t.destroyNode&&Ji(e,n,t,3,null,null),function IT(e){let n=e[Ri];if(!n)return Rd(e[A],e);for(;n;){let t=null;if(Ke(n))t=n[Ri];else{const r=n[ke];r&&(t=r)}if(!t){for(;n&&!n[Yt]&&n!==e;)Ke(n)&&Rd(n[A],n),n=n[be];null===n&&(n=e),Ke(n)&&Rd(n[A],n),t=n&&n[Yt]}n=t}}(n)}}function Rd(e,n){if(!(256&n[F])){n[F]&=-129,n[F]|=256,n[Dr]&&function hg(e){if(Zr(e),Ii(e))for(let n=0;n=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[Jr]=null);const o=n[Xn];if(null!==o){n[Xn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Wt.None||i===Wt.Emulated)return null}return at(r,t)}}(e,n.parent,t)}function Tr(e,n,t,r,o){e.insertBefore(n,t,r,o)}function $v(e,n,t){e.appendChild(n,t)}function Gv(e,n,t,r,o){null!==r?Tr(e,n,t,r,o):$v(e,n,t)}function rl(e,n){return e.parentNode(n)}let kd,al,Wv=function qv(e,n,t){return 40&e.type?at(e,t):null};function ol(e,n,t,r){const o=Od(e,r,n),i=n[G],a=function zv(e,n,t){return Wv(e,n,t)}(r.parent||n[tt],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return al}()?.createScriptURL(e)||e}class ry{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${zg})`}}function ir(e){return e instanceof ry?e.changingThisBreaksApplicationSecurity:e}function Ki(e,n){const t=function GT(e){return e instanceof ry&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${zg})`)}return t===n}const ZT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var Eo=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Eo||{});function Io(e){const n=ts();return n?n.sanitize(Eo.URL,e)||"":Ki(e,"URL")?ir(e):function jd(e){return(e=String(e)).match(ZT)?e:"unsafe:"+e}($(e))}function uy(e){const n=ts();if(n)return ny(n.sanitize(Eo.RESOURCE_URL,e)||"");if(Ki(e,"ResourceURL"))return ny(ir(e));throw new M(904,!1)}function ts(){const e=b();return e&&e[Kr].sanitizer}let fy=(e,n,t)=>null;function Qd(e,n,t=!1){return fy(e,n,t)}class gA{}class gy{}class vA{resolveComponentFactory(n){throw function mA(e){const n=Error(`No component factory found for ${je(e)}.`);return n.ngComponent=e,n}(n)}}let pl=(()=>{class e{static#e=this.NULL=new vA}return e})();function yA(){return To(de(),b())}function To(e,n){return new Nt(at(e,n))}let Nt=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=yA}return e})();function _A(e){return e instanceof Nt?e.nativeElement:e}class vy{}let Fn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function CA(){const e=b(),t=St(de().index,e);return(Ke(t)?t:e)[G]}()}return e})(),DA=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:()=>null})}return e})();class os{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const wA=new os("17.0.7"),Kd={};function gl(e){return!!ef(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function ef(e){return null!==e&&("function"==typeof e||"object"==typeof e)}class _y{constructor(){}supports(n){return gl(n)}create(n){return new SA(n)}}const MA=(e,n)=>n;class SA{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||MA}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new TA(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new Cy),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Cy),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class TA{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class AA{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class Cy{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new AA,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Dy(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new NA(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class NA{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function by(){return new ml([new _y])}let ml=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:by});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||by()),deps:[[e,new Ua,new Ha]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new M(901,!1)}}return e})();function Ey(){return new is([new wy])}let is=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:Ey});constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||Ey()),deps:[[e,new Ua,new Ha]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new M(901,!1)}}return e})();function ss(e,n,t,r,o=!1){for(;null!==t;){const i=n[t.index];null!==i&&r.push(ve(i)),Ye(i)&&Iy(i,r);const s=t.type;if(8&s)ss(e,n,t.child,r);else if(32&s){const a=xd(t,n);let l;for(;l=a();)r.push(l)}else if(16&s){const a=Yv(n,t);if(Array.isArray(a))r.push(...a);else{const l=Yi(n[Me]);ss(l[A],l,a,r,!0)}}t=o?t.projectionNext:t.next}return r}function Iy(e,n){for(let t=ke;t!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{},consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Sa(e.lView)},consumerOnSignalRead(){this.lView[Dr]=this}};function tf(e){return e.ngOriginalError}class Ln{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&tf(n);for(;t&&tf(t);)t=tf(t);return t||null}}const Ty=new N("",{providedIn:"root",factory:()=>T(Ln).handleError.bind(void 0)}),xy=new N("",{providedIn:"root",factory:()=>!1}),W={};function C(e){ky(J(),b(),nt()+e,!1)}function ky(e,n,t,r){if(!r)if(3==(3&n[F])){const i=e.preOrderCheckHooks;null!==i&&Na(n,i,t)}else{const i=e.preOrderHooks;null!==i&&Ra(n,i,0,t)}Er(t)}function S(e,n=X.Default){const t=b();return null===t?P(e,n):Wm(de(),t,j(e),n)}function yl(e,n,t,r,o,i,s,a,l,c,u){const d=n.blueprint.slice();return d[Ae]=o,d[F]=140|r,(null!==c||e&&2048&e[F])&&(d[F]|=2048),wm(d),d[be]=d[eo]=e,d[me]=t,d[Kr]=s||e&&e[Kr],d[G]=a||e&&e[G],d[st]=l||e&&e[st]||null,d[tt]=i,d[ki]=function uT(){return cT++}(),d[Qt]=u,d[hm]=c,d[Me]=2==n.type?e[Me]:d,d}function Ao(e,n,t,r,o){let i=e.data[n];if(null===i)i=function nf(e,n,t,r,o){const i=Tm(),s=qu(),l=e.data[n]=function YA(e,n,t,r,o,i){let s=n?n.injectorIndex:-1,a=0;return function io(){return null!==U.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,t,n,r,o);return null===e.firstChild&&(e.firstChild=l),null!==i&&(s?null==i.child&&null!==l.parent&&(i.child=l):null===i.next&&(i.next=l,l.prev=i)),l}(e,n,t,r,o),function G0(){return U.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=t,i.value=r,i.attrs=o;const s=function Vi(){const e=U.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return gn(i,!0),i}function as(e,n,t,r){if(0===t)return-1;const o=n.length;for(let i=0;iz&&ky(e,n,z,!1),hn(s?2:0,o),t(r,o)}finally{Er(i),hn(s?3:1,o)}}function rf(e,n,t){if(Vu(n)){const r=Se(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function jy(e,n,t,r){for(let o in e)if(e.hasOwnProperty(o)){t=null===t?{}:t;const i=e[o];null===r?Hy(t,n,o,i):r.hasOwnProperty(o)&&Hy(t,n,r[o],i)}return t}function Hy(e,n,t,r){e.hasOwnProperty(t)?e[t].push(n,r):e[t]=[n,r]}function Rt(e,n,t,r,o,i,s,a){const l=at(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(hf(e,t,u,r,o),wr(n)&&function JA(e,n){const t=St(n,e);16&t[F]||(t[F]|=64)}(t,n.index)):3&n.type&&(r=function XA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(l,r,o))}function cf(e,n,t,r){if(Sm()){const o=null===r?null:{"":-1},i=function ox(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,as(e,t,o.hostVars,W),o)}function yn(e,n,t,r,o,i){const s=at(e,n);!function df(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?$(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[G],s,i,e.value,t,r,o)}function ux(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;ae.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(a,s),function PA(e){e.lView[Dr]!==e&&(e.lView=null,My.push(e))}(a)),Ju()}}function Yy(e,n){for(let t=Lv(e);null!==t;t=Vv(t)){t[F]&=~ro.HasChildViewsToRefresh;for(let r=ke;r-1&&(Qi(n,r),Va(t,r))}this._attachedToViewContainer=!1}nl(this._lView[A],this._lView)}onDestroy(n){Ta(this._lView,n)}markForCheck(){ls(this._cdRefInjectingView||this._lView)}detach(){this._lView[F]&=-129}reattach(){Im(this._lView),this._lView[F]|=128}detectChanges(){this._lView[F]|=1024,function pf(e,n=!0){const t=e[Kr],r=t.rendererFactory,o=t.afterRenderEventManager;r.begin?.(),o?.begin();try{!function hx(e){gf(e,0);let n=0;for(;Em(e);){if(100===n)throw new M(103,!1);n++,gf(e,1)}}(e)}catch(s){throw n&&Cl(e,s),s}finally{r.end?.(),t.inlineEffectRunner?.flush(),o?.end()}}(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new M(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function ET(e,n){Ji(e,n,n[G],2,null,null)}(this._lView[A],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new M(902,!1);this._appRef=n}}let us=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=yx}return e})();function yx(e){return function _x(e,n,t){if(wr(e)&&!t){const r=St(e.index,n);return new cs(r,r)}return 47&e.type?new cs(n[Me],n):null}(de(),b(),16==(16&e))}let Dl=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=bx;static#t=this.__NG_ENV_ID__=t=>t}return e})();class wx extends Dl{constructor(n){super(),this._lView=n}onDestroy(n){return Ta(this._lView,n),()=>function zu(e,n){if(null===e[Xn])return;const t=e[Xn].indexOf(n);-1!==t&&e[Xn].splice(t,1)}(this._lView,n)}}function bx(){return new wx(b())}const Jy=new Set;function Ar(e){Jy.has(e)||(Jy.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function mf(e){return n=>{setTimeout(e,void 0,n)}}const xe=class xx extends zt{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=mf(i),o&&(o=mf(o)),s&&(s=mf(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof Et&&n.add(a),a}};function Ky(...e){}class ae{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new xe(!1),this.onMicrotaskEmpty=new xe(!1),this.onStable=new xe(!1),this.onError=new xe(!1),typeof Zone>"u")throw new M(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function Nx(){const e="function"==typeof ge.requestAnimationFrame;let n=ge[e?"requestAnimationFrame":"setTimeout"],t=ge[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function kx(e){const n=()=>{!function Ox(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ge,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,yf(e),e.isCheckStableRunning=!0,vf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),yf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function Fx(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return e_(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),t_(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return e_(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),t_(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,yf(e),vf(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ae.isInAngularZone())throw new M(909,!1)}static assertNotInAngularZone(){if(ae.isInAngularZone())throw new M(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,Rx,Ky,Ky);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const Rx={};function vf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function yf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function e_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function t_(e){e._nesting--,vf(e)}const n_=new N("",{providedIn:"root",factory:r_});function r_(){const e=T(ae);let n=!0;return function V1(...e){const n=Mi(e),t=function N1(e,n){return"number"==typeof Du(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?qt(r[0]):Yr(t)(Oe(r,n)):ln}(new Te(o=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(n),o.complete()})}),new Te(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ae.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ae.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(function j1(e={}){const{connector:n=(()=>new zt),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,c=0,u=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,u=d=!1},v=()=>{const _=s;m(),_?.unsubscribe()};return $e((_,D)=>{c++,!d&&!u&&g();const I=l=l??n();D.add(()=>{c--,0===c&&!d&&!u&&(a=wu(v,o))}),I.subscribe(D),s||(s=new ha({next:w=>I.next(w),error:w=>{d=!0,g(),a=wu(m,t,w),I.error(w)},complete:()=>{u=!0,g(),a=wu(m,r),I.complete()}}),Oe(_).subscribe(s))})(i)}}()))}var xr=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(xr||{});const o_={destroy(){}};function s_(e,n){!n&&function _d(e){if(!Qg()&&!function n0(){return Xr}())throw new M(-203,!1)}();const t=n?.injector??T(_t);if(!function nr(e){return"browser"===(e??T(_t)).get(Sr)}(t))return o_;Ar("NgAfterNextRender");const r=t.get(wl),o=r.handler??=new l_,i=n?.phase??xr.MixedReadWrite,s=()=>{o.unregister(l),a()},a=t.get(Dl).onDestroy(s),l=new a_(t,i,()=>{s(),e()});return o.register(l),{destroy:s}}class a_{constructor(n,t,r){this.phase=t,this.callbackFn=r,this.zone=n.get(ae),this.errorHandler=n.get(Ln,null,{optional:!0})}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(n){this.errorHandler?.handleError(n)}}}class l_{constructor(){this.executingCallbacks=!1,this.buckets={[xr.EarlyRead]:new Set,[xr.Write]:new Set,[xr.MixedReadWrite]:new Set,[xr.Read]:new Set},this.deferredCallbacks=new Set}validateBegin(){if(this.executingCallbacks)throw new M(102,!1)}register(n){(this.executingCallbacks?this.deferredCallbacks:this.buckets[n.phase]).add(n)}unregister(n){this.buckets[n.phase].delete(n),this.deferredCallbacks.delete(n)}execute(){this.executingCallbacks=!0;for(const n of Object.values(this.buckets))for(const t of n)t.invoke();this.executingCallbacks=!1;for(const n of this.deferredCallbacks)this.buckets[n.phase].add(n);this.deferredCallbacks.clear()}destroy(){for(const n of Object.values(this.buckets))n.clear();this.deferredCallbacks.clear()}}let wl=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null,this.internalCallbacks=[]}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth){for(const t of this.internalCallbacks)t();this.internalCallbacks.length=0,this.handler?.execute()}}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:()=>new e})}return e})();function jx(e,n){const t=St(n,e),r=t[A];!function Hx(e,n){for(let t=n.length;t0&&Jv(e,t,i.join(" "))}}(d,le,m,r),void 0!==t&&function Qx(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=Ni(o.hostAttrs,t=Ni(t,o.hostAttrs))}}(r)}function El(e){return e===un?{}:e===te?[]:e}function Kx(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function eN(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function tN(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function g_(e){const n=e.inputConfig,t={};for(const r in n)if(n.hasOwnProperty(r)){const o=n[r];Array.isArray(o)&&o[2]&&(t[r]=o[2])}e.inputTransforms=t}function _n(e,n,t){return e[n]=t}function He(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Jt(e,n,t,r){const o=b();return He(o,mn(),n)&&(J(),yn(we(),o,e,n,t,r)),Jt}function No(e,n,t,r){return He(e,mn(),t)?n+$(t)+r:W}function Ml(e,n){return e<<17|n<<2}function sr(e){return e>>17&32767}function Cf(e){return 2|e}function Rr(e){return(131068&e)>>2}function Df(e,n){return-131069&e|n<<2}function wf(e){return 1|e}function I_(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?sr(i):Rr(i),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];fN(e[a],n)&&(l=!0,e[a+1]=r?wf(u):Cf(u)),a=r?sr(u):Rr(u)}l&&(e[t+1]=r?Cf(i):wf(i))}function fN(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&mo(e,n)>=0}function E(e,n,t){const r=b();return He(r,mn(),n)&&Rt(J(),we(),r,e,n,r[G],t,!1),E}function bf(e,n,t,r,o){const s=o?"class":"style";hf(e,t,n.inputs[s],s,r)}function Sl(e,n){return function Kt(e,n,t,r){const o=b(),i=J(),s=function kn(e){const n=U.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function k_(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[nt()],s=function O_(e,n){return n>=e.expandoStartIndex}(e,t);(function V_(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function DN(e,n,t,r){const o=function Yu(e){const n=U.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=hs(t=Ef(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=Ef(o,e,n,t,r),null===i){let l=function wN(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==Rr(r))return e[sr(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=Ef(null,e,n,l[1],r),l=hs(l,n.attrs,r),function bN(e,n,t,r){e[sr(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function EN(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):u=t,o)if(0!==l){const g=sr(e[a+1]);e[r+1]=Ml(g,a),0!==g&&(e[g+1]=Df(e[g+1],r)),e[a+1]=function lN(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Ml(a,0),0!==a&&(e[a+1]=Df(e[a+1],r)),a=r;else e[r+1]=Ml(l,0),0===a?a=r:e[l+1]=Df(e[l+1],r),l=r;c&&(e[r+1]=Cf(e[r+1])),I_(e,u,r,!0),I_(e,u,r,!1),function dN(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&mo(i,n)>=0&&(t[r+1]=wf(t[r+1]))}(n,u,e,r,i),s=Ml(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==W&&He(o,s,n)&&function F_(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const l=e.data,c=l[a+1],u=function cN(e){return 1==(1&e)}(c)?L_(l,n,t,o,Rr(c),s):void 0;Tl(u)||(Tl(i)||function aN(e){return 2==(2&e)}(c)&&(i=L_(l,null,t,o,a,s)),function kT(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:or.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=or.Important),e.setStyle(t,r,o,i))}}(r,s,Fi(nt(),t),o,i))}(i,i.data[nt()],o,o[G],e,o[s+1]=function TN(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=je(ir(e)))),e}(n,t),r,s)}(e,n,null,!0),Sl}function Ef(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[o+1];g===W&&(g=d?te:void 0);let m=d?ld(g,r):u===r?g:void 0;if(c&&!Tl(m)&&(m=ld(l,r)),Tl(m)&&(a=m,s))return a;const v=e[o+1];o=s?sr(v):Rr(v)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=ld(l,r))}return a}function Tl(e){return void 0!==e}let G_=(e,n)=>null;function Ho(e,n){return G_(e,n)}function ys(e,n,t,r){const o=n.tView,a=yl(e,o,t,4096&e[F]?4096:16,null,n,null,null,null,r?.injector??null,r?.dehydratedView??null);a[Oi]=e[n.index];const c=e[dn];return null!==c&&(a[dn]=c.createEmbeddedView(o)),_f(o,a,t),a}function Uo(e,n){return!n||null===n.firstChild||Ja(e)}function _s(e,n,t,r=!0){const o=n[A];if(function MT(e,n,t,r){const o=ke+r,i=t.length;r>0&&(t[o-1][Yt]=n),r{class e{static#e=this.__NG_ELEMENT_ID__=lR}return e})();function lR(){return X_(de(),b())}const cR=tn,Y_=class extends cR{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return To(this._hostTNode,this._hostLView)}get injector(){return new ze(this._hostTNode,this._hostLView)}get parentInjector(){const n=Pa(this._hostTNode,this._hostLView);if(td(n)){const t=Ui(n,this._hostLView),r=Hi(n);return new ze(t[A].data[r+8],t)}return new ze(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Q_(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-ke}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const s=Ho(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},i,s);return this.insertImpl(a,o,Uo(this._hostTNode,s)),a}createComponent(n,t,r,o,i){const s=n&&!function Bi(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const v=t||{};a=v.index,r=v.injector,o=v.projectableNodes,i=v.environmentInjector||v.ngModuleRef}const l=s?n:new ds(Q(n)),c=r||this.parentInjector;if(!i&&null==l.ngModule){const _=(s?c:this.parentInjector).get(At,null);_&&(i=_)}const u=Q(l.componentType??{}),d=Ho(this._lContainer,u?.id??null),m=l.create(c,o,d?.firstChild??null,i);return this.insertImpl(m.hostView,a,Uo(this._hostTNode,d)),m}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){const o=n._lView;if(function O0(e){return Ye(e[be])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[be],c=new Y_(l,l[tt],l[be]);c.detach(c.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;return _s(s,o,i,r),n.attachToViewContainerRef(),Km(Of(s),i,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Q_(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=Qi(this._lContainer,t);r&&(Va(Of(this._lContainer),t),nl(r[A],r))}detach(n){const t=this._adjustIndex(n,-1),r=Qi(this._lContainer,t);return r&&null!=Va(Of(this._lContainer),t)?new cs(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Q_(e){return e[8]}function Of(e){return e[8]||(e[8]=[])}function X_(e,n){let t;const r=n[e.index];return Ye(r)?t=r:(t=Gy(r,n,null,e),n[e.index]=t,_l(n,t)),J_(t,n,e,r),new Y_(t,e,n)}let J_=function eC(e,n,t,r){if(e[fn])return;let o;o=8&t.type?ve(r):function uR(e,n){const t=e[G],r=t.createComment(""),o=at(n,e);return Tr(t,rl(t,o),r,function NT(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[fn]=o},kf=(e,n,t)=>!1;function q(e,n,t,r,o,i,s,a){const l=b(),c=J(),u=e+z,d=c.firstCreatePass?function pR(e,n,t,r,o,i,s,a,l){const c=n.consts,u=Ao(n,e,4,s||null,pn(c,a));cf(n,t,u,pn(c,l)),xa(n,u);const d=u.tView=lf(2,u,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,r,o,i,s):c.data[u];gn(d,!1);const g=tC(c,l,d,e);Aa()&&ol(c,l,g,d),rt(g,l);const m=Gy(g,l,g,d);return l[u]=m,_l(l,m),function K_(e,n,t){return kf(e,n,t)}(m,d,l),Ma(d)&&sf(c,l,d),null!=s&&af(l,d,a),q}let tC=function nC(e,n,t,r){return Jn(!0),n[G].createComment("")};function Bo(e,n,t){Ar("NgControlFlow");const r=b(),o=mn(),i=function Pf(e,n){return e[n]}(r,z+e);if(He(r,o,n)){const a=Se(null);try{if(function Rf(e,n){const t=Qi(e,n);return void 0!==t&&nl(t[A],t),t}(i,0),-1!==n){const l=function Ff(e,n){return Li(e,n)}(r[A],z+n),c=Ho(i,l.tView.ssrId);_s(i,ys(r,l,t,{dehydratedView:c}),0,Uo(l,c))}}finally{Se(a)}}else{const a=function Z_(e,n){const t=ke+n;if(t(Jn(!0),tl(r,o,function Vm(){return U.lFrame.currentNamespace}()));function Dt(e,n,t){const r=b(),o=J(),i=e+z,s=o.firstCreatePass?function iO(e,n,t,r,o){const i=n.consts,s=pn(i,r),a=Ao(n,e,8,"ng-container",s);return null!==s&&bl(a,s,!0),cf(n,t,a,pn(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];gn(s,!0);const a=SC(o,r,s,e);return r[i]=a,Aa()&&ol(o,r,a,s),rt(a,r),Ma(s)&&(sf(o,r,s),rf(o,s,r)),null!=t&&af(r,s),Dt}function wt(){let e=de();const n=J();return qu()?Wu():(e=e.parent,gn(e,!1)),n.firstCreatePass&&(xa(n,e),Vu(e)&&n.queries.elementEnd(e)),wt}let SC=(e,n,t,r)=>(Jn(!0),Nd(n[G],""));function Fe(){return b()}const Qo="en-US";let RC=Qo;function Ts(e){return!!e&&"function"==typeof e.then}function rD(e){return!!e&&"function"==typeof e.subscribe}function R(e,n,t,r){const o=b(),i=J(),s=de();return function iD(e,n,t,r,o,i,s){const a=Ma(r),c=e.firstCreatePass&&Wy(e),u=n[me],d=qy(n);let g=!0;if(3&r.type||s){const _=at(r,n),D=s?s(_):_,I=d.length,w=s?L=>s(ve(L[r.index])):r.index;let x=null;if(!s&&a&&(x=function ok(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=i,x.__ngLastListenerFn__=i,g=!1;else{i=aD(r,n,u,i,!1);const L=t.listen(D,o,i);d.push(i,L),c&&c.push(o,w,I,I+1)}}else i=aD(r,n,u,i,!1);const m=r.outputs;let v;if(g&&null!==m&&(v=m[o])){const _=v.length;if(_)for(let D=0;D<_;D+=2){const Z=n[v[D]][v[D+1]].subscribe(i),le=d.length;d.push(i,Z),c&&c.push(o,r.index,le,-(le+1))}}}(i,o,o[G],s,e,n,r),R}function sD(e,n,t,r){try{return hn(6,n,t),!1!==t(r)}catch(o){return Cl(e,o),!1}finally{hn(7,n,t)}}function aD(e,n,t,r,o){return function i(s){if(s===Function)return r;ls(e.componentOffset>-1?St(e.index,n):n);let l=sD(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)l=sD(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function k(e=1){return function Z0(e){return(U.lFrame.contextLView=function bm(e,n){for(;e>0;)n=n[eo],e--;return n}(e,U.lFrame.contextLView))[me]}(e)}function jn(e,n,t,r,o){const i=b(),s=No(i,n,t,r);return s!==W&&Rt(J(),we(),i,e,s,i[G],o,!1),jn}function Wf(e){return function oo(e,n){return e[n]}(function $0(){return U.lFrame.contextLView}(),z+e)}function f(e,n=""){const t=b(),r=J(),o=e+z,i=r.firstCreatePass?Ao(r,o,1,n,null):r.data[o],s=MD(r,t,i,n,e);t[o]=s,Aa()&&ol(r,t,s,i),gn(i,!1)}let MD=(e,n,t,r,o)=>(Jn(!0),function el(e,n){return e.createText(n)}(n[G],r));function Ee(e){return Hn("",e,""),Ee}function Hn(e,n,t){const r=b(),o=No(r,e,n,t);return o!==W&&function Vn(e,n,t){const r=Fi(n,e);!function Hv(e,n,t){e.setValue(n,t)}(e[G],r,t)}(r,nt(),o),Hn}function Zf(e,n,t,r,o){if(e=j(e),Array.isArray(e))for(let i=0;i>20;if(Mr(e)||!e.multi){const m=new ji(c,o,S),v=Qf(l,n,o?u:u+g,d);-1===v?(od(ka(a,s),i,l),Yf(i,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(m),s.push(m)):(t[v]=m,s[v]=m)}else{const m=Qf(l,n,u+g,d),v=Qf(l,n,u,u+g),D=v>=0&&t[v];if(o&&!D||!o&&!(m>=0&&t[m])){od(ka(a,s),i,l);const I=function bk(e,n,t,r,o){const i=new ji(e,t,S);return i.multi=[],i.index=n,i.componentProviders=0,PD(i,o,r&&!t),i}(o?wk:Dk,t.length,o,r,c);!o&&D&&(t[v].providerFactory=I),Yf(i,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(I),s.push(I)}else Yf(i,e,m>-1?m:v,PD(t[o?v:m],c,!o&&r));!o&&r&&D&&t[v].componentProviders++}}}function Yf(e,n,t,r){const o=Mr(n),i=function PS(e){return!!e.useClass}(n);if(o||i){const l=(i?j(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function PD(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Qf(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function Ck(e,n,t){const r=J();if(r.firstCreatePass){const o=Xt(e);Zf(t,r.data,r.blueprint,o,!0),Zf(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class Pr{}class FD{}class Jf extends Pr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new c_(this);const o=et(n);this._bootstrapComponents=xt(o.bootstrap),this._r3Injector=mv(n,t,[{provide:Pr,useValue:this},{provide:pl,useValue:this.componentFactoryResolver},...r],je(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Kf extends FD{constructor(n){super(),this.moduleType=n}create(n){return new Jf(this.moduleType,n,[])}}class LD extends Pr{constructor(n){super(),this.componentFactoryResolver=new c_(this),this.instance=null;const t=new _o([...n.providers,{provide:Pr,useValue:this},{provide:pl,useValue:this.componentFactoryResolver}],n.parent||qa(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function eh(e,n,t=null){return new LD({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let Mk=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=av(0,t.type),o=r.length>0?eh([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=O({token:e,providedIn:"environment",factory:()=>new e(P(At))})}return e})();function Ot(e){Ar("NgStandalone"),e.getStandaloneInjector=n=>n.get(Mk).getOrCreateStandaloneInjector(e)}function ee(e,n,t){const r=lt()+e,o=b();return o[r]===W?_n(o,r,t?n.call(t):n()):function fs(e,n){return e[n]}(o,r)}function As(e,n,t,r){return function qD(e,n,t,r,o,i){const s=n+t;return He(e,s,o)?_n(e,s+1,i?r.call(i,o):r(o)):xs(e,s+1)}(b(),lt(),e,n,t,r)}function zD(e,n,t,r,o){return function WD(e,n,t,r,o,i,s){const a=n+t;return function Nr(e,n,t,r){const o=He(e,n,t);return He(e,n+1,r)||o}(e,a,o,i)?_n(e,a+2,s?r.call(s,o,i):r(o,i)):xs(e,a+2)}(b(),lt(),e,n,t,r,o)}function xs(e,n){const t=e[n];return t===W?void 0:t}function Xk(){return this._results[Symbol.iterator]()}class nh{static#e=Symbol.iterator;get changes(){return this._changes??=new xe}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const t=nh.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=Xk)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const r=function yt(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function vS(e,n,t){if(e.length!==n.length)return!1;for(let r=0;r{class e{static#e=this.__NG_ELEMENT_ID__=eP}return e})();const Jk=Un,Kk=class extends Jk{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=ys(this._declarationLView,this._declarationTContainer,n,{injector:t,dehydratedView:r});return new cs(o)}};function eP(){return Gl(de(),b())}function Gl(e,n){return 4&e.type?new Kk(n,e,To(e,n)):null}class rh{constructor(n){this.queryList=n,this.matches=null}clone(){return new rh(this.queryList)}setDirty(){this.queryList.setDirty()}}class oh{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const r=null!==n.contentQueries?n.contentQueries[0]:t.length,o=[];for(let i=0;i0)r.push(s[a/2]);else{const c=i[a+1],u=n[-l];for(let d=ke;d{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),ql=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Pt(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class xP{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let Dw=(()=>{class e{compileModuleSync(t){return new Kf(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=xt(et(t).declarations).reduce((s,a)=>{const l=Q(a);return l&&s.push(new ds(l)),s},[]);return new xP(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Mw=new N(""),Zl=new N("");let gh,hh=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,gh||(function tF(e){gh=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ae.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(P(ae),P(ph),P(Zl))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),ph=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return gh?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const mh=new N("Application Initializer");let vh=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=T(mh,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Ts(i))t.push(i);else if(rD(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const yh=new N("appBootstrapListener");let Ko=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=T(Ty),this.zoneIsStable=T(n_),this.componentTypes=[],this.components=[],this.isStable=T(ql).hasPendingTasks.pipe(Ft(t=>t?V(!1):this.zoneIsStable),function H1(e,n=qn){return e=e??U1,$e((t,r)=>{let o,i=!0;t.subscribe(Ve(r,s=>{const a=n(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}()),this._injector=T(At)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof gy;if(!this._injector.get(vh).done)throw!o&&function Qn(e){const n=Q(e)||Ge(e)||Je(e);return null!==n&&n.standalone}(t),new M(405,!1);let s;s=o?t:this._injector.get(pl).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function rF(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Pr),c=s.create(_t.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(Mw,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),Yl(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new M(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Yl(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(yh,[]);[...this._bootstrapListeners,...r].forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Yl(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new M(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Yl(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}let iF=(()=>{class e{constructor(){this.zone=T(ae),this.applicationRef=T(Ko)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Nw(e){return[{provide:ae,useFactory:e},{provide:yo,multi:!0,useFactory:()=>{const n=T(iF,{optional:!0});return()=>n.initialize()}},{provide:Ty,useFactory:sF},{provide:n_,useFactory:r_}]}function sF(){const e=T(ae),n=T(Ln);return t=>e.runOutsideAngular(()=>n.handleError(t))}function aF(e){return fd([[],Nw(()=>new ae(function Rw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}const Bn=new N("LocaleId",{providedIn:"root",factory:()=>T(Bn,X.Optional|X.SkipSelf)||function lF(){return typeof $localize<"u"&&$localize.locale||Qo}()}),_h=new N("PlatformDestroyListeners");let lr=null;let yF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(P(Ko))};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({})}return e})();function RF(e){try{const{rootComponent:n,appProviders:t,platformProviders:r}=e,o=function hF(e=[]){if(lr)return lr;const n=function Pw(e=[],n){return _t.create({name:n,providers:[{provide:gd,useValue:"platform"},{provide:_h,useValue:new Set([()=>lr=null])},...e]})}(e);return lr=n,function Sw(){!function LM(e){mg=e}(()=>{throw new M(600,!1)})}(),function Fw(e){e.get(yv,null)?.forEach(t=>t())}(n),n}(r),i=[aF(),...t||[]],a=new LD({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(ae);return l.run(()=>{a.resolveInjectorInitializers();const c=a.get(Ln,null);let u;l.runOutsideAngular(()=>{u=l.onError.subscribe({next:m=>{c.handleError(m)}})});const d=()=>a.destroy(),g=o.get(_h);return g.add(d),a.onDestroy(()=>{u.unsubscribe(),g.delete(d)}),function Tw(e,n,t){try{const r=t();return Ts(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(c,l,()=>{const m=a.get(vh);return m.runInitializers(),m.donePromise.then(()=>{!function OC(e){gt(e,"Expected localeId to be defined"),"string"==typeof e&&(RC=e.toLowerCase().replace(/_/g,"-"))}(a.get(Bn,Qo)||Qo);const _=a.get(Ko);return void 0!==n&&_.bootstrap(n),_})})})}catch(n){return Promise.reject(n)}}function ti(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const _e_apiBaseUrl="https://www.palmmedia.de/api/";let Ah=null;function cr(){return Ah}class WF{}const ft=new N("DocumentToken");let xh=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>T(YF),providedIn:"platform"})}return e})();const ZF=new N("Location Initialized");let YF=(()=>{class e extends xh{constructor(){super(),this._doc=T(ft),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return cr().getBaseHref(this._doc)}onPopState(t){const r=cr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=cr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}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(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function Nh(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function ib(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function $n(e){return e&&"?"!==e[0]?"?"+e:e}let Lr=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>T(ab),providedIn:"root"})}return e})();const sb=new N("appBaseHref");let ab=(()=>{class e extends Lr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??T(ft).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Nh(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+$n(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+$n(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+$n(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(xh),P(sb,8))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),QF=(()=>{class e extends Lr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Nh(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+$n(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+$n(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(xh),P(sb,8))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),Fs=(()=>{class e{constructor(t){this._subject=new xe,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function KF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(ib(lb(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+$n(r))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,lb(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$n(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+$n(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=$n;static#t=this.joinWithSlash=Nh;static#n=this.stripTrailingSlash=ib;static#r=this.\u0275fac=function(r){return new(r||e)(P(Lr))};static#o=this.\u0275prov=O({token:e,factory:()=>function XF(){return new Fs(P(Lr))}(),providedIn:"root"})}return e})();function lb(e){return e.replace(/\/index.html$/,"")}function vb(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const Uh=/\s+/,yb=[];let pc=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=yb,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(Uh):yb}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(Uh):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(Uh).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(S(ml),S(is),S(Nt),S(Fn))};static#t=this.\u0275dir=B({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class V2{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Bh=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new V2(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),Cb(a,o)}});for(let o=0,i=r.length;o{Cb(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(tn),S(Un),S(ml))};static#t=this.\u0275dir=B({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function Cb(e,n){e.context.$implicit=n.item}let $h=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new j2,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Db("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Db("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(tn),S(Un))};static#t=this.\u0275dir=B({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class j2{constructor(){this.$implicit=null,this.ngIf=null}}function Db(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${je(n)}'.`)}let dL=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({})}return e})();function Ib(e){return"server"===e}let gL=(()=>{class e{static#e=this.\u0275prov=O({token:e,providedIn:"root",factory:()=>new mL(P(ft),window)})}return e})();class mL{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function vL(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.supportsScrolling()&&(this.window.history.scrollRestoration=n)}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class Mb{}const{isArray:UL}=Array,{getPrototypeOf:BL,prototype:$L,keys:GL}=Object;function xb(e){if(1===e.length){const n=e[0];if(UL(n))return{args:n,keys:null};if(function zL(e){return e&&"object"==typeof e&&BL(e)===$L}(n)){const t=GL(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:qL}=Array;function Nb(e){return K(n=>function WL(e,n){return qL(n)?e(...n):e(n)}(e,n))}function Rb(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}function Qh(...e){const n=Mi(e),t=Ug(e),{args:r,keys:o}=xb(e);if(0===r.length)return Oe([],n);const i=new Te(function ZL(e,n,t=qn){return r=>{Ob(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const c=Oe(e[l],n);let u=!1;c.subscribe(Ve(r,d=>{i[l]=d,u||(u=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>Rb(o,s):qn));return t?i.pipe(Nb(t)):i}function Ob(e,n,t){e?An(t,e,n):n()}const vc=lu(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Xh(...e){return function YL(){return Yr(1)}()(Oe(e,Mi(e)))}function kb(e){return new Te(n=>{qt(e()).subscribe(n)})}function yc(e,n){const t=De(e)?e:()=>e,r=o=>o.error(t());return new Te(n?o=>n.schedule(r,0,o):r)}function Jh(){return $e((e,n)=>{let t=null;e._refCount++;const r=Ve(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class Pb extends Te{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Mg(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Et;const t=this.getSubject();n.add(this.source.subscribe(Ve(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Et.EMPTY)}return n}refCount(){return Jh()(this)}}function on(e,n){return $e((t,r)=>{let o=0;t.subscribe(Ve(r,i=>e.call(n,i,o++)&&r.next(i)))})}function _c(e){return $e((n,t)=>{let r=!1;n.subscribe(Ve(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function Fb(e=XL){return $e((n,t)=>{let r=!1;n.subscribe(Ve(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function XL(){return new vc}function Vr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?on((o,i)=>e(o,i,r)):qn,Cr(1),t?_c(n):Fb(()=>new vc))}function ri(e,n){return De(n)?Xe(e,n,1):Xe(e,1)}function ot(e,n,t){const r=De(e)||n||t?{next:e,error:n,complete:t}:e;return r?$e((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Ve(i,l=>{var c;null===(c=r.next)||void 0===c||c.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,l),i.error(l)},()=>{var l,c;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):qn}function oi(e){return $e((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Ve(t,void 0,void 0,s=>{i=qt(e(s,oi(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function Kh(e){return e<=0?()=>ln:$e((n,t)=>{let r=[];n.subscribe(Ve(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}function Hs(e){return $e((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}class rV extends WF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends rV{static makeCurrent(){!function qF(e){Ah||(Ah=e)}(new ep)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function oV(){return Us=Us||document.querySelector("base"),Us?Us.getAttribute("href"):null}();return null==t?null:function iV(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Us=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return vb(document.cookie,n)}}let Us=null,aV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const tp=new N("EventManagerPlugins");let Lb=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new M(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(P(tp),P(ae))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();class Vb{constructor(n){this._doc=n}}const np="ng-app-id";let jb=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Ib(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(np),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(np,this.appId),t.appendChild(s),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r),i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(P(ft),P(Za),P(_v,8),P(Sr))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const rp={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/MathML/"},op=/%COMP%/g,dV=new N("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!0});function Ub(e,n){return n.map(t=>t.replace(op,e))}let Bb=(()=>{class e{constructor(t,r,o,i,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=Ib(a),this.defaultRenderer=new ip(t,s,l,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Wt.ShadowDom&&(r={...r,encapsulation:Wt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof Gb?o.applyToHost(t):o instanceof sp&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Wt.Emulated:i=new Gb(l,c,r,this.appId,u,s,a,d);break;case Wt.ShadowDom:return new gV(l,c,t,r,s,a,this.nonce,d);default:i=new sp(l,c,r,u,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(P(Lb),P(jb),P(Za),P(dV),P(ft),P(Sr),P(ae),P(_v))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();class ip{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(rp[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){($b(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&($b(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new M(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=rp[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=rp[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(or.DashCase|or.Important)?n.style.setProperty(t,r,o&or.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&or.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){null!=n&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=cr().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function $b(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class gV extends ip{constructor(n,t,r,o,i,s,a,l){super(n,i,s,l),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ub(o.id,o.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends ip{constructor(n,t,r,o,i,s,a,l){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=l?Ub(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Gb extends sp{constructor(n,t,r,o,i,s,a,l){const c=o+"-"+r.id;super(n,t,r,i,s,a,l,c),this.contentAttr=function fV(e){return"_ngcontent-%COMP%".replace(op,e)}(c),this.hostAttr=function hV(e){return"_nghost-%COMP%".replace(op,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let mV=(()=>{class e extends Vb{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(P(ft))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const zb=["alt","control","meta","shift"],vV={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},yV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let _V=(()=>{class e extends Vb{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>cr().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),zb.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=vV[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),zb.forEach(s=>{s!==o&&(0,yV[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(P(ft))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function qb(e){return{appProviders:[...Zb,...e?.providers??[]],platformProviders:EV}}const EV=[{provide:Sr,useValue:"browser"},{provide:yv,useValue:function DV(){ep.makeCurrent()},multi:!0},{provide:ft,useFactory:function bV(){return function YS(e){Dd=e}(document),document},deps:[]}],IV=new N(""),Wb=[{provide:Zl,useClass:class sV{addToWindow(n){ge.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new M(5103,!1);return i},ge.getAllAngularTestabilities=()=>n.getAllTestabilities(),ge.getAllAngularRootElements=()=>n.getAllRootElements(),ge.frameworkStabilizers||(ge.frameworkStabilizers=[]),ge.frameworkStabilizers.push(r=>{const o=ge.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&r(s)};o.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?cr().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:Mw,useClass:hh,deps:[ae,ph,Zl]},{provide:hh,useClass:hh,deps:[ae,ph,Zl]}],Zb=[{provide:gd,useValue:"root"},{provide:Ln,useFactory:function wV(){return new Ln},deps:[]},{provide:tp,useClass:mV,multi:!0,deps:[ft,ae,Sr]},{provide:tp,useClass:_V,multi:!0,deps:[ft]},Bb,jb,Lb,{provide:vy,useExisting:Bb},{provide:Mb,useClass:aV,deps:[]},[]];let MV=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Za,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(P(IV,12))};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({providers:[...Zb,...Wb],imports:[dL,yF]})}return e})(),Yb=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(P(ft))};static#t=this.\u0275prov=O({token:e,factory:function(r){let o=null;return o=r?new r:function TV(){return new Yb(P(ft))}(),o},providedIn:"root"})}return e})();typeof window<"u"&&window;const Y="primary",Bs=Symbol("RouteTitle");class OV{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function ii(e){return new OV(e)}function kV(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function eE(e){return e.length>0?e[e.length-1]:null}function dr(e){return function HL(e){return!!e&&(e instanceof Te||De(e.lift)&&De(e.subscribe))}(e)?e:Ts(e)?Oe(Promise.resolve(e)):V(e)}const FV={exact:function rE(e,n,t){if(!jr(e.segments,n.segments)||!Cc(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!rE(e.children[r],n.children[r],t))return!1;return!0},subset:oE},tE={exact:function LV(e,n){return wn(e,n)},subset:function VV(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>Kb(e[t],n[t]))},ignored:()=>!0};function nE(e,n,t){return FV[t.paths](e.root,n.root,t.matrixParams)&&tE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function oE(e,n,t){return iE(e,n,n.segments,t)}function iE(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!jr(o,t)||n.hasChildren()||!Cc(o,t,r))}if(e.segments.length===t.length){if(!jr(e.segments,t)||!Cc(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!oE(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(jr(e.segments,o)&&Cc(e.segments,o,r)&&e.children[Y])&&iE(e.children[Y],n,i,r)}}function Cc(e,n,t){return n.every((r,o)=>tE[t](e[o].parameters,r.parameters))}class si{constructor(n=new fe([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ii(this.queryParams)),this._queryParamMap}toString(){return UV.serialize(this)}}class fe{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Dc(this)}}class $s{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=ii(this.parameters)),this._parameterMap}toString(){return lE(this)}}function jr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let ai=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>new cp,providedIn:"root"})}return e})();class cp{parse(n){const t=new JV(n);return new si(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${Gs(n.root,!0)}`,r=function GV(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${wc(t)}=${wc(o)}`).join("&"):`${wc(t)}=${wc(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function BV(e){return encodeURI(e)}(n.fragment)}`:""}`}}const UV=new cp;function Dc(e){return e.segments.map(n=>lE(n)).join("/")}function Gs(e,n){if(!e.hasChildren())return Dc(e);if(n){const t=e.children[Y]?Gs(e.children[Y],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Y&&r.push(`${o}:${Gs(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function HV(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Y&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Y&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Y?[Gs(e.children[Y],!1)]:[`${o}:${Gs(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Y]?`${Dc(e)}/${t[0]}`:`${Dc(e)}/(${t.join("//")})`}}function sE(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function wc(e){return sE(e).replace(/%3B/gi,";")}function up(e){return sE(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function bc(e){return decodeURIComponent(e)}function aE(e){return bc(e.replace(/\+/g,"%20"))}function lE(e){return`${up(e.path)}${function $V(e){return Object.keys(e).map(n=>`;${up(n)}=${up(e[n])}`).join("")}(e.parameters)}`}const zV=/^[^\/()?;#]+/;function dp(e){const n=e.match(zV);return n?n[0]:""}const qV=/^[^\/()?;=#]+/,ZV=/^[^=?&#]+/,QV=/^[^&#]+/;class JV{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new fe([],{}):new fe([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Y]=new fe(n,t)),r}parseSegment(){const n=dp(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new M(4009,!1);return this.capture(n),new $s(bc(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function WV(e){const n=e.match(qV);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=dp(this.remaining);o&&(r=o,this.capture(r))}n[bc(t)]=bc(r)}parseQueryParam(n){const t=function YV(e){const n=e.match(ZV);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function XV(e){const n=e.match(QV);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=aE(t),i=aE(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=dp(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new M(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Y);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Y]:new fe([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new M(4011,!1)}}function cE(e){return e.segments.length>0?new fe([],{[Y]:e}):e}function uE(e){const n={};for(const r of Object.keys(e.children)){const i=uE(e.children[r]);if(r===Y&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function KV(e){if(1===e.numberOfChildren&&e.children[Y]){const n=e.children[Y];return new fe(e.segments.concat(n.segments),n.children)}return e}(new fe(e.segments,n))}function Hr(e){return e instanceof si}function dE(e){let n;const o=cE(function t(i){const s={};for(const l of i.children){const c=t(l);s[l.outlet]=c}const a=new fe(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function fE(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return fp(o,o,o,t,r);const i=function t3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new pE(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new pE(t,n,r)}(n);if(i.toRoot())return fp(o,o,new fe([],{}),t,r);const s=function n3(e,n,t){if(e.isAbsolute)return new Ic(n,!0,0);if(!t)return new Ic(n,!1,NaN);if(null===t.parent)return new Ic(t,!0,0);const r=Ec(e.commands[0])?0:1;return function r3(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new M(4005,!1);o=r.segments.length}return new Ic(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?qs(s.segmentGroup,s.index,i.commands):gE(s.segmentGroup,s.index,i.commands);return fp(o,s.segmentGroup,a,t,r)}function Ec(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function zs(e){return"object"==typeof e&&null!=e&&e.outlets}function fp(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([l,c])=>{i[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:hE(e,n,t);const a=cE(uE(s));return new si(a,i,o)}function hE(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:hE(i,n,t)}),new fe(e.segments,r)}class pE{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&Ec(r[0]))throw new M(4003,!1);const o=r.find(zs);if(o&&o!==eE(r))throw new M(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Ic{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function gE(e,n,t){if(e||(e=new fe([],{})),0===e.segments.length&&e.hasChildren())return qs(e,n,t);const r=function i3(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(zs(a))break;const l=`${a}`,c=r0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!vE(l,c,s))return i;r+=2}else{if(!vE(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Y)&&e.children[Y]&&1===e.numberOfChildren&&0===e.children[Y].segments.length){const i=qs(e.children[Y],n,t);return new fe(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=gE(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new fe(e.segments,o)}}function hp(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=hp(new fe([],{}),0,r))}),n}function mE(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function vE(e,n,t){return e==t.path&&wn(n,t.parameters)}const Ws="imperative";class bn{constructor(n,t){this.id=n,this.url=t}}class Mc extends bn{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class En extends bn{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class li extends bn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ci extends bn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class Sc extends bn{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class yE extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class a3 extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class l3 extends bn{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class c3 extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class u3 extends bn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class d3{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class f3{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class h3{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class p3{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class g3{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class m3{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class _E{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class pp{}class gp{constructor(n){this.url=n}}class v3{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new Zs,this.attachRef=null}}let Zs=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new v3,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class CE{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=mp(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=mp(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=vp(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return vp(n,this._root).map(t=>t.value)}}function mp(e,n){if(e===n.value)return n;for(const t of n.children){const r=mp(e,t);if(r)return r}return null}function vp(e,n){if(e===n.value)return[n];for(const t of n.children){const r=vp(e,t);if(r.length)return r.unshift(n),r}return[]}class sn{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function ui(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class DE extends CE{constructor(n,t){super(n),this.snapshot=t,Cp(this,n)}toString(){return this.snapshot.toString()}}function wE(e,n){const t=function y3(e,n){const s=new _p([],{},{},"",{},Y,n,null,{});return new bE("",new sn(s,[]))}(0,n),r=new Pt([new $s("",{})]),o=new Pt({}),i=new Pt({}),s=new Pt({}),a=new Pt(""),l=new Ur(r,o,s,a,i,Y,n,t.root);return l.snapshot=t.root,new DE(new sn(l,[]),t)}class Ur{constructor(n,t,r,o,i,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(K(c=>c[Bs]))??V(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}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._paramMap=this.params.pipe(K(n=>ii(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(n=>ii(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function yp(e,n,t="emptyOnly"){let r;const{routeConfig:o}=e;return r=null===n||"always"!==t&&""!==o?.path&&(n.component||n.routeConfig?.loadComponent)?{params:e.params,data:e.data,resolve:{...e.data,...e._resolvedData??{}}}:{params:{...n.params,...e.params},data:{...n.data,...e.data},resolve:{...e.data,...n.data,...o?.data,...e._resolvedData}},o&&IE(o)&&(r.resolve[Bs]=o.title),r}class _p{get title(){return this.data?.[Bs]}constructor(n,t,r,o,i,s,a,l,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}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._paramMap=ii(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ii(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class bE extends CE{constructor(n,t){super(t),this.url=n,Cp(this,t)}toString(){return EE(this._root)}}function Cp(e,n){n.value._routerState=e,n.children.forEach(t=>Cp(e,t))}function EE(e){const n=e.children.length>0?` { ${e.children.map(EE).join(", ")} } `:"";return`${e.value}${n}`}function Dp(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,wn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),wn(n.params,t.params)||e.paramsSubject.next(t.params),function PV(e,n){if(e.length!==n.length)return!1;for(let t=0;twn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||wp(e.parent,n.parent))}function IE(e){return"string"==typeof e.title||null===e.title}let bp=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new xe,this.deactivateEvents=new xe,this.attachEvents=new xe,this.detachEvents=new xe,this.parentContexts=T(Zs),this.location=T(tn),this.changeDetector=T(us),this.environmentInjector=T(At),this.inputBinder=T(Tc,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new M(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new M(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new M(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new M(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new _3(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=B({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Lt]})}return e})();class _3{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Ur?this.route:n===Zs?this.childContexts:this.parent.get(n,t)}}const Tc=new N("");let ME=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=Qh([r.queryParams,r.params,r.data]).pipe(Ft(([i,s,a],l)=>(a={...i,...s,...a},0===l?V(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function zF(e){const n=Q(e);if(!n)return null;const t=new ds(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function Ys(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function D3(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return Ys(e,r,o);return Ys(e,r)})}(e,n,t);return new sn(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Ys(e,a)),s}}const r=function w3(e){return new Ur(new Pt(e.url),new Pt(e.params),new Pt(e.queryParams),new Pt(e.fragment),new Pt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>Ys(e,i));return new sn(r,o)}}const Ep="ngNavigationCancelingError";function SE(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=Hr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=TE(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function TE(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[Ep]=!0,r.cancellationCode=n,t&&(r.url=t),r}function AE(e){return e&&e[Ep]}let xE=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["ng-component"]],standalone:!0,features:[Ot],decls:1,vars:0,template:function(r,o){1&r&&y(0,"router-outlet")},dependencies:[bp],encapsulation:2})}return e})();function Ip(e){const n=e.children&&e.children.map(Ip),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Y&&(t.component=xE),t}function In(e){return e.outlet||Y}function Qs(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class x3{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),Dp(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=ui(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=ui(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=ui(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=ui(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new m3(i.value.snapshot))}),n.children.length&&this.forwardEvent(new p3(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(Dp(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.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),Dp(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=Qs(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class NE{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Ac{constructor(n,t){this.component=n,this.route=t}}function N3(e,n,t){const r=e._root;return Xs(r,n?n._root:null,t,[r.value])}function di(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function Y1(e){return null!==va(e)}(e)?n.get(e):e:r}function Xs(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=ui(n);return e.children.forEach(s=>{(function O3(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function k3(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!jr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!jr(e.url,n.url)||!wn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!wp(e,n)||!wn(e.queryParams,n.queryParams);default:return!wp(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new NE(r)):(i.data=s.data,i._resolvedData=s._resolvedData),Xs(e,n,i.component?a?a.children:null:t,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Ac(a.outlet.component,s))}else s&&Js(n,a,o),o.canActivateChecks.push(new NE(r)),Xs(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>Js(a,t.getContext(s),o)),o}function Js(e,n,t){const r=ui(e),o=e.value;Object.entries(r).forEach(([i,s])=>{Js(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Ac(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function Ks(e){return"function"==typeof e}function RE(e){return e instanceof vc||"EmptyError"===e?.name}const xc=Symbol("INITIAL_VALUE");function fi(){return Ft(e=>Qh(e.map(n=>n.pipe(Cr(1),function QL(...e){const n=Mi(e);return $e((t,r)=>{(n?Xh(e,t,n):Xh(e,t)).subscribe(r)})}(xc)))).pipe(K(n=>{for(const t of n)if(!0!==t){if(t===xc)return xc;if(!1===t||t instanceof si)return t}return!0}),on(n=>n!==xc),Cr(1)))}function OE(e){return function YM(...e){return bg(e)}(ot(n=>{if(Hr(n))throw SE(0,n)}),K(n=>!0===n))}class Mp{constructor(n){this.segmentGroup=n||null}}class Sp extends Error{constructor(n){super(),this.urlTree=n}}function hi(e){return yc(new Mp(e))}class ej{constructor(n,t){this.urlSerializer=n,this.urlTree=t}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return V(r);if(o.numberOfChildren>1||!o.children[Y])return yc(new M(4e3,!1));o=o.children[Y]}}applyRedirectCommands(n,t,r){const o=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r);if(t.startsWith("/"))throw new Sp(o);return o}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new si(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,r,o)}),new fe(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new M(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const Tp={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function tj(e,n,t,r,o){const i=Ap(e,n,t);return i.matched?(r=function E3(e,n){return e.providers&&!e._injector&&(e._injector=eh(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function X3(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?V(o.map(s=>{const a=di(s,e);return dr(function H3(e){return e&&Ks(e.canMatch)}(a)?a.canMatch(n,t):Kn(e,()=>a(n,t)))})).pipe(fi(),OE()):V(!0)}(r,n,t).pipe(K(s=>!0===s?i:{...Tp}))):V(i)}function Ap(e,n,t){if("**"===n.path)return function nj(e){return{matched:!0,parameters:e.length>0?eE(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}(t);if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...Tp}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||kV)(t,e,n);if(!o)return{...Tp};const i={};Object.entries(o.posParams??{}).forEach(([a,l])=>{i[a]=l.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function kE(e,n,t,r){return t.length>0&&function ij(e,n,t){return t.some(r=>Nc(e,n,r)&&In(r)!==Y)}(e,t,r)?{segmentGroup:new fe(n,oj(r,new fe(t,e.children))),slicedSegments:[]}:0===t.length&&function sj(e,n,t){return t.some(r=>Nc(e,n,r))}(e,t,r)?{segmentGroup:new fe(e.segments,rj(e,0,t,r,e.children)),slicedSegments:t}:{segmentGroup:new fe(e.segments,e.children),slicedSegments:t}}function rj(e,n,t,r,o){const i={};for(const s of r)if(Nc(e,t,s)&&!o[In(s)]){const a=new fe([],{});i[In(s)]=a}return{...o,...i}}function oj(e,n){const t={};t[Y]=n;for(const r of e)if(""===r.path&&In(r)!==Y){const o=new fe([],{});t[In(r)]=o}return t}function Nc(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class cj{}class fj{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new ej(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new M(4002,`'${n.segmentGroup}'`)}recognize(){const n=kE(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(K(t=>{const r=new _p([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),o=new sn(r,t),i=new bE("",o),s=function e3(e,n,t=null,r=null){return fE(dE(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root,null),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n,Y).pipe(oi(r=>{if(r instanceof Sp)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof Mp?this.noMatchError(r):r}))}inheritParamsAndData(n,t){const r=n.value,o=yp(r,t,this.paramsInheritanceStrategy);r.params=Object.freeze(o.params),r.data=Object.freeze(o.data),n.children.forEach(i=>this.inheritParamsAndData(i,r))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0).pipe(K(i=>i instanceof sn?[i]:[]))}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Oe(o).pipe(ri(i=>{const s=r.children[i],a=function T3(e,n){const t=e.filter(r=>In(r)===n);return t.push(...e.filter(r=>In(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function KL(e,n){return $e(function JL(e,n,t,r,o){return(i,s)=>{let a=t,l=n,c=0;i.subscribe(Ve(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),_c(null),function eV(e,n){const t=arguments.length>=2;return r=>r.pipe(e?on((o,i)=>e(o,i,r)):qn,Kh(1),t?_c(n):Fb(()=>new vc))}(),Xe(i=>{if(null===i)return hi(r);const s=PE(i);return function hj(e){e.sort((n,t)=>n.value.outlet===Y?-1:t.value.outlet===Y?1:n.value.outlet.localeCompare(t.value.outlet))}(s),V(s)}))}processSegment(n,t,r,o,i,s){return Oe(t).pipe(ri(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(oi(l=>{if(l instanceof Mp)return V(null);throw l}))),Vr(a=>!!a),oi(a=>{if(RE(a))return function lj(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?V(new cj):hi(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function aj(e,n,t,r){return!!(In(e)===r||r!==Y&&Nc(n,t,e))&&Ap(n,e,t).matched}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):hi(o):hi(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:l,positionalParamSegments:c,remainingSegments:u}=Ap(t,o,i);if(!a)return hi(t);o.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,c);return this.applyRedirects.lineralizeSegments(o,d).pipe(Xe(g=>this.processSegment(n,r,t,g.concat(u),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i){const s=tj(t,r,o,n);return"**"===r.path&&(t.children={}),s.pipe(Ft(a=>a.matched?this.getChildConfig(n=r._injector??n,r,o).pipe(Ft(({routes:l})=>{const c=r._loadedInjector??n,{consumedSegments:u,remainingSegments:d,parameters:g}=a,m=new _p(u,g,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function gj(e){return e.data||{}}(r),In(r),r.component??r._loadedComponent??null,r,function mj(e){return e.resolve||{}}(r)),{segmentGroup:v,slicedSegments:_}=kE(t,u,d,l);if(0===_.length&&v.hasChildren())return this.processChildren(c,l,v).pipe(K(I=>null===I?null:new sn(m,I)));if(0===l.length&&0===_.length)return V(new sn(m,[]));const D=In(r)===i;return this.processSegment(c,l,v,_,D?Y:i,!0).pipe(K(I=>new sn(m,I instanceof sn?[I]:[])))})):hi(t)))}getChildConfig(n,t,r){return t.children?V({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?V({routes:t._loadedRoutes,injector:t._loadedInjector}):function Q3(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?V(!0):V(o.map(s=>{const a=di(s,e);return dr(function F3(e){return e&&Ks(e.canLoad)}(a)?a.canLoad(n,t):Kn(e,()=>a(n,t)))})).pipe(fi(),OE())}(n,t,r).pipe(Xe(o=>o?this.configLoader.loadChildren(n,t).pipe(ot(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function K3(e){return yc(TE(!1,3))}())):V({routes:[],injector:n})}}function pj(e){const n=e.value.routeConfig;return n&&""===n.path}function PE(e){const n=[],t=new Set;for(const r of e){if(!pj(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=PE(r.children);n.push(new sn(r.value,o))}return n.filter(r=>!t.has(r))}function FE(e){const n=e.children.map(t=>FE(t)).flat();return[e,...n]}function xp(e){return Ft(n=>{const t=e(n);return t?Oe(t).pipe(K(()=>n)):V(n)})}let LE=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Y);return r}getResolvedTitleForRoute(t){return t.data[Bs]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>T(wj),providedIn:"root"})}return e})(),wj=(()=>{class e extends LE{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Yb))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const pi=new N("",{providedIn:"root",factory:()=>({})}),gi=new N("ROUTES");let Np=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=T(Dw)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return V(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=dr(t.loadComponent()).pipe(K(VE),ot(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),Hs(()=>{this.componentLoaders.delete(t)})),o=new Pb(r,()=>new zt).pipe(Jh());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return V({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function bj(e,n,t,r){return dr(e.loadChildren()).pipe(K(VE),Xe(o=>o instanceof FD||Array.isArray(o)?V(o):Oe(n.compileModuleAsync(o))),K(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(gi,[],{optional:!0,self:!0}).flat()),{routes:s.map(Ip),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(Hs(()=>{this.childrenLoaders.delete(r)})),s=new Pb(i,()=>new zt).pipe(Jh());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function VE(e){return function Ej(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Rp=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>T(Ij),providedIn:"root"})}return e})(),Ij=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const jE=new N(""),HE=new N("");function Mj(e,n,t){const r=e.get(HE),o=e.get(ft);return e.get(ae).runOutsideAngular(()=>{if(!o.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,Promise.resolve();let i;const s=new Promise(c=>{i=c}),a=o.startViewTransition(()=>(i(),function Sj(e){return new Promise(n=>{s_(n,{injector:e})})}(e))),{onViewTransitionCreated:l}=r;return l&&Kn(e,()=>l({transition:a,from:n,to:t})),s})}let Rc=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new zt,this.transitionAbortSubject=new zt,this.configLoader=T(Np),this.environmentInjector=T(At),this.urlSerializer=T(ai),this.rootContexts=T(Zs),this.location=T(Fs),this.inputBindingEnabled=null!==T(Tc,{optional:!0}),this.titleStrategy=T(LE),this.options=T(pi,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=T(Rp),this.createViewTransition=T(jE,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>V(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new f3(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new d3(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new Pt({id:0,currentUrlTree:r,currentRawUrl:r,extractedUrl:this.urlHandlingStrategy.extract(r),urlAfterRedirects:this.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Ws,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(on(i=>0!==i.id),K(i=>({...i,extractedUrl:this.urlHandlingStrategy.extract(i.rawUrl)})),Ft(i=>{this.currentTransition=i;let s=!1,a=!1;return V(i).pipe(ot(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Ft(l=>{const c=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!c&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const d="";return this.events.next(new ci(l.id,this.urlSerializer.serialize(l.rawUrl),d,0)),l.resolve(null),ln}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return V(l).pipe(Ft(d=>{const g=this.transitions?.getValue();return this.events.next(new Mc(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),g!==this.transitions?.getValue()?ln:Promise.resolve(d)}),function vj(e,n,t,r,o,i){return Xe(s=>function uj(e,n,t,r,o,i,s="emptyOnly"){return new fj(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(K(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),ot(d=>{i.targetSnapshot=d.targetSnapshot,i.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects};const g=new yE(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(g)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:d,extractedUrl:g,source:m,restoredState:v,extras:_}=l,D=new Mc(d,this.urlSerializer.serialize(g),m,v);this.events.next(D);const I=wE(0,this.rootComponentType).snapshot;return this.currentTransition=i={...l,targetSnapshot:I,urlAfterRedirects:g,extras:{..._,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=g,V(i)}{const d="";return this.events.next(new ci(l.id,this.urlSerializer.serialize(l.extractedUrl),d,1)),l.resolve(null),ln}}),ot(l=>{const c=new a3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),K(l=>(this.currentTransition=i={...l,guards:N3(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},i)),function B3(e,n){return Xe(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?V({...t,guardsResult:!0}):function $3(e,n,t,r){return Oe(e).pipe(Xe(o=>function Y3(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?V(i.map(a=>{const l=Qs(n)??o,c=di(a,l);return dr(function j3(e){return e&&Ks(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):Kn(l,()=>c(e,n,t,r))).pipe(Vr())})).pipe(fi()):V(!0)}(o.component,o.route,t,n,r)),Vr(o=>!0!==o,!0))}(s,r,o,e).pipe(Xe(a=>a&&function P3(e){return"boolean"==typeof e}(a)?function G3(e,n,t,r){return Oe(n).pipe(ri(o=>Xh(function q3(e,n){return null!==e&&n&&n(new h3(e)),V(!0)}(o.route.parent,r),function z3(e,n){return null!==e&&n&&n(new g3(e)),V(!0)}(o.route,r),function Z3(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function R3(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>kb(()=>V(s.guards.map(l=>{const c=Qs(s.node)??t,u=di(l,c);return dr(function V3(e){return e&&Ks(e.canActivateChild)}(u)?u.canActivateChild(r,e):Kn(c,()=>u(r,e))).pipe(Vr())})).pipe(fi())));return V(i).pipe(fi())}(e,o.path,t),function W3(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return V(!0);const o=r.map(i=>kb(()=>{const s=Qs(n)??t,a=di(i,s);return dr(function L3(e){return e&&Ks(e.canActivate)}(a)?a.canActivate(n,e):Kn(s,()=>a(n,e))).pipe(Vr())}));return V(o).pipe(fi())}(e,o.route,t))),Vr(o=>!0!==o,!0))}(r,i,e,n):V(a)),K(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),ot(l=>{if(i.guardsResult=l.guardsResult,Hr(l.guardsResult))throw SE(0,l.guardsResult);const c=new l3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),on(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",3),!1)),xp(l=>{if(l.guards.canActivateChecks.length)return V(l).pipe(ot(c=>{const u=new c3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),Ft(c=>{let u=!1;return V(c).pipe(function yj(e,n){return Xe(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return V(t);const i=new Set(o.map(l=>l.route)),s=new Set;for(const l of i)if(!s.has(l))for(const c of FE(l))s.add(c);let a=0;return Oe(s).pipe(ri(l=>i.has(l)?function _j(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!IE(o)&&(i[Bs]=o.title),function Cj(e,n,t,r){const o=lp(e);if(0===o.length)return V({});const i={};return Oe(o).pipe(Xe(s=>function Dj(e,n,t,r){const o=Qs(n)??r,i=di(e,o);return dr(i.resolve?i.resolve(n,t):Kn(o,()=>i(n,t)))}(e[s],n,t,r).pipe(Vr(),ot(a=>{i[s]=a}))),Kh(1),function tV(e){return K(()=>e)}(i),oi(s=>RE(s)?ln:yc(s)))}(i,e,n,r).pipe(K(s=>(e._resolvedData=s,e.data=yp(e,e.parent,t).resolve,null)))}(l,r,e,n):(l.data=yp(l,l.parent,e).resolve,V(void 0))),ot(()=>a++),Kh(1),Xe(l=>a===s.size?V(t):ln))})}(this.paramsInheritanceStrategy,this.environmentInjector),ot({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",2)}}))}),ot(c=>{const u=new u3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),xp(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(ot(g=>{u.component=g}),K(()=>{})));for(const g of u.children)d.push(...c(g));return d};return Qh(c(l.targetSnapshot.root)).pipe(_c(),Cr(1))}),xp(()=>this.afterPreactivation()),Ft(()=>{const{currentSnapshot:l,targetSnapshot:c}=i,u=this.createViewTransition?.(this.environmentInjector,l.root,c.root);return u?Oe(u).pipe(K(()=>i)):V(i)}),K(l=>{const c=function C3(e,n,t){const r=Ys(e,n._root,t?t._root:void 0);return new DE(r,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=i={...l,targetRouterState:c},this.currentNavigation.targetRouterState=c,i}),ot(()=>{this.events.next(new pp)}),((e,n,t,r)=>K(o=>(new x3(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),Cr(1),ot({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new En(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),function nV(e){return $e((n,t)=>{qt(e).subscribe(Ve(t,()=>t.complete(),du)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(ot(l=>{throw l}))),Hs(()=>{s||a||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),oi(l=>{if(a=!0,AE(l))this.events.next(new li(i.id,this.urlSerializer.serialize(i.extractedUrl),l.message,l.cancellationCode)),function b3(e){return AE(e)&&Hr(e.url)}(l)?this.events.next(new gp(l.url)):i.resolve(!1);else{this.events.next(new Sc(i.id,this.urlSerializer.serialize(i.extractedUrl),l,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(l))}catch(c){i.reject(c)}}return ln}))}))}cancelNavigationTransition(t,r,o){const i=new li(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Tj(e){return e!==Ws}let Aj=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>T(Nj),providedIn:"root"})}return e})();class xj{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let Nj=(()=>{class e extends xj{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),UE=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:()=>T(Rj),providedIn:"root"})}return e})(),Rj=(()=>{class e extends UE{constructor(){super(...arguments),this.location=T(Fs),this.urlSerializer=T(ai),this.options=T(pi,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=T(Rp),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new si,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=wE(0,null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{"popstate"===r.type&&t(r.url,r.state)})}handleRouterEvent(t,r){if(t instanceof Mc)this.stateMemento=this.createStateMemento();else if(t instanceof ci)this.rawUrlTree=r.initialUrl;else if(t instanceof yE){if("eager"===this.urlUpdateStrategy&&!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl);this.setBrowserUrl(o,r)}}else t instanceof pp?(this.currentUrlTree=r.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r))):t instanceof li&&(3===t.code||2===t.code)?this.restoreHistory(r):t instanceof Sc?this.restoreHistory(r,!0):t instanceof En&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===t.finalUrl&&0===i&&(this.resetState(t),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var ea=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(ea||{});function BE(e,n){e.events.pipe(on(t=>t instanceof En||t instanceof li||t instanceof Sc||t instanceof ci),K(t=>t instanceof En||t instanceof ci?ea.COMPLETE:t instanceof li&&(0===t.code||1===t.code)?ea.REDIRECTING:ea.FAILED),on(t=>t!==ea.REDIRECTING),Cr(1)).subscribe(()=>{n()})}function Oj(e){throw e}const kj={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Pj={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Bt=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=T(Cw),this.stateManager=T(UE),this.options=T(pi,{optional:!0})||{},this.pendingTasks=T(ql),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=T(Rc),this.urlSerializer=T(ai),this.location=T(Fs),this.urlHandlingStrategy=T(Rp),this._events=new zt,this.errorHandler=this.options.errorHandler||Oj,this.navigated=!1,this.routeReuseStrategy=T(Aj),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=T(gi,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!T(Tc,{optional:!0}),this.eventsSubscription=new Et,this.isNgZoneEnabled=T(ae)instanceof ae&&ae.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const o=this.navigationTransitions.currentTransition,i=this.navigationTransitions.currentNavigation;if(null!==o&&null!==i)if(this.stateManager.handleRouterEvent(r,i),r instanceof li&&0!==r.code&&1!==r.code)this.navigated=!0;else if(r instanceof En)this.navigated=!0;else if(r instanceof gp){const s=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),a={skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||Tj(o.source)};this.scheduleNavigation(s,Ws,null,a,{resolve:o.resolve,reject:o.reject,promise:o.promise})}(function Lj(e){return!(e instanceof pp||e instanceof gp)})(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Ws,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription||(this.nonRouterCurrentEntryChangeSubscription=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(t,"popstate",r)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(i.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Ip),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...i};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=i||null}null!==u&&(u=this.removeEmptyProps(u));try{d=dE(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return fE(d,t,u,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=Hr(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,Ws,null,r)}navigate(t,r={skipLocationChange:!1}){return function Fj(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,l=g});const u=this.pendingTasks.add();return BE(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:i,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Mn=(()=>{class e{constructor(t,r,o,i,s,a){this.router=t,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new zt,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=t.events.subscribe(c=>{c instanceof En&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(t){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){null!=t?(this.commands=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(t,r,o,i,s){return!!(null===this.urlTree||this.isAnchorElement&&(0!==t||r||o||i||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const t=null===this.href?null:function dy(e,n,t){return function sA(e,n){return"src"===n&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===n&&("base"===e||"link"===e)?uy:Io}(n,t)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",t)}applyAttributeValue(t,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,t,r):o.removeAttribute(i,t)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(r){return new(r||e)(S(Bt),S(Ur),function La(e){return function lS(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;const t=e.attrs;if(t){const r=t.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(t,r,o,i,s){this.router=t,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new xe,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof En&&this.update()})}ngAfterContentInit(){V(this.links.changes,V(null)).pipe(Yr()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Oe(t).pipe(Yr()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){const r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const t=this.hasActiveLinks();this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(t))})}isLinkActive(t){const r=function Vj(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>!!o.urlTree&&t.isActive(o.urlTree,r)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Bt),S(Nt),S(Fn),S(us),S(Mn,8))};static#t=this.\u0275dir=B({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(r,o,i){if(1&r&&ew(i,Mn,5),2&r){let s;KD(s=function tw(){return function sP(e,n){return e[dn].queries[n].queryList}(b(),Rm())}())&&(o.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Lt]})}return e})();class GE{}let jj=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(on(t=>t instanceof En),ri(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=eh(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Oe(o).pipe(Yr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):V(null);const i=o.pipe(Xe(s=>null===s?V(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Oe([i,this.loader.loadComponent(r)]).pipe(Yr()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(P(Bt),P(Dw),P(At),P(GE),P(Np))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Op=new N("");let zE=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Mc?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof En?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ci&&0===t.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof _E&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new _E(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function Py(){throw new Error("invalid")}()};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function Sn(e,n){return{\u0275kind:e,\u0275providers:n}}function WE(){const e=T(_t);return n=>{const t=e.get(Ko);if(n!==t.components[0])return;const r=e.get(Bt),o=e.get(ZE);1===e.get(kp)&&r.initialNavigation(),e.get(YE,null,X.Optional)?.setUpPreloading(),e.get(Op,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const ZE=new N("",{factory:()=>new zt}),kp=new N("",{providedIn:"root",factory:()=>1}),YE=new N("");function $j(e){return Sn(0,[{provide:YE,useExisting:jj},{provide:GE,useExisting:e}])}function zj(e){return Sn(9,[{provide:jE,useValue:Mj},{provide:HE,useValue:{skipNextTransition:!!e?.skipInitialTransition,...e}}])}const QE=new N("ROUTER_FORROOT_GUARD"),qj=[Fs,{provide:ai,useClass:cp},Bt,Zs,{provide:Ur,useFactory:function qE(e){return e.routerState.root},deps:[Bt]},Np,[]];let XE=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[qj,[],{provide:gi,multi:!0,useValue:t},{provide:QE,useFactory:Qj,deps:[[Bt,new Ha,new Ua]]},{provide:pi,useValue:r||{}},r?.useHash?{provide:Lr,useClass:QF}:{provide:Lr,useClass:ab},{provide:Op,useFactory:()=>{const e=T(gL),n=T(ae),t=T(pi),r=T(Rc),o=T(ai);return t.scrollOffset&&e.setOffset(t.scrollOffset),new zE(o,r,e,n,t)}},r?.preloadingStrategy?$j(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?Xj(r):[],r?.bindToComponentInputs?Sn(8,[ME,{provide:Tc,useExisting:ME}]).\u0275providers:[],r?.enableViewTransitions?zj().\u0275providers:[],[{provide:JE,useFactory:WE},{provide:yh,multi:!0,useExisting:JE}]]}}static forChild(t){return{ngModule:e,providers:[{provide:gi,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(P(QE,8))};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({})}return e})();function Qj(e){return"guarded"}function Xj(e){return["disabled"===e.initialNavigation?Sn(3,[{provide:mh,multi:!0,useFactory:()=>{const n=T(Bt);return()=>{n.setUpLocationChangeListener()}}},{provide:kp,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Sn(2,[{provide:kp,useValue:0},{provide:mh,multi:!0,deps:[_t],useFactory:n=>{const t=n.get(ZF,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(Bt),i=n.get(ZE);BE(o,()=>{r(!0)}),n.get(Rc).afterPreactivation=()=>(r(!0),i.closed?V(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const JE=new N(""),Kj=()=>["/pro"];let eH=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-footer"]],standalone:!0,features:[Ot],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5","portrait"],[1,"col-xs-12","col-md-8"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[3,"routerLink"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(r,o){1&r&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),y(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create a code coverage report based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),y(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),y(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by becoming a "),y(25,"i",7),f(26,"\xa0"),h(27,"a",8),f(28,"GitHub sponsor"),p(),f(29," or by buying a "),h(30,"a",9),f(31,"PRO license"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),y(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),y(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),y(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),y(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),y(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),y(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),y(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),y(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),y(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),y(81,"i",21),f(82," GitHub"),p(),y(83,"br"),h(84,"a",22),y(85,"i",23),f(86," Twitter"),p(),y(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),y(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&r&&(C(19),Hn(" Fast forward ",o.years," years, I'm still maintaining "),C(11),E("routerLink",ee(2,Kj)))},dependencies:[Mn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}.portrait[_ngcontent-%COMP%]{max-height:300px}"]})}return e})();const KE=()=>["/"],tH=e=>({show:e}),mi=()=>["link-active"],eI=()=>({exact:!0}),nH=()=>["/features"],rH=()=>["/getstarted"],oH=()=>["/usage"],iH=()=>["/contact"],sH=()=>["/pro"];let aH=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[Ot],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(r,o){1&r&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),y(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),R("click",function(){return o.toggle()}),y(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),y(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),y(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),y(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&r&&(C(3),E("routerLink",ee(17,KE)),C(4),Jt("aria-expanded",o.isExpanded),C(2),E("ngClass",As(18,tH,o.isExpanded)),C(2),E("routerLinkActive",ee(20,mi))("routerLinkActiveOptions",ee(21,eI)),C(1),E("routerLink",ee(22,KE)),C(2),E("routerLinkActive",ee(23,mi))("routerLinkActiveOptions",ee(24,eI)),C(1),E("routerLink",ee(25,nH)),C(2),E("routerLinkActive",ee(26,mi)),C(1),E("routerLink",ee(27,rH)),C(2),E("routerLinkActive",ee(28,mi)),C(1),E("routerLink",ee(29,oH)),C(2),E("routerLinkActive",ee(30,mi)),C(1),E("routerLink",ee(31,iH)),C(2),E("routerLinkActive",ee(32,mi)),C(1),E("routerLink",ee(33,sH)))},dependencies:[Mn,pc,$E],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]})}return e})(),lH=(()=>{class e{constructor(t,r,o){this.dom=t,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(on(t=>t instanceof En),K(()=>this.activatedRoute),K(t=>{for(;t.firstChild;)t=t.firstChild;return t}),on(t=>"primary"===t.outlet),Xe(t=>t.data)).subscribe(t=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(t.canonical?r+t.canonical:r+this.router.url)})}updateCanonicalUrl(t){const r=this.dom.getElementsByTagName("head")[0];var o=this.dom.querySelector("link[rel='canonical']")||null;null==o&&(o=this.dom.createElement("link"),r.appendChild(o)),o.setAttribute("rel","canonical"),o.setAttribute("href",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(ft),S(Bt),S(Ur))};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-root"]],standalone:!0,features:[Ot],decls:3,vars:0,template:function(r,o){1&r&&y(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[aH,bp,eH],encapsulation:2})}return e})(),tI=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Fn),S(Nt))};static#t=this.\u0275dir=B({type:e})}return e})(),Br=(()=>{class e extends tI{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=B({type:e,features:[ue]})}return e})();const Tn=new N("NgValueAccessor"),dH={provide:Tn,useExisting:pe(()=>vi),multi:!0},hH=new N("CompositionEventMode");let vi=(()=>{class e extends tI{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function fH(){const e=cr()?cr().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Fn),S(Nt),S(hH,8))};static#t=this.\u0275dir=B({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&R("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[Ie([dH]),ue]})}return e})();function fr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const it=new N("NgValidators"),hr=new N("NgAsyncValidators"),pH=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function sI(e){return fr(e.value)?{required:!0}:null}function lI(e){return fr(e.value)||pH.test(e.value)?null:{email:!0}}function Oc(e){return null}function fI(e){return null!=e}function hI(e){return Ts(e)?Oe(e):e}function pI(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function gI(e,n){return n.map(t=>t(e))}function mI(e){return e.map(n=>function gH(e){return!e.validate}(n)?n:t=>n.validate(t))}function Pp(e){return null!=e?function vI(e){if(!e)return null;const n=e.filter(fI);return 0==n.length?null:function(t){return pI(gI(t,n))}}(mI(e)):null}function Fp(e){return null!=e?function yI(e){if(!e)return null;const n=e.filter(fI);return 0==n.length?null:function(t){return function cH(...e){const n=Ug(e),{args:t,keys:r}=xb(e),o=new Te(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(r?Rb(r,a):a),i.complete())}))}});return n?o.pipe(Nb(n)):o}(gI(t,n).map(hI)).pipe(K(pI))}}(mI(e)):null}function _I(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Lp(e){return e?Array.isArray(e)?e:[e]:[]}function kc(e,n){return Array.isArray(e)?e.includes(n):e===n}function wI(e,n){const t=Lp(n);return Lp(e).forEach(o=>{kc(t,o)||t.push(o)}),t}function bI(e,n){return Lp(n).filter(t=>!kc(e,t))}class EI{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Pp(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Fp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class pt extends EI{get formDirective(){return null}get path(){return null}}class pr extends EI{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class II{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Pc=(()=>{class e extends II{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(pr,2))};static#t=this.\u0275dir=B({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&Sl("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[ue]})}return e})(),Fc=(()=>{class e extends II{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(pt,10))};static#t=this.\u0275dir=B({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&Sl("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[ue]})}return e})();const ta="VALID",Vc="INVALID",yi="PENDING",na="DISABLED";function Hp(e){return(jc(e)?e.validators:e)||null}function Up(e,n){return(jc(n)?n.asyncValidators:e)||null}function jc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class AI{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===ta}get invalid(){return this.status===Vc}get pending(){return this.status==yi}get disabled(){return this.status===na}get enabled(){return this.status!==na}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(wI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(wI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(bI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(bI(n,this._rawAsyncValidators))}hasValidator(n){return kc(this._rawValidators,n)}hasAsyncValidator(n){return kc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=yi,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=na,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=ta,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ta||this.status===yi)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?na:ta}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=yi,this._hasOwnPendingAsyncValidator=!0;const t=hI(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new xe,this.statusChanges=new xe}_calculateStatus(){return this._allControlsDisabled()?na:this.errors?Vc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(yi)?yi:this._anyControlsHaveStatus(Vc)?Vc:ta}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){jc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function _H(e){return Array.isArray(e)?Pp(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function CH(e){return Array.isArray(e)?Fp(e):e||null}(this._rawAsyncValidators)}}class Bp extends AI{constructor(n,t,r){super(Hp(t),Up(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function TI(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new M(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function SI(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new M(1e3,"");if(!r[t])throw new M(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const _i=new N("CallSetDisabledState",{providedIn:"root",factory:()=>Hc}),Hc="always";function ra(e,n,t=Hc){$p(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function bH(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&xI(e,n)})}(e,n),function IH(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function EH(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&xI(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function wH(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function $c(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function $p(e,n){const t=function CI(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(_I(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function DI(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(_I(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();$c(n._rawValidators,o),$c(n._rawAsyncValidators,o)}function xI(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const xH={provide:pt,useExisting:pe(()=>Ci)},oa=(()=>Promise.resolve())();let Ci=(()=>{class e extends pt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new xe,this.form=new Bp({},Pp(t),Fp(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){oa.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),ra(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){oa.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){oa.then(()=>{const r=this._findContainer(t.path),o=new Bp({});(function NI(e,n){$p(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){oa.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){oa.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function RI(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(S(it,10),S(hr,10),S(_i,8))};static#t=this.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&R("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ie([xH]),ue]})}return e})();function OI(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function kI(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const PI=class extends AI{constructor(n=null,t,r){super(Hp(t),Up(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),jc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=kI(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){OI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){OI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){kI(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},OH={provide:pr,useExisting:pe(()=>ia)},VI=(()=>Promise.resolve())();let ia=(()=>{class e extends pr{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new PI,this._registered=!1,this.name="",this.update=new xe,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function qp(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===vi?t=i:function TH(e){return Object.getPrototypeOf(e.constructor)===Br}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function zp(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){ra(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){VI.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&ti(r);VI.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Uc(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(S(pt,9),S(it,10),S(hr,10),S(Tn,10),S(us,8),S(_i,8))};static#t=this.\u0275dir=B({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Ie([OH]),ue,Lt]})}return e})(),zc=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const PH={provide:Tn,useExisting:pe(()=>Wp),multi:!0};let HI=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({})}return e})(),FH=(()=>{class e{constructor(){this._accessors=[]}add(t,r){this._accessors.push([t,r])}remove(t){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===t)return void this._accessors.splice(r,1)}select(t){this._accessors.forEach(r=>{this._isSameGroup(r,t)&&r[1]!==t&&r[1].fireUncheck(t.value)})}_isSameGroup(t,r){return!!t[0].control&&t[0]._parent===r._control._parent&&t[1].name===r.name}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac,providedIn:HI})}return e})(),Wp=(()=>{class e extends Br{constructor(t,r,o,i){super(t,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=T(_i,{optional:!0})??Hc}ngOnInit(){this._control=this._injector.get(pr),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this.setProperty("checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}setDisabledState(t){(this.setDisabledStateFired||t||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Fn),S(Nt),S(FH),S(_t))};static#t=this.\u0275dir=B({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(r,o){1&r&&R("change",function(){return o.onChange()})("blur",function(){return o.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Ie([PH]),ue]})}return e})();const $H={provide:Tn,useExisting:pe(()=>qc),multi:!0};function qI(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let qc=(()=>{class e extends Br{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=qI(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function GH(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=B({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,o){1&r&&R("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ie([$H]),ue]})}return e})(),WI=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(qI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Nt),S(Fn),S(qc,9))};static#t=this.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();const zH={provide:Tn,useExisting:pe(()=>Xp),multi:!0};function ZI(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Xp=(()=>{class e extends Br{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=B({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,o){1&r&&R("change",function(s){return o.onChange(s.target)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ie([zH]),ue]})}return e})(),YI=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(ZI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(ZI(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Nt),S(Fn),S(Xp,9))};static#t=this.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();let $r=(()=>{class e{constructor(){this._validator=Oc}ngOnChanges(t){if(this.inputName in t){const r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):Oc,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=B({type:e,features:[Lt]})}return e})();const YH={provide:it,useExisting:pe(()=>Di),multi:!0};let Di=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=ti,this.createValidator=t=>sI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=B({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(r,o){2&r&&Jt("required",o._enabled?"":null)},inputs:{required:"required"},features:[Ie([YH]),ue]})}return e})();const XH={provide:it,useExisting:pe(()=>Wc),multi:!0};let Wc=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=ti,this.createValidator=t=>lI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=B({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[Ie([XH]),ue]})}return e})();const KH={provide:it,useExisting:pe(()=>Jp),multi:!0};let Jp=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=t=>function QI(e){return"number"==typeof e?e:parseInt(e,10)}(t),this.createValidator=t=>function uI(e){return n=>function rI(e){return null!=e&&"number"==typeof e.length}(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=B({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&Jt("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Ie([KH]),ue]})}return e})();const eU={provide:it,useExisting:pe(()=>Kp),multi:!0};let Kp=(()=>{class e extends $r{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=t=>t,this.createValidator=t=>function dI(e){if(!e)return Oc;let n,t;return"string"==typeof e?(t="","^"!==e.charAt(0)&&(t+="^"),t+=e,"$"!==e.charAt(e.length-1)&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(fr(r.value))return null;const o=r.value;return n.test(o)?null:{pattern:{requiredPattern:t,actualValue:o}}}}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Qe(e)))(o||e)}})();static#t=this.\u0275dir=B({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&Jt("pattern",o._enabled?o.pattern:null)},inputs:{pattern:"pattern"},features:[Ie([eU]),ue]})}return e})(),tU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({imports:[HI]})}return e})(),Zc=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:_i,useValue:t.callSetDisabledState??Hc}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({imports:[tU]})}return e})();class Yc{}class Qc{}class $t{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof $t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new $t;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof $t?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class rU{encodeKey(n){return oM(n)}encodeValue(n){return oM(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const iU=/%(\d[a-f0-9])/gi,sU={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function oM(e){return encodeURIComponent(e).replace(iU,(n,t)=>sU[t]??n)}function Xc(e){return`${e}`}class gr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new rU,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function oU(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(Xc):[Xc(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new gr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Xc(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(Xc(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class aU{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function iM(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function sM(e){return typeof Blob<"u"&&e instanceof Blob}function aM(e){return typeof FormData<"u"&&e instanceof FormData}class sa{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function lU(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),this.transferCache=i.transferCache),this.headers||(this.headers=new $t),this.context||(this.context=new aU),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new sa(t,r,i,{params:c,headers:l,context:u,reportProgress:a,responseType:o,withCredentials:s})}}var mr=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(mr||{});class eg{constructor(n,t=200,r="OK"){this.headers=n.headers||new $t,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Jc extends eg{constructor(n={}){super(n),this.type=mr.ResponseHeader}clone(n={}){return new Jc({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Gr extends eg{constructor(n={}){super(n),this.type=mr.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Gr({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class wi extends eg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function tg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,transferCache:e.transferCache}}let ng=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof sa)i=t;else{let l,c;l=o.headers instanceof $t?o.headers:new $t(o.headers),o.params&&(c=o.params instanceof gr?o.params:new gr({fromObject:o.params})),i=new sa(t,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}const s=V(i).pipe(ri(l=>this.handler.handle(l)));if(t instanceof sa||"events"===o.observe)return s;const a=s.pipe(on(l=>l instanceof Gr));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(K(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(K(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new gr).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,tg(o,r))}post(t,r,o={}){return this.request("POST",t,tg(o,r))}put(t,r,o={}){return this.request("PUT",t,tg(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(P(Yc))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function cM(e,n){return n(e)}function pU(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const mU=new N(""),aa=new N(""),uM=new N(""),dM=new N("");function vU(){let e=null;return(n,t)=>{null===e&&(e=(T(mU,{optional:!0})??[]).reduceRight(pU,cM));const r=T(ql),o=r.add();return e(n,t).pipe(Hs(()=>r.remove(o)))}}let fM=(()=>{class e extends Yc{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=T(ql);const o=T(dM,{optional:!0});this.backend=o??t}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(aa),...this.injector.get(uM,[])]));this.chain=o.reduceRight((i,s)=>function gU(e,n,t){return(r,o)=>Kn(t,()=>n(r,i=>e(i,o)))}(i,s,this.injector),cM)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(Hs(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(P(Qc),P(At))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const wU=/^\)\]\}',?\n/;let pM=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new M(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Oe(r.\u0275loadImpl()):V(null)).pipe(Ft(()=>new Te(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((_,D)=>s.setRequestHeader(_,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const _=t.detectContentTypeHeader();null!==_&&s.setRequestHeader("Content-Type",_)}if(t.responseType){const _=t.responseType.toLowerCase();s.responseType="json"!==_?_:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const _=s.statusText||"OK",D=new $t(s.getAllResponseHeaders()),I=function bU(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new Jc({headers:D,status:s.status,statusText:_,url:I}),l},u=()=>{let{headers:_,status:D,statusText:I,url:w}=c(),x=null;204!==D&&(x=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=x?200:0);let L=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof x){const Z=x;x=x.replace(wU,"");try{x=""!==x?JSON.parse(x):null}catch(le){x=Z,L&&(L=!1,x={error:le,text:x})}}L?(i.next(new Gr({body:x,headers:_,status:D,statusText:I,url:w||void 0})),i.complete()):i.error(new wi({error:x,headers:_,status:D,statusText:I,url:w||void 0}))},d=_=>{const{url:D}=c(),I=new wi({error:_,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});i.error(I)};let g=!1;const m=_=>{g||(i.next(c()),g=!0);let D={type:mr.DownloadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),i.next(D)},v=_=>{let D={type:mr.UploadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),i.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),i.next({type:mr.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(P(Mb))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();const ig=new N("XSRF_ENABLED"),gM=new N("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),mM=new N("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class vM{}let MU=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=vb(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(P(ft),P(Sr),P(gM))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function SU(e,n){const t=e.url.toLowerCase();if(!T(ig)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=T(vM).getToken(),o=T(mM);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var vr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(vr||{});const yM=new N("LEGACY_INTERCEPTOR_FN");class PU{constructor(){this.name="",this.email="",this.message=""}}let IM=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${_e_apiBaseUrl}contact`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(ng))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})();function FU(e,n){if(1&e){const t=Fe();h(0,"form",4,5),R("ngSubmit",function(){return re(t),oe(k().submit())}),h(2,"div",6)(3,"label",7),f(4,"Name "),h(5,"span",8),f(6,"*"),p()(),h(7,"input",9),R("ngModelChange",function(o){return re(t),oe(k().contactViewModel.name=o)}),p()(),h(8,"div",6)(9,"label",10),f(10,"Email address "),h(11,"span",8),f(12,"*"),p()(),h(13,"input",11),R("ngModelChange",function(o){return re(t),oe(k().contactViewModel.email=o)}),p()(),h(14,"div",6)(15,"label",12),f(16,"Message "),h(17,"span",8),f(18,"*"),p()(),h(19,"textarea",13),R("ngModelChange",function(o){return re(t),oe(k().contactViewModel.message=o)}),p()(),h(20,"button",14),f(21,"Submit"),p()()}if(2&e){const t=Wf(1),r=k();C(7),E("ngModel",r.contactViewModel.name),C(6),E("ngModel",r.contactViewModel.email),C(6),E("ngModel",r.contactViewModel.message),C(1),E("disabled",!t.valid||r.enableFormCountDown>0)}}function LU(e,n){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function VU(e,n){1&e&&(h(0,"p",15),f(1,"Something went wrong. Please try again later."),p())}let jU=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new PU,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:t=>{console.log("Submitted form"),this.success=!0},error:t=>{console.error(t),this.error=!0},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(IM))};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[Ot],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post"],["class","text-danger"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),q(3,FU,22,4,"form",2)(4,LU,2,0,"p")(5,VU,2,0,"p",3),p()),2&r&&(C(3),Bo(3,o.success||o.error?-1:3),C(1),Bo(4,o.success?4:-1),C(1),Bo(5,o.error?5:-1))},dependencies:[Zc,zc,vi,Pc,Fc,Di,Wc,ia,Ci]})}return e})();const MM=()=>["/pro"];let HU=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[Ot],decls:131,vars:4,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),h(3,"h2",2),f(4,"Coverage quotas"),p(),h(5,"p"),f(6," The overiew cards provide a quick "),h(7,"span",3),f(8,"overview"),p(),f(9," of your coverage quotas."),y(10,"br"),f(11," You can use them to get a glimpse into the different "),h(12,"a",4),f(13,"coverage metrics"),p(),f(14,"\xa0"),h(15,"a",4),y(16,"i",5),p(),f(17,": "),p(),h(18,"ul")(19,"li"),f(20,"Line coverage"),p(),h(21,"li"),f(22,"Branch coverage"),p(),h(23,"li"),f(24,"Method coverage "),h(25,"a",6)(26,"span",7),f(27,"PRO"),p()()()(),y(28,"img",8)(29,"br"),h(30,"h2",9),f(31,"Coverage history"),p(),h(32,"p"),f(33," The history chart helps you to understand how your coverage quotas are "),h(34,"span",3),f(35,"evolving over time"),p(),f(36,". "),p(),y(37,"img",10)(38,"br"),h(39,"h2",11),f(40,"Summary table / Overview"),p(),h(41,"p"),f(42," The summary table helps you to identify classes with "),h(43,"span",3),f(44,"low test coverage"),p(),f(45,"."),y(46,"br"),f(47," The table offers various "),h(48,"span",3),f(49,"filter and sorting"),p(),f(50," options for quick navigation. "),p(),y(51,"img",12)(52,"br"),h(53,"h2",13),f(54,"Details page"),p(),h(55,"p"),f(56," The details page visualizes your "),h(57,"span",3),f(58,"line and branch coverage"),p(),f(59,". "),p(),h(60,"ul")(61,"li"),f(62,"Colors indicate the coverage status of each line."),p(),h(63,"li"),f(64,"Branch indicators help you to identity uncovered conditions."),p()(),y(65,"img",14)(66,"br"),h(67,"h2",15),f(68,"Metrics"),p(),h(69,"p"),f(70," Depending on your "),h(71,"a",16),f(72,"coverage tool"),p(),f(73,", metrics are provided to get further insigths in your "),h(74,"span",3),f(75,"code quality"),p(),f(76,". "),p(),h(77,"ul")(78,"li"),f(79,"The "),h(80,"a",17),R("click",function(){return o.scrollToAnchor("#details")}),f(81,"details page"),p(),f(82," contains information about the metrics of all methods of a class."),p(),h(83,"li"),f(84,"The "),h(85,"a",17),R("click",function(){return o.scrollToAnchor("#summary")}),f(86,"summary table"),p(),f(87," shows the lowest metrics of all methods of a class "),h(88,"a",6)(89,"span",7),f(90,"PRO"),p()()()(),h(91,"b"),f(92,"Details page"),p(),y(93,"br")(94,"img",18)(95,"br")(96,"br"),h(97,"b"),f(98,"Summary table"),p(),y(99,"br")(100,"img",19)(101,"br"),h(102,"h2",20),f(103,"Risk Hotspots"),p(),h(104,"p"),f(105," Based on the "),h(106,"a",17),R("click",function(){return o.scrollToAnchor("#metrics")}),f(107,"metrics"),p(),f(108," you get a list of potential risk hotspots."),y(109,"br"),f(110," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(111,"ul")(112,"li")(113,"a",21),f(114,"Cyclomatic complexity"),p(),f(115,"\xa0"),h(116,"a",21),y(117,"i",5),p()(),h(118,"li")(119,"a",22),f(120,"NPath complexity"),p(),f(121,"\xa0"),h(122,"a",22),y(123,"i",5),p()(),h(124,"li")(125,"a",23),f(126,"Crap score"),p(),f(127,"\xa0"),h(128,"a",23),y(129,"i",5),p()()(),y(130,"img",24),p()),2&r&&(C(25),E("routerLink",ee(2,MM)),C(63),E("routerLink",ee(3,MM)))},dependencies:[Mn]})}return e})();const Gt={dotnetSDKVersion:"8.x",majorVersion:"5",version:"5.2.0"},UU=()=>["/usage"];let BU=(()=>{class e{constructor(){this.versions=Gt}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[Ot],decls:72,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),y(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),y(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),h(18,"h2",3),f(19,".NET"),p(),h(20,"p"),f(21,"For .NET you can use "),h(22,"a",4),f(23,"coverlet"),p(),f(24," or "),h(25,"a",5),f(26,"altcover"),p(),f(27," for instrumenting your test code."),p(),h(28,"p"),f(29,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(30,"p")(31,"strong"),f(32,"Add dependencies to your "),h(33,"code"),f(34,"*.csproj"),p(),f(35," file:"),p()(),h(36,"pre",6),f(37),p(),h(38,"p")(39,"strong"),f(40,"Execute tests and create coverage report"),p()(),h(41,"pre",6),f(42),p(),h(43,"h2",7),f(44,"Java"),p(),h(45,"p"),f(46,"For Java you can use "),h(47,"a",8),f(48,"JaCoCo"),p(),f(49," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(50,"p")(51,"strong"),f(52,"Add dependencies to your "),h(53,"code"),f(54,"pom.xml"),p(),f(55," file:"),p()(),h(56,"pre",6),f(57,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(58,"p")(59,"strong"),f(60,"Execute tests and create coverage report"),p()(),h(61,"pre",6),f(62),p(),h(63,"h2",9),f(64,"NodeJS"),p(),h(65,"p"),f(66,"For NodeJS you can use "),h(67,"a",10),f(68,"Istanbul"),p(),f(69," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(70,"pre",6),f(71),p()()),2&r&&(C(15),E("routerLink",ee(5,UU)),C(22),Hn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),C(5),Hn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',o.versions.version,'\\tools\\net8.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(20),Hn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(9),Hn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[Mn]})}return e})(),SM=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[Ot],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"h2",2),f(3,"Trusted by"),p(),h(4,"div",3)(5,"div",4),y(6,"i",5)(7,"br"),h(8,"a",6),f(9,".NET Runtime"),p()(),h(10,"div",4),y(11,"i",7)(12,"br"),h(13,"a",8),f(14,"Google Cloud"),p()(),h(15,"div",4),y(16,"i",9)(17,"br"),h(18,"a",10),f(19,"AWS Encryption SDK"),p()(),h(20,"div",11),y(21,"i",12)(22,"br"),h(23,"a",13),f(24,"Many more"),p()()(),h(25,"div",3)(26,"div",4)(27,"a",14),y(28,"i",15),f(29," Over 60 million downloads on Nuget"),p()()()()())},encapsulation:2})}return e})();const $U=()=>["/pro"],GU=()=>["/usage"],zU=()=>["/getstarted"],qU=()=>["/features"];let WU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-home"]],standalone:!0,features:[Ot],decls:114,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"div",2),y(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),y(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),y(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),y(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),y(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),y(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),y(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),y(85,"i",27),f(86," GitHub"),p()()()(),y(87,"app-testimonials"),h(88,"section",28)(89,"div",0)(90,"h2"),f(91,"Screenshots"),p(),h(92,"p"),f(93,"The screenshots show two snippets of the generated reports."),p(),h(94,"p"),f(95," Have a look the "),h(96,"a",17),f(97,"features page"),p(),f(98," to explore the elements in a coverage report or "),h(99,"a",29),f(100,"browse the example report"),p(),f(101,". "),y(102,"br"),f(103," You can also download "),h(104,"a",30),f(105,"sample reports"),p(),f(106," of all supported output formats."),p(),h(107,"div",1)(108,"div",31)(109,"a",32),y(110,"img",33),p()(),h(111,"div",34)(112,"a",35),y(113,"img",36),p()()()()()),2&r&&(C(45),E("routerLink",ee(4,$U)),C(12),E("routerLink",ee(5,GU)),C(24),E("routerLink",ee(6,zU)),C(15),E("routerLink",ee(7,qU)))},dependencies:[Mn,SM],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]})}return e})(),ZU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[Ot],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),y(3,"i",2),f(4," The requested page does not exist.\n"),p())}})}return e})();class TM{constructor(){this.error=null,this.licenses=[]}}class YU{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let AM=(()=>{class e{initCodeFlow(){const o=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let t=location.href;const r=t.indexOf("?");r>-1&&(t=t.substring(r+1));const o=this.parseQueryString(t);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const t=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",t),t}validateNonce(t){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),r&&0!==r.length?r===t||(console.error("Validating nonce failed. Values do not match.",r,t),!1):(console.error("Validating nonce failed. No saved nonce available.",r,t),!1)}createNonce(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let r=45,o="";const i=typeof self>"u"?null:self.crypto||self.msCrypto;if(i){let a=new Uint8Array(r);i.getRandomValues(a),a.map||(a.map=Array.prototype.map);const l=[];for(var s=0;s0&&(c=decodeURIComponent(a),u=decodeURIComponent(l),"/"===c.substring(0,1)&&(c=c.substring(1)),r[c]=u);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),xM=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${_e_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getTrialLicense(t){return this.httpClient.post(`${_e_apiBaseUrl}reportgenerator/triallicense`,t)}getPaddleLicense(t){return this.httpClient.post(`${_e_apiBaseUrl}reportgenerator/paddlelicense`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(ng))};static#t=this.\u0275prov=O({token:e,factory:e.\u0275fac})}return e})(),QU=(()=>{class e{constructor(){this.isActive=!1,this.isActive=new Date["/contact"];function KU(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=k(2);C(2),Ee(t.license.error),C(3),E("routerLink",ee(2,sg))}}function eB(e,n){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",74),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function tB(e,n){1&e&&(h(0,"span"),y(1,"i",78),f(2," Copy"),p())}function nB(e,n){1&e&&(h(0,"span"),y(1,"i",79),f(2," Copied"),p())}function rB(e,n){if(1&e){const t=Fe();h(0,"div")(1,"label",75),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",76),f(4),p(),h(5,"button",77),R("click",function(){return re(t),oe(k(2).copy())}),q(6,tB,3,0,"span",34)(7,nB,3,0,"span",34),p()()}if(2&e){const t=k(2);C(4),Ee(t.license.license),C(2),E("ngIf",!t.licenseCopied),C(1),E("ngIf",t.licenseCopied)}}function oB(e,n){if(1&e&&(h(0,"div",20),q(1,KU,8,3,"div",34)(2,eB,6,0,"div",34)(3,rB,8,3,"div",34),p()),2&e){const t=k();C(1),E("ngIf",t.license.error),C(1),E("ngIf",!t.license.error&&!t.license.isSponsor),C(1),E("ngIf",!t.license.error&&t.license.isSponsor&&t.license.license)}}const NM=e=>({active:e});function iB(e,n){if(1&e){const t=Fe();h(0,"span",80)(1,"span",81),R("click",function(){return re(t),oe(k().lifetimeLicense=!1)}),y(2,"i",82),f(3," Annual subscription"),p(),h(4,"span",81),R("click",function(){return re(t),oe(k().lifetimeLicense=!0)}),y(5,"i",83),f(6," Lifetime license"),p()()}if(2&e){const t=k();C(1),E("ngClass",As(2,NM,!t.lifetimeLicense)),C(3),E("ngClass",As(4,NM,t.lifetimeLicense))}}function sB(e,n){if(1&e){const t=Fe();h(0,"button",103),R("click",function(){return re(t),oe(k(2).requestTrial())}),y(1,"i",25),f(2," Start trial"),p()}2&e&&E("disabled",k(2).trialDisabled)}function aB(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function lB(e,n){1&e&&(Dt(0),y(1,"i",82),f(2," Annual subscription"),wt())}function cB(e,n){1&e&&(Dt(0),y(1,"i",83),f(2," Lifetime license"),wt())}function uB(e,n){if(1&e){const t=Fe();h(0,"button",105),R("click",function(){return re(t),oe(k(2).openPaddleCheckout("individual"))}),y(1,"i",106),f(2," Buy now"),p()}}function dB(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function fB(e,n){1&e&&(Dt(0),y(1,"i",82),f(2," Annual subscription"),wt())}function hB(e,n){1&e&&(Dt(0),y(1,"i",83),f(2," Lifetime license"),wt())}function pB(e,n){if(1&e){const t=Fe();h(0,"button",105),R("click",function(){return re(t),oe(k(2).openPaddleCheckout("team"))}),y(1,"i",106),f(2," Buy now"),p()}}function gB(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function mB(e,n){1&e&&(Dt(0),y(1,"i",82),f(2," Annual subscription"),wt())}function vB(e,n){1&e&&(Dt(0),y(1,"i",83),f(2," Lifetime license"),wt())}function yB(e,n){if(1&e){const t=Fe();h(0,"button",105),R("click",function(){return re(t),oe(k(2).openPaddleCheckout("enterprise"))}),y(1,"i",106),f(2," Buy now"),p()}}function _B(e,n){1&e&&(h(0,"button",104),f(1,"Coming soon"),p())}function CB(e,n){if(1&e&&(h(0,"div",2)(1,"div",84)(2,"div",85),y(3,"img",86),h(4,"h4",87),f(5,"Free"),y(6,"br"),f(7,"Trial"),p(),h(8,"p"),y(9,"i",88),f(10," Get full access"),y(11,"br")(12,"i",89),f(13," 10 day trial period "),p(),q(14,sB,3,1,"button",90)(15,aB,2,0,"button",91),p()(),h(16,"div",92)(17,"div",93),y(18,"img",94),h(19,"h4",87),f(20,"Individual"),y(21,"br"),f(22),p(),h(23,"p"),y(24,"i",95),f(25," Per developer license."),y(26,"br"),q(27,lB,3,0,"ng-container",34)(28,cB,3,0,"ng-container",34),p(),q(29,uB,3,0,"button",96)(30,dB,2,0,"button",91),p()(),h(31,"div",97)(32,"div",93),y(33,"img",98),h(34,"h4",87),f(35,"Team"),y(36,"br"),f(37),p(),h(38,"p"),y(39,"i",99),f(40," Up to 10 developers."),y(41,"br"),q(42,fB,3,0,"ng-container",34)(43,hB,3,0,"ng-container",34),p(),q(44,pB,3,0,"button",96)(45,gB,2,0,"button",91),p()(),h(46,"div",100)(47,"div",93),y(48,"img",101),h(49,"h4",87),f(50,"Enterprise"),y(51,"br"),f(52),p(),h(53,"p"),y(54,"i",102),f(55," Unlimited developers."),y(56,"br"),q(57,mB,3,0,"ng-container",34)(58,vB,3,0,"ng-container",34),p(),q(59,yB,3,0,"button",96)(60,_B,2,0,"button",91),p()()()),2&e){const t=k();C(14),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle),C(7),Ee(t.lifetimeLicense?t.paddleIndividualLifetimeLicensePrice:t.paddleIndividualLicensePrice),C(5),E("ngIf",!t.lifetimeLicense),C(1),E("ngIf",t.lifetimeLicense),C(1),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle),C(7),Ee(t.lifetimeLicense?t.paddleTeamLifetimeLicensePrice:t.paddleTeamLicensePrice),C(5),E("ngIf",!t.lifetimeLicense),C(1),E("ngIf",t.lifetimeLicense),C(1),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle),C(7),Ee(t.lifetimeLicense?t.paddleEnterpriseLifetimeLicensePrice:t.paddleEnterpriseLicensePrice),C(5),E("ngIf",!t.lifetimeLicense),C(1),E("ngIf",t.lifetimeLicense),C(1),E("ngIf",t.enablePaddle),C(1),E("ngIf",!t.enablePaddle)}}function DB(e,n){1&e&&(Dt(0),h(1,"div",70)(2,"span",71),f(3,"Loading..."),p()(),h(4,"span",108),f(5,"Your license is being generated. Please wait."),p(),wt())}function wB(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=k(3);C(2),Ee(t.paddleLicense.error),C(3),E("routerLink",ee(2,sg))}}function bB(e,n){1&e&&(h(0,"span"),y(1,"i",78),f(2," Copy"),p())}function EB(e,n){1&e&&(h(0,"span"),y(1,"i",79),f(2," Copied"),p())}function IB(e,n){if(1&e){const t=Fe();h(0,"div",112)(1,"textarea",113),f(2),p(),h(3,"button",77),R("click",function(){const i=re(t).$implicit;return oe(k(4).copyPaddle(i))}),q(4,bB,3,0,"span",34)(5,EB,3,0,"span",34),p()()}if(2&e){const t=n.$implicit,r=k(4);C(2),Ee(t),C(2),E("ngIf",-1===r.copiedPaddledLicenses.indexOf(t)),C(1),E("ngIf",r.copiedPaddledLicenses.indexOf(t)>-1)}}function MB(e,n){if(1&e&&(h(0,"div")(1,"label",110),f(2,"Thank you! Please save your license key persistently:"),p(),q(3,IB,6,3,"div",111),p()),2&e){const t=k(3);C(3),E("ngForOf",t.paddleLicense.licenses)}}function SB(e,n){if(1&e&&(h(0,"div",109),q(1,wB,8,3,"div",34)(2,MB,4,1,"div",34),p()),2&e){const t=k(2);C(1),E("ngIf",t.paddleLicense.error),C(1),E("ngIf",!t.paddleLicense.error)}}function TB(e,n){if(1&e&&(h(0,"div",2),q(1,DB,6,0,"ng-container",34)(2,SB,3,2,"div",107),p()),2&e){const t=k();C(1),E("ngIf",t.paddleLicenseRequested&&!t.paddleLicense),C(1),E("ngIf",t.paddleLicense)}}function AB(e,n){1&e&&(h(0,"p")(1,"i"),f(2,"ReportGenerator"),p(),f(3," subscription based licences are provided with a 30 day money back guarantee."),p())}const bi=()=>["/features"];let xB=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(t){this._lifetimeLicense=t,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(t,r,o){this.oauthService=t,this.licenseService=r,this.trackingService=o,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.paddleIndividualLifetimeLicensePrice="US$79",this.paddleTeamLifetimeLicensePrice="US$249",this.paddleEnterpriseLifetimeLicensePrice="US$449",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!1,window.paddleCheckoutComplete=i=>{this.paddleCheckoutComplete(i)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,i=>{this.paddleIndividualLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762580,i=>{this.paddleTeamLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762581,i=>{this.paddleEnterpriseLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(833943,i=>{this.paddleIndividualLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833944,i=>{this.paddleTeamLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833945,i=>{this.paddleEnterpriseLifetimeLicensePrice=i.price.gross})}ngOnInit(){const t=this.oauthService.validateStateAndExtractCode();null!==t?(console.log("Code received",t),this.licenseRequested=!0,this.licenseService.getLicense(t).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new YU,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=null!==window.localStorage.getItem("trialRequested")}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(t){console.error("Failed to copy license",t)}}copyPaddle(t){try{navigator.clipboard.writeText(t),this.copiedPaddledLicenses.push(t)}catch(r){console.error("Failed to copy paddle license",r)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:t=>{console.log("Received trial license response"),this.paddleLicense=t,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:t=>{console.error(t),this.paddleLicense=new TM,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(t){"enterprise"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:t,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(t){console.log("Checkout completed",t),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(t).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:t.product.name,lifetimeLicense:this.lifetimeLicense}})},error:r=>{console.error(r),this.paddleLicense=new TM,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(AM),S(xM),S(QU))};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[Ot],decls:229,vars:25,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"disabled","click"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-md-6 pb-3 d-none d-lg-block position-relative",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],["class","togglecontainer",4,"ngIf"],["class","row",4,"ngIf"],[1,"mt-5"],[4,"ngIf"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5","testimonial"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],["trialForm","ngForm"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],["for","floatingInput"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"col-md-6","pb-3","d-none","d-lg-block","position-relative"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"togglecontainer"],[1,"option",3,"ngClass","click"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button","class","btn btn-primary",3,"disabled","click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["type","button","disabled","",1,"btn","btn-primary"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],["class","col-xs-12 col-md-6",4,"ngIf"],[1,"position-relative","paddle-loading"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"]],template:function(r,o){if(1&r&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),y(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),y(19,"i",10),p()(),h(20,"td",11),y(21,"i",12),p(),h(22,"td",11),y(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),y(28,"i",10),p()(),h(29,"td",11),y(30,"i",12),p(),h(31,"td",11),y(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),y(37,"i",10),p()(),h(38,"td",11),y(39,"i",12),p(),h(40,"td",11),y(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),y(46,"i",10),p()(),h(47,"td",11),y(48,"i",12),p(),h(49,"td",11),y(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),y(55,"i",10),p()(),y(56,"td",11),h(57,"td",11),y(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),y(63,"i",10),p()(),y(64,"td",11),h(65,"td",11),y(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),y(72,"td",11),h(73,"td",11),y(74,"i",15),p()()()()(),h(75,"div",16)(76,"p")(77,"i"),f(78,"ReportGenerator"),p(),f(79," is Open Source and free to use."),y(80,"br"),f(81," Some of the advanced features require a PRO license. "),p(),h(82,"p"),f(83," You can either become a "),h(84,"a",17),R("click",function(){return o.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),R("click",function(){return o.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),y(90,"br"),f(91," A "),h(92,"a",17),R("click",function(){return o.scrollToPaddle()}),f(93,"free trial version"),p(),f(94," is available too. "),p(),h(95,"p"),f(96," Get "),h(97,"a",18),f(98,"in touch"),p(),f(99," if you have any issues and we will figure it out. "),p()()()(),h(100,"section",19)(101,"div",0)(102,"h2",1),f(103,"Get your license as a GitHub sponsor"),p(),h(104,"div",2)(105,"div",20)(106,"p"),f(107,"You can obtain your license in two easy steps (no sign up required):"),p(),h(108,"span",21),f(109,"1."),p(),h(110,"a",22),y(111,"i",23),f(112," Become a GitHub sponsor"),p(),y(113,"br"),h(114,"span",21),f(115,"2."),p(),h(116,"button",24),R("click",function(){return o.requestLicense()}),y(117,"i",25),f(118," Get license"),p(),q(119,XU,3,0,"div",26),p(),q(120,JU,2,0,"div",27)(121,oB,4,3,"div",28),p()()(),h(122,"section",29)(123,"div",0)(124,"h2",1),f(125,"Buy a license"),p(),h(126,"div",30),q(127,iB,7,6,"span",31),p(),q(128,CB,61,17,"div",32)(129,TB,3,2,"div",32),h(130,"div",33),q(131,AB,4,0,"p",34),h(132,"p"),f(133,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),p()()()(),y(134,"app-testimonials"),h(135,"section",35)(136,"div",36)(137,"h3"),f(138,"Customers"),p(),h(139,"div",37)(140,"a",38),y(141,"img",39),p()()()(),h(142,"section",40)(143,"h2",1),f(144,"Frequently Asked Questions"),p(),h(145,"div",41)(146,"div",42)(147,"h2",43)(148,"button",44),f(149," How do I use/activate my license? "),p()(),h(150,"div",45)(151,"div",46),f(152," Your license key is passed to "),h(153,"i"),f(154,"ReportGenerator"),p(),f(155," via a command line parameter: "),h(156,"i"),f(157,"-license:YOUR_KEY"),p()()()(),h(158,"div",42)(159,"h2",47)(160,"button",48),f(161," Are there limitations on number of users? "),p()(),h(162,"div",49)(163,"div",46)(164,"b"),f(165,"GitHub sponsors"),p(),y(166,"br"),h(167,"p"),f(168,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(169,"b"),f(170,"Bought license"),p(),y(171,"br"),h(172,"p"),f(173,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(174,"i"),f(175,"ReportGenerator"),p(),f(176,"."),p()()()(),h(177,"div",42)(178,"h2",50)(179,"button",51),f(180," Will my license expire? "),p()(),h(181,"div",52)(182,"div",46)(183,"b"),f(184,"GitHub sponsors"),p(),y(185,"br"),h(186,"p"),f(187,"Your license will not expire."),p(),h(188,"b"),f(189,"Bought license"),p(),y(190,"br"),h(191,"p")(192,"b"),f(193,"Annual subscription"),p(),f(194,": Your license may get revoked for new releases of "),h(195,"i"),f(196,"ReportGenerator"),p(),f(197,", if you cancel your subscription."),y(198,"br"),h(199,"b"),f(200,"Lifetime licenses"),p(),f(201,": Lifetime licenses will not expire. "),p()()()()()(),h(202,"div",53)(203,"div",54)(204,"div",55)(205,"form",56,57),R("ngSubmit",function(){return o.completeTrial()}),h(207,"div",58)(208,"h5",59),f(209,"Free Trial"),p(),y(210,"button",60),p(),h(211,"div",61)(212,"div",62)(213,"input",63),R("ngModelChange",function(s){return o.requestTrialData.name=s}),p(),h(214,"label",64),f(215,"Name "),h(216,"span",65),f(217,"*"),p()()(),h(218,"div",62)(219,"input",66),R("ngModelChange",function(s){return o.requestTrialData.email=s}),p(),h(220,"label",64),f(221,"Email address "),h(222,"span",65),f(223,"*"),p()()()(),h(224,"div",67)(225,"button",68),f(226,"Close"),p(),h(227,"button",69),f(228,"Get trial license"),p()()()()()()),2&r){const i=Wf(206);C(18),E("routerLink",ee(18,bi)),C(9),E("routerLink",ee(19,bi)),C(9),E("routerLink",ee(20,bi)),C(9),E("routerLink",ee(21,bi)),C(9),E("routerLink",ee(22,bi)),C(8),E("routerLink",ee(23,bi)),C(35),E("routerLink",ee(24,sg)),C(19),E("disabled",o.licenseRequested),C(3),E("ngIf",o.licenseRequested&&!o.license),C(1),E("ngIf",!o.license),C(1),E("ngIf",o.license),C(6),E("ngIf",!o.paddleLicenseRequested),C(1),E("ngIf",!o.paddleLicenseRequested),C(1),E("ngIf",o.paddleLicenseRequested),C(2),E("ngIf",!o.lifetimeLicense),C(82),E("ngModel",o.requestTrialData.name),C(6),E("ngModel",o.requestTrialData.email),C(8),E("disabled",!i.valid)}},dependencies:[Mn,Bh,$h,pc,Zc,zc,vi,Pc,Fc,Di,Jp,Wc,ia,Ci,SM],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width: 400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}.paddle-loading[_ngcontent-%COMP%]{position:relative;left:35px;top:-20px}.testimonial[_ngcontent-%COMP%]{max-width:550px;margin:auto}"]})}return e})();class eu{constructor(n,t,r,o,i,s){this.name=n,this.url=t,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?'"':"";return`\r\n${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class NB extends eu{formatExecutable(n){let t=`- task: ${n.tool}@${Gt.majorVersion}`;return t+="\r\n displayName: ReportGenerator",t+="\r\n inputs:",console.log("hello",t),t}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class RB{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(n){return this.sourcedirectories.splice(n,1),!1}addReport(){return this.reports.push(""),!1}removeReport(n){return this.reports.splice(n,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(n){return this.plugins.splice(n,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(n){return this.assemblyfilters.splice(n,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(n){return this.classfilters.splice(n,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(n){return this.filefilters.splice(n,1),!1}getUsage(n,t){const r=n.executables.find(a=>a.runtime==t);let o=void 0!==r?n.formatExecutable(r):"";o+=n.formatArguments("reports",this.reports),o+=n.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=n.formatArgument("reporttypes",i)),o+=n.formatArguments("sourcedirs",this.sourcedirectories),o+=n.formatArgument("historydir",this.historydir),o+=n.formatArguments("plugins",this.plugins),o+=n.formatArguments("assemblyfilters",this.assemblyfilters),o+=n.formatArguments("classfilters",this.classfilters),o+=n.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=n.formatArgument("verbosity",this.selectedverbosity)),o+=n.formatArgument("title",this.title),o+=n.formatArgument("tag",this.tag),o+=n.formatArgument("license",this.license),o}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class ag{constructor(n,t){this.tool=n,this.command=t}}function kB(e,n){if(1&e){const t=Fe();h(0,"div",35)(1,"label",36)(2,"input",37),R("ngModelChange",function(o){return re(t),oe(k().selectedEnvironment=o)})("ngModelChange",function(){return re(t),oe(k().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=n.$implicit,r=k();C(2),E("ngModel",r.selectedEnvironment)("value",t)("checked",r.selectedEnvironment.name===t.name),C(2),Ee(t.name),C(3),Ee(t.description)}}function PB(e,n){if(1&e){const t=Fe();h(0,"div",35)(1,"label",36)(2,"input",41),R("ngModelChange",function(o){return re(t),oe(k(3).selectedPackage=o)}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=k().$implicit,r=k(2);C(2),E("ngModel",r.selectedPackage)("value",t),C(2),Ee(t.name),C(3),Ee(t.description)}}function FB(e,n){if(1&e&&(Dt(0),q(1,PB,8,4,"div",40),wt()),2&e){const t=n.$implicit,r=k(2);C(1),E("ngIf",t.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function LB(e,n){if(1&e&&(Dt(0),h(1,"h4"),f(2,"NuGet Package"),p(),q(3,FB,2,1,"ng-container",39),wt()),2&e){const t=k();C(3),E("ngForOf",t.packages)}}function VB(e,n){if(1&e){const t=Fe();h(0,"span",45),R("click",function(){re(t);const o=k().index;return oe(k().configuration.removeReport(o))}),h(1,"a",46),y(2,"i",47),p()()}}const jB=e=>({"input-group":e});function HB(e,n){if(1&e){const t=Fe();h(0,"div",38)(1,"div",42)(2,"input",43),R("ngModelChange",function(o){const s=re(t).index;return oe(k().configuration.reports[s]=o)}),p(),q(3,VB,3,0,"span",44),p()()}if(2&e){const t=n.index,r=k();C(1),E("ngClass",As(4,jB,t>0)),C(1),jn("name","report_",t,""),E("ngModel",r.configuration.reports[t]),C(1),E("ngIf",t>0)}}const UB=(e,n)=>({"btn-outline-primary":e,"btn-primary":n});function BB(e,n){if(1&e){const t=Fe();h(0,"button",48),R("click",function(){const i=re(t).$implicit,s=k();return oe(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const t=n.$implicit,r=k();E("ngClass",zD(2,UB,t!==r.configuration.selectedType,t===r.configuration.selectedType)),C(1),Ee(t)}}function $B(e,n){if(1&e){const t=Fe();h(0,"span",53),y(1,"i",54),f(2," Please specify a "),h(3,"a",9),R("click",function(){return re(t),oe(k(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function GB(e,n){if(1&e&&(Dt(0),y(1,"br",55),h(2,"a",29),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",29),y(6,"i",56),p(),wt()),2&e){const t=k(2).$implicit;C(2),E("href",t.sampleReport,Io),C(3),E("href",t.sampleReport,Io)}}function zB(e,n){if(1&e){const t=Fe();h(0,"div",50)(1,"label",36)(2,"input",51),R("change",function(){re(t);const o=k().$implicit;return oe(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),q(5,$B,5,0,"span",52),y(6,"br"),h(7,"div",38),f(8),q(9,GB,7,2,"ng-container",5),p()()()}if(2&e){const t=k().$implicit,r=k();C(2),E("checked",t.checked),C(2),Ee(t.name),C(1),E("ngIf",t.checked&&t.requiresHistoryDir&&!r.configuration.historydir),C(3),Hn("",t.description," "),C(1),E("ngIf",t.sampleReport)}}function qB(e,n){if(1&e&&(Dt(0),q(1,zB,10,5,"div",49),wt()),2&e){const t=n.$implicit,r=k();C(1),E("ngIf",!r.configuration.selectedType||t.types.indexOf(r.configuration.selectedType)>-1)}}function WB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",58),R("ngModelChange",function(o){const s=re(t).index;return oe(k().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(k().configuration.removeSourceDirectory(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=k();C(2),jn("name","sourcedir_",t,""),E("ngModel",r.configuration.sourcedirectories[t])}}function ZB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",59),R("ngModelChange",function(o){const s=re(t).index;return oe(k().configuration.plugins[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(k().configuration.removePlugin(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=k();C(2),jn("name","plugin_",t,""),E("ngModel",r.configuration.plugins[t])}}function YB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",60),R("ngModelChange",function(o){const s=re(t).index;return oe(k().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(k().configuration.removeAssemblyFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=k();C(2),jn("name","assemblyfilter_",t,""),E("ngModel",r.configuration.assemblyfilters[t])}}function QB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",61),R("ngModelChange",function(o){const s=re(t).index;return oe(k().configuration.classfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(k().configuration.removeClassFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=k();C(2),jn("name","classfilter_",t,""),E("ngModel",r.configuration.classfilters[t])}}function XB(e,n){if(1&e){const t=Fe();h(0,"div",8)(1,"div",57)(2,"input",62),R("ngModelChange",function(o){const s=re(t).index;return oe(k().configuration.filefilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=re(t).index;return oe(k().configuration.removeFileFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=k();C(2),jn("name","filefilter_",t,""),E("ngModel",r.configuration.filefilters[t])}}function JB(e,n){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const t=n.$implicit;E("value",t),C(1),Ee(t)}}function KB(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),Ee(t.tool),C(3),Ee(t.command)}}function e$(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function t$(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}function n$(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),Ee(t.tool),C(3),Ee(t.command)}}function r$(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function o$(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}const i$=()=>["/pro"],s$=[{path:"",component:WU,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:HU,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:BU,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=Gt,this.lastResult="",this.usageCopied=!1,this.configuration=new RB,this.environments=[new tu(".NET Core",".NET Core"),new tu(".NET Framework","The full .NET framework"),new tu("Azure DevOps",null),new tu("Github Action",null)],this.packages=[new eu("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"Use this package if your project is based on .NET Framework or .NET Core and you want to use ReportGenerator via the command line or a build script.",[new ag("Package Manager",`Install-Package ReportGenerator -Version ${Gt.version}`),new ag(".NET CLI",`dotnet add package ReportGenerator --version ${Gt.version}`)],[new la(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Gt.version}\\tools\\net47\\ReportGenerator.exe`),new la(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Gt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new eu("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new ag(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Gt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Gt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Gt.version}`)],[new la(".NET Core","reportgenerator")]),new NB("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new la("Azure DevOps","reportgenerator")]),new OB("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new la("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const t=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==t&&(this.lastResult=t,this.usageCopied=!1),t}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(t){console.error("Failed to copy license",t)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=Mt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[Ot],decls:219,vars:39,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-md-7"],["class","form-check",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"alert","alert-info"],["class","mb-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button","class","btn btn-sm me-1 mb-1",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"ngClass","click"],["class","form-check mt-1",4,"ngIf"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["class","text-danger ms-2",4,"ngIf"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-check","text-success"],[1,"fa-solid","fa-copy"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),q(8,kB,8,5,"div",4),y(9,"hr"),q(10,LB,4,1,"ng-container",5),y(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),y(16,"br"),f(17,"Globbing is supported."),p(),q(18,HB,4,6,"div",7),h(19,"div",8)(20,"a",9),R("click",function(){return o.configuration.addReport()}),y(21,"i",10),f(22," Add report"),p()(),y(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),R("ngModelChange",function(s){return o.configuration.targetdir=s}),p()(),y(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),h(37,"span",13),f(38,"Filter:"),p(),q(39,BB,2,5,"button",14),y(40,"br"),q(41,qB,2,1,"ng-container",15),h(42,"h3"),f(43,"Source directories"),p(),h(44,"div",6),f(45,"Optional directories which contain the corresponding source code."),y(46,"br"),f(47,"The source directories are used if coverage report contains classes without path information."),p(),q(48,WB,6,2,"div",16),h(49,"div",8)(50,"a",9),R("click",function(){return o.configuration.addSourceDirectory()}),y(51,"i",10),f(52," Add source directory"),p()(),y(53,"br"),h(54,"h3",17),f(55,"History directory"),p(),h(56,"div",6),f(57,"Optional directory for storing "),h(58,"b"),f(59,"persistent"),p(),f(60," coverage information. Choose a directory which does not get deleted between builds."),y(61,"br"),f(62,"Required to show the history chart in the HTML reports."),p(),h(63,"div",8)(64,"input",18),R("ngModelChange",function(s){return o.configuration.historydir=s}),p()(),y(65,"br"),h(66,"h3"),f(67,"Plugins"),p(),h(68,"div",6),f(69,"Optional plugin files for "),h(70,"a",19),f(71,"custom reports"),p(),f(72," or "),h(73,"a",20),f(74,"custom history storage"),p(),f(75,"."),p(),q(76,ZB,6,2,"div",16),h(77,"div",8)(78,"a",9),R("click",function(){return o.configuration.addPlugin()}),y(79,"i",10),f(80," Add plugin"),p()(),y(81,"br"),h(82,"h3"),f(83,"Assembly filters"),p(),h(84,"div",6),f(85,"Optional list of "),h(86,"b"),f(87,"assemblies"),p(),f(88," that should be included or excluded in the report. "),y(89,"br"),f(90,"Exclusion filters take precedence over inclusion filters. "),y(91,"br"),f(92,"Wildcards are allowed."),y(93,"br"),h(94,"p"),f(95,"Examples:"),y(96,"br"),h(97,"code"),f(98,"+Included"),p(),y(99,"br"),h(100,"code"),f(101,"-Excluded"),p()()(),q(102,YB,6,2,"div",16),h(103,"div",8)(104,"a",9),R("click",function(){return o.configuration.addAssemblyFilter()}),y(105,"i",10),f(106," Add assembly filter"),p()(),y(107,"br"),h(108,"h3"),f(109,"Class filters"),p(),h(110,"div",6),f(111,"Optional list of "),h(112,"b"),f(113,"classes"),p(),f(114," that should be included or excluded in the report. "),y(115,"br"),f(116,"Exclusion filters take precedence over inclusion filters. "),y(117,"br"),f(118,"Wildcards are allowed."),y(119,"br"),h(120,"p"),f(121,"Examples:"),y(122,"br"),h(123,"code"),f(124,"+Included"),p(),y(125,"br"),h(126,"code"),f(127,"-Excluded"),p()()(),q(128,QB,6,2,"div",16),h(129,"div",8)(130,"a",9),R("click",function(){return o.configuration.addClassFilter()}),y(131,"i",10),f(132," Add class filter"),p()(),y(133,"br"),h(134,"h3"),f(135,"File filters"),p(),h(136,"div",6),f(137,"Optional list of "),h(138,"b"),f(139,"files"),p(),f(140," that should be included or excluded in the report. "),y(141,"br"),f(142,"Exclusion filters take precedence over inclusion filters. "),y(143,"br"),f(144,"Wildcards are allowed."),y(145,"br"),h(146,"p"),f(147,"Examples:"),y(148,"br"),h(149,"code"),f(150,"+Included"),p(),y(151,"br"),h(152,"code"),f(153,"-Excluded"),p()()(),q(154,XB,6,2,"div",16),h(155,"div",8)(156,"a",9),R("click",function(){return o.configuration.addFileFilter()}),y(157,"i",10),f(158," Add file filter"),p()(),y(159,"br"),h(160,"h3"),f(161,"Verbosity"),p(),h(162,"div",6),f(163,"The verbosity level of the log messages."),p(),h(164,"div",8)(165,"select",21),R("ngModelChange",function(s){return o.configuration.selectedverbosity=s}),q(166,JB,2,2,"option",22),p()(),y(167,"br"),h(168,"h3"),f(169,"Title"),p(),h(170,"div",6),f(171,"Optional title."),p(),h(172,"div",8)(173,"input",23),R("ngModelChange",function(s){return o.configuration.title=s}),p()(),y(174,"br"),h(175,"h3"),f(176,"Tag"),p(),h(177,"div",6),f(178,"Optional tag or build version."),p(),h(179,"div",8)(180,"input",24),R("ngModelChange",function(s){return o.configuration.tag=s}),p()(),y(181,"br"),h(182,"h3"),f(183,"License"),p(),h(184,"div",6),f(185,"Optional license. Get your license here: "),h(186,"a",25),f(187,"https://reportgenerator.io/pro"),p()(),h(188,"div",8)(189,"textarea",26),R("ngModelChange",function(s){return o.configuration.license=s}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),q(197,KB,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),R("click",function(){return o.copy()}),q(203,e$,2,0)(204,t$,2,0),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),q(211,n$,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),R("click",function(){return o.copy()}),q(217,r$,2,0)(218,o$,2,0),p()()()()()),2&r&&(C(8),E("ngForOf",o.environments),C(2),E("ngIf",o.severalPackagesAvailable()),C(8),E("ngForOf",o.configuration.reports)("ngForTrackBy",o.trackByIndex),C(11),E("ngModel",o.configuration.targetdir),C(10),E("ngForOf",o.configuration.types)("ngForTrackBy",o.trackByIndex),C(2),E("ngForOf",o.configuration.reporttypes)("ngForTrackBy",o.trackByIndex),C(7),E("ngForOf",o.configuration.sourcedirectories)("ngForTrackBy",o.trackByIndex),C(16),E("ngModel",o.configuration.historydir)("required",o.configuration.historyDirRequired()),C(12),E("ngForOf",o.configuration.plugins)("ngForTrackBy",o.trackByIndex),C(26),E("ngForOf",o.configuration.assemblyfilters)("ngForTrackBy",o.trackByIndex),C(26),E("ngForOf",o.configuration.classfilters)("ngForTrackBy",o.trackByIndex),C(26),E("ngForOf",o.configuration.filefilters)("ngForTrackBy",o.trackByIndex),C(11),E("ngModel",o.configuration.selectedverbosity),C(1),E("ngForOf",o.configuration.verbosities)("ngForTrackBy",o.trackByIndex),C(7),E("ngModel",o.configuration.title),C(7),E("ngModel",o.configuration.tag),C(6),E("routerLink",ee(38,i$)),C(3),E("ngModel",o.configuration.license),C(6),E("href",o.selectedPackage.url,Io),C(1),Ee(o.selectedPackage.name),C(1),E("ngForOf",o.selectedPackage.installOptions),C(4),Ee(o.getUsage()),C(2),Bo(203,o.usageCopied?203:204),C(6),E("href",o.selectedPackage.url,Io),C(1),Ee(o.selectedPackage.name),C(1),E("ngForOf",o.selectedPackage.installOptions),C(4),Ee(o.getUsage()),C(2),Bo(217,o.usageCopied?217:218))},dependencies:[Zc,zc,WI,YI,vi,qc,Wp,Pc,Fc,Di,Kp,ia,Ci,Bh,$h,pc,Mn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]})}return e})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:xB,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:jU,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:ZU,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];(function CV(e,n){return RF({rootComponent:e,...qb(n)})})(lH,{providers:[sv(MV,(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Rn({type:e});static#n=this.\u0275inj=cn({imports:[XE.forRoot(s$,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),XE]})}return e})(),Zc),AM,xM,IM,function TU(...e){const n=[ng,pM,fM,{provide:Yc,useExisting:fM},{provide:Qc,useExisting:pM},{provide:aa,useValue:SU,multi:!0},{provide:ig,useValue:!0},{provide:vM,useClass:MU}];for(const t of e)n.push(...t.\u0275providers);return fd(n)}(function AU(){return function zr(e,n){return{\u0275kind:e,\u0275providers:n}}(vr.LegacyInterceptors,[{provide:yM,useFactory:vU},{provide:aa,useExisting:yM,multi:!0}])}())]}).catch(e=>console.error(e))}},nu=>{nu(nu.s=139)}]); \ No newline at end of file diff --git a/docs/pro.html b/docs/pro.html index fd2f79de..e3ab6576 100644 --- a/docs/pro.html +++ b/docs/pro.html @@ -2,7 +2,6 @@ - ReportGenerator @@ -12,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/usage.html b/docs/usage.html index 84975a38..7d8251a2 100644 --- a/docs/usage.html +++ b/docs/usage.html @@ -2,7 +2,6 @@ - ReportGenerator @@ -12,5 +11,5 @@ - + \ No newline at end of file