diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1f6efb8a..01dd9aba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ env: solution: 'src\ReportGenerator.sln' buildPlatform: Any CPU buildConfiguration: Release - version: 5.1.23 + version: 5.1.24 dotnetSDKVersion: 7.0.306 nodeVersion: 18 diff --git a/docs/main.793add3ec8174098.js b/docs/main.793add3ec8174098.js index 778667f4..0606e89d 100644 --- a/docs/main.793add3ec8174098.js +++ b/docs/main.793add3ec8174098.js @@ -1 +1 @@ -"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{90:()=>{function he(e){return"function"==typeof e}function Ho(e){const n=e(r=>{Error.call(r),r.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}const fs=Ho(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n});function Uo(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class Nt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(const i of n)i.remove(this);else n.remove(this);const{initialTeardown:r}=this;if(he(r))try{r()}catch(i){t=i instanceof fs?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{dh(i)}catch(s){t=t??[],s instanceof fs?t=[...t,...s.errors]:t.push(s)}}if(t)throw new fs(t)}}add(t){var n;if(t&&t!==this)if(this.closed)dh(t);else{if(t instanceof Nt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}}_hasParent(t){const{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){const{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){const{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&Uo(n,t)}remove(t){const{_finalizers:n}=this;n&&Uo(n,t),t instanceof Nt&&t._removeParent(this)}}Nt.EMPTY=(()=>{const e=new Nt;return e.closed=!0,e})();const uh=Nt.EMPTY;function ch(e){return e instanceof Nt||e&&"closed"in e&&he(e.remove)&&he(e.add)&&he(e.unsubscribe)}function dh(e){he(e)?e():e.unsubscribe()}const ar={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},hs={setTimeout(e,t,...n){const{delegate:r}=hs;return r?.setTimeout?r.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){const{delegate:t}=hs;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function fh(e){hs.setTimeout(()=>{const{onUnhandledError:t}=ar;if(!t)throw e;t(e)})}function hh(){}const $w=Gl("C",void 0,void 0);function Gl(e,t,n){return{kind:e,value:t,error:n}}let lr=null;function ps(e){if(ar.useDeprecatedSynchronousErrorHandling){const t=!lr;if(t&&(lr={errorThrown:!1,error:null}),e(),t){const{errorThrown:n,error:r}=lr;if(lr=null,n)throw r}}else e()}class zl extends Nt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,ch(t)&&t.add(this)):this.destination=Yw}static create(t,n,r){return new gs(t,n,r)}next(t){this.isStopped?Wl(function zw(e){return Gl("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Wl(function Gw(e){return Gl("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Wl($w,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ww=Function.prototype.bind;function ql(e,t){return Ww.call(e,t)}class Zw{constructor(t){this.partialObserver=t}next(t){const{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(r){ms(r)}}error(t){const{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(r){ms(r)}else ms(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){ms(n)}}}class gs extends zl{constructor(t,n,r){let o;if(super(),he(t)||!t)o={next:t??void 0,error:n??void 0,complete:r??void 0};else{let i;this&&ar.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),o={next:t.next&&ql(t.next,i),error:t.error&&ql(t.error,i),complete:t.complete&&ql(t.complete,i)}):o=t}this.destination=new Zw(o)}}function ms(e){ar.useDeprecatedSynchronousErrorHandling?function qw(e){ar.useDeprecatedSynchronousErrorHandling&&lr&&(lr.errorThrown=!0,lr.error=e)}(e):fh(e)}function Wl(e,t){const{onStoppedNotification:n}=ar;n&&hs.setTimeout(()=>n(e,t))}const Yw={closed:!0,next:hh,error:function Xw(e){throw e},complete:hh},Zl="function"==typeof Symbol&&Symbol.observable||"@@observable";function $n(e){return e}function ph(e){return 0===e.length?$n:1===e.length?e[0]:function(n){return e.reduce((r,o)=>o(r),n)}}let Te=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){const r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,o){const i=function Kw(e){return e&&e instanceof zl||function Jw(e){return e&&he(e.next)&&he(e.error)&&he(e.complete)}(e)&&ch(e)}(n)?n:new gs(n,r,o);return ps(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(n){try{return this._subscribe(n)}catch(r){n.error(r)}}forEach(n,r){return new(r=gh(r))((o,i)=>{const s=new gs({next:a=>{try{n(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(n){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(n)}[Zl](){return this}pipe(...n){return ph(n)(this)}toPromise(n){return new(n=gh(n))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=t=>new e(t),e})();function gh(e){var t;return null!==(t=e??ar.Promise)&&void 0!==t?t:Promise}const eE=Ho(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let wn=(()=>{class e extends Te{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){const r=new mh(this,this);return r.operator=n,r}_throwIfClosed(){if(this.closed)throw new eE}next(n){ps(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(n)}})}error(n){ps(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;const{observers:r}=this;for(;r.length;)r.shift().error(n)}})}complete(){ps(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return(null===(n=this.observers)||void 0===n?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){const{hasError:r,isStopped:o,observers:i}=this;return r||o?uh:(this.currentObservers=null,i.push(n),new Nt(()=>{this.currentObservers=null,Uo(i,n)}))}_checkFinalizedStatuses(n){const{hasError:r,thrownError:o,isStopped:i}=this;r?n.error(o):i&&n.complete()}asObservable(){const n=new Te;return n.source=this,n}}return e.create=(t,n)=>new mh(t,n),e})();class mh extends wn{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,r;null===(r=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===r||r.call(n,t)}error(t){var n,r;null===(r=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===r||r.call(n,t)}complete(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)}_subscribe(t){var n,r;return null!==(r=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==r?r:uh}}class Pt extends wn{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){const{hasError:t,thrownError:n,_value:r}=this;if(t)throw n;return this._throwIfClosed(),r}next(t){super.next(this._value=t)}}function yh(e){return he(e?.lift)}function qe(e){return t=>{if(yh(t))return t.lift(function(n){try{return e(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function He(e,t,n,r,o){return new tE(e,t,n,r,o)}class tE extends zl{constructor(t,n,r,o,i,s){super(t),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(l){t.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:n}=this;super.unsubscribe(),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function re(e,t){return qe((n,r)=>{let o=0;n.subscribe(He(r,i=>{r.next(e.call(t,i,o++))}))})}function Gn(e){return this instanceof Gn?(this.v=e,this):new Gn(e)}function Dh(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function Jl(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.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(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(u){i({value:u,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}const bh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function wh(e){return he(e?.then)}function Eh(e){return he(e[Zl])}function Mh(e){return Symbol.asyncIterator&&he(e?.[Symbol.asyncIterator])}function Sh(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 Ih=function CE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Th(e){return he(e?.[Ih])}function Ah(e){return function Ch(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=n.apply(e,t||[]),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 Gn?Promise.resolve(g.value.v).then(u,c):d(i[0][2],g)}(r[g](m))}catch(v){d(i[0][3],v)}}function u(g){a("next",g)}function c(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 n=e.getReader();try{for(;;){const{value:r,done:o}=yield Gn(n.read());if(o)return yield Gn(void 0);yield yield Gn(r)}}finally{n.releaseLock()}})}function xh(e){return he(e?.getReader)}function en(e){if(e instanceof Te)return e;if(null!=e){if(Eh(e))return function DE(e){return new Te(t=>{const n=e[Zl]();if(he(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(bh(e))return function bE(e){return new Te(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,fh)})}(e);if(Mh(e))return Rh(e);if(Th(e))return function EE(e){return new Te(t=>{for(const n of e)if(t.next(n),t.closed)return;t.complete()})}(e);if(xh(e))return function ME(e){return Rh(Ah(e))}(e)}throw Sh(e)}function Rh(e){return new Te(t=>{(function SE(e,t){var n,r,o,i;return function vh(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(c){try{u(r.next(c))}catch(d){s(d)}}function l(c){try{u(r.throw(c))}catch(d){s(d)}}function u(c){c.done?i(c.value):function o(i){return i instanceof n?i:new n(function(s){s(i)})}(c.value).then(a,l)}u((r=r.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(n=Dh(e);!(r=yield n.next()).done;)if(t.next(r.value),t.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=n.return)&&(yield i.call(n))}finally{if(o)throw o.error}}t.complete()})})(e,t).catch(n=>t.error(n))})}function En(e,t,n,r=0,o=!1){const i=t.schedule(function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function We(e,t,n=1/0){return he(t)?We((r,o)=>re((i,s)=>t(r,i,o,s))(en(e(r,o))),n):("number"==typeof t&&(n=t),qe((r,o)=>function IE(e,t,n,r,o,i,s,a){const l=[];let u=0,c=0,d=!1;const g=()=>{d&&!l.length&&!u&&t.complete()},m=_=>u{i&&t.next(_),u++;let b=!1;en(n(_,c++)).subscribe(He(t,S=>{o?.(S),i?m(S):t.next(S)},()=>{b=!0},void 0,()=>{if(b)try{for(u--;l.length&&uv(S)):v(S)}g()}catch(S){t.error(S)}}))};return e.subscribe(He(t,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,n)))}function Nr(e=1/0){return We($n,e)}const tn=new Te(e=>e.complete());function Kl(e){return e[e.length-1]}function Nh(e){return he(Kl(e))?e.pop():void 0}function Bo(e){return function AE(e){return e&&he(e.schedule)}(Kl(e))?e.pop():void 0}function Ph(e,t=0){return qe((n,r)=>{n.subscribe(He(r,o=>En(r,e,()=>r.next(o),t),()=>En(r,e,()=>r.complete(),t),o=>En(r,e,()=>r.error(o),t)))})}function Oh(e,t=0){return qe((n,r)=>{r.add(e.schedule(()=>n.subscribe(r),t))})}function kh(e,t){if(!e)throw new Error("Iterable cannot be null");return new Te(n=>{En(n,t,()=>{const r=e[Symbol.asyncIterator]();En(n,t,()=>{r.next().then(o=>{o.done?n.complete():n.next(o.value)})},0,!0)})})}function Ne(e,t){return t?function FE(e,t){if(null!=e){if(Eh(e))return function RE(e,t){return en(e).pipe(Oh(t),Ph(t))}(e,t);if(bh(e))return function PE(e,t){return new Te(n=>{let r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(wh(e))return function NE(e,t){return en(e).pipe(Oh(t),Ph(t))}(e,t);if(Mh(e))return kh(e,t);if(Th(e))return function OE(e,t){return new Te(n=>{let r;return En(n,t,()=>{r=e[Ih](),En(n,t,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void n.error(s)}i?n.complete():n.next(o)},0,!0)}),()=>he(r?.return)&&r.return()})}(e,t);if(xh(e))return function kE(e,t){return kh(Ah(e),t)}(e,t)}throw Sh(e)}(e,t):en(e)}function j(...e){return Ne(e,Bo(e))}function ur(e){return e<=0?()=>tn:qe((t,n)=>{let r=0;t.subscribe(He(n,o=>{++r<=e&&(n.next(o),e<=r&&n.complete())}))})}function Fh(e={}){const{connector:t=(()=>new wn),resetOnError:n=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,u=0,c=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,c=d=!1},v=()=>{const _=s;m(),_?.unsubscribe()};return qe((_,b)=>{u++,!d&&!c&&g();const S=l=l??t();b.add(()=>{u--,0===u&&!d&&!c&&(a=eu(v,o))}),S.subscribe(b),s||(s=new gs({next:D=>S.next(D),error:D=>{d=!0,g(),a=eu(m,n,D),S.error(D)},complete:()=>{c=!0,g(),a=eu(m,r),S.complete()}}),Ne(_).subscribe(s))})(i)}}function eu(e,t,...n){return!0===t?(e(),null):!1===t?null:t(...n).pipe(ur(1)).subscribe(()=>e())}function Bt(e,t){return qe((n,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();n.subscribe(He(r,l=>{o?.unsubscribe();let u=0;const c=i++;en(e(l,c)).subscribe(o=He(r,d=>r.next(t?t(l,d,c,u++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function HE(e,t){return e===t}function ce(e){for(let t in e)if(e[t]===ce)return t;throw Error("Could not find renamed property on target object.")}function ys(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Ue(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Ue).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function tu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const UE=ce({__forward_ref__:ce});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return Ue(this())},e}function z(e){return nu(e)?e():e}function nu(e){return"function"==typeof e&&e.hasOwnProperty(UE)&&e.__forward_ref__===pe}function ru(e){return e&&!!e.\u0275providers}const Lh="https://g.co/ng/security#xss";class I extends Error{constructor(t,n){super(function vs(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,n)),this.code=t}}function W(e){return"string"==typeof e?e:null==e?"":String(e)}function _s(e,t){throw new I(-201,!1)}function Ot(e,t){null==e&&function ue(e,t,n,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${n} ${r} ${t} <=Actual]`))}(t,e,null,"!=")}function L(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function nn(e){return{providers:e.providers||[],imports:e.imports||[]}}function Cs(e){return Vh(e,Ds)||Vh(e,Uh)}function Vh(e,t){return e.hasOwnProperty(t)?e[t]:null}function Hh(e){return e&&(e.hasOwnProperty(ou)||e.hasOwnProperty(ZE))?e[ou]:null}const Ds=ce({\u0275prov:ce}),ou=ce({\u0275inj:ce}),Uh=ce({ngInjectableDef:ce}),ZE=ce({ngInjectorDef:ce});var V=(()=>((V=V||{})[V.Default=0]="Default",V[V.Host=1]="Host",V[V.Self=2]="Self",V[V.SkipSelf=4]="SkipSelf",V[V.Optional=8]="Optional",V))();let iu;function ut(e){const t=iu;return iu=e,t}function jh(e,t,n){const r=Cs(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&V.Optional?null:void 0!==t?t:void _s(Ue(e))}const ge=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),jo={},su="__NG_DI_FLAG__",bs="ngTempTokenPath",YE=/\n/gm,$h="__source";let Pr;function qn(e){const t=Pr;return Pr=e,t}function KE(e,t=V.Default){if(void 0===Pr)throw new I(-203,!1);return null===Pr?jh(e,void 0,t):Pr.get(e,t&V.Optional?null:void 0,t)}function F(e,t=V.Default){return(function Bh(){return iu}()||KE)(z(e),t)}function R(e,t=V.Default){return F(e,ws(t))}function ws(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function au(e){const t=[];for(let n=0;n((rn=rn||{})[rn.OnPush=0]="OnPush",rn[rn.Default=1]="Default",rn))(),Dt=(()=>{return(e=Dt||(Dt={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",Dt;var e})();const on={},oe=[],Es=ce({\u0275cmp:ce}),lu=ce({\u0275dir:ce}),uu=ce({\u0275pipe:ce}),zh=ce({\u0275mod:ce}),Sn=ce({\u0275fac:ce}),Go=ce({__NG_ELEMENT_ID__:ce}),qh=ce({__NG_ENV_ID__:ce});function Wh(e,t,n){let r=e.length;for(;;){const o=e.indexOf(t,n);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=t.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}n=o+1}}function cu(e,t,n){let r=0;for(;rt){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==Wh(m,u,0)||2&r&&u!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(l))return!1;if(s&&jt(l))continue;s=!1,r=l|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function s1(e,t,n,r){if(null===t)return-1;let o=0;if(r||!n){let i=!1;for(;o-1)for(n++;n0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(t+=ep(i,o),o=""),r=s,i=i||!jt(r);n++}return""!==o&&(t+=ep(i,o)),t}function bt(e){return Mn(()=>{const t=np(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===rn.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Dt.Emulated,styles:e.styles||oe,_:null,schemas:e.schemas||null,tView:null,id:""};rp(n);const r=e.dependencies;return n.directiveDefs=Ms(r,!1),n.pipeDefs=Ms(r,!0),n.id=function _1(e){let t=0;const n=[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 n)t=Math.imul(31,t)+o.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(n),n})}function g1(e){return ie(e)||Qe(e)}function m1(e){return null!==e}function In(e){return Mn(()=>({type:e.type,bootstrap:e.bootstrap||oe,declarations:e.declarations||oe,imports:e.imports||oe,exports:e.exports||oe,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function tp(e,t){if(null==e)return on;const n={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),n[o]=r,t&&(t[o]=i)}return n}function G(e){return Mn(()=>{const t=np(e);return rp(t),t})}function ie(e){return e[Es]||null}function Qe(e){return e[lu]||null}function dt(e){return e[uu]||null}function wt(e,t){const n=e[zh]||null;if(!n&&!0===t)throw new Error(`Type ${Ue(e)} does not have '\u0275mod' property.`);return n}function np(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||on,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||oe,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:tp(e.inputs,t),outputs:tp(e.outputs)}}function rp(e){e.features?.forEach(t=>t(e))}function Ms(e,t){if(!e)return null;const n=t?dt:g1;return()=>("function"==typeof e?e():e).map(r=>n(r)).filter(m1)}const Be=0,A=1,Z=2,be=3,$t=4,qo=5,Je=6,kr=7,Pe=8,Fr=9,cr=10,X=11,Wo=12,op=13,Lr=14,Oe=15,Zo=16,Vr=17,sn=18,Xo=19,ip=20,Wn=21,Tn=22,Ss=23,Is=24,ee=25,du=1,sp=2,an=7,Hr=9,Ke=11;function Et(e){return Array.isArray(e)&&"object"==typeof e[du]}function ft(e){return Array.isArray(e)&&!0===e[du]}function fu(e){return 0!=(4&e.flags)}function dr(e){return e.componentOffset>-1}function As(e){return 1==(1&e.flags)}function Gt(e){return!!e.template}function hu(e){return 0!=(512&e[Z])}function fr(e,t){return e.hasOwnProperty(Sn)?e[Sn]:null}let M1=ge.WeakRef??class E1{constructor(t){this.ref=t}deref(){return this.ref}},I1=0,ln=null,xs=!1;function Ze(e){const t=ln;return ln=e,t}class dp{constructor(){this.id=I1++,this.ref=function S1(e){return new M1(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,n]of this.producers){const r=n.producerNode.deref();if(void 0!==r&&n.atTrackingVersion===this.trackingVersion){if(r.producerPollStatus(n.seenValueVersion))return!0}else this.producers.delete(t),r?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=xs;xs=!0;try{for(const[n,r]of this.consumers){const o=r.consumerNode.deref();void 0!==o&&o.trackingVersion===r.atTrackingVersion?o.onConsumerDependencyMayHaveChanged():(this.consumers.delete(n),o?.producers.delete(this.id))}}finally{xs=t}}producerAccessed(){if(xs)throw new Error("");if(null===ln)return;let t=ln.producers.get(this.id);void 0===t?(t={consumerNode:ln.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:ln.trackingVersion},ln.producers.set(this.id,t),this.consumers.set(ln.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=ln.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==ln?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let fp=null;const pp=()=>{};class R1 extends dp{constructor(t,n,r){super(),this.watch=t,this.schedule=n,this.dirty=!1,this.cleanupFn=pp,this.registerOnCleanup=o=>{this.cleanupFn=o},this.consumerAllowSignalWrites=r}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=Ze(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=pp,this.watch(this.registerOnCleanup)}finally{Ze(t)}}cleanup(){this.cleanupFn()}}class N1{constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}}function kt(){return gp}function gp(e){return e.type.prototype.ngOnChanges&&(e.setInput=O1),P1}function P1(){const e=yp(this),t=e?.current;if(t){const n=e.previous;if(n===on)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function O1(e,t,n,r){const o=this.declaredInputs[n],i=yp(e)||function k1(e,t){return e[mp]=t}(e,{previous:on,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new N1(l&&l.currentValue,t,a===on),e[r]=t}kt.ngInherit=!0;const mp="__ngSimpleChanges__";function yp(e){return e[mp]||null}const un=function(e,t,n){};function ve(e){for(;Array.isArray(e);)e=e[Be];return e}function Ps(e,t){return ve(t[e])}function ht(e,t){return ve(t[e.index])}function Cp(e,t){return e.data[t]}function Mt(e,t){const n=t[e];return Et(n)?n:n[Be]}function Zn(e,t){return null==t?null:e[t]}function Dp(e){e[Vr]=0}function j1(e){1024&e[Z]||(e[Z]|=1024,wp(e,1))}function bp(e){1024&e[Z]&&(e[Z]&=-1025,wp(e,-1))}function wp(e,t){let n=e[be];if(null===n)return;n[qo]+=t;let r=n;for(n=n[be];null!==n&&(1===t&&1===r[qo]||-1===t&&0===r[qo]);)n[qo]+=t,r=n,n=n[be]}const $={lFrame:Op(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Sp(){return $.bindingsEnabled}function E(){return $.lFrame.lView}function te(){return $.lFrame.tView}function se(e){return $.lFrame.contextLView=e,e[Pe]}function ae(e){return $.lFrame.contextLView=null,e}function Xe(){let e=Ip();for(;null!==e&&64===e.type;)e=e.parent;return e}function Ip(){return $.lFrame.currentTNode}function cn(e,t){const n=$.lFrame;n.currentTNode=e,n.isParent=t}function _u(){return $.lFrame.isParent}function Cu(){$.lFrame.isParent=!1}function rt(){const e=$.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function jr(){return $.lFrame.bindingIndex++}function e0(e,t){const n=$.lFrame;n.bindingIndex=n.bindingRootIndex=e,Du(t)}function Du(e){$.lFrame.currentDirectiveIndex=e}function Rp(){return $.lFrame.currentQueryIndex}function wu(e){$.lFrame.currentQueryIndex=e}function n0(e){const t=e[A];return 2===t.type?t.declTNode:1===t.type?e[Je]:null}function Np(e,t,n){if(n&V.SkipSelf){let o=t,i=e;for(;!(o=o.parent,null!==o||n&V.Host||(o=n0(i),null===o||(i=i[Lr],10&o.type))););if(null===o)return!1;t=o,e=i}const r=$.lFrame=Pp();return r.currentTNode=t,r.lView=e,!0}function Eu(e){const t=Pp(),n=e[A];$.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Pp(){const e=$.lFrame,t=null===e?null:e.child;return null===t?Op(e):t}function Op(e){const t={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=t),t}function kp(){const e=$.lFrame;return $.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Fp=kp;function Mu(){const e=kp();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 ot(){return $.lFrame.selectedIndex}function hr(e){$.lFrame.selectedIndex=e}function we(){const e=$.lFrame;return Cp(e.tView,e.selectedIndex)}let Vp=!0;function Os(){return Vp}function Xn(e){Vp=e}function ks(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n=r)break}else t[l]<0&&(e[Vr]+=65536),(a>13>16&&(3&e[Z])===t&&(e[Z]+=8192,Up(a,i)):Up(a,i)}const $r=-1;class Jo{constructor(t,n,r){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=r}}function Bp(e){return e!==$r}function Vs(e){return 32767&e}function Hs(e,t){let n=function g0(e){return e>>16}(e),r=t;for(;n>0;)r=r[Lr],n--;return r}let Tu=!0;function Us(e){const t=Tu;return Tu=e,t}const jp=255,$p=5;let m0=0;const dn={};function Bs(e,t){const n=Gp(e,t);if(-1!==n)return n;const r=t[A];r.firstCreatePass&&(e.injectorIndex=t.length,Au(r.data,e),Au(t,null),Au(r.blueprint,null));const o=xu(e,t),i=e.injectorIndex;if(Bp(o)){const s=Vs(o),a=Hs(o,t),l=a[A].data;for(let u=0;u<8;u++)t[i+u]=a[s+u]|l[s+u]}return t[i+8]=o,i}function Au(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Gp(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function xu(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,r=null,o=t;for(;null!==o;){if(r=Qp(o),null===r)return $r;if(n++,o=o[Lr],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return $r}function Ru(e,t,n){!function y0(e,t,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(Go)&&(r=n[Go]),null==r&&(r=n[Go]=m0++);const o=r&jp;t.data[e+(o>>$p)]|=1<=0?t&jp:D0:t}(n);if("function"==typeof i){if(!Np(t,e,r))return r&V.Host?zp(o,0,r):qp(t,n,r,o);try{const s=i(r);if(null!=s||r&V.Optional)return s;_s()}finally{Fp()}}else if("number"==typeof i){let s=null,a=Gp(e,t),l=$r,u=r&V.Host?t[Oe][Je]:null;for((-1===a||r&V.SkipSelf)&&(l=-1===a?xu(e,t):t[a+8],l!==$r&&Yp(r,!1)?(s=t[A],a=Vs(l),t=Hs(l,t)):a=-1);-1!==a;){const c=t[A];if(Xp(i,a,c.data)){const d=_0(a,t,n,s,r,u);if(d!==dn)return d}l=t[a+8],l!==$r&&Yp(r,t[A].data[a+8]===u)&&Xp(i,a,t)?(s=c,a=Vs(l),t=Hs(l,t)):a=-1}}return o}function _0(e,t,n,r,o,i){const s=t[A],a=s.data[e+8],c=js(a,s,n,null==r?dr(a)&&Tu:r!=s&&0!=(3&a.type),o&V.Host&&i===a);return null!==c?pr(t,s,c,a):dn}function js(e,t,n,r,o){const i=e.providerIndexes,s=t.data,a=1048575&i,l=e.directiveStart,c=i>>20,g=o?a+c:e.directiveEnd;for(let m=r?a:a+c;m=l&&v.type===n)return m}if(o){const m=s[l];if(m&&Gt(m)&&m.type===n)return l}return null}function pr(e,t,n,r){let o=e[n];const i=t.data;if(function f0(e){return e instanceof Jo}(o)){const s=o;s.resolving&&function BE(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${n}`)}(function le(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():W(e)}(i[n]));const a=Us(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?ut(s.injectImpl):null;Np(e,r,V.Default);try{o=e[n]=s.factory(void 0,i,e,r),t.firstCreatePass&&n>=r.directiveStart&&function c0(e,t,n){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=t.type.prototype;if(r){const s=gp(t);(n.preOrderHooks??=[]).push(e,s),(n.preOrderCheckHooks??=[]).push(e,s)}o&&(n.preOrderHooks??=[]).push(0-e,o),i&&((n.preOrderHooks??=[]).push(e,i),(n.preOrderCheckHooks??=[]).push(e,i))}(n,i[n],t)}finally{null!==l&&ut(l),Us(a),s.resolving=!1,Fp()}}return o}function Xp(e,t,n){return!!(n[t+(e>>$p)]&1<{const t=e.prototype.constructor,n=t[Sn]||Nu(t),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[Sn]||Nu(o);if(i&&i!==n)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Nu(e){return nu(e)?()=>{const t=Nu(z(e));return t&&t()}:fr(e)}function Qp(e){const t=e[A],n=t.type;return 2===n?t.declTNode:1===n?e[Je]:null}const qr="__parameters__";function Zr(e,t,n){return Mn(()=>{const r=function Pu(e){return function(...n){if(e){const r=e(...n);for(const o in r)this[o]=r[o]}}}(t);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,u,c){const d=l.hasOwnProperty(qr)?l[qr]:Object.defineProperty(l,qr,{value:[]})[qr];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return n&&(o.prototype=Object.create(n.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function ti(e,t){e.forEach(n=>Array.isArray(n)?ti(n,t):t(n))}function Kp(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Gs(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function St(e,t,n){let r=Xr(e,t);return r>=0?e[1|r]=n:(r=~r,function I0(e,t,n,r){let o=e.length;if(o==t)e.push(n,r);else if(1===o)e.push(r,e[0]),e[0]=n;else{for(o--,e.push(e[o-1],e[o]);o>t;)e[o]=e[o-2],o--;e[t]=n,e[t+1]=r}}(e,r,t,n)),r}function Ou(e,t){const n=Xr(e,t);if(n>=0)return e[1|n]}function Xr(e,t){return function eg(e,t,n){let r=0,o=e.length>>n;for(;o!==r;){const i=r+(o-r>>1),s=e[i<t?o=i:r=i+1}return~(o<((pt=pt||{})[pt.Important=1]="Important",pt[pt.DashCase=2]="DashCase",pt))();const Z0=/^>|^->||--!>|)/,Y0="\u200b$1\u200b";const Uu=new Map;let Q0=0;const ju="__ngContext__";function et(e,t){Et(t)?(e[ju]=t[Xo],function K0(e){Uu.set(e[Xo],e)}(t)):e[ju]=t}let $u;function Gu(e,t){return $u(e,t)}function ii(e){const t=e[be];return ft(t)?t[be]:t}function Cg(e){return bg(e[Wo])}function Dg(e){return bg(e[$t])}function bg(e){for(;null!==e&&!ft(e);)e=e[$t];return e}function Jr(e,t,n,r,o){if(null!=r){let i,s=!1;ft(r)?i=r:Et(r)&&(s=!0,r=r[Be]);const a=ve(r);0===e&&null!==n?null==o?Ig(t,n,a):gr(t,n,a,o||null,!0):1===e&&null!==n?gr(t,n,a,o||null,!0):2===e?function ra(e,t,n){const r=ta(e,t);r&&function vM(e,t,n,r){e.removeChild(t,n,r)}(e,r,t,n)}(t,a,s):3===e&&t.destroyNode(a),null!=i&&function DM(e,t,n,r,o){const i=n[an];i!==ve(n)&&Jr(t,e,r,i,o);for(let a=Ke;at.replace(X0,Y0))}(t))}function ea(e,t,n){return e.createElement(t,n)}function Eg(e,t){const n=e[Hr],r=n.indexOf(t);bp(t),n.splice(r,1)}function qu(e,t){if(e.length<=Ke)return;const n=Ke+t,r=e[n];if(r){const o=r[Zo];null!==o&&o!==e&&Eg(o,r),t>0&&(e[n-1][$t]=r[$t]);const i=Gs(e,Ke+t);!function cM(e,t){ai(e,t,t[X],2,null,null),t[Be]=null,t[Je]=null}(r[A],r);const s=i[sn];null!==s&&s.detachView(i[A]),r[be]=null,r[$t]=null,r[Z]&=-129}return r}function Mg(e,t){if(!(256&t[Z])){const n=t[X];t[Ss]?.destroy(),t[Is]?.destroy(),n.destroyNode&&ai(e,t,n,3,null,null),function hM(e){let t=e[Wo];if(!t)return Wu(e[A],e);for(;t;){let n=null;if(Et(t))n=t[Wo];else{const r=t[Ke];r&&(n=r)}if(!n){for(;t&&!t[$t]&&t!==e;)Et(t)&&Wu(t[A],t),t=t[be];null===t&&(t=e),Et(t)&&Wu(t[A],t),n=t&&t[$t]}t=n}}(t)}}function Wu(e,t){if(!(256&t[Z])){t[Z]&=-129,t[Z]|=256,function yM(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let r=0;r=0?r[s]():r[-s].unsubscribe(),i+=2}else n[i].call(r[n[i+1]]);null!==r&&(t[kr]=null);const o=t[Wn];if(null!==o){t[Wn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Dt.None||i===Dt.Emulated)return null}return ht(r,n)}}(e,t.parent,n)}function gr(e,t,n,r,o){e.insertBefore(t,n,r,o)}function Ig(e,t,n){e.appendChild(t,n)}function Tg(e,t,n,r,o){null!==r?gr(e,t,n,r,o):Ig(e,t,n)}function ta(e,t){return e.parentNode(t)}let Xu,Ku,ia,Rg=function xg(e,t,n){return 40&e.type?ht(e,n):null};function na(e,t,n,r){const o=Zu(e,r,t),i=t[X],a=function Ag(e,t,n){return Rg(e,t,n)}(r.parent||t[Je],r,t);if(null!=o)if(Array.isArray(n))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return ia}()?.createScriptURL(e)||e}class Bg{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Lh})`}}function Yn(e){return e instanceof Bg?e.changingThisBreaksApplicationSecurity:e}function ui(e,t){const n=function PM(e){return e instanceof Bg&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${Lh})`)}return n===t}const LM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var ke=(()=>((ke=ke||{})[ke.NONE=0]="NONE",ke[ke.HTML=1]="HTML",ke[ke.STYLE=2]="STYLE",ke[ke.SCRIPT=3]="SCRIPT",ke[ke.URL=4]="URL",ke[ke.RESOURCE_URL=5]="RESOURCE_URL",ke))();function eo(e){const t=di();return t?t.sanitize(ke.URL,e)||"":ui(e,"URL")?Yn(e):function tc(e){return(e=String(e)).match(LM)?e:"unsafe:"+e}(W(e))}function Zg(e){const t=di();if(t)return Ug(t.sanitize(ke.RESOURCE_URL,e)||"");if(ui(e,"ResourceURL"))return Ug(Yn(e));throw new I(904,!1)}function di(){const e=E();return e&&e[cr].sanitizer}class N{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=L({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const fi=new N("ENVIRONMENT_INITIALIZER"),Yg=new N("INJECTOR",-1),Qg=new N("INJECTOR_DEF_TYPES");class Jg{get(t,n=jo){if(n===jo){const r=new Error(`NullInjectorError: No provider for ${Ue(t)}!`);throw r.name="NullInjectorError",r}return n}}function ic(e){return{\u0275providers:e}}function Kg(...e){return{\u0275providers:em(0,e),\u0275fromNgModule:!0}}function em(e,...t){const n=[],r=new Set;let o;return ti(t,i=>{const s=i;sc(s,n,[],r)&&(o||=[],o.push(s))}),void 0!==o&&tm(o,n),n}function tm(e,t){for(let n=0;n{t.push(i)})}}function sc(e,t,n,r){if(!(e=z(e)))return!1;let o=null,i=Hh(e);const s=!i&&ie(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=Hh(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 u of l)sc(u,t,n,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let u;r.add(o);try{ti(i.imports,c=>{sc(c,t,n,r)&&(u||=[],u.push(c))})}finally{}void 0!==u&&tm(u,t)}if(!a){const u=fr(o)||(()=>new o);t.push({provide:o,useFactory:u,deps:oe},{provide:Qg,useValue:o,multi:!0},{provide:fi,useValue:()=>F(o),multi:!0})}const l=i.providers;null==l||a||ac(l,c=>{t.push(c)})}}return o!==e&&void 0!==e.providers}function ac(e,t){for(let n of e)ru(n)&&(n=n.\u0275providers),Array.isArray(n)?ac(n,t):t(n)}const YM=ce({provide:String,useValue:ce});function lc(e){return null!==e&&"object"==typeof e&&YM in e}function mr(e){return"function"==typeof e}const uc=new N("Set Injector scope."),aa={},JM={};let cc;function la(){return void 0===cc&&(cc=new Jg),cc}class fn{}class dc extends fn{get destroyed(){return this._destroyed}constructor(t,n,r,o){super(),this.parent=n,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,hc(t,s=>this.processProvider(s)),this.records.set(Yg,to(void 0,this)),o.has("environment")&&this.records.set(fn,to(void 0,this));const i=this.records.get(uc);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Qg.multi,oe,V.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const n of t)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const n=qn(this),r=ut(void 0);try{return t()}finally{qn(n),ut(r)}}get(t,n=jo,r=V.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(qh))return t[qh](this);r=ws(r);const o=qn(this),i=ut(void 0);try{if(!(r&V.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function rS(e){return"function"==typeof e||"object"==typeof e&&e instanceof N}(t)&&Cs(t);a=l&&this.injectableDefInScope(l)?to(fc(t),aa):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(r&V.Self?la():this.parent).get(t,n=r&V.Optional&&n===jo?null:n)}catch(s){if("NullInjectorError"===s.name){if((s[bs]=s[bs]||[]).unshift(Ue(t)),o)throw s;return function t1(e,t,n,r){const o=e[bs];throw t[$h]&&o.unshift(t[$h]),e.message=function n1(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=Ue(t);if(Array.isArray(t))o=t.map(Ue).join(" -> ");else if("object"==typeof t){let i=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):Ue(a)))}o=`{${i.join(", ")}}`}return`${n}${r?"("+r+")":""}[${o}]: ${e.replace(YE,"\n ")}`}("\n"+e.message,o,n,r),e.ngTokenPath=o,e[bs]=null,e}(s,t,"R3InjectorError",this.source)}throw s}finally{ut(i),qn(o)}}resolveInjectorInitializers(){const t=qn(this),n=ut(void 0);try{const r=this.get(fi.multi,oe,V.Self);for(const o of r)o()}finally{qn(t),ut(n)}}toString(){const t=[],n=this.records;for(const r of n.keys())t.push(Ue(r));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(t){let n=mr(t=z(t))?t:z(t&&t.provide);const r=function eS(e){return lc(e)?to(void 0,e.useValue):to(om(e),aa)}(t);if(mr(t)||!0!==t.multi)this.records.get(n);else{let o=this.records.get(n);o||(o=to(void 0,aa,!0),o.factory=()=>au(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,r)}hydrate(t,n){return n.value===aa&&(n.value=JM,n.value=n.factory()),"object"==typeof n.value&&n.value&&function nS(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=z(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){const n=this._onDestroyHooks.indexOf(t);-1!==n&&this._onDestroyHooks.splice(n,1)}}function fc(e){const t=Cs(e),n=null!==t?t.factory:fr(e);if(null!==n)return n;if(e instanceof N)throw new I(204,!1);if(e instanceof Function)return function KM(e){const t=e.length;if(t>0)throw function ni(e,t){const n=[];for(let r=0;rn.factory(e):()=>new e}(e);throw new I(204,!1)}function om(e,t,n){let r;if(mr(e)){const o=z(e);return fr(o)||fc(o)}if(lc(e))r=()=>z(e.useValue);else if(function rm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...au(e.deps||[]));else if(function nm(e){return!(!e||!e.useExisting)}(e))r=()=>F(z(e.useExisting));else{const o=z(e&&(e.useClass||e.provide));if(!function tS(e){return!!e.deps}(e))return fr(o)||fc(o);r=()=>new o(...au(e.deps))}return r}function to(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function hc(e,t){for(const n of e)Array.isArray(n)?hc(n,t):n&&ru(n)?hc(n.\u0275providers,t):t(n)}const ua=new N("AppId",{providedIn:"root",factory:()=>oS}),oS="ng",im=new N("Platform Initializer"),yr=new N("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),sm=new N("CSP nonce",{providedIn:"root",factory:()=>function li(){if(void 0!==Ku)return Ku;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let lm=(e,t)=>null;function um(e,t){return lm(e,t)}class hS{}class fm{}class gS{resolveComponentFactory(t){throw function pS(e){const t=Error(`No component factory found for ${Ue(e)}.`);return t.ngComponent=e,t}(t)}}let pa=(()=>{class e{}return e.NULL=new gS,e})();function mS(){return no(Xe(),E())}function no(e,t){return new It(ht(e,t))}let It=(()=>{class e{constructor(n){this.nativeElement=n}}return e.__NG_ELEMENT_ID__=mS,e})();function yS(e){return e instanceof It?e.nativeElement:e}class pm{}let Nn=(()=>{class e{constructor(){this.destroyNode=null}}return e.__NG_ELEMENT_ID__=()=>function vS(){const e=E(),n=Mt(Xe().index,e);return(Et(n)?n:e)[X]}(),e})(),_S=(()=>{class e{}return e.\u0275prov=L({token:e,providedIn:"root",factory:()=>null}),e})();class mi{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const CS=new mi("16.1.3"),Ec={};function yi(e){for(;e;){e[Z]|=64;const t=ii(e);if(hu(e)&&!t)return e;e=t}return null}function Mc(e){return e.ngOriginalError}class vr{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&Mc(t);for(;n&&Mc(n);)n=Mc(n);return n||null}}const ym=new N("",{providedIn:"root",factory:()=>!1});function Pn(e){return e instanceof Function?e():e}class bm extends dp{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){yi(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,n,r){const o=Ze(this);this.trackingVersion++;try{t(n,r)}finally{Ze(o)}}destroy(){this.trackingVersion++}}let ma=null;function wm(){return ma??=new bm,ma}function Em(e,t){return e[t]??wm()}function Mm(e,t){const n=wm();n.hasReadASignal&&(e[t]=ma,n.lView=e,ma=new bm)}const Y={};function C(e){Sm(te(),E(),ot()+e,!1)}function Sm(e,t,n,r){if(!r)if(3==(3&t[Z])){const i=e.preOrderCheckHooks;null!==i&&Fs(t,i,n)}else{const i=e.preOrderHooks;null!==i&&Ls(t,i,0,n)}hr(n)}function xm(e,t=null,n=null,r){const o=Rm(e,t,n,r);return o.resolveInjectorInitializers(),o}function Rm(e,t=null,n=null,r,o=new Set){const i=[n||oe,Kg(e)];return r=r||("object"==typeof e?void 0:Ue(e)),new dc(i,t||la(),r||null,o)}let hn=(()=>{class e{static create(n,r){if(Array.isArray(n))return xm({name:""},r,n,"");{const o=n.name??"";return xm({name:o},n.parent,n.providers,o)}}}return e.THROW_IF_NOT_FOUND=jo,e.NULL=new Jg,e.\u0275prov=L({token:e,providedIn:"any",factory:()=>F(Yg)}),e.__NG_ELEMENT_ID__=-1,e})();function M(e,t=V.Default){const n=E();return null===n?F(e,t):Wp(Xe(),n,z(e),t)}function ya(e,t,n,r,o,i,s,a,l,u,c){const d=t.blueprint.slice();return d[Be]=o,d[Z]=140|r,(null!==u||e&&2048&e[Z])&&(d[Z]|=2048),Dp(d),d[be]=d[Lr]=e,d[Pe]=n,d[cr]=s||e&&e[cr],d[X]=a||e&&e[X],d[Fr]=l||e&&e[Fr]||null,d[Je]=i,d[Xo]=function J0(){return Q0++}(),d[Tn]=c,d[ip]=u,d[Oe]=2==t.type?e[Oe]:d,d}function oo(e,t,n,r,o){let i=e.data[t];if(null===i)i=function Sc(e,t,n,r,o){const i=Ip(),s=_u(),l=e.data[t]=function BS(e,t,n,r,o,i){let s=t?t.injectorIndex:-1,a=0;return function Br(){return null!==$.skipHydrationRootTNode}()&&(a|=128),{type:n,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:t,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,n,t,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,t,n,r,o),function K1(){return $.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=n,i.value=r,i.attrs=o;const s=function Qo(){const e=$.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return cn(i,!0),i}function vi(e,t,n,r){if(0===n)return-1;const o=t.length;for(let i=0;iee&&Sm(e,t,ee,!1),un(a?2:0,o),a)i.runInContext(n,r,o);else{const u=Ze(null);try{n(r,o)}finally{Ze(u)}}}finally{a&&null===t[Ss]&&Mm(t,Ss),hr(s),un(a?3:1,o)}}function Ic(e,t,n){if(fu(t)){const r=Ze(null);try{const i=t.directiveEnd;for(let s=t.directiveStart;snull;function Fm(e,t,n,r){for(let o in e)if(e.hasOwnProperty(o)){n=null===n?{}:n;const i=e[o];null===r?Lm(n,t,o,i):r.hasOwnProperty(o)&&Lm(n,t,r[o],i)}return n}function Lm(e,t,n,r){e.hasOwnProperty(n)?e[n].push(t,r):e[n]=[t,r]}function Tt(e,t,n,r,o,i,s,a){const l=ht(t,n);let c,u=t.inputs;!a&&null!=u&&(c=u[r])?(kc(e,n,c,r,o),dr(t)&&function GS(e,t){const n=Mt(t,e);16&n[Z]||(n[Z]|=64)}(n,t.index)):3&t.type&&(r=function $S(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,t.value||"",r):o,i.setProperty(l,r,o))}function Rc(e,t,n,r){if(Sp()){const o=null===r?null:{"":-1},i=function YS(e,t){const n=e.directiveRegistry;let r=null,o=null;if(n)for(let i=0;i0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(s)!=a&&s.push(a),s.push(n,r,i)}}(e,t,r,vi(e,n,o.hostVars,Y),o)}function pn(e,t,n,r,o,i){const s=ht(e,t);!function Pc(e,t,n,r,o,i,s){if(null==i)e.removeAttribute(t,o,n);else{const a=null==s?W(i):s(i,r||"",o);e.setAttribute(t,o,a,n)}}(t[X],s,i,e.value,n,r,o)}function nI(e,t,n,r,o,i){const s=i[t];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(n,r,o){const i=typeof Zone>"u"?null:Zone.current,s=new R1(n,u=>{this.all.has(u)&&this.queue.set(u,i)},o);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=r?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return e.\u0275prov=L({token:e,providedIn:"root",factory:()=>new e}),e})();function _a(e,t,n){let r=n?e.styles:null,o=n?e.classes:null,i=0;if(null!==t)for(let s=0;s0){Xm(e,1);const o=e[A].components;null!==o&&Qm(e,o,1)}}function Qm(e,t,n){for(let r=0;r-1&&(qu(t,r),Gs(n,r))}this._attachedToViewContainer=!1}Mg(this._lView[A],this._lView)}onDestroy(t){!function Ep(e,t){if(256==(256&e[Z]))throw new I(911,!1);null===e[Wn]&&(e[Wn]=[]),e[Wn].push(t)}(this._lView,t)}markForCheck(){yi(this._cdRefInjectingView||this._lView)}detach(){this._lView[Z]&=-129}reattach(){this._lView[Z]|=128}detectChanges(){Ca(this._lView[A],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function fM(e,t){ai(e,t,t[X],2,null,null)}(this._lView[A],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=t}}class hI extends Ci{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Ca(t[A],t,t[Pe],!1)}checkNoChanges(){}get context(){return null}}class Jm extends pa{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=ie(t);return new Di(n,this.ngModule)}}function Km(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class gI{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){r=ws(r);const o=this.injector.get(t,Ec,r);return o!==Ec||n===Ec?o:this.parentInjector.get(t,n,r)}}class Di extends fm{get inputs(){const t=this.componentDef,n=t.inputTransforms,r=Km(t.inputs);if(null!==n)for(const o of r)n.hasOwnProperty(o.propName)&&(o.transform=n[o.propName]);return r}get outputs(){return Km(this.componentDef.outputs)}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function f1(e){return e.map(d1).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}create(t,n,r,o){let i=(o=o||this.ngModule)instanceof fn?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new gI(t,i):t,a=s.get(pm,null);if(null===a)throw new I(407,!1);const c={rendererFactory:a,sanitizer:s.get(_S,null),effectManager:s.get(Wm,null)},d=a.createRenderer(null,this.componentDef),g=this.componentDef.selectors[0][0]||"div",m=r?function FS(e,t,n,r){const i=r.get(ym,!1)||n===Dt.ShadowDom,s=e.selectRootElement(t,i);return function LS(e){km(e)}(s),s}(d,r,this.componentDef.encapsulation,s):ea(d,g,function pI(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(g)),b=this.componentDef.signals?4608:this.componentDef.onPush?576:528,S=xc(0,null,null,1,0,null,null,null,null,null,null),D=ya(null,S,null,b,null,null,c,d,s,null,null);let x,U;Eu(D);try{const q=this.componentDef;let ze,$l=null;q.findHostDirectiveDefs?(ze=[],$l=new Map,q.findHostDirectiveDefs(q,ze,$l),ze.push(q)):ze=[q];const l3=function yI(e,t){const n=e[A],r=ee;return e[r]=t,oo(n,r,2,"#host",null)}(D,m),u3=function vI(e,t,n,r,o,i,s){const a=o[A];!function _I(e,t,n,r){for(const o of e)t.mergedAttrs=zo(t.mergedAttrs,o.hostAttrs);null!==t.mergedAttrs&&(_a(t,t.mergedAttrs,!0),null!==n&&Lg(r,n,t))}(r,e,t,s);let l=null;null!==t&&(l=um(t,o[Fr]));const u=i.rendererFactory.createRenderer(t,n);let c=16;n.signals?c=4096:n.onPush&&(c=64);const d=ya(o,Om(n),null,c,o[e.index],e,i,u,null,null,l);return a.firstCreatePass&&Nc(a,e,r.length-1),va(o,d),o[e.index]=d}(l3,m,q,ze,D,c,d);U=Cp(S,ee),m&&function DI(e,t,n,r){if(r)cu(e,n,["ng-version",CS.full]);else{const{attrs:o,classes:i}=function h1(e){const t=[],n=[];let r=1,o=2;for(;r0&&Fg(e,n,i.join(" "))}}(d,q,m,r),void 0!==n&&function bI(e,t,n){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=t+=o.hostVars,o.hostAttrs=zo(o.hostAttrs,n=zo(n,o.hostAttrs))}}(r)}function Da(e){return e===on?{}:e===oe?[]:e}function MI(e,t){const n=e.viewQuery;e.viewQuery=n?(r,o)=>{t(r,o),n(r,o)}:t}function SI(e,t){const n=e.contentQueries;e.contentQueries=n?(r,o,i)=>{t(r,o,i),n(r,o,i)}:t}function II(e,t){const n=e.hostBindings;e.hostBindings=n?(r,o)=>{t(r,o),n(r,o)}:t}function oy(e){const t=e.inputConfig,n={};for(const r in t)if(t.hasOwnProperty(r)){const o=t[r];Array.isArray(o)&&o[2]&&(n[r]=o[2])}e.inputTransforms=n}function ba(e){return!!Lc(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Lc(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function gn(e,t,n){return e[t]=n}function tt(e,t,n){return!Object.is(e[t],n)&&(e[t]=n,!0)}function zt(e,t,n,r){const o=E();return tt(o,jr(),t)&&(te(),pn(we(),o,e,t,n,r)),zt}function so(e,t,n,r){return tt(e,jr(),n)?t+W(n)+r:Y}function O(e,t,n,r,o,i,s,a){const l=E(),u=te(),c=e+ee,d=u.firstCreatePass?function JI(e,t,n,r,o,i,s,a,l){const u=t.consts,c=oo(t,e,4,s||null,Zn(u,a));Rc(t,n,c,Zn(u,l)),ks(t,c);const d=c.tView=xc(2,c,r,o,i,t.directiveRegistry,t.pipeRegistry,null,t.schemas,u,null);return null!==t.queries&&(t.queries.template(t,c),d.queries=t.queries.embeddedTView(c)),c}(c,u,l,t,n,r,o,i,s):u.data[c];cn(d,!1);const g=yy(u,l,d,e);Os()&&na(u,l,g,d),et(g,l),va(l,l[c]=Bm(g,l,g,d)),As(d)&&Tc(u,l,d),null!=s&&Ac(l,d,a)}let yy=function vy(e,t,n,r){return Xn(!0),t[X].createComment("")};function $c(e){return function Ur(e,t){return e[t]}(function J1(){return $.lFrame.contextLView}(),ee+e)}function w(e,t,n){const r=E();return tt(r,jr(),t)&&Tt(te(),we(),r,e,t,r[X],n,!1),w}function Gc(e,t,n,r,o){const s=o?"class":"style";kc(e,n,t.inputs[s],s,r)}function h(e,t,n,r){const o=E(),i=te(),s=ee+e,a=o[X],l=i.firstCreatePass?function nT(e,t,n,r,o,i){const s=t.consts,l=oo(t,e,2,r,Zn(s,o));return Rc(t,n,l,Zn(s,i)),null!==l.attrs&&_a(l,l.attrs,!1),null!==l.mergedAttrs&&_a(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(s,i,o,t,n,r):i.data[s],u=_y(i,o,l,a,t,e);o[s]=u;const c=As(l);return cn(l,!0),Lg(a,u,l),32!=(32&l.flags)&&Os()&&na(i,o,u,l),0===function G1(){return $.lFrame.elementDepthCount}()&&et(u,o),function z1(){$.lFrame.elementDepthCount++}(),c&&(Tc(i,o,l),Ic(i,l,o)),null!==r&&Ac(o,l),h}function p(){let e=Xe();_u()?Cu():(e=e.parent,cn(e,!1));const t=e;(function W1(e){return $.skipHydrationRootTNode===e})(t)&&function Q1(){$.skipHydrationRootTNode=null}(),function q1(){$.lFrame.elementDepthCount--}();const n=te();return n.firstCreatePass&&(ks(n,e),fu(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function h0(e){return 0!=(8&e.flags)}(t)&&Gc(n,t,E(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function p0(e){return 0!=(16&e.flags)}(t)&&Gc(n,t,E(),t.stylesWithoutHost,!1),p}function y(e,t,n,r){return h(e,t,n,r),p(),y}let _y=(e,t,n,r,o,i)=>(Xn(!0),ea(r,o,function Lp(){return $.lFrame.currentNamespace}()));function mt(e,t,n){const r=E(),o=te(),i=e+ee,s=o.firstCreatePass?function iT(e,t,n,r,o){const i=t.consts,s=Zn(i,r),a=oo(t,e,8,"ng-container",s);return null!==s&&_a(a,s,!0),Rc(t,n,a,Zn(i,o)),null!==t.queries&&t.queries.elementStart(t,a),a}(i,o,r,t,n):o.data[i];cn(s,!0);const a=Dy(o,r,s,e);return r[i]=a,Os()&&na(o,r,a,s),et(a,r),As(s)&&(Tc(o,r,s),Ic(o,s,r)),null!=n&&Ac(r,s),mt}function yt(){let e=Xe();const t=te();return _u()?Cu():(e=e.parent,cn(e,!1)),t.firstCreatePass&&(ks(t,e),fu(e)&&t.queries.elementEnd(e)),yt}let Dy=(e,t,n,r)=>(Xn(!0),zu(t[X],""));function Ae(){return E()}function Si(e){return!!e&&"function"==typeof e.then}function by(e){return!!e&&"function"==typeof e.subscribe}function P(e,t,n,r){const o=E(),i=te(),s=Xe();return function Ey(e,t,n,r,o,i,s){const a=As(r),u=e.firstCreatePass&&Gm(e),c=t[Pe],d=$m(t);let g=!0;if(3&r.type||s){const _=ht(r,t),b=s?s(_):_,S=d.length,D=s?U=>s(ve(U[r.index])):r.index;let x=null;if(!s&&a&&(x=function lT(e,t,n,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,t,o,r.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=i,x.__ngLastListenerFn__=i,g=!1;else{i=Sy(r,t,c,i,!1);const U=n.listen(b,o,i);d.push(i,U),u&&u.push(o,D,S,S+1)}}else i=Sy(r,t,c,i,!1);const m=r.outputs;let v;if(g&&null!==m&&(v=m[o])){const _=v.length;if(_)for(let b=0;b<_;b+=2){const q=t[v[b]][v[b+1]].subscribe(i),ze=d.length;d.push(i,q),u&&u.push(o,r.index,ze,-(ze+1))}}}(i,o,o[X],s,e,t,r),P}function My(e,t,n,r){try{return un(6,t,n),!1!==n(r)}catch(o){return qm(e,o),!1}finally{un(7,t,n)}}function Sy(e,t,n,r,o){return function i(s){if(s===Function)return r;yi(e.componentOffset>-1?Mt(e.index,t):t);let l=My(t,n,r,s),u=i.__ngNextListenerFn__;for(;u;)l=My(t,n,u,s)&&l,u=u.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function k(e=1){return function r0(e){return($.lFrame.contextLView=function o0(e,t){for(;e>0;)t=t[Lr],e--;return t}(e,$.lFrame.contextLView))[Pe]}(e)}function kn(e,t,n,r,o){const i=E(),s=so(i,t,n,r);return s!==Y&&Tt(te(),we(),i,e,s,i[X],o,!1),kn}function Ia(e,t){return e<<17|t<<2}function Qn(e){return e>>17&32767}function zc(e){return 2|e}function Cr(e){return(131068&e)>>2}function qc(e,t){return-131069&e|t<<2}function Wc(e){return 1|e}function Fy(e,t,n,r,o){const i=e[n+1],s=null===t;let a=r?Qn(i):Cr(i),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];yT(e[a],t)&&(l=!0,e[a+1]=r?Wc(c):zc(c)),a=r?Qn(c):Cr(c)}l&&(e[n+1]=r?zc(i):Wc(i))}function yT(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Xr(e,t)>=0}function Ta(e,t){return function qt(e,t,n,r){const o=E(),i=te(),s=function xn(e){const t=$.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}(2);i.firstUpdatePass&&function zy(e,t,n,r){const o=e.data;if(null===o[n+1]){const i=o[ot()],s=function Gy(e,t){return t>=e.expandoStartIndex}(e,n);(function Xy(e,t){return 0!=(e.flags&(t?8:16))})(i,r)&&null===t&&!s&&(t=!1),t=function ST(e,t,n,r){const o=function bu(e){const t=$.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let i=r?t.residualClasses:t.residualStyles;if(null===o)0===(r?t.classBindings:t.styleBindings)&&(n=Ii(n=Zc(null,e,t,n,r),t.attrs,r),i=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==o)if(n=Zc(o,e,t,n,r),null===i){let l=function IT(e,t,n){const r=n?t.classBindings:t.styleBindings;if(0!==Cr(r))return e[Qn(r)]}(e,t,r);void 0!==l&&Array.isArray(l)&&(l=Zc(null,e,t,l[1],r),l=Ii(l,t.attrs,r),function TT(e,t,n,r){e[Qn(n?t.classBindings:t.styleBindings)]=r}(e,t,r,l))}else i=function AT(e,t,n){let r;const o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0)&&(u=!0)):c=n,o)if(0!==l){const g=Qn(e[a+1]);e[r+1]=Ia(g,a),0!==g&&(e[g+1]=qc(e[g+1],r)),e[a+1]=function hT(e,t){return 131071&e|t<<17}(e[a+1],r)}else e[r+1]=Ia(a,0),0!==a&&(e[a+1]=qc(e[a+1],r)),a=r;else e[r+1]=Ia(l,0),0===a?a=r:e[l+1]=qc(e[l+1],r),l=r;u&&(e[r+1]=zc(e[r+1])),Fy(e,c,r,!0),Fy(e,c,r,!1),function mT(e,t,n,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof t&&Xr(i,t)>=0&&(n[r+1]=Wc(n[r+1]))}(t,c,e,r,i),s=Ia(a,l),i?t.classBindings=s:t.styleBindings=s}(o,i,t,n,s,r)}}(i,e,s,r),t!==Y&&tt(o,s,t)&&function Wy(e,t,n,r,o,i,s,a){if(!(3&t.type))return;const l=e.data,u=l[a+1],c=function pT(e){return 1==(1&e)}(u)?Zy(l,t,n,o,Cr(u),s):void 0;Aa(c)||(Aa(i)||function fT(e){return 2==(2&e)}(u)&&(i=Zy(l,null,n,o,a,s)),function bM(e,t,n,r,o){if(t)o?e.addClass(n,r):e.removeClass(n,r);else{let i=-1===r.indexOf("-")?void 0:pt.DashCase;null==o?e.removeStyle(n,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=pt.Important),e.setStyle(n,r,o,i))}}(r,s,Ps(ot(),n),o,i))}(i,i.data[ot()],o,o[X],e,o[s+1]=function PT(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Ue(Yn(e)))),e}(t,n),r,s)}(e,t,null,!0),Ta}function Zc(e,t,n,r,o){let i=null;const s=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const l=e[o],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let g=n[o+1];g===Y&&(g=d?oe:void 0);let m=d?Ou(g,r):c===r?g:void 0;if(u&&!Aa(m)&&(m=Ou(l,r)),Aa(m)&&(a=m,s))return a;const v=e[o+1];o=s?Qn(v):Cr(v)}if(null!==t){let l=i?t.residualClasses:t.residualStyles;null!=l&&(a=Ou(l,r))}return a}function Aa(e){return void 0!==e}function f(e,t=""){const n=E(),r=te(),o=e+ee,i=r.firstCreatePass?oo(r,o,1,t,null):r.data[o],s=Yy(r,n,i,t,e);n[o]=s,Os()&&na(r,n,s,i),cn(i,!1)}let Yy=(e,t,n,r,o)=>(Xn(!0),function Ks(e,t){return e.createText(t)}(t[X],r));function _e(e){return Fn("",e,""),_e}function Fn(e,t,n){const r=E(),o=so(r,e,t,n);return o!==Y&&function On(e,t,n){const r=Ps(t,e);!function wg(e,t,n){e.setValue(t,n)}(e[X],r,n)}(r,ot(),o),Fn}const yo="en-US";let vv=yo;function Qc(e,t,n,r,o){if(e=z(e),Array.isArray(e))for(let i=0;i>20;if(mr(e)||!e.multi){const m=new Jo(l,o,M),v=Kc(a,t,o?c:c+g,d);-1===v?(Ru(Bs(u,s),i,a),Jc(i,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(m),s.push(m)):(n[v]=m,s[v]=m)}else{const m=Kc(a,t,c+g,d),v=Kc(a,t,c,c+g),b=v>=0&&n[v];if(o&&!b||!o&&!(m>=0&&n[m])){Ru(Bs(u,s),i,a);const S=function KA(e,t,n,r,o){const i=new Jo(e,n,M);return i.multi=[],i.index=t,i.componentProviders=0,$v(i,o,r&&!n),i}(o?JA:QA,n.length,o,r,l);!o&&b&&(n[v].providerFactory=S),Jc(i,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(S),s.push(S)}else Jc(i,e,m>-1?m:v,$v(n[o?v:m],l,!o&&r));!o&&r&&b&&n[v].componentProviders++}}}function Jc(e,t,n,r){const o=mr(t),i=function QM(e){return!!e.useClass}(t);if(o||i){const l=(i?z(t.useClass):t).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){const c=u.indexOf(n);-1===c?u.push(n,[r,l]):u[c+1].push(r,l)}else u.push(n,l)}}}function $v(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Kc(e,t,n,r){for(let o=n;o{n.providersResolver=(r,o)=>function YA(e,t,n){const r=te();if(r.firstCreatePass){const o=Gt(e);Qc(n,r.data,r.blueprint,o,!0),Qc(t,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,t)}}class vo{}class Gv{}class td extends vo{constructor(t,n,r){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Jm(this);const o=wt(t);this._bootstrapComponents=Pn(o.bootstrap),this._r3Injector=Rm(t,n,[{provide:vo,useValue:this},{provide:pa,useValue:this.componentFactoryResolver},...r],Ue(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class nd extends Gv{constructor(t){super(),this.moduleType=t}create(t){return new td(this.moduleType,t,[])}}class zv extends vo{constructor(t){super(),this.componentFactoryResolver=new Jm(this),this.instance=null;const n=new dc([...t.providers,{provide:vo,useValue:this},{provide:pa,useValue:this.componentFactoryResolver}],t.parent||la(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function rd(e,t,n=null){return new zv({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}let nx=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n.id)){const r=em(0,n.type),o=r.length>0?rd([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n.id,o)}return this.cachedInjectors.get(n.id)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=L({token:e,providedIn:"environment",factory:()=>new e(F(fn))}),e})();function At(e){e.getStandaloneInjector=t=>t.get(nx).getOrCreateStandaloneInjector(e)}function ne(e,t,n){const r=rt()+e,o=E();return o[r]===Y?gn(o,r,n?t.call(n):t()):function bi(e,t){return e[t]}(o,r)}function Pi(e,t,n,r){return function Kv(e,t,n,r,o,i){const s=t+n;return tt(e,s,o)?gn(e,s+1,i?r.call(i,o):r(o)):Oi(e,s+1)}(E(),rt(),e,t,n,r)}function Jv(e,t,n,r,o){return function e_(e,t,n,r,o,i,s){const a=t+n;return function _r(e,t,n,r){const o=tt(e,t,n);return tt(e,t+1,r)||o}(e,a,o,i)?gn(e,a+2,s?r.call(s,o,i):r(o,i)):Oi(e,a+2)}(E(),rt(),e,t,n,r,o)}function Oi(e,t){const n=e[t];return n===Y?void 0:n}function id(e){return t=>{setTimeout(e,void 0,t)}}const Ie=class Mx extends wn{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,r){let o=t,i=n||(()=>null),s=r;if(t&&"object"==typeof t){const l=t;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=id(i),o&&(o=id(o)),s&&(s=id(s)));const a=super.subscribe({next:o,error:i,complete:s});return t instanceof Nt&&t.add(a),a}};function Sx(){return this._results[Symbol.iterator]()}class sd{get changes(){return this._changes||(this._changes=new Ie)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const n=sd.prototype;n[Symbol.iterator]||(n[Symbol.iterator]=Sx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){const r=this;r.dirty=!1;const o=function Ft(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function M0(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r{class e{}return e.__NG_ELEMENT_ID__=Ax,e})();const Ix=Ln,Tx=class extends Ix{constructor(t,n,r){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,n){return this.createEmbeddedViewImpl(t,n,null)}createEmbeddedViewImpl(t,n,r){const s=this._declarationTContainer.tView,a=ya(this._declarationLView,s,t,4096&this._declarationLView[Z]?4096:16,null,s.declTNode,null,null,null,n||null,r||null);a[Zo]=this._declarationLView[this._declarationTContainer.index];const u=this._declarationLView[sn];return null!==u&&(a[sn]=u.createEmbeddedView(s)),Fc(s,a,t),new Ci(a)}};function Ax(){return Oa(Xe(),E())}function Oa(e,t){return 4&e.type?new Tx(t,e,no(e,t)):null}let Zt=(()=>{class e{}return e.__NG_ELEMENT_ID__=Fx,e})();function Fx(){return u_(Xe(),E())}const Lx=Zt,a_=class extends Lx{constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return no(this._hostTNode,this._hostLView)}get injector(){return new Gr(this._hostTNode,this._hostLView)}get parentInjector(){const t=xu(this._hostTNode,this._hostLView);if(Bp(t)){const n=Hs(t,this._hostLView),r=Vs(t);return new Gr(n[A].data[r+8],n)}return new Gr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=l_(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-Ke}createEmbeddedView(t,n,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const a=t.createEmbeddedViewImpl(n||{},i,null);return this.insertImpl(a,o,false),a}createComponent(t,n,r,o,i){const s=t&&!function ei(e){return"function"==typeof e}(t);let a;if(s)a=n;else{const _=n||{};a=_.index,r=_.injector,o=_.projectableNodes,i=_.environmentInjector||_.ngModuleRef}const l=s?t:new Di(ie(t)),u=r||this.parentInjector;if(!i&&null==l.ngModule){const b=(s?u:this.parentInjector).get(fn,null);b&&(i=b)}ie(l.componentType??{});const m=l.create(u,o,null,i);return this.insertImpl(m.hostView,a,false),m}insert(t,n){return this.insertImpl(t,n,!1)}insertImpl(t,n,r){const o=t._lView,i=o[A];if(function B1(e){return ft(e[be])}(o)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const u=o[be],c=new a_(u,u[Je],u[be]);c.detach(c.indexOf(t))}}const s=this._adjustIndex(n),a=this._lContainer;if(function pM(e,t,n,r){const o=Ke+r,i=n.length;r>0&&(n[o-1][$t]=t),r0)r.push(s[a/2]);else{const u=i[a+1],c=t[-l];for(let d=Ke;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=R(_d,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const o of this.appInits){const i=o();if(Si(i))n.push(i);else if(by(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});n.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),0===n.length&&r(),this.initialized=!0}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),F_=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Vn=new N("LocaleId",{providedIn:"root",factory:()=>R(Vn,V.Optional|V.SkipSelf)||function gR(){return typeof $localize<"u"&&$localize.locale||yo}()});let Fa=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Pt(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class yR{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let L_=(()=>{class e{compileModuleSync(n){return new nd(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const r=this.compileModuleSync(n),i=Pn(wt(n).declarations).reduce((s,a)=>{const l=ie(a);return l&&s.push(new Di(l)),s},[]);return new yR(r,i)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function U_(...e){}class Ee{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ie(!1),this.onMicrotaskEmpty=new Ie(!1),this.onStable=new Ie(!1),this.onError=new Ie(!1),typeof Zone>"u")throw new I(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)),t&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&n,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function CR(){let e=ge.requestAnimationFrame,t=ge.cancelAnimationFrame;if(typeof Zone<"u"&&e&&t){const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function wR(e){const t=()=>{!function bR(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ge,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,bd(e),e.isCheckStableRunning=!0,Dd(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),bd(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,o,i,s,a)=>{try{return B_(e),n.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&t(),j_(e)}},onInvoke:(n,r,o,i,s,a,l)=>{try{return B_(e),n.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),j_(e)}},onHasTask:(n,r,o,i)=>{n.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,bd(e),Dd(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(n,r,o,i)=>(n.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(!Ee.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(Ee.isInAngularZone())throw new I(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,DR,U_,U_);try{return i.runTask(s,n,r)}finally{i.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}}const DR={};function Dd(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 bd(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function B_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function j_(e){e._nesting--,Dd(e)}const $_=new N("",{providedIn:"root",factory:G_});function G_(){const e=R(Ee);let t=!0;return function LE(...e){const t=Bo(e),n=function xE(e,t){return"number"==typeof Kl(e)?e.pop():t}(e,1/0),r=e;return r.length?1===r.length?en(r[0]):Nr(n)(Ne(r,t)):tn}(new Te(o=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(t),o.complete()})}),new Te(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{Ee.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{Ee.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(Fh()))}const z_=new N(""),La=new N("");let Md,wd=(()=>{class e{constructor(n,r,o){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Md||(function MR(e){Md=e}(o),o.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Ee.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 n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:i,updateCb:o})}whenStable(n,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(n,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,o){return[]}}return e.\u0275fac=function(n){return new(n||e)(F(Ee),F(Ed),F(La))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})(),Ed=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Md?.findTestabilityInTree(this,n,r)??null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),Jn=null;const Sd=new N("PlatformDestroyListeners"),Id=new N("appBootstrapListener");class Z_{constructor(t,n){this.name=t,this.token=n}}function xR(e){try{const{rootComponent:t,appProviders:n,platformProviders:r}=e,o=function AR(e=[]){if(Jn)return Jn;const t=function Y_(e=[],t){return hn.create({name:t,providers:[{provide:uc,useValue:"platform"},{provide:Sd,useValue:new Set([()=>Jn=null])},...e]})}(e);return Jn=t,function W_(){!function A1(e){fp=e}(()=>{throw new I(600,!1)})}(),function X_(e){e.get(im,null)?.forEach(n=>n())}(t),t}(r),i=[kR(),...n||[]],a=new zv({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(Ee);return l.run(()=>{a.resolveInjectorInitializers();const u=a.get(vr,null);let c;l.runOutsideAngular(()=>{c=l.onError.subscribe({next:m=>{u.handleError(m)}})});const d=()=>a.destroy(),g=o.get(Sd);return g.add(d),a.onDestroy(()=>{c.unsubscribe(),g.delete(d)}),function K_(e,t,n){try{const r=n();return Si(r)?r.catch(o=>{throw t.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(u,l,()=>{const m=a.get(Cd);return m.runInitializers(),m.donePromise.then(()=>{!function _v(e){Ot(e,"Expected localeId to be defined"),"string"==typeof e&&(vv=e.toLowerCase().replace(/_/g,"-"))}(a.get(Vn,yo)||yo);const _=a.get(Do);return void 0!==t&&_.bootstrap(t),_})})})}catch(t){return Promise.reject(t)}}let Do=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=R(nC),this.zoneIsStable=R($_),this.componentTypes=[],this.components=[],this.isStable=R(Fa).hasPendingTasks.pipe(Bt(n=>n?j(!1):this.zoneIsStable),function VE(e,t=$n){return e=e??HE,qe((n,r)=>{let o,i=!0;n.subscribe(He(r,s=>{const a=t(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),Fh()),this._injector=R(fn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const o=n instanceof fm;if(!this._injector.get(Cd).done)throw!o&&function Or(e){const t=ie(e)||Qe(e)||dt(e);return null!==t&&t.standalone}(n),new I(405,!1);let s;s=o?n:this._injector.get(pa).resolveComponentFactory(n),this.componentTypes.push(s.componentType);const a=function IR(e){return e.isBoundToModule}(s)?void 0:this._injector.get(vo),u=s.create(hn.NULL,[],r||s.selector,a),c=u.location.nativeElement,d=u.injector.get(z_,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),Va(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Va(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(Id,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Va(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new I(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Va(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const nC=new N("",{providedIn:"root",factory:()=>R(vr).handleError.bind(void 0)});function PR(){const e=R(Ee),t=R(vr);return n=>e.runOutsideAngular(()=>t.handleError(n))}let OR=(()=>{class e{constructor(){this.zone=R(Ee),this.applicationRef=R(Do)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function rC(e){return[{provide:Ee,useFactory:e},{provide:fi,multi:!0,useFactory:()=>{const t=R(OR,{optional:!0});return()=>t.initialize()}},{provide:nC,useFactory:PR},{provide:$_,useFactory:G_}]}function kR(e){return ic([[],rC(()=>new Ee(function J_(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}let Ha=(()=>{class e{}return e.__NG_ELEMENT_ID__=FR,e})();function FR(e){return function LR(e,t,n){if(dr(e)&&!n){const r=Mt(e.index,t);return new Ci(r,r)}return 47&e.type?new Ci(t[Oe],t):null}(Xe(),E(),16==(16&e))}class aC{constructor(){}supports(t){return ba(t)}create(t){return new $R(t)}}const jR=(e,t)=>t;class $R{constructor(t){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=t||jR}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,o=0,i=null;for(;n||r;){const s=!r||n&&n.currentIndex{s=this._trackByFn(o,a),null!==n&&Object.is(n.trackById,s)?(r&&(n=this._verifyReinsertion(n,a,s,o)),Object.is(n.item,a)||this._addIdentityChange(n,a)):(n=this._mismatch(n,a,s,o),r=!0),n=n._next,o++}),this.length=o;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,r,o){let i;return null===t?i=this._itTail:(i=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,i,o)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,i,o)):t=this._addAfter(new GR(n,r),i,o),t}_verifyReinsertion(t,n,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?t=this._reinsertAfter(i,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}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(t,n,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const o=t._prevRemoved,i=t._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){const o=null===n?this._itHead:n._next;return t._next=o,t._prev=n,null===o?this._itTail=t:o._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new lC),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,r=t._next;return null===n?this._itHead=r:n._next=r,null===r?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new lC),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class GR{constructor(t,n){this.item=t,this.trackById=n,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 zR{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===n||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){const n=t._prevDup,r=t._nextDup;return null===n?this._head=r:n._nextDup=r,null===r?this._tail=n:r._prevDup=n,null===this._head}}class lC{constructor(){this.map=new Map}put(t){const n=t.trackById;let r=this.map.get(n);r||(r=new zR,this.map.set(n,r)),r.add(t)}get(t,n){const o=this.map.get(t);return o?o.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function uC(e,t,n){const r=e.previousIndex;if(null===r)return r;let o=0;return n&&r{if(n&&n.key===o)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{const i=this._getOrCreateRecordForKey(o,r);n=this._insertBeforeOrAppend(n,i)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;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(t,n){if(t){const r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const o=this._records.get(t);this._maybeAddToChanges(o,n);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 WR(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}}class WR{constructor(t){this.key=t,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 dC(){return new ja([new aC])}let ja=(()=>{class e{constructor(n){this.factories=n}static create(n,r){if(null!=r){const o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||dC()),deps:[[e,new Ws,new qs]]}}find(n){const r=this.factories.find(o=>o.supports(n));if(null!=r)return r;throw new I(901,!1)}}return e.\u0275prov=L({token:e,providedIn:"root",factory:dC}),e})();function fC(){return new Li([new cC])}let Li=(()=>{class e{constructor(n){this.factories=n}static create(n,r){if(r){const o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||fC()),deps:[[e,new Ws,new qs]]}}find(n){const r=this.factories.find(o=>o.supports(n));if(r)return r;throw new I(901,!1)}}return e.\u0275prov=L({token:e,providedIn:"root",factory:fC}),e})(),YR=(()=>{class e{constructor(n){}}return e.\u0275fac=function(n){return new(n||e)(F(Do))},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})();function bo(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const me_apiBaseUrl="https://www.palmmedia.de/api/";let kd=null;function Kn(){return kd}class lN{}const vt=new N("DocumentToken");let Fd=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(cN)},providedIn:"platform"}),e})();const uN=new N("Location Initialized");let cN=(()=>{class e extends Fd{constructor(){super(),this._doc=R(vt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kn().getBaseHref(this._doc)}onPopState(n){const r=Kn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){const r=Kn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}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(n){this._location.pathname=n}pushState(n,r,o){this._history.pushState(n,r,o)}replaceState(n,r,o){this._history.replaceState(n,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new e},providedIn:"platform"}),e})();function Ld(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function _C(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Hn(e){return e&&"?"!==e[0]?"?"+e:e}let wr=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(DC)},providedIn:"root"}),e})();const CC=new N("appBaseHref");let DC=(()=>{class e extends wr{constructor(n,r){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??R(vt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Ld(this._baseHref,n)}path(n=!1){const r=this._platformLocation.pathname+Hn(this._platformLocation.search),o=this._platformLocation.hash;return o&&n?`${r}${o}`:r}pushState(n,r,o,i){const s=this.prepareExternalUrl(o+Hn(i));this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){const s=this.prepareExternalUrl(o+Hn(i));this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(F(Fd),F(CC,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),dN=(()=>{class e extends wr{constructor(n,r){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(n){const r=Ld(this._baseHref,n);return r.length>0?"#"+r:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+Hn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+Hn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(F(Fd),F(CC,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})(),Vd=(()=>{class e{constructor(n){this._subject=new Ie,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const r=this._locationStrategy.getBaseHref();this._basePath=function pN(e){if(new RegExp("^(https?:)?//").test(e)){const[,n]=e.split(/\/\/[^\/]+/);return n}return e}(_C(bC(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(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+Hn(r))}normalize(n){return e.stripTrailingSlash(function hN(e,t){if(!e||!t.startsWith(e))return t;const n=t.substring(e.length);return""===n||["/",";","?","#"].includes(n[0])?n:t}(this._basePath,bC(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",o=null){this._locationStrategy.pushState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Hn(r)),o)}replaceState(n,r="",o=null){this._locationStrategy.replaceState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Hn(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(o=>o(n,r))}subscribe(n,r,o){return this._subject.subscribe({next:n,error:r,complete:o})}}return e.normalizeQueryParams=Hn,e.joinWithSlash=Ld,e.stripTrailingSlash=_C,e.\u0275fac=function(n){return new(n||e)(F(wr))},e.\u0275prov=L({token:e,factory:function(){return function fN(){return new Vd(F(wr))}()},providedIn:"root"}),e})();function bC(e){return e.replace(/\/index.html$/,"")}function RC(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const r=n.indexOf("="),[o,i]=-1==r?[n,""]:[n.slice(0,r),n.slice(r+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}const Zd=/\s+/,NC=[];let Ka=(()=>{class e{constructor(n,r,o,i){this._iterableDiffers=n,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=NC,this.stateMap=new Map}set klass(n){this.initialClasses=null!=n?n.trim().split(Zd):NC}set ngClass(n){this.rawClass="string"==typeof n?n.trim().split(Zd):n}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(const r of n)this._updateState(r,!0);else if(null!=n)for(const r of Object.keys(n))this._updateState(r,!!n[r]);this._applyStateDiff()}_updateState(n,r){const o=this.stateMap.get(n);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(n,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const n of this.stateMap){const r=n[0],o=n[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(n,r){(n=n.trim()).length>0&&n.split(Zd).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return e.\u0275fac=function(n){return new(n||e)(M(ja),M(Li),M(It),M(Nn))},e.\u0275dir=G({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),e})();class JN{constructor(t,n,r,o){this.$implicit=t,this.ngForOf=n,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 Xd=(()=>{class e{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,o){this._viewContainer=n,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new JN(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),OC(a,o)}});for(let o=0,i=r.length;o{OC(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(n,r){return!0}}return e.\u0275fac=function(n){return new(n||e)(M(Zt),M(Ln),M(ja))},e.\u0275dir=G({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function OC(e,t){e.context.$implicit=t.item}let el=(()=>{class e{constructor(n,r){this._viewContainer=n,this._context=new KN,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){kC("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){kC("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return e.\u0275fac=function(n){return new(n||e)(M(Zt),M(Ln))},e.\u0275dir=G({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),e})();class KN{constructor(){this.$implicit=null,this.ngIf=null}}function kC(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Ue(t)}'.`)}let EP=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})();function HC(e){return"server"===e}let TP=(()=>{class e{}return e.\u0275prov=L({token:e,providedIn:"root",factory:()=>new AP(F(vt),window)}),e})();class AP{constructor(t,n){this.document=t,this.window=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const n=function xP(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;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(t)||i.querySelector(`[name="${t}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,t);n&&(this.scrollToElement(n),n.focus())}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const n=this.window.history;n&&n.scrollRestoration&&(n.scrollRestoration=t)}}scrollToElement(t){const n=t.getBoundingClientRect(),r=n.left+this.window.pageXOffset,o=n.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=UC(this.window.history)||UC(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function UC(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class BC{}const{isArray:eO}=Array,{getPrototypeOf:tO,prototype:nO,keys:rO}=Object;function qC(e){if(1===e.length){const t=e[0];if(eO(t))return{args:t,keys:null};if(function oO(e){return e&&"object"==typeof e&&tO(e)===nO}(t)){const n=rO(t);return{args:n.map(r=>t[r]),keys:n}}}return{args:e,keys:null}}const{isArray:iO}=Array;function WC(e){return re(t=>function sO(e,t){return iO(t)?e(...t):e(t)}(e,t))}function ZC(e,t){return e.reduce((n,r,o)=>(n[r]=t[o],n),{})}function nf(...e){const t=Bo(e),n=Nh(e),{args:r,keys:o}=qC(e);if(0===r.length)return Ne([],t);const i=new Te(function aO(e,t,n=$n){return r=>{XC(t,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const u=Ne(e[l],t);let c=!1;u.subscribe(He(r,d=>{i[l]=d,c||(c=!0,a--),a||r.next(n(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,t,o?s=>ZC(o,s):$n));return n?i.pipe(WC(n)):i}function XC(e,t,n){e?En(n,e,t):t()}const rl=Ho(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function rf(...e){return function lO(){return Nr(1)}()(Ne(e,Bo(e)))}function YC(e){return new Te(t=>{en(e()).subscribe(t)})}function Bi(e,t){const n=he(e)?e:()=>e,r=o=>o.error(n());return new Te(t?o=>t.schedule(r,0,o):r)}function sf(){return qe((e,t)=>{let n=null;e._refCount++;const r=He(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(n=null);const o=e._connection,i=n;n=null,o&&(!i||o===i)&&o.unsubscribe(),t.unsubscribe()});e.subscribe(r),r.closed||(n=e.connect())})}class QC extends Te{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,yh(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new Nt;const n=this.getSubject();t.add(this.source.subscribe(He(n,void 0,()=>{this._teardown(),n.complete()},r=>{this._teardown(),n.error(r)},()=>this._teardown()))),t.closed&&(this._connection=null,t=Nt.EMPTY)}return t}refCount(){return sf()(this)}}function Jt(e,t){return qe((n,r)=>{let o=0;n.subscribe(He(r,i=>e.call(t,i,o++)&&r.next(i)))})}function ol(e){return qe((t,n)=>{let r=!1;t.subscribe(He(n,o=>{r=!0,n.next(o)},()=>{r||n.next(e),n.complete()}))})}function JC(e=cO){return qe((t,n)=>{let r=!1;t.subscribe(He(n,o=>{r=!0,n.next(o)},()=>r?n.complete():n.error(e())))})}function cO(){return new rl}function Er(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Jt((o,i)=>e(o,i,r)):$n,ur(1),n?ol(t):JC(()=>new rl))}function wo(e,t){return he(t)?We(e,t,1):We(e,1)}function at(e,t,n){const r=he(e)||t||n?{next:e,error:t,complete:n}:e;return r?qe((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(He(i,l=>{var u;null===(u=r.next)||void 0===u||u.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var u;a=!1,null===(u=r.error)||void 0===u||u.call(r,l),i.error(l)},()=>{var l,u;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(u=r.finalize)||void 0===u||u.call(r)}))}):$n}function Mr(e){return qe((t,n)=>{let i,r=null,o=!1;r=t.subscribe(He(n,void 0,void 0,s=>{i=en(e(s,Mr(e)(t))),r?(r.unsubscribe(),r=null,i.subscribe(n)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(n))})}function af(e){return e<=0?()=>tn:qe((t,n)=>{let r=[];t.subscribe(He(n,o=>{r.push(o),e{for(const o of r)n.next(o);n.complete()},void 0,()=>{r=null}))})}function ji(e){return qe((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}class gO extends lN{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class lf extends gO{static makeCurrent(){!function aN(e){kd||(kd=e)}(new lf)}onAndCancel(t,n,r){return t.addEventListener(n,r),()=>{t.removeEventListener(n,r)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,n){return(n=n||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return"window"===n?window:"document"===n?t:"body"===n?t.body:null}getBaseHref(t){const n=function mO(){return $i=$i||document.querySelector("base"),$i?$i.getAttribute("href"):null}();return null==n?null:function yO(e){il=il||document.createElement("a"),il.setAttribute("href",e);const t=il.pathname;return"/"===t.charAt(0)?t:`/${t}`}(n)}resetBaseElement(){$i=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return RC(document.cookie,t)}}let il,$i=null,_O=(()=>{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const uf=new N("EventManagerPlugins");let KC=(()=>{class e{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(o=>{o.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,o){return this._findPluginFor(r).addEventListener(n,r,o)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(i=>i.supports(n)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return e.\u0275fac=function(n){return new(n||e)(F(uf),F(Ee))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();class eD{constructor(t){this._doc=t}}const cf="ng-app-id";let tD=(()=>{class e{constructor(n,r,o,i={}){this.doc=n,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=HC(i),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(o=>o.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${cf}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(n,r){const o=this.styleRef;if(o.has(n)){const i=o.get(n);return i.usage+=r,i.usage}return o.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===n)return o.delete(r),i.removeAttribute(cf),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(cf,this.appId),s}}addStyleToHost(n,r){const o=this.getStyleElement(n,r);n.appendChild(o);const i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return e.\u0275fac=function(n){return new(n||e)(F(vt),F(ua),F(sm,8),F(yr))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const df={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/"},ff=/%COMP%/g,wO=new N("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function rD(e,t){return t.map(n=>n.replace(ff,e))}let oD=(()=>{class e{constructor(n,r,o,i,s,a,l,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=HC(a),this.defaultRenderer=new hf(n,s,l,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Dt.ShadowDom&&(r={...r,encapsulation:Dt.Emulated});const o=this.getOrCreateRenderer(n,r);return o instanceof sD?o.applyToHost(n):o instanceof pf&&o.applyStyles(),o}getOrCreateRenderer(n,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,l=this.eventManager,u=this.sharedStylesHost,c=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Dt.Emulated:i=new sD(l,u,r,this.appId,c,s,a,d);break;case Dt.ShadowDom:return new IO(l,u,n,r,s,a,this.nonce,d);default:i=new pf(l,u,r,c,s,a,d)}i.onDestroy=()=>o.delete(r.id),o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}}return e.\u0275fac=function(n){return new(n||e)(F(KC),F(tD),F(ua),F(wO),F(vt),F(yr),F(Ee),F(sm))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();class hf{constructor(t,n,r,o){this.eventManager=t,this.doc=n,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,n){return n?this.doc.createElementNS(df[n]||n,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,n){(iD(t)?t.content:t).appendChild(n)}insertBefore(t,n,r){t&&(iD(t)?t.content:t).insertBefore(n,r)}removeChild(t,n){t&&t.removeChild(n)}selectRootElement(t,n){let r="string"==typeof t?this.doc.querySelector(t):t;if(!r)throw new I(-5104,!1);return n||(r.textContent=""),r}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,r,o){if(o){n=o+":"+n;const i=df[o];i?t.setAttributeNS(i,n,r):t.setAttribute(n,r)}else t.setAttribute(n,r)}removeAttribute(t,n,r){if(r){const o=df[r];o?t.removeAttributeNS(o,n):t.removeAttribute(`${r}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,r,o){o&(pt.DashCase|pt.Important)?t.style.setProperty(n,r,o&pt.Important?"important":""):t.style[n]=r}removeStyle(t,n,r){r&pt.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,r){t[n]=r}setValue(t,n){t.nodeValue=n}listen(t,n,r){if("string"==typeof t&&!(t=Kn().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${n}`);return this.eventManager.addEventListener(t,n,this.decoratePreventDefault(r))}decoratePreventDefault(t){return n=>{if("__ngUnwrap__"===n)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(n)):t(n))&&n.preventDefault()}}}function iD(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class IO extends hf{constructor(t,n,r,o,i,s,a,l){super(t,i,s,l),this.sharedStylesHost=n,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const u=rD(o.id,o.styles);for(const c of u){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=c,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,n){return super.appendChild(this.nodeOrShadowRoot(t),n)}insertBefore(t,n,r){return super.insertBefore(this.nodeOrShadowRoot(t),n,r)}removeChild(t,n){return super.removeChild(this.nodeOrShadowRoot(t),n)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class pf extends hf{constructor(t,n,r,o,i,s,a,l){super(t,i,s,a),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=o,this.rendererUsageCount=0,this.styles=l?rD(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestroy&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class sD extends pf{constructor(t,n,r,o,i,s,a,l){const u=o+"-"+r.id;super(t,n,r,i,s,a,l,u),this.contentAttr=function EO(e){return"_ngcontent-%COMP%".replace(ff,e)}(u),this.hostAttr=function MO(e){return"_nghost-%COMP%".replace(ff,e)}(u)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,n){const r=super.createElement(t,n);return super.setAttribute(r,this.contentAttr,""),r}}let TO=(()=>{class e extends eD{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,o){return n.addEventListener(r,o,!1),()=>this.removeEventListener(n,r,o)}removeEventListener(n,r,o){return n.removeEventListener(r,o)}}return e.\u0275fac=function(n){return new(n||e)(F(vt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const aD=["alt","control","meta","shift"],AO={"\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"},xO={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let RO=(()=>{class e extends eD{constructor(n){super(n)}supports(n){return null!=e.parseEventName(n)}addEventListener(n,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kn().onAndCancel(n,i.domEventName,s))}static parseEventName(n){const r=n.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."),aD.forEach(u=>{const c=r.indexOf(u);c>-1&&(r.splice(c,1),s+=u+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(n,r){let o=AO[n.key]||n.key,i="";return r.indexOf("code.")>-1&&(o=n.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),aD.forEach(s=>{s!==o&&(0,xO[s])(n)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(n,r,o){return i=>{e.matchEventFullKeyCode(i,n)&&o.runGuarded(()=>r(i))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return e.\u0275fac=function(n){return new(n||e)(F(vt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function lD(e){return{appProviders:[...cD,...e?.providers??[]],platformProviders:FO}}const FO=[{provide:yr,useValue:"browser"},{provide:im,useValue:function PO(){lf.makeCurrent()},multi:!0},{provide:vt,useFactory:function kO(){return function IM(e){Ku=e}(document),document},deps:[]}],LO=new N(""),uD=[{provide:La,useClass:class vO{addToWindow(t){ge.getAngularTestability=(r,o=!0)=>{const i=t.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},ge.getAllAngularTestabilities=()=>t.getAllTestabilities(),ge.getAllAngularRootElements=()=>t.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(t,n,r){return null==n?null:t.getTestability(n)??(r?Kn().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},deps:[]},{provide:z_,useClass:wd,deps:[Ee,Ed,La]},{provide:wd,useClass:wd,deps:[Ee,Ed,La]}],cD=[{provide:uc,useValue:"root"},{provide:vr,useFactory:function OO(){return new vr},deps:[]},{provide:uf,useClass:TO,multi:!0,deps:[vt,Ee,yr]},{provide:uf,useClass:RO,multi:!0,deps:[vt]},oD,tD,KC,{provide:pm,useExisting:oD},{provide:BC,useClass:_O,deps:[]},[]];let VO=(()=>{class e{constructor(n){}static withServerTransition(n){return{ngModule:e,providers:[{provide:ua,useValue:n.appId}]}}}return e.\u0275fac=function(n){return new(n||e)(F(LO,12))},e.\u0275mod=In({type:e}),e.\u0275inj=nn({providers:[...cD,...uD],imports:[EP,YR]}),e})(),dD=(()=>{class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return e.\u0275fac=function(n){return new(n||e)(F(vt))},e.\u0275prov=L({token:e,factory:function(n){let r=null;return r=n?new n:function UO(){return new dD(F(vt))}(),r},providedIn:"root"}),e})();typeof window<"u"&&window;const Q="primary",Gi=Symbol("RouteTitle");class zO{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n[0]:n}return null}getAll(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n:[n]}return[]}get keys(){return Object.keys(this.params)}}function Eo(e){return new zO(e)}function qO(e,t,n){const r=n.path.split("/");if(r.length>e.length||"full"===n.pathMatch&&(t.hasChildren()||r.lengthr[i]===o)}return e===t}function mD(e){return e.length>0?e[e.length-1]:null}function tr(e){return function KP(e){return!!e&&(e instanceof Te||he(e.lift)&&he(e.subscribe))}(e)?e:Si(e)?Ne(Promise.resolve(e)):j(e)}const ZO={exact:function _D(e,t,n){if(!Sr(e.segments,t.segments)||!sl(e.segments,t.segments,n)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const r in t.children)if(!e.children[r]||!_D(e.children[r],t.children[r],n))return!1;return!0},subset:CD},yD={exact:function XO(e,t){return vn(e,t)},subset:function YO(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>gD(e[n],t[n]))},ignored:()=>!0};function vD(e,t,n){return ZO[n.paths](e.root,t.root,n.matrixParams)&&yD[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function CD(e,t,n){return DD(e,t,t.segments,n)}function DD(e,t,n,r){if(e.segments.length>n.length){const o=e.segments.slice(0,n.length);return!(!Sr(o,n)||t.hasChildren()||!sl(o,n,r))}if(e.segments.length===n.length){if(!Sr(e.segments,n)||!sl(e.segments,n,r))return!1;for(const o in t.children)if(!e.children[o]||!CD(e.children[o],t.children[o],r))return!1;return!0}{const o=n.slice(0,e.segments.length),i=n.slice(e.segments.length);return!!(Sr(e.segments,o)&&sl(e.segments,o,r)&&e.children[Q])&&DD(e.children[Q],t,i,r)}}function sl(e,t,n){return t.every((r,o)=>yD[n](e[o].parameters,r.parameters))}class Mo{constructor(t=new fe([],{}),n={},r=null){this.root=t,this.queryParams=n,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Eo(this.queryParams)),this._queryParamMap}toString(){return KO.serialize(this)}}class fe{constructor(t,n){this.segments=t,this.children=n,this.parent=null,Object.values(n).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return al(this)}}class zi{constructor(t,n){this.path=t,this.parameters=n}get parameterMap(){return this._parameterMap||(this._parameterMap=Eo(this.parameters)),this._parameterMap}toString(){return ED(this)}}function Sr(e,t){return e.length===t.length&&e.every((n,r)=>n.path===t[r].path)}let qi=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new mf},providedIn:"root"}),e})();class mf{parse(t){const n=new ck(t);return new Mo(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())}serialize(t){const n=`/${Wi(t.root,!0)}`,r=function nk(e){const t=Object.keys(e).map(n=>{const r=e[n];return Array.isArray(r)?r.map(o=>`${ll(n)}=${ll(o)}`).join("&"):`${ll(n)}=${ll(r)}`}).filter(n=>!!n);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${n}${r}${"string"==typeof t.fragment?`#${function ek(e){return encodeURI(e)}(t.fragment)}`:""}`}}const KO=new mf;function al(e){return e.segments.map(t=>ED(t)).join("/")}function Wi(e,t){if(!e.hasChildren())return al(e);if(t){const n=e.children[Q]?Wi(e.children[Q],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Q&&r.push(`${o}:${Wi(i,!1)}`)}),r.length>0?`${n}(${r.join("//")})`:n}{const n=function JO(e,t){let n=[];return Object.entries(e.children).forEach(([r,o])=>{r===Q&&(n=n.concat(t(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Q&&(n=n.concat(t(o,r)))}),n}(e,(r,o)=>o===Q?[Wi(e.children[Q],!1)]:[`${o}:${Wi(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Q]?`${al(e)}/${n[0]}`:`${al(e)}/(${n.join("//")})`}}function bD(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function ll(e){return bD(e).replace(/%3B/gi,";")}function yf(e){return bD(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function ul(e){return decodeURIComponent(e)}function wD(e){return ul(e.replace(/\+/g,"%20"))}function ED(e){return`${yf(e.path)}${function tk(e){return Object.keys(e).map(t=>`;${yf(t)}=${yf(e[t])}`).join("")}(e.parameters)}`}const rk=/^[^\/()?;#]+/;function vf(e){const t=e.match(rk);return t?t[0]:""}const ok=/^[^\/()?;=#]+/,sk=/^[^=?&#]+/,lk=/^[^&#]+/;class ck{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new fe([],{}):new fe([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(t.length>0||Object.keys(n).length>0)&&(r[Q]=new fe(t,n)),r}parseSegment(){const t=vf(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(t),new zi(ul(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const n=function ik(e){const t=e.match(ok);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let r="";if(this.consumeOptional("=")){const o=vf(this.remaining);o&&(r=o,this.capture(r))}t[ul(n)]=ul(r)}parseQueryParam(t){const n=function ak(e){const t=e.match(sk);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let r="";if(this.consumeOptional("=")){const s=function uk(e){const t=e.match(lk);return t?t[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=wD(n),i=wD(r);if(t.hasOwnProperty(o)){let s=t[o];Array.isArray(s)||(s=[s],t[o]=s),s.push(i)}else t[o]=i}parseParens(t){const n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=vf(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=Q);const s=this.parseChildren();n[i]=1===Object.keys(s).length?s[Q]:new fe([],s),this.consumeOptional("//")}return n}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new I(4011,!1)}}function MD(e){return e.segments.length>0?new fe([],{[Q]:e}):e}function SD(e){const t={};for(const r of Object.keys(e.children)){const i=SD(e.children[r]);if(r===Q&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))t[s]=a;else(i.segments.length>0||i.hasChildren())&&(t[r]=i)}return function dk(e){if(1===e.numberOfChildren&&e.children[Q]){const t=e.children[Q];return new fe(e.segments.concat(t.segments),t.children)}return e}(new fe(e.segments,t))}function Ir(e){return e instanceof Mo}function ID(e){let t;const o=MD(function n(i){const s={};for(const l of i.children){const u=n(l);s[l.outlet]=u}const a=new fe(i.url,s);return i===e&&(t=a),a}(e.root));return t??o}function TD(e,t,n,r){let o=e;for(;o.parent;)o=o.parent;if(0===t.length)return _f(o,o,o,n,r);const i=function hk(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new xD(!0,0,e);let t=0,n=!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,u])=>{a[l]="string"==typeof u?u.split("/"):u}),[...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?n=!0:".."===a?t++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new xD(n,t,r)}(t);if(i.toRoot())return _f(o,o,new fe([],{}),n,r);const s=function pk(e,t,n){if(e.isAbsolute)return new dl(t,!0,0);if(!n)return new dl(t,!1,NaN);if(null===n.parent)return new dl(n,!0,0);const r=cl(e.commands[0])?0:1;return function gk(e,t,n){let r=e,o=t,i=n;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new dl(r,!1,o-i)}(n,n.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?Xi(s.segmentGroup,s.index,i.commands):RD(s.segmentGroup,s.index,i.commands);return _f(o,s.segmentGroup,a,n,r)}function cl(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Zi(e){return"object"==typeof e&&null!=e&&e.outlets}function _f(e,t,n,r,o){let s,i={};r&&Object.entries(r).forEach(([l,u])=>{i[l]=Array.isArray(u)?u.map(c=>`${c}`):`${u}`}),s=e===t?n:AD(e,t,n);const a=MD(SD(s));return new Mo(a,i,o)}function AD(e,t,n){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===t?n:AD(i,t,n)}),new fe(e.segments,r)}class xD{constructor(t,n,r){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.commands=r,t&&r.length>0&&cl(r[0]))throw new I(4003,!1);const o=r.find(Zi);if(o&&o!==mD(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class dl{constructor(t,n,r){this.segmentGroup=t,this.processChildren=n,this.index=r}}function RD(e,t,n){if(e||(e=new fe([],{})),0===e.segments.length&&e.hasChildren())return Xi(e,t,n);const r=function yk(e,t,n){let r=0,o=t;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=n.length)return i;const s=e.segments[o],a=n[r];if(Zi(a))break;const l=`${a}`,u=r0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!PD(l,u,s))return i;r+=2}else{if(!PD(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,t,n),o=n.slice(r.commandIndex);if(r.match&&r.pathIndex{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=RD(e.children[i],t,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new fe(e.segments,o)}}function Cf(e,t,n){const r=e.segments.slice(0,t);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(t[n]=Cf(new fe([],{}),0,r))}),t}function ND(e){const t={};return Object.entries(e).forEach(([n,r])=>t[n]=`${r}`),t}function PD(e,t,n){return e==n.path&&vn(t,n.parameters)}const Yi="imperative";class _n{constructor(t,n){this.id=t,this.url=n}}class Df extends _n{constructor(t,n,r="imperative",o=null){super(t,n),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class nr extends _n{constructor(t,n,r){super(t,n),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class fl extends _n{constructor(t,n,r,o){super(t,n),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Qi extends _n{constructor(t,n,r,o){super(t,n),this.reason=r,this.code=o,this.type=16}}class bf extends _n{constructor(t,n,r,o){super(t,n),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class _k extends _n{constructor(t,n,r,o){super(t,n),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 Ck extends _n{constructor(t,n,r,o){super(t,n),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 Dk extends _n{constructor(t,n,r,o,i){super(t,n),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 bk extends _n{constructor(t,n,r,o){super(t,n),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 wk extends _n{constructor(t,n,r,o){super(t,n),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 Ek{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Mk{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Sk{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ik{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Tk{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ak{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class OD{constructor(t,n,r){this.routerEvent=t,this.position=n,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class xk{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new Ji,this.attachRef=null}}let Ji=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(n,r){const o=this.getOrCreateContext(n);o.outlet=r,this.contexts.set(n,o)}onChildOutletDestroyed(n){const r=this.getContext(n);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let r=this.getContext(n);return r||(r=new xk,this.contexts.set(n,r)),r}getContext(n){return this.contexts.get(n)||null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class kD{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const n=this.pathFromRoot(t);return n.length>1?n[n.length-2]:null}children(t){const n=wf(t,this._root);return n?n.children.map(r=>r.value):[]}firstChild(t){const n=wf(t,this._root);return n&&n.children.length>0?n.children[0].value:null}siblings(t){const n=Ef(t,this._root);return n.length<2?[]:n[n.length-2].children.map(o=>o.value).filter(o=>o!==t)}pathFromRoot(t){return Ef(t,this._root).map(n=>n.value)}}function wf(e,t){if(e===t.value)return t;for(const n of t.children){const r=wf(e,n);if(r)return r}return null}function Ef(e,t){if(e===t.value)return[t];for(const n of t.children){const r=Ef(e,n);if(r.length)return r.unshift(t),r}return[]}class Bn{constructor(t,n){this.value=t,this.children=n}toString(){return`TreeNode(${this.value})`}}function So(e){const t={};return e&&e.children.forEach(n=>t[n.value.outlet]=n),t}class FD extends kD{constructor(t,n){super(t),this.snapshot=n,Mf(this,t)}toString(){return this.snapshot.toString()}}function LD(e,t){const n=function Rk(e,t){const s=new hl([],{},{},"",{},Q,t,null,{});return new HD("",new Bn(s,[]))}(0,t),r=new Pt([new zi("",{})]),o=new Pt({}),i=new Pt({}),s=new Pt({}),a=new Pt(""),l=new Tr(r,o,s,a,i,Q,t,n.root);return l.snapshot=n.root,new FD(new Bn(l,[]),n)}class Tr{constructor(t,n,r,o,i,s,a,l){this.urlSubject=t,this.paramsSubject=n,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(re(u=>u[Gi]))??j(void 0),this.url=t,this.params=n,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(re(t=>Eo(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(re(t=>Eo(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function VD(e,t="emptyOnly"){const n=e.pathFromRoot;let r=0;if("always"!==t)for(r=n.length-1;r>=1;){const o=n[r],i=n[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function Nk(e){return e.reduce((t,n)=>({params:{...t.params,...n.params},data:{...t.data,...n.data},resolve:{...n.data,...t.resolve,...n.routeConfig?.data,...n._resolvedData}}),{params:{},data:{},resolve:{}})}(n.slice(r))}class hl{get title(){return this.data?.[Gi]}constructor(t,n,r,o,i,s,a,l,u){this.url=t,this.params=n,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=u}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=Eo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Eo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class HD extends kD{constructor(t,n){super(n),this.url=t,Mf(this,n)}toString(){return UD(this._root)}}function Mf(e,t){t.value._routerState=e,t.children.forEach(n=>Mf(e,n))}function UD(e){const t=e.children.length>0?` { ${e.children.map(UD).join(", ")} } `:"";return`${e.value}${t}`}function Sf(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,vn(t.queryParams,n.queryParams)||e.queryParamsSubject.next(n.queryParams),t.fragment!==n.fragment&&e.fragmentSubject.next(n.fragment),vn(t.params,n.params)||e.paramsSubject.next(n.params),function WO(e,t){if(e.length!==t.length)return!1;for(let n=0;nvn(n.parameters,t[r].parameters))}(e.url,t.url);return n&&!(!e.parent!=!t.parent)&&(!e.parent||If(e.parent,t.parent))}let Tf=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Q,this.activateEvents=new Ie,this.deactivateEvents=new Ie,this.attachEvents=new Ie,this.detachEvents=new Ie,this.parentContexts=R(Ji),this.location=R(Zt),this.changeDetector=R(Ha),this.environmentInjector=R(fn),this.inputBinder=R(pl,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(n){if(n.name){const{firstChange:r,previousValue:o}=n.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(n){return this.parentContexts.getContext(n)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const n=this.parentContexts.getContext(this.name);n?.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,r){this.activated=n,this._activatedRoute=r,this.location.insert(n.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=n;const o=this.location,s=n.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new Pk(n,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)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=G({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[kt]}),e})();class Pk{constructor(t,n,r){this.route=t,this.childContexts=n,this.parent=r}get(t,n){return t===Tr?this.route:t===Ji?this.childContexts:this.parent.get(t,n)}}const pl=new N("");let BD=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(n){this.unsubscribeFromRouteData(n),this.subscribeToRouteData(n)}unsubscribeFromRouteData(n){this.outletDataSubscriptions.get(n)?.unsubscribe(),this.outletDataSubscriptions.delete(n)}subscribeToRouteData(n){const{activatedRoute:r}=n,o=nf([r.queryParams,r.params,r.data]).pipe(Bt(([i,s,a],l)=>(a={...i,...s,...a},0===l?j(a):Promise.resolve(a)))).subscribe(i=>{if(!n.isActivated||!n.activatedComponentRef||n.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(n);const s=function sN(e){const t=ie(e);if(!t)return null;const n=new Di(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)n.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(n)});this.outletDataSubscriptions.set(n,o)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function Ki(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const r=n.value;r._futureSnapshot=t.value;const o=function kk(e,t,n){return t.children.map(r=>{for(const o of n.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return Ki(e,r,o);return Ki(e,r)})}(e,t,n);return new Bn(r,o)}{if(e.shouldAttach(t.value)){const i=e.retrieve(t.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>Ki(e,a)),s}}const r=function Fk(e){return new Tr(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)}(t.value),o=t.children.map(i=>Ki(e,i));return new Bn(r,o)}}const Af="ngNavigationCancelingError";function jD(e,t){const{redirectTo:n,navigationBehaviorOptions:r}=Ir(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,o=$D(!1,0,t);return o.url=n,o.navigationBehaviorOptions=r,o}function $D(e,t,n){const r=new Error("NavigationCancelingError: "+(e||""));return r[Af]=!0,r.cancellationCode=t,n&&(r.url=n),r}function GD(e){return zD(e)&&Ir(e.url)}function zD(e){return e&&e[Af]}let qD=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["ng-component"]],standalone:!0,features:[At],decls:1,vars:0,template:function(n,r){1&n&&y(0,"router-outlet")},dependencies:[Tf],encapsulation:2}),e})();function xf(e){const t=e.children&&e.children.map(xf),n=t?{...e,children:t}:{...e};return!n.component&&!n.loadComponent&&(t||n.loadChildren)&&n.outlet&&n.outlet!==Q&&(n.component=qD),n}function Kt(e){return e.outlet||Q}function es(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const n=t.routeConfig;if(n?._loadedInjector)return n._loadedInjector;if(n?._injector)return n._injector}return null}class $k{constructor(t,n,r,o,i){this.routeReuseStrategy=t,this.futureState=n,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(t){const n=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,r,t),Sf(this.futureState.root),this.activateChildRoutes(n,r,t)}deactivateChildRoutes(t,n,r){const o=So(n);t.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(t,n,r){const o=t.value,i=n?n.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(t,n,s.children)}else this.deactivateChildRoutes(t,n,r);else i&&this.deactivateRouteAndItsChildren(n,r)}deactivateRouteAndItsChildren(t,n){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,n):this.deactivateRouteAndOutlet(t,n)}detachAndStoreRouteSubtree(t,n){const r=n.getContext(t.value.outlet),o=r&&t.value.component?r.children:n,i=So(t);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(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,n){const r=n.getContext(t.value.outlet),o=r&&t.value.component?r.children:n,i=So(t);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(t,n,r){const o=So(n);t.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new Ak(i.value.snapshot))}),t.children.length&&this.forwardEvent(new Ik(t.value.snapshot))}activateRoutes(t,n,r){const o=t.value,i=n?n.value:null;if(Sf(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(t,n,s.children)}else this.activateChildRoutes(t,n,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),Sf(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=es(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,r)}}class WD{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class gl{constructor(t,n){this.component=t,this.route=n}}function Gk(e,t,n){const r=e._root;return ts(r,t?t._root:null,n,[r.value])}function Io(e,t){const n=Symbol(),r=t.get(e,n);return r===n?"function"!=typeof e||function qE(e){return null!==Cs(e)}(e)?t.get(e):e:r}function ts(e,t,n,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=So(t);return e.children.forEach(s=>{(function qk(e,t,n,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=t?t.value:null,a=n?n.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function Wk(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!Sr(e.url,t.url);case"pathParamsOrQueryParamsChange":return!Sr(e.url,t.url)||!vn(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!If(e,t)||!vn(e.queryParams,t.queryParams);default:return!If(e,t)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new WD(r)):(i.data=s.data,i._resolvedData=s._resolvedData),ts(e,t,i.component?a?a.children:null:n,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new gl(a.outlet.component,s))}else s&&ns(t,a,o),o.canActivateChecks.push(new WD(r)),ts(e,null,i.component?a?a.children:null:n,r,o)})(s,i[s.value.outlet],n,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>ns(a,n.getContext(s),o)),o}function ns(e,t,n){const r=So(e),o=e.value;Object.entries(r).forEach(([i,s])=>{ns(s,o.component?t?t.children.getContext(i):null:t,n)}),n.canDeactivateChecks.push(new gl(o.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,o))}function rs(e){return"function"==typeof e}function ZD(e){return e instanceof rl||"EmptyError"===e?.name}const ml=Symbol("INITIAL_VALUE");function To(){return Bt(e=>nf(e.map(t=>t.pipe(ur(1),function uO(...e){const t=Bo(e);return qe((n,r)=>{(t?rf(e,n,t):rf(e,n)).subscribe(r)})}(ml)))).pipe(re(t=>{for(const n of t)if(!0!==n){if(n===ml)return ml;if(!1===n||n instanceof Mo)return n}return!0}),Jt(t=>t!==ml),ur(1)))}function XD(e){return function Qw(...e){return ph(e)}(at(t=>{if(Ir(t))throw jD(0,t)}),re(t=>!0===t))}class yl{constructor(t){this.segmentGroup=t||null}}class YD{constructor(t){this.urlTree=t}}function Ao(e){return Bi(new yl(e))}function QD(e){return Bi(new YD(e))}class hF{constructor(t,n){this.urlSerializer=t,this.urlTree=n}noMatchError(t){return new I(4002,!1)}lineralizeSegments(t,n){let r=[],o=n.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return j(r);if(o.numberOfChildren>1||!o.children[Q])return Bi(new I(4e3,!1));o=o.children[Q]}}applyRedirectCommands(t,n,r){return this.applyRedirectCreateUrlTree(n,this.urlSerializer.parse(n),t,r)}applyRedirectCreateUrlTree(t,n,r,o){const i=this.createSegmentGroup(t,n.root,r,o);return new Mo(i,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)}createQueryParams(t,n){const r={};return Object.entries(t).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=n[a]}else r[o]=i}),r}createSegmentGroup(t,n,r,o){const i=this.createSegments(t,n.segments,r,o);let s={};return Object.entries(n.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(t,l,r,o)}),new fe(i,s)}createSegments(t,n,r,o){return n.map(i=>i.path.startsWith(":")?this.findPosParam(t,i,o):this.findOrReturn(i,r))}findPosParam(t,n,r){const o=r[n.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(t,n){let r=0;for(const o of n){if(o.path===t.path)return n.splice(r),o;r++}return t}}const Rf={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function pF(e,t,n,r,o){const i=Nf(e,t,n);return i.matched?(r=function Lk(e,t){return e.providers&&!e._injector&&(e._injector=rd(e.providers,t,`Route: ${e.path}`)),e._injector??t}(t,r),function cF(e,t,n,r){const o=t.canMatch;return o&&0!==o.length?j(o.map(s=>{const a=Io(s,e);return tr(function Kk(e){return e&&rs(e.canMatch)}(a)?a.canMatch(t,n):e.runInContext(()=>a(t,n)))})).pipe(To(),XD()):j(!0)}(r,t,n).pipe(re(s=>!0===s?i:{...Rf}))):j(i)}function Nf(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{...Rf}:{matched:!0,consumedSegments:[],remainingSegments:n,parameters:{},positionalParamSegments:{}};const o=(t.matcher||qO)(n,e,t);if(!o)return{...Rf};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:n.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function JD(e,t,n,r){return n.length>0&&function yF(e,t,n){return n.some(r=>vl(e,t,r)&&Kt(r)!==Q)}(e,n,r)?{segmentGroup:new fe(t,mF(r,new fe(n,e.children))),slicedSegments:[]}:0===n.length&&function vF(e,t,n){return n.some(r=>vl(e,t,r))}(e,n,r)?{segmentGroup:new fe(e.segments,gF(e,0,n,r,e.children)),slicedSegments:n}:{segmentGroup:new fe(e.segments,e.children),slicedSegments:n}}function gF(e,t,n,r,o){const i={};for(const s of r)if(vl(e,n,s)&&!o[Kt(s)]){const a=new fe([],{});i[Kt(s)]=a}return{...o,...i}}function mF(e,t){const n={};n[Q]=t;for(const r of e)if(""===r.path&&Kt(r)!==Q){const o=new fe([],{});n[Kt(r)]=o}return n}function vl(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}class bF{constructor(t,n,r,o,i,s,a){this.injector=t,this.configLoader=n,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new hF(this.urlSerializer,this.urlTree)}noMatchError(t){return new I(4002,!1)}recognize(){const t=JD(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,Q).pipe(Mr(n=>{if(n instanceof YD)return this.allowRedirects=!1,this.urlTree=n.urlTree,this.match(n.urlTree);throw n instanceof yl?this.noMatchError(n):n}),re(n=>{const r=new hl([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Q,this.rootComponentType,null,{}),o=new Bn(r,n),i=new HD("",o),s=function fk(e,t,n=null,r=null){return TD(ID(e),t,n,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(t){return this.processSegmentGroup(this.injector,this.config,t.root,Q).pipe(Mr(r=>{throw r instanceof yl?this.noMatchError(r):r}))}inheritParamsAndData(t){const n=t.value,r=VD(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(t,n,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(t,n,r):this.processSegment(t,n,r,r.segments,o,!0)}processChildren(t,n,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(wo(i=>{const s=r.children[i],a=function Bk(e,t){const n=e.filter(r=>Kt(r)===t);return n.push(...e.filter(r=>Kt(r)!==t)),n}(n,i);return this.processSegmentGroup(t,a,s,i)}),function fO(e,t){return qe(function dO(e,t,n,r,o){return(i,s)=>{let a=n,l=t,u=0;i.subscribe(He(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,t,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),ol(null),function hO(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Jt((o,i)=>e(o,i,r)):$n,af(1),n?ol(t):JC(()=>new rl))}(),We(i=>{if(null===i)return Ao(r);const s=KD(i);return function wF(e){e.sort((t,n)=>t.value.outlet===Q?-1:n.value.outlet===Q?1:t.value.outlet.localeCompare(n.value.outlet))}(s),j(s)}))}processSegment(t,n,r,o,i,s){return Ne(n).pipe(wo(a=>this.processSegmentAgainstRoute(a._injector??t,n,a,r,o,i,s).pipe(Mr(l=>{if(l instanceof yl)return j(null);throw l}))),Er(a=>!!a),Mr(a=>{if(ZD(a))return function CF(e,t,n){return 0===t.length&&!e.children[n]}(r,o,i)?j([]):Ao(r);throw a}))}processSegmentAgainstRoute(t,n,r,o,i,s,a){return function _F(e,t,n,r){return!!(Kt(e)===r||r!==Q&&vl(t,n,e))&&("**"===e.path||Nf(t,e,n).matched)}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,o,r,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,o,n,r,i,s):Ao(o):Ao(o)}expandSegmentAgainstRouteUsingRedirect(t,n,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,n,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o){const i=this.applyRedirects.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?QD(i):this.applyRedirects.lineralizeSegments(r,i).pipe(We(s=>{const a=new fe(s,{});return this.processSegment(t,n,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,n,r,o,i,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=Nf(n,o,i);if(!a)return Ao(n);const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,c);return o.redirectTo.startsWith("/")?QD(d):this.applyRedirects.lineralizeSegments(o,d).pipe(We(g=>this.processSegment(t,r,n,g.concat(u),s,!1)))}matchSegmentAgainstRoute(t,n,r,o,i,s){let a;if("**"===r.path){const l=o.length>0?mD(o).parameters:{};a=j({snapshot:new hl(o,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,eb(r),Kt(r),r.component??r._loadedComponent??null,r,tb(r)),consumedSegments:[],remainingSegments:[]}),n.children={}}else a=pF(n,r,o,t).pipe(re(({matched:l,consumedSegments:u,remainingSegments:c,parameters:d})=>l?{snapshot:new hl(u,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,eb(r),Kt(r),r.component??r._loadedComponent??null,r,tb(r)),consumedSegments:u,remainingSegments:c}:null));return a.pipe(Bt(l=>null===l?Ao(n):this.getChildConfig(t=r._injector??t,r,o).pipe(Bt(({routes:u})=>{const c=r._loadedInjector??t,{snapshot:d,consumedSegments:g,remainingSegments:m}=l,{segmentGroup:v,slicedSegments:_}=JD(n,g,m,u);if(0===_.length&&v.hasChildren())return this.processChildren(c,u,v).pipe(re(S=>null===S?null:[new Bn(d,S)]));if(0===u.length&&0===_.length)return j([new Bn(d,[])]);const b=Kt(r)===i;return this.processSegment(c,u,v,_,b?Q:i,!0).pipe(re(S=>[new Bn(d,S)]))}))))}getChildConfig(t,n,r){return n.children?j({routes:n.children,injector:t}):n.loadChildren?void 0!==n._loadedRoutes?j({routes:n._loadedRoutes,injector:n._loadedInjector}):function uF(e,t,n,r){const o=t.canLoad;return void 0===o||0===o.length?j(!0):j(o.map(s=>{const a=Io(s,e);return tr(function Xk(e){return e&&rs(e.canLoad)}(a)?a.canLoad(t,n):e.runInContext(()=>a(t,n)))})).pipe(To(),XD())}(t,n,r).pipe(We(o=>o?this.configLoader.loadChildren(t,n).pipe(at(i=>{n._loadedRoutes=i.routes,n._loadedInjector=i.injector})):function fF(e){return Bi($D(!1,3))}())):j({routes:[],injector:t})}}function EF(e){const t=e.value.routeConfig;return t&&""===t.path}function KD(e){const t=[],n=new Set;for(const r of e){if(!EF(r)){t.push(r);continue}const o=t.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),n.add(o)):t.push(r)}for(const r of n){const o=KD(r.children);t.push(new Bn(r.value,o))}return t.filter(r=>!n.has(r))}function eb(e){return e.data||{}}function tb(e){return e.resolve||{}}function nb(e){return"string"==typeof e.title||null===e.title}function Pf(e){return Bt(t=>{const n=e(t);return n?Ne(n).pipe(re(()=>t)):j(t)})}const xo=new N("ROUTES");let Of=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=R(L_)}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return j(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const r=tr(n.loadComponent()).pipe(re(rb),at(i=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=i}),ji(()=>{this.componentLoaders.delete(n)})),o=new QC(r,()=>new wn).pipe(sf());return this.componentLoaders.set(n,o),o}loadChildren(n,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return j({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=this.loadModuleFactoryOrRoutes(r.loadChildren).pipe(re(a=>{this.onLoadEndListener&&this.onLoadEndListener(r);let l,u;return Array.isArray(a)?u=a:(l=a.create(n).injector,u=l.get(xo,[],V.Self|V.Optional).flat()),{routes:u.map(xf),injector:l}}),ji(()=>{this.childrenLoaders.delete(r)})),s=new QC(i,()=>new wn).pipe(sf());return this.childrenLoaders.set(r,s),s}loadModuleFactoryOrRoutes(n){return tr(n()).pipe(re(rb),We(r=>r instanceof Gv||Array.isArray(r)?j(r):Ne(this.compiler.compileModuleAsync(r))))}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function rb(e){return function RF(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let _l=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new wn,this.configLoader=R(Of),this.environmentInjector=R(fn),this.urlSerializer=R(qi),this.rootContexts=R(Ji),this.inputBindingEnabled=null!==R(pl,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>j(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new Mk(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new Ek(o))}complete(){this.transitions?.complete()}handleNavigationRequest(n){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...n,id:r})}setupNavigations(n){return this.transitions=new Pt({id:0,currentUrlTree:n.currentUrlTree,currentRawUrl:n.currentUrlTree,extractedUrl:n.urlHandlingStrategy.extract(n.currentUrlTree),urlAfterRedirects:n.urlHandlingStrategy.extract(n.currentUrlTree),rawUrl:n.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Yi,restoredState:null,currentSnapshot:n.routerState.snapshot,targetSnapshot:null,currentRouterState:n.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Jt(r=>0!==r.id),re(r=>({...r,extractedUrl:n.urlHandlingStrategy.extract(r.rawUrl)})),Bt(r=>{let o=!1,i=!1;return j(r).pipe(at(s=>{this.currentNavigation={id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,trigger:s.source,extras:s.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Bt(s=>{const a=n.browserUrlTree.toString(),l=!n.navigated||s.extractedUrl.toString()!==a||a!==n.currentUrlTree.toString();if(!l&&"reload"!==(s.extras.onSameUrlNavigation??n.onSameUrlNavigation)){const c="";return this.events.next(new Qi(s.id,n.serializeUrl(r.rawUrl),c,0)),n.rawUrlTree=s.rawUrl,s.resolve(null),tn}if(n.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return ob(s.source)&&(n.browserUrlTree=s.extractedUrl),j(s).pipe(Bt(c=>{const d=this.transitions?.getValue();return this.events.next(new Df(c.id,this.urlSerializer.serialize(c.extractedUrl),c.source,c.restoredState)),d!==this.transitions?.getValue()?tn:Promise.resolve(c)}),function MF(e,t,n,r,o,i){return We(s=>function DF(e,t,n,r,o,i,s="emptyOnly"){return new bF(e,t,n,r,o,s,i).recognize()}(e,t,n,r,s.extractedUrl,o,i).pipe(re(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,n.config,this.urlSerializer,n.paramsInheritanceStrategy),at(c=>{if(r.targetSnapshot=c.targetSnapshot,r.urlAfterRedirects=c.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:c.urlAfterRedirects},"eager"===n.urlUpdateStrategy){if(!c.extras.skipLocationChange){const g=n.urlHandlingStrategy.merge(c.urlAfterRedirects,c.rawUrl);n.setBrowserUrl(g,c)}n.browserUrlTree=c.urlAfterRedirects}const d=new _k(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(d)}));if(l&&n.urlHandlingStrategy.shouldProcessUrl(n.rawUrlTree)){const{id:c,extractedUrl:d,source:g,restoredState:m,extras:v}=s,_=new Df(c,this.urlSerializer.serialize(d),g,m);this.events.next(_);const b=LD(0,this.rootComponentType).snapshot;return j(r={...s,targetSnapshot:b,urlAfterRedirects:d,extras:{...v,skipLocationChange:!1,replaceUrl:!1}})}{const c="";return this.events.next(new Qi(s.id,n.serializeUrl(r.extractedUrl),c,1)),n.rawUrlTree=s.rawUrl,s.resolve(null),tn}}),at(s=>{const a=new Ck(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),re(s=>r={...s,guards:Gk(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),function tF(e,t){return We(n=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=n;return 0===s.length&&0===i.length?j({...n,guardsResult:!0}):function nF(e,t,n,r){return Ne(e).pipe(We(o=>function lF(e,t,n,r,o){const i=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return i&&0!==i.length?j(i.map(a=>{const l=es(t)??o,u=Io(a,l);return tr(function Jk(e){return e&&rs(e.canDeactivate)}(u)?u.canDeactivate(e,t,n,r):l.runInContext(()=>u(e,t,n,r))).pipe(Er())})).pipe(To()):j(!0)}(o.component,o.route,n,t,r)),Er(o=>!0!==o,!0))}(s,r,o,e).pipe(We(a=>a&&function Zk(e){return"boolean"==typeof e}(a)?function rF(e,t,n,r){return Ne(t).pipe(wo(o=>rf(function iF(e,t){return null!==e&&t&&t(new Sk(e)),j(!0)}(o.route.parent,r),function oF(e,t){return null!==e&&t&&t(new Tk(e)),j(!0)}(o.route,r),function aF(e,t,n){const r=t[t.length-1],i=t.slice(0,t.length-1).reverse().map(s=>function zk(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>YC(()=>j(s.guards.map(l=>{const u=es(s.node)??n,c=Io(l,u);return tr(function Qk(e){return e&&rs(e.canActivateChild)}(c)?c.canActivateChild(r,e):u.runInContext(()=>c(r,e))).pipe(Er())})).pipe(To())));return j(i).pipe(To())}(e,o.path,n),function sF(e,t,n){const r=t.routeConfig?t.routeConfig.canActivate:null;if(!r||0===r.length)return j(!0);const o=r.map(i=>YC(()=>{const s=es(t)??n,a=Io(i,s);return tr(function Yk(e){return e&&rs(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(Er())}));return j(o).pipe(To())}(e,o.route,n))),Er(o=>!0!==o,!0))}(r,i,e,t):j(a)),re(a=>({...n,guardsResult:a})))})}(this.environmentInjector,s=>this.events.next(s)),at(s=>{if(r.guardsResult=s.guardsResult,Ir(s.guardsResult))throw jD(0,s.guardsResult);const a=new Dk(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),Jt(s=>!!s.guardsResult||(n.restoreHistory(s),this.cancelNavigationTransition(s,"",3),!1)),Pf(s=>{if(s.guards.canActivateChecks.length)return j(s).pipe(at(a=>{const l=new bk(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),Bt(a=>{let l=!1;return j(a).pipe(function SF(e,t){return We(n=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=n;if(!o.length)return j(n);let i=0;return Ne(o).pipe(wo(s=>function IF(e,t,n,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!nb(o)&&(i[Gi]=o.title),function TF(e,t,n,r){const o=function AF(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return j({});const i={};return Ne(o).pipe(We(s=>function xF(e,t,n,r){const o=es(t)??r,i=Io(e,o);return tr(i.resolve?i.resolve(t,n):o.runInContext(()=>i(t,n)))}(e[s],t,n,r).pipe(Er(),at(a=>{i[s]=a}))),af(1),function pO(e){return re(()=>e)}(i),Mr(s=>ZD(s)?tn:Bi(s)))}(i,e,t,r).pipe(re(s=>(e._resolvedData=s,e.data=VD(e,n).resolve,o&&nb(o)&&(e.data[Gi]=o.title),null)))}(s.route,r,e,t)),at(()=>i++),af(1),We(s=>i===o.length?j(n):tn))})}(n.paramsInheritanceStrategy,this.environmentInjector),at({next:()=>l=!0,complete:()=>{l||(n.restoreHistory(a),this.cancelNavigationTransition(a,"",2))}}))}),at(a=>{const l=new wk(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),Pf(s=>{const a=l=>{const u=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&u.push(this.configLoader.loadComponent(l.routeConfig).pipe(at(c=>{l.component=c}),re(()=>{})));for(const c of l.children)u.push(...a(c));return u};return nf(a(s.targetSnapshot.root)).pipe(ol(),ur(1))}),Pf(()=>this.afterPreactivation()),re(s=>{const a=function Ok(e,t,n){const r=Ki(e,t._root,n?n._root:void 0);return new FD(r,t)}(n.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return r={...s,targetRouterState:a}}),at(s=>{n.currentUrlTree=s.urlAfterRedirects,n.rawUrlTree=n.urlHandlingStrategy.merge(s.urlAfterRedirects,s.rawUrl),n.routerState=s.targetRouterState,"deferred"===n.urlUpdateStrategy&&(s.extras.skipLocationChange||n.setBrowserUrl(n.rawUrlTree,s),n.browserUrlTree=s.urlAfterRedirects)}),((e,t,n,r)=>re(o=>(new $k(t,o.targetRouterState,o.currentRouterState,n,r).activate(e),o)))(this.rootContexts,n.routeReuseStrategy,s=>this.events.next(s),this.inputBindingEnabled),ur(1),at({next:s=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,n.navigated=!0,this.events.next(new nr(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(n.currentUrlTree))),n.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{o=!0}}),ji(()=>{o||i||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Mr(s=>{if(i=!0,zD(s)){GD(s)||(n.navigated=!0,n.restoreHistory(r,!0));const a=new fl(r.id,this.urlSerializer.serialize(r.extractedUrl),s.message,s.cancellationCode);if(this.events.next(a),GD(s)){const l=n.urlHandlingStrategy.merge(s.url,n.rawUrlTree),u={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===n.urlUpdateStrategy||ob(r.source)};n.scheduleNavigation(l,Yi,null,u,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{n.restoreHistory(r,!0);const a=new bf(r.id,this.urlSerializer.serialize(r.extractedUrl),s,r.targetSnapshot??void 0);this.events.next(a);try{r.resolve(n.errorHandler(s))}catch(l){r.reject(l)}}return tn}))}))}cancelNavigationTransition(n,r,o){const i=new fl(n.id,this.urlSerializer.serialize(n.extractedUrl),r,o);this.events.next(i),n.resolve(!1)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function ob(e){return e!==Yi}let ib=(()=>{class e{buildTitle(n){let r,o=n.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Q);return r}getResolvedTitleForRoute(n){return n.data[Gi]}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(NF)},providedIn:"root"}),e})(),NF=(()=>{class e extends ib{constructor(n){super(),this.title=n}updateTitle(n){const r=this.buildTitle(n);void 0!==r&&this.title.setTitle(r)}}return e.\u0275fac=function(n){return new(n||e)(F(dD))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),PF=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(kF)},providedIn:"root"}),e})();class OF{shouldDetach(t){return!1}store(t,n){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,n){return t.routeConfig===n.routeConfig}}let kF=(()=>{class e extends OF{}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const Cl=new N("",{providedIn:"root",factory:()=>({})});let FF=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(LF)},providedIn:"root"}),e})(),LF=(()=>{class e{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,r){return n}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();var xt=(()=>((xt=xt||{})[xt.COMPLETE=0]="COMPLETE",xt[xt.FAILED=1]="FAILED",xt[xt.REDIRECTING=2]="REDIRECTING",xt))();function sb(e,t){e.events.pipe(Jt(n=>n instanceof nr||n instanceof fl||n instanceof bf||n instanceof Qi),re(n=>n instanceof nr||n instanceof Qi?xt.COMPLETE:n instanceof fl&&(0===n.code||1===n.code)?xt.REDIRECTING:xt.FAILED),Jt(n=>n!==xt.REDIRECTING),ur(1)).subscribe(()=>{t()})}function VF(e){throw e}function HF(e,t,n){return t.parse("/")}const UF={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},BF={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Rt=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){if("computed"===this.canceledNavigationResolution)return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=R(F_),this.isNgZoneEnabled=!1,this.options=R(Cl,{optional:!0})||{},this.pendingTasks=R(Fa),this.errorHandler=this.options.errorHandler||VF,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||HF,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=R(FF),this.routeReuseStrategy=R(PF),this.titleStrategy=R(ib),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=R(xo,{optional:!0})?.flat()??[],this.navigationTransitions=R(_l),this.urlSerializer=R(qi),this.location=R(Vd),this.componentInputBindingEnabled=!!R(pl,{optional:!0}),this.isNgZoneEnabled=R(Ee)instanceof Ee&&Ee.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Mo,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=LD(0,null),this.navigationTransitions.setupNavigations(this).subscribe(n=>{this.lastSuccessfulId=n.id,this.currentPageId=this.browserPageId??0},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)})}resetRootComponentType(n){this.routerState.root.component=n,this.navigationTransitions.rootComponentType=n}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const n=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),Yi,n)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const r="popstate"===n.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(n.url,r,n.state)},0)}))}navigateToSyncWithBrowser(n,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(n);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(n){this.config=n.map(xf),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(n,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,u=l?this.currentUrlTree.fragment:s;let d,c=null;switch(a){case"merge":c={...this.currentUrlTree.queryParams,...i};break;case"preserve":c=this.currentUrlTree.queryParams;break;default:c=i||null}null!==c&&(c=this.removeEmptyProps(c));try{d=ID(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof n[0]||!n[0].startsWith("/"))&&(n=[]),d=this.currentUrlTree.root}return TD(d,n,c,u??null)}navigateByUrl(n,r={skipLocationChange:!1}){const o=Ir(n)?n:this.parseUrl(n),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,Yi,null,r)}navigate(n,r={skipLocationChange:!1}){return function jF(e){for(let t=0;t{const i=n[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(n,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,u;s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((d,g)=>{a=d,l=g});const c=this.pendingTasks.add();return sb(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(c))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:n,extras:i,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(d=>Promise.reject(d))}setBrowserUrl(n,r){const o=this.urlSerializer.serialize(n);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??0)+1)};this.location.go(o,"",i)}}restoreHistory(n,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-(this.browserPageId??this.currentPageId);0!==i?this.location.historyGo(i):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===i&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(n,r){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:r}:{navigationId:n}}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),Cn=(()=>{class e{constructor(n,r,o,i,s,a){this.router=n,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new wn,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=n.events.subscribe(u=>{u instanceof nr&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(n){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",n)}ngOnChanges(n){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(n){null!=n?(this.commands=Array.isArray(n)?n:[n],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(n,r,o,i,s){return!!(null===this.urlTree||this.isAnchorElement&&(0!==n||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 n=null===this.href?null:function Xg(e,t,n){return function XM(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?Zg:eo}(t,n)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(n,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,n,r):o.removeAttribute(i,n)}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})}}return e.\u0275fac=function(n){return new(n||e)(M(Rt),M(Tr),function $s(e){return function v0(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const r=n.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(n,r,o,i,s){this.router=n,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ie,this.routerEventsSubscription=n.events.subscribe(a=>{a instanceof nr&&this.update()})}ngAfterContentInit(){j(this.links.changes,j(null)).pipe(Nr()).subscribe(n=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const n=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Ne(n).pipe(Nr()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(n){const r=Array.isArray(n)?n:n.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(n){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const n=this.hasActiveLinks();this._isActive!==n&&(this._isActive=n,this.cdr.markForCheck(),this.classes.forEach(r=>{n?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),n&&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(n))})}isLinkActive(n){const r=function $F(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>!!o.urlTree&&n.isActive(o.urlTree,r)}hasActiveLinks(){const n=this.isLinkActive(this.router);return this.link&&n(this.link)||this.links.some(n)}}return e.\u0275fac=function(n){return new(n||e)(M(Rt),M(It),M(Nn),M(Ha),M(Cn,8))},e.\u0275dir=G({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(n,r,o){if(1&n&&g_(o,Cn,5),2&n){let i;p_(i=function m_(){return function qx(e,t){return e[sn].queries[t].queryList}(E(),Rp())}())&&(r.links=i)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[kt]}),e})();class lb{}let GF=(()=>{class e{constructor(n,r,o,i,s){this.router=n,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Jt(n=>n instanceof nr),wo(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=rd(i.providers,n,`Route: ${i.path}`));const s=i._injector??n,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 Ne(o).pipe(Nr())}preloadConfig(n,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(n,r):j(null);const i=o.pipe(We(s=>null===s?j(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??n,s.routes))));return r.loadComponent&&!r._loadedComponent?Ne([i,this.loader.loadComponent(r)]).pipe(Nr()):i})}}return e.\u0275fac=function(n){return new(n||e)(F(Rt),F(L_),F(fn),F(lb),F(Of))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const kf=new N("");let ub=(()=>{class e{constructor(n,r,o,i,s={}){this.urlSerializer=n,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(n=>{n instanceof Df?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof nr?(this.lastId=n.id,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.urlAfterRedirects).fragment)):n instanceof Qi&&0===n.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof OD&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new OD(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return e.\u0275fac=function(n){!function Nm(){throw new Error("invalid")}()},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function jn(e,t){return{\u0275kind:e,\u0275providers:t}}function db(){const e=R(hn);return t=>{const n=e.get(Do);if(t!==n.components[0])return;const r=e.get(Rt),o=e.get(fb);1===e.get(Ff)&&r.initialNavigation(),e.get(hb,null,V.Optional)?.setUpPreloading(),e.get(kf,null,V.Optional)?.init(),r.resetRootComponentType(n.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const fb=new N("",{factory:()=>new wn}),Ff=new N("",{providedIn:"root",factory:()=>1}),hb=new N("");function ZF(e){return jn(0,[{provide:hb,useExisting:GF},{provide:lb,useExisting:e}])}const pb=new N("ROUTER_FORROOT_GUARD"),YF=[Vd,{provide:qi,useClass:mf},Rt,Ji,{provide:Tr,useFactory:function cb(e){return e.routerState.root},deps:[Rt]},Of,[]];function QF(){return new Z_("Router",Rt)}let gb=(()=>{class e{constructor(n){}static forRoot(n,r){return{ngModule:e,providers:[YF,[],{provide:xo,multi:!0,useValue:n},{provide:pb,useFactory:tL,deps:[[Rt,new qs,new Ws]]},{provide:Cl,useValue:r||{}},r?.useHash?{provide:wr,useClass:dN}:{provide:wr,useClass:DC},{provide:kf,useFactory:()=>{const e=R(TP),t=R(Ee),n=R(Cl),r=R(_l),o=R(qi);return n.scrollOffset&&e.setOffset(n.scrollOffset),new ub(o,r,e,t,n)}},r?.preloadingStrategy?ZF(r.preloadingStrategy).\u0275providers:[],{provide:Z_,multi:!0,useFactory:QF},r?.initialNavigation?nL(r):[],r?.bindToComponentInputs?jn(8,[BD,{provide:pl,useExisting:BD}]).\u0275providers:[],[{provide:mb,useFactory:db},{provide:Id,multi:!0,useExisting:mb}]]}}static forChild(n){return{ngModule:e,providers:[{provide:xo,multi:!0,useValue:n}]}}}return e.\u0275fac=function(n){return new(n||e)(F(pb,8))},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})();function tL(e){return"guarded"}function nL(e){return["disabled"===e.initialNavigation?jn(3,[{provide:_d,multi:!0,useFactory:()=>{const t=R(Rt);return()=>{t.setUpLocationChangeListener()}}},{provide:Ff,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?jn(2,[{provide:Ff,useValue:0},{provide:_d,multi:!0,deps:[hn],useFactory:t=>{const n=t.get(uN,Promise.resolve());return()=>n.then(()=>new Promise(r=>{const o=t.get(Rt),i=t.get(fb);sb(o,()=>{r(!0)}),t.get(_l).afterPreactivation=()=>(r(!0),i.closed?j(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const mb=new N(""),oL=function(){return["/pro"]};let iL=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-footer"]],standalone:!0,features:[At],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",2,"max-height","300px"],[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(n,r){1&n&&(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&n&&(C(19),Fn(" Fast forward ",r.years," years, I'm still maintaining "),C(11),w("routerLink",ne(2,oL)))},dependencies:[Cn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}"]}),e})();const yb=function(){return["/"]},sL=function(e){return{show:e}},Ro=function(){return["link-active"]},vb=function(){return{exact:!0}},aL=function(){return["/features"]},lL=function(){return["/getstarted"]},uL=function(){return["/usage"]},cL=function(){return["/contact"]},dL=function(){return["/pro"]};let fL=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[At],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(n,r){1&n&&(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),P("click",function(){return r.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&n&&(C(3),w("routerLink",ne(17,yb)),C(4),zt("aria-expanded",r.isExpanded),C(2),w("ngClass",Pi(18,sL,r.isExpanded)),C(2),w("routerLinkActive",ne(20,Ro))("routerLinkActiveOptions",ne(21,vb)),C(1),w("routerLink",ne(22,yb)),C(2),w("routerLinkActive",ne(23,Ro))("routerLinkActiveOptions",ne(24,vb)),C(1),w("routerLink",ne(25,aL)),C(2),w("routerLinkActive",ne(26,Ro)),C(1),w("routerLink",ne(27,lL)),C(2),w("routerLinkActive",ne(28,Ro)),C(1),w("routerLink",ne(29,uL)),C(2),w("routerLinkActive",ne(30,Ro)),C(1),w("routerLink",ne(31,cL)),C(2),w("routerLinkActive",ne(32,Ro)),C(1),w("routerLink",ne(33,dL)))},dependencies:[Cn,Ka,ab],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}"]}),e})(),hL=(()=>{class e{constructor(n,r,o){this.dom=n,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(Jt(n=>n instanceof nr),re(()=>this.activatedRoute),re(n=>{for(;n.firstChild;)n=n.firstChild;return n}),Jt(n=>"primary"===n.outlet),We(n=>n.data)).subscribe(n=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(n.canonical?r+n.canonical:r+this.router.url)})}updateCanonicalUrl(n){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",n)}}return e.\u0275fac=function(n){return new(n||e)(M(vt),M(Rt),M(Tr))},e.\u0275cmp=bt({type:e,selectors:[["app-root"]],standalone:!0,features:[At],decls:3,vars:0,template:function(n,r){1&n&&y(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[fL,Tf,iL],encapsulation:2}),e})(),_b=(()=>{class e{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return e.\u0275fac=function(n){return new(n||e)(M(Nn),M(It))},e.\u0275dir=G({type:e}),e})(),Ar=(()=>{class e extends _b{}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,features:[de]}),e})();const Dn=new N("NgValueAccessor"),mL={provide:Dn,useExisting:pe(()=>No),multi:!0},vL=new N("CompositionEventMode");let No=(()=>{class e extends _b{constructor(n,r,o){super(n,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function yL(){const e=Kn()?Kn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return e.\u0275fac=function(n){return new(n||e)(M(Nn),M(It),M(vL,8))},e.\u0275dir=G({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(n,r){1&n&&P("input",function(i){return r._handleInput(i.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(i){return r._compositionEnd(i.target.value)})},features:[Ce([mL]),de]}),e})();function rr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const nt=new N("NgValidators"),or=new N("NgAsyncValidators"),_L=/^(?=.{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 Eb(e){return rr(e.value)?{required:!0}:null}function Sb(e){return rr(e.value)||_L.test(e.value)?null:{email:!0}}function Dl(e){return null}function xb(e){return null!=e}function Rb(e){return Si(e)?Ne(e):e}function Nb(e){let t={};return e.forEach(n=>{t=null!=n?{...t,...n}:t}),0===Object.keys(t).length?null:t}function Pb(e,t){return t.map(n=>n(e))}function Ob(e){return e.map(t=>function CL(e){return!e.validate}(t)?t:n=>t.validate(n))}function Lf(e){return null!=e?function kb(e){if(!e)return null;const t=e.filter(xb);return 0==t.length?null:function(n){return Nb(Pb(n,t))}}(Ob(e)):null}function Vf(e){return null!=e?function Fb(e){if(!e)return null;const t=e.filter(xb);return 0==t.length?null:function(n){return function pL(...e){const t=Nh(e),{args:n,keys:r}=qC(e),o=new Te(i=>{const{length:s}=n;if(!s)return void i.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=g},()=>l--,void 0,()=>{(!l||!d)&&(u||i.next(r?ZC(r,a):a),i.complete())}))}});return t?o.pipe(WC(t)):o}(Pb(n,t).map(Rb)).pipe(re(Nb))}}(Ob(e)):null}function Lb(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function Hf(e){return e?Array.isArray(e)?e:[e]:[]}function bl(e,t){return Array.isArray(e)?e.includes(t):e===t}function Ub(e,t){const n=Hf(t);return Hf(e).forEach(o=>{bl(n,o)||n.push(o)}),n}function Bb(e,t){return Hf(t).filter(n=>!bl(e,n))}class jb{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(t){this._rawValidators=t||[],this._composedValidatorFn=Lf(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Vf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,n){return!!this.control&&this.control.hasError(t,n)}getError(t,n){return this.control?this.control.getError(t,n):null}}class lt extends jb{get formDirective(){return null}get path(){return null}}class ir extends jb{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class $b{constructor(t){this._cd=t}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 wl=(()=>{class e extends $b{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(M(ir,2))},e.\u0275dir=G({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&Ta("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[de]}),e})(),El=(()=>{class e extends $b{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(M(lt,10))},e.\u0275dir=G({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&Ta("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[de]}),e})();const os="VALID",Sl="INVALID",Po="PENDING",is="DISABLED";function jf(e){return(Il(e)?e.validators:e)||null}function $f(e,t){return(Il(t)?t.asyncValidators:e)||null}function Il(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Wb{constructor(t,n){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(n)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===os}get invalid(){return this.status===Sl}get pending(){return this.status==Po}get disabled(){return this.status===is}get enabled(){return this.status!==is}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Ub(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Ub(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Bb(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Bb(t,this._rawAsyncValidators))}hasValidator(t){return bl(this._rawValidators,t)}hasAsyncValidator(t){return bl(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(n=>{n.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Po,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=is,this.errors=null,this._forEachChild(r=>{r.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(r=>r(!0))}enable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=os,this._forEachChild(r=>{r.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===os||this.status===Po)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?is:os}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Po,this._hasOwnPendingAsyncValidator=!0;const n=Rb(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(!1!==n.emitEvent)}get(t){let n=t;return null==n||(Array.isArray(n)||(n=n.split(".")),0===n.length)?null:n.reduce((r,o)=>r&&r._find(o),this)}getError(t,n){const r=n?this.get(n):this;return r&&r.errors?r.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ie,this.statusChanges=new Ie}_calculateStatus(){return this._allControlsDisabled()?is:this.errors?Sl:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Po)?Po:this._anyControlsHaveStatus(Sl)?Sl:os}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){Il(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function EL(e){return Array.isArray(e)?Lf(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function ML(e){return Array.isArray(e)?Vf(e):e||null}(this._rawAsyncValidators)}}class Gf extends Wb{constructor(t,n,r){super(jf(n),$f(r,n)),this.controls=t,this._initObservables(),this._setUpdateStrategy(n),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,n){return this.controls[t]?this.controls[t]:(this.controls[t]=n,n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange),n)}addControl(t,n,r={}){this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(t,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}setControl(t,n,r={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],n&&this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,n={}){(function qb(e,t,n){e._forEachChild((r,o)=>{if(void 0===n[o])throw new I(1002,"")})})(this,0,t),Object.keys(t).forEach(r=>{(function zb(e,t,n){const r=e.controls;if(!(t?Object.keys(r):r).length)throw new I(1e3,"");if(!r[n])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}patchValue(t,n={}){null!=t&&(Object.keys(t).forEach(r=>{const o=this.controls[r];o&&o.patchValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}reset(t={},n={}){this._forEachChild((r,o)=>{r.reset(t[o],{onlySelf:!0,emitEvent:n.emitEvent})}),this._updatePristine(n),this._updateTouched(n),this.updateValueAndValidity(n)}getRawValue(){return this._reduceChildren({},(t,n,r)=>(t[r]=n.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(n,r)=>!!r._syncPendingControls()||n);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(n=>{const r=this.controls[n];r&&t(r,n)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[n,r]of Object.entries(this.controls))if(this.contains(n)&&t(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(n,r,o)=>((r.enabled||this.disabled)&&(n[o]=r.value),n))}_reduceChildren(t,n){let r=t;return this._forEachChild((o,i)=>{r=n(r,o,i)}),r}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const Oo=new N("CallSetDisabledState",{providedIn:"root",factory:()=>Tl}),Tl="always";function ss(e,t,n=Tl){zf(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===n)&&t.valueAccessor.setDisabledState?.(e.disabled),function TL(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Zb(e,t)})}(e,t),function xL(e,t){const n=(r,o)=>{t.valueAccessor.writeValue(r),o&&t.viewToModelUpdate(r)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}(e,t),function AL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Zb(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function IL(e,t){if(t.valueAccessor.setDisabledState){const n=r=>{t.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}(e,t)}function Rl(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function zf(e,t){const n=function Vb(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(Lb(n,t.validator)):"function"==typeof n&&e.setValidators([n]);const r=function Hb(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(Lb(r,t.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Rl(t._rawValidators,o),Rl(t._rawAsyncValidators,o)}function Zb(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const kL={provide:lt,useExisting:pe(()=>ko)},as=(()=>Promise.resolve())();let ko=(()=>{class e extends lt{constructor(n,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ie,this.form=new Gf({},Lf(n),Vf(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(n){as.then(()=>{const r=this._findContainer(n.path);n.control=r.registerControl(n.name,n.control),ss(n.control,n,this.callSetDisabledState),n.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(n)})}getControl(n){return this.form.get(n.path)}removeControl(n){as.then(()=>{const r=this._findContainer(n.path);r&&r.removeControl(n.name),this._directives.delete(n)})}addFormGroup(n){as.then(()=>{const r=this._findContainer(n.path),o=new Gf({});(function Xb(e,t){zf(e,t)})(o,n),r.registerControl(n.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(n){as.then(()=>{const r=this._findContainer(n.path);r&&r.removeControl(n.name)})}getFormGroup(n){return this.form.get(n.path)}updateModel(n,r){as.then(()=>{this.form.get(n.path).setValue(r)})}setValue(n){this.control.setValue(n)}onSubmit(n){return this.submitted=!0,function Yb(e,t){e._syncPendingControls(),t.forEach(n=>{const r=n.control;"submit"===r.updateOn&&r._pendingChange&&(n.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(n){return n.pop(),n.length?this.form.get(n):this.form}}return e.\u0275fac=function(n){return new(n||e)(M(nt,10),M(or,10),M(Oo,8))},e.\u0275dir=G({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(n,r){1&n&&P("submit",function(i){return r.onSubmit(i)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ce([kL]),de]}),e})();function Qb(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function Jb(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const Kb=class extends Wb{constructor(t=null,n,r){super(jf(n),$f(r,n)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Il(n)&&(n.nonNullable||n.initialValueIsDefault)&&(this.defaultValue=Jb(t)?t.value:t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==n.emitViewToModelChange)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Qb(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Qb(this._onDisabledChange,t)}_forEachChild(t){}_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(t){Jb(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},VL={provide:ir,useExisting:pe(()=>ls)},nw=(()=>Promise.resolve())();let ls=(()=>{class e extends ir{constructor(n,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Kb,this._registered=!1,this.name="",this.update=new Ie,this._parent=n,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Zf(e,t){if(!t)return null;let n,r,o;return Array.isArray(t),t.forEach(i=>{i.constructor===No?n=i:function PL(e){return Object.getPrototypeOf(e.constructor)===Ar}(i)?r=i:o=i}),o||r||n||null}(0,i)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const r=n.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Wf(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}(n,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(n){this.viewModel=n,this.update.emit(n)}_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(){ss(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(n){nw.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const r=n.isDisabled.currentValue,o=0!==r&&bo(r);nw.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Al(e,t){return[...t.path,e]}(n,this._parent):[n]}}return e.\u0275fac=function(n){return new(n||e)(M(lt,9),M(nt,10),M(or,10),M(Dn,10),M(Ha,8),M(Oo,8))},e.\u0275dir=G({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:[Ce([VL]),de,kt]}),e})(),Pl=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=G({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e})();const UL={provide:Dn,useExisting:pe(()=>Xf),multi:!0};let ow=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})(),BL=(()=>{class e{constructor(){this._accessors=[]}add(n,r){this._accessors.push([n,r])}remove(n){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===n)return void this._accessors.splice(r,1)}select(n){this._accessors.forEach(r=>{this._isSameGroup(r,n)&&r[1]!==n&&r[1].fireUncheck(n.value)})}_isSameGroup(n,r){return!!n[0].control&&n[0]._parent===r._control._parent&&n[1].name===r.name}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:ow}),e})(),Xf=(()=>{class e extends Ar{constructor(n,r,o,i){super(n,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=R(Oo,{optional:!0})??Tl}ngOnInit(){this._control=this._injector.get(ir),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(n){this._state=n===this.value,this.setProperty("checked",this._state)}registerOnChange(n){this._fn=n,this.onChange=()=>{n(this.value),this._registry.select(this)}}setDisabledState(n){(this.setDisabledStateFired||n||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",n),this.setDisabledStateFired=!0}fireUncheck(n){this.writeValue(n)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return e.\u0275fac=function(n){return new(n||e)(M(Nn),M(It),M(BL),M(hn))},e.\u0275dir=G({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(n,r){1&n&&P("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Ce([UL]),de]}),e})();const ZL={provide:Dn,useExisting:pe(()=>Ol),multi:!0};function cw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Ol=(()=>{class e extends Ar{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const o=cw(this._getOptionId(n),n);this.setProperty("value",o)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function XL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&P("change",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ce([ZL]),de]}),e})(),dw=(()=>{class e{constructor(n,r,o){this._element=n,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(cw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(n){return new(n||e)(M(It),M(Nn),M(Ol,9))},e.\u0275dir=G({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();const YL={provide:Dn,useExisting:pe(()=>Kf),multi:!0};function fw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Kf=(()=>{class e extends Ar{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const o=n.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(n){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{class e{constructor(n,r,o){this._element=n,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(fw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(fw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(n){return new(n||e)(M(It),M(Nn),M(Kf,9))},e.\u0275dir=G({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();let xr=(()=>{class e{constructor(){this._validator=Dl}ngOnChanges(n){if(this.inputName in n){const r=this.normalizeInput(n[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):Dl,this._onChange&&this._onChange()}}validate(n){return this._validator(n)}registerOnValidatorChange(n){this._onChange=n}enabled(n){return null!=n}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=G({type:e,features:[kt]}),e})();const e2={provide:nt,useExisting:pe(()=>Fo),multi:!0};let Fo=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=bo,this.createValidator=n=>Eb}enabled(n){return n}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(n,r){2&n&&zt("required",r._enabled?"":null)},inputs:{required:"required"},features:[Ce([e2]),de]}),e})();const n2={provide:nt,useExisting:pe(()=>kl),multi:!0};let kl=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=bo,this.createValidator=n=>Sb}enabled(n){return n}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[Ce([n2]),de]}),e})();const o2={provide:nt,useExisting:pe(()=>eh),multi:!0};let eh=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=n=>function pw(e){return"number"==typeof e?e:parseInt(e,10)}(n),this.createValidator=n=>function Tb(e){return t=>function Db(e){return null!=e&&"number"==typeof e.length}(t.value)&&t.value.length>e?{maxlength:{requiredLength:e,actualLength:t.value.length}}:null}(n)}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(n,r){2&n&&zt("maxlength",r._enabled?r.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Ce([o2]),de]}),e})();const i2={provide:nt,useExisting:pe(()=>th),multi:!0};let th=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=n=>n,this.createValidator=n=>function Ab(e){if(!e)return Dl;let t,n;return"string"==typeof e?(n="","^"!==e.charAt(0)&&(n+="^"),n+=e,"$"!==e.charAt(e.length-1)&&(n+="$"),t=new RegExp(n)):(n=e.toString(),t=e),r=>{if(rr(r.value))return null;const o=r.value;return t.test(o)?null:{pattern:{requiredPattern:n,actualValue:o}}}}(n)}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(n,r){2&n&&zt("pattern",r._enabled?r.pattern:null)},inputs:{pattern:"pattern"},features:[Ce([i2]),de]}),e})(),s2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({imports:[ow]}),e})(),Fl=(()=>{class e{static withConfig(n){return{ngModule:e,providers:[{provide:Oo,useValue:n.callSetDisabledState??Tl}]}}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({imports:[s2]}),e})();class Ll{}class Vl{}class bn{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(n=>{const r=n.indexOf(":");if(r>0){const o=n.slice(0,r),i=o.toLowerCase(),s=n.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"&&t instanceof Headers?(this.headers=new Map,t.forEach((n,r)=>{this.setHeaderEntries(r,n)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([n,r])=>{this.setHeaderEntries(n,r)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const n=this.headers.get(t.toLowerCase());return n&&n.length>0?n[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,n){return this.clone({name:t,value:n,op:"a"})}set(t,n){return this.clone({name:t,value:n,op:"s"})}delete(t,n){return this.clone({name:t,value:n,op:"d"})}maybeSetNormalizedName(t,n){this.normalizedNames.has(n)||this.normalizedNames.set(n,t)}init(){this.lazyInit&&(this.lazyInit instanceof bn?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(n=>{this.headers.set(n,t.headers.get(n)),this.normalizedNames.set(n,t.normalizedNames.get(n))})}clone(t){const n=new bn;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof bn?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}applyUpdate(t){const n=t.name.toLowerCase();switch(t.op){case"a":case"s":let r=t.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(t.name,n);const o=("a"===t.op?this.headers.get(n):void 0)||[];o.push(...r),this.headers.set(n,o);break;case"d":const i=t.value;if(i){let s=this.headers.get(n);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(n),this.normalizedNames.delete(n)):this.headers.set(n,s)}else this.headers.delete(n),this.normalizedNames.delete(n)}}setHeaderEntries(t,n){const r=(Array.isArray(n)?n:[n]).map(i=>i.toString()),o=t.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(t,o)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(n=>t(this.normalizedNames.get(n),this.headers.get(n)))}}class l2{encodeKey(t){return Cw(t)}encodeValue(t){return Cw(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const c2=/%(\d[a-f0-9])/gi,d2={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Cw(e){return encodeURIComponent(e).replace(c2,(t,n)=>d2[n]??t)}function Hl(e){return`${e}`}class sr{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new l2,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function u2(e,t){const n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,i)),t.decodeValue(o.slice(i+1))],l=n.get(s)||[];l.push(a),n.set(s,l)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(n=>{const r=t.fromObject[n],o=Array.isArray(r)?r.map(Hl):[Hl(r)];this.map.set(n,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const n=this.map.get(t);return n?n[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,n){return this.clone({param:t,value:n,op:"a"})}appendAll(t){const n=[];return Object.keys(t).forEach(r=>{const o=t[r];Array.isArray(o)?o.forEach(i=>{n.push({param:r,value:i,op:"a"})}):n.push({param:r,value:o,op:"a"})}),this.clone(n)}set(t,n){return this.clone({param:t,value:n,op:"s"})}delete(t,n){return this.clone({param:t,value:n,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const n=this.encoder.encodeKey(t);return this.map.get(t).map(r=>n+"="+this.encoder.encodeValue(r)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const n=new sr({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const n=("a"===t.op?this.map.get(t.param):void 0)||[];n.push(Hl(t.value)),this.map.set(t.param,n);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let r=this.map.get(t.param)||[];const o=r.indexOf(Hl(t.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(t.param,r):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class f2{constructor(){this.map=new Map}set(t,n){return this.map.set(t,n),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Dw(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function bw(e){return typeof Blob<"u"&&e instanceof Blob}function ww(e){return typeof FormData<"u"&&e instanceof FormData}class us{constructor(t,n,r,o){let i;if(this.url=n,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function h2(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.headers||(this.headers=new bn),this.context||(this.context=new f2),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=n;else{const a=n.indexOf("?");this.urlWithParams=n+(-1===a?"?":ad.set(g,t.setHeaders[g]),l)),t.setParams&&(u=Object.keys(t.setParams).reduce((d,g)=>d.set(g,t.setParams[g]),u)),new us(n,r,i,{params:u,headers:l,context:c,reportProgress:a,responseType:o,withCredentials:s})}}var Ve=(()=>((Ve=Ve||{})[Ve.Sent=0]="Sent",Ve[Ve.UploadProgress=1]="UploadProgress",Ve[Ve.ResponseHeader=2]="ResponseHeader",Ve[Ve.DownloadProgress=3]="DownloadProgress",Ve[Ve.Response=4]="Response",Ve[Ve.User=5]="User",Ve))();class nh{constructor(t,n=200,r="OK"){this.headers=t.headers||new bn,this.status=void 0!==t.status?t.status:n,this.statusText=t.statusText||r,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class rh extends nh{constructor(t={}){super(t),this.type=Ve.ResponseHeader}clone(t={}){return new rh({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Lo extends nh{constructor(t={}){super(t),this.type=Ve.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Lo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Ew extends nh{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function oh(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let ih=(()=>{class e{constructor(n){this.handler=n}request(n,r,o={}){let i;if(n instanceof us)i=n;else{let l,u;l=o.headers instanceof bn?o.headers:new bn(o.headers),o.params&&(u=o.params instanceof sr?o.params:new sr({fromObject:o.params})),i=new us(n,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:u,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=j(i).pipe(wo(l=>this.handler.handle(l)));if(n instanceof us||"events"===o.observe)return s;const a=s.pipe(Jt(l=>l instanceof Lo));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(re(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(re(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(re(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(re(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new sr).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,o={}){return this.request("PATCH",n,oh(o,r))}post(n,r,o={}){return this.request("POST",n,oh(o,r))}put(n,r,o={}){return this.request("PUT",n,oh(o,r))}}return e.\u0275fac=function(n){return new(n||e)(F(Ll))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function Iw(e,t){return t(e)}function m2(e,t){return(n,r)=>t.intercept(n,{handle:o=>e(o,r)})}const v2=new N(""),cs=new N(""),Tw=new N("");function _2(){let e=null;return(t,n)=>{null===e&&(e=(R(v2,{optional:!0})??[]).reduceRight(m2,Iw));const r=R(Fa),o=r.add();return e(t,n).pipe(ji(()=>r.remove(o)))}}let Aw=(()=>{class e extends Ll{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=R(Fa)}handle(n){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(cs),...this.injector.get(Tw,[])]));this.chain=o.reduceRight((i,s)=>function y2(e,t,n){return(r,o)=>n.runInContext(()=>t(r,i=>e(i,o)))}(i,s,this.injector),Iw)}const r=this.pendingTasks.add();return this.chain(n,o=>this.backend.handle(o)).pipe(ji(()=>this.pendingTasks.remove(r)))}}return e.\u0275fac=function(n){return new(n||e)(F(Vl),F(fn))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const w2=/^\)\]\}',?\n/;let Rw=(()=>{class e{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Ne(r.\u0275loadImpl()):j(null)).pipe(Bt(()=>new Te(i=>{const s=r.build();if(s.open(n.method,n.urlWithParams),n.withCredentials&&(s.withCredentials=!0),n.headers.forEach((_,b)=>s.setRequestHeader(_,b.join(","))),n.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const _=n.detectContentTypeHeader();null!==_&&s.setRequestHeader("Content-Type",_)}if(n.responseType){const _=n.responseType.toLowerCase();s.responseType="json"!==_?_:"text"}const a=n.serializeBody();let l=null;const u=()=>{if(null!==l)return l;const _=s.statusText||"OK",b=new bn(s.getAllResponseHeaders()),S=function E2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||n.url;return l=new rh({headers:b,status:s.status,statusText:_,url:S}),l},c=()=>{let{headers:_,status:b,statusText:S,url:D}=u(),x=null;204!==b&&(x=typeof s.response>"u"?s.responseText:s.response),0===b&&(b=x?200:0);let U=b>=200&&b<300;if("json"===n.responseType&&"string"==typeof x){const q=x;x=x.replace(w2,"");try{x=""!==x?JSON.parse(x):null}catch(ze){x=q,U&&(U=!1,x={error:ze,text:x})}}U?(i.next(new Lo({body:x,headers:_,status:b,statusText:S,url:D||void 0})),i.complete()):i.error(new Ew({error:x,headers:_,status:b,statusText:S,url:D||void 0}))},d=_=>{const{url:b}=u(),S=new Ew({error:_,status:s.status||0,statusText:s.statusText||"Unknown Error",url:b||void 0});i.error(S)};let g=!1;const m=_=>{g||(i.next(u()),g=!0);let b={type:Ve.DownloadProgress,loaded:_.loaded};_.lengthComputable&&(b.total=_.total),"text"===n.responseType&&s.responseText&&(b.partialText=s.responseText),i.next(b)},v=_=>{let b={type:Ve.UploadProgress,loaded:_.loaded};_.lengthComputable&&(b.total=_.total),i.next(b)};return s.addEventListener("load",c),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),n.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),i.next({type:Ve.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",c),s.removeEventListener("timeout",d),n.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}}return e.\u0275fac=function(n){return new(n||e)(F(BC))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const sh=new N("XSRF_ENABLED"),Nw=new N("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),Pw=new N("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Ow{}let I2=(()=>{class e{constructor(n,r,o){this.doc=n,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=RC(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return e.\u0275fac=function(n){return new(n||e)(F(vt),F(yr),F(Nw))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function T2(e,t){const n=e.url.toLowerCase();if(!R(sh)||"GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t(e);const r=R(Ow).getToken(),o=R(Pw);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),t(e)}var De=(()=>((De=De||{})[De.Interceptors=0]="Interceptors",De[De.LegacyInterceptors=1]="LegacyInterceptors",De[De.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",De[De.NoXsrfProtection=3]="NoXsrfProtection",De[De.JsonpSupport=4]="JsonpSupport",De[De.RequestsMadeViaParent=5]="RequestsMadeViaParent",De[De.Fetch=6]="Fetch",De))();const kw=new N("LEGACY_INTERCEPTOR_FN");class F2{constructor(){this.name="",this.email="",this.message=""}}let Fw=(()=>{class e{constructor(n){this.httpClient=n}postContactForm(n){return this.httpClient.post(`${me_apiBaseUrl}contact`,n)}}return e.\u0275fac=function(n){return new(n||e)(F(ih))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function L2(e,t){if(1&e){const n=Ae();h(0,"form",5,6),P("ngSubmit",function(){return se(n),ae(k().submit())}),h(2,"div",7)(3,"label",8),f(4,"Name "),h(5,"span",9),f(6,"*"),p()(),h(7,"input",10),P("ngModelChange",function(o){return se(n),ae(k().contactViewModel.name=o)}),p()(),h(8,"div",7)(9,"label",11),f(10,"Email address "),h(11,"span",9),f(12,"*"),p()(),h(13,"input",12),P("ngModelChange",function(o){return se(n),ae(k().contactViewModel.email=o)}),p()(),h(14,"div",7)(15,"label",13),f(16,"Message "),h(17,"span",9),f(18,"*"),p()(),h(19,"textarea",14),P("ngModelChange",function(o){return se(n),ae(k().contactViewModel.message=o)}),p()(),h(20,"button",15),f(21,"Submit"),p()()}if(2&e){const n=$c(1),r=k();C(7),w("ngModel",r.contactViewModel.name),C(6),w("ngModel",r.contactViewModel.email),C(6),w("ngModel",r.contactViewModel.message),C(1),w("disabled",!n.valid||r.enableFormCountDown>0)}}function V2(e,t){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function H2(e,t){1&e&&(h(0,"p",16),f(1,"Something went wrong. Please try again later."),p())}let U2=(()=>{class e{constructor(n){this.contactService=n,this.contactViewModel=new F2,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:n=>{console.log("Submitted form"),this.success=!0},error:n=>{console.error(n),this.error=!0},complete:()=>console.info("complete")})}}return e.\u0275fac=function(n){return new(n||e)(M(Fw))},e.\u0275cmp=bt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[At],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post",3,"ngSubmit",4,"ngIf"],[4,"ngIf"],["class","text-danger",4,"ngIf"],["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(n,r){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),O(3,L2,22,4,"form",2),O(4,V2,2,0,"p",3),O(5,H2,2,0,"p",4),p()),2&n&&(C(3),w("ngIf",!r.success&&!r.error),C(1),w("ngIf",r.success),C(1),w("ngIf",r.error))},dependencies:[el,Fl,Pl,No,wl,El,Fo,kl,ls,ko]}),e})();const Lw=function(){return["/pro"]};let B2=(()=>{class e{scrollToAnchor(n){return document.querySelector(n)?.scrollIntoView(!0),!1}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[At],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(n,r){1&n&&(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),P("click",function(){return r.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),P("click",function(){return r.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),P("click",function(){return r.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&n&&(C(25),w("routerLink",ne(2,Lw)),C(63),w("routerLink",ne(3,Lw)))},dependencies:[Cn]}),e})();const Ut={dotnetSDKVersion:"6.x",majorVersion:"5",version:"5.1.23"},j2=function(){return["/usage"]};let $2=(()=>{class e{constructor(){this.versions=Ut}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[At],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(n,r){1&n&&(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&n&&(C(15),w("routerLink",ne(5,j2)),C(22),Fn('\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),Fn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',r.versions.version,'\\tools\\net6.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(20),Fn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(9),Fn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[Cn]}),e})(),Vw=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[At],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(n,r){1&n&&(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 50 million downloads on Nuget"),p()()()()())},encapsulation:2}),e})();const G2=function(){return["/pro"]},z2=function(){return["/usage"]},q2=function(){return["/getstarted"]},W2=function(){return["/features"]};let Z2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-home"]],standalone:!0,features:[At],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(n,r){1&n&&(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&n&&(C(45),w("routerLink",ne(4,G2)),C(12),w("routerLink",ne(5,z2)),C(24),w("routerLink",ne(6,q2)),C(15),w("routerLink",ne(7,W2)))},dependencies:[Cn,Vw],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}}"]}),e})(),X2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[At],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(n,r){1&n&&(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())}}),e})();class Hw{constructor(){this.error=null,this.licenses=[]}}class Y2{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let Uw=(()=>{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 n=location.href;const r=n.indexOf("?");r>-1&&(n=n.substring(r+1));const o=this.parseQueryString(n);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const n=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",n),n}validateNonce(n){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),r&&0!==r.length?r===n||(console.error("Validating nonce failed. Values do not match.",r,n),!1):(console.error("Validating nonce failed. No saved nonce available.",r,n),!1)}createNonce(){const n="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&&(u=decodeURIComponent(a),c=decodeURIComponent(l),"/"===u.substring(0,1)&&(u=u.substring(1)),r[u]=c);return r}base64UrlEncode(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})(),Bw=(()=>{class e{constructor(n){this.httpClient=n}getLicense(n){return this.httpClient.get(`${me_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(n)}`)}getTrialLicense(n){return this.httpClient.post(`${me_apiBaseUrl}reportgenerator/triallicense`,n)}getPaddleLicense(n){return this.httpClient.post(`${me_apiBaseUrl}reportgenerator/paddlelicense`,n)}}return e.\u0275fac=function(n){return new(n||e)(F(ih))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function Q2(e,t){1&e&&(h(0,"div",67)(1,"span",68),f(2,"Loading..."),p()())}function J2(e,t){1&e&&(h(0,"div",69),y(1,"i",70),p())}const ah=function(){return["/contact"]};function K2(e,t){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 n=k(2);C(2),_e(n.license.error),C(3),w("routerLink",ne(2,ah))}}function eV(e,t){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",71),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function tV(e,t){1&e&&(h(0,"span"),y(1,"i",75),f(2," Copy"),p())}function nV(e,t){1&e&&(h(0,"span"),y(1,"i",76),f(2," Copied"),p())}function rV(e,t){if(1&e){const n=Ae();h(0,"div")(1,"label",72),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",73),f(4),p(),h(5,"button",74),P("click",function(){return se(n),ae(k(2).copy())}),O(6,tV,3,0,"span",34),O(7,nV,3,0,"span",34),p()()}if(2&e){const n=k(2);C(4),_e(n.license.license),C(2),w("ngIf",!n.licenseCopied),C(1),w("ngIf",n.licenseCopied)}}function oV(e,t){if(1&e&&(h(0,"div",20),O(1,K2,8,3,"div",34),O(2,eV,6,0,"div",34),O(3,rV,8,3,"div",34),p()),2&e){const n=k();C(1),w("ngIf",n.license.error),C(1),w("ngIf",!n.license.error&&!n.license.isSponsor),C(1),w("ngIf",!n.license.error&&n.license.isSponsor&&n.license.license)}}const jw=function(e){return{active:e}};function iV(e,t){if(1&e){const n=Ae();h(0,"span",77)(1,"span",78),P("click",function(){return se(n),ae(k().lifetimeLicense=!1)}),y(2,"i",79),f(3," Annual subscription"),p(),h(4,"span",78),P("click",function(){return se(n),ae(k().lifetimeLicense=!0)}),y(5,"i",80),f(6," Lifetime license"),p()()}if(2&e){const n=k();C(1),w("ngClass",Pi(2,jw,!n.lifetimeLicense)),C(3),w("ngClass",Pi(4,jw,n.lifetimeLicense))}}function sV(e,t){if(1&e){const n=Ae();h(0,"button",100),P("click",function(){return se(n),ae(k(2).requestTrial())}),y(1,"i",25),f(2," Start trial"),p()}2&e&&w("disabled",k(2).trialDisabled)}function aV(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function lV(e,t){1&e&&(mt(0),y(1,"i",79),f(2," Annual subscription"),yt())}function uV(e,t){1&e&&(mt(0),y(1,"i",80),f(2," Lifetime license"),yt())}function cV(e,t){if(1&e){const n=Ae();h(0,"button",102),P("click",function(){return se(n),ae(k(2).openPaddleCheckout("individual"))}),y(1,"i",103),f(2," Buy now"),p()}}function dV(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function fV(e,t){1&e&&(mt(0),y(1,"i",79),f(2," Annual subscription"),yt())}function hV(e,t){1&e&&(mt(0),y(1,"i",80),f(2," Lifetime license"),yt())}function pV(e,t){if(1&e){const n=Ae();h(0,"button",102),P("click",function(){return se(n),ae(k(2).openPaddleCheckout("team"))}),y(1,"i",103),f(2," Buy now"),p()}}function gV(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function mV(e,t){1&e&&(mt(0),y(1,"i",79),f(2," Annual subscription"),yt())}function yV(e,t){1&e&&(mt(0),y(1,"i",80),f(2," Lifetime license"),yt())}function vV(e,t){if(1&e){const n=Ae();h(0,"button",102),P("click",function(){return se(n),ae(k(2).openPaddleCheckout("enterprise"))}),y(1,"i",103),f(2," Buy now"),p()}}function _V(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function CV(e,t){if(1&e&&(h(0,"div",2)(1,"div",81)(2,"div",82),y(3,"img",83),h(4,"h4",84),f(5,"Free"),y(6,"br"),f(7,"Trial"),p(),h(8,"p"),y(9,"i",85),f(10," Get full access"),y(11,"br")(12,"i",86),f(13," 10 day trial period "),p(),O(14,sV,3,1,"button",87),O(15,aV,2,0,"button",88),p()(),h(16,"div",89)(17,"div",90),y(18,"img",91),h(19,"h4",84),f(20,"Individual"),y(21,"br"),f(22),p(),h(23,"p"),y(24,"i",92),f(25," Per developer license."),y(26,"br"),O(27,lV,3,0,"ng-container",34),O(28,uV,3,0,"ng-container",34),p(),O(29,cV,3,0,"button",93),O(30,dV,2,0,"button",88),p()(),h(31,"div",94)(32,"div",90),y(33,"img",95),h(34,"h4",84),f(35,"Team"),y(36,"br"),f(37),p(),h(38,"p"),y(39,"i",96),f(40," Up to 10 developers."),y(41,"br"),O(42,fV,3,0,"ng-container",34),O(43,hV,3,0,"ng-container",34),p(),O(44,pV,3,0,"button",93),O(45,gV,2,0,"button",88),p()(),h(46,"div",97)(47,"div",90),y(48,"img",98),h(49,"h4",84),f(50,"Enterprise"),y(51,"br"),f(52),p(),h(53,"p"),y(54,"i",99),f(55," Unlimited developers."),y(56,"br"),O(57,mV,3,0,"ng-container",34),O(58,yV,3,0,"ng-container",34),p(),O(59,vV,3,0,"button",93),O(60,_V,2,0,"button",88),p()()()),2&e){const n=k();C(14),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle),C(7),_e(n.lifetimeLicense?n.paddleIndividualLifetimeLicensePrice:n.paddleIndividualLicensePrice),C(5),w("ngIf",!n.lifetimeLicense),C(1),w("ngIf",n.lifetimeLicense),C(1),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle),C(7),_e(n.lifetimeLicense?n.paddleTeamLifetimeLicensePrice:n.paddleTeamLicensePrice),C(5),w("ngIf",!n.lifetimeLicense),C(1),w("ngIf",n.lifetimeLicense),C(1),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle),C(7),_e(n.lifetimeLicense?n.paddleEnterpriseLifetimeLicensePrice:n.paddleEnterpriseLicensePrice),C(5),w("ngIf",!n.lifetimeLicense),C(1),w("ngIf",n.lifetimeLicense),C(1),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle)}}function DV(e,t){1&e&&(mt(0),h(1,"div",67)(2,"span",68),f(3,"Loading..."),p()(),h(4,"span",105),f(5,"Your license is being generated. Please wait."),p(),yt())}function bV(e,t){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 n=k(3);C(2),_e(n.paddleLicense.error),C(3),w("routerLink",ne(2,ah))}}function wV(e,t){1&e&&(h(0,"span"),y(1,"i",75),f(2," Copy"),p())}function EV(e,t){1&e&&(h(0,"span"),y(1,"i",76),f(2," Copied"),p())}function MV(e,t){if(1&e){const n=Ae();h(0,"div",109)(1,"textarea",110),f(2),p(),h(3,"button",74),P("click",function(){const i=se(n).$implicit;return ae(k(4).copyPaddle(i))}),O(4,wV,3,0,"span",34),O(5,EV,3,0,"span",34),p()()}if(2&e){const n=t.$implicit,r=k(4);C(2),_e(n),C(2),w("ngIf",-1===r.copiedPaddledLicenses.indexOf(n)),C(1),w("ngIf",r.copiedPaddledLicenses.indexOf(n)>-1)}}function SV(e,t){if(1&e&&(h(0,"div")(1,"label",107),f(2,"Thank you! Please save your license key persistently:"),p(),O(3,MV,6,3,"div",108),p()),2&e){const n=k(3);C(3),w("ngForOf",n.paddleLicense.licenses)}}function IV(e,t){if(1&e&&(h(0,"div",106),O(1,bV,8,3,"div",34),O(2,SV,4,1,"div",34),p()),2&e){const n=k(2);C(1),w("ngIf",n.paddleLicense.error),C(1),w("ngIf",!n.paddleLicense.error)}}function TV(e,t){if(1&e&&(h(0,"div",2),O(1,DV,6,0,"ng-container",34),O(2,IV,3,2,"div",104),p()),2&e){const n=k();C(1),w("ngIf",n.paddleLicenseRequested&&!n.paddleLicense),C(1),w("ngIf",n.paddleLicense)}}function AV(e,t){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 Vo=function(){return["/features"]};let xV=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(n){if(this._lifetimeLicense=n,!this.lifetimeLicenseChangeTracked){this.lifetimeLicenseChangeTracked=!0;try{window.plausible("Licensetype changed")}catch(r){console.error("Failed to submit to Plausible",r)}}}constructor(n,r){this.oauthService=n,this.licenseService=r,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=o=>{this.paddleCheckoutComplete(o)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,o=>{this.paddleIndividualLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762580,o=>{this.paddleTeamLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762581,o=>{this.paddleEnterpriseLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(833943,o=>{this.paddleIndividualLifetimeLicensePrice=o.price.gross}),window.Paddle.Product.Prices(833944,o=>{this.paddleTeamLifetimeLicensePrice=o.price.gross}),window.Paddle.Product.Prices(833945,o=>{this.paddleEnterpriseLifetimeLicensePrice=o.price.gross})}ngOnInit(){const n=this.oauthService.validateStateAndExtractCode();if(null!==n?(console.log("Code received",n),this.licenseRequested=!0,this.licenseService.getLicense(n).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new Y2,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1)try{window.plausible("Trial2Pro")}catch(r){console.error("Failed to submit to Plausible",r)}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(n){console.error("Failed to copy license",n)}}copyPaddle(n){try{navigator.clipboard.writeText(n),this.copiedPaddledLicenses.push(n)}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();try{window.plausible("Trial-Started")}catch(n){console.error("Failed to submit to Plausible",n)}}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:n=>{console.log("Received trial license response"),this.paddleLicense=n,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}try{window.plausible("Trial-Completed")}catch(r){console.error("Failed to submit to Plausible",r)}},error:n=>{console.error(n),this.paddleLicense=new Hw,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(n){"enterprise"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"});try{window.plausible("Paddle-Started",{props:{product:n,lifetimeLicense:this.lifetimeLicense}})}catch(r){console.error("Failed to submit to Plausible",r)}}paddleCheckoutComplete(n){console.log("Checkout completed",n),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(n).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle();try{window.plausible("Paddle-Completed",{props:{product:n.product.name,lifetimeLicense:this.lifetimeLicense}})}catch(o){console.error("Failed to submit to Plausible",o)}},error:r=>{console.error(r),this.paddleLicense=new Hw,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}}return e.\u0275fac=function(n){return new(n||e)(M(Uw),M(Bw))},e.\u0275cmp=bt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[At],decls:217,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","style","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",2,"max-width","550px","margin","auto"],["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"],["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",2,"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"],[2,"position","relative","left","35px","top","-20px"],[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(n,r){if(1&n&&(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),P("click",function(){return r.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),P("click",function(){return r.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),y(90,"br"),f(91," A "),h(92,"a",17),P("click",function(){return r.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),P("click",function(){return r.requestLicense()}),y(117,"i",25),f(118," Get license"),p(),O(119,Q2,3,0,"div",26),p(),O(120,J2,2,0,"div",27),O(121,oV,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),O(127,iV,7,6,"span",31),p(),O(128,CV,61,17,"div",32),O(129,TV,3,2,"div",32),h(130,"div",33),O(131,AV,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," Are there limitations on number of users? "),p()(),h(150,"div",45)(151,"div",46)(152,"b"),f(153,"GitHub sponsors"),p(),y(154,"br"),h(155,"p"),f(156,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(157,"b"),f(158,"Bought license"),p(),y(159,"br"),h(160,"p"),f(161,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(162,"i"),f(163,"ReportGenerator"),p(),f(164,"."),p()()()(),h(165,"div",42)(166,"h2",47)(167,"button",48),f(168," Will my license expire? "),p()(),h(169,"div",49)(170,"div",46)(171,"b"),f(172,"GitHub sponsors"),p(),y(173,"br"),h(174,"p"),f(175,"Your license will not expire."),p(),h(176,"b"),f(177,"Bought license"),p(),y(178,"br"),h(179,"p")(180,"b"),f(181,"Annual subscription"),p(),f(182,": Your license may get revoked for new releases of "),h(183,"i"),f(184,"ReportGenerator"),p(),f(185,", if you cancel your subscription."),y(186,"br"),h(187,"b"),f(188,"Lifetime licenses"),p(),f(189,": Lifetime licenses will not expire. "),p()()()()()(),h(190,"div",50)(191,"div",51)(192,"div",52)(193,"form",53,54),P("ngSubmit",function(){return r.completeTrial()}),h(195,"div",55)(196,"h5",56),f(197,"Free Trial"),p(),y(198,"button",57),p(),h(199,"div",58)(200,"div",59)(201,"input",60),P("ngModelChange",function(i){return r.requestTrialData.name=i}),p(),h(202,"label",61),f(203,"Name "),h(204,"span",62),f(205,"*"),p()()(),h(206,"div",59)(207,"input",63),P("ngModelChange",function(i){return r.requestTrialData.email=i}),p(),h(208,"label",61),f(209,"Email address "),h(210,"span",62),f(211,"*"),p()()()(),h(212,"div",64)(213,"button",65),f(214,"Close"),p(),h(215,"button",66),f(216,"Get trial license"),p()()()()()()),2&n){const o=$c(194);C(18),w("routerLink",ne(18,Vo)),C(9),w("routerLink",ne(19,Vo)),C(9),w("routerLink",ne(20,Vo)),C(9),w("routerLink",ne(21,Vo)),C(9),w("routerLink",ne(22,Vo)),C(8),w("routerLink",ne(23,Vo)),C(35),w("routerLink",ne(24,ah)),C(19),w("disabled",r.licenseRequested),C(3),w("ngIf",r.licenseRequested&&!r.license),C(1),w("ngIf",!r.license),C(1),w("ngIf",r.license),C(6),w("ngIf",!r.paddleLicenseRequested),C(1),w("ngIf",!r.paddleLicenseRequested),C(1),w("ngIf",r.paddleLicenseRequested),C(2),w("ngIf",!r.lifetimeLicense),C(70),w("ngModel",r.requestTrialData.name),C(6),w("ngModel",r.requestTrialData.email),C(8),w("disabled",!o.valid)}},dependencies:[Cn,Xd,el,Ka,Fl,Pl,No,wl,El,Fo,eh,kl,ls,ko,Vw],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}}"]}),e})();class Bl{constructor(t,n,r,o,i,s){this.name=t,this.url=n,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(t){return t.tool}formatArgument(t,n){if(""===(n=n.trim()))return"";const r=n.indexOf(" ")>-1?'"':"";return`\r\n${r}-${t}:${n}${r}`}formatArguments(t,n){return this.formatArgument(t,n.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class RV extends Bl{formatExecutable(t){let n=`- task: ${t.tool}@${Ut.majorVersion}`;return n+="\r\n displayName: ReportGenerator",n+="\r\n inputs:",console.log("hello",n),n}formatArgument(t,n){if(""===(n=n.trim()))return"";const r=n.indexOf(" ")>-1?"'":"";return`\r\n ${t}: ${r}${n}${r}`}}class NV{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:"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:"PngChart",types:["Image"],description:"Creates a single PNG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/PngChart/CoverageHistory.png"},{name:"Badges",types:["Image"],description:"Creates SVGs and PNGs 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(t){return this.sourcedirectories.splice(t,1),!1}addReport(){return this.reports.push(""),!1}removeReport(t){return this.reports.splice(t,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(t){return this.plugins.splice(t,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(t){return this.assemblyfilters.splice(t,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(t){return this.classfilters.splice(t,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(t){return this.filefilters.splice(t,1),!1}getUsage(t,n){const r=t.executables.find(a=>a.runtime==n);let o=void 0!==r?t.formatExecutable(r):"";o+=t.formatArguments("reports",this.reports),o+=t.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=t.formatArgument("reporttypes",i)),o+=t.formatArguments("sourcedirs",this.sourcedirectories),o+=t.formatArgument("historydir",this.historydir),o+=t.formatArguments("plugins",this.plugins),o+=t.formatArguments("assemblyfilters",this.assemblyfilters),o+=t.formatArguments("classfilters",this.classfilters),o+=t.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=t.formatArgument("verbosity",this.selectedverbosity)),o+=t.formatArgument("title",this.title),o+=t.formatArgument("tag",this.tag),o+=t.formatArgument("license",this.license),o}historyDirRequired(){for(let t=0;t-1?"'":"";return`\r\n ${t}: ${r}${n}${r}`}}class lh{constructor(t,n){this.tool=t,this.command=n}}function OV(e,t){if(1&e){const n=Ae();h(0,"div",35)(1,"label",36)(2,"input",37),P("ngModelChange",function(o){return se(n),ae(k().selectedEnvironment=o)})("ngModelChange",function(){return se(n),ae(k().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const n=t.$implicit,r=k();C(2),w("ngModel",r.selectedEnvironment)("value",n)("checked",r.selectedEnvironment.name===n.name),C(2),_e(n.name),C(3),_e(n.description)}}function kV(e,t){if(1&e){const n=Ae();h(0,"div",35)(1,"label",36)(2,"input",41),P("ngModelChange",function(o){return se(n),ae(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 n=k().$implicit,r=k(2);C(2),w("ngModel",r.selectedPackage)("value",n),C(2),_e(n.name),C(3),_e(n.description)}}function FV(e,t){if(1&e&&(mt(0),O(1,kV,8,4,"div",40),yt()),2&e){const n=t.$implicit,r=k(2);C(1),w("ngIf",n.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function LV(e,t){if(1&e&&(mt(0),h(1,"h4"),f(2,"NuGet Package"),p(),O(3,FV,2,1,"ng-container",39),yt()),2&e){const n=k();C(3),w("ngForOf",n.packages)}}function VV(e,t){if(1&e){const n=Ae();h(0,"span",45),P("click",function(){se(n);const o=k().index;return ae(k().configuration.removeReport(o))}),h(1,"a",46),y(2,"i",47),p()()}}const HV=function(e){return{"input-group":e}};function UV(e,t){if(1&e){const n=Ae();h(0,"div",38)(1,"div",42)(2,"input",43),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.reports[s]=o)}),p(),O(3,VV,3,0,"span",44),p()()}if(2&e){const n=t.index,r=k();C(1),w("ngClass",Pi(4,HV,n>0)),C(1),kn("name","report_",n,""),w("ngModel",r.configuration.reports[n]),C(1),w("ngIf",n>0)}}const BV=function(e,t){return{"btn-outline-primary":e,"btn-primary":t}};function jV(e,t){if(1&e){const n=Ae();h(0,"button",48),P("click",function(){const i=se(n).$implicit,s=k();return ae(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const n=t.$implicit,r=k();w("ngClass",Jv(2,BV,n!==r.configuration.selectedType,n===r.configuration.selectedType)),C(1),_e(n)}}function $V(e,t){if(1&e){const n=Ae();h(0,"span",53),y(1,"i",54),f(2," Please specify a "),h(3,"a",9),P("click",function(){return se(n),ae(k(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function GV(e,t){if(1&e&&(mt(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(),yt()),2&e){const n=k(2).$implicit;C(2),w("href",n.sampleReport,eo),C(3),w("href",n.sampleReport,eo)}}function zV(e,t){if(1&e){const n=Ae();h(0,"div",50)(1,"label",36)(2,"input",51),P("change",function(){se(n);const o=k().$implicit;return ae(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),O(5,$V,5,0,"span",52),y(6,"br"),h(7,"div",38),f(8),O(9,GV,7,2,"ng-container",5),p()()()}if(2&e){const n=k().$implicit,r=k();C(2),w("checked",n.checked),C(2),_e(n.name),C(1),w("ngIf",n.checked&&n.requiresHistoryDir&&!r.configuration.historydir),C(3),Fn("",n.description," "),C(1),w("ngIf",n.sampleReport)}}function qV(e,t){if(1&e&&(mt(0),O(1,zV,10,5,"div",49),yt()),2&e){const n=t.$implicit,r=k();C(1),w("ngIf",!r.configuration.selectedType||n.types.indexOf(r.configuration.selectedType)>-1)}}function WV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",58),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeSourceDirectory(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","sourcedir_",n,""),w("ngModel",r.configuration.sourcedirectories[n])}}function ZV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",59),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.plugins[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removePlugin(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","plugin_",n,""),w("ngModel",r.configuration.plugins[n])}}function XV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",60),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeAssemblyFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","assemblyfilter_",n,""),w("ngModel",r.configuration.assemblyfilters[n])}}function YV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",61),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.classfilters[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeClassFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","classfilter_",n,""),w("ngModel",r.configuration.classfilters[n])}}function QV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",62),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.filefilters[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeFileFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","filefilter_",n,""),w("ngModel",r.configuration.filefilters[n])}}function JV(e,t){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const n=t.$implicit;w("value",n),C(1),_e(n)}}function KV(e,t){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 n=t.$implicit;C(2),_e(n.tool),C(3),_e(n.command)}}function e3(e,t){1&e&&(h(0,"span"),y(1,"i",65),f(2," Copy"),p())}function t3(e,t){1&e&&(h(0,"span"),y(1,"i",66),f(2," Copied"),p())}function n3(e,t){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 n=t.$implicit;C(2),_e(n.tool),C(3),_e(n.command)}}function r3(e,t){1&e&&(h(0,"span"),y(1,"i",65),f(2," Copy"),p())}function o3(e,t){1&e&&(h(0,"span"),y(1,"i",66),f(2," Copied"),p())}const i3=function(){return["/pro"]},s3=[{path:"",component:Z2,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:B2,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:$2,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=Ut,this.lastResult="",this.usageCopied=!1,this.configuration=new NV,this.environments=[new jl(".NET Core",".NET Core"),new jl(".NET Framework","The full .NET framework"),new jl("Azure DevOps",null),new jl("Github Action",null)],this.packages=[new Bl("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 lh("Package Manager",`Install-Package ReportGenerator -Version ${Ut.version}`),new lh(".NET CLI",`dotnet add package ReportGenerator --version ${Ut.version}`)],[new ds(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ut.version}\\tools\\net47\\ReportGenerator.exe`),new ds(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ut.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new Bl("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 lh(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Ut.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Ut.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Ut.version}`)],[new ds(".NET Core","reportgenerator")]),new RV("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new ds("Azure DevOps","reportgenerator")]),new PV("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new ds("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const n=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==n&&(this.lastResult=n,this.usageCopied=!1),n}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(n){console.error("Failed to copy license",n)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(n,r){return n}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[At],decls:219,vars:41,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-copy"],[1,"fa-solid","fa-check","text-success"]],template:function(n,r){1&n&&(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(),O(8,OV,8,5,"div",4),y(9,"hr"),O(10,LV,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(),O(18,UV,4,6,"div",7),h(19,"div",8)(20,"a",9),P("click",function(){return r.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),P("ngModelChange",function(i){return r.configuration.targetdir=i}),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(),O(39,jV,2,5,"button",14),y(40,"br"),O(41,qV,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(),O(48,WV,6,2,"div",16),h(49,"div",8)(50,"a",9),P("click",function(){return r.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),P("ngModelChange",function(i){return r.configuration.historydir=i}),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(),O(76,ZV,6,2,"div",16),h(77,"div",8)(78,"a",9),P("click",function(){return r.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()()(),O(102,XV,6,2,"div",16),h(103,"div",8)(104,"a",9),P("click",function(){return r.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()()(),O(128,YV,6,2,"div",16),h(129,"div",8)(130,"a",9),P("click",function(){return r.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()()(),O(154,QV,6,2,"div",16),h(155,"div",8)(156,"a",9),P("click",function(){return r.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),P("ngModelChange",function(i){return r.configuration.selectedverbosity=i}),O(166,JV,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),P("ngModelChange",function(i){return r.configuration.title=i}),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),P("ngModelChange",function(i){return r.configuration.tag=i}),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),P("ngModelChange",function(i){return r.configuration.license=i}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),O(197,KV,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),P("click",function(){return r.copy()}),O(203,e3,3,0,"span",5),O(204,t3,3,0,"span",5),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),O(211,n3,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),P("click",function(){return r.copy()}),O(217,r3,3,0,"span",5),O(218,o3,3,0,"span",5),p()()()()()),2&n&&(C(8),w("ngForOf",r.environments),C(2),w("ngIf",r.severalPackagesAvailable()),C(8),w("ngForOf",r.configuration.reports)("ngForTrackBy",r.trackByIndex),C(11),w("ngModel",r.configuration.targetdir),C(10),w("ngForOf",r.configuration.types)("ngForTrackBy",r.trackByIndex),C(2),w("ngForOf",r.configuration.reporttypes)("ngForTrackBy",r.trackByIndex),C(7),w("ngForOf",r.configuration.sourcedirectories)("ngForTrackBy",r.trackByIndex),C(16),w("ngModel",r.configuration.historydir)("required",r.configuration.historyDirRequired()),C(12),w("ngForOf",r.configuration.plugins)("ngForTrackBy",r.trackByIndex),C(26),w("ngForOf",r.configuration.assemblyfilters)("ngForTrackBy",r.trackByIndex),C(26),w("ngForOf",r.configuration.classfilters)("ngForTrackBy",r.trackByIndex),C(26),w("ngForOf",r.configuration.filefilters)("ngForTrackBy",r.trackByIndex),C(11),w("ngModel",r.configuration.selectedverbosity),C(1),w("ngForOf",r.configuration.verbosities)("ngForTrackBy",r.trackByIndex),C(7),w("ngModel",r.configuration.title),C(7),w("ngModel",r.configuration.tag),C(6),w("routerLink",ne(40,i3)),C(3),w("ngModel",r.configuration.license),C(6),w("href",r.selectedPackage.url,eo),C(1),_e(r.selectedPackage.name),C(1),w("ngForOf",r.selectedPackage.installOptions),C(4),_e(r.getUsage()),C(2),w("ngIf",!r.usageCopied),C(1),w("ngIf",r.usageCopied),C(5),w("href",r.selectedPackage.url,eo),C(1),_e(r.selectedPackage.name),C(1),w("ngForOf",r.selectedPackage.installOptions),C(4),_e(r.getUsage()),C(2),w("ngIf",!r.usageCopied),C(1),w("ngIf",r.usageCopied))},dependencies:[Fl,Pl,dw,hw,No,Ol,Xf,wl,El,Fo,th,ls,ko,Xd,el,Ka,Cn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]}),e})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:xV,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:U2,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:X2,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];(function NO(e,t){return xR({rootComponent:e,...lD(t)})})(hL,{providers:[Kg(VO,(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({imports:[gb.forRoot(s3,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),gb]}),e})(),Fl),Uw,Bw,Fw,function A2(...e){const t=[ih,Rw,Aw,{provide:Ll,useExisting:Aw},{provide:Vl,useExisting:Rw},{provide:cs,useValue:T2,multi:!0},{provide:sh,useValue:!0},{provide:Ow,useClass:I2}];for(const n of e)t.push(...n.\u0275providers);return ic(t)}(function x2(){return function Rr(e,t){return{\u0275kind:e,\u0275providers:t}}(De.LegacyInterceptors,[{provide:kw,useFactory:_2},{provide:cs,useExisting:kw,multi:!0}])}())]}).catch(e=>console.error(e))}},he=>{he(he.s=90)}]); \ No newline at end of file +"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{90:()=>{function he(e){return"function"==typeof e}function Ho(e){const n=e(r=>{Error.call(r),r.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}const fs=Ho(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n});function Uo(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class Nt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(const i of n)i.remove(this);else n.remove(this);const{initialTeardown:r}=this;if(he(r))try{r()}catch(i){t=i instanceof fs?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{dh(i)}catch(s){t=t??[],s instanceof fs?t=[...t,...s.errors]:t.push(s)}}if(t)throw new fs(t)}}add(t){var n;if(t&&t!==this)if(this.closed)dh(t);else{if(t instanceof Nt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}}_hasParent(t){const{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){const{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){const{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&Uo(n,t)}remove(t){const{_finalizers:n}=this;n&&Uo(n,t),t instanceof Nt&&t._removeParent(this)}}Nt.EMPTY=(()=>{const e=new Nt;return e.closed=!0,e})();const uh=Nt.EMPTY;function ch(e){return e instanceof Nt||e&&"closed"in e&&he(e.remove)&&he(e.add)&&he(e.unsubscribe)}function dh(e){he(e)?e():e.unsubscribe()}const ar={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},hs={setTimeout(e,t,...n){const{delegate:r}=hs;return r?.setTimeout?r.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){const{delegate:t}=hs;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function fh(e){hs.setTimeout(()=>{const{onUnhandledError:t}=ar;if(!t)throw e;t(e)})}function hh(){}const $w=Gl("C",void 0,void 0);function Gl(e,t,n){return{kind:e,value:t,error:n}}let lr=null;function ps(e){if(ar.useDeprecatedSynchronousErrorHandling){const t=!lr;if(t&&(lr={errorThrown:!1,error:null}),e(),t){const{errorThrown:n,error:r}=lr;if(lr=null,n)throw r}}else e()}class zl extends Nt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,ch(t)&&t.add(this)):this.destination=Yw}static create(t,n,r){return new gs(t,n,r)}next(t){this.isStopped?Wl(function zw(e){return Gl("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Wl(function Gw(e){return Gl("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Wl($w,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ww=Function.prototype.bind;function ql(e,t){return Ww.call(e,t)}class Zw{constructor(t){this.partialObserver=t}next(t){const{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(r){ms(r)}}error(t){const{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(r){ms(r)}else ms(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){ms(n)}}}class gs extends zl{constructor(t,n,r){let o;if(super(),he(t)||!t)o={next:t??void 0,error:n??void 0,complete:r??void 0};else{let i;this&&ar.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),o={next:t.next&&ql(t.next,i),error:t.error&&ql(t.error,i),complete:t.complete&&ql(t.complete,i)}):o=t}this.destination=new Zw(o)}}function ms(e){ar.useDeprecatedSynchronousErrorHandling?function qw(e){ar.useDeprecatedSynchronousErrorHandling&&lr&&(lr.errorThrown=!0,lr.error=e)}(e):fh(e)}function Wl(e,t){const{onStoppedNotification:n}=ar;n&&hs.setTimeout(()=>n(e,t))}const Yw={closed:!0,next:hh,error:function Xw(e){throw e},complete:hh},Zl="function"==typeof Symbol&&Symbol.observable||"@@observable";function $n(e){return e}function ph(e){return 0===e.length?$n:1===e.length?e[0]:function(n){return e.reduce((r,o)=>o(r),n)}}let Te=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){const r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,o){const i=function Kw(e){return e&&e instanceof zl||function Jw(e){return e&&he(e.next)&&he(e.error)&&he(e.complete)}(e)&&ch(e)}(n)?n:new gs(n,r,o);return ps(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(n){try{return this._subscribe(n)}catch(r){n.error(r)}}forEach(n,r){return new(r=gh(r))((o,i)=>{const s=new gs({next:a=>{try{n(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(n){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(n)}[Zl](){return this}pipe(...n){return ph(n)(this)}toPromise(n){return new(n=gh(n))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=t=>new e(t),e})();function gh(e){var t;return null!==(t=e??ar.Promise)&&void 0!==t?t:Promise}const eE=Ho(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let wn=(()=>{class e extends Te{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){const r=new mh(this,this);return r.operator=n,r}_throwIfClosed(){if(this.closed)throw new eE}next(n){ps(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(n)}})}error(n){ps(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;const{observers:r}=this;for(;r.length;)r.shift().error(n)}})}complete(){ps(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return(null===(n=this.observers)||void 0===n?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){const{hasError:r,isStopped:o,observers:i}=this;return r||o?uh:(this.currentObservers=null,i.push(n),new Nt(()=>{this.currentObservers=null,Uo(i,n)}))}_checkFinalizedStatuses(n){const{hasError:r,thrownError:o,isStopped:i}=this;r?n.error(o):i&&n.complete()}asObservable(){const n=new Te;return n.source=this,n}}return e.create=(t,n)=>new mh(t,n),e})();class mh extends wn{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,r;null===(r=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===r||r.call(n,t)}error(t){var n,r;null===(r=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===r||r.call(n,t)}complete(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)}_subscribe(t){var n,r;return null!==(r=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==r?r:uh}}class Pt extends wn{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){const{hasError:t,thrownError:n,_value:r}=this;if(t)throw n;return this._throwIfClosed(),r}next(t){super.next(this._value=t)}}function yh(e){return he(e?.lift)}function qe(e){return t=>{if(yh(t))return t.lift(function(n){try{return e(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function He(e,t,n,r,o){return new tE(e,t,n,r,o)}class tE extends zl{constructor(t,n,r,o,i,s){super(t),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(l){t.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:n}=this;super.unsubscribe(),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function re(e,t){return qe((n,r)=>{let o=0;n.subscribe(He(r,i=>{r.next(e.call(t,i,o++))}))})}function Gn(e){return this instanceof Gn?(this.v=e,this):new Gn(e)}function Dh(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function Jl(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.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(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(u){i({value:u,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}const bh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function wh(e){return he(e?.then)}function Eh(e){return he(e[Zl])}function Mh(e){return Symbol.asyncIterator&&he(e?.[Symbol.asyncIterator])}function Sh(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 Ih=function CE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Th(e){return he(e?.[Ih])}function Ah(e){return function Ch(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=n.apply(e,t||[]),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 Gn?Promise.resolve(g.value.v).then(u,c):d(i[0][2],g)}(r[g](m))}catch(v){d(i[0][3],v)}}function u(g){a("next",g)}function c(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 n=e.getReader();try{for(;;){const{value:r,done:o}=yield Gn(n.read());if(o)return yield Gn(void 0);yield yield Gn(r)}}finally{n.releaseLock()}})}function xh(e){return he(e?.getReader)}function en(e){if(e instanceof Te)return e;if(null!=e){if(Eh(e))return function DE(e){return new Te(t=>{const n=e[Zl]();if(he(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(bh(e))return function bE(e){return new Te(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,fh)})}(e);if(Mh(e))return Rh(e);if(Th(e))return function EE(e){return new Te(t=>{for(const n of e)if(t.next(n),t.closed)return;t.complete()})}(e);if(xh(e))return function ME(e){return Rh(Ah(e))}(e)}throw Sh(e)}function Rh(e){return new Te(t=>{(function SE(e,t){var n,r,o,i;return function vh(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(c){try{u(r.next(c))}catch(d){s(d)}}function l(c){try{u(r.throw(c))}catch(d){s(d)}}function u(c){c.done?i(c.value):function o(i){return i instanceof n?i:new n(function(s){s(i)})}(c.value).then(a,l)}u((r=r.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(n=Dh(e);!(r=yield n.next()).done;)if(t.next(r.value),t.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=n.return)&&(yield i.call(n))}finally{if(o)throw o.error}}t.complete()})})(e,t).catch(n=>t.error(n))})}function En(e,t,n,r=0,o=!1){const i=t.schedule(function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function We(e,t,n=1/0){return he(t)?We((r,o)=>re((i,s)=>t(r,i,o,s))(en(e(r,o))),n):("number"==typeof t&&(n=t),qe((r,o)=>function IE(e,t,n,r,o,i,s,a){const l=[];let u=0,c=0,d=!1;const g=()=>{d&&!l.length&&!u&&t.complete()},m=_=>u{i&&t.next(_),u++;let b=!1;en(n(_,c++)).subscribe(He(t,S=>{o?.(S),i?m(S):t.next(S)},()=>{b=!0},void 0,()=>{if(b)try{for(u--;l.length&&uv(S)):v(S)}g()}catch(S){t.error(S)}}))};return e.subscribe(He(t,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,n)))}function Nr(e=1/0){return We($n,e)}const tn=new Te(e=>e.complete());function Kl(e){return e[e.length-1]}function Nh(e){return he(Kl(e))?e.pop():void 0}function Bo(e){return function AE(e){return e&&he(e.schedule)}(Kl(e))?e.pop():void 0}function Ph(e,t=0){return qe((n,r)=>{n.subscribe(He(r,o=>En(r,e,()=>r.next(o),t),()=>En(r,e,()=>r.complete(),t),o=>En(r,e,()=>r.error(o),t)))})}function Oh(e,t=0){return qe((n,r)=>{r.add(e.schedule(()=>n.subscribe(r),t))})}function kh(e,t){if(!e)throw new Error("Iterable cannot be null");return new Te(n=>{En(n,t,()=>{const r=e[Symbol.asyncIterator]();En(n,t,()=>{r.next().then(o=>{o.done?n.complete():n.next(o.value)})},0,!0)})})}function Ne(e,t){return t?function FE(e,t){if(null!=e){if(Eh(e))return function RE(e,t){return en(e).pipe(Oh(t),Ph(t))}(e,t);if(bh(e))return function PE(e,t){return new Te(n=>{let r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(wh(e))return function NE(e,t){return en(e).pipe(Oh(t),Ph(t))}(e,t);if(Mh(e))return kh(e,t);if(Th(e))return function OE(e,t){return new Te(n=>{let r;return En(n,t,()=>{r=e[Ih](),En(n,t,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void n.error(s)}i?n.complete():n.next(o)},0,!0)}),()=>he(r?.return)&&r.return()})}(e,t);if(xh(e))return function kE(e,t){return kh(Ah(e),t)}(e,t)}throw Sh(e)}(e,t):en(e)}function j(...e){return Ne(e,Bo(e))}function ur(e){return e<=0?()=>tn:qe((t,n)=>{let r=0;t.subscribe(He(n,o=>{++r<=e&&(n.next(o),e<=r&&n.complete())}))})}function Fh(e={}){const{connector:t=(()=>new wn),resetOnError:n=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,u=0,c=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,c=d=!1},v=()=>{const _=s;m(),_?.unsubscribe()};return qe((_,b)=>{u++,!d&&!c&&g();const S=l=l??t();b.add(()=>{u--,0===u&&!d&&!c&&(a=eu(v,o))}),S.subscribe(b),s||(s=new gs({next:D=>S.next(D),error:D=>{d=!0,g(),a=eu(m,n,D),S.error(D)},complete:()=>{c=!0,g(),a=eu(m,r),S.complete()}}),Ne(_).subscribe(s))})(i)}}function eu(e,t,...n){return!0===t?(e(),null):!1===t?null:t(...n).pipe(ur(1)).subscribe(()=>e())}function Bt(e,t){return qe((n,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();n.subscribe(He(r,l=>{o?.unsubscribe();let u=0;const c=i++;en(e(l,c)).subscribe(o=He(r,d=>r.next(t?t(l,d,c,u++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function HE(e,t){return e===t}function ce(e){for(let t in e)if(e[t]===ce)return t;throw Error("Could not find renamed property on target object.")}function ys(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Ue(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Ue).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function tu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const UE=ce({__forward_ref__:ce});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return Ue(this())},e}function z(e){return nu(e)?e():e}function nu(e){return"function"==typeof e&&e.hasOwnProperty(UE)&&e.__forward_ref__===pe}function ru(e){return e&&!!e.\u0275providers}const Lh="https://g.co/ng/security#xss";class I extends Error{constructor(t,n){super(function vs(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,n)),this.code=t}}function W(e){return"string"==typeof e?e:null==e?"":String(e)}function _s(e,t){throw new I(-201,!1)}function Ot(e,t){null==e&&function ue(e,t,n,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${n} ${r} ${t} <=Actual]`))}(t,e,null,"!=")}function L(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function nn(e){return{providers:e.providers||[],imports:e.imports||[]}}function Cs(e){return Vh(e,Ds)||Vh(e,Uh)}function Vh(e,t){return e.hasOwnProperty(t)?e[t]:null}function Hh(e){return e&&(e.hasOwnProperty(ou)||e.hasOwnProperty(ZE))?e[ou]:null}const Ds=ce({\u0275prov:ce}),ou=ce({\u0275inj:ce}),Uh=ce({ngInjectableDef:ce}),ZE=ce({ngInjectorDef:ce});var V=(()=>((V=V||{})[V.Default=0]="Default",V[V.Host=1]="Host",V[V.Self=2]="Self",V[V.SkipSelf=4]="SkipSelf",V[V.Optional=8]="Optional",V))();let iu;function ut(e){const t=iu;return iu=e,t}function jh(e,t,n){const r=Cs(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&V.Optional?null:void 0!==t?t:void _s(Ue(e))}const ge=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),jo={},su="__NG_DI_FLAG__",bs="ngTempTokenPath",YE=/\n/gm,$h="__source";let Pr;function qn(e){const t=Pr;return Pr=e,t}function KE(e,t=V.Default){if(void 0===Pr)throw new I(-203,!1);return null===Pr?jh(e,void 0,t):Pr.get(e,t&V.Optional?null:void 0,t)}function F(e,t=V.Default){return(function Bh(){return iu}()||KE)(z(e),t)}function R(e,t=V.Default){return F(e,ws(t))}function ws(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function au(e){const t=[];for(let n=0;n((rn=rn||{})[rn.OnPush=0]="OnPush",rn[rn.Default=1]="Default",rn))(),Dt=(()=>{return(e=Dt||(Dt={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",Dt;var e})();const on={},oe=[],Es=ce({\u0275cmp:ce}),lu=ce({\u0275dir:ce}),uu=ce({\u0275pipe:ce}),zh=ce({\u0275mod:ce}),Sn=ce({\u0275fac:ce}),Go=ce({__NG_ELEMENT_ID__:ce}),qh=ce({__NG_ENV_ID__:ce});function Wh(e,t,n){let r=e.length;for(;;){const o=e.indexOf(t,n);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=t.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}n=o+1}}function cu(e,t,n){let r=0;for(;rt){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==Wh(m,u,0)||2&r&&u!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(l))return!1;if(s&&jt(l))continue;s=!1,r=l|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function s1(e,t,n,r){if(null===t)return-1;let o=0;if(r||!n){let i=!1;for(;o-1)for(n++;n0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(t+=ep(i,o),o=""),r=s,i=i||!jt(r);n++}return""!==o&&(t+=ep(i,o)),t}function bt(e){return Mn(()=>{const t=np(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===rn.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Dt.Emulated,styles:e.styles||oe,_:null,schemas:e.schemas||null,tView:null,id:""};rp(n);const r=e.dependencies;return n.directiveDefs=Ms(r,!1),n.pipeDefs=Ms(r,!0),n.id=function _1(e){let t=0;const n=[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 n)t=Math.imul(31,t)+o.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(n),n})}function g1(e){return ie(e)||Qe(e)}function m1(e){return null!==e}function In(e){return Mn(()=>({type:e.type,bootstrap:e.bootstrap||oe,declarations:e.declarations||oe,imports:e.imports||oe,exports:e.exports||oe,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function tp(e,t){if(null==e)return on;const n={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),n[o]=r,t&&(t[o]=i)}return n}function G(e){return Mn(()=>{const t=np(e);return rp(t),t})}function ie(e){return e[Es]||null}function Qe(e){return e[lu]||null}function dt(e){return e[uu]||null}function wt(e,t){const n=e[zh]||null;if(!n&&!0===t)throw new Error(`Type ${Ue(e)} does not have '\u0275mod' property.`);return n}function np(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||on,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||oe,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:tp(e.inputs,t),outputs:tp(e.outputs)}}function rp(e){e.features?.forEach(t=>t(e))}function Ms(e,t){if(!e)return null;const n=t?dt:g1;return()=>("function"==typeof e?e():e).map(r=>n(r)).filter(m1)}const Be=0,A=1,Z=2,be=3,$t=4,qo=5,Je=6,kr=7,Pe=8,Fr=9,cr=10,X=11,Wo=12,op=13,Lr=14,Oe=15,Zo=16,Vr=17,sn=18,Xo=19,ip=20,Wn=21,Tn=22,Ss=23,Is=24,ee=25,du=1,sp=2,an=7,Hr=9,Ke=11;function Et(e){return Array.isArray(e)&&"object"==typeof e[du]}function ft(e){return Array.isArray(e)&&!0===e[du]}function fu(e){return 0!=(4&e.flags)}function dr(e){return e.componentOffset>-1}function As(e){return 1==(1&e.flags)}function Gt(e){return!!e.template}function hu(e){return 0!=(512&e[Z])}function fr(e,t){return e.hasOwnProperty(Sn)?e[Sn]:null}let M1=ge.WeakRef??class E1{constructor(t){this.ref=t}deref(){return this.ref}},I1=0,ln=null,xs=!1;function Ze(e){const t=ln;return ln=e,t}class dp{constructor(){this.id=I1++,this.ref=function S1(e){return new M1(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,n]of this.producers){const r=n.producerNode.deref();if(void 0!==r&&n.atTrackingVersion===this.trackingVersion){if(r.producerPollStatus(n.seenValueVersion))return!0}else this.producers.delete(t),r?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=xs;xs=!0;try{for(const[n,r]of this.consumers){const o=r.consumerNode.deref();void 0!==o&&o.trackingVersion===r.atTrackingVersion?o.onConsumerDependencyMayHaveChanged():(this.consumers.delete(n),o?.producers.delete(this.id))}}finally{xs=t}}producerAccessed(){if(xs)throw new Error("");if(null===ln)return;let t=ln.producers.get(this.id);void 0===t?(t={consumerNode:ln.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:ln.trackingVersion},ln.producers.set(this.id,t),this.consumers.set(ln.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=ln.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==ln?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let fp=null;const pp=()=>{};class R1 extends dp{constructor(t,n,r){super(),this.watch=t,this.schedule=n,this.dirty=!1,this.cleanupFn=pp,this.registerOnCleanup=o=>{this.cleanupFn=o},this.consumerAllowSignalWrites=r}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=Ze(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=pp,this.watch(this.registerOnCleanup)}finally{Ze(t)}}cleanup(){this.cleanupFn()}}class N1{constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}}function kt(){return gp}function gp(e){return e.type.prototype.ngOnChanges&&(e.setInput=O1),P1}function P1(){const e=yp(this),t=e?.current;if(t){const n=e.previous;if(n===on)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function O1(e,t,n,r){const o=this.declaredInputs[n],i=yp(e)||function k1(e,t){return e[mp]=t}(e,{previous:on,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new N1(l&&l.currentValue,t,a===on),e[r]=t}kt.ngInherit=!0;const mp="__ngSimpleChanges__";function yp(e){return e[mp]||null}const un=function(e,t,n){};function ve(e){for(;Array.isArray(e);)e=e[Be];return e}function Ps(e,t){return ve(t[e])}function ht(e,t){return ve(t[e.index])}function Cp(e,t){return e.data[t]}function Mt(e,t){const n=t[e];return Et(n)?n:n[Be]}function Zn(e,t){return null==t?null:e[t]}function Dp(e){e[Vr]=0}function j1(e){1024&e[Z]||(e[Z]|=1024,wp(e,1))}function bp(e){1024&e[Z]&&(e[Z]&=-1025,wp(e,-1))}function wp(e,t){let n=e[be];if(null===n)return;n[qo]+=t;let r=n;for(n=n[be];null!==n&&(1===t&&1===r[qo]||-1===t&&0===r[qo]);)n[qo]+=t,r=n,n=n[be]}const $={lFrame:Op(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Sp(){return $.bindingsEnabled}function E(){return $.lFrame.lView}function te(){return $.lFrame.tView}function se(e){return $.lFrame.contextLView=e,e[Pe]}function ae(e){return $.lFrame.contextLView=null,e}function Xe(){let e=Ip();for(;null!==e&&64===e.type;)e=e.parent;return e}function Ip(){return $.lFrame.currentTNode}function cn(e,t){const n=$.lFrame;n.currentTNode=e,n.isParent=t}function _u(){return $.lFrame.isParent}function Cu(){$.lFrame.isParent=!1}function rt(){const e=$.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function jr(){return $.lFrame.bindingIndex++}function e0(e,t){const n=$.lFrame;n.bindingIndex=n.bindingRootIndex=e,Du(t)}function Du(e){$.lFrame.currentDirectiveIndex=e}function Rp(){return $.lFrame.currentQueryIndex}function wu(e){$.lFrame.currentQueryIndex=e}function n0(e){const t=e[A];return 2===t.type?t.declTNode:1===t.type?e[Je]:null}function Np(e,t,n){if(n&V.SkipSelf){let o=t,i=e;for(;!(o=o.parent,null!==o||n&V.Host||(o=n0(i),null===o||(i=i[Lr],10&o.type))););if(null===o)return!1;t=o,e=i}const r=$.lFrame=Pp();return r.currentTNode=t,r.lView=e,!0}function Eu(e){const t=Pp(),n=e[A];$.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Pp(){const e=$.lFrame,t=null===e?null:e.child;return null===t?Op(e):t}function Op(e){const t={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=t),t}function kp(){const e=$.lFrame;return $.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Fp=kp;function Mu(){const e=kp();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 ot(){return $.lFrame.selectedIndex}function hr(e){$.lFrame.selectedIndex=e}function we(){const e=$.lFrame;return Cp(e.tView,e.selectedIndex)}let Vp=!0;function Os(){return Vp}function Xn(e){Vp=e}function ks(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n=r)break}else t[l]<0&&(e[Vr]+=65536),(a>13>16&&(3&e[Z])===t&&(e[Z]+=8192,Up(a,i)):Up(a,i)}const $r=-1;class Jo{constructor(t,n,r){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=r}}function Bp(e){return e!==$r}function Vs(e){return 32767&e}function Hs(e,t){let n=function g0(e){return e>>16}(e),r=t;for(;n>0;)r=r[Lr],n--;return r}let Tu=!0;function Us(e){const t=Tu;return Tu=e,t}const jp=255,$p=5;let m0=0;const dn={};function Bs(e,t){const n=Gp(e,t);if(-1!==n)return n;const r=t[A];r.firstCreatePass&&(e.injectorIndex=t.length,Au(r.data,e),Au(t,null),Au(r.blueprint,null));const o=xu(e,t),i=e.injectorIndex;if(Bp(o)){const s=Vs(o),a=Hs(o,t),l=a[A].data;for(let u=0;u<8;u++)t[i+u]=a[s+u]|l[s+u]}return t[i+8]=o,i}function Au(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Gp(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function xu(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,r=null,o=t;for(;null!==o;){if(r=Qp(o),null===r)return $r;if(n++,o=o[Lr],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return $r}function Ru(e,t,n){!function y0(e,t,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(Go)&&(r=n[Go]),null==r&&(r=n[Go]=m0++);const o=r&jp;t.data[e+(o>>$p)]|=1<=0?t&jp:D0:t}(n);if("function"==typeof i){if(!Np(t,e,r))return r&V.Host?zp(o,0,r):qp(t,n,r,o);try{const s=i(r);if(null!=s||r&V.Optional)return s;_s()}finally{Fp()}}else if("number"==typeof i){let s=null,a=Gp(e,t),l=$r,u=r&V.Host?t[Oe][Je]:null;for((-1===a||r&V.SkipSelf)&&(l=-1===a?xu(e,t):t[a+8],l!==$r&&Yp(r,!1)?(s=t[A],a=Vs(l),t=Hs(l,t)):a=-1);-1!==a;){const c=t[A];if(Xp(i,a,c.data)){const d=_0(a,t,n,s,r,u);if(d!==dn)return d}l=t[a+8],l!==$r&&Yp(r,t[A].data[a+8]===u)&&Xp(i,a,t)?(s=c,a=Vs(l),t=Hs(l,t)):a=-1}}return o}function _0(e,t,n,r,o,i){const s=t[A],a=s.data[e+8],c=js(a,s,n,null==r?dr(a)&&Tu:r!=s&&0!=(3&a.type),o&V.Host&&i===a);return null!==c?pr(t,s,c,a):dn}function js(e,t,n,r,o){const i=e.providerIndexes,s=t.data,a=1048575&i,l=e.directiveStart,c=i>>20,g=o?a+c:e.directiveEnd;for(let m=r?a:a+c;m=l&&v.type===n)return m}if(o){const m=s[l];if(m&&Gt(m)&&m.type===n)return l}return null}function pr(e,t,n,r){let o=e[n];const i=t.data;if(function f0(e){return e instanceof Jo}(o)){const s=o;s.resolving&&function BE(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${n}`)}(function le(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():W(e)}(i[n]));const a=Us(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?ut(s.injectImpl):null;Np(e,r,V.Default);try{o=e[n]=s.factory(void 0,i,e,r),t.firstCreatePass&&n>=r.directiveStart&&function c0(e,t,n){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=t.type.prototype;if(r){const s=gp(t);(n.preOrderHooks??=[]).push(e,s),(n.preOrderCheckHooks??=[]).push(e,s)}o&&(n.preOrderHooks??=[]).push(0-e,o),i&&((n.preOrderHooks??=[]).push(e,i),(n.preOrderCheckHooks??=[]).push(e,i))}(n,i[n],t)}finally{null!==l&&ut(l),Us(a),s.resolving=!1,Fp()}}return o}function Xp(e,t,n){return!!(n[t+(e>>$p)]&1<{const t=e.prototype.constructor,n=t[Sn]||Nu(t),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[Sn]||Nu(o);if(i&&i!==n)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Nu(e){return nu(e)?()=>{const t=Nu(z(e));return t&&t()}:fr(e)}function Qp(e){const t=e[A],n=t.type;return 2===n?t.declTNode:1===n?e[Je]:null}const qr="__parameters__";function Zr(e,t,n){return Mn(()=>{const r=function Pu(e){return function(...n){if(e){const r=e(...n);for(const o in r)this[o]=r[o]}}}(t);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,u,c){const d=l.hasOwnProperty(qr)?l[qr]:Object.defineProperty(l,qr,{value:[]})[qr];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return n&&(o.prototype=Object.create(n.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function ti(e,t){e.forEach(n=>Array.isArray(n)?ti(n,t):t(n))}function Kp(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Gs(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function St(e,t,n){let r=Xr(e,t);return r>=0?e[1|r]=n:(r=~r,function I0(e,t,n,r){let o=e.length;if(o==t)e.push(n,r);else if(1===o)e.push(r,e[0]),e[0]=n;else{for(o--,e.push(e[o-1],e[o]);o>t;)e[o]=e[o-2],o--;e[t]=n,e[t+1]=r}}(e,r,t,n)),r}function Ou(e,t){const n=Xr(e,t);if(n>=0)return e[1|n]}function Xr(e,t){return function eg(e,t,n){let r=0,o=e.length>>n;for(;o!==r;){const i=r+(o-r>>1),s=e[i<t?o=i:r=i+1}return~(o<((pt=pt||{})[pt.Important=1]="Important",pt[pt.DashCase=2]="DashCase",pt))();const Z0=/^>|^->||--!>|)/,Y0="\u200b$1\u200b";const Uu=new Map;let Q0=0;const ju="__ngContext__";function et(e,t){Et(t)?(e[ju]=t[Xo],function K0(e){Uu.set(e[Xo],e)}(t)):e[ju]=t}let $u;function Gu(e,t){return $u(e,t)}function ii(e){const t=e[be];return ft(t)?t[be]:t}function Cg(e){return bg(e[Wo])}function Dg(e){return bg(e[$t])}function bg(e){for(;null!==e&&!ft(e);)e=e[$t];return e}function Jr(e,t,n,r,o){if(null!=r){let i,s=!1;ft(r)?i=r:Et(r)&&(s=!0,r=r[Be]);const a=ve(r);0===e&&null!==n?null==o?Ig(t,n,a):gr(t,n,a,o||null,!0):1===e&&null!==n?gr(t,n,a,o||null,!0):2===e?function ra(e,t,n){const r=ta(e,t);r&&function vM(e,t,n,r){e.removeChild(t,n,r)}(e,r,t,n)}(t,a,s):3===e&&t.destroyNode(a),null!=i&&function DM(e,t,n,r,o){const i=n[an];i!==ve(n)&&Jr(t,e,r,i,o);for(let a=Ke;at.replace(X0,Y0))}(t))}function ea(e,t,n){return e.createElement(t,n)}function Eg(e,t){const n=e[Hr],r=n.indexOf(t);bp(t),n.splice(r,1)}function qu(e,t){if(e.length<=Ke)return;const n=Ke+t,r=e[n];if(r){const o=r[Zo];null!==o&&o!==e&&Eg(o,r),t>0&&(e[n-1][$t]=r[$t]);const i=Gs(e,Ke+t);!function cM(e,t){ai(e,t,t[X],2,null,null),t[Be]=null,t[Je]=null}(r[A],r);const s=i[sn];null!==s&&s.detachView(i[A]),r[be]=null,r[$t]=null,r[Z]&=-129}return r}function Mg(e,t){if(!(256&t[Z])){const n=t[X];t[Ss]?.destroy(),t[Is]?.destroy(),n.destroyNode&&ai(e,t,n,3,null,null),function hM(e){let t=e[Wo];if(!t)return Wu(e[A],e);for(;t;){let n=null;if(Et(t))n=t[Wo];else{const r=t[Ke];r&&(n=r)}if(!n){for(;t&&!t[$t]&&t!==e;)Et(t)&&Wu(t[A],t),t=t[be];null===t&&(t=e),Et(t)&&Wu(t[A],t),n=t&&t[$t]}t=n}}(t)}}function Wu(e,t){if(!(256&t[Z])){t[Z]&=-129,t[Z]|=256,function yM(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let r=0;r=0?r[s]():r[-s].unsubscribe(),i+=2}else n[i].call(r[n[i+1]]);null!==r&&(t[kr]=null);const o=t[Wn];if(null!==o){t[Wn]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Dt.None||i===Dt.Emulated)return null}return ht(r,n)}}(e,t.parent,n)}function gr(e,t,n,r,o){e.insertBefore(t,n,r,o)}function Ig(e,t,n){e.appendChild(t,n)}function Tg(e,t,n,r,o){null!==r?gr(e,t,n,r,o):Ig(e,t,n)}function ta(e,t){return e.parentNode(t)}let Xu,Ku,ia,Rg=function xg(e,t,n){return 40&e.type?ht(e,n):null};function na(e,t,n,r){const o=Zu(e,r,t),i=t[X],a=function Ag(e,t,n){return Rg(e,t,n)}(r.parent||t[Je],r,t);if(null!=o)if(Array.isArray(n))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return ia}()?.createScriptURL(e)||e}class Bg{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Lh})`}}function Yn(e){return e instanceof Bg?e.changingThisBreaksApplicationSecurity:e}function ui(e,t){const n=function PM(e){return e instanceof Bg&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${Lh})`)}return n===t}const LM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var ke=(()=>((ke=ke||{})[ke.NONE=0]="NONE",ke[ke.HTML=1]="HTML",ke[ke.STYLE=2]="STYLE",ke[ke.SCRIPT=3]="SCRIPT",ke[ke.URL=4]="URL",ke[ke.RESOURCE_URL=5]="RESOURCE_URL",ke))();function eo(e){const t=di();return t?t.sanitize(ke.URL,e)||"":ui(e,"URL")?Yn(e):function tc(e){return(e=String(e)).match(LM)?e:"unsafe:"+e}(W(e))}function Zg(e){const t=di();if(t)return Ug(t.sanitize(ke.RESOURCE_URL,e)||"");if(ui(e,"ResourceURL"))return Ug(Yn(e));throw new I(904,!1)}function di(){const e=E();return e&&e[cr].sanitizer}class N{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=L({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const fi=new N("ENVIRONMENT_INITIALIZER"),Yg=new N("INJECTOR",-1),Qg=new N("INJECTOR_DEF_TYPES");class Jg{get(t,n=jo){if(n===jo){const r=new Error(`NullInjectorError: No provider for ${Ue(t)}!`);throw r.name="NullInjectorError",r}return n}}function ic(e){return{\u0275providers:e}}function Kg(...e){return{\u0275providers:em(0,e),\u0275fromNgModule:!0}}function em(e,...t){const n=[],r=new Set;let o;return ti(t,i=>{const s=i;sc(s,n,[],r)&&(o||=[],o.push(s))}),void 0!==o&&tm(o,n),n}function tm(e,t){for(let n=0;n{t.push(i)})}}function sc(e,t,n,r){if(!(e=z(e)))return!1;let o=null,i=Hh(e);const s=!i&&ie(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=Hh(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 u of l)sc(u,t,n,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let u;r.add(o);try{ti(i.imports,c=>{sc(c,t,n,r)&&(u||=[],u.push(c))})}finally{}void 0!==u&&tm(u,t)}if(!a){const u=fr(o)||(()=>new o);t.push({provide:o,useFactory:u,deps:oe},{provide:Qg,useValue:o,multi:!0},{provide:fi,useValue:()=>F(o),multi:!0})}const l=i.providers;null==l||a||ac(l,c=>{t.push(c)})}}return o!==e&&void 0!==e.providers}function ac(e,t){for(let n of e)ru(n)&&(n=n.\u0275providers),Array.isArray(n)?ac(n,t):t(n)}const YM=ce({provide:String,useValue:ce});function lc(e){return null!==e&&"object"==typeof e&&YM in e}function mr(e){return"function"==typeof e}const uc=new N("Set Injector scope."),aa={},JM={};let cc;function la(){return void 0===cc&&(cc=new Jg),cc}class fn{}class dc extends fn{get destroyed(){return this._destroyed}constructor(t,n,r,o){super(),this.parent=n,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,hc(t,s=>this.processProvider(s)),this.records.set(Yg,to(void 0,this)),o.has("environment")&&this.records.set(fn,to(void 0,this));const i=this.records.get(uc);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Qg.multi,oe,V.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const n of t)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const n=qn(this),r=ut(void 0);try{return t()}finally{qn(n),ut(r)}}get(t,n=jo,r=V.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(qh))return t[qh](this);r=ws(r);const o=qn(this),i=ut(void 0);try{if(!(r&V.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function rS(e){return"function"==typeof e||"object"==typeof e&&e instanceof N}(t)&&Cs(t);a=l&&this.injectableDefInScope(l)?to(fc(t),aa):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(r&V.Self?la():this.parent).get(t,n=r&V.Optional&&n===jo?null:n)}catch(s){if("NullInjectorError"===s.name){if((s[bs]=s[bs]||[]).unshift(Ue(t)),o)throw s;return function t1(e,t,n,r){const o=e[bs];throw t[$h]&&o.unshift(t[$h]),e.message=function n1(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=Ue(t);if(Array.isArray(t))o=t.map(Ue).join(" -> ");else if("object"==typeof t){let i=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):Ue(a)))}o=`{${i.join(", ")}}`}return`${n}${r?"("+r+")":""}[${o}]: ${e.replace(YE,"\n ")}`}("\n"+e.message,o,n,r),e.ngTokenPath=o,e[bs]=null,e}(s,t,"R3InjectorError",this.source)}throw s}finally{ut(i),qn(o)}}resolveInjectorInitializers(){const t=qn(this),n=ut(void 0);try{const r=this.get(fi.multi,oe,V.Self);for(const o of r)o()}finally{qn(t),ut(n)}}toString(){const t=[],n=this.records;for(const r of n.keys())t.push(Ue(r));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(t){let n=mr(t=z(t))?t:z(t&&t.provide);const r=function eS(e){return lc(e)?to(void 0,e.useValue):to(om(e),aa)}(t);if(mr(t)||!0!==t.multi)this.records.get(n);else{let o=this.records.get(n);o||(o=to(void 0,aa,!0),o.factory=()=>au(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,r)}hydrate(t,n){return n.value===aa&&(n.value=JM,n.value=n.factory()),"object"==typeof n.value&&n.value&&function nS(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=z(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){const n=this._onDestroyHooks.indexOf(t);-1!==n&&this._onDestroyHooks.splice(n,1)}}function fc(e){const t=Cs(e),n=null!==t?t.factory:fr(e);if(null!==n)return n;if(e instanceof N)throw new I(204,!1);if(e instanceof Function)return function KM(e){const t=e.length;if(t>0)throw function ni(e,t){const n=[];for(let r=0;rn.factory(e):()=>new e}(e);throw new I(204,!1)}function om(e,t,n){let r;if(mr(e)){const o=z(e);return fr(o)||fc(o)}if(lc(e))r=()=>z(e.useValue);else if(function rm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...au(e.deps||[]));else if(function nm(e){return!(!e||!e.useExisting)}(e))r=()=>F(z(e.useExisting));else{const o=z(e&&(e.useClass||e.provide));if(!function tS(e){return!!e.deps}(e))return fr(o)||fc(o);r=()=>new o(...au(e.deps))}return r}function to(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function hc(e,t){for(const n of e)Array.isArray(n)?hc(n,t):n&&ru(n)?hc(n.\u0275providers,t):t(n)}const ua=new N("AppId",{providedIn:"root",factory:()=>oS}),oS="ng",im=new N("Platform Initializer"),yr=new N("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),sm=new N("CSP nonce",{providedIn:"root",factory:()=>function li(){if(void 0!==Ku)return Ku;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let lm=(e,t)=>null;function um(e,t){return lm(e,t)}class hS{}class fm{}class gS{resolveComponentFactory(t){throw function pS(e){const t=Error(`No component factory found for ${Ue(e)}.`);return t.ngComponent=e,t}(t)}}let pa=(()=>{class e{}return e.NULL=new gS,e})();function mS(){return no(Xe(),E())}function no(e,t){return new It(ht(e,t))}let It=(()=>{class e{constructor(n){this.nativeElement=n}}return e.__NG_ELEMENT_ID__=mS,e})();function yS(e){return e instanceof It?e.nativeElement:e}class pm{}let Nn=(()=>{class e{constructor(){this.destroyNode=null}}return e.__NG_ELEMENT_ID__=()=>function vS(){const e=E(),n=Mt(Xe().index,e);return(Et(n)?n:e)[X]}(),e})(),_S=(()=>{class e{}return e.\u0275prov=L({token:e,providedIn:"root",factory:()=>null}),e})();class mi{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const CS=new mi("16.1.3"),Ec={};function yi(e){for(;e;){e[Z]|=64;const t=ii(e);if(hu(e)&&!t)return e;e=t}return null}function Mc(e){return e.ngOriginalError}class vr{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&Mc(t);for(;n&&Mc(n);)n=Mc(n);return n||null}}const ym=new N("",{providedIn:"root",factory:()=>!1});function Pn(e){return e instanceof Function?e():e}class bm extends dp{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){yi(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,n,r){const o=Ze(this);this.trackingVersion++;try{t(n,r)}finally{Ze(o)}}destroy(){this.trackingVersion++}}let ma=null;function wm(){return ma??=new bm,ma}function Em(e,t){return e[t]??wm()}function Mm(e,t){const n=wm();n.hasReadASignal&&(e[t]=ma,n.lView=e,ma=new bm)}const Y={};function C(e){Sm(te(),E(),ot()+e,!1)}function Sm(e,t,n,r){if(!r)if(3==(3&t[Z])){const i=e.preOrderCheckHooks;null!==i&&Fs(t,i,n)}else{const i=e.preOrderHooks;null!==i&&Ls(t,i,0,n)}hr(n)}function xm(e,t=null,n=null,r){const o=Rm(e,t,n,r);return o.resolveInjectorInitializers(),o}function Rm(e,t=null,n=null,r,o=new Set){const i=[n||oe,Kg(e)];return r=r||("object"==typeof e?void 0:Ue(e)),new dc(i,t||la(),r||null,o)}let hn=(()=>{class e{static create(n,r){if(Array.isArray(n))return xm({name:""},r,n,"");{const o=n.name??"";return xm({name:o},n.parent,n.providers,o)}}}return e.THROW_IF_NOT_FOUND=jo,e.NULL=new Jg,e.\u0275prov=L({token:e,providedIn:"any",factory:()=>F(Yg)}),e.__NG_ELEMENT_ID__=-1,e})();function M(e,t=V.Default){const n=E();return null===n?F(e,t):Wp(Xe(),n,z(e),t)}function ya(e,t,n,r,o,i,s,a,l,u,c){const d=t.blueprint.slice();return d[Be]=o,d[Z]=140|r,(null!==u||e&&2048&e[Z])&&(d[Z]|=2048),Dp(d),d[be]=d[Lr]=e,d[Pe]=n,d[cr]=s||e&&e[cr],d[X]=a||e&&e[X],d[Fr]=l||e&&e[Fr]||null,d[Je]=i,d[Xo]=function J0(){return Q0++}(),d[Tn]=c,d[ip]=u,d[Oe]=2==t.type?e[Oe]:d,d}function oo(e,t,n,r,o){let i=e.data[t];if(null===i)i=function Sc(e,t,n,r,o){const i=Ip(),s=_u(),l=e.data[t]=function BS(e,t,n,r,o,i){let s=t?t.injectorIndex:-1,a=0;return function Br(){return null!==$.skipHydrationRootTNode}()&&(a|=128),{type:n,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:t,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,n,t,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,t,n,r,o),function K1(){return $.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=n,i.value=r,i.attrs=o;const s=function Qo(){const e=$.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return cn(i,!0),i}function vi(e,t,n,r){if(0===n)return-1;const o=t.length;for(let i=0;iee&&Sm(e,t,ee,!1),un(a?2:0,o),a)i.runInContext(n,r,o);else{const u=Ze(null);try{n(r,o)}finally{Ze(u)}}}finally{a&&null===t[Ss]&&Mm(t,Ss),hr(s),un(a?3:1,o)}}function Ic(e,t,n){if(fu(t)){const r=Ze(null);try{const i=t.directiveEnd;for(let s=t.directiveStart;snull;function Fm(e,t,n,r){for(let o in e)if(e.hasOwnProperty(o)){n=null===n?{}:n;const i=e[o];null===r?Lm(n,t,o,i):r.hasOwnProperty(o)&&Lm(n,t,r[o],i)}return n}function Lm(e,t,n,r){e.hasOwnProperty(n)?e[n].push(t,r):e[n]=[t,r]}function Tt(e,t,n,r,o,i,s,a){const l=ht(t,n);let c,u=t.inputs;!a&&null!=u&&(c=u[r])?(kc(e,n,c,r,o),dr(t)&&function GS(e,t){const n=Mt(t,e);16&n[Z]||(n[Z]|=64)}(n,t.index)):3&t.type&&(r=function $S(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,t.value||"",r):o,i.setProperty(l,r,o))}function Rc(e,t,n,r){if(Sp()){const o=null===r?null:{"":-1},i=function YS(e,t){const n=e.directiveRegistry;let r=null,o=null;if(n)for(let i=0;i0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(s)!=a&&s.push(a),s.push(n,r,i)}}(e,t,r,vi(e,n,o.hostVars,Y),o)}function pn(e,t,n,r,o,i){const s=ht(e,t);!function Pc(e,t,n,r,o,i,s){if(null==i)e.removeAttribute(t,o,n);else{const a=null==s?W(i):s(i,r||"",o);e.setAttribute(t,o,a,n)}}(t[X],s,i,e.value,n,r,o)}function nI(e,t,n,r,o,i){const s=i[t];if(null!==s)for(let a=0;a{class e{constructor(){this.all=new Set,this.queue=new Map}create(n,r,o){const i=typeof Zone>"u"?null:Zone.current,s=new R1(n,u=>{this.all.has(u)&&this.queue.set(u,i)},o);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=r?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return e.\u0275prov=L({token:e,providedIn:"root",factory:()=>new e}),e})();function _a(e,t,n){let r=n?e.styles:null,o=n?e.classes:null,i=0;if(null!==t)for(let s=0;s0){Xm(e,1);const o=e[A].components;null!==o&&Qm(e,o,1)}}function Qm(e,t,n){for(let r=0;r-1&&(qu(t,r),Gs(n,r))}this._attachedToViewContainer=!1}Mg(this._lView[A],this._lView)}onDestroy(t){!function Ep(e,t){if(256==(256&e[Z]))throw new I(911,!1);null===e[Wn]&&(e[Wn]=[]),e[Wn].push(t)}(this._lView,t)}markForCheck(){yi(this._cdRefInjectingView||this._lView)}detach(){this._lView[Z]&=-129}reattach(){this._lView[Z]|=128}detectChanges(){Ca(this._lView[A],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function fM(e,t){ai(e,t,t[X],2,null,null)}(this._lView[A],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=t}}class hI extends Ci{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Ca(t[A],t,t[Pe],!1)}checkNoChanges(){}get context(){return null}}class Jm extends pa{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=ie(t);return new Di(n,this.ngModule)}}function Km(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class gI{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){r=ws(r);const o=this.injector.get(t,Ec,r);return o!==Ec||n===Ec?o:this.parentInjector.get(t,n,r)}}class Di extends fm{get inputs(){const t=this.componentDef,n=t.inputTransforms,r=Km(t.inputs);if(null!==n)for(const o of r)n.hasOwnProperty(o.propName)&&(o.transform=n[o.propName]);return r}get outputs(){return Km(this.componentDef.outputs)}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function f1(e){return e.map(d1).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}create(t,n,r,o){let i=(o=o||this.ngModule)instanceof fn?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new gI(t,i):t,a=s.get(pm,null);if(null===a)throw new I(407,!1);const c={rendererFactory:a,sanitizer:s.get(_S,null),effectManager:s.get(Wm,null)},d=a.createRenderer(null,this.componentDef),g=this.componentDef.selectors[0][0]||"div",m=r?function FS(e,t,n,r){const i=r.get(ym,!1)||n===Dt.ShadowDom,s=e.selectRootElement(t,i);return function LS(e){km(e)}(s),s}(d,r,this.componentDef.encapsulation,s):ea(d,g,function pI(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(g)),b=this.componentDef.signals?4608:this.componentDef.onPush?576:528,S=xc(0,null,null,1,0,null,null,null,null,null,null),D=ya(null,S,null,b,null,null,c,d,s,null,null);let x,U;Eu(D);try{const q=this.componentDef;let ze,$l=null;q.findHostDirectiveDefs?(ze=[],$l=new Map,q.findHostDirectiveDefs(q,ze,$l),ze.push(q)):ze=[q];const l3=function yI(e,t){const n=e[A],r=ee;return e[r]=t,oo(n,r,2,"#host",null)}(D,m),u3=function vI(e,t,n,r,o,i,s){const a=o[A];!function _I(e,t,n,r){for(const o of e)t.mergedAttrs=zo(t.mergedAttrs,o.hostAttrs);null!==t.mergedAttrs&&(_a(t,t.mergedAttrs,!0),null!==n&&Lg(r,n,t))}(r,e,t,s);let l=null;null!==t&&(l=um(t,o[Fr]));const u=i.rendererFactory.createRenderer(t,n);let c=16;n.signals?c=4096:n.onPush&&(c=64);const d=ya(o,Om(n),null,c,o[e.index],e,i,u,null,null,l);return a.firstCreatePass&&Nc(a,e,r.length-1),va(o,d),o[e.index]=d}(l3,m,q,ze,D,c,d);U=Cp(S,ee),m&&function DI(e,t,n,r){if(r)cu(e,n,["ng-version",CS.full]);else{const{attrs:o,classes:i}=function h1(e){const t=[],n=[];let r=1,o=2;for(;r0&&Fg(e,n,i.join(" "))}}(d,q,m,r),void 0!==n&&function bI(e,t,n){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=t+=o.hostVars,o.hostAttrs=zo(o.hostAttrs,n=zo(n,o.hostAttrs))}}(r)}function Da(e){return e===on?{}:e===oe?[]:e}function MI(e,t){const n=e.viewQuery;e.viewQuery=n?(r,o)=>{t(r,o),n(r,o)}:t}function SI(e,t){const n=e.contentQueries;e.contentQueries=n?(r,o,i)=>{t(r,o,i),n(r,o,i)}:t}function II(e,t){const n=e.hostBindings;e.hostBindings=n?(r,o)=>{t(r,o),n(r,o)}:t}function oy(e){const t=e.inputConfig,n={};for(const r in t)if(t.hasOwnProperty(r)){const o=t[r];Array.isArray(o)&&o[2]&&(n[r]=o[2])}e.inputTransforms=n}function ba(e){return!!Lc(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Lc(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function gn(e,t,n){return e[t]=n}function tt(e,t,n){return!Object.is(e[t],n)&&(e[t]=n,!0)}function zt(e,t,n,r){const o=E();return tt(o,jr(),t)&&(te(),pn(we(),o,e,t,n,r)),zt}function so(e,t,n,r){return tt(e,jr(),n)?t+W(n)+r:Y}function O(e,t,n,r,o,i,s,a){const l=E(),u=te(),c=e+ee,d=u.firstCreatePass?function JI(e,t,n,r,o,i,s,a,l){const u=t.consts,c=oo(t,e,4,s||null,Zn(u,a));Rc(t,n,c,Zn(u,l)),ks(t,c);const d=c.tView=xc(2,c,r,o,i,t.directiveRegistry,t.pipeRegistry,null,t.schemas,u,null);return null!==t.queries&&(t.queries.template(t,c),d.queries=t.queries.embeddedTView(c)),c}(c,u,l,t,n,r,o,i,s):u.data[c];cn(d,!1);const g=yy(u,l,d,e);Os()&&na(u,l,g,d),et(g,l),va(l,l[c]=Bm(g,l,g,d)),As(d)&&Tc(u,l,d),null!=s&&Ac(l,d,a)}let yy=function vy(e,t,n,r){return Xn(!0),t[X].createComment("")};function $c(e){return function Ur(e,t){return e[t]}(function J1(){return $.lFrame.contextLView}(),ee+e)}function w(e,t,n){const r=E();return tt(r,jr(),t)&&Tt(te(),we(),r,e,t,r[X],n,!1),w}function Gc(e,t,n,r,o){const s=o?"class":"style";kc(e,n,t.inputs[s],s,r)}function h(e,t,n,r){const o=E(),i=te(),s=ee+e,a=o[X],l=i.firstCreatePass?function nT(e,t,n,r,o,i){const s=t.consts,l=oo(t,e,2,r,Zn(s,o));return Rc(t,n,l,Zn(s,i)),null!==l.attrs&&_a(l,l.attrs,!1),null!==l.mergedAttrs&&_a(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(s,i,o,t,n,r):i.data[s],u=_y(i,o,l,a,t,e);o[s]=u;const c=As(l);return cn(l,!0),Lg(a,u,l),32!=(32&l.flags)&&Os()&&na(i,o,u,l),0===function G1(){return $.lFrame.elementDepthCount}()&&et(u,o),function z1(){$.lFrame.elementDepthCount++}(),c&&(Tc(i,o,l),Ic(i,l,o)),null!==r&&Ac(o,l),h}function p(){let e=Xe();_u()?Cu():(e=e.parent,cn(e,!1));const t=e;(function W1(e){return $.skipHydrationRootTNode===e})(t)&&function Q1(){$.skipHydrationRootTNode=null}(),function q1(){$.lFrame.elementDepthCount--}();const n=te();return n.firstCreatePass&&(ks(n,e),fu(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function h0(e){return 0!=(8&e.flags)}(t)&&Gc(n,t,E(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function p0(e){return 0!=(16&e.flags)}(t)&&Gc(n,t,E(),t.stylesWithoutHost,!1),p}function y(e,t,n,r){return h(e,t,n,r),p(),y}let _y=(e,t,n,r,o,i)=>(Xn(!0),ea(r,o,function Lp(){return $.lFrame.currentNamespace}()));function mt(e,t,n){const r=E(),o=te(),i=e+ee,s=o.firstCreatePass?function iT(e,t,n,r,o){const i=t.consts,s=Zn(i,r),a=oo(t,e,8,"ng-container",s);return null!==s&&_a(a,s,!0),Rc(t,n,a,Zn(i,o)),null!==t.queries&&t.queries.elementStart(t,a),a}(i,o,r,t,n):o.data[i];cn(s,!0);const a=Dy(o,r,s,e);return r[i]=a,Os()&&na(o,r,a,s),et(a,r),As(s)&&(Tc(o,r,s),Ic(o,s,r)),null!=n&&Ac(r,s),mt}function yt(){let e=Xe();const t=te();return _u()?Cu():(e=e.parent,cn(e,!1)),t.firstCreatePass&&(ks(t,e),fu(e)&&t.queries.elementEnd(e)),yt}let Dy=(e,t,n,r)=>(Xn(!0),zu(t[X],""));function Ae(){return E()}function Si(e){return!!e&&"function"==typeof e.then}function by(e){return!!e&&"function"==typeof e.subscribe}function P(e,t,n,r){const o=E(),i=te(),s=Xe();return function Ey(e,t,n,r,o,i,s){const a=As(r),u=e.firstCreatePass&&Gm(e),c=t[Pe],d=$m(t);let g=!0;if(3&r.type||s){const _=ht(r,t),b=s?s(_):_,S=d.length,D=s?U=>s(ve(U[r.index])):r.index;let x=null;if(!s&&a&&(x=function lT(e,t,n,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,t,o,r.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=i,x.__ngLastListenerFn__=i,g=!1;else{i=Sy(r,t,c,i,!1);const U=n.listen(b,o,i);d.push(i,U),u&&u.push(o,D,S,S+1)}}else i=Sy(r,t,c,i,!1);const m=r.outputs;let v;if(g&&null!==m&&(v=m[o])){const _=v.length;if(_)for(let b=0;b<_;b+=2){const q=t[v[b]][v[b+1]].subscribe(i),ze=d.length;d.push(i,q),u&&u.push(o,r.index,ze,-(ze+1))}}}(i,o,o[X],s,e,t,r),P}function My(e,t,n,r){try{return un(6,t,n),!1!==n(r)}catch(o){return qm(e,o),!1}finally{un(7,t,n)}}function Sy(e,t,n,r,o){return function i(s){if(s===Function)return r;yi(e.componentOffset>-1?Mt(e.index,t):t);let l=My(t,n,r,s),u=i.__ngNextListenerFn__;for(;u;)l=My(t,n,u,s)&&l,u=u.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function k(e=1){return function r0(e){return($.lFrame.contextLView=function o0(e,t){for(;e>0;)t=t[Lr],e--;return t}(e,$.lFrame.contextLView))[Pe]}(e)}function kn(e,t,n,r,o){const i=E(),s=so(i,t,n,r);return s!==Y&&Tt(te(),we(),i,e,s,i[X],o,!1),kn}function Ia(e,t){return e<<17|t<<2}function Qn(e){return e>>17&32767}function zc(e){return 2|e}function Cr(e){return(131068&e)>>2}function qc(e,t){return-131069&e|t<<2}function Wc(e){return 1|e}function Fy(e,t,n,r,o){const i=e[n+1],s=null===t;let a=r?Qn(i):Cr(i),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];yT(e[a],t)&&(l=!0,e[a+1]=r?Wc(c):zc(c)),a=r?Qn(c):Cr(c)}l&&(e[n+1]=r?zc(i):Wc(i))}function yT(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Xr(e,t)>=0}function Ta(e,t){return function qt(e,t,n,r){const o=E(),i=te(),s=function xn(e){const t=$.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}(2);i.firstUpdatePass&&function zy(e,t,n,r){const o=e.data;if(null===o[n+1]){const i=o[ot()],s=function Gy(e,t){return t>=e.expandoStartIndex}(e,n);(function Xy(e,t){return 0!=(e.flags&(t?8:16))})(i,r)&&null===t&&!s&&(t=!1),t=function ST(e,t,n,r){const o=function bu(e){const t=$.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let i=r?t.residualClasses:t.residualStyles;if(null===o)0===(r?t.classBindings:t.styleBindings)&&(n=Ii(n=Zc(null,e,t,n,r),t.attrs,r),i=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==o)if(n=Zc(o,e,t,n,r),null===i){let l=function IT(e,t,n){const r=n?t.classBindings:t.styleBindings;if(0!==Cr(r))return e[Qn(r)]}(e,t,r);void 0!==l&&Array.isArray(l)&&(l=Zc(null,e,t,l[1],r),l=Ii(l,t.attrs,r),function TT(e,t,n,r){e[Qn(n?t.classBindings:t.styleBindings)]=r}(e,t,r,l))}else i=function AT(e,t,n){let r;const o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0)&&(u=!0)):c=n,o)if(0!==l){const g=Qn(e[a+1]);e[r+1]=Ia(g,a),0!==g&&(e[g+1]=qc(e[g+1],r)),e[a+1]=function hT(e,t){return 131071&e|t<<17}(e[a+1],r)}else e[r+1]=Ia(a,0),0!==a&&(e[a+1]=qc(e[a+1],r)),a=r;else e[r+1]=Ia(l,0),0===a?a=r:e[l+1]=qc(e[l+1],r),l=r;u&&(e[r+1]=zc(e[r+1])),Fy(e,c,r,!0),Fy(e,c,r,!1),function mT(e,t,n,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof t&&Xr(i,t)>=0&&(n[r+1]=Wc(n[r+1]))}(t,c,e,r,i),s=Ia(a,l),i?t.classBindings=s:t.styleBindings=s}(o,i,t,n,s,r)}}(i,e,s,r),t!==Y&&tt(o,s,t)&&function Wy(e,t,n,r,o,i,s,a){if(!(3&t.type))return;const l=e.data,u=l[a+1],c=function pT(e){return 1==(1&e)}(u)?Zy(l,t,n,o,Cr(u),s):void 0;Aa(c)||(Aa(i)||function fT(e){return 2==(2&e)}(u)&&(i=Zy(l,null,n,o,a,s)),function bM(e,t,n,r,o){if(t)o?e.addClass(n,r):e.removeClass(n,r);else{let i=-1===r.indexOf("-")?void 0:pt.DashCase;null==o?e.removeStyle(n,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=pt.Important),e.setStyle(n,r,o,i))}}(r,s,Ps(ot(),n),o,i))}(i,i.data[ot()],o,o[X],e,o[s+1]=function PT(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Ue(Yn(e)))),e}(t,n),r,s)}(e,t,null,!0),Ta}function Zc(e,t,n,r,o){let i=null;const s=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const l=e[o],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let g=n[o+1];g===Y&&(g=d?oe:void 0);let m=d?Ou(g,r):c===r?g:void 0;if(u&&!Aa(m)&&(m=Ou(l,r)),Aa(m)&&(a=m,s))return a;const v=e[o+1];o=s?Qn(v):Cr(v)}if(null!==t){let l=i?t.residualClasses:t.residualStyles;null!=l&&(a=Ou(l,r))}return a}function Aa(e){return void 0!==e}function f(e,t=""){const n=E(),r=te(),o=e+ee,i=r.firstCreatePass?oo(r,o,1,t,null):r.data[o],s=Yy(r,n,i,t,e);n[o]=s,Os()&&na(r,n,s,i),cn(i,!1)}let Yy=(e,t,n,r,o)=>(Xn(!0),function Ks(e,t){return e.createText(t)}(t[X],r));function _e(e){return Fn("",e,""),_e}function Fn(e,t,n){const r=E(),o=so(r,e,t,n);return o!==Y&&function On(e,t,n){const r=Ps(t,e);!function wg(e,t,n){e.setValue(t,n)}(e[X],r,n)}(r,ot(),o),Fn}const yo="en-US";let vv=yo;function Qc(e,t,n,r,o){if(e=z(e),Array.isArray(e))for(let i=0;i>20;if(mr(e)||!e.multi){const m=new Jo(l,o,M),v=Kc(a,t,o?c:c+g,d);-1===v?(Ru(Bs(u,s),i,a),Jc(i,e,t.length),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(m),s.push(m)):(n[v]=m,s[v]=m)}else{const m=Kc(a,t,c+g,d),v=Kc(a,t,c,c+g),b=v>=0&&n[v];if(o&&!b||!o&&!(m>=0&&n[m])){Ru(Bs(u,s),i,a);const S=function KA(e,t,n,r,o){const i=new Jo(e,n,M);return i.multi=[],i.index=t,i.componentProviders=0,$v(i,o,r&&!n),i}(o?JA:QA,n.length,o,r,l);!o&&b&&(n[v].providerFactory=S),Jc(i,e,t.length,0),t.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),n.push(S),s.push(S)}else Jc(i,e,m>-1?m:v,$v(n[o?v:m],l,!o&&r));!o&&r&&b&&n[v].componentProviders++}}}function Jc(e,t,n,r){const o=mr(t),i=function QM(e){return!!e.useClass}(t);if(o||i){const l=(i?z(t.useClass):t).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){const c=u.indexOf(n);-1===c?u.push(n,[r,l]):u[c+1].push(r,l)}else u.push(n,l)}}}function $v(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Kc(e,t,n,r){for(let o=n;o{n.providersResolver=(r,o)=>function YA(e,t,n){const r=te();if(r.firstCreatePass){const o=Gt(e);Qc(n,r.data,r.blueprint,o,!0),Qc(t,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,t)}}class vo{}class Gv{}class td extends vo{constructor(t,n,r){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Jm(this);const o=wt(t);this._bootstrapComponents=Pn(o.bootstrap),this._r3Injector=Rm(t,n,[{provide:vo,useValue:this},{provide:pa,useValue:this.componentFactoryResolver},...r],Ue(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class nd extends Gv{constructor(t){super(),this.moduleType=t}create(t){return new td(this.moduleType,t,[])}}class zv extends vo{constructor(t){super(),this.componentFactoryResolver=new Jm(this),this.instance=null;const n=new dc([...t.providers,{provide:vo,useValue:this},{provide:pa,useValue:this.componentFactoryResolver}],t.parent||la(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function rd(e,t,n=null){return new zv({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}let nx=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n.id)){const r=em(0,n.type),o=r.length>0?rd([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n.id,o)}return this.cachedInjectors.get(n.id)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=L({token:e,providedIn:"environment",factory:()=>new e(F(fn))}),e})();function At(e){e.getStandaloneInjector=t=>t.get(nx).getOrCreateStandaloneInjector(e)}function ne(e,t,n){const r=rt()+e,o=E();return o[r]===Y?gn(o,r,n?t.call(n):t()):function bi(e,t){return e[t]}(o,r)}function Pi(e,t,n,r){return function Kv(e,t,n,r,o,i){const s=t+n;return tt(e,s,o)?gn(e,s+1,i?r.call(i,o):r(o)):Oi(e,s+1)}(E(),rt(),e,t,n,r)}function Jv(e,t,n,r,o){return function e_(e,t,n,r,o,i,s){const a=t+n;return function _r(e,t,n,r){const o=tt(e,t,n);return tt(e,t+1,r)||o}(e,a,o,i)?gn(e,a+2,s?r.call(s,o,i):r(o,i)):Oi(e,a+2)}(E(),rt(),e,t,n,r,o)}function Oi(e,t){const n=e[t];return n===Y?void 0:n}function id(e){return t=>{setTimeout(e,void 0,t)}}const Ie=class Mx extends wn{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,r){let o=t,i=n||(()=>null),s=r;if(t&&"object"==typeof t){const l=t;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=id(i),o&&(o=id(o)),s&&(s=id(s)));const a=super.subscribe({next:o,error:i,complete:s});return t instanceof Nt&&t.add(a),a}};function Sx(){return this._results[Symbol.iterator]()}class sd{get changes(){return this._changes||(this._changes=new Ie)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const n=sd.prototype;n[Symbol.iterator]||(n[Symbol.iterator]=Sx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){const r=this;r.dirty=!1;const o=function Ft(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function M0(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r{class e{}return e.__NG_ELEMENT_ID__=Ax,e})();const Ix=Ln,Tx=class extends Ix{constructor(t,n,r){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,n){return this.createEmbeddedViewImpl(t,n,null)}createEmbeddedViewImpl(t,n,r){const s=this._declarationTContainer.tView,a=ya(this._declarationLView,s,t,4096&this._declarationLView[Z]?4096:16,null,s.declTNode,null,null,null,n||null,r||null);a[Zo]=this._declarationLView[this._declarationTContainer.index];const u=this._declarationLView[sn];return null!==u&&(a[sn]=u.createEmbeddedView(s)),Fc(s,a,t),new Ci(a)}};function Ax(){return Oa(Xe(),E())}function Oa(e,t){return 4&e.type?new Tx(t,e,no(e,t)):null}let Zt=(()=>{class e{}return e.__NG_ELEMENT_ID__=Fx,e})();function Fx(){return u_(Xe(),E())}const Lx=Zt,a_=class extends Lx{constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return no(this._hostTNode,this._hostLView)}get injector(){return new Gr(this._hostTNode,this._hostLView)}get parentInjector(){const t=xu(this._hostTNode,this._hostLView);if(Bp(t)){const n=Hs(t,this._hostLView),r=Vs(t);return new Gr(n[A].data[r+8],n)}return new Gr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=l_(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-Ke}createEmbeddedView(t,n,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const a=t.createEmbeddedViewImpl(n||{},i,null);return this.insertImpl(a,o,false),a}createComponent(t,n,r,o,i){const s=t&&!function ei(e){return"function"==typeof e}(t);let a;if(s)a=n;else{const _=n||{};a=_.index,r=_.injector,o=_.projectableNodes,i=_.environmentInjector||_.ngModuleRef}const l=s?t:new Di(ie(t)),u=r||this.parentInjector;if(!i&&null==l.ngModule){const b=(s?u:this.parentInjector).get(fn,null);b&&(i=b)}ie(l.componentType??{});const m=l.create(u,o,null,i);return this.insertImpl(m.hostView,a,false),m}insert(t,n){return this.insertImpl(t,n,!1)}insertImpl(t,n,r){const o=t._lView,i=o[A];if(function B1(e){return ft(e[be])}(o)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const u=o[be],c=new a_(u,u[Je],u[be]);c.detach(c.indexOf(t))}}const s=this._adjustIndex(n),a=this._lContainer;if(function pM(e,t,n,r){const o=Ke+r,i=n.length;r>0&&(n[o-1][$t]=t),r0)r.push(s[a/2]);else{const u=i[a+1],c=t[-l];for(let d=Ke;d{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=R(_d,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const o of this.appInits){const i=o();if(Si(i))n.push(i);else if(by(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});n.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),0===n.length&&r(),this.initialized=!0}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),F_=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Vn=new N("LocaleId",{providedIn:"root",factory:()=>R(Vn,V.Optional|V.SkipSelf)||function gR(){return typeof $localize<"u"&&$localize.locale||yo}()});let Fa=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Pt(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class yR{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let L_=(()=>{class e{compileModuleSync(n){return new nd(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const r=this.compileModuleSync(n),i=Pn(wt(n).declarations).reduce((s,a)=>{const l=ie(a);return l&&s.push(new Di(l)),s},[]);return new yR(r,i)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function U_(...e){}class Ee{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ie(!1),this.onMicrotaskEmpty=new Ie(!1),this.onStable=new Ie(!1),this.onError=new Ie(!1),typeof Zone>"u")throw new I(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)),t&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&n,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function CR(){let e=ge.requestAnimationFrame,t=ge.cancelAnimationFrame;if(typeof Zone<"u"&&e&&t){const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function wR(e){const t=()=>{!function bR(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ge,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,bd(e),e.isCheckStableRunning=!0,Dd(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),bd(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,o,i,s,a)=>{try{return B_(e),n.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&t(),j_(e)}},onInvoke:(n,r,o,i,s,a,l)=>{try{return B_(e),n.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),j_(e)}},onHasTask:(n,r,o,i)=>{n.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,bd(e),Dd(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(n,r,o,i)=>(n.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(!Ee.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(Ee.isInAngularZone())throw new I(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,DR,U_,U_);try{return i.runTask(s,n,r)}finally{i.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}}const DR={};function Dd(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 bd(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function B_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function j_(e){e._nesting--,Dd(e)}const $_=new N("",{providedIn:"root",factory:G_});function G_(){const e=R(Ee);let t=!0;return function LE(...e){const t=Bo(e),n=function xE(e,t){return"number"==typeof Kl(e)?e.pop():t}(e,1/0),r=e;return r.length?1===r.length?en(r[0]):Nr(n)(Ne(r,t)):tn}(new Te(o=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(t),o.complete()})}),new Te(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{Ee.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{Ee.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(Fh()))}const z_=new N(""),La=new N("");let Md,wd=(()=>{class e{constructor(n,r,o){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Md||(function MR(e){Md=e}(o),o.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Ee.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 n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:i,updateCb:o})}whenStable(n,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(n,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,o){return[]}}return e.\u0275fac=function(n){return new(n||e)(F(Ee),F(Ed),F(La))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})(),Ed=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Md?.findTestabilityInTree(this,n,r)??null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),Jn=null;const Sd=new N("PlatformDestroyListeners"),Id=new N("appBootstrapListener");class Z_{constructor(t,n){this.name=t,this.token=n}}function xR(e){try{const{rootComponent:t,appProviders:n,platformProviders:r}=e,o=function AR(e=[]){if(Jn)return Jn;const t=function Y_(e=[],t){return hn.create({name:t,providers:[{provide:uc,useValue:"platform"},{provide:Sd,useValue:new Set([()=>Jn=null])},...e]})}(e);return Jn=t,function W_(){!function A1(e){fp=e}(()=>{throw new I(600,!1)})}(),function X_(e){e.get(im,null)?.forEach(n=>n())}(t),t}(r),i=[kR(),...n||[]],a=new zv({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(Ee);return l.run(()=>{a.resolveInjectorInitializers();const u=a.get(vr,null);let c;l.runOutsideAngular(()=>{c=l.onError.subscribe({next:m=>{u.handleError(m)}})});const d=()=>a.destroy(),g=o.get(Sd);return g.add(d),a.onDestroy(()=>{c.unsubscribe(),g.delete(d)}),function K_(e,t,n){try{const r=n();return Si(r)?r.catch(o=>{throw t.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(u,l,()=>{const m=a.get(Cd);return m.runInitializers(),m.donePromise.then(()=>{!function _v(e){Ot(e,"Expected localeId to be defined"),"string"==typeof e&&(vv=e.toLowerCase().replace(/_/g,"-"))}(a.get(Vn,yo)||yo);const _=a.get(Do);return void 0!==t&&_.bootstrap(t),_})})})}catch(t){return Promise.reject(t)}}let Do=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=R(nC),this.zoneIsStable=R($_),this.componentTypes=[],this.components=[],this.isStable=R(Fa).hasPendingTasks.pipe(Bt(n=>n?j(!1):this.zoneIsStable),function VE(e,t=$n){return e=e??HE,qe((n,r)=>{let o,i=!0;n.subscribe(He(r,s=>{const a=t(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}(),Fh()),this._injector=R(fn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const o=n instanceof fm;if(!this._injector.get(Cd).done)throw!o&&function Or(e){const t=ie(e)||Qe(e)||dt(e);return null!==t&&t.standalone}(n),new I(405,!1);let s;s=o?n:this._injector.get(pa).resolveComponentFactory(n),this.componentTypes.push(s.componentType);const a=function IR(e){return e.isBoundToModule}(s)?void 0:this._injector.get(vo),u=s.create(hn.NULL,[],r||s.selector,a),c=u.location.nativeElement,d=u.injector.get(z_,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),Va(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Va(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(Id,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Va(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new I(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Va(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const nC=new N("",{providedIn:"root",factory:()=>R(vr).handleError.bind(void 0)});function PR(){const e=R(Ee),t=R(vr);return n=>e.runOutsideAngular(()=>t.handleError(n))}let OR=(()=>{class e{constructor(){this.zone=R(Ee),this.applicationRef=R(Do)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function rC(e){return[{provide:Ee,useFactory:e},{provide:fi,multi:!0,useFactory:()=>{const t=R(OR,{optional:!0});return()=>t.initialize()}},{provide:nC,useFactory:PR},{provide:$_,useFactory:G_}]}function kR(e){return ic([[],rC(()=>new Ee(function J_(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}let Ha=(()=>{class e{}return e.__NG_ELEMENT_ID__=FR,e})();function FR(e){return function LR(e,t,n){if(dr(e)&&!n){const r=Mt(e.index,t);return new Ci(r,r)}return 47&e.type?new Ci(t[Oe],t):null}(Xe(),E(),16==(16&e))}class aC{constructor(){}supports(t){return ba(t)}create(t){return new $R(t)}}const jR=(e,t)=>t;class $R{constructor(t){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=t||jR}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,o=0,i=null;for(;n||r;){const s=!r||n&&n.currentIndex{s=this._trackByFn(o,a),null!==n&&Object.is(n.trackById,s)?(r&&(n=this._verifyReinsertion(n,a,s,o)),Object.is(n.item,a)||this._addIdentityChange(n,a)):(n=this._mismatch(n,a,s,o),r=!0),n=n._next,o++}),this.length=o;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,r,o){let i;return null===t?i=this._itTail:(i=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,i,o)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,i,o)):t=this._addAfter(new GR(n,r),i,o),t}_verifyReinsertion(t,n,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?t=this._reinsertAfter(i,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}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(t,n,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const o=t._prevRemoved,i=t._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){const o=null===n?this._itHead:n._next;return t._next=o,t._prev=n,null===o?this._itTail=t:o._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new lC),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,r=t._next;return null===n?this._itHead=r:n._next=r,null===r?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new lC),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class GR{constructor(t,n){this.item=t,this.trackById=n,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 zR{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===n||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){const n=t._prevDup,r=t._nextDup;return null===n?this._head=r:n._nextDup=r,null===r?this._tail=n:r._prevDup=n,null===this._head}}class lC{constructor(){this.map=new Map}put(t){const n=t.trackById;let r=this.map.get(n);r||(r=new zR,this.map.set(n,r)),r.add(t)}get(t,n){const o=this.map.get(t);return o?o.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function uC(e,t,n){const r=e.previousIndex;if(null===r)return r;let o=0;return n&&r{if(n&&n.key===o)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{const i=this._getOrCreateRecordForKey(o,r);n=this._insertBeforeOrAppend(n,i)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;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(t,n){if(t){const r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const o=this._records.get(t);this._maybeAddToChanges(o,n);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 WR(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}}class WR{constructor(t){this.key=t,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 dC(){return new ja([new aC])}let ja=(()=>{class e{constructor(n){this.factories=n}static create(n,r){if(null!=r){const o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||dC()),deps:[[e,new Ws,new qs]]}}find(n){const r=this.factories.find(o=>o.supports(n));if(null!=r)return r;throw new I(901,!1)}}return e.\u0275prov=L({token:e,providedIn:"root",factory:dC}),e})();function fC(){return new Li([new cC])}let Li=(()=>{class e{constructor(n){this.factories=n}static create(n,r){if(r){const o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||fC()),deps:[[e,new Ws,new qs]]}}find(n){const r=this.factories.find(o=>o.supports(n));if(r)return r;throw new I(901,!1)}}return e.\u0275prov=L({token:e,providedIn:"root",factory:fC}),e})(),YR=(()=>{class e{constructor(n){}}return e.\u0275fac=function(n){return new(n||e)(F(Do))},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})();function bo(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const me_apiBaseUrl="https://www.palmmedia.de/api/";let kd=null;function Kn(){return kd}class lN{}const vt=new N("DocumentToken");let Fd=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(cN)},providedIn:"platform"}),e})();const uN=new N("Location Initialized");let cN=(()=>{class e extends Fd{constructor(){super(),this._doc=R(vt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kn().getBaseHref(this._doc)}onPopState(n){const r=Kn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){const r=Kn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}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(n){this._location.pathname=n}pushState(n,r,o){this._history.pushState(n,r,o)}replaceState(n,r,o){this._history.replaceState(n,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new e},providedIn:"platform"}),e})();function Ld(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function _C(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Hn(e){return e&&"?"!==e[0]?"?"+e:e}let wr=(()=>{class e{historyGo(n){throw new Error("Not implemented")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(DC)},providedIn:"root"}),e})();const CC=new N("appBaseHref");let DC=(()=>{class e extends wr{constructor(n,r){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??R(vt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Ld(this._baseHref,n)}path(n=!1){const r=this._platformLocation.pathname+Hn(this._platformLocation.search),o=this._platformLocation.hash;return o&&n?`${r}${o}`:r}pushState(n,r,o,i){const s=this.prepareExternalUrl(o+Hn(i));this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){const s=this.prepareExternalUrl(o+Hn(i));this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(F(Fd),F(CC,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),dN=(()=>{class e extends wr{constructor(n,r){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(n){const r=Ld(this._baseHref,n);return r.length>0?"#"+r:r}pushState(n,r,o,i){let s=this.prepareExternalUrl(o+Hn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(n,r,s)}replaceState(n,r,o,i){let s=this.prepareExternalUrl(o+Hn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return e.\u0275fac=function(n){return new(n||e)(F(Fd),F(CC,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})(),Vd=(()=>{class e{constructor(n){this._subject=new Ie,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const r=this._locationStrategy.getBaseHref();this._basePath=function pN(e){if(new RegExp("^(https?:)?//").test(e)){const[,n]=e.split(/\/\/[^\/]+/);return n}return e}(_C(bC(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(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+Hn(r))}normalize(n){return e.stripTrailingSlash(function hN(e,t){if(!e||!t.startsWith(e))return t;const n=t.substring(e.length);return""===n||["/",";","?","#"].includes(n[0])?n:t}(this._basePath,bC(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",o=null){this._locationStrategy.pushState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Hn(r)),o)}replaceState(n,r="",o=null){this._locationStrategy.replaceState(o,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Hn(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(o=>o(n,r))}subscribe(n,r,o){return this._subject.subscribe({next:n,error:r,complete:o})}}return e.normalizeQueryParams=Hn,e.joinWithSlash=Ld,e.stripTrailingSlash=_C,e.\u0275fac=function(n){return new(n||e)(F(wr))},e.\u0275prov=L({token:e,factory:function(){return function fN(){return new Vd(F(wr))}()},providedIn:"root"}),e})();function bC(e){return e.replace(/\/index.html$/,"")}function RC(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const r=n.indexOf("="),[o,i]=-1==r?[n,""]:[n.slice(0,r),n.slice(r+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}const Zd=/\s+/,NC=[];let Ka=(()=>{class e{constructor(n,r,o,i){this._iterableDiffers=n,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=NC,this.stateMap=new Map}set klass(n){this.initialClasses=null!=n?n.trim().split(Zd):NC}set ngClass(n){this.rawClass="string"==typeof n?n.trim().split(Zd):n}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(const r of n)this._updateState(r,!0);else if(null!=n)for(const r of Object.keys(n))this._updateState(r,!!n[r]);this._applyStateDiff()}_updateState(n,r){const o=this.stateMap.get(n);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(n,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const n of this.stateMap){const r=n[0],o=n[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(n,r){(n=n.trim()).length>0&&n.split(Zd).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return e.\u0275fac=function(n){return new(n||e)(M(ja),M(Li),M(It),M(Nn))},e.\u0275dir=G({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),e})();class JN{constructor(t,n,r,o){this.$implicit=t,this.ngForOf=n,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 Xd=(()=>{class e{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,o){this._viewContainer=n,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new JN(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),OC(a,o)}});for(let o=0,i=r.length;o{OC(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(n,r){return!0}}return e.\u0275fac=function(n){return new(n||e)(M(Zt),M(Ln),M(ja))},e.\u0275dir=G({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function OC(e,t){e.context.$implicit=t.item}let el=(()=>{class e{constructor(n,r){this._viewContainer=n,this._context=new KN,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){kC("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){kC("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return e.\u0275fac=function(n){return new(n||e)(M(Zt),M(Ln))},e.\u0275dir=G({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),e})();class KN{constructor(){this.$implicit=null,this.ngIf=null}}function kC(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Ue(t)}'.`)}let EP=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})();function HC(e){return"server"===e}let TP=(()=>{class e{}return e.\u0275prov=L({token:e,providedIn:"root",factory:()=>new AP(F(vt),window)}),e})();class AP{constructor(t,n){this.document=t,this.window=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const n=function xP(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;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(t)||i.querySelector(`[name="${t}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,t);n&&(this.scrollToElement(n),n.focus())}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const n=this.window.history;n&&n.scrollRestoration&&(n.scrollRestoration=t)}}scrollToElement(t){const n=t.getBoundingClientRect(),r=n.left+this.window.pageXOffset,o=n.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=UC(this.window.history)||UC(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function UC(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class BC{}const{isArray:eO}=Array,{getPrototypeOf:tO,prototype:nO,keys:rO}=Object;function qC(e){if(1===e.length){const t=e[0];if(eO(t))return{args:t,keys:null};if(function oO(e){return e&&"object"==typeof e&&tO(e)===nO}(t)){const n=rO(t);return{args:n.map(r=>t[r]),keys:n}}}return{args:e,keys:null}}const{isArray:iO}=Array;function WC(e){return re(t=>function sO(e,t){return iO(t)?e(...t):e(t)}(e,t))}function ZC(e,t){return e.reduce((n,r,o)=>(n[r]=t[o],n),{})}function nf(...e){const t=Bo(e),n=Nh(e),{args:r,keys:o}=qC(e);if(0===r.length)return Ne([],t);const i=new Te(function aO(e,t,n=$n){return r=>{XC(t,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const u=Ne(e[l],t);let c=!1;u.subscribe(He(r,d=>{i[l]=d,c||(c=!0,a--),a||r.next(n(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,t,o?s=>ZC(o,s):$n));return n?i.pipe(WC(n)):i}function XC(e,t,n){e?En(n,e,t):t()}const rl=Ho(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function rf(...e){return function lO(){return Nr(1)}()(Ne(e,Bo(e)))}function YC(e){return new Te(t=>{en(e()).subscribe(t)})}function Bi(e,t){const n=he(e)?e:()=>e,r=o=>o.error(n());return new Te(t?o=>t.schedule(r,0,o):r)}function sf(){return qe((e,t)=>{let n=null;e._refCount++;const r=He(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(n=null);const o=e._connection,i=n;n=null,o&&(!i||o===i)&&o.unsubscribe(),t.unsubscribe()});e.subscribe(r),r.closed||(n=e.connect())})}class QC extends Te{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,yh(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new Nt;const n=this.getSubject();t.add(this.source.subscribe(He(n,void 0,()=>{this._teardown(),n.complete()},r=>{this._teardown(),n.error(r)},()=>this._teardown()))),t.closed&&(this._connection=null,t=Nt.EMPTY)}return t}refCount(){return sf()(this)}}function Jt(e,t){return qe((n,r)=>{let o=0;n.subscribe(He(r,i=>e.call(t,i,o++)&&r.next(i)))})}function ol(e){return qe((t,n)=>{let r=!1;t.subscribe(He(n,o=>{r=!0,n.next(o)},()=>{r||n.next(e),n.complete()}))})}function JC(e=cO){return qe((t,n)=>{let r=!1;t.subscribe(He(n,o=>{r=!0,n.next(o)},()=>r?n.complete():n.error(e())))})}function cO(){return new rl}function Er(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Jt((o,i)=>e(o,i,r)):$n,ur(1),n?ol(t):JC(()=>new rl))}function wo(e,t){return he(t)?We(e,t,1):We(e,1)}function at(e,t,n){const r=he(e)||t||n?{next:e,error:t,complete:n}:e;return r?qe((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(He(i,l=>{var u;null===(u=r.next)||void 0===u||u.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var u;a=!1,null===(u=r.error)||void 0===u||u.call(r,l),i.error(l)},()=>{var l,u;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(u=r.finalize)||void 0===u||u.call(r)}))}):$n}function Mr(e){return qe((t,n)=>{let i,r=null,o=!1;r=t.subscribe(He(n,void 0,void 0,s=>{i=en(e(s,Mr(e)(t))),r?(r.unsubscribe(),r=null,i.subscribe(n)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(n))})}function af(e){return e<=0?()=>tn:qe((t,n)=>{let r=[];t.subscribe(He(n,o=>{r.push(o),e{for(const o of r)n.next(o);n.complete()},void 0,()=>{r=null}))})}function ji(e){return qe((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}class gO extends lN{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class lf extends gO{static makeCurrent(){!function aN(e){kd||(kd=e)}(new lf)}onAndCancel(t,n,r){return t.addEventListener(n,r),()=>{t.removeEventListener(n,r)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,n){return(n=n||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return"window"===n?window:"document"===n?t:"body"===n?t.body:null}getBaseHref(t){const n=function mO(){return $i=$i||document.querySelector("base"),$i?$i.getAttribute("href"):null}();return null==n?null:function yO(e){il=il||document.createElement("a"),il.setAttribute("href",e);const t=il.pathname;return"/"===t.charAt(0)?t:`/${t}`}(n)}resetBaseElement(){$i=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return RC(document.cookie,t)}}let il,$i=null,_O=(()=>{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const uf=new N("EventManagerPlugins");let KC=(()=>{class e{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(o=>{o.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,o){return this._findPluginFor(r).addEventListener(n,r,o)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(i=>i.supports(n)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return e.\u0275fac=function(n){return new(n||e)(F(uf),F(Ee))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();class eD{constructor(t){this._doc=t}}const cf="ng-app-id";let tD=(()=>{class e{constructor(n,r,o,i={}){this.doc=n,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=HC(i),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(o=>o.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${cf}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(n,r){const o=this.styleRef;if(o.has(n)){const i=o.get(n);return i.usage+=r,i.usage}return o.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===n)return o.delete(r),i.removeAttribute(cf),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(cf,this.appId),s}}addStyleToHost(n,r){const o=this.getStyleElement(n,r);n.appendChild(o);const i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return e.\u0275fac=function(n){return new(n||e)(F(vt),F(ua),F(sm,8),F(yr))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const df={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/"},ff=/%COMP%/g,wO=new N("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function rD(e,t){return t.map(n=>n.replace(ff,e))}let oD=(()=>{class e{constructor(n,r,o,i,s,a,l,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=HC(a),this.defaultRenderer=new hf(n,s,l,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Dt.ShadowDom&&(r={...r,encapsulation:Dt.Emulated});const o=this.getOrCreateRenderer(n,r);return o instanceof sD?o.applyToHost(n):o instanceof pf&&o.applyStyles(),o}getOrCreateRenderer(n,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,l=this.eventManager,u=this.sharedStylesHost,c=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Dt.Emulated:i=new sD(l,u,r,this.appId,c,s,a,d);break;case Dt.ShadowDom:return new IO(l,u,n,r,s,a,this.nonce,d);default:i=new pf(l,u,r,c,s,a,d)}i.onDestroy=()=>o.delete(r.id),o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}}return e.\u0275fac=function(n){return new(n||e)(F(KC),F(tD),F(ua),F(wO),F(vt),F(yr),F(Ee),F(sm))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();class hf{constructor(t,n,r,o){this.eventManager=t,this.doc=n,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,n){return n?this.doc.createElementNS(df[n]||n,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,n){(iD(t)?t.content:t).appendChild(n)}insertBefore(t,n,r){t&&(iD(t)?t.content:t).insertBefore(n,r)}removeChild(t,n){t&&t.removeChild(n)}selectRootElement(t,n){let r="string"==typeof t?this.doc.querySelector(t):t;if(!r)throw new I(-5104,!1);return n||(r.textContent=""),r}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,r,o){if(o){n=o+":"+n;const i=df[o];i?t.setAttributeNS(i,n,r):t.setAttribute(n,r)}else t.setAttribute(n,r)}removeAttribute(t,n,r){if(r){const o=df[r];o?t.removeAttributeNS(o,n):t.removeAttribute(`${r}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,r,o){o&(pt.DashCase|pt.Important)?t.style.setProperty(n,r,o&pt.Important?"important":""):t.style[n]=r}removeStyle(t,n,r){r&pt.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,r){t[n]=r}setValue(t,n){t.nodeValue=n}listen(t,n,r){if("string"==typeof t&&!(t=Kn().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${n}`);return this.eventManager.addEventListener(t,n,this.decoratePreventDefault(r))}decoratePreventDefault(t){return n=>{if("__ngUnwrap__"===n)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(n)):t(n))&&n.preventDefault()}}}function iD(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class IO extends hf{constructor(t,n,r,o,i,s,a,l){super(t,i,s,l),this.sharedStylesHost=n,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const u=rD(o.id,o.styles);for(const c of u){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=c,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,n){return super.appendChild(this.nodeOrShadowRoot(t),n)}insertBefore(t,n,r){return super.insertBefore(this.nodeOrShadowRoot(t),n,r)}removeChild(t,n){return super.removeChild(this.nodeOrShadowRoot(t),n)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class pf extends hf{constructor(t,n,r,o,i,s,a,l){super(t,i,s,a),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=o,this.rendererUsageCount=0,this.styles=l?rD(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestroy&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class sD extends pf{constructor(t,n,r,o,i,s,a,l){const u=o+"-"+r.id;super(t,n,r,i,s,a,l,u),this.contentAttr=function EO(e){return"_ngcontent-%COMP%".replace(ff,e)}(u),this.hostAttr=function MO(e){return"_nghost-%COMP%".replace(ff,e)}(u)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,n){const r=super.createElement(t,n);return super.setAttribute(r,this.contentAttr,""),r}}let TO=(()=>{class e extends eD{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,o){return n.addEventListener(r,o,!1),()=>this.removeEventListener(n,r,o)}removeEventListener(n,r,o){return n.removeEventListener(r,o)}}return e.\u0275fac=function(n){return new(n||e)(F(vt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const aD=["alt","control","meta","shift"],AO={"\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"},xO={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let RO=(()=>{class e extends eD{constructor(n){super(n)}supports(n){return null!=e.parseEventName(n)}addEventListener(n,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kn().onAndCancel(n,i.domEventName,s))}static parseEventName(n){const r=n.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."),aD.forEach(u=>{const c=r.indexOf(u);c>-1&&(r.splice(c,1),s+=u+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(n,r){let o=AO[n.key]||n.key,i="";return r.indexOf("code.")>-1&&(o=n.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),aD.forEach(s=>{s!==o&&(0,xO[s])(n)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(n,r,o){return i=>{e.matchEventFullKeyCode(i,n)&&o.runGuarded(()=>r(i))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return e.\u0275fac=function(n){return new(n||e)(F(vt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function lD(e){return{appProviders:[...cD,...e?.providers??[]],platformProviders:FO}}const FO=[{provide:yr,useValue:"browser"},{provide:im,useValue:function PO(){lf.makeCurrent()},multi:!0},{provide:vt,useFactory:function kO(){return function IM(e){Ku=e}(document),document},deps:[]}],LO=new N(""),uD=[{provide:La,useClass:class vO{addToWindow(t){ge.getAngularTestability=(r,o=!0)=>{const i=t.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},ge.getAllAngularTestabilities=()=>t.getAllTestabilities(),ge.getAllAngularRootElements=()=>t.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(t,n,r){return null==n?null:t.getTestability(n)??(r?Kn().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},deps:[]},{provide:z_,useClass:wd,deps:[Ee,Ed,La]},{provide:wd,useClass:wd,deps:[Ee,Ed,La]}],cD=[{provide:uc,useValue:"root"},{provide:vr,useFactory:function OO(){return new vr},deps:[]},{provide:uf,useClass:TO,multi:!0,deps:[vt,Ee,yr]},{provide:uf,useClass:RO,multi:!0,deps:[vt]},oD,tD,KC,{provide:pm,useExisting:oD},{provide:BC,useClass:_O,deps:[]},[]];let VO=(()=>{class e{constructor(n){}static withServerTransition(n){return{ngModule:e,providers:[{provide:ua,useValue:n.appId}]}}}return e.\u0275fac=function(n){return new(n||e)(F(LO,12))},e.\u0275mod=In({type:e}),e.\u0275inj=nn({providers:[...cD,...uD],imports:[EP,YR]}),e})(),dD=(()=>{class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return e.\u0275fac=function(n){return new(n||e)(F(vt))},e.\u0275prov=L({token:e,factory:function(n){let r=null;return r=n?new n:function UO(){return new dD(F(vt))}(),r},providedIn:"root"}),e})();typeof window<"u"&&window;const Q="primary",Gi=Symbol("RouteTitle");class zO{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n[0]:n}return null}getAll(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n:[n]}return[]}get keys(){return Object.keys(this.params)}}function Eo(e){return new zO(e)}function qO(e,t,n){const r=n.path.split("/");if(r.length>e.length||"full"===n.pathMatch&&(t.hasChildren()||r.lengthr[i]===o)}return e===t}function mD(e){return e.length>0?e[e.length-1]:null}function tr(e){return function KP(e){return!!e&&(e instanceof Te||he(e.lift)&&he(e.subscribe))}(e)?e:Si(e)?Ne(Promise.resolve(e)):j(e)}const ZO={exact:function _D(e,t,n){if(!Sr(e.segments,t.segments)||!sl(e.segments,t.segments,n)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const r in t.children)if(!e.children[r]||!_D(e.children[r],t.children[r],n))return!1;return!0},subset:CD},yD={exact:function XO(e,t){return vn(e,t)},subset:function YO(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>gD(e[n],t[n]))},ignored:()=>!0};function vD(e,t,n){return ZO[n.paths](e.root,t.root,n.matrixParams)&&yD[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function CD(e,t,n){return DD(e,t,t.segments,n)}function DD(e,t,n,r){if(e.segments.length>n.length){const o=e.segments.slice(0,n.length);return!(!Sr(o,n)||t.hasChildren()||!sl(o,n,r))}if(e.segments.length===n.length){if(!Sr(e.segments,n)||!sl(e.segments,n,r))return!1;for(const o in t.children)if(!e.children[o]||!CD(e.children[o],t.children[o],r))return!1;return!0}{const o=n.slice(0,e.segments.length),i=n.slice(e.segments.length);return!!(Sr(e.segments,o)&&sl(e.segments,o,r)&&e.children[Q])&&DD(e.children[Q],t,i,r)}}function sl(e,t,n){return t.every((r,o)=>yD[n](e[o].parameters,r.parameters))}class Mo{constructor(t=new fe([],{}),n={},r=null){this.root=t,this.queryParams=n,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Eo(this.queryParams)),this._queryParamMap}toString(){return KO.serialize(this)}}class fe{constructor(t,n){this.segments=t,this.children=n,this.parent=null,Object.values(n).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return al(this)}}class zi{constructor(t,n){this.path=t,this.parameters=n}get parameterMap(){return this._parameterMap||(this._parameterMap=Eo(this.parameters)),this._parameterMap}toString(){return ED(this)}}function Sr(e,t){return e.length===t.length&&e.every((n,r)=>n.path===t[r].path)}let qi=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new mf},providedIn:"root"}),e})();class mf{parse(t){const n=new ck(t);return new Mo(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())}serialize(t){const n=`/${Wi(t.root,!0)}`,r=function nk(e){const t=Object.keys(e).map(n=>{const r=e[n];return Array.isArray(r)?r.map(o=>`${ll(n)}=${ll(o)}`).join("&"):`${ll(n)}=${ll(r)}`}).filter(n=>!!n);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${n}${r}${"string"==typeof t.fragment?`#${function ek(e){return encodeURI(e)}(t.fragment)}`:""}`}}const KO=new mf;function al(e){return e.segments.map(t=>ED(t)).join("/")}function Wi(e,t){if(!e.hasChildren())return al(e);if(t){const n=e.children[Q]?Wi(e.children[Q],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Q&&r.push(`${o}:${Wi(i,!1)}`)}),r.length>0?`${n}(${r.join("//")})`:n}{const n=function JO(e,t){let n=[];return Object.entries(e.children).forEach(([r,o])=>{r===Q&&(n=n.concat(t(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Q&&(n=n.concat(t(o,r)))}),n}(e,(r,o)=>o===Q?[Wi(e.children[Q],!1)]:[`${o}:${Wi(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Q]?`${al(e)}/${n[0]}`:`${al(e)}/(${n.join("//")})`}}function bD(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function ll(e){return bD(e).replace(/%3B/gi,";")}function yf(e){return bD(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function ul(e){return decodeURIComponent(e)}function wD(e){return ul(e.replace(/\+/g,"%20"))}function ED(e){return`${yf(e.path)}${function tk(e){return Object.keys(e).map(t=>`;${yf(t)}=${yf(e[t])}`).join("")}(e.parameters)}`}const rk=/^[^\/()?;#]+/;function vf(e){const t=e.match(rk);return t?t[0]:""}const ok=/^[^\/()?;=#]+/,sk=/^[^=?&#]+/,lk=/^[^&#]+/;class ck{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new fe([],{}):new fe([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(t.length>0||Object.keys(n).length>0)&&(r[Q]=new fe(t,n)),r}parseSegment(){const t=vf(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(t),new zi(ul(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const n=function ik(e){const t=e.match(ok);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let r="";if(this.consumeOptional("=")){const o=vf(this.remaining);o&&(r=o,this.capture(r))}t[ul(n)]=ul(r)}parseQueryParam(t){const n=function ak(e){const t=e.match(sk);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let r="";if(this.consumeOptional("=")){const s=function uk(e){const t=e.match(lk);return t?t[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=wD(n),i=wD(r);if(t.hasOwnProperty(o)){let s=t[o];Array.isArray(s)||(s=[s],t[o]=s),s.push(i)}else t[o]=i}parseParens(t){const n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=vf(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=Q);const s=this.parseChildren();n[i]=1===Object.keys(s).length?s[Q]:new fe([],s),this.consumeOptional("//")}return n}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new I(4011,!1)}}function MD(e){return e.segments.length>0?new fe([],{[Q]:e}):e}function SD(e){const t={};for(const r of Object.keys(e.children)){const i=SD(e.children[r]);if(r===Q&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))t[s]=a;else(i.segments.length>0||i.hasChildren())&&(t[r]=i)}return function dk(e){if(1===e.numberOfChildren&&e.children[Q]){const t=e.children[Q];return new fe(e.segments.concat(t.segments),t.children)}return e}(new fe(e.segments,t))}function Ir(e){return e instanceof Mo}function ID(e){let t;const o=MD(function n(i){const s={};for(const l of i.children){const u=n(l);s[l.outlet]=u}const a=new fe(i.url,s);return i===e&&(t=a),a}(e.root));return t??o}function TD(e,t,n,r){let o=e;for(;o.parent;)o=o.parent;if(0===t.length)return _f(o,o,o,n,r);const i=function hk(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new xD(!0,0,e);let t=0,n=!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,u])=>{a[l]="string"==typeof u?u.split("/"):u}),[...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?n=!0:".."===a?t++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new xD(n,t,r)}(t);if(i.toRoot())return _f(o,o,new fe([],{}),n,r);const s=function pk(e,t,n){if(e.isAbsolute)return new dl(t,!0,0);if(!n)return new dl(t,!1,NaN);if(null===n.parent)return new dl(n,!0,0);const r=cl(e.commands[0])?0:1;return function gk(e,t,n){let r=e,o=t,i=n;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new dl(r,!1,o-i)}(n,n.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?Xi(s.segmentGroup,s.index,i.commands):RD(s.segmentGroup,s.index,i.commands);return _f(o,s.segmentGroup,a,n,r)}function cl(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Zi(e){return"object"==typeof e&&null!=e&&e.outlets}function _f(e,t,n,r,o){let s,i={};r&&Object.entries(r).forEach(([l,u])=>{i[l]=Array.isArray(u)?u.map(c=>`${c}`):`${u}`}),s=e===t?n:AD(e,t,n);const a=MD(SD(s));return new Mo(a,i,o)}function AD(e,t,n){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===t?n:AD(i,t,n)}),new fe(e.segments,r)}class xD{constructor(t,n,r){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.commands=r,t&&r.length>0&&cl(r[0]))throw new I(4003,!1);const o=r.find(Zi);if(o&&o!==mD(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class dl{constructor(t,n,r){this.segmentGroup=t,this.processChildren=n,this.index=r}}function RD(e,t,n){if(e||(e=new fe([],{})),0===e.segments.length&&e.hasChildren())return Xi(e,t,n);const r=function yk(e,t,n){let r=0,o=t;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=n.length)return i;const s=e.segments[o],a=n[r];if(Zi(a))break;const l=`${a}`,u=r0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!PD(l,u,s))return i;r+=2}else{if(!PD(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,t,n),o=n.slice(r.commandIndex);if(r.match&&r.pathIndex{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=RD(e.children[i],t,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new fe(e.segments,o)}}function Cf(e,t,n){const r=e.segments.slice(0,t);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(t[n]=Cf(new fe([],{}),0,r))}),t}function ND(e){const t={};return Object.entries(e).forEach(([n,r])=>t[n]=`${r}`),t}function PD(e,t,n){return e==n.path&&vn(t,n.parameters)}const Yi="imperative";class _n{constructor(t,n){this.id=t,this.url=n}}class Df extends _n{constructor(t,n,r="imperative",o=null){super(t,n),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class nr extends _n{constructor(t,n,r){super(t,n),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class fl extends _n{constructor(t,n,r,o){super(t,n),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Qi extends _n{constructor(t,n,r,o){super(t,n),this.reason=r,this.code=o,this.type=16}}class bf extends _n{constructor(t,n,r,o){super(t,n),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class _k extends _n{constructor(t,n,r,o){super(t,n),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 Ck extends _n{constructor(t,n,r,o){super(t,n),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 Dk extends _n{constructor(t,n,r,o,i){super(t,n),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 bk extends _n{constructor(t,n,r,o){super(t,n),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 wk extends _n{constructor(t,n,r,o){super(t,n),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 Ek{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Mk{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Sk{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ik{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Tk{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ak{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class OD{constructor(t,n,r){this.routerEvent=t,this.position=n,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class xk{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new Ji,this.attachRef=null}}let Ji=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(n,r){const o=this.getOrCreateContext(n);o.outlet=r,this.contexts.set(n,o)}onChildOutletDestroyed(n){const r=this.getContext(n);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let r=this.getContext(n);return r||(r=new xk,this.contexts.set(n,r)),r}getContext(n){return this.contexts.get(n)||null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class kD{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const n=this.pathFromRoot(t);return n.length>1?n[n.length-2]:null}children(t){const n=wf(t,this._root);return n?n.children.map(r=>r.value):[]}firstChild(t){const n=wf(t,this._root);return n&&n.children.length>0?n.children[0].value:null}siblings(t){const n=Ef(t,this._root);return n.length<2?[]:n[n.length-2].children.map(o=>o.value).filter(o=>o!==t)}pathFromRoot(t){return Ef(t,this._root).map(n=>n.value)}}function wf(e,t){if(e===t.value)return t;for(const n of t.children){const r=wf(e,n);if(r)return r}return null}function Ef(e,t){if(e===t.value)return[t];for(const n of t.children){const r=Ef(e,n);if(r.length)return r.unshift(t),r}return[]}class Bn{constructor(t,n){this.value=t,this.children=n}toString(){return`TreeNode(${this.value})`}}function So(e){const t={};return e&&e.children.forEach(n=>t[n.value.outlet]=n),t}class FD extends kD{constructor(t,n){super(t),this.snapshot=n,Mf(this,t)}toString(){return this.snapshot.toString()}}function LD(e,t){const n=function Rk(e,t){const s=new hl([],{},{},"",{},Q,t,null,{});return new HD("",new Bn(s,[]))}(0,t),r=new Pt([new zi("",{})]),o=new Pt({}),i=new Pt({}),s=new Pt({}),a=new Pt(""),l=new Tr(r,o,s,a,i,Q,t,n.root);return l.snapshot=n.root,new FD(new Bn(l,[]),n)}class Tr{constructor(t,n,r,o,i,s,a,l){this.urlSubject=t,this.paramsSubject=n,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(re(u=>u[Gi]))??j(void 0),this.url=t,this.params=n,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(re(t=>Eo(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(re(t=>Eo(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function VD(e,t="emptyOnly"){const n=e.pathFromRoot;let r=0;if("always"!==t)for(r=n.length-1;r>=1;){const o=n[r],i=n[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function Nk(e){return e.reduce((t,n)=>({params:{...t.params,...n.params},data:{...t.data,...n.data},resolve:{...n.data,...t.resolve,...n.routeConfig?.data,...n._resolvedData}}),{params:{},data:{},resolve:{}})}(n.slice(r))}class hl{get title(){return this.data?.[Gi]}constructor(t,n,r,o,i,s,a,l,u){this.url=t,this.params=n,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=u}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=Eo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Eo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class HD extends kD{constructor(t,n){super(n),this.url=t,Mf(this,n)}toString(){return UD(this._root)}}function Mf(e,t){t.value._routerState=e,t.children.forEach(n=>Mf(e,n))}function UD(e){const t=e.children.length>0?` { ${e.children.map(UD).join(", ")} } `:"";return`${e.value}${t}`}function Sf(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,vn(t.queryParams,n.queryParams)||e.queryParamsSubject.next(n.queryParams),t.fragment!==n.fragment&&e.fragmentSubject.next(n.fragment),vn(t.params,n.params)||e.paramsSubject.next(n.params),function WO(e,t){if(e.length!==t.length)return!1;for(let n=0;nvn(n.parameters,t[r].parameters))}(e.url,t.url);return n&&!(!e.parent!=!t.parent)&&(!e.parent||If(e.parent,t.parent))}let Tf=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Q,this.activateEvents=new Ie,this.deactivateEvents=new Ie,this.attachEvents=new Ie,this.detachEvents=new Ie,this.parentContexts=R(Ji),this.location=R(Zt),this.changeDetector=R(Ha),this.environmentInjector=R(fn),this.inputBinder=R(pl,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(n){if(n.name){const{firstChange:r,previousValue:o}=n.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(n){return this.parentContexts.getContext(n)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const n=this.parentContexts.getContext(this.name);n?.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,r){this.activated=n,this._activatedRoute=r,this.location.insert(n.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=n;const o=this.location,s=n.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new Pk(n,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)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=G({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[kt]}),e})();class Pk{constructor(t,n,r){this.route=t,this.childContexts=n,this.parent=r}get(t,n){return t===Tr?this.route:t===Ji?this.childContexts:this.parent.get(t,n)}}const pl=new N("");let BD=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(n){this.unsubscribeFromRouteData(n),this.subscribeToRouteData(n)}unsubscribeFromRouteData(n){this.outletDataSubscriptions.get(n)?.unsubscribe(),this.outletDataSubscriptions.delete(n)}subscribeToRouteData(n){const{activatedRoute:r}=n,o=nf([r.queryParams,r.params,r.data]).pipe(Bt(([i,s,a],l)=>(a={...i,...s,...a},0===l?j(a):Promise.resolve(a)))).subscribe(i=>{if(!n.isActivated||!n.activatedComponentRef||n.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(n);const s=function sN(e){const t=ie(e);if(!t)return null;const n=new Di(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)n.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(n)});this.outletDataSubscriptions.set(n,o)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function Ki(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const r=n.value;r._futureSnapshot=t.value;const o=function kk(e,t,n){return t.children.map(r=>{for(const o of n.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return Ki(e,r,o);return Ki(e,r)})}(e,t,n);return new Bn(r,o)}{if(e.shouldAttach(t.value)){const i=e.retrieve(t.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>Ki(e,a)),s}}const r=function Fk(e){return new Tr(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)}(t.value),o=t.children.map(i=>Ki(e,i));return new Bn(r,o)}}const Af="ngNavigationCancelingError";function jD(e,t){const{redirectTo:n,navigationBehaviorOptions:r}=Ir(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,o=$D(!1,0,t);return o.url=n,o.navigationBehaviorOptions=r,o}function $D(e,t,n){const r=new Error("NavigationCancelingError: "+(e||""));return r[Af]=!0,r.cancellationCode=t,n&&(r.url=n),r}function GD(e){return zD(e)&&Ir(e.url)}function zD(e){return e&&e[Af]}let qD=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["ng-component"]],standalone:!0,features:[At],decls:1,vars:0,template:function(n,r){1&n&&y(0,"router-outlet")},dependencies:[Tf],encapsulation:2}),e})();function xf(e){const t=e.children&&e.children.map(xf),n=t?{...e,children:t}:{...e};return!n.component&&!n.loadComponent&&(t||n.loadChildren)&&n.outlet&&n.outlet!==Q&&(n.component=qD),n}function Kt(e){return e.outlet||Q}function es(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const n=t.routeConfig;if(n?._loadedInjector)return n._loadedInjector;if(n?._injector)return n._injector}return null}class $k{constructor(t,n,r,o,i){this.routeReuseStrategy=t,this.futureState=n,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(t){const n=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,r,t),Sf(this.futureState.root),this.activateChildRoutes(n,r,t)}deactivateChildRoutes(t,n,r){const o=So(n);t.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(t,n,r){const o=t.value,i=n?n.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(t,n,s.children)}else this.deactivateChildRoutes(t,n,r);else i&&this.deactivateRouteAndItsChildren(n,r)}deactivateRouteAndItsChildren(t,n){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,n):this.deactivateRouteAndOutlet(t,n)}detachAndStoreRouteSubtree(t,n){const r=n.getContext(t.value.outlet),o=r&&t.value.component?r.children:n,i=So(t);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(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,n){const r=n.getContext(t.value.outlet),o=r&&t.value.component?r.children:n,i=So(t);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(t,n,r){const o=So(n);t.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new Ak(i.value.snapshot))}),t.children.length&&this.forwardEvent(new Ik(t.value.snapshot))}activateRoutes(t,n,r){const o=t.value,i=n?n.value:null;if(Sf(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(t,n,s.children)}else this.activateChildRoutes(t,n,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),Sf(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=es(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,r)}}class WD{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class gl{constructor(t,n){this.component=t,this.route=n}}function Gk(e,t,n){const r=e._root;return ts(r,t?t._root:null,n,[r.value])}function Io(e,t){const n=Symbol(),r=t.get(e,n);return r===n?"function"!=typeof e||function qE(e){return null!==Cs(e)}(e)?t.get(e):e:r}function ts(e,t,n,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=So(t);return e.children.forEach(s=>{(function qk(e,t,n,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=t?t.value:null,a=n?n.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function Wk(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!Sr(e.url,t.url);case"pathParamsOrQueryParamsChange":return!Sr(e.url,t.url)||!vn(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!If(e,t)||!vn(e.queryParams,t.queryParams);default:return!If(e,t)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new WD(r)):(i.data=s.data,i._resolvedData=s._resolvedData),ts(e,t,i.component?a?a.children:null:n,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new gl(a.outlet.component,s))}else s&&ns(t,a,o),o.canActivateChecks.push(new WD(r)),ts(e,null,i.component?a?a.children:null:n,r,o)})(s,i[s.value.outlet],n,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>ns(a,n.getContext(s),o)),o}function ns(e,t,n){const r=So(e),o=e.value;Object.entries(r).forEach(([i,s])=>{ns(s,o.component?t?t.children.getContext(i):null:t,n)}),n.canDeactivateChecks.push(new gl(o.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,o))}function rs(e){return"function"==typeof e}function ZD(e){return e instanceof rl||"EmptyError"===e?.name}const ml=Symbol("INITIAL_VALUE");function To(){return Bt(e=>nf(e.map(t=>t.pipe(ur(1),function uO(...e){const t=Bo(e);return qe((n,r)=>{(t?rf(e,n,t):rf(e,n)).subscribe(r)})}(ml)))).pipe(re(t=>{for(const n of t)if(!0!==n){if(n===ml)return ml;if(!1===n||n instanceof Mo)return n}return!0}),Jt(t=>t!==ml),ur(1)))}function XD(e){return function Qw(...e){return ph(e)}(at(t=>{if(Ir(t))throw jD(0,t)}),re(t=>!0===t))}class yl{constructor(t){this.segmentGroup=t||null}}class YD{constructor(t){this.urlTree=t}}function Ao(e){return Bi(new yl(e))}function QD(e){return Bi(new YD(e))}class hF{constructor(t,n){this.urlSerializer=t,this.urlTree=n}noMatchError(t){return new I(4002,!1)}lineralizeSegments(t,n){let r=[],o=n.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return j(r);if(o.numberOfChildren>1||!o.children[Q])return Bi(new I(4e3,!1));o=o.children[Q]}}applyRedirectCommands(t,n,r){return this.applyRedirectCreateUrlTree(n,this.urlSerializer.parse(n),t,r)}applyRedirectCreateUrlTree(t,n,r,o){const i=this.createSegmentGroup(t,n.root,r,o);return new Mo(i,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)}createQueryParams(t,n){const r={};return Object.entries(t).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=n[a]}else r[o]=i}),r}createSegmentGroup(t,n,r,o){const i=this.createSegments(t,n.segments,r,o);let s={};return Object.entries(n.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(t,l,r,o)}),new fe(i,s)}createSegments(t,n,r,o){return n.map(i=>i.path.startsWith(":")?this.findPosParam(t,i,o):this.findOrReturn(i,r))}findPosParam(t,n,r){const o=r[n.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(t,n){let r=0;for(const o of n){if(o.path===t.path)return n.splice(r),o;r++}return t}}const Rf={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function pF(e,t,n,r,o){const i=Nf(e,t,n);return i.matched?(r=function Lk(e,t){return e.providers&&!e._injector&&(e._injector=rd(e.providers,t,`Route: ${e.path}`)),e._injector??t}(t,r),function cF(e,t,n,r){const o=t.canMatch;return o&&0!==o.length?j(o.map(s=>{const a=Io(s,e);return tr(function Kk(e){return e&&rs(e.canMatch)}(a)?a.canMatch(t,n):e.runInContext(()=>a(t,n)))})).pipe(To(),XD()):j(!0)}(r,t,n).pipe(re(s=>!0===s?i:{...Rf}))):j(i)}function Nf(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{...Rf}:{matched:!0,consumedSegments:[],remainingSegments:n,parameters:{},positionalParamSegments:{}};const o=(t.matcher||qO)(n,e,t);if(!o)return{...Rf};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:n.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function JD(e,t,n,r){return n.length>0&&function yF(e,t,n){return n.some(r=>vl(e,t,r)&&Kt(r)!==Q)}(e,n,r)?{segmentGroup:new fe(t,mF(r,new fe(n,e.children))),slicedSegments:[]}:0===n.length&&function vF(e,t,n){return n.some(r=>vl(e,t,r))}(e,n,r)?{segmentGroup:new fe(e.segments,gF(e,0,n,r,e.children)),slicedSegments:n}:{segmentGroup:new fe(e.segments,e.children),slicedSegments:n}}function gF(e,t,n,r,o){const i={};for(const s of r)if(vl(e,n,s)&&!o[Kt(s)]){const a=new fe([],{});i[Kt(s)]=a}return{...o,...i}}function mF(e,t){const n={};n[Q]=t;for(const r of e)if(""===r.path&&Kt(r)!==Q){const o=new fe([],{});n[Kt(r)]=o}return n}function vl(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}class bF{constructor(t,n,r,o,i,s,a){this.injector=t,this.configLoader=n,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new hF(this.urlSerializer,this.urlTree)}noMatchError(t){return new I(4002,!1)}recognize(){const t=JD(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,Q).pipe(Mr(n=>{if(n instanceof YD)return this.allowRedirects=!1,this.urlTree=n.urlTree,this.match(n.urlTree);throw n instanceof yl?this.noMatchError(n):n}),re(n=>{const r=new hl([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Q,this.rootComponentType,null,{}),o=new Bn(r,n),i=new HD("",o),s=function fk(e,t,n=null,r=null){return TD(ID(e),t,n,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(t){return this.processSegmentGroup(this.injector,this.config,t.root,Q).pipe(Mr(r=>{throw r instanceof yl?this.noMatchError(r):r}))}inheritParamsAndData(t){const n=t.value,r=VD(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(t,n,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(t,n,r):this.processSegment(t,n,r,r.segments,o,!0)}processChildren(t,n,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(wo(i=>{const s=r.children[i],a=function Bk(e,t){const n=e.filter(r=>Kt(r)===t);return n.push(...e.filter(r=>Kt(r)!==t)),n}(n,i);return this.processSegmentGroup(t,a,s,i)}),function fO(e,t){return qe(function dO(e,t,n,r,o){return(i,s)=>{let a=n,l=t,u=0;i.subscribe(He(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,t,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),ol(null),function hO(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Jt((o,i)=>e(o,i,r)):$n,af(1),n?ol(t):JC(()=>new rl))}(),We(i=>{if(null===i)return Ao(r);const s=KD(i);return function wF(e){e.sort((t,n)=>t.value.outlet===Q?-1:n.value.outlet===Q?1:t.value.outlet.localeCompare(n.value.outlet))}(s),j(s)}))}processSegment(t,n,r,o,i,s){return Ne(n).pipe(wo(a=>this.processSegmentAgainstRoute(a._injector??t,n,a,r,o,i,s).pipe(Mr(l=>{if(l instanceof yl)return j(null);throw l}))),Er(a=>!!a),Mr(a=>{if(ZD(a))return function CF(e,t,n){return 0===t.length&&!e.children[n]}(r,o,i)?j([]):Ao(r);throw a}))}processSegmentAgainstRoute(t,n,r,o,i,s,a){return function _F(e,t,n,r){return!!(Kt(e)===r||r!==Q&&vl(t,n,e))&&("**"===e.path||Nf(t,e,n).matched)}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,o,r,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,o,n,r,i,s):Ao(o):Ao(o)}expandSegmentAgainstRouteUsingRedirect(t,n,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,n,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o){const i=this.applyRedirects.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?QD(i):this.applyRedirects.lineralizeSegments(r,i).pipe(We(s=>{const a=new fe(s,{});return this.processSegment(t,n,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,n,r,o,i,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=Nf(n,o,i);if(!a)return Ao(n);const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,c);return o.redirectTo.startsWith("/")?QD(d):this.applyRedirects.lineralizeSegments(o,d).pipe(We(g=>this.processSegment(t,r,n,g.concat(u),s,!1)))}matchSegmentAgainstRoute(t,n,r,o,i,s){let a;if("**"===r.path){const l=o.length>0?mD(o).parameters:{};a=j({snapshot:new hl(o,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,eb(r),Kt(r),r.component??r._loadedComponent??null,r,tb(r)),consumedSegments:[],remainingSegments:[]}),n.children={}}else a=pF(n,r,o,t).pipe(re(({matched:l,consumedSegments:u,remainingSegments:c,parameters:d})=>l?{snapshot:new hl(u,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,eb(r),Kt(r),r.component??r._loadedComponent??null,r,tb(r)),consumedSegments:u,remainingSegments:c}:null));return a.pipe(Bt(l=>null===l?Ao(n):this.getChildConfig(t=r._injector??t,r,o).pipe(Bt(({routes:u})=>{const c=r._loadedInjector??t,{snapshot:d,consumedSegments:g,remainingSegments:m}=l,{segmentGroup:v,slicedSegments:_}=JD(n,g,m,u);if(0===_.length&&v.hasChildren())return this.processChildren(c,u,v).pipe(re(S=>null===S?null:[new Bn(d,S)]));if(0===u.length&&0===_.length)return j([new Bn(d,[])]);const b=Kt(r)===i;return this.processSegment(c,u,v,_,b?Q:i,!0).pipe(re(S=>[new Bn(d,S)]))}))))}getChildConfig(t,n,r){return n.children?j({routes:n.children,injector:t}):n.loadChildren?void 0!==n._loadedRoutes?j({routes:n._loadedRoutes,injector:n._loadedInjector}):function uF(e,t,n,r){const o=t.canLoad;return void 0===o||0===o.length?j(!0):j(o.map(s=>{const a=Io(s,e);return tr(function Xk(e){return e&&rs(e.canLoad)}(a)?a.canLoad(t,n):e.runInContext(()=>a(t,n)))})).pipe(To(),XD())}(t,n,r).pipe(We(o=>o?this.configLoader.loadChildren(t,n).pipe(at(i=>{n._loadedRoutes=i.routes,n._loadedInjector=i.injector})):function fF(e){return Bi($D(!1,3))}())):j({routes:[],injector:t})}}function EF(e){const t=e.value.routeConfig;return t&&""===t.path}function KD(e){const t=[],n=new Set;for(const r of e){if(!EF(r)){t.push(r);continue}const o=t.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),n.add(o)):t.push(r)}for(const r of n){const o=KD(r.children);t.push(new Bn(r.value,o))}return t.filter(r=>!n.has(r))}function eb(e){return e.data||{}}function tb(e){return e.resolve||{}}function nb(e){return"string"==typeof e.title||null===e.title}function Pf(e){return Bt(t=>{const n=e(t);return n?Ne(n).pipe(re(()=>t)):j(t)})}const xo=new N("ROUTES");let Of=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=R(L_)}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return j(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const r=tr(n.loadComponent()).pipe(re(rb),at(i=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=i}),ji(()=>{this.componentLoaders.delete(n)})),o=new QC(r,()=>new wn).pipe(sf());return this.componentLoaders.set(n,o),o}loadChildren(n,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return j({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=this.loadModuleFactoryOrRoutes(r.loadChildren).pipe(re(a=>{this.onLoadEndListener&&this.onLoadEndListener(r);let l,u;return Array.isArray(a)?u=a:(l=a.create(n).injector,u=l.get(xo,[],V.Self|V.Optional).flat()),{routes:u.map(xf),injector:l}}),ji(()=>{this.childrenLoaders.delete(r)})),s=new QC(i,()=>new wn).pipe(sf());return this.childrenLoaders.set(r,s),s}loadModuleFactoryOrRoutes(n){return tr(n()).pipe(re(rb),We(r=>r instanceof Gv||Array.isArray(r)?j(r):Ne(this.compiler.compileModuleAsync(r))))}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function rb(e){return function RF(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let _l=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new wn,this.configLoader=R(Of),this.environmentInjector=R(fn),this.urlSerializer=R(qi),this.rootContexts=R(Ji),this.inputBindingEnabled=null!==R(pl,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>j(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new Mk(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new Ek(o))}complete(){this.transitions?.complete()}handleNavigationRequest(n){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...n,id:r})}setupNavigations(n){return this.transitions=new Pt({id:0,currentUrlTree:n.currentUrlTree,currentRawUrl:n.currentUrlTree,extractedUrl:n.urlHandlingStrategy.extract(n.currentUrlTree),urlAfterRedirects:n.urlHandlingStrategy.extract(n.currentUrlTree),rawUrl:n.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Yi,restoredState:null,currentSnapshot:n.routerState.snapshot,targetSnapshot:null,currentRouterState:n.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Jt(r=>0!==r.id),re(r=>({...r,extractedUrl:n.urlHandlingStrategy.extract(r.rawUrl)})),Bt(r=>{let o=!1,i=!1;return j(r).pipe(at(s=>{this.currentNavigation={id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,trigger:s.source,extras:s.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Bt(s=>{const a=n.browserUrlTree.toString(),l=!n.navigated||s.extractedUrl.toString()!==a||a!==n.currentUrlTree.toString();if(!l&&"reload"!==(s.extras.onSameUrlNavigation??n.onSameUrlNavigation)){const c="";return this.events.next(new Qi(s.id,n.serializeUrl(r.rawUrl),c,0)),n.rawUrlTree=s.rawUrl,s.resolve(null),tn}if(n.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return ob(s.source)&&(n.browserUrlTree=s.extractedUrl),j(s).pipe(Bt(c=>{const d=this.transitions?.getValue();return this.events.next(new Df(c.id,this.urlSerializer.serialize(c.extractedUrl),c.source,c.restoredState)),d!==this.transitions?.getValue()?tn:Promise.resolve(c)}),function MF(e,t,n,r,o,i){return We(s=>function DF(e,t,n,r,o,i,s="emptyOnly"){return new bF(e,t,n,r,o,s,i).recognize()}(e,t,n,r,s.extractedUrl,o,i).pipe(re(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,n.config,this.urlSerializer,n.paramsInheritanceStrategy),at(c=>{if(r.targetSnapshot=c.targetSnapshot,r.urlAfterRedirects=c.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:c.urlAfterRedirects},"eager"===n.urlUpdateStrategy){if(!c.extras.skipLocationChange){const g=n.urlHandlingStrategy.merge(c.urlAfterRedirects,c.rawUrl);n.setBrowserUrl(g,c)}n.browserUrlTree=c.urlAfterRedirects}const d=new _k(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(d)}));if(l&&n.urlHandlingStrategy.shouldProcessUrl(n.rawUrlTree)){const{id:c,extractedUrl:d,source:g,restoredState:m,extras:v}=s,_=new Df(c,this.urlSerializer.serialize(d),g,m);this.events.next(_);const b=LD(0,this.rootComponentType).snapshot;return j(r={...s,targetSnapshot:b,urlAfterRedirects:d,extras:{...v,skipLocationChange:!1,replaceUrl:!1}})}{const c="";return this.events.next(new Qi(s.id,n.serializeUrl(r.extractedUrl),c,1)),n.rawUrlTree=s.rawUrl,s.resolve(null),tn}}),at(s=>{const a=new Ck(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),re(s=>r={...s,guards:Gk(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),function tF(e,t){return We(n=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=n;return 0===s.length&&0===i.length?j({...n,guardsResult:!0}):function nF(e,t,n,r){return Ne(e).pipe(We(o=>function lF(e,t,n,r,o){const i=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return i&&0!==i.length?j(i.map(a=>{const l=es(t)??o,u=Io(a,l);return tr(function Jk(e){return e&&rs(e.canDeactivate)}(u)?u.canDeactivate(e,t,n,r):l.runInContext(()=>u(e,t,n,r))).pipe(Er())})).pipe(To()):j(!0)}(o.component,o.route,n,t,r)),Er(o=>!0!==o,!0))}(s,r,o,e).pipe(We(a=>a&&function Zk(e){return"boolean"==typeof e}(a)?function rF(e,t,n,r){return Ne(t).pipe(wo(o=>rf(function iF(e,t){return null!==e&&t&&t(new Sk(e)),j(!0)}(o.route.parent,r),function oF(e,t){return null!==e&&t&&t(new Tk(e)),j(!0)}(o.route,r),function aF(e,t,n){const r=t[t.length-1],i=t.slice(0,t.length-1).reverse().map(s=>function zk(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>YC(()=>j(s.guards.map(l=>{const u=es(s.node)??n,c=Io(l,u);return tr(function Qk(e){return e&&rs(e.canActivateChild)}(c)?c.canActivateChild(r,e):u.runInContext(()=>c(r,e))).pipe(Er())})).pipe(To())));return j(i).pipe(To())}(e,o.path,n),function sF(e,t,n){const r=t.routeConfig?t.routeConfig.canActivate:null;if(!r||0===r.length)return j(!0);const o=r.map(i=>YC(()=>{const s=es(t)??n,a=Io(i,s);return tr(function Yk(e){return e&&rs(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(Er())}));return j(o).pipe(To())}(e,o.route,n))),Er(o=>!0!==o,!0))}(r,i,e,t):j(a)),re(a=>({...n,guardsResult:a})))})}(this.environmentInjector,s=>this.events.next(s)),at(s=>{if(r.guardsResult=s.guardsResult,Ir(s.guardsResult))throw jD(0,s.guardsResult);const a=new Dk(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),Jt(s=>!!s.guardsResult||(n.restoreHistory(s),this.cancelNavigationTransition(s,"",3),!1)),Pf(s=>{if(s.guards.canActivateChecks.length)return j(s).pipe(at(a=>{const l=new bk(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),Bt(a=>{let l=!1;return j(a).pipe(function SF(e,t){return We(n=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=n;if(!o.length)return j(n);let i=0;return Ne(o).pipe(wo(s=>function IF(e,t,n,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!nb(o)&&(i[Gi]=o.title),function TF(e,t,n,r){const o=function AF(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return j({});const i={};return Ne(o).pipe(We(s=>function xF(e,t,n,r){const o=es(t)??r,i=Io(e,o);return tr(i.resolve?i.resolve(t,n):o.runInContext(()=>i(t,n)))}(e[s],t,n,r).pipe(Er(),at(a=>{i[s]=a}))),af(1),function pO(e){return re(()=>e)}(i),Mr(s=>ZD(s)?tn:Bi(s)))}(i,e,t,r).pipe(re(s=>(e._resolvedData=s,e.data=VD(e,n).resolve,o&&nb(o)&&(e.data[Gi]=o.title),null)))}(s.route,r,e,t)),at(()=>i++),af(1),We(s=>i===o.length?j(n):tn))})}(n.paramsInheritanceStrategy,this.environmentInjector),at({next:()=>l=!0,complete:()=>{l||(n.restoreHistory(a),this.cancelNavigationTransition(a,"",2))}}))}),at(a=>{const l=new wk(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),Pf(s=>{const a=l=>{const u=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&u.push(this.configLoader.loadComponent(l.routeConfig).pipe(at(c=>{l.component=c}),re(()=>{})));for(const c of l.children)u.push(...a(c));return u};return nf(a(s.targetSnapshot.root)).pipe(ol(),ur(1))}),Pf(()=>this.afterPreactivation()),re(s=>{const a=function Ok(e,t,n){const r=Ki(e,t._root,n?n._root:void 0);return new FD(r,t)}(n.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return r={...s,targetRouterState:a}}),at(s=>{n.currentUrlTree=s.urlAfterRedirects,n.rawUrlTree=n.urlHandlingStrategy.merge(s.urlAfterRedirects,s.rawUrl),n.routerState=s.targetRouterState,"deferred"===n.urlUpdateStrategy&&(s.extras.skipLocationChange||n.setBrowserUrl(n.rawUrlTree,s),n.browserUrlTree=s.urlAfterRedirects)}),((e,t,n,r)=>re(o=>(new $k(t,o.targetRouterState,o.currentRouterState,n,r).activate(e),o)))(this.rootContexts,n.routeReuseStrategy,s=>this.events.next(s),this.inputBindingEnabled),ur(1),at({next:s=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,n.navigated=!0,this.events.next(new nr(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(n.currentUrlTree))),n.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{o=!0}}),ji(()=>{o||i||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Mr(s=>{if(i=!0,zD(s)){GD(s)||(n.navigated=!0,n.restoreHistory(r,!0));const a=new fl(r.id,this.urlSerializer.serialize(r.extractedUrl),s.message,s.cancellationCode);if(this.events.next(a),GD(s)){const l=n.urlHandlingStrategy.merge(s.url,n.rawUrlTree),u={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===n.urlUpdateStrategy||ob(r.source)};n.scheduleNavigation(l,Yi,null,u,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{n.restoreHistory(r,!0);const a=new bf(r.id,this.urlSerializer.serialize(r.extractedUrl),s,r.targetSnapshot??void 0);this.events.next(a);try{r.resolve(n.errorHandler(s))}catch(l){r.reject(l)}}return tn}))}))}cancelNavigationTransition(n,r,o){const i=new fl(n.id,this.urlSerializer.serialize(n.extractedUrl),r,o);this.events.next(i),n.resolve(!1)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function ob(e){return e!==Yi}let ib=(()=>{class e{buildTitle(n){let r,o=n.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Q);return r}getResolvedTitleForRoute(n){return n.data[Gi]}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(NF)},providedIn:"root"}),e})(),NF=(()=>{class e extends ib{constructor(n){super(),this.title=n}updateTitle(n){const r=this.buildTitle(n);void 0!==r&&this.title.setTitle(r)}}return e.\u0275fac=function(n){return new(n||e)(F(dD))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),PF=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(kF)},providedIn:"root"}),e})();class OF{shouldDetach(t){return!1}store(t,n){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,n){return t.routeConfig===n.routeConfig}}let kF=(()=>{class e extends OF{}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const Cl=new N("",{providedIn:"root",factory:()=>({})});let FF=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return R(LF)},providedIn:"root"}),e})(),LF=(()=>{class e{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,r){return n}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();var xt=(()=>((xt=xt||{})[xt.COMPLETE=0]="COMPLETE",xt[xt.FAILED=1]="FAILED",xt[xt.REDIRECTING=2]="REDIRECTING",xt))();function sb(e,t){e.events.pipe(Jt(n=>n instanceof nr||n instanceof fl||n instanceof bf||n instanceof Qi),re(n=>n instanceof nr||n instanceof Qi?xt.COMPLETE:n instanceof fl&&(0===n.code||1===n.code)?xt.REDIRECTING:xt.FAILED),Jt(n=>n!==xt.REDIRECTING),ur(1)).subscribe(()=>{t()})}function VF(e){throw e}function HF(e,t,n){return t.parse("/")}const UF={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},BF={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Rt=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){if("computed"===this.canceledNavigationResolution)return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=R(F_),this.isNgZoneEnabled=!1,this.options=R(Cl,{optional:!0})||{},this.pendingTasks=R(Fa),this.errorHandler=this.options.errorHandler||VF,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||HF,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=R(FF),this.routeReuseStrategy=R(PF),this.titleStrategy=R(ib),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=R(xo,{optional:!0})?.flat()??[],this.navigationTransitions=R(_l),this.urlSerializer=R(qi),this.location=R(Vd),this.componentInputBindingEnabled=!!R(pl,{optional:!0}),this.isNgZoneEnabled=R(Ee)instanceof Ee&&Ee.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Mo,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=LD(0,null),this.navigationTransitions.setupNavigations(this).subscribe(n=>{this.lastSuccessfulId=n.id,this.currentPageId=this.browserPageId??0},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)})}resetRootComponentType(n){this.routerState.root.component=n,this.navigationTransitions.rootComponentType=n}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const n=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),Yi,n)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const r="popstate"===n.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(n.url,r,n.state)},0)}))}navigateToSyncWithBrowser(n,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(n);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(n){this.config=n.map(xf),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(n,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,u=l?this.currentUrlTree.fragment:s;let d,c=null;switch(a){case"merge":c={...this.currentUrlTree.queryParams,...i};break;case"preserve":c=this.currentUrlTree.queryParams;break;default:c=i||null}null!==c&&(c=this.removeEmptyProps(c));try{d=ID(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof n[0]||!n[0].startsWith("/"))&&(n=[]),d=this.currentUrlTree.root}return TD(d,n,c,u??null)}navigateByUrl(n,r={skipLocationChange:!1}){const o=Ir(n)?n:this.parseUrl(n),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,Yi,null,r)}navigate(n,r={skipLocationChange:!1}){return function jF(e){for(let t=0;t{const i=n[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(n,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,u;s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((d,g)=>{a=d,l=g});const c=this.pendingTasks.add();return sb(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(c))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:n,extras:i,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(d=>Promise.reject(d))}setBrowserUrl(n,r){const o=this.urlSerializer.serialize(n);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??0)+1)};this.location.go(o,"",i)}}restoreHistory(n,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-(this.browserPageId??this.currentPageId);0!==i?this.location.historyGo(i):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===i&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(n,r){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:r}:{navigationId:n}}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),Cn=(()=>{class e{constructor(n,r,o,i,s,a){this.router=n,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new wn,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=n.events.subscribe(u=>{u instanceof nr&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(n){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",n)}ngOnChanges(n){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(n){null!=n?(this.commands=Array.isArray(n)?n:[n],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(n,r,o,i,s){return!!(null===this.urlTree||this.isAnchorElement&&(0!==n||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 n=null===this.href?null:function Xg(e,t,n){return function XM(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?Zg:eo}(t,n)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(n,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,n,r):o.removeAttribute(i,n)}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})}}return e.\u0275fac=function(n){return new(n||e)(M(Rt),M(Tr),function $s(e){return function v0(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const r=n.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(n,r,o,i,s){this.router=n,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ie,this.routerEventsSubscription=n.events.subscribe(a=>{a instanceof nr&&this.update()})}ngAfterContentInit(){j(this.links.changes,j(null)).pipe(Nr()).subscribe(n=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const n=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Ne(n).pipe(Nr()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(n){const r=Array.isArray(n)?n:n.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(n){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const n=this.hasActiveLinks();this._isActive!==n&&(this._isActive=n,this.cdr.markForCheck(),this.classes.forEach(r=>{n?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),n&&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(n))})}isLinkActive(n){const r=function $F(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>!!o.urlTree&&n.isActive(o.urlTree,r)}hasActiveLinks(){const n=this.isLinkActive(this.router);return this.link&&n(this.link)||this.links.some(n)}}return e.\u0275fac=function(n){return new(n||e)(M(Rt),M(It),M(Nn),M(Ha),M(Cn,8))},e.\u0275dir=G({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(n,r,o){if(1&n&&g_(o,Cn,5),2&n){let i;p_(i=function m_(){return function qx(e,t){return e[sn].queries[t].queryList}(E(),Rp())}())&&(r.links=i)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[kt]}),e})();class lb{}let GF=(()=>{class e{constructor(n,r,o,i,s){this.router=n,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Jt(n=>n instanceof nr),wo(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=rd(i.providers,n,`Route: ${i.path}`));const s=i._injector??n,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 Ne(o).pipe(Nr())}preloadConfig(n,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(n,r):j(null);const i=o.pipe(We(s=>null===s?j(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??n,s.routes))));return r.loadComponent&&!r._loadedComponent?Ne([i,this.loader.loadComponent(r)]).pipe(Nr()):i})}}return e.\u0275fac=function(n){return new(n||e)(F(Rt),F(L_),F(fn),F(lb),F(Of))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const kf=new N("");let ub=(()=>{class e{constructor(n,r,o,i,s={}){this.urlSerializer=n,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(n=>{n instanceof Df?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof nr?(this.lastId=n.id,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.urlAfterRedirects).fragment)):n instanceof Qi&&0===n.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof OD&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new OD(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return e.\u0275fac=function(n){!function Nm(){throw new Error("invalid")}()},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function jn(e,t){return{\u0275kind:e,\u0275providers:t}}function db(){const e=R(hn);return t=>{const n=e.get(Do);if(t!==n.components[0])return;const r=e.get(Rt),o=e.get(fb);1===e.get(Ff)&&r.initialNavigation(),e.get(hb,null,V.Optional)?.setUpPreloading(),e.get(kf,null,V.Optional)?.init(),r.resetRootComponentType(n.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const fb=new N("",{factory:()=>new wn}),Ff=new N("",{providedIn:"root",factory:()=>1}),hb=new N("");function ZF(e){return jn(0,[{provide:hb,useExisting:GF},{provide:lb,useExisting:e}])}const pb=new N("ROUTER_FORROOT_GUARD"),YF=[Vd,{provide:qi,useClass:mf},Rt,Ji,{provide:Tr,useFactory:function cb(e){return e.routerState.root},deps:[Rt]},Of,[]];function QF(){return new Z_("Router",Rt)}let gb=(()=>{class e{constructor(n){}static forRoot(n,r){return{ngModule:e,providers:[YF,[],{provide:xo,multi:!0,useValue:n},{provide:pb,useFactory:tL,deps:[[Rt,new qs,new Ws]]},{provide:Cl,useValue:r||{}},r?.useHash?{provide:wr,useClass:dN}:{provide:wr,useClass:DC},{provide:kf,useFactory:()=>{const e=R(TP),t=R(Ee),n=R(Cl),r=R(_l),o=R(qi);return n.scrollOffset&&e.setOffset(n.scrollOffset),new ub(o,r,e,t,n)}},r?.preloadingStrategy?ZF(r.preloadingStrategy).\u0275providers:[],{provide:Z_,multi:!0,useFactory:QF},r?.initialNavigation?nL(r):[],r?.bindToComponentInputs?jn(8,[BD,{provide:pl,useExisting:BD}]).\u0275providers:[],[{provide:mb,useFactory:db},{provide:Id,multi:!0,useExisting:mb}]]}}static forChild(n){return{ngModule:e,providers:[{provide:xo,multi:!0,useValue:n}]}}}return e.\u0275fac=function(n){return new(n||e)(F(pb,8))},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})();function tL(e){return"guarded"}function nL(e){return["disabled"===e.initialNavigation?jn(3,[{provide:_d,multi:!0,useFactory:()=>{const t=R(Rt);return()=>{t.setUpLocationChangeListener()}}},{provide:Ff,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?jn(2,[{provide:Ff,useValue:0},{provide:_d,multi:!0,deps:[hn],useFactory:t=>{const n=t.get(uN,Promise.resolve());return()=>n.then(()=>new Promise(r=>{const o=t.get(Rt),i=t.get(fb);sb(o,()=>{r(!0)}),t.get(_l).afterPreactivation=()=>(r(!0),i.closed?j(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const mb=new N(""),oL=function(){return["/pro"]};let iL=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-footer"]],standalone:!0,features:[At],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",2,"max-height","300px"],[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(n,r){1&n&&(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&n&&(C(19),Fn(" Fast forward ",r.years," years, I'm still maintaining "),C(11),w("routerLink",ne(2,oL)))},dependencies:[Cn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}"]}),e})();const yb=function(){return["/"]},sL=function(e){return{show:e}},Ro=function(){return["link-active"]},vb=function(){return{exact:!0}},aL=function(){return["/features"]},lL=function(){return["/getstarted"]},uL=function(){return["/usage"]},cL=function(){return["/contact"]},dL=function(){return["/pro"]};let fL=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[At],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(n,r){1&n&&(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),P("click",function(){return r.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&n&&(C(3),w("routerLink",ne(17,yb)),C(4),zt("aria-expanded",r.isExpanded),C(2),w("ngClass",Pi(18,sL,r.isExpanded)),C(2),w("routerLinkActive",ne(20,Ro))("routerLinkActiveOptions",ne(21,vb)),C(1),w("routerLink",ne(22,yb)),C(2),w("routerLinkActive",ne(23,Ro))("routerLinkActiveOptions",ne(24,vb)),C(1),w("routerLink",ne(25,aL)),C(2),w("routerLinkActive",ne(26,Ro)),C(1),w("routerLink",ne(27,lL)),C(2),w("routerLinkActive",ne(28,Ro)),C(1),w("routerLink",ne(29,uL)),C(2),w("routerLinkActive",ne(30,Ro)),C(1),w("routerLink",ne(31,cL)),C(2),w("routerLinkActive",ne(32,Ro)),C(1),w("routerLink",ne(33,dL)))},dependencies:[Cn,Ka,ab],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}"]}),e})(),hL=(()=>{class e{constructor(n,r,o){this.dom=n,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(Jt(n=>n instanceof nr),re(()=>this.activatedRoute),re(n=>{for(;n.firstChild;)n=n.firstChild;return n}),Jt(n=>"primary"===n.outlet),We(n=>n.data)).subscribe(n=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(n.canonical?r+n.canonical:r+this.router.url)})}updateCanonicalUrl(n){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",n)}}return e.\u0275fac=function(n){return new(n||e)(M(vt),M(Rt),M(Tr))},e.\u0275cmp=bt({type:e,selectors:[["app-root"]],standalone:!0,features:[At],decls:3,vars:0,template:function(n,r){1&n&&y(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[fL,Tf,iL],encapsulation:2}),e})(),_b=(()=>{class e{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return e.\u0275fac=function(n){return new(n||e)(M(Nn),M(It))},e.\u0275dir=G({type:e}),e})(),Ar=(()=>{class e extends _b{}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,features:[de]}),e})();const Dn=new N("NgValueAccessor"),mL={provide:Dn,useExisting:pe(()=>No),multi:!0},vL=new N("CompositionEventMode");let No=(()=>{class e extends _b{constructor(n,r,o){super(n,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function yL(){const e=Kn()?Kn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return e.\u0275fac=function(n){return new(n||e)(M(Nn),M(It),M(vL,8))},e.\u0275dir=G({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(n,r){1&n&&P("input",function(i){return r._handleInput(i.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(i){return r._compositionEnd(i.target.value)})},features:[Ce([mL]),de]}),e})();function rr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const nt=new N("NgValidators"),or=new N("NgAsyncValidators"),_L=/^(?=.{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 Eb(e){return rr(e.value)?{required:!0}:null}function Sb(e){return rr(e.value)||_L.test(e.value)?null:{email:!0}}function Dl(e){return null}function xb(e){return null!=e}function Rb(e){return Si(e)?Ne(e):e}function Nb(e){let t={};return e.forEach(n=>{t=null!=n?{...t,...n}:t}),0===Object.keys(t).length?null:t}function Pb(e,t){return t.map(n=>n(e))}function Ob(e){return e.map(t=>function CL(e){return!e.validate}(t)?t:n=>t.validate(n))}function Lf(e){return null!=e?function kb(e){if(!e)return null;const t=e.filter(xb);return 0==t.length?null:function(n){return Nb(Pb(n,t))}}(Ob(e)):null}function Vf(e){return null!=e?function Fb(e){if(!e)return null;const t=e.filter(xb);return 0==t.length?null:function(n){return function pL(...e){const t=Nh(e),{args:n,keys:r}=qC(e),o=new Te(i=>{const{length:s}=n;if(!s)return void i.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=g},()=>l--,void 0,()=>{(!l||!d)&&(u||i.next(r?ZC(r,a):a),i.complete())}))}});return t?o.pipe(WC(t)):o}(Pb(n,t).map(Rb)).pipe(re(Nb))}}(Ob(e)):null}function Lb(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function Hf(e){return e?Array.isArray(e)?e:[e]:[]}function bl(e,t){return Array.isArray(e)?e.includes(t):e===t}function Ub(e,t){const n=Hf(t);return Hf(e).forEach(o=>{bl(n,o)||n.push(o)}),n}function Bb(e,t){return Hf(t).filter(n=>!bl(e,n))}class jb{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(t){this._rawValidators=t||[],this._composedValidatorFn=Lf(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Vf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,n){return!!this.control&&this.control.hasError(t,n)}getError(t,n){return this.control?this.control.getError(t,n):null}}class lt extends jb{get formDirective(){return null}get path(){return null}}class ir extends jb{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class $b{constructor(t){this._cd=t}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 wl=(()=>{class e extends $b{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(M(ir,2))},e.\u0275dir=G({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&Ta("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[de]}),e})(),El=(()=>{class e extends $b{constructor(n){super(n)}}return e.\u0275fac=function(n){return new(n||e)(M(lt,10))},e.\u0275dir=G({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&Ta("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[de]}),e})();const os="VALID",Sl="INVALID",Po="PENDING",is="DISABLED";function jf(e){return(Il(e)?e.validators:e)||null}function $f(e,t){return(Il(t)?t.asyncValidators:e)||null}function Il(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Wb{constructor(t,n){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(n)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===os}get invalid(){return this.status===Sl}get pending(){return this.status==Po}get disabled(){return this.status===is}get enabled(){return this.status!==is}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Ub(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Ub(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Bb(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Bb(t,this._rawAsyncValidators))}hasValidator(t){return bl(this._rawValidators,t)}hasAsyncValidator(t){return bl(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(n=>{n.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Po,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=is,this.errors=null,this._forEachChild(r=>{r.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(r=>r(!0))}enable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=os,this._forEachChild(r=>{r.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===os||this.status===Po)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?is:os}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Po,this._hasOwnPendingAsyncValidator=!0;const n=Rb(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(!1!==n.emitEvent)}get(t){let n=t;return null==n||(Array.isArray(n)||(n=n.split(".")),0===n.length)?null:n.reduce((r,o)=>r&&r._find(o),this)}getError(t,n){const r=n?this.get(n):this;return r&&r.errors?r.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ie,this.statusChanges=new Ie}_calculateStatus(){return this._allControlsDisabled()?is:this.errors?Sl:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Po)?Po:this._anyControlsHaveStatus(Sl)?Sl:os}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){Il(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function EL(e){return Array.isArray(e)?Lf(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function ML(e){return Array.isArray(e)?Vf(e):e||null}(this._rawAsyncValidators)}}class Gf extends Wb{constructor(t,n,r){super(jf(n),$f(r,n)),this.controls=t,this._initObservables(),this._setUpdateStrategy(n),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,n){return this.controls[t]?this.controls[t]:(this.controls[t]=n,n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange),n)}addControl(t,n,r={}){this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(t,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}setControl(t,n,r={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],n&&this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,n={}){(function qb(e,t,n){e._forEachChild((r,o)=>{if(void 0===n[o])throw new I(1002,"")})})(this,0,t),Object.keys(t).forEach(r=>{(function zb(e,t,n){const r=e.controls;if(!(t?Object.keys(r):r).length)throw new I(1e3,"");if(!r[n])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}patchValue(t,n={}){null!=t&&(Object.keys(t).forEach(r=>{const o=this.controls[r];o&&o.patchValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}reset(t={},n={}){this._forEachChild((r,o)=>{r.reset(t[o],{onlySelf:!0,emitEvent:n.emitEvent})}),this._updatePristine(n),this._updateTouched(n),this.updateValueAndValidity(n)}getRawValue(){return this._reduceChildren({},(t,n,r)=>(t[r]=n.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(n,r)=>!!r._syncPendingControls()||n);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(n=>{const r=this.controls[n];r&&t(r,n)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[n,r]of Object.entries(this.controls))if(this.contains(n)&&t(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(n,r,o)=>((r.enabled||this.disabled)&&(n[o]=r.value),n))}_reduceChildren(t,n){let r=t;return this._forEachChild((o,i)=>{r=n(r,o,i)}),r}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const Oo=new N("CallSetDisabledState",{providedIn:"root",factory:()=>Tl}),Tl="always";function ss(e,t,n=Tl){zf(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===n)&&t.valueAccessor.setDisabledState?.(e.disabled),function TL(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Zb(e,t)})}(e,t),function xL(e,t){const n=(r,o)=>{t.valueAccessor.writeValue(r),o&&t.viewToModelUpdate(r)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}(e,t),function AL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Zb(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function IL(e,t){if(t.valueAccessor.setDisabledState){const n=r=>{t.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}(e,t)}function Rl(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function zf(e,t){const n=function Vb(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(Lb(n,t.validator)):"function"==typeof n&&e.setValidators([n]);const r=function Hb(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(Lb(r,t.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Rl(t._rawValidators,o),Rl(t._rawAsyncValidators,o)}function Zb(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const kL={provide:lt,useExisting:pe(()=>ko)},as=(()=>Promise.resolve())();let ko=(()=>{class e extends lt{constructor(n,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ie,this.form=new Gf({},Lf(n),Vf(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(n){as.then(()=>{const r=this._findContainer(n.path);n.control=r.registerControl(n.name,n.control),ss(n.control,n,this.callSetDisabledState),n.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(n)})}getControl(n){return this.form.get(n.path)}removeControl(n){as.then(()=>{const r=this._findContainer(n.path);r&&r.removeControl(n.name),this._directives.delete(n)})}addFormGroup(n){as.then(()=>{const r=this._findContainer(n.path),o=new Gf({});(function Xb(e,t){zf(e,t)})(o,n),r.registerControl(n.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(n){as.then(()=>{const r=this._findContainer(n.path);r&&r.removeControl(n.name)})}getFormGroup(n){return this.form.get(n.path)}updateModel(n,r){as.then(()=>{this.form.get(n.path).setValue(r)})}setValue(n){this.control.setValue(n)}onSubmit(n){return this.submitted=!0,function Yb(e,t){e._syncPendingControls(),t.forEach(n=>{const r=n.control;"submit"===r.updateOn&&r._pendingChange&&(n.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(n){return n.pop(),n.length?this.form.get(n):this.form}}return e.\u0275fac=function(n){return new(n||e)(M(nt,10),M(or,10),M(Oo,8))},e.\u0275dir=G({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(n,r){1&n&&P("submit",function(i){return r.onSubmit(i)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ce([kL]),de]}),e})();function Qb(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function Jb(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const Kb=class extends Wb{constructor(t=null,n,r){super(jf(n),$f(r,n)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Il(n)&&(n.nonNullable||n.initialValueIsDefault)&&(this.defaultValue=Jb(t)?t.value:t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==n.emitViewToModelChange)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Qb(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Qb(this._onDisabledChange,t)}_forEachChild(t){}_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(t){Jb(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},VL={provide:ir,useExisting:pe(()=>ls)},nw=(()=>Promise.resolve())();let ls=(()=>{class e extends ir{constructor(n,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Kb,this._registered=!1,this.name="",this.update=new Ie,this._parent=n,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Zf(e,t){if(!t)return null;let n,r,o;return Array.isArray(t),t.forEach(i=>{i.constructor===No?n=i:function PL(e){return Object.getPrototypeOf(e.constructor)===Ar}(i)?r=i:o=i}),o||r||n||null}(0,i)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const r=n.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Wf(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}(n,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(n){this.viewModel=n,this.update.emit(n)}_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(){ss(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(n){nw.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const r=n.isDisabled.currentValue,o=0!==r&&bo(r);nw.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Al(e,t){return[...t.path,e]}(n,this._parent):[n]}}return e.\u0275fac=function(n){return new(n||e)(M(lt,9),M(nt,10),M(or,10),M(Dn,10),M(Ha,8),M(Oo,8))},e.\u0275dir=G({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:[Ce([VL]),de,kt]}),e})(),Pl=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=G({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e})();const UL={provide:Dn,useExisting:pe(()=>Xf),multi:!0};let ow=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({}),e})(),BL=(()=>{class e{constructor(){this._accessors=[]}add(n,r){this._accessors.push([n,r])}remove(n){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===n)return void this._accessors.splice(r,1)}select(n){this._accessors.forEach(r=>{this._isSameGroup(r,n)&&r[1]!==n&&r[1].fireUncheck(n.value)})}_isSameGroup(n,r){return!!n[0].control&&n[0]._parent===r._control._parent&&n[1].name===r.name}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:ow}),e})(),Xf=(()=>{class e extends Ar{constructor(n,r,o,i){super(n,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=R(Oo,{optional:!0})??Tl}ngOnInit(){this._control=this._injector.get(ir),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(n){this._state=n===this.value,this.setProperty("checked",this._state)}registerOnChange(n){this._fn=n,this.onChange=()=>{n(this.value),this._registry.select(this)}}setDisabledState(n){(this.setDisabledStateFired||n||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",n),this.setDisabledStateFired=!0}fireUncheck(n){this.writeValue(n)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return e.\u0275fac=function(n){return new(n||e)(M(Nn),M(It),M(BL),M(hn))},e.\u0275dir=G({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(n,r){1&n&&P("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Ce([UL]),de]}),e})();const ZL={provide:Dn,useExisting:pe(()=>Ol),multi:!0};function cw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Ol=(()=>{class e extends Ar{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const o=cw(this._getOptionId(n),n);this.setProperty("value",o)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function XL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&P("change",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ce([ZL]),de]}),e})(),dw=(()=>{class e{constructor(n,r,o){this._element=n,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(cw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(n){return new(n||e)(M(It),M(Nn),M(Ol,9))},e.\u0275dir=G({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();const YL={provide:Dn,useExisting:pe(()=>Kf),multi:!0};function fw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Kf=(()=>{class e extends Ar{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const o=n.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(n){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{class e{constructor(n,r,o){this._element=n,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(fw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(fw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return e.\u0275fac=function(n){return new(n||e)(M(It),M(Nn),M(Kf,9))},e.\u0275dir=G({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();let xr=(()=>{class e{constructor(){this._validator=Dl}ngOnChanges(n){if(this.inputName in n){const r=this.normalizeInput(n[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):Dl,this._onChange&&this._onChange()}}validate(n){return this._validator(n)}registerOnValidatorChange(n){this._onChange=n}enabled(n){return null!=n}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=G({type:e,features:[kt]}),e})();const e2={provide:nt,useExisting:pe(()=>Fo),multi:!0};let Fo=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=bo,this.createValidator=n=>Eb}enabled(n){return n}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(n,r){2&n&&zt("required",r._enabled?"":null)},inputs:{required:"required"},features:[Ce([e2]),de]}),e})();const n2={provide:nt,useExisting:pe(()=>kl),multi:!0};let kl=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=bo,this.createValidator=n=>Sb}enabled(n){return n}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[Ce([n2]),de]}),e})();const o2={provide:nt,useExisting:pe(()=>eh),multi:!0};let eh=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=n=>function pw(e){return"number"==typeof e?e:parseInt(e,10)}(n),this.createValidator=n=>function Tb(e){return t=>function Db(e){return null!=e&&"number"==typeof e.length}(t.value)&&t.value.length>e?{maxlength:{requiredLength:e,actualLength:t.value.length}}:null}(n)}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(n,r){2&n&&zt("maxlength",r._enabled?r.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Ce([o2]),de]}),e})();const i2={provide:nt,useExisting:pe(()=>th),multi:!0};let th=(()=>{class e extends xr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=n=>n,this.createValidator=n=>function Ab(e){if(!e)return Dl;let t,n;return"string"==typeof e?(n="","^"!==e.charAt(0)&&(n+="^"),n+=e,"$"!==e.charAt(e.length-1)&&(n+="$"),t=new RegExp(n)):(n=e.toString(),t=e),r=>{if(rr(r.value))return null;const o=r.value;return t.test(o)?null:{pattern:{requiredPattern:n,actualValue:o}}}}(n)}}return e.\u0275fac=function(){let t;return function(r){return(t||(t=Ye(e)))(r||e)}}(),e.\u0275dir=G({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(n,r){2&n&&zt("pattern",r._enabled?r.pattern:null)},inputs:{pattern:"pattern"},features:[Ce([i2]),de]}),e})(),s2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({imports:[ow]}),e})(),Fl=(()=>{class e{static withConfig(n){return{ngModule:e,providers:[{provide:Oo,useValue:n.callSetDisabledState??Tl}]}}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({imports:[s2]}),e})();class Ll{}class Vl{}class bn{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(n=>{const r=n.indexOf(":");if(r>0){const o=n.slice(0,r),i=o.toLowerCase(),s=n.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"&&t instanceof Headers?(this.headers=new Map,t.forEach((n,r)=>{this.setHeaderEntries(r,n)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([n,r])=>{this.setHeaderEntries(n,r)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const n=this.headers.get(t.toLowerCase());return n&&n.length>0?n[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,n){return this.clone({name:t,value:n,op:"a"})}set(t,n){return this.clone({name:t,value:n,op:"s"})}delete(t,n){return this.clone({name:t,value:n,op:"d"})}maybeSetNormalizedName(t,n){this.normalizedNames.has(n)||this.normalizedNames.set(n,t)}init(){this.lazyInit&&(this.lazyInit instanceof bn?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(n=>{this.headers.set(n,t.headers.get(n)),this.normalizedNames.set(n,t.normalizedNames.get(n))})}clone(t){const n=new bn;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof bn?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}applyUpdate(t){const n=t.name.toLowerCase();switch(t.op){case"a":case"s":let r=t.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(t.name,n);const o=("a"===t.op?this.headers.get(n):void 0)||[];o.push(...r),this.headers.set(n,o);break;case"d":const i=t.value;if(i){let s=this.headers.get(n);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(n),this.normalizedNames.delete(n)):this.headers.set(n,s)}else this.headers.delete(n),this.normalizedNames.delete(n)}}setHeaderEntries(t,n){const r=(Array.isArray(n)?n:[n]).map(i=>i.toString()),o=t.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(t,o)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(n=>t(this.normalizedNames.get(n),this.headers.get(n)))}}class l2{encodeKey(t){return Cw(t)}encodeValue(t){return Cw(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const c2=/%(\d[a-f0-9])/gi,d2={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Cw(e){return encodeURIComponent(e).replace(c2,(t,n)=>d2[n]??t)}function Hl(e){return`${e}`}class sr{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new l2,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function u2(e,t){const n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,i)),t.decodeValue(o.slice(i+1))],l=n.get(s)||[];l.push(a),n.set(s,l)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(n=>{const r=t.fromObject[n],o=Array.isArray(r)?r.map(Hl):[Hl(r)];this.map.set(n,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const n=this.map.get(t);return n?n[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,n){return this.clone({param:t,value:n,op:"a"})}appendAll(t){const n=[];return Object.keys(t).forEach(r=>{const o=t[r];Array.isArray(o)?o.forEach(i=>{n.push({param:r,value:i,op:"a"})}):n.push({param:r,value:o,op:"a"})}),this.clone(n)}set(t,n){return this.clone({param:t,value:n,op:"s"})}delete(t,n){return this.clone({param:t,value:n,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const n=this.encoder.encodeKey(t);return this.map.get(t).map(r=>n+"="+this.encoder.encodeValue(r)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const n=new sr({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const n=("a"===t.op?this.map.get(t.param):void 0)||[];n.push(Hl(t.value)),this.map.set(t.param,n);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let r=this.map.get(t.param)||[];const o=r.indexOf(Hl(t.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(t.param,r):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class f2{constructor(){this.map=new Map}set(t,n){return this.map.set(t,n),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Dw(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function bw(e){return typeof Blob<"u"&&e instanceof Blob}function ww(e){return typeof FormData<"u"&&e instanceof FormData}class us{constructor(t,n,r,o){let i;if(this.url=n,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function h2(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.headers||(this.headers=new bn),this.context||(this.context=new f2),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=n;else{const a=n.indexOf("?");this.urlWithParams=n+(-1===a?"?":ad.set(g,t.setHeaders[g]),l)),t.setParams&&(u=Object.keys(t.setParams).reduce((d,g)=>d.set(g,t.setParams[g]),u)),new us(n,r,i,{params:u,headers:l,context:c,reportProgress:a,responseType:o,withCredentials:s})}}var Ve=(()=>((Ve=Ve||{})[Ve.Sent=0]="Sent",Ve[Ve.UploadProgress=1]="UploadProgress",Ve[Ve.ResponseHeader=2]="ResponseHeader",Ve[Ve.DownloadProgress=3]="DownloadProgress",Ve[Ve.Response=4]="Response",Ve[Ve.User=5]="User",Ve))();class nh{constructor(t,n=200,r="OK"){this.headers=t.headers||new bn,this.status=void 0!==t.status?t.status:n,this.statusText=t.statusText||r,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class rh extends nh{constructor(t={}){super(t),this.type=Ve.ResponseHeader}clone(t={}){return new rh({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Lo extends nh{constructor(t={}){super(t),this.type=Ve.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Lo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Ew extends nh{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function oh(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let ih=(()=>{class e{constructor(n){this.handler=n}request(n,r,o={}){let i;if(n instanceof us)i=n;else{let l,u;l=o.headers instanceof bn?o.headers:new bn(o.headers),o.params&&(u=o.params instanceof sr?o.params:new sr({fromObject:o.params})),i=new us(n,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:u,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=j(i).pipe(wo(l=>this.handler.handle(l)));if(n instanceof us||"events"===o.observe)return s;const a=s.pipe(Jt(l=>l instanceof Lo));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(re(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(re(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(re(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(re(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new sr).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,o={}){return this.request("PATCH",n,oh(o,r))}post(n,r,o={}){return this.request("POST",n,oh(o,r))}put(n,r,o={}){return this.request("PUT",n,oh(o,r))}}return e.\u0275fac=function(n){return new(n||e)(F(Ll))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function Iw(e,t){return t(e)}function m2(e,t){return(n,r)=>t.intercept(n,{handle:o=>e(o,r)})}const v2=new N(""),cs=new N(""),Tw=new N("");function _2(){let e=null;return(t,n)=>{null===e&&(e=(R(v2,{optional:!0})??[]).reduceRight(m2,Iw));const r=R(Fa),o=r.add();return e(t,n).pipe(ji(()=>r.remove(o)))}}let Aw=(()=>{class e extends Ll{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=R(Fa)}handle(n){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(cs),...this.injector.get(Tw,[])]));this.chain=o.reduceRight((i,s)=>function y2(e,t,n){return(r,o)=>n.runInContext(()=>t(r,i=>e(i,o)))}(i,s,this.injector),Iw)}const r=this.pendingTasks.add();return this.chain(n,o=>this.backend.handle(o)).pipe(ji(()=>this.pendingTasks.remove(r)))}}return e.\u0275fac=function(n){return new(n||e)(F(Vl),F(fn))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const w2=/^\)\]\}',?\n/;let Rw=(()=>{class e{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Ne(r.\u0275loadImpl()):j(null)).pipe(Bt(()=>new Te(i=>{const s=r.build();if(s.open(n.method,n.urlWithParams),n.withCredentials&&(s.withCredentials=!0),n.headers.forEach((_,b)=>s.setRequestHeader(_,b.join(","))),n.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const _=n.detectContentTypeHeader();null!==_&&s.setRequestHeader("Content-Type",_)}if(n.responseType){const _=n.responseType.toLowerCase();s.responseType="json"!==_?_:"text"}const a=n.serializeBody();let l=null;const u=()=>{if(null!==l)return l;const _=s.statusText||"OK",b=new bn(s.getAllResponseHeaders()),S=function E2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||n.url;return l=new rh({headers:b,status:s.status,statusText:_,url:S}),l},c=()=>{let{headers:_,status:b,statusText:S,url:D}=u(),x=null;204!==b&&(x=typeof s.response>"u"?s.responseText:s.response),0===b&&(b=x?200:0);let U=b>=200&&b<300;if("json"===n.responseType&&"string"==typeof x){const q=x;x=x.replace(w2,"");try{x=""!==x?JSON.parse(x):null}catch(ze){x=q,U&&(U=!1,x={error:ze,text:x})}}U?(i.next(new Lo({body:x,headers:_,status:b,statusText:S,url:D||void 0})),i.complete()):i.error(new Ew({error:x,headers:_,status:b,statusText:S,url:D||void 0}))},d=_=>{const{url:b}=u(),S=new Ew({error:_,status:s.status||0,statusText:s.statusText||"Unknown Error",url:b||void 0});i.error(S)};let g=!1;const m=_=>{g||(i.next(u()),g=!0);let b={type:Ve.DownloadProgress,loaded:_.loaded};_.lengthComputable&&(b.total=_.total),"text"===n.responseType&&s.responseText&&(b.partialText=s.responseText),i.next(b)},v=_=>{let b={type:Ve.UploadProgress,loaded:_.loaded};_.lengthComputable&&(b.total=_.total),i.next(b)};return s.addEventListener("load",c),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),n.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),i.next({type:Ve.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",c),s.removeEventListener("timeout",d),n.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}}return e.\u0275fac=function(n){return new(n||e)(F(BC))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();const sh=new N("XSRF_ENABLED"),Nw=new N("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),Pw=new N("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Ow{}let I2=(()=>{class e{constructor(n,r,o){this.doc=n,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=RC(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return e.\u0275fac=function(n){return new(n||e)(F(vt),F(yr),F(Nw))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function T2(e,t){const n=e.url.toLowerCase();if(!R(sh)||"GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t(e);const r=R(Ow).getToken(),o=R(Pw);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),t(e)}var De=(()=>((De=De||{})[De.Interceptors=0]="Interceptors",De[De.LegacyInterceptors=1]="LegacyInterceptors",De[De.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",De[De.NoXsrfProtection=3]="NoXsrfProtection",De[De.JsonpSupport=4]="JsonpSupport",De[De.RequestsMadeViaParent=5]="RequestsMadeViaParent",De[De.Fetch=6]="Fetch",De))();const kw=new N("LEGACY_INTERCEPTOR_FN");class F2{constructor(){this.name="",this.email="",this.message=""}}let Fw=(()=>{class e{constructor(n){this.httpClient=n}postContactForm(n){return this.httpClient.post(`${me_apiBaseUrl}contact`,n)}}return e.\u0275fac=function(n){return new(n||e)(F(ih))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function L2(e,t){if(1&e){const n=Ae();h(0,"form",5,6),P("ngSubmit",function(){return se(n),ae(k().submit())}),h(2,"div",7)(3,"label",8),f(4,"Name "),h(5,"span",9),f(6,"*"),p()(),h(7,"input",10),P("ngModelChange",function(o){return se(n),ae(k().contactViewModel.name=o)}),p()(),h(8,"div",7)(9,"label",11),f(10,"Email address "),h(11,"span",9),f(12,"*"),p()(),h(13,"input",12),P("ngModelChange",function(o){return se(n),ae(k().contactViewModel.email=o)}),p()(),h(14,"div",7)(15,"label",13),f(16,"Message "),h(17,"span",9),f(18,"*"),p()(),h(19,"textarea",14),P("ngModelChange",function(o){return se(n),ae(k().contactViewModel.message=o)}),p()(),h(20,"button",15),f(21,"Submit"),p()()}if(2&e){const n=$c(1),r=k();C(7),w("ngModel",r.contactViewModel.name),C(6),w("ngModel",r.contactViewModel.email),C(6),w("ngModel",r.contactViewModel.message),C(1),w("disabled",!n.valid||r.enableFormCountDown>0)}}function V2(e,t){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function H2(e,t){1&e&&(h(0,"p",16),f(1,"Something went wrong. Please try again later."),p())}let U2=(()=>{class e{constructor(n){this.contactService=n,this.contactViewModel=new F2,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:n=>{console.log("Submitted form"),this.success=!0},error:n=>{console.error(n),this.error=!0},complete:()=>console.info("complete")})}}return e.\u0275fac=function(n){return new(n||e)(M(Fw))},e.\u0275cmp=bt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[At],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post",3,"ngSubmit",4,"ngIf"],[4,"ngIf"],["class","text-danger",4,"ngIf"],["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(n,r){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),O(3,L2,22,4,"form",2),O(4,V2,2,0,"p",3),O(5,H2,2,0,"p",4),p()),2&n&&(C(3),w("ngIf",!r.success&&!r.error),C(1),w("ngIf",r.success),C(1),w("ngIf",r.error))},dependencies:[el,Fl,Pl,No,wl,El,Fo,kl,ls,ko]}),e})();const Lw=function(){return["/pro"]};let B2=(()=>{class e{scrollToAnchor(n){return document.querySelector(n)?.scrollIntoView(!0),!1}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[At],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(n,r){1&n&&(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),P("click",function(){return r.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),P("click",function(){return r.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),P("click",function(){return r.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&n&&(C(25),w("routerLink",ne(2,Lw)),C(63),w("routerLink",ne(3,Lw)))},dependencies:[Cn]}),e})();const Ut={dotnetSDKVersion:"6.x",majorVersion:"5",version:"5.1.24"},j2=function(){return["/usage"]};let $2=(()=>{class e{constructor(){this.versions=Ut}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[At],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(n,r){1&n&&(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&n&&(C(15),w("routerLink",ne(5,j2)),C(22),Fn('\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),Fn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',r.versions.version,'\\tools\\net6.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(20),Fn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(9),Fn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[Cn]}),e})(),Vw=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[At],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(n,r){1&n&&(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 50 million downloads on Nuget"),p()()()()())},encapsulation:2}),e})();const G2=function(){return["/pro"]},z2=function(){return["/usage"]},q2=function(){return["/getstarted"]},W2=function(){return["/features"]};let Z2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-home"]],standalone:!0,features:[At],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(n,r){1&n&&(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&n&&(C(45),w("routerLink",ne(4,G2)),C(12),w("routerLink",ne(5,z2)),C(24),w("routerLink",ne(6,q2)),C(15),w("routerLink",ne(7,W2)))},dependencies:[Cn,Vw],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}}"]}),e})(),X2=(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[At],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(n,r){1&n&&(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())}}),e})();class Hw{constructor(){this.error=null,this.licenses=[]}}class Y2{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let Uw=(()=>{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 n=location.href;const r=n.indexOf("?");r>-1&&(n=n.substring(r+1));const o=this.parseQueryString(n);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const n=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",n),n}validateNonce(n){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),r&&0!==r.length?r===n||(console.error("Validating nonce failed. Values do not match.",r,n),!1):(console.error("Validating nonce failed. No saved nonce available.",r,n),!1)}createNonce(){const n="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&&(u=decodeURIComponent(a),c=decodeURIComponent(l),"/"===u.substring(0,1)&&(u=u.substring(1)),r[u]=c);return r}base64UrlEncode(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})(),Bw=(()=>{class e{constructor(n){this.httpClient=n}getLicense(n){return this.httpClient.get(`${me_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(n)}`)}getTrialLicense(n){return this.httpClient.post(`${me_apiBaseUrl}reportgenerator/triallicense`,n)}getPaddleLicense(n){return this.httpClient.post(`${me_apiBaseUrl}reportgenerator/paddlelicense`,n)}}return e.\u0275fac=function(n){return new(n||e)(F(ih))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),e})();function Q2(e,t){1&e&&(h(0,"div",67)(1,"span",68),f(2,"Loading..."),p()())}function J2(e,t){1&e&&(h(0,"div",69),y(1,"i",70),p())}const ah=function(){return["/contact"]};function K2(e,t){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 n=k(2);C(2),_e(n.license.error),C(3),w("routerLink",ne(2,ah))}}function eV(e,t){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",71),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function tV(e,t){1&e&&(h(0,"span"),y(1,"i",75),f(2," Copy"),p())}function nV(e,t){1&e&&(h(0,"span"),y(1,"i",76),f(2," Copied"),p())}function rV(e,t){if(1&e){const n=Ae();h(0,"div")(1,"label",72),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",73),f(4),p(),h(5,"button",74),P("click",function(){return se(n),ae(k(2).copy())}),O(6,tV,3,0,"span",34),O(7,nV,3,0,"span",34),p()()}if(2&e){const n=k(2);C(4),_e(n.license.license),C(2),w("ngIf",!n.licenseCopied),C(1),w("ngIf",n.licenseCopied)}}function oV(e,t){if(1&e&&(h(0,"div",20),O(1,K2,8,3,"div",34),O(2,eV,6,0,"div",34),O(3,rV,8,3,"div",34),p()),2&e){const n=k();C(1),w("ngIf",n.license.error),C(1),w("ngIf",!n.license.error&&!n.license.isSponsor),C(1),w("ngIf",!n.license.error&&n.license.isSponsor&&n.license.license)}}const jw=function(e){return{active:e}};function iV(e,t){if(1&e){const n=Ae();h(0,"span",77)(1,"span",78),P("click",function(){return se(n),ae(k().lifetimeLicense=!1)}),y(2,"i",79),f(3," Annual subscription"),p(),h(4,"span",78),P("click",function(){return se(n),ae(k().lifetimeLicense=!0)}),y(5,"i",80),f(6," Lifetime license"),p()()}if(2&e){const n=k();C(1),w("ngClass",Pi(2,jw,!n.lifetimeLicense)),C(3),w("ngClass",Pi(4,jw,n.lifetimeLicense))}}function sV(e,t){if(1&e){const n=Ae();h(0,"button",100),P("click",function(){return se(n),ae(k(2).requestTrial())}),y(1,"i",25),f(2," Start trial"),p()}2&e&&w("disabled",k(2).trialDisabled)}function aV(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function lV(e,t){1&e&&(mt(0),y(1,"i",79),f(2," Annual subscription"),yt())}function uV(e,t){1&e&&(mt(0),y(1,"i",80),f(2," Lifetime license"),yt())}function cV(e,t){if(1&e){const n=Ae();h(0,"button",102),P("click",function(){return se(n),ae(k(2).openPaddleCheckout("individual"))}),y(1,"i",103),f(2," Buy now"),p()}}function dV(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function fV(e,t){1&e&&(mt(0),y(1,"i",79),f(2," Annual subscription"),yt())}function hV(e,t){1&e&&(mt(0),y(1,"i",80),f(2," Lifetime license"),yt())}function pV(e,t){if(1&e){const n=Ae();h(0,"button",102),P("click",function(){return se(n),ae(k(2).openPaddleCheckout("team"))}),y(1,"i",103),f(2," Buy now"),p()}}function gV(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function mV(e,t){1&e&&(mt(0),y(1,"i",79),f(2," Annual subscription"),yt())}function yV(e,t){1&e&&(mt(0),y(1,"i",80),f(2," Lifetime license"),yt())}function vV(e,t){if(1&e){const n=Ae();h(0,"button",102),P("click",function(){return se(n),ae(k(2).openPaddleCheckout("enterprise"))}),y(1,"i",103),f(2," Buy now"),p()}}function _V(e,t){1&e&&(h(0,"button",101),f(1,"Coming soon"),p())}function CV(e,t){if(1&e&&(h(0,"div",2)(1,"div",81)(2,"div",82),y(3,"img",83),h(4,"h4",84),f(5,"Free"),y(6,"br"),f(7,"Trial"),p(),h(8,"p"),y(9,"i",85),f(10," Get full access"),y(11,"br")(12,"i",86),f(13," 10 day trial period "),p(),O(14,sV,3,1,"button",87),O(15,aV,2,0,"button",88),p()(),h(16,"div",89)(17,"div",90),y(18,"img",91),h(19,"h4",84),f(20,"Individual"),y(21,"br"),f(22),p(),h(23,"p"),y(24,"i",92),f(25," Per developer license."),y(26,"br"),O(27,lV,3,0,"ng-container",34),O(28,uV,3,0,"ng-container",34),p(),O(29,cV,3,0,"button",93),O(30,dV,2,0,"button",88),p()(),h(31,"div",94)(32,"div",90),y(33,"img",95),h(34,"h4",84),f(35,"Team"),y(36,"br"),f(37),p(),h(38,"p"),y(39,"i",96),f(40," Up to 10 developers."),y(41,"br"),O(42,fV,3,0,"ng-container",34),O(43,hV,3,0,"ng-container",34),p(),O(44,pV,3,0,"button",93),O(45,gV,2,0,"button",88),p()(),h(46,"div",97)(47,"div",90),y(48,"img",98),h(49,"h4",84),f(50,"Enterprise"),y(51,"br"),f(52),p(),h(53,"p"),y(54,"i",99),f(55," Unlimited developers."),y(56,"br"),O(57,mV,3,0,"ng-container",34),O(58,yV,3,0,"ng-container",34),p(),O(59,vV,3,0,"button",93),O(60,_V,2,0,"button",88),p()()()),2&e){const n=k();C(14),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle),C(7),_e(n.lifetimeLicense?n.paddleIndividualLifetimeLicensePrice:n.paddleIndividualLicensePrice),C(5),w("ngIf",!n.lifetimeLicense),C(1),w("ngIf",n.lifetimeLicense),C(1),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle),C(7),_e(n.lifetimeLicense?n.paddleTeamLifetimeLicensePrice:n.paddleTeamLicensePrice),C(5),w("ngIf",!n.lifetimeLicense),C(1),w("ngIf",n.lifetimeLicense),C(1),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle),C(7),_e(n.lifetimeLicense?n.paddleEnterpriseLifetimeLicensePrice:n.paddleEnterpriseLicensePrice),C(5),w("ngIf",!n.lifetimeLicense),C(1),w("ngIf",n.lifetimeLicense),C(1),w("ngIf",n.enablePaddle),C(1),w("ngIf",!n.enablePaddle)}}function DV(e,t){1&e&&(mt(0),h(1,"div",67)(2,"span",68),f(3,"Loading..."),p()(),h(4,"span",105),f(5,"Your license is being generated. Please wait."),p(),yt())}function bV(e,t){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 n=k(3);C(2),_e(n.paddleLicense.error),C(3),w("routerLink",ne(2,ah))}}function wV(e,t){1&e&&(h(0,"span"),y(1,"i",75),f(2," Copy"),p())}function EV(e,t){1&e&&(h(0,"span"),y(1,"i",76),f(2," Copied"),p())}function MV(e,t){if(1&e){const n=Ae();h(0,"div",109)(1,"textarea",110),f(2),p(),h(3,"button",74),P("click",function(){const i=se(n).$implicit;return ae(k(4).copyPaddle(i))}),O(4,wV,3,0,"span",34),O(5,EV,3,0,"span",34),p()()}if(2&e){const n=t.$implicit,r=k(4);C(2),_e(n),C(2),w("ngIf",-1===r.copiedPaddledLicenses.indexOf(n)),C(1),w("ngIf",r.copiedPaddledLicenses.indexOf(n)>-1)}}function SV(e,t){if(1&e&&(h(0,"div")(1,"label",107),f(2,"Thank you! Please save your license key persistently:"),p(),O(3,MV,6,3,"div",108),p()),2&e){const n=k(3);C(3),w("ngForOf",n.paddleLicense.licenses)}}function IV(e,t){if(1&e&&(h(0,"div",106),O(1,bV,8,3,"div",34),O(2,SV,4,1,"div",34),p()),2&e){const n=k(2);C(1),w("ngIf",n.paddleLicense.error),C(1),w("ngIf",!n.paddleLicense.error)}}function TV(e,t){if(1&e&&(h(0,"div",2),O(1,DV,6,0,"ng-container",34),O(2,IV,3,2,"div",104),p()),2&e){const n=k();C(1),w("ngIf",n.paddleLicenseRequested&&!n.paddleLicense),C(1),w("ngIf",n.paddleLicense)}}function AV(e,t){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 Vo=function(){return["/features"]};let xV=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(n){if(this._lifetimeLicense=n,!this.lifetimeLicenseChangeTracked){this.lifetimeLicenseChangeTracked=!0;try{window.plausible("Licensetype changed")}catch(r){console.error("Failed to submit to Plausible",r)}}}constructor(n,r){this.oauthService=n,this.licenseService=r,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=o=>{this.paddleCheckoutComplete(o)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,o=>{this.paddleIndividualLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762580,o=>{this.paddleTeamLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762581,o=>{this.paddleEnterpriseLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(833943,o=>{this.paddleIndividualLifetimeLicensePrice=o.price.gross}),window.Paddle.Product.Prices(833944,o=>{this.paddleTeamLifetimeLicensePrice=o.price.gross}),window.Paddle.Product.Prices(833945,o=>{this.paddleEnterpriseLifetimeLicensePrice=o.price.gross})}ngOnInit(){const n=this.oauthService.validateStateAndExtractCode();if(null!==n?(console.log("Code received",n),this.licenseRequested=!0,this.licenseService.getLicense(n).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new Y2,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1)try{window.plausible("Trial2Pro")}catch(r){console.error("Failed to submit to Plausible",r)}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(n){console.error("Failed to copy license",n)}}copyPaddle(n){try{navigator.clipboard.writeText(n),this.copiedPaddledLicenses.push(n)}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();try{window.plausible("Trial-Started")}catch(n){console.error("Failed to submit to Plausible",n)}}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:n=>{console.log("Received trial license response"),this.paddleLicense=n,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}try{window.plausible("Trial-Completed")}catch(r){console.error("Failed to submit to Plausible",r)}},error:n=>{console.error(n),this.paddleLicense=new Hw,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(n){"enterprise"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"});try{window.plausible("Paddle-Started",{props:{product:n,lifetimeLicense:this.lifetimeLicense}})}catch(r){console.error("Failed to submit to Plausible",r)}}paddleCheckoutComplete(n){console.log("Checkout completed",n),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(n).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle();try{window.plausible("Paddle-Completed",{props:{product:n.product.name,lifetimeLicense:this.lifetimeLicense}})}catch(o){console.error("Failed to submit to Plausible",o)}},error:r=>{console.error(r),this.paddleLicense=new Hw,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}}return e.\u0275fac=function(n){return new(n||e)(M(Uw),M(Bw))},e.\u0275cmp=bt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[At],decls:217,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","style","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",2,"max-width","550px","margin","auto"],["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"],["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",2,"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"],[2,"position","relative","left","35px","top","-20px"],[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(n,r){if(1&n&&(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),P("click",function(){return r.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),P("click",function(){return r.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),y(90,"br"),f(91," A "),h(92,"a",17),P("click",function(){return r.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),P("click",function(){return r.requestLicense()}),y(117,"i",25),f(118," Get license"),p(),O(119,Q2,3,0,"div",26),p(),O(120,J2,2,0,"div",27),O(121,oV,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),O(127,iV,7,6,"span",31),p(),O(128,CV,61,17,"div",32),O(129,TV,3,2,"div",32),h(130,"div",33),O(131,AV,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," Are there limitations on number of users? "),p()(),h(150,"div",45)(151,"div",46)(152,"b"),f(153,"GitHub sponsors"),p(),y(154,"br"),h(155,"p"),f(156,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(157,"b"),f(158,"Bought license"),p(),y(159,"br"),h(160,"p"),f(161,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(162,"i"),f(163,"ReportGenerator"),p(),f(164,"."),p()()()(),h(165,"div",42)(166,"h2",47)(167,"button",48),f(168," Will my license expire? "),p()(),h(169,"div",49)(170,"div",46)(171,"b"),f(172,"GitHub sponsors"),p(),y(173,"br"),h(174,"p"),f(175,"Your license will not expire."),p(),h(176,"b"),f(177,"Bought license"),p(),y(178,"br"),h(179,"p")(180,"b"),f(181,"Annual subscription"),p(),f(182,": Your license may get revoked for new releases of "),h(183,"i"),f(184,"ReportGenerator"),p(),f(185,", if you cancel your subscription."),y(186,"br"),h(187,"b"),f(188,"Lifetime licenses"),p(),f(189,": Lifetime licenses will not expire. "),p()()()()()(),h(190,"div",50)(191,"div",51)(192,"div",52)(193,"form",53,54),P("ngSubmit",function(){return r.completeTrial()}),h(195,"div",55)(196,"h5",56),f(197,"Free Trial"),p(),y(198,"button",57),p(),h(199,"div",58)(200,"div",59)(201,"input",60),P("ngModelChange",function(i){return r.requestTrialData.name=i}),p(),h(202,"label",61),f(203,"Name "),h(204,"span",62),f(205,"*"),p()()(),h(206,"div",59)(207,"input",63),P("ngModelChange",function(i){return r.requestTrialData.email=i}),p(),h(208,"label",61),f(209,"Email address "),h(210,"span",62),f(211,"*"),p()()()(),h(212,"div",64)(213,"button",65),f(214,"Close"),p(),h(215,"button",66),f(216,"Get trial license"),p()()()()()()),2&n){const o=$c(194);C(18),w("routerLink",ne(18,Vo)),C(9),w("routerLink",ne(19,Vo)),C(9),w("routerLink",ne(20,Vo)),C(9),w("routerLink",ne(21,Vo)),C(9),w("routerLink",ne(22,Vo)),C(8),w("routerLink",ne(23,Vo)),C(35),w("routerLink",ne(24,ah)),C(19),w("disabled",r.licenseRequested),C(3),w("ngIf",r.licenseRequested&&!r.license),C(1),w("ngIf",!r.license),C(1),w("ngIf",r.license),C(6),w("ngIf",!r.paddleLicenseRequested),C(1),w("ngIf",!r.paddleLicenseRequested),C(1),w("ngIf",r.paddleLicenseRequested),C(2),w("ngIf",!r.lifetimeLicense),C(70),w("ngModel",r.requestTrialData.name),C(6),w("ngModel",r.requestTrialData.email),C(8),w("disabled",!o.valid)}},dependencies:[Cn,Xd,el,Ka,Fl,Pl,No,wl,El,Fo,eh,kl,ls,ko,Vw],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}}"]}),e})();class Bl{constructor(t,n,r,o,i,s){this.name=t,this.url=n,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(t){return t.tool}formatArgument(t,n){if(""===(n=n.trim()))return"";const r=n.indexOf(" ")>-1?'"':"";return`\r\n${r}-${t}:${n}${r}`}formatArguments(t,n){return this.formatArgument(t,n.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class RV extends Bl{formatExecutable(t){let n=`- task: ${t.tool}@${Ut.majorVersion}`;return n+="\r\n displayName: ReportGenerator",n+="\r\n inputs:",console.log("hello",n),n}formatArgument(t,n){if(""===(n=n.trim()))return"";const r=n.indexOf(" ")>-1?"'":"";return`\r\n ${t}: ${r}${n}${r}`}}class NV{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:"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:"PngChart",types:["Image"],description:"Creates a single PNG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/PngChart/CoverageHistory.png"},{name:"Badges",types:["Image"],description:"Creates SVGs and PNGs 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(t){return this.sourcedirectories.splice(t,1),!1}addReport(){return this.reports.push(""),!1}removeReport(t){return this.reports.splice(t,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(t){return this.plugins.splice(t,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(t){return this.assemblyfilters.splice(t,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(t){return this.classfilters.splice(t,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(t){return this.filefilters.splice(t,1),!1}getUsage(t,n){const r=t.executables.find(a=>a.runtime==n);let o=void 0!==r?t.formatExecutable(r):"";o+=t.formatArguments("reports",this.reports),o+=t.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=t.formatArgument("reporttypes",i)),o+=t.formatArguments("sourcedirs",this.sourcedirectories),o+=t.formatArgument("historydir",this.historydir),o+=t.formatArguments("plugins",this.plugins),o+=t.formatArguments("assemblyfilters",this.assemblyfilters),o+=t.formatArguments("classfilters",this.classfilters),o+=t.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=t.formatArgument("verbosity",this.selectedverbosity)),o+=t.formatArgument("title",this.title),o+=t.formatArgument("tag",this.tag),o+=t.formatArgument("license",this.license),o}historyDirRequired(){for(let t=0;t-1?"'":"";return`\r\n ${t}: ${r}${n}${r}`}}class lh{constructor(t,n){this.tool=t,this.command=n}}function OV(e,t){if(1&e){const n=Ae();h(0,"div",35)(1,"label",36)(2,"input",37),P("ngModelChange",function(o){return se(n),ae(k().selectedEnvironment=o)})("ngModelChange",function(){return se(n),ae(k().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const n=t.$implicit,r=k();C(2),w("ngModel",r.selectedEnvironment)("value",n)("checked",r.selectedEnvironment.name===n.name),C(2),_e(n.name),C(3),_e(n.description)}}function kV(e,t){if(1&e){const n=Ae();h(0,"div",35)(1,"label",36)(2,"input",41),P("ngModelChange",function(o){return se(n),ae(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 n=k().$implicit,r=k(2);C(2),w("ngModel",r.selectedPackage)("value",n),C(2),_e(n.name),C(3),_e(n.description)}}function FV(e,t){if(1&e&&(mt(0),O(1,kV,8,4,"div",40),yt()),2&e){const n=t.$implicit,r=k(2);C(1),w("ngIf",n.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function LV(e,t){if(1&e&&(mt(0),h(1,"h4"),f(2,"NuGet Package"),p(),O(3,FV,2,1,"ng-container",39),yt()),2&e){const n=k();C(3),w("ngForOf",n.packages)}}function VV(e,t){if(1&e){const n=Ae();h(0,"span",45),P("click",function(){se(n);const o=k().index;return ae(k().configuration.removeReport(o))}),h(1,"a",46),y(2,"i",47),p()()}}const HV=function(e){return{"input-group":e}};function UV(e,t){if(1&e){const n=Ae();h(0,"div",38)(1,"div",42)(2,"input",43),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.reports[s]=o)}),p(),O(3,VV,3,0,"span",44),p()()}if(2&e){const n=t.index,r=k();C(1),w("ngClass",Pi(4,HV,n>0)),C(1),kn("name","report_",n,""),w("ngModel",r.configuration.reports[n]),C(1),w("ngIf",n>0)}}const BV=function(e,t){return{"btn-outline-primary":e,"btn-primary":t}};function jV(e,t){if(1&e){const n=Ae();h(0,"button",48),P("click",function(){const i=se(n).$implicit,s=k();return ae(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const n=t.$implicit,r=k();w("ngClass",Jv(2,BV,n!==r.configuration.selectedType,n===r.configuration.selectedType)),C(1),_e(n)}}function $V(e,t){if(1&e){const n=Ae();h(0,"span",53),y(1,"i",54),f(2," Please specify a "),h(3,"a",9),P("click",function(){return se(n),ae(k(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function GV(e,t){if(1&e&&(mt(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(),yt()),2&e){const n=k(2).$implicit;C(2),w("href",n.sampleReport,eo),C(3),w("href",n.sampleReport,eo)}}function zV(e,t){if(1&e){const n=Ae();h(0,"div",50)(1,"label",36)(2,"input",51),P("change",function(){se(n);const o=k().$implicit;return ae(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),O(5,$V,5,0,"span",52),y(6,"br"),h(7,"div",38),f(8),O(9,GV,7,2,"ng-container",5),p()()()}if(2&e){const n=k().$implicit,r=k();C(2),w("checked",n.checked),C(2),_e(n.name),C(1),w("ngIf",n.checked&&n.requiresHistoryDir&&!r.configuration.historydir),C(3),Fn("",n.description," "),C(1),w("ngIf",n.sampleReport)}}function qV(e,t){if(1&e&&(mt(0),O(1,zV,10,5,"div",49),yt()),2&e){const n=t.$implicit,r=k();C(1),w("ngIf",!r.configuration.selectedType||n.types.indexOf(r.configuration.selectedType)>-1)}}function WV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",58),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeSourceDirectory(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","sourcedir_",n,""),w("ngModel",r.configuration.sourcedirectories[n])}}function ZV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",59),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.plugins[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removePlugin(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","plugin_",n,""),w("ngModel",r.configuration.plugins[n])}}function XV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",60),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeAssemblyFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","assemblyfilter_",n,""),w("ngModel",r.configuration.assemblyfilters[n])}}function YV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",61),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.classfilters[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeClassFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","classfilter_",n,""),w("ngModel",r.configuration.classfilters[n])}}function QV(e,t){if(1&e){const n=Ae();h(0,"div",8)(1,"div",57)(2,"input",62),P("ngModelChange",function(o){const s=se(n).index;return ae(k().configuration.filefilters[s]=o)}),p(),h(3,"span",45),P("click",function(){const i=se(n).index;return ae(k().configuration.removeFileFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const n=t.index,r=k();C(2),kn("name","filefilter_",n,""),w("ngModel",r.configuration.filefilters[n])}}function JV(e,t){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const n=t.$implicit;w("value",n),C(1),_e(n)}}function KV(e,t){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 n=t.$implicit;C(2),_e(n.tool),C(3),_e(n.command)}}function e3(e,t){1&e&&(h(0,"span"),y(1,"i",65),f(2," Copy"),p())}function t3(e,t){1&e&&(h(0,"span"),y(1,"i",66),f(2," Copied"),p())}function n3(e,t){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 n=t.$implicit;C(2),_e(n.tool),C(3),_e(n.command)}}function r3(e,t){1&e&&(h(0,"span"),y(1,"i",65),f(2," Copy"),p())}function o3(e,t){1&e&&(h(0,"span"),y(1,"i",66),f(2," Copied"),p())}const i3=function(){return["/pro"]},s3=[{path:"",component:Z2,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:B2,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:$2,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=Ut,this.lastResult="",this.usageCopied=!1,this.configuration=new NV,this.environments=[new jl(".NET Core",".NET Core"),new jl(".NET Framework","The full .NET framework"),new jl("Azure DevOps",null),new jl("Github Action",null)],this.packages=[new Bl("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 lh("Package Manager",`Install-Package ReportGenerator -Version ${Ut.version}`),new lh(".NET CLI",`dotnet add package ReportGenerator --version ${Ut.version}`)],[new ds(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ut.version}\\tools\\net47\\ReportGenerator.exe`),new ds(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ut.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new Bl("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 lh(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Ut.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Ut.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Ut.version}`)],[new ds(".NET Core","reportgenerator")]),new RV("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new ds("Azure DevOps","reportgenerator")]),new PV("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new ds("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const n=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==n&&(this.lastResult=n,this.usageCopied=!1),n}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(n){console.error("Failed to copy license",n)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(n,r){return n}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=bt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[At],decls:219,vars:41,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-copy"],[1,"fa-solid","fa-check","text-success"]],template:function(n,r){1&n&&(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(),O(8,OV,8,5,"div",4),y(9,"hr"),O(10,LV,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(),O(18,UV,4,6,"div",7),h(19,"div",8)(20,"a",9),P("click",function(){return r.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),P("ngModelChange",function(i){return r.configuration.targetdir=i}),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(),O(39,jV,2,5,"button",14),y(40,"br"),O(41,qV,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(),O(48,WV,6,2,"div",16),h(49,"div",8)(50,"a",9),P("click",function(){return r.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),P("ngModelChange",function(i){return r.configuration.historydir=i}),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(),O(76,ZV,6,2,"div",16),h(77,"div",8)(78,"a",9),P("click",function(){return r.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()()(),O(102,XV,6,2,"div",16),h(103,"div",8)(104,"a",9),P("click",function(){return r.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()()(),O(128,YV,6,2,"div",16),h(129,"div",8)(130,"a",9),P("click",function(){return r.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()()(),O(154,QV,6,2,"div",16),h(155,"div",8)(156,"a",9),P("click",function(){return r.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),P("ngModelChange",function(i){return r.configuration.selectedverbosity=i}),O(166,JV,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),P("ngModelChange",function(i){return r.configuration.title=i}),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),P("ngModelChange",function(i){return r.configuration.tag=i}),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),P("ngModelChange",function(i){return r.configuration.license=i}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),O(197,KV,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),P("click",function(){return r.copy()}),O(203,e3,3,0,"span",5),O(204,t3,3,0,"span",5),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),O(211,n3,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),P("click",function(){return r.copy()}),O(217,r3,3,0,"span",5),O(218,o3,3,0,"span",5),p()()()()()),2&n&&(C(8),w("ngForOf",r.environments),C(2),w("ngIf",r.severalPackagesAvailable()),C(8),w("ngForOf",r.configuration.reports)("ngForTrackBy",r.trackByIndex),C(11),w("ngModel",r.configuration.targetdir),C(10),w("ngForOf",r.configuration.types)("ngForTrackBy",r.trackByIndex),C(2),w("ngForOf",r.configuration.reporttypes)("ngForTrackBy",r.trackByIndex),C(7),w("ngForOf",r.configuration.sourcedirectories)("ngForTrackBy",r.trackByIndex),C(16),w("ngModel",r.configuration.historydir)("required",r.configuration.historyDirRequired()),C(12),w("ngForOf",r.configuration.plugins)("ngForTrackBy",r.trackByIndex),C(26),w("ngForOf",r.configuration.assemblyfilters)("ngForTrackBy",r.trackByIndex),C(26),w("ngForOf",r.configuration.classfilters)("ngForTrackBy",r.trackByIndex),C(26),w("ngForOf",r.configuration.filefilters)("ngForTrackBy",r.trackByIndex),C(11),w("ngModel",r.configuration.selectedverbosity),C(1),w("ngForOf",r.configuration.verbosities)("ngForTrackBy",r.trackByIndex),C(7),w("ngModel",r.configuration.title),C(7),w("ngModel",r.configuration.tag),C(6),w("routerLink",ne(40,i3)),C(3),w("ngModel",r.configuration.license),C(6),w("href",r.selectedPackage.url,eo),C(1),_e(r.selectedPackage.name),C(1),w("ngForOf",r.selectedPackage.installOptions),C(4),_e(r.getUsage()),C(2),w("ngIf",!r.usageCopied),C(1),w("ngIf",r.usageCopied),C(5),w("href",r.selectedPackage.url,eo),C(1),_e(r.selectedPackage.name),C(1),w("ngForOf",r.selectedPackage.installOptions),C(4),_e(r.getUsage()),C(2),w("ngIf",!r.usageCopied),C(1),w("ngIf",r.usageCopied))},dependencies:[Fl,Pl,dw,hw,No,Ol,Xf,wl,El,Fo,th,ls,ko,Xd,el,Ka,Cn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]}),e})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:xV,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:U2,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:X2,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];(function NO(e,t){return xR({rootComponent:e,...lD(t)})})(hL,{providers:[Kg(VO,(()=>{class e{}return e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=In({type:e}),e.\u0275inj=nn({imports:[gb.forRoot(s3,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),gb]}),e})(),Fl),Uw,Bw,Fw,function A2(...e){const t=[ih,Rw,Aw,{provide:Ll,useExisting:Aw},{provide:Vl,useExisting:Rw},{provide:cs,useValue:T2,multi:!0},{provide:sh,useValue:!0},{provide:Ow,useClass:I2}];for(const n of e)t.push(...n.\u0275providers);return ic(t)}(function x2(){return function Rr(e,t){return{\u0275kind:e,\u0275providers:t}}(De.LegacyInterceptors,[{provide:kw,useFactory:_2},{provide:cs,useExisting:kw,multi:!0}])}())]}).catch(e=>console.error(e))}},he=>{he(he.s=90)}]); \ No newline at end of file diff --git a/src/AzureDevopsTask/ReportGenerator/task.json b/src/AzureDevopsTask/ReportGenerator/task.json index 1e37aecf..886d1df7 100644 --- a/src/AzureDevopsTask/ReportGenerator/task.json +++ b/src/AzureDevopsTask/ReportGenerator/task.json @@ -13,7 +13,7 @@ "version": { "Major": 5, "Minor": 1, - "Patch": 23 + "Patch": 24 }, "instanceNameFormat": "ReportGenerator", "groups": [ diff --git a/src/AzureDevopsTask/vss-extension.json b/src/AzureDevopsTask/vss-extension.json index 06dcaa7b..e52854f4 100644 --- a/src/AzureDevopsTask/vss-extension.json +++ b/src/AzureDevopsTask/vss-extension.json @@ -2,7 +2,7 @@ "manifestVersion": 1, "id": "reportgenerator", "name": "ReportGenerator", - "version": "5.1.23", + "version": "5.1.24", "publisher": "Palmmedia", "public": true, "targets": [ diff --git a/src/Deployment/nuget/Readme_ReportGenerator.md b/src/Deployment/nuget/Readme_ReportGenerator.md index ee4f50fa..8f519fcf 100644 --- a/src/Deployment/nuget/Readme_ReportGenerator.md +++ b/src/Deployment/nuget/Readme_ReportGenerator.md @@ -13,13 +13,13 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC ### .NET Core ``` -dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.1.23\tools\net6.0\ReportGenerator.dll [options] -$(UserProfile)\.nuget\packages\reportgenerator\5.1.23\tools\net6.0\ReportGenerator.exe [options] +dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.1.24\tools\net6.0\ReportGenerator.dll [options] +$(UserProfile)\.nuget\packages\reportgenerator\5.1.24\tools\net6.0\ReportGenerator.exe [options] ``` ### .NET Framework ``` -$(UserProfile)\.nuget\packages\reportgenerator\5.1.23\tools\net47\ReportGenerator.exe [options] +$(UserProfile)\.nuget\packages\reportgenerator\5.1.24\tools\net47\ReportGenerator.exe [options] ``` ## Additional information diff --git a/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md b/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md index eeb40cae..d2c43df2 100644 --- a/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md +++ b/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md @@ -13,12 +13,12 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC ### Installation ``` -dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.1.23 +dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.1.24 -dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.1.23 +dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.1.24 dotnet new tool-manifest -dotnet tool install dotnet-reportgenerator-globaltool --version 5.1.23 +dotnet tool install dotnet-reportgenerator-globaltool --version 5.1.24 ``` ### Execution diff --git a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj index 52adb0d5..92f95a39 100644 --- a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj +++ b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj @@ -7,8 +7,8 @@ ReportGenerator Palmmedia.ReportGenerator Palmmedia.ReportGenerator.Console.NetCore.Program - 5.1.23.0 - 5.1.23.0 + 5.1.24.0 + 5.1.24.0 diff --git a/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj b/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj index 95d9185c..b2722cee 100644 --- a/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj +++ b/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj @@ -8,8 +8,8 @@ ReportGenerator.Console ReportGenerator.Console Copyright © 2022 - 5.1.23.0 - 5.1.23.0 + 5.1.24.0 + 5.1.24.0 bin\$(Configuration)\ false diff --git a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj index c16cdf78..dba41c97 100644 --- a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj +++ b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj @@ -4,8 +4,8 @@ net7.0 false Palmmedia.ReportGenerator.Core.Test - 5.1.23.0 - 5.1.23.0 + 5.1.24.0 + 5.1.24.0 false diff --git a/src/ReportGenerator.Core/ReportGenerator.Core.csproj b/src/ReportGenerator.Core/ReportGenerator.Core.csproj index 15362ef8..3c78a5ae 100644 --- a/src/ReportGenerator.Core/ReportGenerator.Core.csproj +++ b/src/ReportGenerator.Core/ReportGenerator.Core.csproj @@ -7,8 +7,8 @@ false true ReportGenerator.Core - 5.1.23.0 - 5.1.23.0 + 5.1.24.0 + 5.1.24.0 diff --git a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj index 68262d10..adb1386a 100644 --- a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj +++ b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj @@ -2,8 +2,8 @@ netcoreapp3.1;net5.0;net6.0;net7.0 ReportGenerator.DotnetCorePluginLoader - 5.1.23.0 - 5.1.23.0 + 5.1.24.0 + 5.1.24.0 True diff --git a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj index 8d576b5f..0b55a50a 100644 --- a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj +++ b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj @@ -7,8 +7,8 @@ ReportGenerator Palmmedia.ReportGenerator Palmmedia.ReportGenerator.DotnetGlobalTool.Program - 5.1.23.0 - 5.1.23.0 + 5.1.24.0 + 5.1.24.0 diff --git a/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj b/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj index a3ac1952..52b4775a 100644 --- a/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj +++ b/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj @@ -5,8 +5,8 @@ Palmmedia.ReportGenerator.MSBuild false true - 5.1.23.0 - 5.1.23.0 + 5.1.24.0 + 5.1.24.0 diff --git a/src/build.proj b/src/build.proj index 36460d5c..8b3b8ffb 100644 --- a/src/build.proj +++ b/src/build.proj @@ -22,7 +22,7 @@ - 5.1.23 + 5.1.24