vendor: 6,081 bytes, line 1
1(self.webpackChunkangular12_project=self.webpackChunkangular12_project||[]).push([[179],{8255:e=>{function t(e){return Promise.resolve().then(()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=8255,e.exports=t},4477:(e,t,n)=>{"use strict";function r(e){return"function"==typeof e}let i=!1;const s={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else i&&console.log("RxJS: Back to a better error behavior. Thank you. <3");i=e},get useDeprecatedSynchronousErrorHandling(){return i}};function o(e){setTimeout(()=>{throw e},0)}const a={closed:!0,next(e){},error(e){if(s.useDeprecatedSynchronousErrorHandling)throw e;o(e)},complete(){}},l=Array.isArray||(e=>e&&"number"==typeof e.length);function c(e){return null!==e&&"object"==typeof e}const u=(()=>{function e(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((e,t)=>`${t+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e})();class h{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof h)t.remove(this);else if(null!==t)for(let r=0;r<t.length;++r)t[r].remove(this);if(r(i)){n&&(this._unsubscribe=void 0);try{i.call(this)}catch(o){e=o instanceof u?d(o.errors):[o]}}if(l(s)){let t=-1,n=s.length;for(;++t<n;){const n=s[t];if(c(n))try{n.unsubscribe()}catch(o){e=e||[],o instanceof u?e=e.concat(d(o.errors)):e.push(o)}}}if(e)throw new u(e)}add(e){let t=e;if(!e)return h.EMPTY;switch(typeof e){case"function":t=new h(e);case"object":if(t===this||t.closed||"function"!=typeof t.unsubscribe)return t;if(this.closed)return t.unsubscribe(),t;if(!(t instanceof h)){const e=t;t=new h,t._subscriptions=[e]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}let{_parentOrParents:n}=t;if(null===n)t._parentOrParents=this;else if(n instanceof h){if(n===this)return t;t._parentOrParents=[n,this]}else{if(-1!==n.indexOf(this))return t;n.push(this)}const r=this._subscriptions;return null===r?this._subscriptions=[t]:r.push(t),t}remove(e){const t=this._subscriptions;if(t){const n=t.indexOf(e);-1!==n&&t.splice(n,1)}}}function d(e){return e.reduce((e,t)=>e.concat(t instanceof u?t.errors:t),[])}h.EMPTY=function(e){return e.closed=!0,e}(new h);const p="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class f extends h{constructor(e,t,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!e){this.destination=a;break}if("object"==typeof e){e instanceof f?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new g(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new g(this,e,t,n)}}[p](){return this}static create(e,t,n){const r=new f(e,t,n);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class g extends f{constructor(e,t,n,i){let s;super(),this._parentSubscriber=e;let o=this;r(t)?s=t:t&&(s=t.next,n=t.error,i=t.complete,t!==a&&(o=Object.create(t),r(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=n,this._complete=i}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;s.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:n}=s;if(this._error)n&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):o(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;o(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);s.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(n){if(this.unsubscribe(),s.useDeprecatedSynchronousErrorHandling)throw n;o(n)}}__tryOrSetError(e,t,n){if(!s.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,n)}catch(r){return s.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(o(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const m="function"==typeof Symbol&&Symbol.observable||"@@observable";function v(e){return e}let y=(()=>{class e{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(t){const n=new e;return n.source=this,n.operator=t,n}subscribe(e,t,n){const{operator:r}=this,i=function(e,t,n){if(e){if(e instanceof f)return e;if(e[p])return e[p]()}return e||t||n?new f(e,t,n):new f(a)}
vendor: 10,391 bytes, line 1
1(e,t,n);if(i.add(r?r.call(i,this.source):this.source||s.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),s.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i}_trySubscribe(e){try{return this._subscribe(e)}catch(t){s.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),function(e){for(;e;){const{closed:t,destination:n,isStopped:r}=e;if(t||r)return!1;e=n&&n instanceof f?n:null}return!0}(e)?e.error(t):console.warn(t)}}forEach(e,t){return new(t=b(t))((t,n)=>{let r;r=this.subscribe(t=>{try{e(t)}catch(i){n(i),r&&r.unsubscribe()}},n,t)})}_subscribe(e){const{source:t}=this;return t&&t.subscribe(e)}[m](){return this}pipe(...e){return 0===e.length?this:(0===(t=e).length?v:1===t.length?t[0]:function(e){return t.reduce((e,t)=>t(e),e)})(this);var t}toPromise(e){return new(e=b(e))((e,t)=>{let n;this.subscribe(e=>n=e,e=>t(e),()=>e(n))})}}return e.create=t=>new e(t),e})();function b(e){if(e||(e=s.Promise||Promise),!e)throw new Error("no Promise impl found");return e}const w=(()=>{function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e})();class _ extends h{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const n=t.indexOf(this.subscriber);-1!==n&&t.splice(n,1)}}class C extends f{constructor(e){super(e),this.destination=e}}let T=(()=>{class e extends y{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[p](){return new C(this)}lift(e){const t=new S(this,this);return t.operator=e,t}next(e){if(this.closed)throw new w;if(!this.isStopped){const{observers:t}=this,n=t.length,r=t.slice();for(let i=0;i<n;i++)r[i].next(e)}}error(e){if(this.closed)throw new w;this.hasError=!0,this.thrownError=e,this.isStopped=!0;const{observers:t}=this,n=t.length,r=t.slice();for(let i=0;i<n;i++)r[i].error(e);this.observers.length=0}complete(){if(this.closed)throw new w;this.isStopped=!0;const{observers:e}=this,t=e.length,n=e.slice();for(let r=0;r<t;r++)n[r].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(e){if(this.closed)throw new w;return super._trySubscribe(e)}_subscribe(e){if(this.closed)throw new w;return this.hasError?(e.error(this.thrownError),h.EMPTY):this.isStopped?(e.complete(),h.EMPTY):(this.observers.push(e),new _(this,e))}asObservable(){const e=new y;return e.source=this,e}}return e.create=(e,t)=>new S(e,t),e})();class S extends T{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):h.EMPTY}}function x(e){return e&&"function"==typeof e.schedule}function k(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new I(e,t))}}class I{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new E(e,this.project,this.thisArg))}}class E extends f{constructor(e,t,n){super(e),this.project=t,this.count=0,this.thisArg=n||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}const O=e=>t=>{for(let n=0,r=e.length;n<r&&!t.closed;n++)t.next(e[n]);t.complete()},A="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator",P=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function M(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}const R=e=>{if(e&&"function"==typeof e[m])return n=e,e=>{const t=n[m]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)};if(P(e))return O(e);if(M(e))return(e=>t=>(e.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,o),t))(e);if(e&&"function"==typeof e[A])return t=e,e=>{const n=t[A]();for(;;){let t;try{t=n.next()}catch(r){return e.error(r),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e};{const t=c(e)?"an invalid object":`'${e}'`;throw new TypeError(`You provided ${t} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`)}var t,n};function N(e,t){return new y(n=>{const r=new h;let i=0;return r.add(t.schedule(function(){i!==e.length?(n.next(e[i++]),n.closed||r.add(this.schedule())):n.complete()})),r})}function j(e,t){return t?function(e,t){if(null!=e){if(function(e){return e&&"function"==typeof e[m]}(e))return function(e,t){return new y(n=>{const r=new h;return r.add(t.schedule(()=>{const i=e[m]();r.add(i.subscribe({next(e){r.add(t.schedule(()=>n.next(e)))},error(e){r.add(t.schedule(()=>n.error(e)))},complete(){r.add(t.schedule(()=>n.complete()))}}))})),r})}(e,t);if(M(e))return function(e,t){return new y(n=>{const r=new h;return r.add(t.schedule(()=>e.then(e=>{r.add(t.schedule(()=>{n.next(e),r.add(t.schedule(()=>n.complete()))}))},e=>{r.add(t.schedule(()=>n.error(e)))}))),r})}(e,t);if(P(e))return N(e,t);if(function(e){return e&&"function"==typeof e[A]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new y(n=>{const r=new h;let i;return r.add(()=>{i&&"function"==typeof i.return&&i.return()}),r.add(t.schedule(()=>{i=e[A](),r.add(t.schedule(function(){if(n.closed)return;let e,t;try{const n=i.next();e=n.value,t=n.done}catch(r){return void n.error(r)}t?n.complete():(n.next(e),this.schedule())}))})),r})}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}(e,t):e instanceof y?e:new y(R(e))}class L extends f{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class F extends f{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function D(e,t){if(t.closed)return;if(e instanceof y)return e.subscribe(t);let n;try{n=R(e)(t)}catch(r){t.error(r)}return n}function U(e,t,n=Number.POSITIVE_INFINITY){return"function"==typeof t?r=>r.pipe(U((n,r)=>j(e(n,r)).pipe(k((e,i)=>t(n,e,r,i))),n)):("number"==typeof t&&(n=t),t=>t.lift(new H(e,n)))}class H{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new z(e,this.project,this.concurrent))}}class z extends F{constructor(e,t,n=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active<this.concurrent?this._tryNext(e):this.buffer.push(e)}_tryNext(e){let t;const n=this.index++;try{t=this.project(e,n)}catch(r){return void this.destination.error(r)}this.active++,this._innerSub(t)}_innerSub(e){const t=new L(this),n=this.destination;n.add(t);const r=D(e,t);r!==t&&n.add(r)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyComplete(){const e=this.buffer;this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function V(e=Number.POSITIVE_INFINITY){return U(v,e)}function $(e,t){return t?N(e,t):new y(O(e))}function B(){return function(e){return e.lift(new q(e))}}class q{constructor(e){this.connectable=e}call(e,t){const{connectable:n}=this;n._refCount++;const r=new W(e,n),i=t.subscribe(r);return r.closed||(r.connection=n.connect()),i}}class W extends f{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:n}=this,r=e._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}class G extends y{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new h,e.add(this.source.subscribe(new Y(this.getSubject(),this))),e.closed&&(this._connection=null,e=h.EMPTY)),e}refCount(){return B()(this)}}const Q=(()=>{const e=G.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}})();class Y extends C{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function Z(){return new T}function J(e){for(let t in e)if(e[t]===J)return t;throw Error("Could not find renamed property on target object.")}function K(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(K).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 X(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const ee=J({__forward_ref__:J});function te(e){return e.__forward_ref__=te,e.toString=function(){return K(this())},e}function ne(e){return"function"==typeof(t=e)&&t.hasOwnProperty(ee)&&t.__forward_ref__===te?e():e;var t}
1class re extends Error{constructor(e,t){super(function(e,t){return`${e?`NG0${e}: `:""}${t}`}(e,t)),this.code=e}}function ie(e){return"string"==typeof e?e:null==e?"":String(e)}function se(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():ie(e)}function oe(e,t){const n=t?` in ${t}`:"";throw new re("201",`No provider for ${se(e)} found${n}`)}function ae(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function le(e){return{providers:e.providers||[],imports:e.imports||[]}}function ce(e){return ue(e,de)||ue(e,fe)}function ue(e,t){return e.hasOwnProperty(t)?e[t]:null}function he(e){return e&&(e.hasOwnProperty(pe)||e.hasOwnProperty(ge))?e[pe]:null}const de=J({"\u0275prov":J}),pe=J({"\u0275inj":J}),fe=J({ngInjectableDef:J}),ge=J({ngInjectorDef:J});var me=(()=>((me=me||{})[me.Default=0]="Default",me[me.Host=1]="Host",me[me.Self=2]="Self",me[me.SkipSelf=4]="SkipSelf",me[me.Optional=8]="Optional",me))();let ve;function ye(e){const t=ve;return ve=e,t}function be(e,t,n){const r=ce(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&me.Optional?null:void 0!==t?t:void oe(K(e),"Injector")}function we(e){return{toString:e}.toString()}var _e=(()=>((_e=_e||{})[_e.OnPush=0]="OnPush",_e[_e.Default=1]="Default",_e))(),Ce=(()=>((Ce=Ce||{})[Ce.Emulated=0]="Emulated",Ce[Ce.None=2]="None",Ce[Ce.ShadowDom=3]="ShadowDom",Ce))();const Te="undefined"!=typeof globalThis&&globalThis,Se="undefined"!=typeof window&&window,xe="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,ke="undefined"!=typeof global&&global,Ie=Te||ke||Se||xe,Ee={},Oe=[],Ae=J({"\u0275cmp":J}),Pe=J({"\u0275dir":J}),Me=J({"\u0275pipe":J}),Re=J({"\u0275mod":J}),Ne=J({"\u0275loc":J}),je=J({"\u0275fac":J}),Le=J({__NG_ELEMENT_ID__:J});let Fe=0;function De(e){return we(()=>{const t={},n={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===_e.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors||Oe,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||Ce.Emulated,id:"c",styles:e.styles||Oe,_:null,setInput:null,schemas:e.schemas||null,tView:null},r=e.directives,i=e.features,s=e.pipes;return n.id+=Fe++,n.inputs=$e(e.inputs,t),n.outputs=$e(e.outputs),i&&i.forEach(e=>e(n)),n.directiveDefs=r?()=>("function"==typeof r?r():r).map(Ue):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(He):null,n})}function Ue(e){return We(e)||function(e){return e[Pe]||null}(e)}function He(e){return function(e){return e[Me]||null}(e)}const ze={};function Ve(e){return we(()=>{const t={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};return null!=e.id&&(ze[e.id]=e.type),t})}function $e(e,t){if(null==e)return Ee;const n={};for(const r in e)if(e.hasOwnProperty(r)){let i=e[r],s=i;Array.isArray(i)&&(s=i[1],i=i[0]),n[i]=r,t&&(t[i]=s)}return n}const Be=De;function qe(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,onDestroy:e.type.prototype.ngOnDestroy||null}}function We(e){return e[Ae]||null}function Ge(e,t){const n=e[Re]||null;if(!n&&!0===t)throw new Error(`Type ${K(e)} does not have '\u0275mod' property.`);return n}const Qe=20,Ye=10;function Ze(e){return Array.isArray(e)&&"object"==typeof e[1]}function Je(e){return Array.isArray(e)&&!0===e[1]}function Ke(e){return 0!=(8&e.flags)}function Xe(e){return 2==(2&e.flags)}function et(e){return 1==(1&e.flags)}function tt(e){return null!==e.template}function nt(e,t){return e.hasOwnProperty(je)?e[je]:null}class rt{constructor(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}isFirstChange(){return this.firstChange}}function it(){return st}function st(e){return e.type.prototype.ngOnChanges&&(e.setInput=at),ot}function ot(){const e=lt(this),t=null==e?void 0:e.current;if(t){const n=e.previous;if(n===Ee)e.previous=t;else for(let e in t)n[e]=t[e];e.current=null,this.ngOnChanges(t)}}function at(e,t,n,r){const i=lt(e)||function(e,t){return e.__ngSimpleChanges__=t}(e,{previous:Ee,current:null}
vendor: 15,135 bytes, line 1
1),s=i.current||(i.current={}),o=i.previous,a=this.declaredInputs[n],l=o[a];s[a]=new rt(l&&l.currentValue,t,o===Ee),e[r]=t}function lt(e){return e.__ngSimpleChanges__||null}let ct;function ut(){return void 0!==ct?ct:"undefined"!=typeof document?document:void 0}function ht(e){return!!e.listen}it.ngInherit=!0;const dt={createRenderer:(e,t)=>ut()};function pt(e){for(;Array.isArray(e);)e=e[0];return e}function ft(e,t){return pt(t[e])}function gt(e,t){return pt(t[e.index])}function mt(e,t){return e.data[t]}function vt(e,t){const n=t[e];return Ze(n)?n:n[0]}function yt(e){return 4==(4&e[2])}function bt(e){return 128==(128&e[2])}function wt(e,t){return null==t?null:e[t]}function _t(e){e[18]=0}function Ct(e,t){e[5]+=t;let n=e,r=e[3];for(;null!==r&&(1===t&&1===n[5]||-1===t&&0===n[5]);)r[5]+=t,n=r,r=r[3]}const Tt={lFrame:Bt(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function St(){return Tt.bindingsEnabled}function xt(){return Tt.lFrame.lView}function kt(){return Tt.lFrame.tView}function It(e){return Tt.lFrame.contextLView=e,e[8]}function Et(){let e=Ot();for(;null!==e&&64===e.type;)e=e.parent;return e}function Ot(){return Tt.lFrame.currentTNode}function At(e,t){const n=Tt.lFrame;n.currentTNode=e,n.isParent=t}function Pt(){return Tt.lFrame.isParent}function Mt(){Tt.lFrame.isParent=!1}function Rt(){return Tt.isInCheckNoChangesMode}function Nt(e){Tt.isInCheckNoChangesMode=e}function jt(){return Tt.lFrame.bindingIndex++}function Lt(e,t){const n=Tt.lFrame;n.bindingIndex=n.bindingRootIndex=e,Ft(t)}function Ft(e){Tt.lFrame.currentDirectiveIndex=e}function Dt(){return Tt.lFrame.currentQueryIndex}function Ut(e){Tt.lFrame.currentQueryIndex=e}function Ht(e){const t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function zt(e,t,n){if(n&me.SkipSelf){let r=t,i=e;for(;r=r.parent,!(null!==r||n&me.Host||(r=Ht(i),null===r)||(i=i[15],10&r.type)););if(null===r)return!1;t=r,e=i}const r=Tt.lFrame=$t();return r.currentTNode=t,r.lView=e,!0}function Vt(e){const t=$t(),n=e[1];Tt.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function $t(){const e=Tt.lFrame,t=null===e?null:e.child;return null===t?Bt(e):t}function Bt(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 qt(){const e=Tt.lFrame;return Tt.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Wt=qt;function Gt(){const e=qt();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 Qt(){return Tt.lFrame.selectedIndex}function Yt(e){Tt.lFrame.selectedIndex=e}function Zt(){const e=Tt.lFrame;return mt(e.tView,e.selectedIndex)}function Jt(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n<r;n++){const t=e.data[n].type.prototype,{ngAfterContentInit:r,ngAfterContentChecked:i,ngAfterViewInit:s,ngAfterViewChecked:o,ngOnDestroy:a}=t;r&&(e.contentHooks||(e.contentHooks=[])).push(-n,r),i&&((e.contentHooks||(e.contentHooks=[])).push(n,i),(e.contentCheckHooks||(e.contentCheckHooks=[])).push(n,i)),s&&(e.viewHooks||(e.viewHooks=[])).push(-n,s),o&&((e.viewHooks||(e.viewHooks=[])).push(n,o),(e.viewCheckHooks||(e.viewCheckHooks=[])).push(n,o)),null!=a&&(e.destroyHooks||(e.destroyHooks=[])).push(n,a)}}function Kt(e,t,n){tn(e,t,3,n)}function Xt(e,t,n,r){(3&e[2])===n&&tn(e,t,n,r)}function en(e,t){let n=e[2];(3&n)===t&&(n&=2047,n+=1,e[2]=n)}function tn(e,t,n,r){const i=null!=r?r:-1,s=t.length-1;let o=0;for(let a=void 0!==r?65535&e[18]:0;a<s;a++)if("number"==typeof t[a+1]){if(o=t[a],null!=r&&o>=r)break}else t[a]<0&&(e[18]+=65536),(o<i||-1==i)&&(nn(e,n,t,a),e[18]=(4294901760&e[18])+a+2),a++}function nn(e,t,n,r){const i=n[r]<0,s=n[r+1],o=e[i?-n[r]:n[r]];if(i){if(e[2]>>11<e[18]>>16&&(3&e[2])===t){e[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}const rn=-1;class sn{constructor(e,t,n){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=n}}function on(e,t,n){const r=ht(e);let i=0;for(;i<n.length;){const s=n[i];if("number"==typeof s){if(0!==s)break;i++;const o=n[i++],a=n[i++],l=n[i++];r?e.setAttribute(t,a,l,o):t.setAttributeNS(o,a,l)}else{const o=s,a=n[++i];ln(o)?r&&e.setProperty(t,o,a):r?e.setAttribute(t,o,a):t.setAttribute(o,a),i++}}return i}function an(e){return 3===e||4===e||6===e}function ln(e){return 64===e.charCodeAt(0)}function cn(e,t){if(null===t||0===t.length);else if(null===e||0===e.length)e=t.slice();else{let n=-1;for(let r=0;r<t.length;r++){const i=t[r];"number"==typeof i?n=i:0===n||un(e,n,i,null,-1===n||2===n?t[++r]:null)}}return e}function un(e,t,n,r,i){let s=0,o=e.length;if(-1===t)o=-1;else for(;s<e.length;){const n=e[s++];if("number"==typeof n){if(n===t){o=-1;break}if(n>t){o=s-1;break}}}for(;s<e.length;){const t=e[s];if("number"==typeof t)break;if(t===n){if(null===r)return void(null!==i&&(e[s+1]=i));if(r===e[s+1])return void(e[s+2]=i)}s++,null!==r&&s++,null!==i&&s++}-1!==o&&(e.splice(o,0,t),s=o+1),e.splice(s++,0,n),null!==r&&e.splice(s++,0,r),null!==i&&e.splice(s++,0,i)}function hn(e){return e!==rn}function dn(e){return 32767&e}function pn(e,t){let n=e>>16,r=t;for(;n>0;)r=r[15],n--;return r}let fn=!0;function gn(e){const t=fn;return fn=e,t}let mn=0;function vn(e,t){const n=bn(e,t);if(-1!==n)return n;const r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,yn(r.data,e),yn(t,null),yn(r.blueprint,null));const i=wn(e,t),s=e.injectorIndex;if(hn(i)){const e=dn(i),n=pn(i,t),r=n[1].data;for(let i=0;i<8;i++)t[s+i]=n[e+i]|r[e+i]}return t[s+8]=i,s}function yn(e,t){e.push(0,0,0,0,0,0,0,0,t)}function bn(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wn(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,r=null,i=t;for(;null!==i;){const e=i[1],t=e.type;if(r=2===t?e.declTNode:1===t?i[6]:null,null===r)return rn;if(n++,i=i[15],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return rn}function _n(e,t,n){!function(e,t,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(Le)&&(r=n[Le]),null==r&&(r=n[Le]=mn++);const i=255&r;t.data[e+(i>>5)]|=1<<i}(e,t,n)}function Cn(e,t,n){if(n&me.Optional)return e;oe(t,"NodeInjector")}function Tn(e,t,n,r){if(n&me.Optional&&void 0===r&&(r=null),0==(n&(me.Self|me.Host))){const i=e[9],s=ye(void 0);try{return i?i.get(t,r,n&me.Optional):be(t,r,n&me.Optional)}finally{ye(s)}}return Cn(r,t,n)}function Sn(e,t,n,r=me.Default,i){if(null!==e){const s=function(e){if("string"==typeof e)return e.charCodeAt(0)||0;const t=e.hasOwnProperty(Le)?e[Le]:void 0;return"number"==typeof t?t>=0?255&t:kn:t}(n);if("function"==typeof s){if(!zt(t,e,r))return r&me.Host?Cn(i,n,r):Tn(t,n,r,i);try{const e=s(r);if(null!=e||r&me.Optional)return e;oe(n)}finally{Wt()}}else if("number"==typeof s){let i=null,o=bn(e,t),a=rn,l=r&me.Host?t[16][6]:null;for((-1===o||r&me.SkipSelf)&&(a=-1===o?wn(e,t):t[o+8],a!==rn&&Pn(r,!1)?(i=t[1],o=dn(a),t=pn(a,t)):o=-1);-1!==o;){const e=t[1];if(An(s,o,e.data)){const e=In(o,t,n,i,r,l);if(e!==xn)return e}a=t[o+8],a!==rn&&Pn(r,t[1].data[o+8]===l)&&An(s,o,t)?(i=e,o=dn(a),t=pn(a,t)):o=-1}}}return Tn(t,n,r,i)}const xn={};function kn(){return new Mn(Et(),xt())}function In(e,t,n,r,i,s){const o=t[1],a=o.data[e+8],l=En(a,o,n,null==r?Xe(a)&&fn:r!=o&&0!=(3&a.type),i&me.Host&&s===a);return null!==l?On(t,o,l,a):xn}function En(e,t,n,r,i){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,c=s>>20,u=i?a+c:e.directiveEnd;for(let h=r?a:a+c;h<u;h++){const e=o[h];if(h<l&&n===e||h>=l&&e.type===n)return h}if(i){const e=o[l];if(e&&tt(e)&&e.type===n)return l}return null}function On(e,t,n,r){let i=e[n];const s=t.data;if(i instanceof sn){const o=i;o.resolving&&function(e,t){throw new re("200",`Circular dependency in DI detected for ${e}`)}(se(s[n]));const a=gn(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?ye(o.injectImpl):null;zt(e,r,me.Default);try{i=e[n]=o.factory(void 0,s,e,r),t.firstCreatePass&&n>=r.directiveStart&&function(e,t,n){const{ngOnChanges:r,ngOnInit:i,ngDoCheck:s}=t.type.prototype;if(r){const r=st(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,r),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,r)}i&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,i),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s))}(n,s[n],t)}finally{null!==l&&ye(l),gn(a),o.resolving=!1,Wt()}}return i}function An(e,t,n){return!!(n[t+(e>>5)]&1<<e)}function Pn(e,t){return!(e&me.Self||e&me.Host&&t)}class Mn{constructor(e,t){this._tNode=e,this._lView=t}get(e,t){return Sn(this._tNode,this._lView,e,void 0,t)}}const Rn="__parameters__";function Nn(e,t,n){return we(()=>{const r=function(e){return function(...t){if(e){const n=e(...t);for(const e in n)this[e]=n[e]}}}(t);function i(...e){if(this instanceof i)return r.apply(this,e),this;const t=new i(...e);return n.annotation=t,n;function n(e,n,r){const i=e.hasOwnProperty(Rn)?e[Rn]:Object.defineProperty(e,Rn,{value:[]})[Rn];for(;i.length<=r;)i.push(null);return(i[r]=i[r]||[]).push(t),e}}return n&&(i.prototype=Object.create(n.prototype)),i.prototype.ngMetadataName=e,i.annotationCls=i,i})}class jn{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=ae({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Ln=new jn("AnalyzeForEntryComponents"),Fn=Function;function Dn(e,t){void 0===t&&(t=e);for(let n=0;n<e.length;n++){let r=e[n];Array.isArray(r)?(t===e&&(t=e.slice(0,n)),Dn(r,t)):t!==e&&t.push(r)}return t}function Un(e,t){e.forEach(e=>Array.isArray(e)?Un(e,t):t(e))}function Hn(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function zn(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vn(e,t){const n=[];for(let r=0;r<e;r++)n.push(t);return n}function $n(e,t,n){let r=qn(e,t);return r>=0?e[1|r]=n:(r=~r,function(e,t,n,r){let i=e.length;if(i==t)e.push(n,r);else if(1===i)e.push(r,e[0]),e[0]=n;else{for(i--,e.push(e[i-1],e[i]);i>t;)e[i]=e[i-2],i--;e[t]=n,e[t+1]=r}}(e,r,t,n)),r}function Bn(e,t){const n=qn(e,t);if(n>=0)return e[1|n]}function qn(e,t){return function(e,t,n){let r=0,i=e.length>>1;for(;i!==r;){const n=r+(i-r>>1),s=e[n<<1];if(t===s)return n<<1;s>t?i=n:r=n+1}return~(i<<1)}(e,t)}const Wn={},Gn=/\n/gm,Qn="__source",Yn=J({provide:String,useValue:J});let Zn;function Jn(e){const t=Zn;return Zn=e,t}function Kn(e,t=me.Default){if(void 0===Zn)throw new Error("inject() must be called from an injection context");return null===Zn?be(e,void 0,t):Zn.get(e,t&me.Optional?null:void 0,t)}function Xn(e,t=me.Default){return(ve||Kn)(ne(e),t)}function er(e){const t=[];for(let n=0;n<e.length;n++){const r=ne(e[n]);if(Array.isArray(r)){if(0===r.length)throw new Error("Arguments array must have arguments.");let e,n=me.Default;for(let t=0;t<r.length;t++){const i=r[t],s=i.__NG_DI_FLAG__;"number"==typeof s?-1===s?e=i.token:n|=s:e=i}t.push(Xn(e,n))}else t.push(Xn(r))}return t}function tr(e,t){return e.__NG_DI_FLAG__=t,e.prototype.__NG_DI_FLAG__=t,e}const nr=tr(Nn("Inject",e=>({token:e})),-1),rr=tr(Nn("Optional"),8),ir=tr(Nn("SkipSelf"),4);let sr,or;function ar(e){var t;return(null===(t=function(){if(void 0===sr&&(sr=null,Ie.trustedTypes))try{sr=Ie.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch(t){}return sr}())||void 0===t?void 0:t.createHTML(e))||e}function lr(e){var t;return(null===(t=function(){if(void 0===or&&(or=null,Ie.trustedTypes))try{or=Ie.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch(t){}return or}())||void 0===t?void 0:t.createHTML(e))||e}class cr{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class ur extends cr{getTypeName(){return"HTML"}}class hr extends cr{getTypeName(){return"Style"}}class dr extends cr{getTypeName(){return"Script"}}class pr extends cr{getTypeName(){return"URL"}}class fr extends cr{getTypeName(){return"ResourceURL"}}function gr(e){return e instanceof cr?e.changingThisBreaksApplicationSecurity:e}function mr(e,t){const n=vr(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===t}function vr(e){return e instanceof cr&&e.getTypeName()||null}class yr{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e="<body><remove></remove>"+e;try{const t=(new window.DOMParser).parseFromString(ar(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class br{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const t=this.inertDocument.createElement("body");e.appendChild(t)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=ar(e),t;const n=this.inertDocument.createElement("body");return n.innerHTML=ar(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0<r;r--){const n=t.item(r).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||e.removeAttribute(n)}let n=e.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const wr=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi,_r=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Cr(e){return(e=String(e)).match(wr)||e.match(_r)?e:"unsafe:"+e}function Tr(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function Sr(...e){const t={};for(const n of e)for(const e in n)n.hasOwnProperty(e)&&(t[e]=!0);return t}const xr=Tr("area,br,col,hr,img,wbr"),kr=Tr("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Ir=Tr("rp,rt"),Er=Sr(Ir,kr),Or=Sr(xr,Sr(kr,Tr("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Sr(Ir,Tr("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Er),Ar=Tr("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Pr=Tr("srcset"),Mr=Sr(Ar,Pr,Tr("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,c
1olspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Tr("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Rr=Tr("script,style,template");class Nr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,n=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?n=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,n&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let e=this.checkClobberedElement(t,t.nextSibling);if(e){t=e;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!Or.hasOwnProperty(t))return this.sanitizedSomething=!0,!Rr.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const n=e.attributes;for(let i=0;i<n.length;i++){const e=n.item(i),t=e.name,s=t.toLowerCase();if(!Mr.hasOwnProperty(s)){this.sanitizedSomething=!0;continue}let o=e.value;Ar[s]&&(o=Cr(o)),Pr[s]&&(r=o,o=(r=String(r)).split(",").map(e=>Cr(e.trim())).join(", ")),this.buf.push(" ",t,'="',Fr(o),'"')}var r;return this.buf.push(">"),!0}endElement(e){const t=e.nodeName.toLowerCase();Or.hasOwnProperty(t)&&!xr.hasOwnProperty(t)&&(this.buf.push("</"),this.buf.push(t),this.buf.push(">"))}chars(e){this.buf.push(Fr(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const jr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Lr=/([^\#-~ |!])/g;function Fr(e){return e.replace(/&/g,"&").replace(jr,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(Lr,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}let Dr;function Ur(e,t){let n=null;try{Dr=Dr||function(e){const t=new br(e);return function(){try{return!!(new window.DOMParser).parseFromString(ar(""),"text/html")}catch(e){return!1}}()?new yr(t):t}(e);let r=t?String(t):"";n=Dr.getInertBodyElement(r);let i=5,s=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=s,s=n.innerHTML,n=Dr.getInertBodyElement(r)}while(r!==s);return ar((new Nr).sanitizeChildren(Hr(n)||n))}finally{if(n){const e=Hr(n)||n;for(;e.firstChild;)e.removeChild(e.firstChild)}}}function Hr(e){return"content"in e&&function(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var zr=(()=>((zr=zr||{})[zr.NONE=0]="NONE",zr[zr.HTML=1]="HTML",zr[zr.STYLE=2]="STYLE",zr[zr.SCRIPT=3]="SCRIPT",zr[zr.URL=4]="URL",zr[zr.RESOURCE_URL=5]="RESOURCE_URL",zr))();function Vr(e){const t=Br();return t?lr(t.sanitize(zr.HTML,e)||""):mr(e,"HTML")?lr(gr(e)):Ur(ut(),ie(e))}function $r(e){const t=Br();return t?t.sanitize(zr.URL,e)||"":mr(e,"URL")?gr(e):Cr(ie(e))}function Br(){const e=xt();return e&&e[12]}function qr(e,t){e.__ngContext__=t}function Wr(e){const t=function(e){return e.__ngContext__||null}(e);return t?Array.isArray(t)?t:t.lView:null}function Gr(e){return e.ngOriginalError}function Qr(e,...t){e.error(...t)}class Yr{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),n=this._findContext(e),r=function(e){return e&&e.ngErrorLogger||Qr}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),n&&r(this._console,"ERROR CONTEXT",n)}_findContext(e){return e?function(e){return e.ngDebugContext}(e)||this._findContext(Gr(e)):null}_findOriginalError(e){let t=e&&Gr(e);for(;t&&Gr(t);)t=Gr(t);return t||null}}const Zr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ie))();function Jr(e){return e instanceof Function?e():e}var Kr=(()=>((Kr=Kr||{})[Kr.Important=1]="Important",Kr[Kr.DashCase=2]="DashCase",Kr))();function Xr(e,t){return(void 0)(e,t)}function ei(e){const t=e[3];return Je(t)?t[3]:t}function ti(e){return ri(e[13])}function ni(e){return ri(e[4])}function ri(e){for(;null!==e&&!Je(e);)e=e[4];return e}function ii(e,t,n,r,i){if(null!=r){let s,o=!1;Je(r)?s=r:Ze(r)&&(o=!0,r=r[0]);const a=pt(r);0===e&&null!==n?null==i?di(t,n,a):hi(t,n,a,i||null,!0):1===e&&null!==n?hi(t,n,a,i||null,!0):2===e?function(e,t,n){const r=fi(e,t);r&&function(e,t,n,r){ht(e)?e.removeChild(t,n,r):t.removeChild(n)}(e,r,t,n)}(t,a,o):3===e&&t.destroyNode(a),null!=s&&function(e,t,n,r,i){const s=n[7];s!==pt(n)&&ii(t,e,r,s,i);for(let o=Ye;o<n.length;o++){const i=n[o];Ci(i[1],i,e,t,r,s)}}(t,e,s,n,i)}}function si(e,t,n){return ht(e)?e.createElement(t,n):null===n?e.createElement(t):e.createElementNS(n,t)}function oi(e,t){const n=e[9],r=n.indexOf(t),i=t[3];1024&t[2]&&(t[2]&=-1025,Ct(i,-1)),n.splice(r,1)}function ai(e,t){if(e.length<=Ye)return;const n=Ye+t,r=e[n];if(r){const s=r[17];null!==s&&s!==e&&oi(s,r),t>0&&(e[n-1][4]=r[4]);const o=zn(e,Ye+t);Ci(r[1],i=r,i[11],2,null,null),i[0]=null,i[6]=null;const a=o[19];null!==a&&a.detachView(o[1]),r[3]=null,r[4]=null,r[2]&=-129}var i;return r}function li(e,t){if(!(256&t[2])){const n=t[11];ht(n)&&n.destroyNode&&Ci(e,t,n,3,null,null),function(e){let t=e[13];if(!t)return ci(e[1],e);for(;t;){let n=null;if(Ze(t))n=t[13];else{const e=t[10];e&&(n=e)}if(!n){for(;t&&!t[4]&&t!==e;)Ze(t)&&ci(t[1],t),t=t[3];null===t&&(t=e),Ze(t)&&ci(t[1],t),n=t&&t[4]}t=n}}(t)}}function ci(e,t){if(!(256&t[2])){t[2]&=-129,t[2]|=256,function(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let r=0;r<n.length;r+=2){const e=t[n[r]];if(!(e instanceof sn)){const t=n[r+1];if(Array.isArray(t))for(let n=0;n<t.length;n+=2){const r=e[t[n]],i=t[n+1];
vendor: 22,841 bytes, line 1
1try{i.call(r)}finally{}}else try{t.call(e)}finally{}}}}(e,t),function(e,t){const n=e.cleanup,r=t[7];let i=-1;if(null!==n)for(let s=0;s<n.length-1;s+=2)if("string"==typeof n[s]){const e=n[s+1],o="function"==typeof e?e(t):pt(t[e]),a=r[i=n[s+2]],l=n[s+3];"boolean"==typeof l?o.removeEventListener(n[s],a,l):l>=0?r[i=l]():r[i=-l].unsubscribe(),s+=2}else{const e=r[i=n[s+1]];n[s].call(e)}if(null!==r){for(let e=i+1;e<r.length;e++)(0,r[e])();t[7]=null}}(e,t),1===t[1].type&&ht(t[11])&&t[11].destroy();const n=t[17];if(null!==n&&Je(t[3])){n!==t[3]&&oi(n,t);const r=t[19];null!==r&&r.detachView(e)}}}function ui(e,t,n){return function(e,t,n){let r=t;for(;null!==r&&40&r.type;)r=(t=r).parent;if(null===r)return n[0];if(2&r.flags){const t=e.data[r.directiveStart].encapsulation;if(t===Ce.None||t===Ce.Emulated)return null}return gt(r,n)}(e,t.parent,n)}function hi(e,t,n,r,i){ht(e)?e.insertBefore(t,n,r,i):t.insertBefore(n,r,i)}function di(e,t,n){ht(e)?e.appendChild(t,n):t.appendChild(n)}function pi(e,t,n,r,i){null!==r?hi(e,t,n,r,i):di(e,t,n)}function fi(e,t){return ht(e)?e.parentNode(t):t.parentNode}function gi(e,t,n){return mi(e,t,n)}let mi=function(e,t,n){return 40&e.type?gt(e,n):null};function vi(e,t,n,r){const i=ui(e,r,t),s=t[11],o=gi(r.parent||t[6],r,t);if(null!=i)if(Array.isArray(n))for(let a=0;a<n.length;a++)pi(s,i,n[a],o,!1);else pi(s,i,n,o,!1)}function yi(e,t){if(null!==t){const n=t.type;if(3&n)return gt(t,e);if(4&n)return wi(-1,e[t.index]);if(8&n){const n=t.child;if(null!==n)return yi(e,n);{const n=e[t.index];return Je(n)?wi(-1,n):pt(n)}}if(32&n)return Xr(t,e)()||pt(e[t.index]);{const n=bi(e,t);return null!==n?Array.isArray(n)?n[0]:yi(ei(e[16]),n):yi(e,t.next)}}return null}function bi(e,t){return null!==t?e[16][6].projection[t.projection]:null}function wi(e,t){const n=Ye+e+1;if(n<t.length){const e=t[n],r=e[1].firstChild;if(null!==r)return yi(e,r)}return t[7]}function _i(e,t,n,r,i,s,o){for(;null!=n;){const a=r[n.index],l=n.type;if(o&&0===t&&(a&&qr(pt(a),r),n.flags|=4),64!=(64&n.flags))if(8&l)_i(e,t,n.child,r,i,s,!1),ii(t,e,i,a,s);else if(32&l){const o=Xr(n,r);let l;for(;l=o();)ii(t,e,i,l,s);ii(t,e,i,a,s)}else 16&l?Ti(e,t,r,n,i,s):ii(t,e,i,a,s);n=o?n.projectionNext:n.next}}function Ci(e,t,n,r,i,s){_i(n,r,e.firstChild,t,i,s,!1)}function Ti(e,t,n,r,i,s){const o=n[16],a=o[6].projection[r.projection];if(Array.isArray(a))for(let l=0;l<a.length;l++)ii(t,e,i,a[l],s);else _i(e,t,a,o[3],i,s,!0)}function Si(e,t,n){ht(e)?e.setAttribute(t,"style",n):t.style.cssText=n}function xi(e,t,n){ht(e)?""===n?e.removeAttribute(t,"class"):e.setAttribute(t,"class",n):t.className=n}function ki(e,t,n){let r=e.length;for(;;){const i=e.indexOf(t,n);if(-1===i)return i;if(0===i||e.charCodeAt(i-1)<=32){const n=t.length;if(i+n===r||e.charCodeAt(i+n)<=32)return i}n=i+1}}const Ii="ng-template";function Ei(e,t,n){let r=0;for(;r<e.length;){let i=e[r++];if(n&&"class"===i){if(i=e[r],-1!==ki(i.toLowerCase(),t,0))return!0}else if(1===i){for(;r<e.length&&"string"==typeof(i=e[r++]);)if(i.toLowerCase()===t)return!0;return!1}}return!1}function Oi(e){return 4===e.type&&e.value!==Ii}function Ai(e,t,n){return t===(4!==e.type||n?e.value:Ii)}function Pi(e,t,n){let r=4;const i=e.attrs||[],s=function(e){for(let t=0;t<e.length;t++)if(an(e[t]))return t;return e.length}(i);let o=!1;for(let a=0;a<t.length;a++){const l=t[a];if("number"!=typeof l){if(!o)if(4&r){if(r=2|1&r,""!==l&&!Ai(e,l,n)||""===l&&1===t.length){if(Mi(r))return!1;o=!0}}else{const c=8&r?l:t[++a];if(8&r&&null!==e.attrs){if(!Ei(e.attrs,c,n)){if(Mi(r))return!1;o=!0}continue}const u=Ri(8&r?"class":l,i,Oi(e),n);if(-1===u){if(Mi(r))return!1;o=!0;continue}if(""!==c){let e;e=u>s?"":i[u+1].toLowerCase();const t=8&r?e:null;if(t&&-1!==ki(t,c,0)||2&r&&c!==e){if(Mi(r))return!1;o=!0}}}}else{if(!o&&!Mi(r)&&!Mi(l))return!1;if(o&&Mi(l))continue;o=!1,r=l|1&r}}return Mi(r)||o}function Mi(e){return 0==(1&e)}function Ri(e,t,n,r){if(null===t)return-1;let i=0;if(r||!n){let n=!1;for(;i<t.length;){const r=t[i];if(r===e)return i;if(3===r||6===r)n=!0;else{if(1===r||2===r){let e=t[++i];for(;"string"==typeof e;)e=t[++i];continue}if(4===r)break;if(0===r){i+=4;continue}}i+=n?1:2}return-1}return function(e,t){let n=e.indexOf(4);if(n>-1)for(n++;n<e.length;){const r=e[n];if("number"==typeof r)return-1;if(r===t)return n;n++}return-1}(t,e)}function Ni(e,t,n=!1){for(let r=0;r<t.length;r++)if(Pi(e,t[r],n))return!0;return!1}function ji(e,t){e:for(let n=0;n<t.length;n++){const r=t[n];if(e.length===r.length){for(let t=0;t<e.length;t++)if(e[t]!==r[t])continue e;return!0}}return!1}function Li(e,t){return e?":not("+t.trim()+")":t}function Fi(e){let t=e[0],n=1,r=2,i="",s=!1;for(;n<e.length;){let o=e[n];if("string"==typeof o)if(2&r){const t=e[++n];i+="["+o+(t.length>0?'="'+t+'"':"")+"]"}else 8&r?i+="."+o:4&r&&(i+=" "+o);else""===i||Mi(o)||(t+=Li(s,i),i=""),r=o,s=s||!Mi(r);n++}return""!==i&&(t+=Li(s,i)),t}const Di={};function Ui(e){Hi(kt(),xt(),Qt()+e,Rt())}function Hi(e,t,n,r){if(!r)if(3==(3&t[2])){const r=e.preOrderCheckHooks;null!==r&&Kt(t,r,n)}else{const r=e.preOrderHooks;null!==r&&Xt(t,r,0,n)}Yt(n)}function zi(e,t){return e<<17|t<<2}function Vi(e){return e>>17&32767}function $i(e){return 2|e}function Bi(e){return(131068&e)>>2}function qi(e,t){return-131069&e|t<<2}function Wi(e){return 1|e}function Gi(e,t){const n=e.contentQueries;if(null!==n)for(let r=0;r<n.length;r+=2){const i=n[r],s=n[r+1];if(-1!==s){const n=e.data[s];Ut(i),n.contentQueries(2,t[s],s)}}}function Qi(e,t,n,r,i,s,o,a,l,c){const u=t.blueprint.slice();return u[0]=i,u[2]=140|r,_t(u),u[3]=u[15]=e,u[8]=n,u[10]=o||e&&e[10],u[11]=a||e&&e[11],u[12]=l||e&&e[12]||null,u[9]=c||e&&e[9]||null,u[6]=s,u[16]=2==t.type?e[16]:u,u}function Yi(e,t,n,r,i){let s=e.data[t];if(null===s)s=function(e,t,n,r,i){const s=Ot(),o=Pt(),a=e.data[t]=function(e,t,n,r,i,s){return{type:n,index:r,insertBeforeIndex:null,injectorIndex:t?t.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:i,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next: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,o?s:s&&s.parent,n,t,r,i);return null===e.firstChild&&(e.firstChild=a),null!==s&&(o?null==s.child&&null!==a.parent&&(s.child=a):null===s.next&&(s.next=a)),a}(e,t,n,r,i),Tt.lFrame.inI18n&&(s.flags|=64);else if(64&s.type){s.type=n,s.value=r,s.attrs=i;const e=function(){const e=Tt.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===e?-1:e.injectorIndex}return At(s,!0),s}function Zi(e,t,n,r){if(0===n)return-1;const i=t.length;for(let s=0;s<n;s++)t.push(r),e.blueprint.push(r),e.data.push(null);return i}function Ji(e,t,n){Vt(t);try{const r=e.viewQuery;null!==r&&Is(1,r,n);const i=e.template;null!==i&&es(e,t,i,1,n),e.firstCreatePass&&(e.firstCreatePass=!1),e.staticContentQueries&&Gi(e,t),e.staticViewQueries&&Is(2,e.viewQuery,n);const s=e.components;null!==s&&function(e,t){for(let n=0;n<t.length;n++)Cs(e,t[n])}(t,s)}catch(r){throw e.firstCreatePass&&(e.incompleteFirstPass=!0),r}finally{t[2]&=-5,Gt()}}function Ki(e,t,n,r){const i=t[2];if(256==(256&i))return;Vt(t);const s=Rt();try{_t(t),Tt.lFrame.bindingIndex=e.bindingStartIndex,null!==n&&es(e,t,n,2,r);const o=3==(3&i);if(!s)if(o){const n=e.preOrderCheckHooks;null!==n&&Kt(t,n,null)}else{const n=e.preOrderHooks;null!==n&&Xt(t,n,0,null),en(t,0)}if(function(e){for(let t=ti(e);null!==t;t=ni(t)){if(!t[2])continue;const e=t[9];for(let t=0;t<e.length;t++){const n=e[t],r=n[3];0==(1024&n[2])&&Ct(r,1),n[2]|=1024}}}(t),function(e){for(let t=ti(e);null!==t;t=ni(t))for(let e=Ye;e<t.length;e++){const n=t[e],r=n[1];bt(n)&&Ki(r,n,r.template,n[8])}}(t),null!==e.contentQueries&&Gi(e,t),!s)if(o){const n=e.contentCheckHooks;null!==n&&Kt(t,n)}else{const n=e.contentHooks;null!==n&&Xt(t,n,1),en(t,1)}!function(e,t){const n=e.hostBindingOpCodes;if(null!==n)try{for(let e=0;e<n.length;e++){const r=n[e];if(r<0)Yt(~r);else{const i=r,s=n[++e],o=n[++e];Lt(s,i),o(2,t[i])}}}finally{Yt(-1)}}(e,t);const a=e.components;null!==a&&function(e,t){for(let n=0;n<t.length;n++)ws(e,t[n])}(t,a);const l=e.viewQuery;if(null!==l&&Is(2,l,r),!s)if(o){const n=e.viewCheckHooks;null!==n&&Kt(t,n)}else{const n=e.viewHooks;null!==n&&Xt(t,n,2),en(t,2)}!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),s||(t[2]&=-73),1024&t[2]&&(t[2]&=-1025,Ct(t[3],-1))}finally{Gt()}}function Xi(e,t,n,r){const i=t[10],s=!Rt(),o=yt(t);try{s&&!o&&i.begin&&i.begin(),o&&Ji(e,t,r),Ki(e,t,n,r)}finally{s&&!o&&i.end&&i.end()}}function es(e,t,n,r,i){const s=Qt(),o=2&r;try{Yt(-1),o&&t.length>Qe&&Hi(e,t,Qe,Rt()),n(r,i)}finally{Yt(s)}}function ts(e,t,n){if(Ke(t)){const r=t.directiveEnd;for(let i=t.directiveStart;i<r;i++){const t=e.data[i];t.contentQueries&&t.contentQueries(1,n[i],i)}}}function ns(e,t,n){St()&&(function(e,t,n,r){const i=n.directiveStart,s=n.directiveEnd;e.firstCreatePass||vn(n,t),qr(r,t);const o=n.initialInputs;for(let a=i;a<s;a++){const r=e.data[a],s=tt(r);s&&ms(t,n,r);const l=On(t,e,a,n);qr(l,t),null!==o&&vs(0,a-i,l,r,0,o),s&&(vt(n.index,t)[8]=l)}}(e,t,n,gt(n,t)),128==(128&n.flags)&&function(e,t,n){const r=n.directiveStart,i=n.directiveEnd,s=n.index,o=Tt.lFrame.currentDirectiveIndex;try{Yt(s);for(let n=r;n<i;n++){const r=e.data[n],i=t[n];Ft(n),null===r.hostBindings&&0===r.hostVars&&null===r.hostAttrs||hs(r,i)}}finally{Yt(-1),Ft(o)}}(e,t,n))}function rs(e,t,n=gt){const r=t.localNames;if(null!==r){let i=t.index+1;for(let s=0;s<r.length;s+=2){const o=r[s+1],a=-1===o?n(t,e):e[o];e[i++]=a}}}function is(e){const t=e.tView;return null===t||t.incompleteFirstPass?e.tView=ss(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts):t}function ss(e,t,n,r,i,s,o,a,l,c){const u=Qe+r,h=u+i,d=function(e,t){const n=[];for(let r=0;r<t;r++)n.push(r<e?null:Di);return n}(u,h),p="function"==typeof c?c():c;return d[1]={type:e,blueprint:d,template:n,queries:null,viewQuery:a,declTNode:t,data:d.slice().fill(null,u),bindingStartIndex:u,expandoStartIndex:h,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:p,incompleteFirstPass:!1}}function os(e,t,n,r){const i=Os(t);null===n?i.push(r):(i.push(n),e.firstCreatePass&&As(e).push(r,i.length-1))}function as(e,t,n){for(let r in e)if(e.hasOwnProperty(r)){const i=e[r];(n=null===n?{}:n).hasOwnProperty(r)?n[r].push(t,i):n[r]=[t,i]}return n}function ls(e,t,n,r,i,s,o,a){const l=gt(t,n);let c,u=t.inputs;var h;!a&&null!=u&&(c=u[r])?(Ms(e,n,c,r,i),Xe(t)&&function(e,t){const n=vt(t,e);16&n[2]||(n[2]|=64)}(n,t.index)):3&t.type&&(r="class"===(h=r)?"className":"for"===h?"htmlFor":"formaction"===h?"formAction":"innerHtml"===h?"innerHTML":"readonly"===h?"readOnly":"tabindex"===h?"tabIndex":h,i=null!=o?o(i,t.value||"",r):i,ht(s)?s.setProperty(l,r,i):ln(r)||(l.setProperty?l.setProperty(r,i):l[r]=i))}function cs(e,t,n,r){let i=!1;if(St()){const s=function(e,t,n){const r=e.directiveRegistry;let i=null;if(r)for(let s=0;s<r.length;s++){const o=r[s];Ni(n,o.selectors,!1)&&(i||(i=[]),_n(vn(n,t),e,o.type),tt(o)?(ds(e,n),i.unshift(o)):i.push(o))}return i}(e,t,n),o=null===r?null:{"":-1};if(null!==s){i=!0,fs(n,e.data.length,s.length);for(let e=0;e<s.length;e++){const t=s[e];t.providersResolver&&t.providersResolver(t)}let r=!1,a=!1,l=Zi(e,t,s.length,null);for(let i=0;i<s.length;i++){const c=s[i];n.mergedAttrs=cn(n.mergedAttrs,c.hostAttrs),gs(e,n,t,l,c),ps(l,c,o),null!==c.contentQueries&&(n.flags|=8),null===c.hostBindings&&null===c.hostAttrs&&0===c.hostVars||(n.flags|=128);const u=c.type.prototype;!r&&(u.ngOnChanges||u.ngOnInit||u.ngDoCheck)&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n.index),r=!0),a||!u.ngOnChanges&&!u.ngDoCheck||((e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n.index),a=!0),l++}!function(e,t){const n=t.directiveEnd,r=e.data,i=t.attrs,s=[];let o=null,a=null;for(let l=t.directiveStart;l<n;l++){const e=r[l],n=e.inputs,c=null===i||Oi(t)?null:ys(n,i);s.push(c),o=as(n,l,o),a=as(e.outputs,l,a)}null!==o&&(o.hasOwnProperty("class")&&(t.flags|=16),o.hasOwnProperty("style")&&(t.flags|=32)),t.initialInputs=s,t.inputs=o,t.outputs=a}(e,n)}o&&function(e,t,n){if(t){const r=e.localNames=[];for(let e=0;e<t.length;e+=2){const i=n[t[e+1]];if(null==i)throw new re("301",`Export of name '${t[e+1]}' not found!`);r.push(t[e],i)}}}(n,r,o)}return n.mergedAttrs=cn(n.mergedAttrs,n.attrs),i}function us(e,t,n,r,i,s){const o=s.hostBindings;if(o){let n=e.hostBindingOpCodes;null===n&&(n=e.hostBindingOpCodes=[]);const s=~t.index;(function(e){let t=e.length;for(;t>0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(r,i,o)}}function hs(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function ds(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function ps(e,t,n){if(n){if(t.exportAs)for(let r=0;r<t.exportAs.length;r++)n[t.exportAs[r]]=e;tt(t)&&(n[""]=e)}}function fs(e,t,n){e.flags|=1,e.directiveStart=t,e.directiveEnd=t+n,e.providerIndexes=t}function gs(e,t,n,r,i){e.data[r]=i;const s=i.factory||(i.factory=nt(i.type)),o=new sn(s,tt(i),null);e.blueprint[r]=o,n[r]=o,us(e,t,0,r,Zi(e,n,i.hostVars,Di),i)}function ms(e,t,n){const r=gt(t,e),i=is(n),s=e[10],o=Ts(e,Qi(e,i,null,n.onPush?64:16,r,t,s,s.createRenderer(r,n),null,null));e[t.index]=o}function vs(e,t,n,r,i,s){const o=s[t];if(null!==o){const e=r.setInput;for(let t=0;t<o.length;){const i=o[t++],s=o[t++],a=o[t++];null!==e?r.setInput(n,a,i,s):n[s]=a}}}function ys(e,t){let n=null,r=0;for(;r<t.length;){const i=t[r];if(0!==i)if(5!==i){if("number"==typeof i)break;e.hasOwnProperty(i)&&(null===n&&(n=[]),n.push(i,e[i],t[r+1])),r+=2}else r+=2;else r+=4}return n}function bs(e,t,n,r){return new Array(e,!0,!1,t,null,0,r,n,null,null)}function ws(e,t){const n=vt(t,e);if(bt(n)){const e=n[1];80&n[2]?Ki(e,n,e.template,n[8]):n[5]>0&&_s(n)}}function _s(e){for(let n=ti(e);null!==n;n=ni(n))for(let e=Ye;e<n.length;e++){const t=n[e];if(1024&t[2]){const e=t[1];Ki(e,t,e.template,t[8])}else t[5]>0&&_s(t)}const t=e[1].components;if(null!==t)for(let n=0;n<t.length;n++){const r=vt(t[n],e);bt(r)&&r[5]>0&&_s(r)}}function Cs(e,t){const n=vt(t,e),r=n[1];!function(e,t){for(let n=t.length;n<e.blueprint.length;n++)t.push(e.blueprint[n])}(r,n),Ji(r,n,n[8])}function Ts(e,t){return e[13]?e[14][4]=t:e[13]=t,e[14]=t,t}function Ss(e){for(;e;){e[2]|=64;const t=ei(e);if(0!=(512&e[2])&&!t)return e;e=t}return null}function xs(e,t,n){const r=t[10];r.begin&&r.begin();try{Ki(e,t,e.template,n)}catch(i){throw Ps(t,i),i}finally{r.end&&r.end()}}function ks(e){!function(e){for(let t=0;t<e.components.length;t++){const n=e.components[t],r=Wr(n),i=r[1];Xi(i,r,i.template,n)}}(e[8])}function Is(e,t,n){Ut(0),t(e,n)}const Es=(()=>Promise.resolve(null))();function Os(e){return e[7]||(e[7]=[])}function As(e){return e.cleanup||(e.cleanup=[])}function Ps(e,t){const n=e[9],r=n?n.get(Yr,null):null;r&&r.handleError(t)}function Ms(e,t,n,r,i){for(let s=0;s<n.length;){const o=n[s++],a=n[s++],l=t[o],c=e.data[o];null!==c.setInput?c.setInput(l,i,r,a):l[a]=i}}function Rs(e,t,n){let r=n?e.styles:null,i=n?e.classes:null,s=0;if(null!==t)for(let o=0;o<t.length;o++){const e=t[o];"number"==typeof e?s=e:1==s?i=X(i,e):2==s&&(r=X(r,e+": "+t[++o]+";"))}n?e.styles=r:e.stylesWithoutHost=r,n?e.classes=i:e.classesWithoutHost=i}const Ns=new jn("INJECTOR",-1);class js{get(e,t=Wn){if(t===Wn){const t=new Error(`NullInjectorError: No provider for ${K(e)}!`);throw t.name="NullInjectorError",t}return t}}const Ls=new jn("Set Injector scope."),Fs={},Ds={};let Us;function Hs(){return void 0===Us&&(Us=new js),Us}function zs(e,t=null,n=null,r){return new Vs(e,n,t||Hs(),r)}class Vs{constructor(e,t,n,r=null){this.parent=n,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const i=[];t&&Un(t,n=>this.processProvider(n,e,t)),Un([e],e=>this.processInjectorType(e,[],i)),this.records.set(Ns,Bs(void 0,this));const s=this.records.get(Ls);this.scope=null!=s?s.value:null,this.source=r||("object"==typeof e?null:K(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Wn,n=me.Default){this.assertNotDestroyed();const r=Jn(this),i=ye(void 0);try{if(!(n&me.SkipSelf)){let t=this.records.get(e);if(void 0===t){const n=("function"==typeof(s=e)||"object"==typeof s&&s instanceof jn)&&ce(e);t=n&&this.injectableDefInScope(n)?Bs($s(e),Fs):null,this.records.set(e,t)}if(null!=t)return this.hydrate(e,t)}return(n&me.Self?Hs():this.parent).get(e,t=n&me.Optional&&t===Wn?null:t)}catch(o){if("NullInjectorError"===o.name){if((o.ngTempTokenPath=o.ngTempTokenPath||[]).unshift(K(e)),r)throw o;return function(e,t,n,r){const i=e.ngTempTokenPath;throw t[Qn]&&i.unshift(t[Qn]),e.message=function(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.substr(2):e;let i=K(t);if(Array.isArray(t))i=t.map(K).join(" -> ");else if("object"==typeof t){let e=[];for(let n in t)if(t.hasOwnProperty(n)){let r=t[n];e.push(n+":"+("string"==typeof r?JSON.stringify(r):K(r)))}i=`{${e.join(", ")}}`}return`${n}${r?"("+r+")":""}[${i}]: ${e.replace(Gn,"\n ")}`}("\n"+e.message,i,n,r),e.ngTokenPath=i,e.ngTempTokenPath=null,e}(o,e,"R3InjectorError",this.source)}throw o}finally{ye(i),Jn(r)}var s}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((t,n)=>e.push(K(n))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,n){if(!(e=ne(e)))return!1;let r=he(e);const i=null==r&&e.ngModule||void 0,s=void 0===i?e:i,o=-1!==n.indexOf(s);if(void 0!==i&&(r=he(i)),null==r)return!1;if(null!=r.imports&&!o){let e;n.push(s);try{Un(r.imports,r=>{this.processInjectorType(r,t,n)&&(void 0===e&&(e=[]),e.push(r))})}finally{}if(void 0!==e)for(let t=0;t<e.length;t++){const{ngModule:n,providers:r}=e[t];Un(r,e=>this.processProvider(e,n,r||Oe))}}this.injectorDefTypes.add(s);const a=nt(s)||(()=>new s);this.records.set(s,Bs(a,Fs));const l=r.providers;if(null!=l&&!o){const t=e;Un(l,e=>this.processProvider(e,t,l))}return void 0!==i&&void 0!==e.providers}processProvider(e,t,n){let r=Ws(e=ne(e))?e:ne(e&&e.provide);const i=function(e,t,n){return qs(e)?Bs(void 0,e.useValue):Bs(function(e,t,n){let r;if(Ws(e)){const t=ne(e);return nt(t)||$s(t)}if(qs(e))r=()=>ne(e.useValue);else if((i=e)&&i.useFactory)r=()=>e.useFactory(...er(e.deps||[]));else if(function(e){return!(!e||!e.useExisting)}(e))r=()=>Xn(ne(e.useExisting));else{const t=ne(e&&(e.useClass||e.provide));if(!function(e){return!!e.deps}(e))return nt(t)||$s(t);r=()=>new t(...er(e.deps))}var i;return r}(e),Fs)}(e);if(Ws(e)||!0!==e.multi)this.records.get(r);else{let t=this.records.get(r);t||(t=Bs(void 0,Fs,!0),t.factory=()=>er(t.multi),this.records.set(r,t)),r=e,t.multi.push(e)}this.records.set(r,i)}hydrate(e,t){var n;return t.value===Fs&&(t.value=Ds,t.value=t.factory()),"object"==typeof t.value&&t.value&&null!==(n=t.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=ne(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function $s(e){const t=ce(e),n=null!==t?t.factory:nt(e);if(null!==n)return n;if(e instanceof jn)throw new Error(`Token ${K(e)} is missing a \u0275prov definition.`);if(e instanceof Function)return function(e){const t=e.length;if(t>0){const n=Vn(t,"?");throw new Error(`Can't resolve all parameters for ${K(e)}: (${n.join(", ")}).`)}const n=function(e){const t=e&&(e[de]||e[fe]);if(t){const n=function(e){if(e.hasOwnProperty("name"))return e.name;const t=(""+e).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(e);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),t}return null}(e);return null!==n?()=>n.factory(e):()=>new e}(e);throw new Error("unreachable")}function Bs(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function qs(e){return null!==e&&"object"==typeof e&&Yn in e}function Ws(e){return"function"==typeof e}const Gs=function(e,t,n){return function(e,t=null,n=null,r){const i=zs(e,t,n,r);return i._resolveInjectorDefTypes(),i}({name:n},t,e,n)};class Qs{static create(e,t){return Array.isArray(e)?Gs(e,t,""):Gs(e.providers,e.parent,e.name||"")}}function Ys(e,t){Jt(Wr(e)[1],Et())}Qs.THROW_IF_NOT_FOUND=Wn,Qs.NULL=new js,Qs.\u0275prov=ae({token:Qs,providedIn:"any",factory:()=>Xn(Ns)}),Qs.__NG_ELEMENT_ID__=-1;let Zs=null;function Js(){if(!Zs){const e=Ie.Symbol;if(e&&e.iterator)Zs=e.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;t<e.length;++t){const n=e[t];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(Zs=n)}}}return Zs}class Ks{constructor(e){this.wrapped=e}static wrap(e){return new Ks(e)}static unwrap(e){return Ks.isWrapped(e)?e.wrapped:e}static isWrapped(e){return e instanceof Ks}}function Xs(e){return!!eo(e)&&(Array.isArray(e)||!(e instanceof Map)&&Js()in e)}function eo(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function to(e,t,n){return!Object.is(e[t],n)&&(e[t]=n,!0)}function no(e,t,n,r){const i=xt();return to(i,jt(),t)&&(kt(),function(e,t,n,r,i,s){const o=gt(e,t);!function(e,t,n,r,i,s,o){if(null==s)ht(e)?e.removeAttribute(t,i,n):t.removeAttribute(i);else{const a=null==o?ie(s):o(s,r||"",i);ht(e)?e.setAttribute(t,i,a,n):n?t.setAttributeNS(n,i,a):t.setAttribute(i,a)}}(t[11],o,s,e.value,n,r,i)}(Zt(),i,e,t,n,r)),no}function ro(e,t,n,r,i,s,o,a){const l=xt(),c=kt(),u=e+Qe,h=c.firstCreatePass?function(e,t,n,r,i,s,o,a,l){const c=t.consts,u=Yi(t,e,4,o||null,wt(c,a));cs(t,n,u,wt(c,l)),Jt(t,u);const h=u.tViews=ss(2,u,r,i,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,n,r,i,s,o):c.data[u];At(h,!1);const d=l[11].createComment("");vi(c,l,d,h),qr(d,l),Ts(l,l[u]=bs(d,l,d,h)),et(h)&&ns(c,l,h),null!=o&&rs(l,h,a)}function io(e,t=me.Default){const n=xt();return null===n?Xn(e,t):Sn(Et(),n,ne(e),t)}function so(e,t,n){const r=xt();return to(r,jt(),t)&&ls(kt(),Zt(),r,e,t,r[11],n,!1),so}function oo(e,t,n,r,i){const s=i?"class":"style";
1Ms(e,n,t.inputs[s],s,r)}function ao(e,t,n,r){const i=xt(),s=kt(),o=Qe+e,a=i[11],l=i[o]=si(a,t,Tt.lFrame.currentNamespace),c=s.firstCreatePass?function(e,t,n,r,i,s,o){const a=t.consts,l=Yi(t,e,2,i,wt(a,s));return cs(t,n,l,wt(a,o)),null!==l.attrs&&Rs(l,l.attrs,!1),null!==l.mergedAttrs&&Rs(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,i,0,t,n,r):s.data[o];At(c,!0);const u=c.mergedAttrs;null!==u&&on(a,l,u);const h=c.classes;null!==h&&xi(a,l,h);const d=c.styles;null!==d&&Si(a,l,d),64!=(64&c.flags)&&vi(s,i,l,c),0===Tt.lFrame.elementDepthCount&&qr(l,i),Tt.lFrame.elementDepthCount++,et(c)&&(ns(s,i,c),ts(s,c,i)),null!==r&&rs(i,c)}function lo(){let e=Et();Pt()?Mt():(e=e.parent,At(e,!1));const t=e;Tt.lFrame.elementDepthCount--;const n=kt();n.firstCreatePass&&(Jt(n,e),Ke(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function(e){return 0!=(16&e.flags)}(t)&&oo(n,t,xt(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function(e){return 0!=(32&e.flags)}(t)&&oo(n,t,xt(),t.stylesWithoutHost,!1)}function co(e,t,n,r){ao(e,t,n,r),lo()}function uo(e,t,n){const r=xt(),i=kt(),s=e+Qe,o=i.firstCreatePass?function(e,t,n,r,i){const s=t.consts,o=wt(s,r),a=Yi(t,e,8,"ng-container",o);return null!==o&&Rs(a,o,!0),cs(t,n,a,wt(s,i)),null!==t.queries&&t.queries.elementStart(t,a),a}(s,i,r,t,n):i.data[s];At(o,!0);const a=r[s]=r[11].createComment("");vi(i,r,a,o),qr(a,r),et(o)&&(ns(i,r,o),ts(i,o,r)),null!=n&&rs(r,o)}function ho(){let e=Et();const t=kt();Pt()?Mt():(e=e.parent,At(e,!1)),t.firstCreatePass&&(Jt(t,e),Ke(e)&&t.queries.elementEnd(e))}function po(){return xt()}function fo(e){return!!e&&"function"==typeof e.then}const go=function(e){return!!e&&"function"==typeof e.subscribe};function mo(e,t,n,r){const i=xt(),s=kt(),o=Et();return function(e,t,n,r,i,s,o,a){const l=et(r),c=e.firstCreatePass&&As(e),u=Os(t);let h=!0;if(3&r.type||a){const d=gt(r,t),p=a?a(d):d,f=u.length,g=a?e=>a(pt(e[r.index])):r.index;if(ht(n)){let o=null;if(!a&&l&&(o=function(e,t,n,r){const i=e.cleanup;if(null!=i)for(let s=0;s<i.length-1;s+=2){const e=i[s];if(e===n&&i[s+1]===r){const e=t[7],n=i[s+2];return e.length>n?e[n]:null}"string"==typeof e&&(s+=2)}return null}(e,t,i,r.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,h=!1;else{s=yo(r,t,0,s,!1);const e=n.listen(p,i,s);u.push(s,e),c&&c.push(i,g,f,f+1)}}else s=yo(r,t,0,s,!0),p.addEventListener(i,s,o),u.push(s),c&&c.push(i,g,f,o)}else s=yo(r,t,0,s,!1);const d=r.outputs;let p;if(h&&null!==d&&(p=d[i])){const e=p.length;if(e)for(let n=0;n<e;n+=2){const e=t[p[n]][p[n+1]].subscribe(s),o=u.length;u.push(s,e),c&&c.push(i,r.index,o,-(o+1))}}}(s,i,i[11],o,e,t,!!n,r),mo}function vo(e,t,n,r){try{return!1!==n(r)}catch(i){return Ps(e,i),!1}}function yo(e,t,n,r,i){return function n(s){if(s===Function)return r;const o=2&e.flags?vt(e.index,t):t;0==(32&t[2])&&Ss(o);let a=vo(t,0,r,s),l=n.__ngNextListenerFn__;for(;l;)a=vo(t,0,l,s)&&a,l=l.__ngNextListenerFn__;return i&&!1===a&&(s.preventDefault(),s.returnValue=!1),a}}function bo(e=1){return function(e){return(Tt.lFrame.contextLView=function(e,t){for(;e>0;)t=t[15],e--;return t}(e,Tt.lFrame.contextLView))[8]}(e)}function wo(e,t){let n=null;const r=function(e){const t=e.attrs;if(null!=t){const e=t.indexOf(5);if(0==(1&e))return t[e+1]}return null}(e);for(let i=0;i<t.length;i++){const s=t[i];if("*"!==s){if(null===r?Ni(e,s,!0):ji(r,s))return i}else n=i}return n}function _o(e){const t=xt()[16][6];if(!t.projection){const n=t.projection=Vn(e?e.length:1,null),r=n.slice();let i=t.child;for(;null!==i;){const t=e?wo(i,e):0;null!==t&&(r[t]?r[t].projectionNext=i:n[t]=i,r[t]=i),i=i.next}}}function Co(e,t=0,n){const r=xt(),i=kt(),s=Yi(i,Qe+e,16,null,n||null);null===s.projection&&(s.projection=t),Mt(),64!=(64&s.flags)&&function(e,t,n){Ti(t[11],0,t,n,ui(e,n,t),gi(n.parent||t[6],n,t))}(i,r,s)}function To(e,t,n,r,i){const s=e[n+1],o=null===t;let a=r?Vi(s):Bi(s),l=!1;for(;0!==a&&(!1===l||o);){const n=e[a+1];So(e[a],t)&&(l=!0,e[a+1]=r?Wi(n):$i(n)),a=r?Vi(n):Bi(n)}l&&(e[n+1]=r?$i(s):Wi(s))}function So(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&qn(e,t)>=0}function xo(e,t){return function(e,t,n,r){const i=xt(),s=kt(),o=function(e){const t=Tt.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+2,n}();s.firstUpdatePass&&function(e,t,n,r){const i=e.data;if(null===i[n+1]){const s=i[Qt()],o=function(e,t){return t>=e.expandoStartIndex}(e,n);(function(e,t){return 0!=(16&e.flags)})(s)&&null===t&&!o&&(t=!1),t=function(e,t,n,r){const i=function(e){const t=Tt.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=t.residualClasses;if(null===i)0===t.classBindings&&(n=Io(n=ko(null,e,t,n,r),t.attrs,r),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==i)if(n=ko(i,e,t,n,r),null===s){let n=function(e,t,n){const r=t.classBindings;if(0!==Bi(r))return e[Vi(r)]}(e,t);void 0!==n&&Array.isArray(n)&&(n=ko(null,e,t,n[1],r),n=Io(n,t.attrs,r),function(e,t,n,r){e[Vi(t.classBindings)]=r}(e,t,0,n))}else s=function(e,t,n){let r;const i=t.directiveEnd;for(let s=1+t.directiveStylingLast;s<i;s++)r=Io(r,e[s].hostAttrs,true);return Io(r,t.attrs,true)}(e,t)}return void 0!==s&&(t.residualClasses=s),n}(i,s,t,r),function(e,t,n,r,i,s){let o=t.classBindings,a=Vi(o),l=Bi(o);e[r]=n;let c,u=!1;if(Array.isArray(n)){const e=n;c=e[1],(null===c||qn(e,c)>0)&&(u=!0)}else c=n;if(i)if(0!==l){const t=Vi(e[a+1]);e[r+1]=zi(t,a),0!==t&&(e[t+1]=qi(e[t+1],r)),e[a+1]=131071&e[a+1]|r<<17}else e[r+1]=zi(a,0),0!==a&&(e[a+1]=qi(e[a+1],r)),a=r;else e[r+1]=zi(l,0),0===a?a=r:e[l+1]=qi(e[l+1],r),l=r;u&&(e[r+1]=$i(e[r+1])),To(e,c,r,!0),To(e,c,r,!1),function(e,t,n,r,i){const s=e.residualClasses;null!=s&&"string"==typeof t&&qn(s,t)>=0&&(n[r+1]=Wi(n[r+1]))}(t,c,e,r),o=zi(a,l),t.classBindings=o}(i,s,t,n,o)}}(s,e,o,true),t!==Di&&to(i,o,t)&&function(e,t,n,r,i,s,o,a){if(!(3&t.type))return;const l=e.data,c=l[a+1];Oo(1==(1&c)?Eo(l,t,n,i,Bi(c),o):void 0)||(Oo(s)||function(e){return 2==(2&e)}(c)&&(s=Eo(l,null,n,i,a,o)),function(e,t,n,r,i){const s=ht(e);i?s?e.addClass(n,r):n.classList.add(r):s?e.removeClass(n,r):n.classList.remove(r)}(r,0,ft(Qt(),n),i,s))}
vendor: 12,522 bytes, line 1
1(s,s.data[Qt()],i,i[11],e,i[o+1]=function(e,t){return null==e||"object"==typeof e&&(e=K(gr(e))),e}(t),true,o)}(e,t),xo}function ko(e,t,n,r,i){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a<o&&(s=t[a],r=Io(r,s.hostAttrs,i),s!==e);)a++;return null!==e&&(n.directiveStylingLast=a),r}function Io(e,t,n){const r=n?1:2;let i=-1;if(null!==t)for(let s=0;s<t.length;s++){const o=t[s];"number"==typeof o?i=o:i===r&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),$n(e,o,!!n||t[++s]))}return void 0===e?null:e}function Eo(e,t,n,r,i,s){const o=null===t;let a;for(;i>0;){const t=e[i],s=Array.isArray(t),l=s?t[1]:t,c=null===l;let u=n[i+1];u===Di&&(u=c?Oe:void 0);let h=c?Bn(u,r):l===r?u:void 0;if(s&&!Oo(h)&&(h=Bn(t,r)),Oo(h)&&(a=h,o))return a;const d=e[i+1];i=o?Vi(d):Bi(d)}if(null!==t){let e=s?t.residualClasses:t.residualStyles;null!=e&&(a=Bn(e,r))}return a}function Oo(e){return void 0!==e}function Ao(e,t=""){const n=xt(),r=kt(),i=e+Qe,s=r.firstCreatePass?Yi(r,i,1,t,null):r.data[i],o=n[i]=function(e,t){return ht(e)?e.createText(t):e.createTextNode(t)}(n[11],t);vi(r,n,o,s),At(s,!1)}function Po(e){return Mo("",e,""),Po}function Mo(e,t,n){const r=xt(),i=function(e,t,n,r){return to(e,jt(),n)?t+ie(n)+r:Di}(r,e,t,n);return i!==Di&&function(e,t,n){const r=ft(t,e);!function(e,t,n){ht(e)?e.setValue(t,n):t.textContent=n}(e[11],r,n)}(r,Qt(),i),Mo}function Ro(e,t,n){const r=xt();return to(r,jt(),t)&&ls(kt(),Zt(),r,e,t,r[11],n,!0),Ro}const No=void 0;var jo=["en",[["a","p"],["AM","PM"],No],[["AM","PM"],No,No],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],No,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],No,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",No,"{1} 'at' {0}",No],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(e){let t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===n?1:5}];let Lo={};function Fo(e){return e in Lo||(Lo[e]=Ie.ng&&Ie.ng.common&&Ie.ng.common.locales&&Ie.ng.common.locales[e]),Lo[e]}var Do=(()=>((Do=Do||{})[Do.LocaleId=0]="LocaleId",Do[Do.DayPeriodsFormat=1]="DayPeriodsFormat",Do[Do.DayPeriodsStandalone=2]="DayPeriodsStandalone",Do[Do.DaysFormat=3]="DaysFormat",Do[Do.DaysStandalone=4]="DaysStandalone",Do[Do.MonthsFormat=5]="MonthsFormat",Do[Do.MonthsStandalone=6]="MonthsStandalone",Do[Do.Eras=7]="Eras",Do[Do.FirstDayOfWeek=8]="FirstDayOfWeek",Do[Do.WeekendRange=9]="WeekendRange",Do[Do.DateFormat=10]="DateFormat",Do[Do.TimeFormat=11]="TimeFormat",Do[Do.DateTimeFormat=12]="DateTimeFormat",Do[Do.NumberSymbols=13]="NumberSymbols",Do[Do.NumberFormats=14]="NumberFormats",Do[Do.CurrencyCode=15]="CurrencyCode",Do[Do.CurrencySymbol=16]="CurrencySymbol",Do[Do.CurrencyName=17]="CurrencyName",Do[Do.Currencies=18]="Currencies",Do[Do.Directionality=19]="Directionality",Do[Do.PluralCase=20]="PluralCase",Do[Do.ExtraData=21]="ExtraData",Do))();const Uo="en-US";let Ho=Uo;function zo(e){var t,n;n="Expected localeId to be defined",null==(t=e)&&function(e,t,n,r){throw new Error(`ASSERTION ERROR: ${e} [Expected=> null != ${t} <=Actual]`)}(n,t),"string"==typeof e&&(Ho=e.toLowerCase().replace(/_/g,"-"))}class Vo{}class $o{resolveComponentFactory(e){throw function(e){const t=Error(`No component factory found for ${K(e)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=e,t}(e)}}class Bo{}function qo(...e){}function Wo(e,t){return new Qo(gt(e,t))}Bo.NULL=new $o;const Go=function(){return Wo(Et(),xt())};let Qo=(()=>{class e{constructor(e){this.nativeElement=e}}return e.__NG_ELEMENT_ID__=Go,e})();function Yo(e){return e instanceof Qo?e.nativeElement:e}class Zo{}let Jo=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>Ko(),e})();const Ko=function(){const e=xt(),t=vt(Et().index,e);return function(e){return e[11]}(Ze(t)?t:e)};let Xo=(()=>{class e{}return e.\u0275prov=ae({token:e,providedIn:"root",factory:()=>null}),e})();class ea{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const ta=new ea("12.1.5");class na{constructor(){}supports(e){return Xs(e)}create(e){return new ia(e)}}const ra=(e,t)=>t;class ia{constructor(e){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=e||ra}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,n=this._removalsHead,r=0,i=null;for(;t||n;){const s=!n||t&&t.currentIndex<la(n,r,i)?t:n,o=la(s,r,i),a=s.currentIndex;if(s===n)r--,n=n._nextRemoved;else if(t=t._next,null==s.previousIndex)r++;else{i||(i=[]);const e=o-r,t=a-r;if(e!=t){for(let n=0;n<e;n++){const r=n<i.length?i[n]:i[n]=0,s=r+n;t<=s&&s<e&&(i[n]=r+1)}i[s.previousIndex]=t-e}}o!==a&&e(s,o,a)}}forEachPreviousItem(e){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachMovedItem(e){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}forEachIdentityChange(e){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)e(t)}diff(e){if(null==e&&(e=[]),!Xs(e))throw new Error(`Error trying to diff '${K(e)}'. Only arrays and iterables are allowed`);return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let t,n,r,i=this._itHead,s=!1;if(Array.isArray(e)){this.length=e.length;for(let t=0;t<this.length;t++)n=e[t],r=this._trackByFn(t,n),null!==i&&Object.is(i.trackById,r)?(s&&(i=this._verifyReinsertion(i,n,r,t)),Object.is(i.item,n)||this._addIdentityChange(i,n)):(i=this._mismatch(i,n,r,t),s=!0),i=i._next}else t=0,function(e,t){if(Array.isArray(e))for(let n=0;n<e.length;n++)t(e[n]);else{const n=e[Js()]();let r;for(;!(r=n.next()).done;)t(r.value)}}(e,e=>{r=this._trackByFn(t,e),null!==i&&Object.is(i.trackById,r)?(s&&(i=this._verifyReinsertion(i,e,r,t)),Object.is(i.item,e)||this._addIdentityChange(i,e)):(i=this._mismatch(i,e,r,t),s=!0),i=i._next,t++}),this.length=t;return this._truncate(i),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,n,r){let i;return null===e?i=this._itTail:(i=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,i,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,i,r)):e=this._addAfter(new sa(t,n),i,r),e}_verifyReinsertion(e,t,n,r){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==i?e=this._reinsertAfter(i,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,i=e._nextRemoved;return null===r?this._removalsHead=i:r._nextRemoved=i,null===i?this._removalsTail=r:i._prevRemoved=r,this._insertAfter(e,t,n),this._addToMoves(e,n),e}_moveAfter(e,t,n){return this._unlink(e),this._insertAfter(e,t,n),this._addToMoves(e,n),e}_addAfter(e,t,n){return this._insertAfter(e,t,n),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,n){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new aa),this._linkedRecords.put(e),e.currentIndex=n,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,n=e._next;return null===t?this._itHead=n:t._next=n,null===n?this._itTail=t:n._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new aa),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class sa{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class oa{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===t||t<=n.currentIndex)&&Object.is(n.trackById,e))return n;return null}remove(e){const t=e._prevDup,n=e._nextDup;return null===t?this._head=n:t._nextDup=n,null===n?this._tail=t:n._prevDup=t,null===this._head}}class aa{constructor(){this.map=new Map}put(e){const t=e.trackById;let n=this.map.get(t);n||(n=new oa,this.map.set(t,n)),n.add(e)}get(e,t){const n=this.map.get(e);return n?n.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function la(e,t,n){const r=e.previousIndex;if(null===r)return r;let i=0;return n&&r<n.length&&(i=n[r]),r+t+i}class ca{constructor(){}supports(e){return e instanceof Map||eo(e)}create(){return new ua}}class ua{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(e){let t;for(t=this._mapHead;null!==t;t=t._next)e(t)}forEachPreviousItem(e){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)e(t)}forEachChangedItem(e){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}diff(e){if(e){if(!(e instanceof Map||eo(e)))throw new Error(`Error trying to diff '${K(e)}'. Only maps and objects are allowed`)}else e=new Map;return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let t=this._mapHead;
vendor: 4,958 bytes, line 1
1if(this._appendAfter=null,this._forEach(e,(e,n)=>{if(t&&t.key===n)this._maybeAddToChanges(t,e),this._appendAfter=t,t=t._next;else{const r=this._getOrCreateRecordForKey(n,e);t=this._insertBeforeOrAppend(t,r)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let e=t;null!==e;e=e._nextRemoved)e===this._mapHead&&(this._mapHead=null),this._records.delete(e.key),e._nextRemoved=e._next,e.previousValue=e.currentValue,e.currentValue=null,e._prev=null,e._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const n=e._prev;return t._next=e,t._prev=n,e._prev=t,n&&(n._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const n=this._records.get(e);this._maybeAddToChanges(n,t);const r=n._prev,i=n._next;return r&&(r._next=i),i&&(i._prev=r),n._next=null,n._prev=null,n}const n=new ha(e);return this._records.set(e,n),n.currentValue=t,this._addToAdditions(n),n}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(n=>t(e[n],n))}}class ha{constructor(e){this.key=e,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 da(){return new pa([new na])}let pa=(()=>{class e{constructor(e){this.factories=e}static create(t,n){if(null!=n){const e=n.factories.slice();t=t.concat(e)}return new e(t)}static extend(t){return{provide:e,useFactory:n=>e.create(t,n||da()),deps:[[e,new ir,new rr]]}}find(e){const t=this.factories.find(t=>t.supports(e));if(null!=t)return t;throw new Error(`Cannot find a differ supporting object '${e}' of type '${n=e,n.name||typeof n}'`);var n}}return e.\u0275prov=ae({token:e,providedIn:"root",factory:da}),e})();function fa(){return new ga([new ca])}let ga=(()=>{class e{constructor(e){this.factories=e}static create(t,n){if(n){const e=n.factories.slice();t=t.concat(e)}return new e(t)}static extend(t){return{provide:e,useFactory:n=>e.create(t,n||fa()),deps:[[e,new ir,new rr]]}}find(e){const t=this.factories.find(t=>t.supports(e));if(t)return t;throw new Error(`Cannot find a differ supporting object '${e}'`)}}return e.\u0275prov=ae({token:e,providedIn:"root",factory:fa}),e})();function ma(e,t,n,r,i=!1){for(;null!==n;){const s=t[n.index];if(null!==s&&r.push(pt(s)),Je(s))for(let e=Ye;e<s.length;e++){const t=s[e],n=t[1].firstChild;null!==n&&ma(t[1],t,n,r)}const o=n.type;if(8&o)ma(e,t,n.child,r);else if(32&o){const e=Xr(n,t);let i;for(;i=e();)r.push(i)}else if(16&o){const e=bi(t,n);if(Array.isArray(e))r.push(...e);else{const n=ei(t[16]);ma(n[1],n,e,r,!0)}}n=i?n.projectionNext:n.next}return r}class va{constructor(e,t){this._lView=e,this._cdRefInjectingView=t,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const e=this._lView,t=e[1];return ma(t,e,t.firstChild,[])}get context(){return this._lView[8]}set context(e){this._lView[8]=e}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const e=this._lView[3];if(Je(e)){const t=e[8],n=t?t.indexOf(this):-1;n>-1&&(ai(e,n),zn(t,n))}this._attachedToViewContainer=!1}li(this._lView[1],this._lView)}onDestroy(e){os(this._lView[1],this._lView,null,e)}markForCheck(){Ss(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){xs(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(e,t,n){Nt(!0);try{xs(e,t,n)}finally{Nt(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var e;this._appRef=null,Ci(this._lView[1],e=this._lView,e[11],2,null,null)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a Vie
1wContainer!");this._appRef=e}}class ya extends va{constructor(e){super(e),this._view=e}detectChanges(){ks(this._view)}checkNoChanges(){!function(e){Nt(!0);try{ks(e)}finally{Nt(!1)}}(this._view)}get context(){return null}}const ba=function(e){return function(e,t,n){if(Xe(e)&&!n){const n=vt(e.index,t);return new va(n,n)}return 47&e.type?new va(t[16],t):null}(Et(),xt(),16==(16&e))};let wa=(()=>{class e{}return e.__NG_ELEMENT_ID__=ba,e})();const _a=[new ca],Ca=new pa([new na]),Ta=new ga(_a),Sa=function(){return Ea(Et(),xt())};let xa=(()=>{class e{}return e.__NG_ELEMENT_ID__=Sa,e})();const ka=xa,Ia=class extends ka{constructor(e,t,n){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=n}createEmbeddedView(e){const t=this._declarationTContainer.tViews,n=Qi(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const r=this._declarationLView[19];return null!==r&&(n[19]=r.createEmbeddedView(t)),Ji(t,n,e),new va(n)}};function Ea(e,t){return 4&e.type?new Ia(t,e,Wo(e,t)):null}class Oa{}class Aa{}const Pa=function(){return Fa(Et(),xt())};let Ma=(()=>{class e{}return e.__NG_ELEMENT_ID__=Pa,e})();const Ra=Ma,Na=class extends Ra{constructor(e,t,n){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=n}get element(){return Wo(this._hostTNode,this._hostLView)}get injector(){return new Mn(this._hostTNode,this._hostLView)}get parentInjector(){const e=wn(this._hostTNode,this._hostLView);if(hn(e)){const t=pn(e,this._hostLView),n=dn(e);return new Mn(t[1].data[n+8],t)}return new Mn(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=ja(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-Ye}createEmbeddedView(e,t,n){const r=e.createEmbeddedView(t||{});return this.insert(r,n),r}createComponent(e,t,n,r,i){const s=n||this.parentInjector;if(!i&&null==e.ngModule&&s){const e=s.get(Oa,null);e&&(i=e)}const o=e.create(s,r,void 0,i);return this.insert(o.hostView,t),o}insert(e,t){const n=e._lView,r=n[1];if(Je(n[3])){const t=this.indexOf(e);if(-1!==t)this.detach(t);else{const t=n[3],r=new Na(t,t[6],t[3]);r.detach(r.indexOf(e))}}const i=this._adjustIndex(t),s=this._lContainer;!function(e,t,n,r){const i=Ye+r,s=n.length;r>0&&(n[i-1][4]=t),r<s-Ye?(t[4]=n[i],Hn(n,Ye+r,t)):(n.push(t),t[4]=null),t[3]=n;const o=t[17];null!==o&&n!==o&&function(e,t){const n=e[9];t[16]!==t[3][3][16]&&(e[2]=!0),null===n?e[9]=[t]:n.push(t)}(o,t);const a=t[19];null!==a&&a.insertView(e),t[2]|=128}(r,n,s,i);const o=wi(i,s),a=n[11],l=fi(a,s[7]);return null!==l&&function(e,t,n,r,i,s){r[0]=i,r[6]=t,Ci(e,r,n,1,i,s)}(r,s[6],a,n,l,o),e.attachToViewContainerRef(),Hn(La(s),i,e),e}move(e,t){return this.insert(e,t)}indexOf(e){const t=ja(this._lContainer);return null!==t?t.indexOf(e):-1}remove(e){const t=this._adjustIndex(e,-1),n=ai(this._lContainer,t);n&&(zn(La(this._lContainer),t),li(n[1],n))}detach(e){const t=this._adjustIndex(e,-1),n=ai(this._lContainer,t);return n&&null!=zn(La(this._lContainer),t)?new va(n):null}_adjustIndex(e,t=0){return null==e?this.length+t:e}};function ja(e){return e[8]}function La(e){return e[8]||(e[8]=[])}function Fa(e,t){let n;const r=t[e.index];if(Je(r))n=r;else{let i;if(8&e.type)i=pt(r);else{const n=t[11];i=n.createComment("");const r=gt(e,t);hi(n,fi(n,r),i,function(e,t){return ht(e)?e.nextSibling(t):t.nextSibling}(n,r),!1)}t[e.index]=n=bs(r,t,i,e),Ts(t,n)}return new Na(n,e,t)}const Da={};class Ua extends Bo{constructor(e){super(),this.ngModule=e}resolveComponentFactory(e){const t=We(e);return new Va(t,this.ngModule)}}function Ha(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}const za=new jn("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>Zr});class Va extends Vo{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=e.selectors.map(Fi).join(","),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return Ha(this.componentDef.inputs)}get outputs(){return Ha(this.componentDef.outputs)}create(e,t,n,r){const i=(r=r||this.ngModule)?function(e,t){return{get:(n,r,i)=>{const s=e.get(n,Da,i);return s!==Da||r===Da?s:t.get(n,r,i)}}}(e,r.injector):e,s=i.get(Zo,dt),o=i.get(Xo,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(e,t,n){if(ht(e))return e.selectRootElement(t,n===Ce.ShadowDom);let r="string"==typeof t?e.querySelector(t):t;return r.textContent="",r}(a,n,this.componentDef.encapsulation):si(s.createRenderer(null,this.componentDef),l,function(e){const t=e.toLowerCase();return"svg"===t?"http://www.w3.org/2000/svg":"math"===t?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h={components:[],scheduler:Zr,clean:Es,playerHandler:null,flags:0}
1,d=ss(0,null,null,1,0,null,null,null,null,null),p=Qi(null,d,h,u,null,null,s,a,o,i);let f,g;Vt(p);try{const e=function(e,t,n,r,i,s){const o=n[1];n[20]=e;const a=Yi(o,20,2,"#host",null),l=a.mergedAttrs=t.hostAttrs;null!==l&&(Rs(a,l,!0),null!==e&&(on(i,e,l),null!==a.classes&&xi(i,e,a.classes),null!==a.styles&&Si(i,e,a.styles)));const c=r.createRenderer(e,t),u=Qi(n,is(t),null,t.onPush?64:16,n[20],a,r,c,null,null);return o.firstCreatePass&&(_n(vn(a,n),o,t.type),ds(o,a),fs(a,n.length,1)),Ts(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)on(a,c,["ng-version",ta.full]);else{const{attrs:e,classes:t}=function(e){const t=[],n=[];let r=1,i=2;for(;r<e.length;){let s=e[r];if("string"==typeof s)2===i?""!==s&&t.push(s,e[++r]):8===i&&n.push(s);else{if(!Mi(i))break;i=s}r++}return{attrs:t,classes:n}}(this.componentDef.selectors[0]);e&&on(a,c,e),t&&t.length>0&&xi(a,c,t.join(" "))}if(g=mt(d,Qe),void 0!==t){const e=g.projection=[];for(let n=0;n<this.ngContentSelectors.length;n++){const r=t[n];e.push(null!=r?Array.from(r):null)}}f=function(e,t,n,r,i){const s=n[1],o=function(e,t,n){const r=Et();e.firstCreatePass&&(n.providersResolver&&n.providersResolver(n),gs(e,r,t,Zi(e,t,1,null),n));const i=On(t,e,r.directiveStart,r);qr(i,t);const s=gt(r,t);return s&&qr(s,t),i}(s,n,t);if(r.components.push(o),e[8]=o,i&&i.forEach(e=>e(o,t)),t.contentQueries){const e=Et();t.contentQueries(1,o,e.directiveStart)}const a=Et();return!s.firstCreatePass||null===t.hostBindings&&null===t.hostAttrs||(Yt(a.index),us(n[1],a,0,a.directiveStart,a.directiveEnd,t),hs(t,o)),o}(e,this.componentDef,p,h,[Ys]),Ji(d,p,null)}finally{Gt()}return new $a(this.componentType,f,Wo(g,p),p,g)}}class $a extends class{}{constructor(e,t,n,r,i){super(),this.location=n,this._rootLView=r,this._tNode=i,this.instance=t,this.hostView=this.changeDetectorRef=new ya(r),this.componentType=e}get injector(){return new Mn(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Ba=new Map;class qa extends Oa{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Ua(this);const n=Ge(e),r=e[Ne]||null;r&&zo(r),this._bootstrapComponents=Jr(n.bootstrap),this._r3Injector=zs(e,t,[{provide:Oa,useValue:this},{provide:Bo,useValue:this.componentFactoryResolver}],K(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Qs.THROW_IF_NOT_FOUND,n=me.Default){return e===Qs||e===Oa||e===Ns?this:this._r3Injector.get(e,t,n)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class Wa extends Aa{constructor(e){super(),this.moduleType=e,null!==Ge(e)&&function(e){const t=new Set;!function e(n){const r=Ge(n,!0),i=r.id;null!==i&&(function(e,t,n){if(t&&t!==n)throw new Error(`Duplicate module registered for ${e} - ${K(t)} vs ${K(t.name)}`)}(i,Ba.get(i),n),Ba.set(i,n));const s=Jr(r.imports);for(const o of s)t.has(o)||(t.add(o),e(o))}(e)}(e)}create(e){return new qa(this.moduleType,e)}}function Ga(e,t){const n=kt();let r;const i=e+Qe;n.firstCreatePass?(r=function(e,t){if(t)for(let n=t.length-1;n>=0;n--){const r=t[n];if(e===r.name)return r}throw new re("302",`The pipe '${e}' could not be found!`)}(t,n.pipeRegistry),n.data[i]=r,r.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(i,r.onDestroy)):r=n.data[i];const s=r.factory||(r.factory=nt(r.type)),o=ye(io);try{const e=gn(!1),t=s();return gn(e),function(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}(n,xt(),i,t),t}finally{ye(o)}}function Qa(e,t,n){const r=e+Qe,i=xt(),s=function(e,t){return e[t]}(i,r);return function(e,t){return Ks.isWrapped(t)&&(t=Ks.unwrap(t),e[Tt.lFrame.bindingIndex]=Di),t}(i,function(e,t){return e[1].data[t].pure}(i,r)?function(e,t,n,r,i,s){const o=t+n;return to(e,o,i)?function(e,t,n){return e[t]=n}(e,o+1,s?r.call(s,i):r(i)):function(e,t){const n=e[t];return n===Di?void 0:n}(e,o+1)}(i,function(){const e=Tt.lFrame;let t=e.bindingRootIndex;
vendor: 5,548 bytes, line 1
1return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}(),t,s.transform,n,s):s.transform(n))}function Ya(e){return t=>{setTimeout(e,void 0,t)}}const Za=class extends T{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,n){var r,i,s;let o=e,a=t||(()=>null),l=n;if(e&&"object"==typeof e){const t=e;o=null===(r=t.next)||void 0===r?void 0:r.bind(t),a=null===(i=t.error)||void 0===i?void 0:i.bind(t),l=null===(s=t.complete)||void 0===s?void 0:s.bind(t)}this.__isAsync&&(a=Ya(a),o&&(o=Ya(o)),l&&(l=Ya(l)));const c=super.subscribe({next:o,error:a,complete:l});return e instanceof h&&e.add(c),c}};function Ja(){return this._results[Js()]()}class Ka{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=Js(),n=Ka.prototype;n[t]||(n[t]=Ja)}get changes(){return this._changes||(this._changes=new Za)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const n=this;n.dirty=!1;const r=Dn(e);(this._changesDetected=!function(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],s=t[r];if(n&&(i=n(i),s=n(s)),s!==i)return!1}return!0}(n._results,r,t))&&(n._results=r,n.length=r.length,n.last=r[this.length-1],n.first=r[0])}notifyOnChanges(){!this._changes||!this._changesDetected&&this._emitDistinctChangesOnly||this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}Symbol;class Xa{constructor(e){this.queryList=e,this.matches=null}clone(){return new Xa(this.queryList)}setDirty(){this.queryList.setDirty()}}class el{constructor(e=[]){this.queries=e}createEmbeddedView(e){const t=e.queries;if(null!==t){const n=null!==e.contentQueries?e.contentQueries[0]:t.length,r=[];for(let e=0;e<n;e++){const n=t.getByIndex(e);r.push(this.queries[n.indexInDeclarationView].clone())}return new el(r)}return null}insertView(e){this.dirtyQueriesWithMatches(e)}detachView(e){this.dirtyQueriesWithMatches(e)}dirtyQueriesWithMatches(e){for(let t=0;t<this.queries.length;t++)null!==pl(e,t).matches&&this.queries[t].setDirty()}}class tl{constructor(e,t,n=null){this.predicate=e,this.flags=t,this.read=n}}class nl{constructor(e=[]){this.queries=e}elementStart(e,t){for(let n=0;n<this.queries.length;n++)this.queries[n].elementStart(e,t)}elementEnd(e){for(let t=0;t<this.queries.length;t++)this.queries[t].elementEnd(e)}embeddedTView(e){let t=null;for(let n=0;n<this.length;n++){const r=null!==t?t.length:0,i=this.getByIndex(n).embeddedTView(e,r);i&&(i.indexInDeclarationView=n,null!==t?t.push(i):t=[i])}return null!==t?new nl(t):null}template(e,t){for(let n=0;n<this.queries.length;n++)this.queries[n].template(e,t)}getByIndex(e){return this.queries[e]}get length(){return this.queries.length}track(e){this.queries.push(e)}}class rl{constructor(e,t=-1){this.metadata=e,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=t}elementStart(e,t){this.isApplyingToNode(t)&&this.matchTNode(e,t)}elementEnd(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}template(e,t){this.elementStart(e,t)}embeddedTView(e,t){return this.isApplyingToNode(e)?(this.crossesNgTemplate=!0,this.addMatch(-e.index,t),new rl(this.metadata)):null}isApplyingToNode(e){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const t=this._declarationNodeIndex;let n=e.parent;for(;null!==n&&8&n.type&&n.index!==t;)n=n.parent;return t===(null!==n?n.index:-1)}return this._appliesToNextNode}matchTNode(e,t){const n=this.metadata.predicate;if(Array.isArray(n))for(let r=0;r<n.length;r++){const i=n[r];this.matchTNodeWithReadOption(e,t,il(t,i)),this.matchTNodeWithReadOption(e,t,En(t,e,i,!1,!1))}else n===xa?4&t.type&&this.matchTNodeWithReadOption(e,t,-1):this.matchTNodeWithReadOption(e,t,En(t,e,n,!1,!1))}matchTNodeWithReadOption(e,t,n){if(null!==n){const r=this.metadata.read;if(null!==r)if(r===Qo||r===Ma||r===xa&&4&t.type)this.addMatch(t.index,-2);else{const n=En(t,e,r,!1,!1);null!==n&&this.addMatch(t.index,n)}else this.addMatch(t.index,n)}}addMatch(e,t){null===this.matches?this.matches=[e,t]:this.matches.push(e,t)}}function il(e,t){const n=e.localNames;if(null!==n)for(let r=0;r<n.length;r+=2)if(n[r]===t)return n[r+1];return null}function sl(e,t,n,r){return-1===n?function(e,t){return 11&e.type?Wo(e,t):4&e.type?Ea(e,t):null}(t,e):-2===n?function(e,t,n){return n===Qo?Wo(t,e):n===xa?Ea(t,e):n===Ma?Fa(t,e):void 0}(e,t,r):On(e,e[1],n,t)}function ol(e,t,n,r){const i=t[19].queries[r];if(null===i.matches){const r=e.data,s=n.matches,o=[];for(let e=0;e<s.length;e+=2){const i=s[e];o.push(i<0?null:sl(t,r[i],s[e+1],n.metadata.read))}i.matches=o}return i.matches}function al(e,t,n,r){const i=e.queries.getByIndex(n),s=i.matches;if(null!==s){const o=ol(e,t,i,n);for(let e=0;e<s.length;e+=2){const n=s[e];if(n>0)r.push(o[e/2]);else{const i=s[e+1],o=t[-n];for(let e=Ye;e<o.length;e++){const t=o[e];t[17]===t[3]&&al(t[1],t,i,r)}if(null!==o[9]){const e=o[9];for(let t=0;t<e.length;t++){const n=e[t];al(n[1],n,i,r)}}}}}return r}function ll(e){const t=xt(),n=kt(),r=Dt();Ut(r+1);const i=pl(n,r);if(e.dirty&&yt(t)===(2==(2&i.metadata.flags))){if(null===i.matches)e.reset([]);
1else{const s=i.crossesNgTemplate?al(n,t,r,[]):ol(n,t,i,r);e.reset(s,Yo),e.notifyOnChanges()}return!0}return!1}function cl(e,t,n){const r=kt();r.firstCreatePass&&(dl(r,new tl(e,t,n),-1),2==(2&t)&&(r.staticViewQueries=!0)),hl(r,xt(),t)}function ul(){return e=xt(),t=Dt(),e[19].queries[t].queryList;var e,t}function hl(e,t,n){const r=new Ka(4==(4&n));os(e,t,r,r.destroy),null===t[19]&&(t[19]=new el),t[19].queries.push(new Xa(r))}function dl(e,t,n){null===e.queries&&(e.queries=new nl),e.queries.track(new rl(t,n))}function pl(e,t){return e.queries.getByIndex(t)}const fl=new jn("Application Initializer");let gl=(()=>{class e{constructor(e){this.appInits=e,this.resolve=qo,this.reject=qo,this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}runInitializers(){if(this.initialized)return;const e=[],t=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const t=this.appInits[n]();if(fo(t))e.push(t);else if(go(t)){const n=new Promise((e,n)=>{t.subscribe({complete:e,error:n})});e.push(n)}}Promise.all(e).then(()=>{t()}).catch(e=>{this.reject(e)}),0===e.length&&t(),this.initialized=!0}}return e.\u0275fac=function(t){return new(t||e)(Xn(fl,8))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const ml=new jn("AppId"),vl={provide:ml,useFactory:function(){return`${yl()}${yl()}${yl()}`},deps:[]};function yl(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const bl=new jn("Platform Initializer"),wl=new jn("Platform ID"),_l=new jn("appBootstrapListener");let Cl=(()=>{class e{log(e){console.log(e)}warn(e){console.warn(e)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const Tl=new jn("LocaleId"),Sl=new jn("DefaultCurrencyCode");class xl{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const kl=function(e){return new Wa(e)},Il=kl,El=function(e){return Promise.resolve(kl(e))},Ol=function(e){const t=kl(e),n=Jr(Ge(e).declarations).reduce((e,t)=>{const n=We(t);return n&&e.push(new Va(n)),e},[]);return new xl(t,n)},Al=Ol,Pl=function(e){return Promise.resolve(Ol(e))};let Ml=(()=>{class e{constructor(){this.compileModuleSync=Il,this.compileModuleAsync=El,this.compileModuleAndAllComponentsSync=Al,this.compileModuleAndAllComponentsAsync=Pl}clearCache(){}clearCacheFor(e){}getModuleId(e){}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const Rl=(()=>Promise.resolve(0))();function Nl(e){"undefined"==typeof Zone?Rl.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class jl{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Za(!1),this.onMicrotaskEmpty=new Za(!1),this.onStable=new Za(!1),this.onError=new Za(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&t,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let e=Ie.requestAnimationFrame,t=Ie.cancelAnimationFrame;if("undefined"!=typeof Zone&&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(e){const t=()=>{!function(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ie,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Dl(e),e.isCheckStableRunning=!0,Fl(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Dl(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,i,s,o,a)=>{try{return Ul(e),n.invokeTask(i,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),Hl(e)}},onInvoke:(n,r,i,s,o,a,l)=>{try{return Ul(e),n.invoke(i,s,o,a,l)}
vendor: 9,375 bytes, line 1
1finally{e.shouldCoalesceRunChangeDetection&&t(),Hl(e)}},onHasTask:(t,n,r,i)=>{t.hasTask(r,i),n===r&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,Dl(e),Fl(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,n,r,i)=>(t.handleError(r,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!jl.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(jl.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+r,e,Ll,qo,qo);try{return i.runTask(s,t,n)}finally{i.cancelTask(s)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}}const Ll={};function Fl(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 Dl(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Ul(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Hl(e){e._nesting--,Fl(e)}class zl{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Za,this.onMicrotaskEmpty=new Za,this.onStable=new Za,this.onError=new Za}run(e,t,n){return e.apply(t,n)}runGuarded(e,t,n){return e.apply(t,n)}runOutsideAngular(e){return e()}runTask(e,t,n,r){return e.apply(t,n)}}let Vl=(()=>{class e{constructor(e){this._ngZone=e,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?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:()=>{jl.assertNotInAngularZone(),Nl(()=>{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())Nl(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(t=>!t.updateCb||!t.updateCb(e)||(clearTimeout(t.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,t,n){let r=-1;t&&t>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(e=>e.timeoutId!==r),e(this._didWork,this.getPendingTasks())},t)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:n})}whenStable(e,t,n){if(n&&!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(e,t,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(e,t,n){return[]}}return e.\u0275fac=function(t){return new(t||e)(Xn(jl))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),$l=(()=>{class e{constructor(){this._applications=new Map,Wl.addToWindow(this)}registerApplication(e,t){this._applications.set(e,t)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,t=!0){return Wl.findTestabilityInTree(this,e,t)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();class Bl{addToWindow(e){}findTestabilityInTree(e,t,n){return null}}let ql,Wl=new Bl,Gl=!0,Ql=!1;const Yl=new jn("AllowMultipleToken");class Zl{constructor(e,t){this.name=e,this.token=t}}function Jl(e,t,n=[]){const r=`Platform: ${t}`,i=new jn(r);return(t=[])=>{let s=Kl();if(!s||s.injector.get(Yl,!1))if(e)e(n.concat(t).concat({provide:i,useValue:!0}));else{const e=n.concat(t).concat({provide:i,useValue:!0},{provide:Ls,useValue:"platform"});!function(e){if(ql&&!ql.destroyed&&!ql.injector.get(Yl,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ql=e.get(Xl);const t=e.get(bl,null);t&&t.forEach(e=>e())}(Qs.create({providers:e,name:r}))}return function(e){const t=Kl();if(!t)throw new Error("No platform exists!");if(!t.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return t}(i)}}function Kl(){return ql&&!ql.destroyed?ql:null}let Xl=(()=>{class e{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,t){const n=function(e,t){let n;return n="noop"===e?new zl:("zone.js"===e?void 0:e)||new jl({enableLongStackTrace:(Ql=!0,Gl),shouldCoalesceEventChangeDetection:!!(null==t?void 0:t.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==t?void 0:t.ngZoneRunCoalescing)}),n}(t?t.ngZone:void 0,{ngZoneEventCoalescing:t&&t.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:t&&t.ngZoneRunCoalescing||!1}),r=[{provide:jl,useValue:n}];return n.run(()=>{const t=Qs.create({providers:r,parent:this.injector,name:e.moduleType.name}),i=e.create(t),s=i.injector.get(Yr,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const e=n.onError.subscribe({next:e=>{s.handleError(e)}});i.onDestroy(()=>{nc(this._modules,i),e.unsubscribe()})}),function(e,t,n){try{const r=n();return fo(r)?r.catch(n=>{throw t.runOutsideAngular(()=>e.handleError(n)),n}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(s,n,()=>{const e=i.injector.get(gl);return e.runInitializers(),e.donePromise.then(()=>(zo(i.injector.get(Tl,Uo)||Uo),this._moduleDoBootstrap(i),i))})})}bootstrapModule(e,t=[]){const n=ec({},t);return function(e,t,n){const r=new Wa(n);return Promise.resolve(r)}(0,0,e).then(e=>this.bootstrapModuleFactory(e,n))}_moduleDoBootstrap(e){const t=e.injector.get(tc);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(e=>t.bootstrap(e));else{if(!e.instance.ngDoBootstrap)throw new Error(`The module ${K(e.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);e.instance.ngDoBootstrap(t)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(e=>e.destroy()),this._destroyListeners.forEach(e=>e()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(t){return new(t||e)(Xn(Qs))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();function ec(e,t){return Array.isArray(t)?t.reduce(ec,e):Object.assign(Object.assign({},e),t)}let tc=(()=>{class e{constructor(e,t,n,r,i){this._zone=e,this._injector=t,this._exceptionHandler=n,this._componentFactoryResolver=r,this._initStatus=i,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new y(e=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{e.next(this._stable),e.complete()})}),o=new y(e=>{let t;this._zone.runOutsideAngular(()=>{t=this._zone.onStable.subscribe(()=>{jl.assertNotInAngularZone(),Nl(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,e.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{jl.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{e.next(!1)}))});return()=>{t.unsubscribe(),n.unsubscribe()}});this.isStable=function(...e){let t=Number.POSITIVE_INFINITY,n=null,r=e[e.length-1];return x(r)?(n=e.pop(),e.length>1&&"number"==typeof e[e.length-1]&&(t=e.pop())):"number"==typeof r&&(t=e.pop()),null===n&&1===e.length&&e[0]instanceof y?e[0]:V(t)($(e,n))}(s,o.pipe(e=>{return B()((t=Z,function(e){let n;n="function"==typeof t?t:function(){return t};const r=Object.create(e,Q);return r.source=e,r.subjectFactory=n,r})(e));var t}))}bootstrap(e,t){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializer
1s running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=e instanceof Vo?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(n.componentType);const r=n.isBoundToModule?void 0:this._injector.get(Oa),i=n.create(Qs.NULL,[],t||n.selector,r),s=i.location.nativeElement,o=i.injector.get(Vl,null),a=o&&i.injector.get($l);return o&&a&&a.registerApplication(s,o),i.onDestroy(()=>{this.detachView(i.hostView),nc(this.components,i),a&&a.unregisterApplication(s)}),this._loadComponent(i),i}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const t=e;this._views.push(t),t.attachToAppRef(this)}detachView(e){const t=e;nc(this._views,t),t.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(_l,[]).concat(this._bootstrapListeners).forEach(t=>t(e))}ngOnDestroy(){this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return e.\u0275fac=function(t){return new(t||e)(Xn(jl),Xn(Qs),Xn(Yr),Xn(Bo),Xn(gl))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();function nc(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class rc{}class ic{}const sc={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let oc=(()=>{class e{constructor(e,t){this._compiler=e,this._config=t||sc}load(e){return this.loadAndCompile(e)}loadAndCompile(e){let[t,r]=e.split("#");return void 0===r&&(r="default"),n(8255)(t).then(e=>e[r]).then(e=>ac(e,t,r)).then(e=>this._compiler.compileModuleAsync(e))}loadFactory(e){let[t,r]=e.split("#"),i="NgFactory";return void 0===r&&(r="default",i=""),n(8255)(this._config.factoryPathPrefix+t+this._config.factoryPathSuffix).then(e=>e[r+i]).then(e=>ac(e,t,r))}}return e.\u0275fac=function(t){return new(t||e)(Xn(Ml),Xn(ic,8))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();function ac(e,t,n){if(!e)throw new Error(`Cannot find '${n}' in '${t}'`);return e}const lc=Jl(null,"core",[{provide:wl,useValue:"unknown"},{provide:Xl,deps:[Qs]},{provide:$l,deps:[]},{provide:Cl,deps:[]}]),cc=[{provide:tc,useClass:tc,deps:[jl,Qs,Yr,Bo,gl]},{provide:za,deps:[jl],useFactory:function(e){let t=[];return e.onStable.subscribe(()=>{for(;t.length;)t.pop()()}),function(e){t.push(e)}}},{provide:gl,useClass:gl,deps:[[new rr,fl]]},{provide:Ml,useClass:Ml,deps:[]},vl,{provide:pa,useFactory:function(){return Ca},deps:[]},{provide:ga,useFactory:function(){return Ta},deps:[]},{provide:Tl,useFactory:function(e){return zo(e=e||"undefined"!=typeof $localize&&$localize.locale||Uo),e},deps:[[new nr(Tl),new rr,new ir]]},{provide:Sl,useValue:"USD"}];let uc=(()=>{class e{constructor(e){}}return e.\u0275fac=function(t){return new(t||e)(Xn(tc))},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({providers:cc}),e})(),hc=null;function dc(){return hc}const pc=new jn("DocumentToken");let fc=(()=>{class e{historyGo(e){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({factory:gc,token:e,providedIn:"platform"}),e})();function gc(){return Xn(vc)}const mc=new jn("Location Initialized");let vc=(()=>{class e extends fc{constructor(e){super(),this._doc=e,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return dc().getBaseHref(this._doc)}onPopState(e){const t=dc().getGlobalEventTarget(this._doc,"window");return t.addEventListener("popstate",e,!1),()=>t.removeEventListener("popstate",e)}onHashChange(e){const t=dc().getGlobalEventTarget(this._doc,"window");return t.addEventListener("hashchange",e,!1),()=>t.removeEventListener("hashchange",e)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(e){this.location.pathname=e}pushState(e,t,n){yc()?this._history.pushState(e,t,n):this.location.hash=n}replaceState(e,t,n){yc()?this._history.replaceState(e,t,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}}return e.\u0275fac=function(t){return new(t||e)(Xn(pc))},e.\u0275prov=ae({factory:bc,token:e,providedIn:"platform"}),e})();function yc(){return!!window.history.pushState}function bc(){return new vc(Xn(pc))}function wc(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 Cc(e){return e&&"?"!==e[0]?"?"+e:e}let Tc=(()=>{class e{historyGo(e){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({factory:Sc,token:e,providedIn:"root"}),e})();function Sc(e){const t=Xn(pc).location;return new kc(Xn(fc),t&&t.origin||"")}const xc=new jn("appBaseHref");let kc=(()=>{class e extends Tc{constructor(e,t){if(super(),this._platformLocation=e,this._removeListenerFns=[],null==t&&(t=this._platformLocation.getBaseHrefFromDOM()),null==t)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=t}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.on
1HashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return wc(this._baseHref,e)}path(e=!1){const t=this._platformLocation.pathname+Cc(this._platformLocation.search),n=this._platformLocation.hash;return n&&e?`${t}${n}`:t}pushState(e,t,n,r){const i=this.prepareExternalUrl(n+Cc(r));this._platformLocation.pushState(e,t,i)}replaceState(e,t,n,r){const i=this.prepareExternalUrl(n+Cc(r));this._platformLocation.replaceState(e,t,i)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(e=0){var t,n;null===(n=(t=this._platformLocation).historyGo)||void 0===n||n.call(t,e)}}return e.\u0275fac=function(t){return new(t||e)(Xn(fc),Xn(xc,8))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),Ic=(()=>{class e extends Tc{constructor(e,t){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=t&&(this._baseHref=t)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let t=this._platformLocation.hash;return null==t&&(t="#"),t.length>0?t.substring(1):t}prepareExternalUrl(e){const t=wc(this._baseHref,e);return t.length>0?"#"+t:t}pushState(e,t,n,r){let i=this.prepareExternalUrl(n+Cc(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(e,t,i)}replaceState(e,t,n,r){let i=this.prepareExternalUrl(n+Cc(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(e,t,i)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(e=0){var t,n;null===(n=(t=this._platformLocation).historyGo)||void 0===n||n.call(t,e)}}return e.\u0275fac=function(t){return new(t||e)(Xn(fc),Xn(xc,8))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),Ec=(()=>{class e{constructor(e,t){this._subject=new Za,this._urlChangeListeners=[],this._platformStrategy=e;const n=this._platformStrategy.getBaseHref();this._platformLocation=t,this._baseHref=_c(Ac(n)),this._platformStrategy.onPopState(e=>{this._subject.emit({url:this.path(!0),pop:!0,state:e.state,type:e.type})})}path(e=!1){return this.normalize(this._platformStrategy.path(e))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(e,t=""){return this.path()==this.normalize(e+Cc(t))}normalize(t){return e.stripTrailingSlash(function(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Ac(t)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}go(e,t="",n=null){this._platformStrategy.pushState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Cc(t)),n)}replaceState(e,t="",n=null){this._platformStrategy.replaceState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Cc(t)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(e=0){var t,n;null===(n=(t=this._platformStrategy).historyGo)||void 0===n||n.call(t,e)}onUrlChange(e){this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(e=>{this._notifyUrlChangeListeners(e.url,e.state)}))}_notifyUrlChangeListeners(e="",t){this._urlChangeListeners.forEach(n=>n(e,t))}subscribe(e,t,n){return this._subject.subscribe({next:e,error:t,complete:n})}}return e.\u0275fac=function(t){return new(t||e)(Xn(Tc),Xn(fc))},e.normalizeQueryParams=Cc,e.joinWithSlash=wc,e.stripTrailingSlash=_c,e.\u0275prov=ae({factory:Oc,token:e,providedIn:"root"}),e})();function Oc(){return new Ec(Xn(Tc),Xn(fc))}function Ac(e){return e.replace(/\/index.html$/,"")}var Pc=(()=>((Pc=Pc||{})[Pc.Zero=0]="Zero",Pc[Pc.One=1]="One",Pc[Pc.Two=2]="Two",Pc[Pc.Few=3]="Few",Pc[Pc.Many=4]="Many",Pc[Pc.Other=5]="Other",Pc))();class Mc{}let Rc=(()=>{class e extends Mc{constructor(e){super(),this.locale=e}getPluralCategory(e,t){switch(function(e){return function(e){const t=function(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=Fo(t);if(n)return n;const r=t.split("-")[0];if(n=Fo(r),n)return n;if("en"===r)return jo;throw new Error(`Missing locale data for the locale "${e}".`)}(e)[Do.PluralCase]}(t||this.locale)(e)){case Pc.Zero:return"zero";case Pc.One:return"one";case Pc.Two:return"two";case Pc.Few:return"few";case Pc.Many:return"many";default:return"other"}}}return e.\u0275fac=function(t){return new(t||e)(Xn(Tl))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();function Nc(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const e=n.indexOf("="),[r,i]=-1==e?[n,""]:[n.slice(0,e),n.slice(e+1)];if(r.trim()===t)return decodeURIComponent(i)}return null}let jc=(()=>{class e{constructor(e,t,n,r){this._iterableDiffers=e,this._keyValueDiffers=t,this._ngEl=n,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Xs(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){const e=this._keyValueDiffer.diff(this._rawClass);e&&this._applyKeyValueChanges(e)}}_applyKeyValueChanges(e){e.forEachAddedItem(e=>this._toggleClass(e.key,e.currentValue)),e.forEachChangedItem(e=>this._toggleClass(e.key,e.currentValue)),e.forEachRemovedItem(e=>{e.previousValue&&this._toggleClass(e.key,!1)})}_applyIterableChanges(e){e.forEachAddedItem(e=>{if("string"!=typeof e.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${K(e.item)}`);this._toggleClass(e.item,!0)}),e.forEachRemovedItem(e=>this._toggleClass(e.item,!1))}_applyClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(e
vendor: 4,233 bytes, line 1
1=>this._toggleClass(e,!0)):Object.keys(e).forEach(t=>this._toggleClass(t,!!e[t])))}_removeClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(e=>this._toggleClass(e,!1)):Object.keys(e).forEach(e=>this._toggleClass(e,!1)))}_toggleClass(e,t){(e=e.trim())&&e.split(/\s+/g).forEach(e=>{t?this._renderer.addClass(this._ngEl.nativeElement,e):this._renderer.removeClass(this._ngEl.nativeElement,e)})}}return e.\u0275fac=function(t){return new(t||e)(io(pa),io(ga),io(Qo),io(Jo))},e.\u0275dir=Be({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),e})();class Lc{constructor(e,t,n,r){this.$implicit=e,this.ngForOf=t,this.index=n,this.count=r}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 Fc=(()=>{class e{constructor(e,t,n){this._viewContainer=e,this._template=t,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;if(!this._differ&&n)try{this._differ=this._differs.find(n).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${n}' of type '${e=n,e.name||typeof e}'. NgFor only supports binding to Iterables such as Arrays.`)}}var e;if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const t=[];e.forEachOperation((e,n,r)=>{if(null==e.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Lc(null,this._ngForOf,-1,-1),null===r?void 0:r),i=new Dc(e,n);t.push(i)}else if(null==r)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const i=this._viewContainer.get(n);this._viewContainer.move(i,r);const s=new Dc(e,i);t.push(s)}});for(let n=0;n<t.length;n++)this._perViewChange(t[n].view,t[n].record);for(let n=0,r=this._viewContainer.length;n<r;n++){const e=this._viewContainer.get(n);e.context.index=n,e.context.count=r,e.context.ngForOf=this._ngForOf}e.forEachIdentityChange(e=>{this._viewContainer.get(e.currentIndex).context.$implicit=e.item})}_perViewChange(e,t){e.context.$implicit=t.item}static ngTemplateContextGuard(e,t){return!0}}return e.\u0275fac=function(t){return new(t||e)(io(Ma),io(xa),io(pa))},e.\u0275dir=Be({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),e})();class Dc{constructor(e,t){this.record=e,this.view=t}}let Uc=(()=>{class e{constructor(e,t){this._viewContainer=e,this._context=new Hc,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=t}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){zc("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){zc("ngIfElse",e),this._elseTemplateRef=e,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(e,t){return!0}}return e.\u0275fac=function(t){return new(t||e)(io(Ma),io(xa))},e.\u0275dir=Be({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),e})();class Hc{constructor(){this.$implicit=null,this.ngIf=null}}function zc(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${K(t)}'.`)}let Vc=(()=>{class e{constructor(e){this.differs=e,this.keyValues=[],this.compareFn=$c}transform(e,t=$c){if(!e||!(e instanceof Map)&&"object"!=typeof e)return null;this.differ||(this.differ=this.differs.find(e).create());const n=this.differ.diff(e),r=t!==this.compareFn;
1return n&&(this.keyValues=[],n.forEachItem(e=>{this.keyValues.push({key:e.key,value:e.currentValue})})),(n||r)&&(this.keyValues.sort(t),this.compareFn=t),this.keyValues}}return e.\u0275fac=function(t){return new(t||e)(io(ga,16))},e.\u0275pipe=qe({name:"keyvalue",type:e,pure:!1}),e})();function $c(e,t){const n=e.key,r=t.key;if(n===r)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(null===n)return 1;if(null===r)return-1;if("string"==typeof n&&"string"==typeof r)return n<r?-1:1;if("number"==typeof n&&"number"==typeof r)return n-r;if("boolean"==typeof n&&"boolean"==typeof r)return n<r?-1:1;const i=String(n),s=String(r);return i==s?0:i<s?-1:1}let Bc=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({providers:[{provide:Mc,useClass:Rc}]}),e})(),qc=(()=>{class e{}return e.\u0275prov=ae({token:e,providedIn:"root",factory:()=>new Wc(Xn(pc),window)}),e})();class Wc{constructor(e,t){this.document=e,this.window=t,this.offset=()=>[0,0]}setOffset(e){this.offset=Array.isArray(e)?()=>e:e}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(e){this.supportsScrolling()&&this.window.scrollTo(e[0],e[1])}scrollToAnchor(e){if(!this.supportsScrolling())return;const t=function(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const n=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=n.currentNode;for(;r;){const e=r.shadowRoot;if(e){const n=e.getElementById(t)||e.querySelector(`[name="${t}"]`);if(n)return n}r=n.nextNode()}}return null}(this.document,e);t&&(this.scrollToElement(t),this.attemptFocus(t))}setHistoryScrollRestoration(e){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=e)}}scrollToElement(e){const t=e.getBoundingClientRect(),n=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(n-i[0],r-i[1])}attemptFocus(e){return e.focus(),this.document.activeElement===e}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const e=Gc(this.window.history)||Gc(Object.getPrototypeOf(this.window.history));return!(!e||!e.writable&&!e.set)}catch(e){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(e){return!1}}}function Gc(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class Qc{}class Yc extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){var e;e=new Yc,hc||(hc=e)}onAndCancel(e,t,n){return e.addEventListener(t,n,!1),()=>{e.removeEventListener(t,n,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Jc=Jc||document.querySelector("base"),Jc?Jc.getAttribute("href"):null);return null==t?null:function(e){Zc=Zc||document.createElement("a"),Zc.setAttribute("href",e);const t=Zc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(t)}resetBaseElement(){Jc=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return Nc(document.cookie,e)}}let Zc,Jc=null;const Kc=new jn("TRANSITION_ID"),Xc=[{provide:fl,useFactory:function(e,t,n){return()=>{n.get(gl).donePromise.then(()=>{const n=dc();Array.prototype.slice.apply(t.querySelectorAll("style[ng-transition]")).filter(t=>t.getAttribute("ng-transition")===e).forEach(e=>n.remove(e))})}},deps:[Kc,pc,Qs],multi:!0}];class eu{static init(){var e;e=new eu,Wl=e}addToWindow(e){Ie.getAngularTestability=(t,n=!0)=>{const r=e.findTestabilityInTree(t,n);if(null==r)throw new Error("Could not find testability for element.");return r},Ie.getAllAngularTestabilities=()=>e.getAllTestabilities(),Ie.getAllAngularRootElements=()=>e.getAllRootElements(),Ie.frameworkStabilizers||(Ie.frameworkStabilizers=[]),Ie.frameworkStabilizers.push(e=>{const t=Ie.getAllAngularTestabilities();let n=t.length,r=!1;const i=function(t){r=r||t,n--,0==n&&e(r)};t.forEach(function(e){e.whenStable(i)})})}findTestabilityInTree(e,t,n){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:n?dc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let tu=(()=>{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const nu=new jn("EventManagerPlugins");let ru=(()=>{class e{constructor(e,t){this._zone=t,this._eventNameToPlugin=new Map,e.forEach(e
vendor: 9,019 bytes, line 1
1=>e.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,t,n){return this._findPluginFor(t).addEventListener(e,t,n)}addGlobalEventListener(e,t,n){return this._findPluginFor(t).addGlobalEventListener(e,t,n)}getZone(){return this._zone}_findPluginFor(e){const t=this._eventNameToPlugin.get(e);if(t)return t;const n=this._plugins;for(let r=0;r<n.length;r++){const t=n[r];if(t.supports(e))return this._eventNameToPlugin.set(e,t),t}throw new Error(`No event manager plugin found for event ${e}`)}}return e.\u0275fac=function(t){return new(t||e)(Xn(nu),Xn(jl))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();class iu{constructor(e){this._doc=e}addGlobalEventListener(e,t,n){const r=dc().getGlobalEventTarget(this._doc,e);if(!r)throw new Error(`Unsupported event target ${r} for event ${t}`);return this.addEventListener(r,t,n)}}let su=(()=>{class e{constructor(){this._stylesSet=new Set}addStyles(e){const t=new Set;e.forEach(e=>{this._stylesSet.has(e)||(this._stylesSet.add(e),t.add(e))}),this.onStylesAdded(t)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),ou=(()=>{class e extends su{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,t,n){e.forEach(e=>{const r=this._doc.createElement("style");r.textContent=e,n.push(t.appendChild(r))})}addHost(e){const t=[];this._addStylesToHost(this._stylesSet,e,t),this._hostNodes.set(e,t)}removeHost(e){const t=this._hostNodes.get(e);t&&t.forEach(au),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((t,n)=>{this._addStylesToHost(e,n,t)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach(au))}}return e.\u0275fac=function(t){return new(t||e)(Xn(pc))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();function au(e){dc().remove(e)}const lu={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/"},cu=/%COMP%/g;function uu(e,t,n){for(let r=0;r<t.length;r++){let i=t[r];Array.isArray(i)?uu(e,i,n):(i=i.replace(cu,e),n.push(i))}return n}function hu(e){return t=>{if("__ngUnwrap__"===t)return e;!1===e(t)&&(t.preventDefault(),t.returnValue=!1)}}let du=(()=>{class e{constructor(e,t,n){this.eventManager=e,this.sharedStylesHost=t,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new pu(e)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;switch(t.encapsulation){case Ce.Emulated:{let n=this.rendererByCompId.get(t.id);return n||(n=new fu(this.eventManager,this.sharedStylesHost,t,this.appId),this.rendererByCompId.set(t.id,n)),n.applyToHost(e),n}case 1:case Ce.ShadowDom:return new gu(this.eventManager,this.sharedStylesHost,e,t);default:if(!this.rendererByCompId.has(t.id)){const e=uu(t.id,t.styles,[]);this.sharedStylesHost.addStyles(e),this.rendererByCompId.set(t.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return e.\u0275fac=function(t){return new(t||e)(Xn(ru),Xn(ou),Xn(ml))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();class pu{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(lu[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,n){e&&e.insertBefore(t,n)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let n="string"==typeof e?document.querySelector(e):e;if(!n)throw new Error(`The selector "${e}" did not match any elements`);return t||(n.textContent=""),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+":"+t;const i=lu[r];i?e.setAttributeNS(i,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){const r=lu[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){r&(Kr.DashCase|Kr.Important)?e.style.setProperty(t,n,r&Kr.Important?"important":""):e.style[t]=n}removeStyle(e,t,n){n&Kr.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,n){e[t]=n}setValue(e,t){e.nodeValue=t}listen(e,t,n){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,hu(n)):this.eventManager.addEventListener(e,t,hu(n))}}class fu extends pu{constructor(e,t,n,r){super(e),this.component=n;const i=uu(r+"-"+n.id,n.styles,[]);t.addStyles(i),this.contentAttr="_ngcontent-%COMP%".replace(cu,r+"-"+n.id),this.hostAttr="_nghost-%COMP%".replace(cu,r+"-"+n.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,""),n}}class gu extends pu{constructor(e,t,n,r){super(e),this.sharedStylesHost=t,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const i=uu(r.id,r.styles,[]);for(let s=0;s<i.length;s++){const e=document.createElement("style");e.textContent=i[s],this.shadowRoot.appendChild(e)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}}let mu=(()=>{class e extends iu{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,n){return e.addEventListener(t,n,!1),()=>this.removeEventListener(e,t,n)}removeEventListener(e,t,n){return e.removeEventListener(t,n)}}return e.\u0275fac=function(t){return new(t||e)(Xn(pc))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const vu=["alt","control","meta","shift"],yu={"\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"},bu={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wu={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let _u=(()=>{class e extends iu{constructor(e){super(e)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,n,r){const i=e.parseEventName(n),s=e.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>dc().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const n=t.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;const i=e._normalizeKey(n.pop());let s="";if(vu.forEach(e=>{const t=n.indexOf(e);t>-1&&(n.splice(t,1),s+=e+".")}),s+=i,0!=n.length||0===i.length)return null;const o={};return o.domEventName=r,o.fullKey=s,o}static getEventFullKey(e){let t="",n=function(e){let t=e.key;if(null==t){if(t=e.keyIdentifier,null==t)return"Unidentified";t.startsWith("U+")&&(t=String.fromCharCode(parseInt(t.substring(2),16)),3===e.location&&bu.hasOwnProperty(t)&&(t=bu[t]))}return yu[t]||t}(e);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),vu.forEach(r=>{r!=n&&(0,wu[r])(e)&&(t+=r+".")}),t+=n,t}static eventCallback(t,n,r){return i=>{e.getEventFullKey(i)===t&&r.runGuarded(()=>n(i))}}static _normalizeKey(e){switch(e){case"esc":return"escape";default:return e}}}return e.\u0275fac=function(t){return new(t||e)(Xn(pc))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),Cu=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({factory:function(){return Xn(Su)},token:e,providedIn:"root"}),e})();function Tu(e){return new Su(e.get(pc))}let Su=(()=>{class e extends Cu{constructor(e){super(),this._doc=e}sanitize(e,t){if(null==t)return null;switch(e){case zr.NONE:return t;case zr.HTML:return mr(t,"HTML")?gr(t):Ur(this._doc,String(t)).toString();case zr.STYLE:return mr(t,"Style")?gr(t):t;case zr.SCRIPT:if(mr(t,"Script"))return gr(t);throw new Error("unsafe value used in a script context");case zr.URL:return vr(t),mr(t,"URL")?gr(t):Cr(String(t));case zr.RESOURCE_URL:if(mr(t,"ResourceURL"))return gr(t);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${e} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(e){return new ur(e)}bypassSecurityTrustStyle(e){return new hr(e)}bypassSecurityTrustScript(e){return new dr(e)}bypassSecurityTrustUrl(e){return new pr(e)}bypassSecurityTrustResourceUrl(e){return new fr(e)}}return e.\u0275fac=function(t){return new(t||e)(Xn(pc))},e.\u0275prov=ae({factory:function(){return Tu(Xn(Ns))},token:e,providedIn:"root"}),e})();const xu=Jl(lc,"browser",[{provide:wl,useValue:"browser"}
1,{provide:bl,useValue:function(){Yc.makeCurrent(),eu.init()},multi:!0},{provide:pc,useFactory:function(){return function(e){ct=e}(document),document},deps:[]}]),ku=[[],{provide:Ls,useValue:"root"},{provide:Yr,useFactory:function(){return new Yr},deps:[]},{provide:nu,useClass:mu,multi:!0,deps:[pc,jl,wl]},{provide:nu,useClass:_u,multi:!0,deps:[pc]},[],{provide:du,useClass:du,deps:[ru,ou,ml]},{provide:Zo,useExisting:du},{provide:su,useExisting:ou},{provide:ou,useClass:ou,deps:[pc]},{provide:Vl,useClass:Vl,deps:[jl]},{provide:ru,useClass:ru,deps:[nu,jl]},{provide:Qc,useClass:tu,deps:[]},[]];let Iu=(()=>{class e{constructor(e){if(e)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:e,providers:[{provide:ml,useValue:t.appId},{provide:Kc,useExisting:ml},Xc]}}}return e.\u0275fac=function(t){return new(t||e)(Xn(e,12))},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({providers:ku,imports:[Bc,uc]}),e})();function Eu(...e){let t=e[e.length-1];return x(t)?(e.pop(),N(e,t)):$(e)}"undefined"!=typeof window&&window;class Ou extends T{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new w;return this._value}next(e){super.next(this._value=e)}}class Au extends f{notifyNext(e,t,n,r,i){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Pu extends f{constructor(e,t,n){super(),this.parent=e,this.outerValue=t,this.outerIndex=n,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function Mu(e,t,n,r,i=new Pu(e,n,r)){if(!i.closed)return t instanceof y?t.subscribe(i):R(t)(i)}const Ru={};function Nu(...e){let t,n;return x(e[e.length-1])&&(n=e.pop()),"function"==typeof e[e.length-1]&&(t=e.pop()),1===e.length&&l(e[0])&&(e=e[0]),$(e,n).lift(new ju(t))}class ju{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Lu(e,this.resultSelector))}}class Lu extends Au{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(Ru),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let n=0;n<t;n++)this.add(Mu(this,e[n],void 0,n))}}notifyComplete(e){0==(this.active-=1)&&this.destination.complete()}notifyNext(e,t,n){const r=this.values,i=this.toRespond?r[n]===Ru?--this.toRespond:this.toRespond:0;r[n]=t,0===i&&(this.resultSelector?this._tryResultSelector(r):this.destination.next(r.slice()))}_tryResultSelector(e){let t;try{t=this.resultSelector.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}const Fu=(()=>{function e(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return e.prototype=Object.create(Error.prototype),e})();function Du(...e){return V(1)(Eu(...e))}const Uu=new y(e=>e.complete());function Hu(e){return e?function(e){return new y(t=>e.schedule(()=>t.complete()))}(e):Uu}function zu(e){return new y(t=>{let n;try{n=e()}catch(r){return void t.error(r)}return(n?j(n):Hu()).subscribe(t)})}function Vu(e,t){return"function"==typeof t?n=>n.pipe(Vu((n,r)=>j(e(n,r)).pipe(k((e,i)=>t(n,e,r,i))))):t=>t.lift(new $u(e))}class $u{constructor(e){this.project=e}call(e,t){return t.subscribe(new Bu(e,this.project))}}class Bu extends F{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const n=this.index++;try{t=this.project(e,n)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const n=new L(this),r=this.destination;r.add(n),this.innerSubscription=D(e,n),this.innerSubscription!==n&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;e&&!e.closed||super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const qu=(()=>{function e(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return e.prototype=Object.create(Error.prototype),e})();function Wu(e){return t=>0===e?Hu():t.lift(new Gu(e))}class Gu{constructor(e){if(this.total=e,this.total<0)throw new qu}call(e,t){return t.subscribe(new Qu(e,this.total))}}class Qu extends f{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))}}function Yu(e,t){let n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new Zu(e,t,n))}}class Zu{constructor(e,t,n=!1){this.accumulator=e,this.seed=t,this.hasSeed=n}call(e,t){return t.subscribe(new Ju(e,this.accumulator,this.seed,this.hasSeed))}}class Ju extends f{constructor(e,t,n,r){super(e),this.accumulator=t,this._seed=n,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let n;try{n=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=n,this.destination.next(n)}}function Ku(e,t){return function(n){return n.lift(new Xu(e,t))}}class Xu{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new eh(e,this.predicate,this.thisArg))}}class eh extends f{constructor(e,t,n){super(e),this.predicate=t,this.thisArg=n,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)}}function th(e){return function(t){const n=new nh(e),r=t.lift(n);return n.caught=r}}class nh{constructor(e){this.selector=e}call(e,t){return t.subscribe(new rh(e,this.selector,this.caught))}}class rh extends F{constructor(e,t,n){super(e),this.selector=t,this.caught=n}error(e){if(!this.isStopped){let n;try{n=this.selector(e,this.caught)}catch(t){return void super.error(t)}this._unsubscribeAndRecycle();const r=new L(this);this.add(r);const i=D(n,r);i!==r&&this.add(i)}}}function ih(e,t){return U(e,t,1)}function sh(e){return function(t){return 0===e?Hu():t.lift(new oh(e))}}class oh{constructor(e){if(this.total=e,this.total<0)throw new qu}call(e,t){return t.subscribe(new ah(e,this.total))}}class ah extends f{constructor(e,t){super(e),this.total=t,this.ring=new Array,this.count=0}_next(e){const t=this.ring,n=this.total,r=this.count++;t.length<n?t.push(e):t[r%n]=e}_complete(){const e=this.destination;let t=this.count;if(t>0){const n=this.count>=this.total?this.total:this.count,r=this.ring;for(let i=0;i<n;i++){const i=t++%n;e.next(r[i])}}e.complete()}}function lh(e=hh){return t=>t.lift(new ch(e))}class ch{constructor(e){this.errorFactory=e}
1call(e,t){return t.subscribe(new uh(e,this.errorFactory))}}class uh extends f{constructor(e,t){super(e),this.errorFactory=t,this.hasValue=!1}_next(e){this.hasValue=!0,this.destination.next(e)}_complete(){if(this.hasValue)return this.destination.complete();{let t;try{t=this.errorFactory()}catch(e){t=e}this.destination.error(t)}}}function hh(){return new Fu}function dh(e=null){return t=>t.lift(new ph(e))}class ph{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new fh(e,this.defaultValue))}}class fh extends f{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function gh(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Ku((t,n)=>e(t,n,r)):v,Wu(1),n?dh(t):lh(()=>new Fu))}function mh(){}function vh(e,t,n){return function(r){return r.lift(new yh(e,t,n))}}class yh{constructor(e,t,n){this.nextOrObserver=e,this.error=t,this.complete=n}call(e,t){return t.subscribe(new bh(e,this.nextOrObserver,this.error,this.complete))}}class bh extends f{constructor(e,t,n,i){super(e),this._tapNext=mh,this._tapError=mh,this._tapComplete=mh,this._tapError=n||mh,this._tapComplete=i||mh,r(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||mh,this._tapError=t.error||mh,this._tapComplete=t.complete||mh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}class wh{constructor(e){this.callback=e}call(e,t){return t.subscribe(new _h(e,this.callback))}}class _h extends f{constructor(e,t){super(e),this.add(new h(t))}}class Ch{constructor(e,t){this.id=e,this.url=t}}class Th extends Ch{constructor(e,t,n="imperative",r=null){super(e,t),this.navigationTrigger=n,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Sh extends Ch{constructor(e,t,n){super(e,t),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class xh extends Ch{constructor(e,t,n){super(e,t),this.reason=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class kh extends Ch{constructor(e,t,n){super(e,t),this.error=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Ih extends Ch{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Eh extends Ch{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Oh extends Ch{constructor(e,t,n,r,i){super(e,t),this.urlAfterRedirects=n,this.state=r,this.shouldActivate=i}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Ah extends Ch{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ph extends Ch{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Mh{constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Rh{constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Nh{constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class jh{constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Lh{constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Fh{constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Dh{constructor(e,t,n){this.routerEvent=e,this.position=t,this.anchor=n}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const Uh="primary";class Hh{constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t[0]:t}return null}getAll(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function zh(e){return new Hh(e)}function Vh(e){const t=Error("NavigationCancelingError: "+e);return t.ngNavigationCancelingError=!0,t}function $h(e,t,n){const r=n.path.split("/");if(r.length>e.length)return null;if("full"===n.pathMatch&&(t.hasChildren()||r.length<e.length))return null;const i={};for(let s=0;s<r.length;s++){const t=r[s],n=e[s];if(t.startsWith(":"))i[t.substring(1)]=n;else if(t!==n.path)return null}return{consumed:e.slice(0,r.length),posParams:i}}function Bh(e,t){const n=e?Object.keys(e):void 0,r=t?Object.keys(t):void 0;if(!n||!r||n.length!=r.length)return!1;let i;for(let s=0;s<n.length;s++)if(i=n[s],!qh(e[i],t[i]))return!1;return!0}function qh(e,t){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;const n=[...e].sort(),r=[...t].sort();return n.every((e,t)=>r[t]===e)}return e===t}function Wh(e){return Array.prototype.concat.apply([],e)}function Gh(e){return e.length>0?e[e.length-1]:null}function Qh(e,t){for(const n in e)e.hasOwnProperty(n)&&t(e[n],n)}function Yh(e){return go(e)?e:fo(e)?j(Promise.resolve(e)):Eu(e)}const Zh={exact:function e(t,n,r){if(!sd(t.segments,n.segments))return!1;if(!td(t.segments,n.segments,r))return!1;if(t.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children){if(!t.children[i])return!1;if(!e(t.children[i],n.children[i],r))return!1}return!0},subset:Xh},Jh={exact:function(e,t){return Bh(e,t)},subset:function(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>qh(e[n],t[n]))},ignored:()=>!0};
1function Kh(e,t,n){return Zh[n.paths](e.root,t.root,n.matrixParams)&&Jh[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function Xh(e,t,n){return ed(e,t,t.segments,n)}function ed(e,t,n,r){if(e.segments.length>n.length){const i=e.segments.slice(0,n.length);return!!sd(i,n)&&!t.hasChildren()&&!!td(i,n,r)}if(e.segments.length===n.length){if(!sd(e.segments,n))return!1;if(!td(e.segments,n,r))return!1;for(const n in t.children){if(!e.children[n])return!1;if(!Xh(e.children[n],t.children[n],r))return!1}return!0}{const i=n.slice(0,e.segments.length),s=n.slice(e.segments.length);return!!sd(e.segments,i)&&!!td(e.segments,i,r)&&!!e.children.primary&&ed(e.children.primary,t,s,r)}}function td(e,t,n){return t.every((t,r)=>Jh[n](e[r].parameters,t.parameters))}class nd{constructor(e,t,n){this.root=e,this.queryParams=t,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=zh(this.queryParams)),this._queryParamMap}toString(){return ld.serialize(this)}}class rd{constructor(e,t){this.segments=e,this.children=t,this.parent=null,Qh(t,(e,t)=>e.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return cd(this)}}class id{constructor(e,t){this.path=e,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=zh(this.parameters)),this._parameterMap}toString(){return md(this)}}function sd(e,t){return e.length===t.length&&e.every((e,n)=>e.path===t[n].path)}class od{}class ad{parse(e){const t=new _d(e);return new nd(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(e){var t;return`/${ud(e.root,!0)}${function(e){const t=Object.keys(e).map(t=>{const n=e[t];return Array.isArray(n)?n.map(e=>`${dd(t)}=${dd(e)}`).join("&"):`${dd(t)}=${dd(n)}`}).filter(e=>!!e);return t.length?`?${t.join("&")}`:""}(e.queryParams)}${"string"==typeof e.fragment?`#${t=e.fragment,encodeURI(t)}`:""}`}}const ld=new ad;function cd(e){return e.segments.map(e=>md(e)).join("/")}function ud(e,t){if(!e.hasChildren())return cd(e);if(t){const t=e.children.primary?ud(e.children.primary,!1):"",n=[];return Qh(e.children,(e,t)=>{t!==Uh&&n.push(`${t}:${ud(e,!1)}`)}),n.length>0?`${t}(${n.join("//")})`:t}{const t=function(e,t){let n=[];return Qh(e.children,(e,r)=>{r===Uh&&(n=n.concat(t(e,r)))}),Qh(e.children,(e,r)=>{r!==Uh&&(n=n.concat(t(e,r)))}),n}(e,(t,n)=>n===Uh?[ud(e.children.primary,!1)]:[`${n}:${ud(t,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children.primary?`${cd(e)}/${t[0]}`:`${cd(e)}/(${t.join("//")})`}}function hd(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function dd(e){return hd(e).replace(/%3B/gi,";")}function pd(e){return hd(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function fd(e){return decodeURIComponent(e)}function gd(e){return fd(e.replace(/\+/g,"%20"))}function md(e){return`${pd(e.path)}${t=e.parameters,Object.keys(t).map(e=>`;${pd(e)}=${pd(t[e])}`).join("")}`;var t}const vd=/^[^\/()?;=#]+/;function yd(e){const t=e.match(vd);return t?t[0]:""}const bd=/^[^=?&#]+/,wd=/^[^?&#]+/;class _d{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new rd([],{}):new rd([],this.parseChildren())}parseQueryParams(){const e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(n.primary=new rd(e,t)),n}parseSegment(){const e=yd(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(e),new id(fd(e),this.parseMatrixParams())}parseMatrixParams(){const e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){const t=yd(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){const e=yd(this.remaining);e&&(n=e,this.capture(n))}e[fd(t)]=fd(n)}parseQueryParam(e){const t=function(e){const t=e.match(bd);return t?t[0]:""}(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){const e=function(e){const t=e.match(wd);return t?t[0]:""}(this.remaining);e&&(n=e,this.capture(n))}const r=gd(t),i=gd(n);if(e.hasOwnProperty(r)){let t=e[r];Array.isArray(t)||(t=[t],e[r]=t),t.push(i)}else e[r]=i}parseParens(e){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=yd(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error(`Cannot parse url '${this.url}'`);let i;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):e&&(i=Uh);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s.primary:new rd([],s),this.consumeOptional("//")}return t}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)}capture(e){if(!this.consumeOptional(e))throw new Error(`Expected "${e}".`)}}class Cd{constructor(e){this._root=e}get root(){return this._root.value}
vendor: 4,302 bytes, line 1
1parent(e){const t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null}children(e){const t=Td(e,this._root);return t?t.children.map(e=>e.value):[]}firstChild(e){const t=Td(e,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(e){const t=Sd(e,this._root);return t.length<2?[]:t[t.length-2].children.map(e=>e.value).filter(t=>t!==e)}pathFromRoot(e){return Sd(e,this._root).map(e=>e.value)}}function Td(e,t){if(e===t.value)return t;for(const n of t.children){const t=Td(e,n);if(t)return t}return null}function Sd(e,t){if(e===t.value)return[t];for(const n of t.children){const r=Sd(e,n);if(r.length)return r.unshift(t),r}return[]}class xd{constructor(e,t){this.value=e,this.children=t}toString(){return`TreeNode(${this.value})`}}function kd(e){const t={};return e&&e.children.forEach(e=>t[e.value.outlet]=e),t}class Id extends Cd{constructor(e,t){super(e),this.snapshot=t,Rd(this,e)}toString(){return this.snapshot.toString()}}function Ed(e,t){const n=function(e,t){const n=new Pd([],{},{},"",{},Uh,t,null,e.root,-1,{});return new Md("",new xd(n,[]))}(e,t),r=new Ou([new id("",{})]),i=new Ou({}),s=new Ou({}),o=new Ou({}),a=new Ou(""),l=new Od(r,i,o,a,s,Uh,t,n.root);return l.snapshot=n.root,new Id(new xd(l,[]),n)}class Od{constructor(e,t,n,r,i,s,o,a){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=s,this.component=o,this._futureSnapshot=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(k(e=>zh(e)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(k(e=>zh(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Ad(e,t="emptyOnly"){const n=e.pathFromRoot;let r=0;if("always"!==t)for(r=n.length-1;r>=1;){const e=n[r],t=n[r-1];if(e.routeConfig&&""===e.routeConfig.path)r--;else{if(t.component)break;r--}}return function(e){return e.reduce((e,t)=>({params:Object.assign(Object.assign({},e.params),t.params),data:Object.assign(Object.assign({},e.data),t.data),resolve:Object.assign(Object.assign({},e.resolve),t._resolvedData)}),{params:{},data:{},resolve:{}})}(n.slice(r))}class Pd{constructor(e,t,n,r,i,s,o,a,l,c,u){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=s,this.component=o,this.routeConfig=a,this._urlSegment=l,this._lastPathIndex=c,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=zh(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=zh(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(e=>e.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Md extends Cd{constructor(e,t){super(t),this.url=e,Rd(this,t)}toString(){return Nd(this._root)}}function Rd(e,t){t.value._routerState=e,t.children.forEach(t=>Rd(e,t))}function Nd(e){const t=e.children.length>0?` { ${e.children.map(Nd).join(", ")} } `:"";return`${e.value}${t}`}function jd(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,Bh(t.queryParams,n.queryParams)||e.queryParams.next(n.queryParams),t.fragment!==n.fragment&&e.fragment.next(n.fragment),Bh(t.params,n.params)||e.params.next(n.params),function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(!Bh(e[n],t[n]))return!1;return!0}(t.url,n.url)||e.url.next(n.url),Bh(t.data,n.data)||e.data.next(n.data)}else e.snapshot=e._futureSnapshot,e.data.next(e._futureSnapshot.data)}function Ld(e,t){var n,r;return Bh(e.params,t.params)&&sd(n=e.url,r=t.url)&&n.every((e,t)=>Bh(e.parameters,r[t].parameters))&&!(!e.parent!=!t.parent)&&(!e.parent||Ld(e.parent,t.parent))}
1function Fd(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const r=n.value;r._futureSnapshot=t.value;const i=function(e,t,n){return t.children.map(t=>{for(const r of n.children)if(e.shouldReuseRoute(t.value,r.value.snapshot))return Fd(e,t,r);return Fd(e,t)})}(e,t,n);return new xd(r,i)}{if(e.shouldAttach(t.value)){const n=e.retrieve(t.value);if(null!==n){const e=n.route;return Dd(t,e),e}}const n=new Od(new Ou((r=t.value).url),new Ou(r.params),new Ou(r.queryParams),new Ou(r.fragment),new Ou(r.data),r.outlet,r.component,r),i=t.children.map(t=>Fd(e,t));return new xd(n,i)}var r}function Dd(e,t){if(e.value.routeConfig!==t.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(e.children.length!==t.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");t.value._futureSnapshot=e.value;for(let n=0;n<e.children.length;++n)Dd(e.children[n],t.children[n])}function Ud(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Hd(e){return"object"==typeof e&&null!=e&&e.outlets}function zd(e,t,n,r,i){let s={};return r&&Qh(r,(e,t)=>{s[t]=Array.isArray(e)?e.map(e=>`${e}`):`${e}`}),new nd(n.root===e?t:Vd(n.root,e,t),s,i)}function Vd(e,t,n){const r={};return Qh(e.children,(e,i)=>{r[i]=e===t?n:Vd(e,t,n)}),new rd(e.segments,r)}class $d{constructor(e,t,n){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=n,e&&n.length>0&&Ud(n[0]))throw new Error("Root segment cannot have matrix parameters");const r=n.find(Hd);if(r&&r!==Gh(n))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Bd{constructor(e,t,n){this.segmentGroup=e,this.processChildren=t,this.index=n}}function qd(e,t,n){if(e||(e=new rd([],{})),0===e.segments.length&&e.hasChildren())return Wd(e,t,n);const r=function(e,t,n){let r=0,i=t;const s={match:!1,pathIndex:0,commandIndex:0};for(;i<e.segments.length;){if(r>=n.length)return s;const t=e.segments[i],o=n[r];if(Hd(o))break;const a=`${o}`,l=r<n.length-1?n[r+1]:null;if(i>0&&void 0===a)break;if(a&&l&&"object"==typeof l&&void 0===l.outlets){if(!Zd(a,l,t))return s;r+=2}else{if(!Zd(a,{},t))return s;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(e,t,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex<e.segments.length){const t=new rd(e.segments.slice(0,r.pathIndex),{});return t.children.primary=new rd(e.segments.slice(r.pathIndex),e.children),Wd(t,0,i)}return r.match&&0===i.length?new rd(e.segments,{}):r.match&&!e.hasChildren()?Gd(e,t,n):r.match?Wd(e,0,i):Gd(e,t,n)}function Wd(e,t,n){if(0===n.length)return new rd(e.segments,{});{const r=function(e){return Hd(e[0])?e[0].outlets:{[Uh]:e}}(n),i={};return Qh(r,(n,r)=>{"string"==typeof n&&(n=[n]),null!==n&&(i[r]=qd(e.children[r],t,n))}),Qh(e.children,(e,t)=>{void 0===r[t]&&(i[t]=e)}),new rd(e.segments,i)}}function Gd(e,t,n){const r=e.segments.slice(0,t);let i=0;for(;i<n.length;){const s=n[i];if(Hd(s)){const e=Qd(s.outlets);return new rd(r,e)}if(0===i&&Ud(n[0])){r.push(new id(e.segments[t].path,Yd(n[0]))),i++;continue}const o=Hd(s)?s.outlets.primary:`${s}`,a=i<n.length-1?n[i+1]:null;o&&a&&Ud(a)?(r.push(new id(o,Yd(a))),i+=2):(r.push(new id(o,{})),i++)}return new rd(r,{})}function Qd(e){const t={};return Qh(e,(e,n)=>{"string"==typeof e&&(e=[e]),null!==e&&(t[n]=Gd(new rd([],{}),0,e))}),t}function Yd(e){const t={};return Qh(e,(e,n)=>t[n]=`${e}`),t}function Zd(e,t,n){return e==n.path&&Bh(t,n.parameters)}class Jd{constructor(e,t,n,r){this.routeReuseStrategy=e,this.futureState=t,this.currState=n,this.forwardEvent=r}activate(e){const t=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,n,e),jd(this.futureState.root),this.activateChildRoutes(t,n,e)}deactivateChildRoutes(e,t,n){const r=kd(t);e.children.forEach(e=>{const t=e.value.outlet;this.deactivateRoutes(e,r[t],n),delete r[t]}),Qh(r,(e,t)=>{this.deactivateRouteAndItsChildren(e,n)})}deactivateRoutes(e,t,n){const r=e.value,i=t?t.value:null;if(r===i)if(r.component){const i=n.getContext(r.outlet);i&&this.deactivateChildRoutes(e,t,i.children)}
1else this.deactivateChildRoutes(e,t,n);else i&&this.deactivateRouteAndItsChildren(t,n)}deactivateRouteAndItsChildren(e,t){this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,t):this.deactivateRouteAndOutlet(e,t)}detachAndStoreRouteSubtree(e,t){const n=t.getContext(e.value.outlet);if(n&&n.outlet){const t=n.outlet.detach(),r=n.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:t,route:e,contexts:r})}}deactivateRouteAndOutlet(e,t){const n=t.getContext(e.value.outlet),r=n&&e.value.component?n.children:t,i=kd(e);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],r);n&&n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated(),n.attachRef=null,n.resolver=null,n.route=null)}activateChildRoutes(e,t,n){const r=kd(t);e.children.forEach(e=>{this.activateRoutes(e,r[e.value.outlet],n),this.forwardEvent(new Fh(e.value.snapshot))}),e.children.length&&this.forwardEvent(new jh(e.value.snapshot))}activateRoutes(e,t,n){const r=e.value,i=t?t.value:null;if(jd(r),r===i)if(r.component){const i=n.getOrCreateContext(r.outlet);this.activateChildRoutes(e,t,i.children)}else this.activateChildRoutes(e,t,n);else if(r.component){const t=n.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const e=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),t.children.onOutletReAttached(e.contexts),t.attachRef=e.componentRef,t.route=e.route.value,t.outlet&&t.outlet.attach(e.componentRef,e.route.value),Kd(e.route)}else{const n=function(e){for(let t=e.parent;t;t=t.parent){const e=t.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig;if(e&&e.component)return null}return null}(r.snapshot),i=n?n.module.componentFactoryResolver:null;t.attachRef=null,t.route=r,t.resolver=i,t.outlet&&t.outlet.activateWith(r,i),this.activateChildRoutes(e,null,t.children)}}else this.activateChildRoutes(e,null,n)}}function Kd(e){jd(e.value),e.children.forEach(Kd)}class Xd{constructor(e,t){this.routes=e,this.module=t}}function ep(e){return"function"==typeof e}function tp(e){return e instanceof nd}const np=Symbol("INITIAL_VALUE");function rp(){return Vu(e=>Nu(e.map(e=>e.pipe(Wu(1),function(...e){const t=e[e.length-1];return x(t)?(e.pop(),n=>Du(e,n,t)):t=>Du(e,t)}(np)))).pipe(Yu((e,t)=>{let n=!1;return t.reduce((e,r,i)=>{if(e!==np)return e;if(r===np&&(n=!0),!n){if(!1===r)return r;if(i===t.length-1||tp(r))return r}return e},e)},np),Ku(e=>e!==np),k(e=>tp(e)?e:!0===e),Wu(1)))}let ip=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["ng-component"]],decls:1,vars:0,template:function(e,t){1&e&&co(0,"router-outlet")},directives:function(){return[ef]},encapsulation:2}),e})();function sp(e,t=""){for(let n=0;n<e.length;n++){const r=e[n];op(r,ap(t,r))}}function op(e,t){e.children&&sp(e.children,t)}function ap(e,t){return t?e||t.path?e&&!t.path?`${e}/`:!e&&t.path?t.path:`${e}/${t.path}`:"":e}function lp(e){const t=e.children&&e.children.map(lp),n=t?Object.assign(Object.assign({},e),{children:t}):Object.assign({},e);return!n.component&&(t||n.loadChildren)&&n.outlet&&n.outlet!==Uh&&(n.component=ip),n}function cp(e){return e.outlet||Uh}function up(e,t){const n=e.filter(e=>cp(e)===t);return n.push(...e.filter(e=>cp(e)!==t)),n}const hp={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function dp(e,t,n){var r;if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?Object.assign({},hp):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const i=(t.matcher||$h)(n,e,t);if(!i)return Object.assign({},hp);const s={};Qh(i.posParams,(e,t)=>{s[t]=e.path});const o=i.consumed.length>0?Object.assign(Object.assign({},s),i.consumed[i.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:i.consumed,lastChild:i.consumed.length,parameters:o,positionalParamSegments:null!==(r=i.posParams)&&void 0!==r?r:{}}}function pp(e,t,n,r,i="corrected"){if(n.length>0&&function(e,t,n){return n.some(n=>fp(e,t,n)&&cp(n)!==Uh)}(e,n,r)){const i=new rd(t,function(e,t,n,r){const i={};i.primary=r,r._sourceSegment=e,r._segmentIndexShift=t.length;for(const s of n)if(""===s.path&&cp(s)!==Uh){const n=new rd([],{});n._sourceSegment=e,n._segmentIndexShift=t.length,i[cp(s)]=n}return i}(e,t,r,new rd(n,e.children)));return i._sourceSegment=e,i._segmentIndexShift=t.length,{segmentGroup:i,slicedSegments:[]}}if(0===n.length&&function(e,t,n){return n.some(n=>fp(e,t,n))}(e,n,r)){const s=new rd(e.segments,function(e,t,n,r,i,s){const o={};for(const a of r)if(fp(e,n,a)&&!i[cp(a)]){const n=new rd([],{});n._sourceSegment=e,n._segmentIndexShift="legacy"===s?e.segments.length:t.length,o[cp(a)]=n}return Object.assign(Object.assign({},i),o)}(e,t,n,r,e.children,i));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:n}}const s=new rd(e.segments,e.children);return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:n}}function fp(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}function gp(e,t,n,r){return!!(cp(e)===r||r!==Uh&&fp(t,n,e))&&("**"===e.path||dp(t,e,n).matched)}function mp(e,t,n){return 0===t.length&&!e.children[n]}class vp{constructor(e){this.segmentGroup=e||null}}class yp{constructor(e){this.urlTree=e}}function bp(e){return new y(t=>t.error(new vp(e)))}function wp(e){return new y(t=>t.error(new yp(e)))}function _p(e){return new y(t=>t.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${e}'`)))}class Cp{constructor(e,t,n,r,i){this.configLoader=t,this.urlSerializer
1=n,this.urlTree=r,this.config=i,this.allowRedirects=!0,this.ngModule=e.get(Oa)}apply(){const e=pp(this.urlTree.root,[],[],this.config).segmentGroup,t=new rd(e.segments,e.children);return this.expandSegmentGroup(this.ngModule,this.config,t,Uh).pipe(k(e=>this.createUrlTree(Tp(e),this.urlTree.queryParams,this.urlTree.fragment))).pipe(th(e=>{if(e instanceof yp)return this.allowRedirects=!1,this.match(e.urlTree);if(e instanceof vp)throw this.noMatchError(e);throw e}))}match(e){return this.expandSegmentGroup(this.ngModule,this.config,e.root,Uh).pipe(k(t=>this.createUrlTree(Tp(t),e.queryParams,e.fragment))).pipe(th(e=>{if(e instanceof vp)throw this.noMatchError(e);throw e}))}noMatchError(e){return new Error(`Cannot match any routes. URL Segment: '${e.segmentGroup}'`)}createUrlTree(e,t,n){const r=e.segments.length>0?new rd([],{[Uh]:e}):e;return new nd(r,t,n)}expandSegmentGroup(e,t,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(e,t,n).pipe(k(e=>new rd([],e))):this.expandSegment(e,n,t,n.segments,r,!0)}expandChildren(e,t,n){const r=[];for(const i of Object.keys(n.children))"primary"===i?r.unshift(i):r.push(i);return j(r).pipe(ih(r=>{const i=n.children[r],s=up(t,r);return this.expandSegmentGroup(e,s,i,r).pipe(k(e=>({segment:e,outlet:r})))}),Yu((e,t)=>(e[t.outlet]=t.segment,e),{}),function(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Ku((t,n)=>e(t,n,r)):v,sh(1),n?dh(t):lh(()=>new Fu))}())}expandSegment(e,t,n,r,i,s){return j(n).pipe(ih(o=>this.expandSegmentAgainstRoute(e,t,n,o,r,i,s).pipe(th(e=>{if(e instanceof vp)return Eu(null);throw e}))),gh(e=>!!e),th((e,n)=>{if(e instanceof Fu||"EmptyError"===e.name){if(mp(t,r,i))return Eu(new rd([],{}));throw new vp(t)}throw e}))}expandSegmentAgainstRoute(e,t,n,r,i,s,o){return gp(r,t,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(e,t,r,i,s):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,t,n,r,i,s):bp(t):bp(t)}expandSegmentAgainstRouteUsingRedirect(e,t,n,r,i,s){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,n,r,s):this.expandRegularSegmentAgainstRouteUsingRedirect(e,t,n,r,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(e,t,n,r){const i=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?wp(i):this.lineralizeSegments(n,i).pipe(U(n=>{const i=new rd(n,{});return this.expandSegment(e,i,t,n,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(e,t,n,r,i,s){const{matched:o,consumedSegments:a,lastChild:l,positionalParamSegments:c}=dp(t,r,i);if(!o)return bp(t);const u=this.applyRedirectCommands(a,r.redirectTo,c);return r.redirectTo.startsWith("/")?wp(u):this.lineralizeSegments(r,u).pipe(U(r=>this.expandSegment(e,t,n,r.concat(i.slice(l)),s,!1)))}matchSegmentAgainstRoute(e,t,n,r,i){if("**"===n.path)return n.loadChildren?(n._loadedConfig?Eu(n._loadedConfig):this.configLoader.load(e.injector,n)).pipe(k(e=>(n._loadedConfig=e,new rd(r,{})))):Eu(new rd(r,{}));const{matched:s,consumedSegments:o,lastChild:a}=dp(t,n,r);if(!s)return bp(t);const l=r.slice(a);return this.getChildConfig(e,n,r).pipe(U(e=>{const r=e.module,s=e.routes,{segmentGroup:a,slicedSegments:c}=pp(t,o,l,s),u=new rd(a.segments,a.children);if(0===c.length&&u.hasChildren())return this.expandChildren(r,s,u).pipe(k(e=>new rd(o,e)));if(0===s.length&&0===c.length)return Eu(new rd(o,{}));const h=cp(n)===i;return this.expandSegment(r,u,s,c,h?Uh:i,!0).pipe(k(e=>new rd(o.concat(e.segments),e.children)))}))}getChildConfig(e,t,n){return t.children?Eu(new Xd(t.children,e)):t.loadChildren?void 0!==t._loadedConfig?Eu(t._loadedConfig):this.runCanLoadGuards(e.injector,t,n).pipe(U(n=>n?this.configLoader.load(e.injector,t).pipe(k(e=>(t._loadedConfig=e,e))):function(e){return new y(t=>t.error(Vh(`Cannot load children because the guard of the route "path: '${e.path}'" returned false`)))}(t))):Eu(new Xd([],e))}runCanLoadGuards(e,t,n){const r=t.canLoad;return r&&0!==r.length?Eu(r.map(r=>{const i=e.get(r);let s;if(function(e){return e&&ep(e.canLoad)}(i))s=i.canLoad(t,n);else{if(!ep(i))throw new Error("Invalid CanLoad guard");s=i(t,n)}return Yh(s)})).pipe(rp(),vh(e=>{if(!tp(e))return;const t=Vh(`Redirecting to "${this.urlSerializer.serialize(e)}"`);throw t.url=e,t}),k(e=>!0===e)):Eu(!0)}lineralizeSegments(e,t){let n=[],r=t.root;for(;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return Eu(n);if(r.numberOfChildren>1||!r.children.primary)return _p(e.redirectTo);r=r.children.primary}}applyRedirectCommands(e,t,n){return this.applyRedirectCreatreUrlTree(t,this.urlSerializer.parse(t),e,n)}applyRedirectCreatreUrlTree(e,t,n,r){const i=this.createSegmentGroup(e,t.root,n,r);return new nd(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(e,t){const n={};return Qh(e,(e,r)=>{if("string"==typeof e&&e.startsWith(":")){const i=e.substring(1);n[r]=t[i]}else n[r]=e}),n}createSegmentGroup(e,t,n,r){const i=this.createSegments(e,t.segments,n,r);let s={};return Qh(t.children,(t,i)=>{s[i]=this.createSegmentGroup(e,t,n,r)}),new rd(i,s)}createSegments(e,t,n,r){return t.map(t=>t.path.startsWith(":")?this.findPosParam(e,t,r):this.findOrReturn(t,n))}findPosParam(e,t,n){const r=n[t.path.substring(1)];if(!r)throw new Error(`Cannot redirect to '${e}'. Cannot find '${t.path}'.`);return r}findOrReturn(e,t){let n=0;for(const r of t){if(r.path===e.path)return t.splice(n),r;n++}return e}}function Tp(e){const t={};for(const n of Object.keys(e.children)){const r=Tp(e.children[n]);(r.segments.length>0||r.hasChildren())&&(t[n]=r)}return function(e){if(1===e.numberOfChildren&&e.children.primary){const t=e.children.primary;return new rd(e.segments.concat(t.segments),t.children)}return e}(new rd(e.segments,t))}class Sp{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}}class xp{constructor(e,t){this.component=e,this.route=t}}
1function kp(e,t,n){const r=e._root;return Ep(r,t?t._root:null,n,[r.value])}function Ip(e,t,n){const r=function(e){if(!e)return null;for(let t=e.parent;t;t=t.parent){const e=t.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig}return null}(t);return(r?r.module.injector:n).get(e)}function Ep(e,t,n,r,i={canDeactivateChecks:[],canActivateChecks:[]}){const s=kd(t);return e.children.forEach(e=>{!function(e,t,n,r,i={canDeactivateChecks:[],canActivateChecks:[]}){const s=e.value,o=t?t.value:null,a=n?n.getContext(e.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){const l=function(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!sd(e.url,t.url);case"pathParamsOrQueryParamsChange":return!sd(e.url,t.url)||!Bh(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Ld(e,t)||!Bh(e.queryParams,t.queryParams);case"paramsChange":default:return!Ld(e,t)}}(o,s,s.routeConfig.runGuardsAndResolvers);l?i.canActivateChecks.push(new Sp(r)):(s.data=o.data,s._resolvedData=o._resolvedData),Ep(e,t,s.component?a?a.children:null:n,r,i),l&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new xp(a.outlet.component,o))}else o&&Op(t,a,i),i.canActivateChecks.push(new Sp(r)),Ep(e,null,s.component?a?a.children:null:n,r,i)}(e,s[e.value.outlet],n,r.concat([e.value]),i),delete s[e.value.outlet]}),Qh(s,(e,t)=>Op(e,n.getContext(t),i)),i}function Op(e,t,n){const r=kd(e),i=e.value;Qh(r,(e,r)=>{Op(e,i.component?t?t.children.getContext(r):null:t,n)}),n.canDeactivateChecks.push(new xp(i.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,i))}class Ap{}function Pp(e){return new y(t=>t.error(e))}class Mp{constructor(e,t,n,r,i,s){this.rootComponentType=e,this.config=t,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i,this.relativeLinkResolution=s}recognize(){const e=pp(this.urlTree.root,[],[],this.config.filter(e=>void 0===e.redirectTo),this.relativeLinkResolution).segmentGroup,t=this.processSegmentGroup(this.config,e,Uh);if(null===t)return null;const n=new Pd([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},Uh,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new xd(n,t),i=new Md(this.url,r);return this.inheritParamsAndData(i._root),i}inheritParamsAndData(e){const t=e.value,n=Ad(t,this.paramsInheritanceStrategy);t.params=Object.freeze(n.params),t.data=Object.freeze(n.data),e.children.forEach(e=>this.inheritParamsAndData(e))}processSegmentGroup(e,t,n){return 0===t.segments.length&&t.hasChildren()?this.processChildren(e,t):this.processSegment(e,t,t.segments,n)}processChildren(e,t){const n=[];for(const i of Object.keys(t.children)){const r=t.children[i],s=up(e,i),o=this.processSegmentGroup(s,r,i);if(null===o)return null;n.push(...o)}const r=Np(n);return r.sort((e,t)=>e.value.outlet===Uh?-1:t.value.outlet===Uh?1:e.value.outlet.localeCompare(t.value.outlet)),r}processSegment(e,t,n,r){for(const i of e){const e=this.processSegmentAgainstRoute(i,t,n,r);if(null!==e)return e}return mp(t,n,r)?[]:null}processSegmentAgainstRoute(e,t,n,r){if(e.redirectTo||!gp(e,t,n,r))return null;let i,s=[],o=[];if("**"===e.path){const r=n.length>0?Gh(n).parameters:{};i=new Pd(n,r,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,Fp(e),cp(e),e.component,e,jp(t),Lp(t)+n.length,Dp(e))}else{const r=dp(t,e,n);if(!r.matched)return null;s=r.consumedSegments,o=n.slice(r.lastChild),i=new Pd(s,r.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,Fp(e),cp(e),e.component,e,jp(t),Lp(t)+s.length,Dp(e))}const a=function(e){return e.children?e.children:e.loadChildren?e._loadedConfig.routes:[]}(e),{segmentGroup:l,slicedSegments:c}=pp(t,s,o,a.filter(e=>void 0===e.redirectTo),this.relativeLinkResolution);if(0===c.length&&l.hasChildren()){const e=this.processChildren(a,l);return null===e?null:[new xd(i,e)]}if(0===a.length&&0===c.length)return[new xd(i,[])];const u=cp(e)===r,h=this.processSegment(a,l,c,u?Uh:r);return null===h?null:[new xd(i,h)]}}function Rp(e){const t=e.value.routeConfig;return t&&""===t.path&&void 0===t.redirectTo}function Np(e){const t=[],n=new Set;for(const r of e){if(!Rp(r)){t.push(r);continue}const e=t.find(e=>r.value.routeConfig===e.value.routeConfig);void 0!==e?(e.children.push(...r.children),n.add(e)):t.push(r)}for(const r of n){const e=Np(r.children);t.push(new xd(r.value,e))}return t.filter(e=>!n.has(e))}function jp(e){let t=e;for(;t._sourceSegment;)t=t._sourceSegment;return t}function Lp(e){let t=e,n=t._segmentIndexShift?t._segmentIndexShift:0;for(;t._sourceSegment;)t=t._sourceSegment,n+=t._segmentIndexShift?t._segmentIndexShift:0;return n-1}function Fp(e){return e.data||{}}function Dp(e){return e.resolve||{}}function Up(e){return Vu(t=>{const n=e(t);return n?j(n).pipe(k(()=>t)):Eu(t)})}class Hp extends class{shouldDetach(e){return!1}store(e,t){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,t){return e.routeConfig===t.routeConfig}}{}const zp=new jn("ROUTES");class Vp{constructor(e,t,n,r){this.loader=e,this.compiler=t,this.onLoadStartListener=n,this.onLoadEndListener=r}load(e,t){if(t._loader$)return t._loader$;this.onLoadStartListener&&this.onLoadStartListener(t);const n=this.loadModuleFactory(t.loadChildren).pipe(k(n=>{this.onLoadEndListener&&this.onLoadEndListener(t);const r=n.create(e);return new Xd(Wh(r.injector.get(zp,void 0,me.Self|me.Optional)).map(lp),r)}),th(e=>{throw t._loader$=void 0,e}));return t._loader$=new G(n,()=>new T).pipe(B()),t._loader$}loadModuleFactory(e){return"string"==typeof e?j(this.loader.load(e)):Yh(e()).pipe(U(e=>e instanceof Aa?Eu(e):j(this.compiler.compileModuleAsync(e))))}}class $p{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new Bp,this.attachRef=null}}class Bp{constructor(){this.contexts=new Map}onChildOutletCreated(e,t){const n=this.getOrCreateContext(e);n.outlet=t,this.contexts.set(e,n)}onChildOutletDestroyed(e){const t=this.getContext(e);t&&(t.outlet=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let t=this.getContext(e);return t||(t=new $p,this.contexts.set(e,t)),t}getContext(e){return this.contexts.get(e)||null}}class qp{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,t){return e}}function Wp(e){throw e}function Gp(e,t,n){return t.parse("/")}function Qp(e,t){return Eu(null)}const Yp={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Zp={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Jp=(()=>{class e{constructor(e,t,n,r,i,s,o,a){this.rootComponentType=e,this.urlSerializer
1=t,this.rootContexts=n,this.location=r,this.config=a,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new T,this.errorHandler=Wp,this.malformedUriErrorHandler=Gp,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Qp,afterPreactivation:Qp},this.urlHandlingStrategy=new qp,this.routeReuseStrategy=new Hp,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=i.get(Oa),this.console=i.get(Cl);const l=i.get(jl);this.isNgZoneEnabled=l instanceof jl&&jl.isInAngularZone(),this.resetConfig(a),this.currentUrlTree=new nd(new rd([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new Vp(s,o,e=>this.triggerEvent(new Mh(e)),e=>this.triggerEvent(new Rh(e))),this.routerState=Ed(this.currentUrlTree,this.rootComponentType),this.transitions=new Ou({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var e;return null===(e=this.location.getState())||void 0===e?void 0:e.\u0275routerPageId}setupNavigations(e){const t=this.events;return e.pipe(Ku(e=>0!==e.id),k(e=>Object.assign(Object.assign({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl)})),Vu(e=>{let n=!1,r=!1;return Eu(e).pipe(vh(e=>{this.currentNavigation={id:e.id,initialUrl:e.currentRawUrl,extractedUrl:e.extractedUrl,trigger:e.source,extras:e.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Vu(e=>{const n=!this.navigated||e.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||n)&&this.urlHandlingStrategy.shouldProcessUrl(e.rawUrl))return Eu(e).pipe(Vu(e=>{const n=this.transitions.getValue();return t.next(new Th(e.id,this.serializeUrl(e.extractedUrl),e.source,e.restoredState)),n!==this.transitions.getValue()?Uu:Promise.resolve(e)}),function(e,t,n,r){return Vu(i=>function(e,t,n,r,i){return new Cp(e,t,n,r,i).apply()}(e,t,n,i.extractedUrl,r).pipe(k(e=>Object.assign(Object.assign({},i),{urlAfterRedirects:e}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),vh(e=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:e.urlAfterRedirects})}),function(e,t,n,r,i){return U(s=>function(e,t,n,r,i="emptyOnly",s="legacy"){try{const o=new Mp(e,t,n,r,i,s).recognize();return null===o?Pp(new Ap):Eu(o)}catch(o){return Pp(o)}}(e,t,s.urlAfterRedirects,n(s.urlAfterRedirects),r,i).pipe(k(e=>Object.assign(Object.assign({},s),{targetSnapshot:e}))))}(this.rootComponentType,this.config,e=>this.serializeUrl(e),this.paramsInheritanceStrategy,this.relativeLinkResolution),vh(e=>{"eager"===this.urlUpdateStrategy&&(e.extras.skipLocationChange||this.setBrowserUrl(e.urlAfterRedirects,e),this.browserUrlTree=e.urlAfterRedirects);const n=new Ih(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);t.next(n)}));if(n&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:n,extractedUrl:r,source:i,restoredState:s,extras:o}=e,a=new Th(n,this.serializeUrl(r),i,s);t.next(a);const l=Ed(r,this.rootComponentType).snapshot;return Eu(Object.assign(Object.assign({},e),{targetSnapshot:l,urlAfterRedirects:r,extras:Object.assign(Object.assign({},o),{skipLocationChange:!1,replaceUrl:!1})}
1))}return this.rawUrlTree=e.rawUrl,this.browserUrlTree=e.urlAfterRedirects,e.resolve(null),Uu}),Up(e=>{const{targetSnapshot:t,id:n,extractedUrl:r,rawUrl:i,extras:{skipLocationChange:s,replaceUrl:o}}=e;return this.hooks.beforePreactivation(t,{navigationId:n,appliedUrlTree:r,rawUrlTree:i,skipLocationChange:!!s,replaceUrl:!!o})}),vh(e=>{const t=new Eh(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);this.triggerEvent(t)}),k(e=>Object.assign(Object.assign({},e),{guards:kp(e.targetSnapshot,e.currentSnapshot,this.rootContexts)})),function(e,t){return U(n=>{const{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:s,canDeactivateChecks:o}}=n;return 0===o.length&&0===s.length?Eu(Object.assign(Object.assign({},n),{guardsResult:!0})):function(e,t,n,r){return j(e).pipe(U(e=>function(e,t,n,r,i){const s=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return s&&0!==s.length?Eu(s.map(s=>{const o=Ip(s,t,i);let a;if(function(e){return e&&ep(e.canDeactivate)}(o))a=Yh(o.canDeactivate(e,t,n,r));else{if(!ep(o))throw new Error("Invalid CanDeactivate guard");a=Yh(o(e,t,n,r))}return a.pipe(gh())})).pipe(rp()):Eu(!0)}(e.component,e.route,n,t,r)),gh(e=>!0!==e,!0))}(o,r,i,e).pipe(U(n=>n&&"boolean"==typeof n?function(e,t,n,r){return j(t).pipe(ih(t=>Du(function(e,t){return null!==e&&t&&t(new Nh(e)),Eu(!0)}(t.route.parent,r),function(e,t){return null!==e&&t&&t(new Lh(e)),Eu(!0)}(t.route,r),function(e,t,n){const r=t[t.length-1],i=t.slice(0,t.length-1).reverse().map(e=>function(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(e)).filter(e=>null!==e).map(t=>zu(()=>Eu(t.guards.map(i=>{const s=Ip(i,t.node,n);let o;if(function(e){return e&&ep(e.canActivateChild)}(s))o=Yh(s.canActivateChild(r,e));else{if(!ep(s))throw new Error("Invalid CanActivateChild guard");o=Yh(s(r,e))}return o.pipe(gh())})).pipe(rp())));return Eu(i).pipe(rp())}(e,t.path,n),function(e,t,n){const r=t.routeConfig?t.routeConfig.canActivate:null;return r&&0!==r.length?Eu(r.map(r=>zu(()=>{const i=Ip(r,t,n);let s;if(function(e){return e&&ep(e.canActivate)}(i))s=Yh(i.canActivate(t,e));else{if(!ep(i))throw new Error("Invalid CanActivate guard");s=Yh(i(t,e))}return s.pipe(gh())}))).pipe(rp()):Eu(!0)}(e,t.route,n))),gh(e=>!0!==e,!0))}(r,s,e,t):Eu(n)),k(e=>Object.assign(Object.assign({},n),{guardsResult:e})))})}(this.ngModule.injector,e=>this.triggerEvent(e)),vh(e=>{if(tp(e.guardsResult)){const t=Vh(`Redirecting to "${this.serializeUrl(e.guardsResult)}"`);throw t.url=e.guardsResult,t}const t=new Oh(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot,!!e.guardsResult);this.triggerEvent(t)}),Ku(e=>!!e.guardsResult||(this.restoreHistory(e),this.cancelNavigationTransition(e,""),!1)),Up(e=>{if(e.guards.canActivateChecks.length)return Eu(e).pipe(vh(e=>{const t=new Ah(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);this.triggerEvent(t)}),Vu(e=>{let t=!1;return Eu(e).pipe((n=this.paramsInheritanceStrategy,r=this.ngModule.injector,U(e=>{const{targetSnapshot:t,guards:{canActivateChecks:i}}=e;if(!i.length)return Eu(e);let s=0;return j(i).pipe(ih(e=>function(e,t,n,r){return function(e,t,n,r){const i=Object.keys(e);if(0===i.length)return Eu({});const s={};return j(i).pipe(U(i=>function(e,t,n,r){const i=Ip(e,t,r);return Yh(i.resolve?i.resolve(t,n):i(t,n))}(e[i],t,n,r).pipe(vh(e=>{s[i]=e}))),sh(1),U(()=>Object.keys(s).length===i.length?Eu(s):Uu))}(e._resolve,e,t,r).pipe(k(t=>(e._resolvedData=t,e.data=Object.assign(Object.assign({},e.data),Ad(e,n).resolve),null)))}(e.route,t,n,r)),vh(()=>s++),sh(1),U(t=>s===i.length?Eu(e):Uu))})),vh({next:()=>t=!0,complete:()=>{t||(this.restoreHistory(e),this.cancelNavigationTransition(e,"At least one route resolver didn't emit any value."))}}));var n,r}),vh(e=>{const t=new Ph(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);this.triggerEvent(t)}))}),Up(e=>{const{targetSnapshot:t,id:n,extractedUrl:r,rawUrl:i,extras:{skipLocationChange:s,replaceUrl:o}}=e;return this.hooks.afterPreactivation(t,{navigationId:n,appliedUrlTree:r,rawUrlTree:i,skipLocationChange:!!s,replaceUrl:!!o})}),k(e=>{const t=function(e,t,n){const r=Fd(e,t._root,n?n._root:void 0);return new Id(r,t)}(this.routeReuseStrategy,e.targetSnapshot,e.currentRouterState);return Object.assign(Object.assign({},e),{targetRouterState:t})}),vh(e=>{this.currentUrlTree=e.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl),this.routerState=e.targetRouterState,"deferred"===this.urlUpdateStrategy&&(e.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,e),this.browserUrlTree=e.urlAfterRedirects)}),(s=this.rootContexts,o=this.routeReuseStrategy,a=e=>this.triggerEvent(e),k(e=>(new Jd(o,e.targetRouterState,e.currentRouterState,a).activate(s),e))),vh({next(){
1n=!0},complete(){n=!0}}),(i=()=>{if(!n&&!r){const t=`Navigation ID ${e.id} is not equal to the current navigation id ${this.navigationId}`;"replace"===this.canceledNavigationResolution?(this.restoreHistory(e),this.cancelNavigationTransition(e,t)):this.cancelNavigationTransition(e,t)}this.currentNavigation=null},e=>e.lift(new wh(i))),th(n=>{if(r=!0,(i=n)&&i.ngNavigationCancelingError){const r=tp(n.url);r||(this.navigated=!0,this.restoreHistory(e,!0));const i=new xh(e.id,this.serializeUrl(e.extractedUrl),n.message);t.next(i),r?setTimeout(()=>{const t=this.urlHandlingStrategy.merge(n.url,this.rawUrlTree);this.scheduleNavigation(t,"imperative",null,{skipLocationChange:e.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy},{resolve:e.resolve,reject:e.reject,promise:e.promise})},0):e.resolve(!1)}else{this.restoreHistory(e,!0);const r=new kh(e.id,this.serializeUrl(e.extractedUrl),n);t.next(r);try{e.resolve(this.errorHandler(n))}catch(s){e.reject(s)}}var i;return Uu}));var i,s,o,a}))}resetRootComponentType(e){this.rootComponentType=e,this.routerState.root.component=this.rootComponentType}getTransition(){const e=this.transitions.value;return e.urlAfterRedirects=this.browserUrlTree,e}setTransition(e){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),e))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(e=>{const t=this.extractLocationChangeInfoFromEvent(e);this.shouldScheduleNavigation(this.lastLocationChangeInfo,t)&&setTimeout(()=>{const{source:e,state:n,urlTree:r}=t,i={replaceUrl:!0};if(n){const e=Object.assign({},n);delete e.navigationId,delete e.\u0275routerPageId,0!==Object.keys(e).length&&(i.state=e)}this.scheduleNavigation(r,e,n,i)},0),this.lastLocationChangeInfo=t}))}extractLocationChangeInfoFromEvent(e){var t;return{source:"popstate"===e.type?"popstate":"hashchange",urlTree:this.parseUrl(e.url),state:(null===(t=e.state)||void 0===t?void 0:t.navigationId)?e.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(e,t){if(!e)return!0;const n=t.urlTree.toString()===e.urlTree.toString();return!(t.transitionId===e.transitionId&&n&&("hashchange"===t.source&&"popstate"===e.source||"popstate"===t.source&&"hashchange"===e.source))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(e){this.events.next(e)}resetConfig(e){sp(e),this.config=e.map(lp),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(e,t={}){const{relativeTo:n,queryParams:r,fragment:i,queryParamsHandling:s,preserveFragment:o}=t,a=n||this.routerState.root,l=o?this.currentUrlTree.fragment:i;let c=null;switch(s){case"merge":c=Object.assign(Object.assign({},this.currentUrlTree.queryParams),r);break;case"preserve":c=this.currentUrlTree.queryParams;break;default:c=r||null}return null!==c&&(c=this.removeEmptyProps(c)),function(e,t,n,r,i){if(0===n.length)return zd(t.root,t.root,t,r,i);const s=function(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new $d(!0,0,e);let t=0,n=!1;const r=e.reduce((e,r,i)=>{if("object"==typeof r&&null!=r){if(r.outlets){const t={};return Qh(r.outlets,(e,n)=>{t[n]="string"==typeof e?e.split("/"):e}),[...e,{outlets:t}]}if(r.segmentPath)return[...e,r.segmentPath]}return"string"!=typeof r?[...e,r]:0===i?(r.split("/").forEach((r,i)=>{0==i&&"."===r||(0==i&&""===r?n=!0:".."===r?t++:""!=r&&e.push(r))}),e):[...e,r]},[]);return new $d(n,t,r)}(n);if(s.toRoot())return zd(t.root,new rd([],{}),t,r,i);const o=function(e,t,n){if(e.isAbsolute)return new Bd(t.root,!0,0);if(-1===n.snapshot._lastPathIndex){const e=n.snapshot._urlSegment;return new Bd(e,e===t.root,0)}const r=Ud(e.commands[0])?0:1;return function(e,t,n){let r=e,i=t,s=n;for(;s>i;){if(s-=i,r=r.parent,!r)throw new Error("Invalid number of '../'");i=r.segments.length}return new Bd(r,!1,i-s)}(n.snapshot._urlSegment,n.snapshot._lastPathIndex+r,e.numberOfDoubleDots)}(s,t,e),a=o.processChildren?Wd(o.segmentGroup,o.index,s.commands):qd(o.segmentGroup,o.index,s.commands);return zd(o.segmentGroup,a,t,r,i)}(a,this.currentUrlTree,e,c,null!=l?l:null)}navigateByUrl(e,t={skipLocationChange:!1}){const n=tp(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,t)}navigate(e,t={skipLocationChange:!1}){return function(e){for(let t=0;t<e.length;t++){const n=e[t];if(null==n)throw new Error(`The requested path contains ${n} segment at index ${t}`)}}(e),this.navigateByUrl(this.createUrlTree(e,t),t)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){let t;try{t=this.urlSerializer.parse(e)}catch(n){t=this.malformedUriErrorHandler(n,this.urlSerializer,e)}return t}isActive(e,t){let n;
1if(n=!0===t?Object.assign({},Yp):!1===t?Object.assign({},Zp):t,tp(e))return Kh(this.currentUrlTree,e,n);const r=this.parseUrl(e);return Kh(this.currentUrlTree,r,n)}removeEmptyProps(e){return Object.keys(e).reduce((t,n)=>{const r=e[n];return null!=r&&(t[n]=r),t},{})}processNavigations(){this.navigations.subscribe(e=>{this.navigated=!0,this.lastSuccessfulId=e.id,this.currentPageId=e.targetPageId,this.events.next(new Sh(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,e.resolve(!0)},e=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(e,t,n,r,i){var s,o;if(this.disposed)return Promise.resolve(!1);const a=this.getTransition(),l="imperative"!==t&&"imperative"===(null==a?void 0:a.source),c=(this.lastSuccessfulId===a.id||this.currentNavigation?a.rawUrl:a.urlAfterRedirects).toString()===e.toString();if(l&&c)return Promise.resolve(!0);let u,h,d;i?(u=i.resolve,h=i.reject,d=i.promise):d=new Promise((e,t)=>{u=e,h=t});const p=++this.navigationId;let f;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(n=this.location.getState()),f=n&&n.\u0275routerPageId?n.\u0275routerPageId:r.replaceUrl||r.skipLocationChange?null!==(s=this.browserPageId)&&void 0!==s?s:0:(null!==(o=this.browserPageId)&&void 0!==o?o:0)+1):f=0,this.setTransition({id:p,targetPageId:f,source:t,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:e,extras:r,resolve:u,reject:h,promise:d,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),d.catch(e=>Promise.reject(e))}setBrowserUrl(e,t){const n=this.urlSerializer.serialize(e),r=Object.assign(Object.assign({},t.extras.state),this.generateNgRouterState(t.id,t.targetPageId));this.location.isCurrentPathEqualTo(n)||t.extras.replaceUrl?this.location.replaceState(n,"",r):this.location.go(n,"",r)}restoreHistory(e,t=!1){var n,r;if("computed"===this.canceledNavigationResolution){const t=this.currentPageId-e.targetPageId;"popstate"!==e.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(n=this.currentNavigation)||void 0===n?void 0:n.finalUrl)||0===t?this.currentUrlTree===(null===(r=this.currentNavigation)||void 0===r?void 0:r.finalUrl)&&0===t&&(this.resetState(e),this.browserUrlTree=e.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(t)}else"replace"===this.canceledNavigationResolution&&(t&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=e.currentRouterState,this.currentUrlTree=e.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(e,t){const n=new xh(e.id,this.serializeUrl(e.extractedUrl),t);this.triggerEvent(n),e.resolve(!1)}generateNgRouterState(e,t){return"computed"===this.canceledNavigationResolution?{navigationId:e,"\u0275routerPageId":t}:{navigationId:e}}}return e.\u0275fac=function(t){return new(t||e)(Xn(Fn),Xn(od),Xn(Bp),Xn(Ec),Xn(Qs),Xn(rc),Xn(Ml),Xn(void 0))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),Kp=(()=>{class e{constructor(e,t,n){this.router=e,this.route=t,this.locationStrategy=n,this.commands=[],this.onChanges=new T,this.subscription=e.events.subscribe(e=>{e instanceof Sh&&this.updateTargetUrlAndHref()})}set routerLink(e){this.commands=null!=e?Array.isArray(e)?e:[e]:[]}ngOnChanges(e){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(e,t,n,r,i){if(0!==e||t||n||r||i)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;const s={skipLocationChange:Xp(this.skipLocationChange),replaceUrl:Xp(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,s),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Xp(this.preserveFragment)})}}return e.\u0275fac=function(t){return new(t||e)(io(Jp),io(Od),io(Tc))},e.\u0275dir=Be({type:e,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(e,t){1&e&&mo("click",function(e){return t.onClick(e.button,e.ctrlKey,e.shiftKey,e.altKey,e.metaKey)}),2&e&&(Ro("href",t.href,$r),no("target",t.target))},inputs:{routerLink:"routerLink",target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[it]}),e})();function Xp(e){return""===e||!!e}let ef=(()=>{class e{constructor(e,t,n,r,i){this.parentContexts=e,this.location=t,this.resolver=n,this.changeDetector=i,this.activated=null,this._activatedRoute=null,this.activateEvents=new Za,this.deactivateEvents=new Za,this.name=r||Uh,e.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const e=this.parentContexts.getContext(this.name);e&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,e}attach(e,t){this.activated=e,this._activatedRoute=t,this.location.insert(e.hostView)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,t){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=e;const n=(t=t||this.resolver).resolveComponentFactory(e._futureSnapshot.routeConfig.component),r=this.parentContexts.getOrCreateContext(this.name).children,i=new tf(e,r,this.location.injector);this.activated=this.location.createComponent(n,this.location.length,i),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(t){return new(t||e)(io(Bp),io(Ma),io(Bo),("name",function(e,t){const n=e.attrs;if(n){const e=n.length;let r=0;for(;r<e;){const i=n[r];if(an(i))break;if(0===i)r+=2;else if("number"==typeof i)for(r++;r<e&&"string"==typeof n[r];)r++;else{if(i===t)return n[r+1];r+=2}}}return null}(Et(),"name")),io(wa))},e.\u0275dir=Be({type:e,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate"},exportAs:["outlet"]}),e})();class tf{constructor(e,t,n){this.route=e,this.childContexts=t,this.parent=n}get(e,t){return e===Od?this.route:e===Bp?this.childContexts:this.parent.get(e,t)}}class nf{}class rf{preload(e,t){return Eu(null)}}let sf=(()=>{class e{constructor(e,t,n,r,i){this.router=e,this.injector=r,this.preloadingStrategy=i,this.loader=new Vp(t,n,t=>e.triggerEvent(new Mh(t)),t=>e.triggerEvent(new Rh(t)))}setUpPreloading(){this.subscription=this.router.events.pipe(Ku(e=>e instanceof Sh),ih(()=>this.preload())).subscribe(()=>{})}preload(){const e=this.injector.get(Oa);return this.processRoutes(e,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,t){const n=[];for(const r of t)if(r.loadChildren&&!r.canLoad&&r._loadedConfig){const e=r._loadedConfig;n.push(this.processRoutes(e.module,e.routes))}else r.loadChildren&&!r.canLoad?n.push(this.preloadConfig(e,r)):r.children&&n.push(this.processRoutes(e,r.children));return j(n).pipe(V(),k(e=>{}))}preloadConfig(e,t){return this.preloadingStrategy.preload(t,()=>(t._loadedConfig?Eu(t._loadedConfig):this.loader.load(e.injector,t)).pipe(U(e=>(t._loadedConfig=e,this.processRoutes(e.module,e.routes)))))}}return e.\u0275fac=function(t){return new(t||e)(Xn(Jp),Xn(rc),Xn(Ml),Xn(Qs),Xn(nf))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),of=(()=>{class e{constructor(e,t,n={}){this.router=e,this.viewportScroller=t,this.options=n,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},n.scrollPositionRestoration=n.scrollPositionRestoration||"disabled",n.anchorScrolling=n.anch
1orScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(e=>{e instanceof Th?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Sh&&(this.lastId=e.id,this.scheduleScrollEvent(e,this.router.parseUrl(e.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(e=>{e instanceof Dh&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,t){this.router.triggerEvent(new Dh(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,t))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return e.\u0275fac=function(t){return new(t||e)(Xn(Jp),Xn(qc),Xn(void 0))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const af=new jn("ROUTER_CONFIGURATION"),lf=new jn("ROUTER_FORROOT_GUARD"),cf=[Ec,{provide:od,useClass:ad},{provide:Jp,useFactory:function(e,t,n,r,i,s,o,a={},l,c){const u=new Jp(null,e,t,n,r,i,s,Wh(o));return l&&(u.urlHandlingStrategy=l),c&&(u.routeReuseStrategy=c),function(e,t){e.errorHandler&&(t.errorHandler=e.errorHandler),e.malformedUriErrorHandler&&(t.malformedUriErrorHandler=e.malformedUriErrorHandler),e.onSameUrlNavigation&&(t.onSameUrlNavigation=e.onSameUrlNavigation),e.paramsInheritanceStrategy&&(t.paramsInheritanceStrategy=e.paramsInheritanceStrategy),e.relativeLinkResolution&&(t.relativeLinkResolution=e.relativeLinkResolution),e.urlUpdateStrategy&&(t.urlUpdateStrategy=e.urlUpdateStrategy)}(a,u),a.enableTracing&&u.events.subscribe(e=>{var t,n;null===(t=console.group)||void 0===t||t.call(console,`Router Event: ${e.constructor.name}`),console.log(e.toString()),console.log(e),null===(n=console.groupEnd)||void 0===n||n.call(console)}),u},deps:[od,Bp,Ec,Qs,rc,Ml,zp,af,[class{},new rr],[class{},new rr]]},Bp,{provide:Od,useFactory:function(e){return e.routerState.root},deps:[Jp]},{provide:rc,useClass:oc},sf,rf,class{preload(e,t){return t().pipe(th(()=>Eu(null)))}},{provide:af,useValue:{enableTracing:!1}}];function uf(){return new Zl("Router",Jp)}let hf=(()=>{class e{constructor(e,t){}static forRoot(t,n){return{ngModule:e,providers:[cf,gf(t),{provide:lf,useFactory:ff,deps:[[Jp,new rr,new ir]]},{provide:af,useValue:n||{}},{provide:Tc,useFactory:pf,deps:[fc,[new nr(xc),new rr],af]},{provide:of,useFactory:df,deps:[Jp,qc,af]},{provide:nf,useExisting:n&&n.preloadingStrategy?n.preloadingStrategy:rf},{provide:Zl,multi:!0,useFactory:uf},[mf,{provide:fl,multi:!0,useFactory:vf,deps:[mf]},{provide:bf,useFactory:yf,deps:[mf]},{provide:_l,multi:!0,useExisting:bf}]]}}static forChild(t){return{ngModule:e,providers:[gf(t)]}}}return e.\u0275fac=function(t){return new(t||e)(Xn(lf,8),Xn(Jp,8))},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({}),e})();function df(e,t,n){return n.scrollOffset&&t.setOffset(n.scrollOffset),new of(e,t,n)}function pf(e,t,n={}){return n.useHash?new Ic(e,t):new kc(e,t)}function ff(e){return"guarded"}function gf(e){return[{provide:Ln,multi:!0,useValue:e},{provide:zp,multi:!0,useValue:e}]}let mf=(()=>{class e{constructor(e){this.injector=e,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new T}appInitializer(){return this.injector.get(mc,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let e=null;const t=new Promise(t=>e=t),n=this.injector.get(Jp),r=this.injector.get(af);return"disabled"===r.initialNavigation?(n.setUpLocationChangeListener(),e(!0)):"enabled"===r.initialNavigation||"enabledBlocking"===r.initialNavigation?(n.hooks.afterPreactivation=()=>this.initNavigation?Eu(null):(this.initNavigation=!0,e(!0),this.resultOfPreactivationDone),n.initialNavigation()):e(!0),t})}bootstrapListener(e){const t=this.injector.get(af),n=this.injector.get(sf),r=this.injector.get(of),i=this.injector.get(Jp),s=this.injector.get(tc);e===s.components[0]&&("enabledNonBlocking"!==t.initialNavigation&&void 0!==t.initialNavigation||i.initialNavigation(),n.setUpPreloading(),r.init(),i.resetRootComponentType(s.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return e.\u0275fac=function(t){return new(t||e)(Xn(Qs))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();function vf(e){return e.appInitializer.bind(e)}function yf(e){return e.bootstrapListener.bind(e)}const bf=new jn("Router Initializer");var wf={prefix:"fas",iconName:"arrow-up",icon:[448,512,[],"f062","M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"]},_f={prefix:"fas",iconName:"bars",icon:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},Cf={prefix:"fas",iconName:"moon",icon:[512,512,[],"f186","M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"]},Tf={prefix:"fas",iconName:"sun",icon:[512,512,[],"f185","M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"]};function Sf(e){return(Sf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){xf(e,t,n[t])})}return e}function If(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(r=(o=a.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(l){i=!0,s=l}finally{try{r||null==a.return||a.return()}finally{if(i)throw s}}return n}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ef={},Of={};try{"undefined"!=typeof window&&(Ef=window),"undefined"!=typeof document&&(Of=document),"undefined"!=typeof MutationObserver&&MutationObserver,"undefined"!=typeof performance&&performance}catch(cy){}var Af=(Ef.navigator||{}).userAgent,Pf=void 0===Af?"":Af,Mf=Ef,Rf=Of,Nf=!!Rf.documentElement&&!!Rf.head&&"function"==typeof Rf.addEventListener&&"function"==typeof Rf.createElement,jf=(~Pf.indexOf("MSIE")||Pf.indexOf("Trident/"),"svg-inline--fa"),Lf=[1,2,3,4,5,6,7,8,9,10],Ff=Lf.concat([11,12,13,14,15,16,17,18,19,20]),Df={GROUP:"group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Uf=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","flip-both","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter",Df.GROUP,Df.SWAP_OPACITY,Df.PRIMARY,Df.SECONDARY].concat(Lf.map(function(e){return"".concat(e,"x")})).concat(Ff.map(function(e){return"w-".concat(e)})),Mf.FontAwesomeConfig||{});Rf&&"function"==typeof Rf.querySelector&&[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(function(e){var t=If(e,2),n=t[1],r=function(e){return""===e||"false"!==e&&("true"===e||e)}(function(e){var t=Rf.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}(t[0]));null!=r&&(Uf[n]=r)});var Hf=kf({},{familyPrefix:"fa",replacementClass:jf,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},Uf);Hf.autoReplaceSvg||(Hf.observeMutations=!1);var zf=kf({},Hf);Mf.FontAwesomeConfig=zf;var Vf=Mf||{};Vf.___FONT_AWESOME___||(Vf.___FONT_AWESOME___={}),Vf.___FONT_AWESOME___.styles||(Vf.___FONT_AWESOME___.styles={}),Vf.___FONT_AWESOME___.hooks||(Vf.___FONT_AWESOME___.hooks={}),Vf.___FONT_AWESOME___.shims||(Vf.___FONT_AWESOME___.shims=[]);var $f=Vf.___FONT_AWESOME___,Bf=[];Nf&&((Rf.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(Rf.readyState)||Rf.addEventListener("DOMContentLoaded",function e(){Rf.removeEventListener("DOMContentLoaded",e),Bf.map(function(e){return e()})}));var qf,Wf="pending",Gf="settled",Qf="fulfilled",Yf="rejected",Zf=function(){},Jf="undefined"!=typeof global&&void 0!==global.process&&"function"==typeof global.process.emit,Kf="undefined"==typeof setImmediate?setTimeout:setImmediate,Xf=[];function eg(){for(var e=0;e<Xf.length;e++)Xf[e][0](Xf[e][1]);Xf=[],qf=!1}function tg(e,t){Xf.push([e,t]),qf||(qf=!0,Kf(eg,0))}function ng(e){var t=e.owner,n=t._state,r=t._data,i=e[n],s=e.then;if("function"==typeof i){n=Qf;try{r=i(r)}catch(cy){og(s,cy)}}rg(s,r)||(n===Qf&&ig(s,r),n===Yf&&og(s,r))}function rg(e,t){var n;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(t&&("function"==typeof t||"object"===Sf(t))){var r=t.then;if("function"==typeof r)return r.call(t,function(r){n||(n=!0,t===r?sg(e,r):ig(e,r))},function(t){n||(n=!0,og(e,t))}),!0}}catch(cy){return n||og(e,cy),!0}return!1}function ig(e,t){e!==t&&rg(e,t)||sg(e,t)}function sg(e,t){e._state===Wf&&(e._state=Gf,e._data=t,tg(lg,e))}function og(e,t){e._state===Wf&&(e._state=Gf,e._data=t,tg(cg,e))}function ag(e){e._then=e._then.forEach(ng)}function lg(e){e._state=Qf,ag(e)}function cg(e){e._state=Yf,ag(e),!e._handled&&Jf&&global.process.emit("unhandledRejection",e._data,e)}function ug(e){global.process.emit("rejectionHandled",e)}function hg(e){if("function"!=typeof e)throw new TypeError("Promise resolver "+e+" is not a function");if(this instanceof hg==0)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object c
1onstructor cannot be called as a function.");this._then=[],function(e,t){function n(e){og(t,e)}try{e(function(e){ig(t,e)},n)}catch(cy){n(cy)}}(e,this)}hg.prototype={constructor:hg,_state:Wf,_then:null,_data:void 0,_handled:!1,then:function(e,t){var n={owner:this,then:new this.constructor(Zf),fulfilled:e,rejected:t};return!t&&!e||this._handled||(this._handled=!0,this._state===Yf&&Jf&&tg(ug,this)),this._state===Qf||this._state===Yf?tg(ng,n):this._then.push(n),n.then},catch:function(e){return this.then(null,e)}},hg.all=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.all().");return new hg(function(t,n){var r=[],i=0;function s(e){return i++,function(n){r[e]=n,--i||t(r)}}for(var o,a=0;a<e.length;a++)(o=e[a])&&"function"==typeof o.then?o.then(s(a),n):r[a]=o;i||t(r)})},hg.race=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.race().");return new hg(function(t,n){for(var r,i=0;i<e.length;i++)(r=e[i])&&"function"==typeof r.then?r.then(t,n):t(r)})},hg.resolve=function(e){return e&&"object"===Sf(e)&&e.constructor===hg?e:new hg(function(t){t(e)})},hg.reject=function(e){return new hg(function(t,n){n(e)})};var dg={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function pg(){for(var e=12,t="";e-- >0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function fg(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function gg(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n],";")},"")}function mg(e){return e.size!==dg.size||e.x!==dg.x||e.y!==dg.y||e.rotate!==dg.rotate||e.flipX||e.flipY}function vg(e){var t=e.transform,n=e.iconWidth,r={transform:"translate(".concat(e.containerWidth/2," 256)")},i="translate(".concat(32*t.x,", ").concat(32*t.y,") "),s="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),o="rotate(".concat(t.rotate," 0 0)");return{outer:r,inner:{transform:"".concat(i," ").concat(s," ").concat(o)},path:{transform:"translate(".concat(n/2*-1," -256)")}}}var yg={x:0,y:0,width:"100%",height:"100%"};function bg(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function wg(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,s=e.iconName,o=e.transform,a=e.symbol,l=e.title,c=e.maskId,u=e.titleId,h=e.extra,d=e.watchable,p=void 0!==d&&d,f=r.found?r:n,g=f.width,m=f.height,v="fak"===i,y=v?"":"fa-w-".concat(Math.ceil(g/m*16)),b=[zf.replacementClass,s?"".concat(zf.familyPrefix,"-").concat(s):"",y].filter(function(e){return-1===h.classes.indexOf(e)}).filter(function(e){return""!==e||!!e}).concat(h.classes).join(" "),w={children:[],attributes:kf({},h.attributes,{"data-prefix":i,"data-icon":s,class:b,role:h.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(g," ").concat(m)})},_=v&&!~h.classes.indexOf("fa-fw")?{width:"".concat(g/m*16*.0625,"em")}:{};p&&(w.attributes["data-fa-i2svg"]=""),l&&w.children.push({tag:"title",attributes:{id:w.attributes["aria-labelledby"]||"title-".concat(u||pg())},children:[l]});var C=kf({},w,{prefix:i,iconName:s,main:n,mask:r,maskId:c,transform:o,symbol:a,styles:kf({},_,h.styles)}),T=r.found&&n.found?function(e){var t,n=e.children,r=e.attributes,i=e.main,s=e.mask,o=e.maskId,a=i.icon,l=s.icon,c=vg({transform:e.transform,containerWidth:s.width,iconWidth:i.width}),u={tag:"rect",attributes:kf({},yg,{fill:"white"})},h=a.children?{children:a.children.map(bg)}:{},d={tag:"g",attributes:kf({},c.inner),children:[bg(kf({tag:a.tag,attributes:kf({},a.attributes,c.path)},h))]},p={tag:"g",attributes:kf({},c.outer),children:[d]},f="mask-".concat(o||pg()),g="clip-".concat(o||pg()),m={tag:"mask",attributes:kf({},yg,{id:f,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[u,p]},v={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:(t=l,"g"===t.tag?t.children:[t])},m]};return n.push(v,{tag:"rect",attributes:kf({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(f,")")},yg)}),{children:n,attributes:r}}(C):function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,s=gg(e.styles);if(s.length>0&&(n.style=s),mg(i)){var o=vg({transform:i,containerWidth:r.width,iconWidth:r.width});t.push({tag:"g",attributes:kf({},o.outer),children:[{tag:"g",attributes:kf({},o.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:kf({},r.icon.attributes,o.path)}]}]})}else t.push(r.icon);return{children:t,attributes:n}}(C),S=T.attributes;return C.children=T.children,C.attributes=S,a?function(e){var t=e.iconName,n=e.children,r=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:kf({},e.attributes,{id:!0===r?"".concat(e.prefix,"-").concat(zf.familyPrefix,"-").concat(t):r}),children:n}]}]}(C):function(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,s=e.styles,o=e.transform;if(mg(o)&&n.found&&!r.found){var a={x:n.width/n.height/2,y:.5};i.style=gg(kf({},s,{"transform-origin":"".concat(a.x+o.x/16,"em ").concat(a.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}(C)}var _g=function(e,t,n,r){var i,s,o,a=Object.keys(e),l=a.length,c=void 0!==r?function(e,t){return function(n,r,i,s){return e.call(t,n,r,i,s)}}(t,r):t;for(void 0===n?(i=1,o=e[a[0]]):(i=0,o=n);i<l;i++)o=c(o,e[s=a[i]],s,e);return o};function Cg(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.skipHooks,i=void 0!==r&&r,s=Object.keys(t).reduce(function(e,n){var r=t[n];return r.icon?e[r.iconName]=r.icon:e[n]=r,e},{});"function"!=typeof $f.hooks.addPack||i?$f.styles[e]=kf({},$f.styles[e]||{},s):$f.hooks.addPack(e,s),"fas"===e&&Cg("fa",t)}var Tg=$f.styles,Sg=$f.shims,xg=function(){var e=function(e){return _g(Tg,function(t,n,r){return t[r]=_g(n,e,{}),t},{})};e(function(e,t,n){return t[3]&&(e[t[3]]=n),e}),e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t="far"in Tg;_g(Sg,function(e,n){var r=n[1];return"far"!==r||t||(r="fas"),e[n[0]]={prefix:r,iconName:n[2]},e},{})};function kg(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}function Ig(e){var t=e.tag,n=e.attributes,r=void 0===n?{}:n,i=e.children,s=void 0===i?[]:i;return"string"==typeof e?fg(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(fg(e[n]),'" ')},"").trim()}(r),">").concat(s.map(Ig).join(""),"</").concat(t,">")}function Eg(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}xg(),(Eg.prototype=Object.create(Error.prototype)).constructor=Eg;var Og={fill:"currentColor"}
1,Ag={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},Pg=(kf({},Og,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}),kf({},Ag,{attributeName:"opacity"}));function Mg(e){var t=e[0],n=e[1],r=If(e.slice(4),1)[0];return{found:!0,width:t,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(zf.familyPrefix,"-").concat(Df.GROUP)},children:[{tag:"path",attributes:{class:"".concat(zf.familyPrefix,"-").concat(Df.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(zf.familyPrefix,"-").concat(Df.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}function Rg(){zf.autoAddCss&&!Dg&&(function(e){if(e&&Nf){var t=Rf.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var n=Rf.head.childNodes,r=null,i=n.length-1;i>-1;i--){var s=n[i],o=(s.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=s)}Rf.head.insertBefore(t,r)}}(function(){var e="fa",t=jf,n=zf.familyPrefix,r=zf.replacementClass,i='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;
1\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if(n!==e||r!==t){var s=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),a=new RegExp("\\.".concat(t),"g");i=i.replace(s,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(a,".".concat(r))}return i}()),Dg=!0)}function Ng(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return Ig(e)})}}),Object.defineProperty(e,"node",{get:function(){if(Nf){var t=Rf.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function jg(e){var t=e.prefix,n=void 0===t?"fa":t,r=e.iconName;if(r)return kg(Fg.definitions,n,r)||kg($f.styles,n,r)}kf({},Og,{cx:"256",cy:"364",r:"28"}),kf({},Ag,{attributeName:"r",values:"28;14;28;28;14;28;"}),kf({},Pg,{values:"1;0;1;1;0;1;"}),kf({},Og,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),kf({},Pg,{values:"1;0;0;0;0;1;"}),kf({},Og,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),kf({},Pg,{values:"0;0;1;1;0;0;"});var Lg,Fg=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t;return(t=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=n.reduce(this._pullDefinitions,{});
1Object.keys(i).forEach(function(t){e.definitions[t]=kf({},e.definitions[t]||{},i[t]),Cg(t,i[t]),xg()})}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(e,t){var n=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(n).map(function(t){var r=n[t],i=r.prefix,s=r.iconName,o=r.icon;e[i]||(e[i]={}),e[i][s]=o}),e}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(e.prototype,t),e}()),Dg=!1,Ug=(Lg=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?dg:n,i=t.symbol,s=void 0!==i&&i,o=t.mask,a=void 0===o?null:o,l=t.maskId,c=void 0===l?null:l,u=t.title,h=void 0===u?null:u,d=t.titleId,p=void 0===d?null:d,f=t.classes,g=void 0===f?[]:f,m=t.attributes,v=void 0===m?{}:m,y=t.styles,b=void 0===y?{}:y;if(e){var w=e.prefix,_=e.iconName,C=e.icon;return Ng(kf({type:"icon"},e),function(){return Rg(),zf.autoA11y&&(h?v["aria-labelledby"]="".concat(zf.replacementClass,"-title-").concat(p||pg()):(v["aria-hidden"]="true",v.focusable="false")),wg({icons:{main:Mg(C),mask:a?Mg(a.icon):{found:!1,width:null,height:null,icon:{}}},prefix:w,iconName:_,transform:kf({},dg,r),symbol:s,title:h,maskId:c,titleId:p,extra:{attributes:v,styles:b,classes:g}})})}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:jg(e||{}),r=t.mask;return r&&(r=(r||{}).icon?r:jg(r||{})),Lg(n,kf({},t,{mask:r}))});const Hg=["*"];let zg=(()=>{class e{constructor(){this.defaultPrefix="fas",this.fallbackIcon=null,this.globalLibrary=!1}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({factory:function(){return new e},token:e,providedIn:"root"}),e})(),Vg=(()=>{class e{constructor(){this.definitions={}}addIcons(...e){for(const t of e)t.prefix in this.definitions||(this.definitions[t.prefix]={}),this.definitions[t.prefix][t.iconName]=t}addIconPacks(...e){for(const t of e){const e=Object.keys(t).map(e=>t[e]);this.addIcons(...e)}}getIconDefinition(e,t){return e in this.definitions&&t in this.definitions[e]?this.definitions[e][t]:null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({factory:function(){return new e},token:e,providedIn:"root"}),e})();const $g=e=>{const t={"fa-spin":e.spin,"fa-pulse":e.pulse,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-inverse":e.inverse,"fa-layers-counter":e.counter,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip,[`fa-${e.size}`]:null!==e.size,[`fa-rotate-${e.rotate}`]:null!==e.rotate,[`fa-pull-${e.pull}`]:null!==e.pull,[`fa-stack-${e.stackItemSize}`]:null!=e.stackItemSize};return Object.keys(t).map(e=>t[e]?e:null).filter(e=>e)};let Bg=(()=>{class e{constructor(){this.stackItemSize="1x"}ngOnChanges(e){if("size"in e)throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. Set size on the enclosing fa-stack instead: <fa-stack size="4x">...</fa-stack>.')}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Be({type:e,selectors:[["fa-icon","stackItemSize",""],["fa-duotone-icon","stackItemSize",""]],inputs:{stackItemSize:"stackItemSize",size:"size"},features:[it]}),e})(),qg=(()=>{class e{constructor(e,t){this.renderer=e,this.elementRef=t}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-stack")}ngOnChanges(e){"size"in e&&(null!=e.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${e.size.currentValue}`),null!=e.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${e.size.previousValue}`))}}return e.\u0275fac=function(t){return new(t||e)(io(Jo),io(Qo))},e.\u0275cmp=De({type:e,selectors:[["fa-stack"]],inputs:{size:"size"},features:[it],ngContentSelectors:Hg,decls:1,vars:0,template:function(e,t){1&e&&(_o(),Co(0))},encapsulation:2}),e})(),Wg=(()=>{class e{constructor(e,t,n,r,i){this.sanitizer=e,this.config=t,this.iconLibrary=n,this.stackItem=r,this.classes=[],null!=i&&null==r&&console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into fa-stack. Example: <fa-icon stackItemSize="2x"></fa-icon>.')}ngOnChanges(e){if(null==this.icon&&null==this.config.fallbackIcon)return(()=>{throw new Error("Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.")})();let t=null;if(t=null==this.icon?this.config.fallbackIcon:this.icon,e){const e=this.findIconDefinition(t);
1if(null!=e){const t=this.buildParams();this.renderIcon(e,t)}}}render(){this.ngOnChanges({})}findIconDefinition(e){const t=((e,t)=>{return void 0!==(n=e).prefix&&void 0!==n.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:t,iconName:e}:void 0;var n})(e,this.config.defaultPrefix);if("icon"in t)return t;const n=this.iconLibrary.getIconDefinition(t.prefix,t.iconName);if(null!=n)return n;const r=jg(t);if(null!=r){const e="Global icon library is deprecated. Consult https://github.com/FortAwesome/angular-fontawesome/blob/master/UPGRADING.md for the migration instructions.";if("unset"===this.config.globalLibrary)console.error("FontAwesome: "+e);else if(!this.config.globalLibrary)throw new Error(e);return r}return(e=>{throw new Error(`Could not find icon with iconName=${e.iconName} and prefix=${e.prefix} in the icon library.`)})(t),null}buildParams(){const e={flip:this.flip,spin:this.spin,pulse:this.pulse,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:"boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth,stackItemSize:null!=this.stackItem?this.stackItem.stackItemSize:null},t="string"==typeof this.transform?function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce(function(e,t){var n=t.toLowerCase().split("-"),r=n[0],i=n.slice(1).join("-");if(r&&"h"===i)return e.flipX=!0,e;if(r&&"v"===i)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e},t):t}(this.transform):this.transform;return{title:this.title,transform:t,classes:[...$g(e),...this.classes],mask:null!=this.mask?this.findIconDefinition(this.mask):null,styles:null!=this.styles?this.styles:{},symbol:this.symbol,attributes:{role:this.a11yRole}}}renderIcon(e,t){const n=Ug(e,t);this.renderedIconHTML=this.sanitizer.bypassSecurityTrustHtml(n.html.join("\n"))}}return e.\u0275fac=function(t){return new(t||e)(io(Cu),io(zg),io(Vg),io(Bg,8),io(qg,8))},e.\u0275cmp=De({type:e,selectors:[["fa-icon"]],hostAttrs:[1,"ng-fa-icon"],hostVars:2,hostBindings:function(e,t){2&e&&(Ro("innerHTML",t.renderedIconHTML,Vr),no("title",t.title))},inputs:{classes:"classes",icon:"icon",title:"title",spin:"spin",pulse:"pulse",mask:"mask",styles:"styles",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",symbol:"symbol",rotate:"rotate",fixedWidth:"fixedWidth",transform:"transform",a11yRole:"a11yRole"},features:[it],decls:0,vars:0,template:function(e,t){},encapsulation:2}),e})(),Gg=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({}),e})();const Qg=[[["","title",""]],"*"],Yg=["[title]","*"];let Zg=(()=>{class e{constructor(){this.isContentOpen=!0,this.icon=wf}get titleClassName(){return this.isContentOpen?"section-icon":"section-icon close"}get titleSectionClassName(){return this.isContentOpen?"title-section":"title-section close"}toggleContentOpen(){this.isContentOpen=!this.isContentOpen}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-section-container"]],ngContentSelectors:Yg,decls:7,vars:3,consts:[[1,"section-title-container"],[1,"section-icon-container"],[3,"ngClass","click"],[3,"icon"],[3,"ngClass"]],template:function(e,t){1&e&&(_o(Qg),ao(0,"div",0),ao(1,"div",1),ao(2,"div",2),mo("click",function(){return t.toggleContentOpen()}),co(3,"fa-icon",3),lo(),lo(),Co(4),lo(),ao(5,"div",4),Co(6,1),lo()),2&e&&(Ui(2),so("ngClass",t.titleClassName),Ui(1),so("icon",t.icon),Ui(2),so("ngClass",t.titleSectionClassName))},directives:[jc,Wg],styles:[".section-title-container[_ngcontent-%COMP%]{display:flex}.section-title-container[_ngcontent-%COMP%] .section-icon-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.section-title-container[_ngcontent-%COMP%] .section-icon-container[_ngcontent-%COMP%] .section-icon[_ngcontent-%COMP%]{width:1.2em;height:1.2em;line-height:1.2em;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:50%;background-color:#e8e6e5;border:1px solid var(--foreground-default);margin-left:2em;opacity:.7;transition:transform .3s ease-in}.section-title-container[_ngcontent-%COMP%] .section-icon-container[_ngcontent-%COMP%] .section-icon[_ngcontent-%COMP%]:hover{opacity:1}.section-title-container[_ngcontent-%COMP%] .section-icon-container[_ngcontent-%COMP%] .section-icon.close[_ngcontent-%COMP%]{transform:rotate(180deg)}.title-section[_ngcontent-%COMP%]{visibility:visible;display:block;transition:transform .3s ease-in;margin-bottom:.5em;line-height:1.2em;width:100%;overflow-x:hidden}.title-section.close[_ngcontent-%COMP%]{visibility:hidden;display:none}"]}),e})();const Jg=e=>e.replace(/\s/g,"").toLowerCase(),Kg=(e,t)=>
1t.get(e)?t.get(e):{code:"",languages:[]},Xg=["*"];let em=(()=>{class e{ngOnInit(){window.scrollTo(0,0)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-page-container"]],inputs:{title:"title",sectionTitles:"sectionTitles",sections:"sections",getIdFromTitle:"getIdFromTitle"},ngContentSelectors:Xg,decls:8,vars:4,consts:[[1,"base-container"],[1,"page-title"],[1,"content"],[3,"sections","titles","getIdFromTitle"]],template:function(e,t){1&e&&(_o(),ao(0,"div",0),ao(1,"div",1),ao(2,"div",2),Ao(3),lo(),co(4,"app-navigation-button-container"),lo(),Co(5),co(6,"app-doc-reviewer-container",3),lo(),co(7,"app-footer-container")),2&e&&(Ui(3),Mo(" ",t.title," "),Ui(3),so("sections",t.sections)("titles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle))},styles:[".base-container[_ngcontent-%COMP%]{font-family:Inter Tight,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;display:flex;flex-direction:column;margin:.5em;padding:.5em;max-width:calc(100% - 19em);min-height:calc(100vh - 6.25em)}.base-container[_ngcontent-%COMP%] .page-title[_ngcontent-%COMP%]{font-size:2em;font-weight:500;padding:1.2em;font-style:normal;width:calc(100% - 2.5em);overflow-x:hidden;color:var(--foreground-default);border-bottom:1px solid var(--foreground-secondary);border-top:2px solid var(--foreground-secondary);border-radius:.3em;text-align:center;display:flex;justify-content:center}.base-container[_ngcontent-%COMP%] .page-title[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{max-width:20em}.base-container[_ngcontent-%COMP%] .page-title[_ngcontent-%COMP%] app-navigation-button-container[_ngcontent-%COMP%]{display:flex;align-items:center}@media screen and (max-width: 1300px){.base-container[_ngcontent-%COMP%]{max-width:100%;min-height:calc(100vh - 100px)}}"]}),e})();var tm=(()=>(function(e){e.html="html",e.typescript="typescript"}(tm||(tm={})),tm))();const nm=new Map([["instruction",{code:"\nnpx @angular/cli@12 new Angular12Project\n ",languages:[tm.html]}],["updateInstruction",{code:"\nnpx @angular/cli@12 update @angular/core@12 @angular/cli@12\n ",languages:[tm.html]}],["smarterTypeAlias",{code:'\ntype Shape =\n| { kind: "circle"; radius: number }\n| { kind: "square"; size: number }\n| { kind: "rectangle"; width: number; height: number };\n \n// Previously: { kind: "circle"; radius: number; | { kind: "square"; size: number; | { kind: "rectangle"; width: number; height: number; | undefined\n// Currently: Shape | undefined\ndeclare let optionalShape: Shape | undefined;\n ',languages:[tm.typescript]}],["restElems",{code:'\n//declare a variable in the tuple type with the rest element \nlet foo: [...string[], number];\n \nfoo = [123];\nfoo = ["hello", 123];\nfoo = ["hello!", "hello!", "hello!", 123];\n \n//declare a variable in the tuple type with the rest element\nlet bar: [boolean, ...string[], boolean];\n \nbar = [true, false];\nbar = [true, "some text", false];\nbar = [true, "some", "separated", "text", false];\n \ninterface Clown { /*...*/ }\ninterface Joker { /*...*/ }\n \nlet StealersWheel: [...Clown[], "me", ...Joker[]];\n// ~~~~~~~~~~ Error!\n// A rest element cannot follow another rest element.\n \nlet StringsAndMaybeBoolean: [...string[], boolean?];\n// ~~~~~~~~ Error!\n// An optional element cannot follow a rest element.\n ',languages:[tm.typescript]}],["updateBreaking",{code:"\n//We can upgrade ngZone with the following command\n\nng update\n ",languages:[tm.html]}],["noPropertyAccessFromIndexSignature",{code:"\ncompilerOptions.noPropertyAccessFromIndexSignature: true\n ",languages:[tm.typescript]}],["noPropertyAccessFromIndexSignatureExample",{code:"\nclass Color {\n r = 255;\n g = 255;\n b = 255;\n \n //index signature\n [key: string]: string | number;\n}\n \nconst c = new Color();\n \nconsole.log(c.r, c.g, c.b);\n \nconsole.log(c.foo);\n// ~~~~ Error!\n// Property 'foo' comes from an index signature, so it must be accessed with ['foo'].\n \nconsole.log(c[\"foo\"]);\n ",languages:[tm.typescript]}],["destructedExample",{code:"\nlet [_first, second] = getValues();\n ",languages:[tm.typescript]}],["abstract1",{code:"\nabstract class Shape {\n abstract getArea(): number;\n}\n \ninterface HasArea {\n getArea(): number;\n}\n \nfunction makeSubclassWithArea(Ctor: new () =>
1 HasArea) {\n return class extends Ctor {\n getArea() {\n return 42\n }\n };\n}\n \nlet MyShape = makeSubclassWithArea(Shape);\n// ~~~~ Error!\n//Argument of type 'typeof Shape' is not assignable to parameter of type 'new () => HasArea'.\n//Cannot assign an abstract constructor type to a non-abstract constructor type. \n ",languages:[tm.typescript]}],["abstract2",{code:'\nabstract class SuperClass {\n abstract someMethod(): void;\n}\n \ntype AbstractConstructor<T> = abstract new (...args: any[]) => T\n \n//This is a mixin funnction that accepts a constructor and return an abstract class\n//It will add the "getStyles" method on the given constructor\nfunction withStyles<T extends AbstractConstructor<object>>(Ctor: T) {\n abstract class StyledClass extends Ctor {\n getStyles() {\n // ...\n }\n }\n return StyledClass;\n}\n \n//Extend the abstract class returned by the mixin function\nclass SubClass extends withStyles(SuperClass) {\n someMethod() {\n this.someMethod()\n }\n} \n ',languages:[tm.typescript]}],["abstract3",{code:"\nabstract class Shape {\n abstract getArea(): number;\n}\n \ninterface HasArea {\n getArea(): number;\n}\n \nfunction makeSubclassWithArea(Ctor: new () => HasArea) {\n return class extends Ctor {\n getArea() {\n return 42\n }\n };\n}\n \nlet MyShape = makeSubclassWithArea(Shape);\n// ~~~~ Error!\n//Argument of type 'typeof Shape' is not assignable to parameter of type 'new () => HasArea'.\n//Cannot assign an abstract constructor type to a non-abstract constructor type.\n ",languages:[tm.typescript]}],["renderModule",{code:"\n // These are important and needed before anything else\n//import 'zone.js';\nimport 'reflect-metadata';\n\nimport { enableProdMode } from '@angular/core';\nimport * as express from 'express';\nimport { join } from 'path';\nimport { readFileSync } from 'fs';\n\nenableProdMode();\n\n// Express server\nconst app = express();\nconst PORT = 4201;\nconst DIST_FOLDER = join(process.cwd(), 'dist', 'Angular13ProjectSSR', 'browser');\nconst template = readFileSync(join(DIST_FOLDER, 'index.html')).toString();\nconst { AppServerModule, renderModule } = require('./dist/Angular13ProjectSSR/browser/main');\n\napp.engine('html', (_, options, callback) => {\n renderModule(AppServerModule, {\n document: template,\n url: (options as any).req.url,\n }).then((html: any) => {\n callback(null, html);\n });\n});\n\napp.set('view engine', 'html');\napp.set('views', DIST_FOLDER);\n\n// Server static files from dist folder\napp.get('*.*', express.static(DIST_FOLDER));\n\n// All regular routes use the Universal engine\napp.get('*', (req, res) => {\n res.render('index', { req });\n});\n\n// Start up the Node server\napp.listen(PORT, () => {\n console.log(`Node server listening on http://localhost:${PORT}`);\n});\n ",languages:[tm.typescript]}],["emitDistinctChangesOnlyUsage",{code:"\nexport class DeprecationsContentChildrenComponent {\n @ContentChildren('item', {\n emitDistinctChangesOnlyUsage: false \n }) \n items: QueryList<ElementRef<any>> | undefined;\n \n ngAfterContentInit() {\n //will print logs when initialized\n this.items?.changes.subscribe(items => {\n console.log(items)\n });\n }\n}\n ",languages:[tm.typescript]}],["emitDistinctChangesOnlyParentComponent",{code:"\n//parent component\nexport class DeprecationsComponent {\n items: number[] = [];\n cnt = 0;\n add() {\n this.items.push(this.cnt++);\n }\n}\n ",languages:[tm.typescript]}],["emitDistinctChangesOnlyParentTemplate",{code:'\n\x3c!-- \nparent template\nwhen the user clicks the button, the items will change\n--\x3e\n<button (click)="add()">add</button>\n<app-deprecations-content-children #itemWrapper>\n <div *ngFor="let item of items" #item>\n {{ item }}\n </div>\n</app-deprecations-content-children>\n ',languages:[tm.html]}],["emitDistinctChangesOnlyChildComponent",{code:"\n//child component\nexport class DeprecationsContentChildrenComponent {\n @ContentChildren('item') \n items: QueryList<ElementRef<any>> | undefined;\n \n ngAfterContentInit() {\n //won't print logs when initialized\n this.items?.changes.subscribe(items =>
1 {\n console.log(items)\n });\n }\n}\n ",languages:[tm.typescript]}],["emitDistinctChangesOnlyChildTemplate",{code:'\n\x3c!-- child template --\x3e\n<div *ngFor="let item of items">\n {{ item.nativeElement.innerHTML }}\n</div>\n ',languages:[tm.html]}],["enableIvy",{code:'\n//Before v12\n \n//tsconfig.json\n{\n "compilerOptions": {\n "module": "esnext",\n // ...\n },\n "angularCompilerOptions": {\n "enableIvy": true,\n "allowEmptyCodegenFiles": true\n }\n}\n \n//ng new\nng new Angular11Project --enable-ivy\n ',languages:[tm.typescript,tm.html]}],["tsconfigProdDrep",{code:'\n//tsconfig.lib.prod.json\n{\n "extends": "./tsconfig.lib.json",\n "compilerOptions": {\n "declarationMap": false\n },\n "angularCompilerOptions": {\n "enableIvy": false\n }\n}\n ',languages:[tm.typescript,tm.html]}],["tsconfigDrep",{code:'\n{\n "compilerOptions": {\n "module": "esnext",\n // ...\n },\n "angularCompilerOptions": {\n "enableIvy": true,\n "allowEmptyCodegenFiles": true\n }\n}\n ',languages:[tm.typescript,tm.html]}],["angularJsonDrep",{code:'\n{\n "projects": {\n "your-project": {\n "architect": {\n "build": {\n "options": {\n ...\n "aot": true,\n }\n }\n }\n }\n }\n}\n ',languages:[tm.typescript,tm.html]}],["ngcc",{code:'\n"postinstall": "ngcc\n ',languages:[tm.typescript,tm.html]}],["ngNew",{code:"\nng new Angular11Project --enable-ivy\n ",languages:[tm.typescript,tm.html]}],["angularExampleTemplate",{code:'\n\x3c!-- template HTML --\x3e\n<div>\n <span>{{title}}</span>\n <app-child *ngIf="show"></app-child>\n</div>\n ',languages:[tm.html]}],["angularExampleComponent",{code:"\nimport { Component } from '@angular/core';\n \nexport class AppComponent {\n //TypeScript properties\n title = 'example';\n show: boolean;\n}\n ",languages:[tm.typescript]}],["legacyInterceptor",{code:'\n//Inject it to the application level by importing it in the app.module.ts\n@Injectable()\nexport class PageInterceptor implements HttpInterceptor {\n\n constructor() {}\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n return next.handle(request).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.status === 404) {\n alert("The proxy was not ready. Please try it later.")\n }\n return throwError(error)\n }\n ));\n }\n}\n ',languages:[tm.typescript]}],["newInterceptor",{code:"\nimport { BYPASS_ALERT } from '../http-token/http-token';\n\nexport class PageInterceptor implements HttpInterceptor {\n\n constructor() {}\n \n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n return next.handle(request).pipe(\n catchError((error: HttpErrorResponse) => {\n //Bypass the alert if the value of HttpContextToken is true\n if (request.context.get(BYPASS_ALERT) === true) {\n return throwError(error)\n }\n \n if (error.status === 404) {\n alert(\"The proxy was not ready. Please try it later.\")\n }\n return throwError(error)\n }\n ));\n }\n}\n ",languages:[tm.typescript]}],["httpService",{code:"\nimport { BYPASS_ALERT } from '../http-token/http-token';\n\nexportPdfFromServer(path: string, byPassAlert: boolean) {\n return this.http.post<any>('your URL', {\n path,\n ...\n },{\n ...,\n context: new HttpContext().set(BYPASS_ALERT, byPassAlert) \n }).pipe(\n ...\n );\n}\n ",languages:[tm.typescript]}],["httpContextToken",{code:'\nimport { HttpContextToken } from "@angular/common/http";\nexport const BYPASS_ALERT = new HttpContextToken<boolean>(() => false);\n ',languages:[tm.typescript]}],["importToAppModule",{code:"\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n \n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: PageInterceptor,\n multi: true,\n }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n ",languages:[tm.typescript]}],["legazyCodeComponent",{code:"\nexport class NullishCoalescingComponent {\n age: number | null = null;\n calculateAge() {\n return 1;\n }\n}\n ",languages:[tm.typescript]}],["legazyCodeTemplate",{code:'\n<div class="item">\n {{ age !== null && age !== undefined ? age : calculateAge() }}\n</div>\n ',languages:[tm.html]}],["newCodeComponent",{code:"\nexport class NullishCoalescingComponent {\n age: number | null = null;\n calculateAge() {\n return 1;\n }\n}\n ",languages:[tm.typescript]}],["newCodeTemplate",{code:'\n<div class="item">\n {{ age ?? calculateAge() }}\n</div>\n ',languages:[tm.html]}],["enableInlineStyle",{code:'\n//Update angular.json (architect -> build -> options)\n\n"architect": {\n "build": {\n "options": {\n "inlineStyleLanguage": "scss",\n',languages:[tm.typescript]}],["inlineSassComponentCode",{code:"\n //Place a CSS class in a single str
1ing\n @Component({\n selector: 'app-stylish-improvements',\n templateUrl: './stylish-improvements.component.html',\n styles: [`\n .inline-style-demo-btn {\n background-color: #ffffff;\n color: #1e90ff;\n border: 1px solid #1e90ff;\n padding: 5px;\n }`]\n })\n\n //Place CSS classes in a single string\n @Component({\n selector: 'app-stylish-improvements',\n templateUrl: './stylish-improvements.component.html',\n styles: [`\n .inline-style-demo-btn {\n background-color: #ffffff;\n color: #1e90ff;\n border: 1px solid #1e90ff;\n padding: 5px;\n }\n .inline-style-demo-btn2 {\n background-color: #ffffff;\n color: #1e90ff;\n border: 1px solid #1e90ff;\n padding: 5px;\n }`]\n })\n\n //Place CSS classes in multiple strings individually\n @Component({\n selector: 'app-stylish-improvements',\n templateUrl: './stylish-improvements.component.html',\n styles: [`\n .inline-style-demo-btn {\n background-color: #ffffff;\n color: #1e90ff;\n border: 1px solid #1e90ff;\n padding: 5px;\n }`, `\n .inline-style-demo-btn2 {\n background-color: #ffffff;\n color: #1e90ff;\n border: 1px solid #1e90ff;\n padding: 5px;\n }\n `]\n })\n ",languages:[tm.typescript]}],["inlineSassHtmlCode",{code:'\n<div>\n <button class="inline-style-demo-btn">Demo</button>\n <button class="inline-style-demo-btn2">Demo2</button>\n</div>\n ',languages:[tm.html]}],["sassPkg",{code:"\nnpm install --save sass\n ",languages:[tm.html]}],["updateStylish",{code:"\nnpm update\n ",languages:[tm.html]}],["MigrationExample",{code:"\n/**\n* @license\n* Copyright Google LLC All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n\n// Here's an example of the before and after.\n/ BEFORE\n\n@import '~@angular/material/theming;\n@include mat-core();\n$primary: mat-palette($mat-indigo);\n$accent: mat-palette($mat-pink);\n$theme: mat-light-theme((\n color: (\n primary: $primary,\n accent: $accent\n )\n));\n@include angular-material-theme($theme);\n// AFTER\n@use '~@angular/material' as mat;\n@include mat.core();\n$primary: mat.define-palette(palette.$indigo-palette);\n$accent: mat.define-palette(palette.$pink-palette);\n$theme: mat.define-light-theme((\n color: (\n primary: $primary,\n accent: $accent\n )\n));\n@include mat.all-component-themes($theme);\n ",languages:[tm.html]}],["installTailwindCSS",{code:"\nnpm install -D tailwindcss@latest postcss@latest autoprefixer@latest\n ",languages:[tm.html]}],["initTailwindCSS",{code:"\nnpx tailwindcss init\n ",languages:[tm.html]}],["exampleTailwindCSS",{code:'\n<div class="top-[10px] max-w-screen-md mt-3 mx-auto bg-rose-950 rounded-xl shadow-md overflow-hidden md:max-w-screen-lg hover:bg-gray-300">\n<div class="md:flex">\n <div class="md:flex-shrink-0">\n <img class="h-48 w-full object-cover md:h-full md:w-48" src="../../assets/image/angular-logo.png" alt="">\n </div>\n <div class="p-[8px]">\n <div class="uppercase py-3 text-6xl text-white font-semibold">\n Note of Angular 12\n </div>\n <h1 class="py-3 text-3xl font-bold text-red-600 mb-0">\n Produced by Jen-Hsuan Hsieh\n </h1>\n <p class="py-1 mb-0 text-gray-100">\n {{titleList}}\n </p>\n </div>\n </div>\n</div>\n ',languages:[tm.html]}],["updateStyle",{code:"\n@import 'tailwindcss/base';\n\n@import 'tailwindcss/components';\n\n@import 'tailwindcss/utilities';\n ",languages:[tm.html]}],["originalTailwindConfig",{code:"\nmodule.exports = {\n theme: {\n extend: {},\n },\n variants: {},\n plugins: [],\n}\n ",languages:[tm.typescript]}],["updatedTailwindConfig",{code:"\nmodule.exports = {\n /* enable the JIT mode */\n mode: 'jit',\n \n /* \n * Specify the files to be parsed\n * The JIT mode will only bundle the required files\n */\n content: [\"./src/**/*.html\", \"./src/**/*.scss\"],\n\n theme: {\n /*\n * override the screen width for the responsible design\n * usage: max-w-screen-md\n */\n screens: {\n xs: '360px',\n sm: '576px',\n md: '768px',\n lg: '992px',\n xl: '1440px',\n },\n\n /*\n * override the rounded-xl\n * origin: 0.75rem\n * now: 1rem\n * \n * usage: rounded-xl\n */\n borderRadius: {\n xl: '1rem',\n },\n\n /*\n * override the red-600\n * usage: text-red-600, bg-red-600\n */\n colors: {\n red: {\n ...defaultTheme.theme?.colors.red,\n 600: \"#E53935\",\n },\n },\n },\n variants: {\n /*\n * enable the hover effect for the background color \n * (we won't have to add this affter enabling the JIT mode)\n * usage: hover:bg-gray-300\n */\n extend: {\n backgroundColor: ['hover']\n },\n },\n plugins: [],\n}\n ",languages:[tm.typescript]}],["originalSystemExample",{code:'\n/**\n* styles.scss\n* assets -\n* |\n* scss -\n* |\n* main.scss\n* base -\n* |\n* _index.scss\n* _variables.scss\n* _page.scss\n*/\n\n//./assets/scss/base/_variables.scss\n$base-color: #c6538c;\n$_base-color: #c6538c;\n\n//./assets/scss/base/_page.scss\n$base-color: #fff;\n\n//./assets/scss/base/_index.scss\n@import "variable";\n@import "page";\n\n//./assets/scss/main.scss\n@import "base";\n\n//./styles.scss\n@import "assets/scss/main.scss";\n\nbody {\n //will be #fff\n color: $base-color;\n //will be #c6538c\n background-color: $_base-color;\n}\n ',languages:[tm.html]}],["newSystemExample",{code:'\n/**\n* styles.scss\n* assets -\n* |\n* scss -\n* |\n* main.scss\n* base -\n* |\n* _index.scss\n* _variables.scss\n* _page.scss\n*/\n\n//./assets/scss/base/_variables.scss\n$base-color: #c6538c;\n$_base-color: #c6538c;\n\n//./assets/scss/base/_page.scss\n$base-color: #fff;\n\n//./assets/scss/base/_index.scss\n@use "page";\n\n//./assets/scss/main.scss\n@use "base";\n\n//./styles.scss\n\n//maeningless\n@use "assets/scss/main.scss";\n@use "assets/scss/base/variable" as v;\n\nbody {\n //will be #c6538c\n color: v.$base-color;\n //will be #c6538c\n background-color: v.$_base-color;\n // ~~~~ Error!\n //SassError: Private members can\'t be accessed from outside their modules.\n}\n ',languages:[tm.html]}],["forwardExample",{code:'\n/**\n* styles.scss\n* assets -\n* |\n* scss -\n* |\n* main.scss\n* base -\n* |\n* _index.scss\n* _variables.scss\n*/\n\n//./assets/scss/base/_variables.scss\n$base-color: #c6538c;\n\n//./assets/scss/base/_index.scss\n@forward "variables";\n\n//./assets/scss/main.scss\n@forward "base";\n\n//./styles.scss\n@use "assets/scss/main.scss" as m;\n\nbody {\n margin: 0;\n color: m.$base-color;\n}\n ',languages:[tm.html]}],["renamedFunc",{code:"\n@use 'sass:map';\n\n//previous map-get()\n$map-get: map.get(('key': 'value'), 'key');\n\n@use 'sass:color';
1\n\n//previous adjust-color()\n$adjusted-color: color.adjust(#6b717f, $red: 15); // #7a717f\n\n//previous scale-color()\n$scaled-lolor: color.scale(#6b717f, $red: 15%); // #81717f\n\n//previous change-color()\n$changed-color: color.change(#6b717f, $red: 100); // #64717f\n ",languages:[tm.html]}],["sassMigratorInsall",{code:"\nnpm install -g sass-migrator\n ",languages:[tm.html]}],["sassMigratorUsage",{code:"\nsass-migrator module --migrate-deps --load-path ../node_modules --forward=all styles.scss\n ",languages:[tm.html]}],["ngBuildMigration",{code:"\nng update @angular/cli --migrate-only production-by-default\n ",languages:[tm.html]}],["maxMinValidator",{code:'\n<input type="number" min="30" max="100">\n ',languages:[tm.html]}],["packagesInstallation",{code:"\nnpm install @angular-builders/custom-webpack@^12 --save-dev\n//will install Webpack and Webpack dev server \nnpm install @angular-devkit/build-angular@^12 --save-dev \nnpm install webpack-bundle-analyzer@^4 --save-dev\n ",languages:[tm.html]}],["angularJsonNote",{code:'\n"architect": {\n "build": {\n "builder": "@angular-builders/custom-webpack:browser",\n "options": {\n "customWebpackConfig": {\n "path": "./webpack.config.js"\n },\n ...\n },\n "serve": {\n "builder": "@angular-builders/custom-webpack:dev-server",\n ...\n ',languages:[tm.typescript]}],["webpackConfig",{code:"\nconst webpack = require('webpack');\nconst BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;\n\nmodule.exports = {\n plugins: [\n new BundleAnalyzerPlugin(),\n ]\n}\n ",languages:[tm.typescript]}],["ngServe",{code:"\nnpm start\n ",languages:[tm.html]}],["namedChunk",{code:"\nmodule.exports = {\n optimization: {\n chunkIds: 'named',\n }\n}\n ",languages:[tm.html]}],["prepareLocalization",{code:"\nng add @angular/localize\n ",languages:[tm.html]}],["generateJson",{code:"\nng extract-i18n --format=legacy-migrate\n ",languages:[tm.html]}],["migration",{code:"\nnpx localize-migrate --files=*.xlf --mapFile=messages.json\n ",languages:[tm.html]}],["zshSetUp",{code:"\nsudo nano ~/.zshrc\n ",languages:[tm.html]}],["zshAdd",{code:"\nsetopt no_nomatch\n ",languages:[tm.html]}],["err1ExampleTemplate1",{code:'\n<route-outlet>\n <span class="loader" *ngIf="loading">\n</route-outlet>\n ',languages:[tm.html]}],["err1ExampleComponent1",{code:"\nexport class AppComponent {\n loading = true;\n ngAfterViewInit() {\n //Do not update the view here\n loading = false;\n }\n}\n ",languages:[tm.typescript]}],["err1ExampleComponentSolution1",{code:"\nexport class AppComponent {\n loading = true;\n ngAfterViewInit() {\n //new task\n setTimeOut(() => {\n loading = false;\n }, 0);\n\n //or new microtask\n Promise.resolve().then(() => {\n loading = false;\n });\n }\n}\n ",languages:[tm.typescript]}],["err1ExampleComponentSolution2",{code:"\nimport { ChangeDetectorRef } from '@angular/core';\n\nexport class AppComponent {\n loading = true;\n constructor(private cd: ChangeDetectorRef){}\n\n ngAfterViewInit() {\n loading = false;\n this.cd.detectChanges();\n }\n}\n ",languages:[tm.typescript]}],["err2ExampleService",{code:"\n//user service\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n currentUser: string;\n\n constructor(storageService: StorageService) { }\n \n ...\n}\n\n//storage service\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n constructor(userService: UserService) { }\n\n writeUser() {\n localStorage.setItem(\"user\", this.userService.currentUser);\n }\n\n ...\n}\n ",languages:[tm.typescript]}],["err2ExampleSolution",{code:"\n//user service\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n currentUser: string;\n\n constructor(storageService: StorageService) { }\n \n ...\n}\n\n//storage service\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n constructor() { }\n\n writeUser(user: string) {\n localStorage.setItem(\"user\", user);\n }\n\n ...\n}\n ",languages:[tm.typescript]}],["rootProvider",{code:"\n@Injectable({\n providedIn: 'root'\n}
1)\nexport class StorageService {\n constructor() { }\n}\n ",languages:[tm.typescript]}],["featureProvider",{code:"\n@Injectable({\n providedIn: FeatureModule\n})\nexport class StorageService {\n constructor() { }\n}\n ",languages:[tm.typescript]}],["anyProvider",{code:'\n@Injectable({\n providedIn: "any"\n})\nexport class StorageService {\n constructor() { }\n}\n ',languages:[tm.typescript]}],["platformProvider",{code:'\n@Injectable({\n providedIn: "platform"\n})\nexport class StorageService {\n constructor() { }\n}\n ',languages:[tm.typescript]}],["importStorageServiceToAppModule",{code:"\n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [],\n providers: [\n StorageService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n ",languages:[tm.typescript]}],["forceConsistentCasingInFileNames",{code:"\ncompilerOptions.forceConsistentCasingInFileNames: true\n ",languages:[tm.typescript]}],["forceConsistentCasingInFileNamesErrorMessage",{code:"\n//The real file name is FileManger.ts (capitalize first letter)\nimport { getName } from './demo/fileManager';\n// ~~~~~~~~~~~~~~~~~~~~ Error!\n// Already included file name '/Users/hsiehs/Practice/Angular12Project/src/app/strict-mode/demo/fileManager.ts' differs from file name '/Users/hsiehs/Practice/Angular12Project/src/app/strict-mode/demo/FileManager.ts' only in casing.\n// The file is in the program because:\n// Imported via './demo/fileManager' from file '/Users/hsiehs/Practice/Angular12Project/src/app/strict-mode/strict-mode.component.ts'\n// Matched by default include pattern '**/*'ts(1261)\n ",languages:[tm.typescript]}],["noImplicitReturns",{code:"\ncompilerOptions.noImplicitReturns: true\n ",languages:[tm.typescript]}],["noImplicitReturnsErrorMessage",{code:'\nexport const getName = (isEnable: boolean) => {\n// ~~~~~~~~~~~~~~~~~~~~~~~~ Error!\n//Not all code paths return a value.ts(7030)\n if (isEnable) {\n return "demo"\n }\n};\n ',languages:[tm.typescript]}],["noFallthroughCasesInSwitch",{code:"\ncompilerOptions.noFallthroughCasesInSwitch: true\n ",languages:[tm.typescript]}],["noFallthroughCasesInSwitchErrorMessage",{code:'\nconst a: number = 6;\n \nswitch (a) {\n case 0:\n //~~~~~ Error!\n //Fallthrough case in switch.ts(7029)\n console.log("even");\n case 1:\n console.log("odd");\n break;\n }\n ',languages:[tm.typescript]}],["strictTemplates",{code:"\n angularCompilerOptions.strictTemplates: true\n ",languages:[tm.typescript]}],["strictTemplatesErrorMessage",{code:"\n //child component\n @Component({\n selector: 'app-styict-mode-strict-template',\n templateUrl: './styict-mode-strict-template.component.html',\n styleUrls: ['./styict-mode-strict-template.component.scss']\n })\n export class StyictModeStrictTemplateComponent {\n @Input() data: number = 0;\n }\n\n //parent component\n export class StrictModeComponent {\n data: number | undefined = 0;\n }\n\n //parent template\n <div class=\"item\">\n <app-styict-mode-strict-template \n [data]=\"data\">\n //~~~~~~~~~~ Error!\n //Type 'number | undefined' is not assignable to type 'number'.\n //Type 'undefined' is not assignable to type 'number'.ngtsc(2322)\n </app-styict-mode-strict-template>\n </div>\n ",languages:[tm.typescript]}],["strictInputAccessModifiers",{code:"\nangularCompilerOptionsstrictInputAccessModifiers: true\n ",languages:[tm.typescript]}],["strictInputAccessModifiersErrorMessage",{code:"\n//html\n<p>{{ data }}</p>\n// ~~~~~~~~~~ Error!\n//Property 'data' is private and only accessible within class 'StyictModeStrictTemplateComponent'.ngtsc(2341)\n\n//component\n@Component({\n selector: 'app-styict-mode-strict-template',\n templateUrl: './styict-mode-strict-template.component.html',\n styleUrls: ['./styict-mode-strict-template.component.scss']\n})\nexport class StyictModeStrictTemplateComponent {\n @Input() private data: number = 0;\n}\n ",languages:[tm.typescript]}],["strictNullChecks",{code:"\ncompilerOptions.strictNullChecks: true\n ",languages:[tm.typescript]}],["strictNullChecksErrrorMessage",{code:"\ndeclare const loggedInUsername: string;\n \nconst users = [\n { name: \"Oby\", age: 12 },\n { name: \"Heera\", age: 32 },\n];\n \nconst loggedInUser = users.find((u) => u.name === loggedInUsername);\nconsole.log(loggedInUser.age);\n// ~~~~~~~~~~~~~~~~~~ Error!\n//'loggedInUser' is possibly 'undefined'.\n ",languages:[tm.typescript]}],["strictPropertyInitialization",{code:"\ncompilerOptions.strictPropertyInitialization: true\n ",languages:[tm.typescript]}],["strictPropertyInitializationErrorMessage",{code:"\nexport class DeprecationsComponent {\n @ViewChild(\"itemWrapper\", {read: ElementRef}) itemWrapper: ElementRef;\n // ~~~~~~~~~~~~ Error!\n //Property 'itemWrapper' has no initializer and is not definitely assigned in the constructor.ts(2564)\n}\n ",languages:[tm.typescript]}],["newSystemQ1",{code:'\n/**\n* styles.scss\n* assets -\n* |\n* scss -\n* |\n* main.scss\n* base -\n* |\n* _index.scss\n* _demo.scss\n*/\n\n//./assets/scss/base/_demo.scss\n.saas-new-system-q1 {\n background-color: cadetblue;\n color: #fff;\n width: 3em;\n margin: 0 auto;\n text-align: center;\n}\n\n//./assets/scss/base/_index.scss\n@use "demo";\n\n//./assets/scss/main.scss\n@use "base";\n\n//./styles.scss\n@use "assets/scss/main.scss";\n ',languages:[tm.html]}],["newSystemQ1Template",{code:'\n<div class="saas-new-system-q1">\n I\'m a demo\n</div>\n ',languages:[tm.html]}],["newSystemQ2",{code:'\n/**\n* styles.scss\n* assets -\n* |\n* scss -\n* |\n* main.scss\n* base -\n* |\n* _index.scss\n* _variables.scss\n*/\n\n//./assets/scss/base/_variables.scss\n$base-color: #c6538c;\n\n//./assets/scss/base/_index.scss\n@forward "variables";\n\n.saas-new-system-q2 {\n background-color: $base-color;\n}\n\n//./assets/scss/main.scss\n@forward "base";\n\n//./styles.scss\n@use "assets/scss/main.scss" as m;\n\nbody {\n margin: 0;\n color: m.$base-color;\n}\n ',languages:[tm.html]}],["newSystemQ3",{code:'\n/**\n* styles.scss\n* assets -\n* |\n* scss -\n* |\n* main.scss\n* base -\n* |\n* _index.scss\n* _variables.scss\n* _pagess.scss\n*/\n\n//./assets/scss/base/_variables.scss\n$base-color: #c6538c;\n\n//./assets/scss/base/_pages.scss\n$base-color: #dd1;\n\n//./assets/scss/base/_index.scss\n@forward "variables";\n\n//./assets/scss/main.scss\n@forward "base";\n\n//./styles.scss\n@use "assets/scss/main.scss" as m;\n\nbody {\n margin: 0;\n color: m.$base-color;\n}\n ',languages:[tm.html]}]]);function rm(e,t){return new y(t?n=>t.schedule(im,0,{error:e,subscriber:n}):t=>t.error(e))}function im({error:e,subscriber:t}){t.error(e)}class sm{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new om(e,this.resultSelector))}}class om extends f{constructor(e,t,n=Object.create(null)){super(e),this.resultSelector=t,this.iterators=[],this.active=0,this.resultSelector="function"==typeof t?t:void 0}_next(e){const t=this.iterators;l(e)?t.push(new lm(e)):t.push("function"==typeof e[A]?new am(e[A]()):new cm(this.destination,this,e))}_complete(){const e=this.iterators,t=e.length;if(this.unsubscribe(),0!==t){this.active=t;for(let n=0;n<t;n++){let t=e[n];t.stillUnsubscribed?this.destination.add(t.subscribe()):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const e=this.iterators,t=e.length,n=this.destination;for(let s=0;s<t;s++){let t=e[s];if("function"==typeof t.hasValue&&!t.hasValue())return}let r=!1;const i=[];for(let s=0;s<t;s++){let t=e[s],o=t.next();if(t.hasCompleted()&&(r=!0),o.done)return void n.complete();i.push(o.value)}this.resultSelector?this._tryresultSelector(i):n.next(i),r&&n.complete()}_tryresultSelector(e){let t;try{t=this.resultSelector.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}class am{constructor(e){this.iterator=e,this.nextResult=e.next()}hasValue(){return!0}
1next(){const e=this.nextResult;return this.nextResult=this.iterator.next(),e}hasCompleted(){const e=this.nextResult;return Boolean(e&&e.done)}}class lm{constructor(e){this.array=e,this.index=0,this.length=0,this.length=e.length}[A](){return this}next(e){const t=this.index++;return t<this.length?{value:this.array[t],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class cm extends F{constructor(e,t,n){super(e),this.parent=t,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[A](){return this}next(){const e=this.buffer;return 0===e.length&&this.isComplete?{value:null,done:!0}:{value:e.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(e){this.buffer.push(e),this.parent.checkIterators()}subscribe(){return D(this.observable,new L(this))}}class um extends h{constructor(e,t){super()}schedule(e,t=0){return this}}class hm extends um{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,n=0){return setInterval(e.flush.bind(e,this),n)}recycleAsyncId(e,t,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let n,r=!1;try{this.work(e)}catch(cy){r=!0,n=!!cy&&cy||new Error(cy)}if(r)return this.unsubscribe(),n}_unsubscribe(){const e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let dm=(()=>{class e{constructor(t,n=e.now){this.SchedulerAction=t,this.now=n}schedule(e,t=0,n){return new this.SchedulerAction(this,e).schedule(n,t)}}return e.now=()=>Date.now(),e})();class pm extends dm{constructor(e,t=dm.now){super(e,()=>pm.delegate&&pm.delegate!==this?pm.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,n){return pm.delegate&&pm.delegate!==this?pm.delegate.schedule(e,t,n):super.schedule(e,t,n)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}}const fm=new class extends pm{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let n,r=-1,i=t.length;e=e||t.shift();do{if(n=e.execute(e.state,e.delay))break}while(++r<i&&(e=t.shift()));if(this.active=!1,n){for(;++r<i&&(e=t.shift());)e.unsubscribe();throw n}}}(class extends hm{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}requestAsyncId(e,t,n=0){return null!==n&&n>0?super.requestAsyncId(e,t,n):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(e,t,n);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}}),gm=new jn("HIGHLIGHT_OPTIONS");let mm=(()=>{class e{constructor(e,t,n){this.doc=e,this._options=n,this._ready=new Ou(null),this.ready=this._ready.asObservable().pipe(Ku(e=>!!e),k(e=>e),Wu(1)),function(e){return"browser"===e}(t)&&(e.defaultView.hljs?this._ready.next(e.defaultView.hljs):this._loadLibrary().pipe(Vu(t=>this._options&&this._options.lineNumbersLoader?(e.defaultView.hljs=t,this.loadLineNumbers().pipe(vh(()=>this._ready.next(t)))):(this._ready.next(t),Uu)),th(e=>(console.error("[HLJS] ",e),Uu))).subscribe(),this._options?.themePath&&this.loadTheme(this._options.themePath))}_loadLibrary(){if(this._options){if(this._options.fullLibraryLoader&&this._options.coreLibraryLoader)return rm(()=>"The full library and the core library were imported, only one of them should be imported!");if(this._options.fullLibraryLoader&&this._options.languages)return rm(()=>"The highlighting languages were imported they are not needed!");if(this._options.coreLibraryLoader&&!this._options.languages)return rm(()=>"The highlighting languages were not imported!");if(!this._options.coreLibraryLoader&&this._options.languages)return rm(()=>"The core library was not imported!");if(this._options.fullLibraryLoader)return this.loadFullLibrary();if(this._options.coreLibraryLoader&&this._options.languages&&Object.keys(this._options.languages).length)return this.loadCoreLibrary().pipe(Vu(e=>this._loadLanguages(e)))}return rm(()=>"Highlight.js library was not imported!")}_loadLanguages(e){return function(...e){const t=e[e.length-1];return"function"==typeof t&&e.pop(),$(e,void 0).lift(new sm(t))}(...Object.entries(this._options.languages).map(([t,n])=>vm(n()).pipe(vh(n=>e.registerLanguage(t,n))))).pipe(k(()=>e))}loadCoreLibrary(){return vm(this._options.coreLibraryLoader())}loadFullLibrary(){return vm(this._options.fullLibraryLoader())}loadLineNumbers(){return vm(this._options.lineNumbersLoader())}setTheme(e){this._themeLinkElement.href=e}loadTheme(e){this._themeLinkElement=this.doc.createElement("link"),this._themeLinkElement.href=e,this._themeLinkElement.type="text/css",this._themeLinkElement.rel="stylesheet",this._themeLinkElement.media="screen,print",this.doc.head.appendChild(this._themeLinkElement)}}return e.\u0275fac=function(t){return new(t||e)(Xn(pc),Xn(wl),Xn(gm,8))},e.\u0275prov=ae({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const vm=e=>j(e).pipe(Ku(e=>!!e&&!!e.default),k(e=>e.default));let ym=(()=>{class e{constructor(e,t){this._loader=e,this._hljs=null,e.ready.subscribe(e=>{this._hljs=e,t&&t.config&&(e.configure(t.config),e.listLanguages().length<1&&console.error("[HighlightJS]: No languages were registered!"))})}get hljs(){return this._hljs}highlight(e,{language:t,ignoreIllegals:n}){return this._loader.ready.pipe(k(r=>r.highlight(e,{language:t,ignoreIllegals:n})))}highlightAuto(e,t){return this._loader.ready.pipe(k(n=>n.highlightAuto(e,t)))}highlightElement(e){return this._loader.ready.pipe(k(t=>t.highlightElement(e)))}highlightAll(){return this._loader.ready.pipe(k(e=>e.highlightAll()))}configure(e){return this._loader.ready.pipe(k(t=>t.configure(e)))}registerLanguage(e,t){return this._loader.ready.pipe(vh(n=>n.registerLanguage(e,t)))}unregisterLanguage(e){return this._loader.ready.pipe(vh(t=>t.unregisterLanguage(e)))}registerAliases(e,{languageName:t}){return this._loader.ready.pipe(vh(n=>n.registerAliases(e,{languageName:t})))}listLanguages(){return this._loader.ready.pipe(k(e=>e.listLanguages()))}getLanguage(e){return this._loader.ready.pipe(k(t=>t.getLanguage(e)))}safeMode(){return this._loader.ready.pipe(k(e=>e.safeMode()))}debugMode(){return this._loader.ready.pipe(k(e=>e.debugMode()))}lineNumbersBlock(e){return this._loader.ready.pipe(Ku(e=>!!e.lineNumbersBlock),vh(t=>t.lineNumbersBlock(e)))}}return e.\u0275fac=function(t){return new(t||e)(Xn(mm),Xn(gm,8))},e.\u0275prov=ae({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),bm=(()=>{class e{constructor(e,t,n,r){this._hljs=t,this._sanitizer=n,this._options=r,this.highlighted=new Za,this._nativeElement=e.nativeElement}ngOnChanges(e){null!==e?.code?.currentValue&&e.code.currentValue!==e.code.previousValue&&(this.code?this.highlightElement(this.code,this.languages):this.setTextContent(""))}highlightElement(e,t){this.setTextContent(e),this._hljs.highlightAuto(e,t).subscribe(e=>{this.setInnerHTML(e?.value),this.lineNumbers&&this._options&&this._options.lineNumbersLoader&&this.addLineNumbers(),this.highlighted.emit(e)})}addLineNumbers(){this.destroyLineNumbersObserver(),fm.schedule(()=>{this._hljs.lineNumbersBlock(this._nativeElement).subscribe(),this._lineNumbersObs=new MutationObserver(()=>{this._nativeElement.firstElementChild&&"TABLE"===this._nativeElement.firstElementChild.tagName.toUpperCase()&&this._nativeElement.classList.add("hljs-line-numbers"),this.destroyLineNumbersObserver()}),this._lineNumbersObs.observe(this._nativeElement,{childList:!0})})}destroyLineNumbersObserver(){this._lineNumbersObs&&(this._lineNumbersObs.disconnect(),this._lineNumbersObs=null)}setTextContent(e){fm.schedule(()=>this._nativeElement.textContent=e)}setInnerHTML(e){fm.schedule(()=>this._nativeElement.innerHTML=this._sanitizer.sanitize(zr.HTML,e)||"")}}return e.\u0275fac=function(t){return new(t||e)(io(Qo),io(ym),io(Cu),io(gm,8))},e.\u0275dir=Be({type:e,selectors:[["","highlight",""]],hostVars:2,hostBindings:function(e,t){2&e&&xo("hljs",!0)},inputs:{code:["highlight","code"],languages:"languages",lineNumbers:"lineNumbers"},outputs:{highlighted:"highlighted"},features:[it]}),e})(),wm=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({}),e})(),_m=(()=>
1{class e{ngOnInit(){this.codeFromMap=Kg(this.key,nm)}get code(){return this.codeFromMap.code}get languages(){return this.codeFromMap.languages}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-code-container"]],inputs:{key:"key"},decls:4,vars:3,consts:[[3,"highlight","languages","lineNumbers"]],template:function(e,t){1&e&&(ao(0,"pre"),Ao(1," "),co(2,"code",0),Ao(3,"\n"),lo()),2&e&&(Ui(2),so("highlight",t.code)("languages",t.languages)("lineNumbers",!0))},directives:[bm],styles:[""],changeDetection:0}),e})();function Cm(e,t){if(1&e&&(ao(0,"li"),ao(1,"a",1),Ao(2),lo(),lo()),2&e){const e=t.$implicit;Ui(1),so("href",e.value,$r),Ui(1),Mo(" ",e.key," ")}}let Tm=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-reference-container"]],inputs:{references:"references"},decls:4,vars:3,consts:[[4,"ngFor","ngForOf"],[3,"href"]],template:function(e,t){1&e&&(uo(0),ao(1,"ul"),ro(2,Cm,3,2,"li",0),Ga(3,"keyvalue"),lo(),ho()),2&e&&(Ui(2),so("ngForOf",Qa(3,1,t.references)))},directives:[Fc],pipes:[Vc],styles:[""]}),e})(),Sm=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.BREAKING_CHANGE),this.getIdFromTitle=Jg,this.sectionTitles=["Introduction","New Features of TypeScript 4.2","Reference"],this.referencesMap=new Map([["TypeScript 4.2","https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-2.html#stricter-checks-for-the-in-operator"],["Announcing TypeScript 4.2","https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/"]])}ngAfterViewInit(){this.cd.detectChanges()}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-breaking-changes"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:142,vars:11,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["href","https://angular.io/guide/versions"],["href","https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-2.html"],["key","updateBreaking"],["href","https://www.typescriptlang.org/play?ts=4.2.0-beta#code/PTAEBUE8AcFNQIYBsCWCDOt2gCYoGb6wBOo+xA9gLagoB2ALifggMZa12gMAWCD3HrEiJisOgHIBAcwCuCYgkaxYObhQBQIUAGsV0QbBSk6CKvAyGRC+LMxrelWdJ4VZA3vFbVoKJCQA6UABJLmgFBgAaQRR0LTBYxG5FHFgAWgpCUAouAHc+GRQANw5PGk9jMn8ADxQAIz8UBkhouvdDXApcunQUVPjabF5+UHRqWAYUc2woOABlVmIUaAF0V1zsJWy6gCtYVgF6dCYENUyO03MAjQHQ0AAWAIAmaM9Qbypff1I9WGghxSsHTZfAdChLaT0ZCgS7wfDgpLNOCIVAYAb0UBUcHwaBINhYIIAJVUslY9GkHV6AC94OcSJRSNN0AhpBwlGpXCVSDx6Ax0NcNEj4HM+MiALwaUCgAA+oAA3rp6DgAFygABEZOIrH8aoA3KAUig7Kq6LIqHUSKAAL6SmXyxV0FXq9AAR3kYj1oxQNJNZotpBtUtlCp0StVarEByU0h1+tyfV4vvNJH1QhQLgYSf91t1NyFoAAcmZVKAxfbYarjks6BSrbmBgAFMRFFBudBISCqkUIOAaVLamygfyrUWwLuj+vaAsUd58GvwTxiVrtAigSBudQUYFvWC1Y7k0aj0CyOitrjs0C7piO2hRAaeLizWALJYrY-2dSgCRICiYCRgiEoSQGFi2VG5tCbWAWzbDtVRDMN1U1bVYE9Q1jRhP0UzteDHXDV13RQ-VqTHDDk2IfVgwdJ0I32Bho1jUB4xwRNSP9VMjAzLMsNlE9UnwehVD7fY8TEIcJmyFYz2Qbs4HHHt4B4x1YH4uhVEnMBIOguxYPtUNcMQ4xkNQ04jXQLjyOwqi8LdGxPWI8yKN0hCaKjGsGKYljTTI9j0x4TNWO448lJUwT+xE+BhxA8wcBkkjYtAAAyQtixwdTQE01ttM7UAAAocOopCGLQsyAosotooASjtPKrOdGyPSI70SK8tjksq6r8vDSM6LcwjGITHgHNANNONK-VytUKrFL4gScCEgdRMiihJJyZAJpi0dVRy+KkvWqagpm1TUtAbRtqPXaUv23jlNmoA"],["key","smarterTypeAlias"],["href","https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/"],["key","restElems"],["href","https://www.cnblogs.com/laggage/p/explain-some-options-of-tsconfig.html"],["key","noPropertyAccessFromIndexSignature"],["key","noPropertyAccessFromIndexSignatureExample"],["key","destructedExample"],["href","https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-2.html#abstract-construct-signatures"],["key","abstract3"],["key","abstract2"],["key","abstract1"],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," There are a few breaking changes in v12. "),lo(),ao(7,"div",3),ao(8,"ol"),ao(9,"li"),Ao(10," v12 requires node.js v10 or later version. "),ao(11,"a",4),Ao(12,"(Version Compatibility)"),lo(),lo(),ao(13,"li"),Ao(14," v12 requires "),ao(15,"a",5),Ao(16," TypeScript v4.2 "),lo(),Ao(17," or later version. "),ao(18,"a",4),Ao(19,"(Version Compatibility)"),lo(),lo(),ao(20,"li"),Ao(21," v12 requires zone.js v0.11.4. "),ao(22,"div",3),co(23,"app-code-container",6),lo(),lo(),lo(),lo(),lo(),lo(),ao(24,"app-section-container"),ao(25,"div",1),Ao(26),lo(),ao(27,"div",2),ao(28,"div",3),Ao(29," There are a few new features in TypeScript 4.2. I pick up some useful topics in this section. "),lo(),ao(30,"div",3),ao(31,"ol"),ao(32,"li"),ao(33,"div",3),ao(34,"b"),Ao(35," Smarter Type Alias Preservation: "),ao(36,"a",7),Ao(37," (reference) "),lo(),lo(),lo(),ao(38,"div",3),Ao(39," Now the size of error messages of hover hints is reduced. "),lo(),ao(40,"div",3),co(41,"app-code-container",8),lo(),lo(),ao(42,"li"),ao(43,"div",3),ao(44,"b"),Ao(45," Leading/Middle Rest Elements in Tuple Types: "),ao(46,"a",9),Ao(47," (reference) "),lo(),lo(),lo(),ao(48,"div",3),Ao(49," Now rest elements can occur anywhere within a tuple but there are two restrictions. "),lo(),ao(50,"div",3),ao(51,"ol"),ao(52,"li"),ao(53,"div",3),Ao(54," Unallowed to place the rest elements after other rest elements "),lo(),lo(),ao(55,"li"),ao(56,"div",3),Ao(57," Unallowed to place the rest elements before the optional parameter "),lo(),lo(),lo(),lo(),ao(58,"div",3),co(59,"app-code-container",10),lo(),lo(),ao(60,"li"),ao(61,"div",3),ao(62,"b"),Ao(63," New tsconfig option: --noPropertyAccessFromIndexSignature "),ao(64,"a",11),Ao(65," (reference) "),lo(),lo(),lo(),ao(66,"div",3),Ao(67," When this option is enabled, we are only allowed to get properties declared by "),ao(68,"b"),Ao(69,"index signature"),lo(),Ao(70," with "),ao(71,"b"),Ao(72,"bracketed"),lo(),Ao(73,' element access syntax like person["name"] '),lo(),ao(74,"div",3),ao(75,"ul"),ao(76,"li"),ao(77,"div",3),Ao(78," usage: "),lo(),ao(79,"div",3),co(80,"app-code-container",12),lo(),lo(),ao(81,"li"),ao(82,"div",3),Ao(83," example: "),lo(),ao(84,"div",3),co(85,"app-code-container",13),lo(),lo(),lo(),lo(),lo(),ao(86,"li"),ao(87,"div",3),ao(88,"b"),Ao(89," Destructured Variables Can Be Explicitly Marked as Unused: "),ao(90,"a",9),Ao(91," (reference) "),lo(),lo(),lo(),ao(92,"div",3),ao(93,"ul"),ao(94,"li"),ao(95,"div",3),Ao(96," Previously, if a destructured variable was never used later on, Type
1Script would issue an error if the option "),ao(97,"b"),Ao(98,"noUnusedLocals"),lo(),Ao(99," is enabled. "),lo(),lo(),ao(100,"li"),ao(101,"div",3),Ao(102," Now, TypeScript will recognize that "),ao(103,"b"),Ao(104,"_first"),lo(),Ao(105," was intentionally named with an "),ao(106,"b"),Ao(107,"underscore"),lo(),Ao(108," because there was no intent to use it. "),lo(),ao(109,"div",3),co(110,"app-code-container",14),lo(),lo(),lo(),lo(),lo(),ao(111,"li"),ao(112,"div",3),ao(113,"b"),Ao(114," Abstract Construct Signatures: "),ao(115,"a",15),Ao(116," (reference) "),lo(),lo(),lo(),ao(117,"div",3),ao(118,"ul"),ao(119,"li"),ao(120,"div",3),Ao(121," Previously, we could not assign an abstract class to anything that expects a construct signature. "),lo(),ao(122,"div",3),co(123,"app-code-container",16),lo(),lo(),ao(124,"li"),ao(125,"div",3),Ao(126," Now, we are allowed to complete it by specifying an abstract modifier on constructor signatures. "),lo(),ao(127,"div",3),co(128,"app-code-container",17),lo(),lo(),ao(129,"li"),ao(130,"div",3),Ao(131," The benefit is that it allows us to write mixin factories to return abstract classes. "),lo(),ao(132,"div",3),Ao(133," For example, in the following code snippet, we\u2019re able to use the mixin function withStyles with the abstract class SuperClass. "),lo(),ao(134,"div",3),co(135,"app-code-container",18),lo(),lo(),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(136,"app-section-container"),ao(137,"div",1),Ao(138),lo(),ao(139,"div",19),ao(140,"div",3),co(141,"app-reference-container",20),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(22),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(111),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Tm],styles:[""]}),e})(),xm=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.DEBUGGING_PLAYLIST),this.getIdFromTitle=Jg,this.codeMap=nm,this.sectionTitles=["Introduction","1. Expression has changed after it was checked","2. Circular dependency in DI detected","3. NullInjectorError: No provider for Class","Reference"],this.referencesMap=new Map([["Angular Debugging Guides","https://blog.angular.io/angular-debugging-guides-dfe0ef915036"],["Debugging Playlist","https://www.youtube.com/watch?v=O47uUnJjbJc&list=PL1w1q3fL4pmi8SydlCdMdm7kCbHi-7wpS"],["\u600e\u9ebc\u7406\u89e3 microtask & macrotask","https://realdennis.medium.com/%E6%80%8E%E9%BA%BC%E7%90%86%E8%A7%A3-microtask-macrotask-7754939b3c2c"],["Using microtasks in JavaScript with queueMicrotask()","https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide#when_to_use_microtasks"]])}ngAfterViewInit(){this.cd.detectChanges()}getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-debugging-list"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:187,vars:15,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],["href",""],[1,"item"],[1,"image-container"],["src","../../assets/image/err_play_list.png","alt",""],["src","../../assets/image/err_1.png","alt",""],["key","err1ExampleTemplate1"],["key","err1ExampleComponent1"],["key","err1ExampleComponentSolution1"],["key","err1ExampleComponentSolution2"],["src","../../assets/image/err_2.png","alt",""],["key","err2ExampleService"],["key","err2ExampleSolution"],["src","../../assets/image/err_3.png","alt",""],["key","rootProvider"],["key","featureProvider"],["key","anyProvider"],["key","platformProvider"],["key","importStorageServiceToAppModule"],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),Ao(5," The content of this page was major collected from "),ao(6,"a",3),Ao(7," this YouTube playlist "),lo(),Ao(8,". We pick up some notable items in this topic. "),ao(9,"div",4),ao(10,"div",5),co(11,"img",6),lo(),lo(),lo(),lo(),ao(12,"app-section-container"),ao(13,"div",1),Ao(14),lo(),ao(15,"div",2),ao(16,"div",4),ao(17,"b"),Ao(18," Symptom "),lo(),lo(),ao(19,"div",4),Ao(20," ExpressionChangedAfterItHasBeenCheckedError: Expression changed after it was checked. "),lo(),ao(21,"div",4),ao(22,"div",5),co(23,"img",7),lo(),lo(),ao(24,"div",4),ao(25,"b"),Ao(26," Example code "),lo(),lo(),ao(27,"div",4),ao(28,"ul"),ao(29,"li"),ao(30,"div",4),Ao(31," Template "),lo(),ao(32,"div",4),co(33,"app-code-container",8),lo(),lo(),ao(34,"li"),ao(35,"div",4),Ao(36," Component "),lo(),ao(37,"div",4),co(38,"app-code-container",9),lo(),lo(),lo(),lo(),ao(39,"div",4),ao(40,"b"),Ao(41," Root cause "),lo(),lo(),ao(42,"div",4),ao(43,"ul"),ao(44,"li"),ao(45,"div",4),Ao(46," In Angular, the view is supposed to be updated completely before the ngAfterViewInit. "),lo(),lo(),ao(47,"li"),ao(48,"div",4),Ao(49," So it'll throw the warning mesage if we should have a new change detection cycle in ngAfterViewInit. "),lo(),lo(),lo(),lo(),ao(50,"div",4),ao(51,"b"),Ao(52," Solution "),lo(),lo(),ao(53,"div",4),Ao(54," By using the following ways, Angular will detect the change on the next browser task/micro-task. "),lo(),ao(55,"ul"),ao(56,"li"),ao(57,"div",4),Ao(58," It means that we can create new callback tasks to the task queue (for setTimeOut, setInterval) or microtask queue (for promise). "),lo(),ao(59,"div",4),co(60,"app-code-container",10),lo(),lo(),ao(61,"li"),ao(62,"div",4),Ao(63," Or we can also trigger a new change detection in the main process directly. "),lo(),ao(64,"div",4),co(65,"app-code-container",11),lo(),lo(),lo(),lo(),lo(),ao(66,"app-section-container"),ao(67,"div",1),Ao(68),lo(),ao(69,"div",2),ao(70,"div",4),ao(71,"b"),Ao(72," Symptom "),lo(),lo(),ao(73,"div",4),Ao(74," Circular dependency in DI detected. "),lo(),ao(75,"div",4),ao(76,"div",5),co(77,"img",12),lo(),lo(),ao(78,"div",4),ao(79,"b"),Ao(80," Example code "),lo(),lo(),ao(81,"div",4),co(82,"app-code-container",13),lo(),ao(83,"div",4),ao(84,"b"),Ao(85," Root cause "),lo(),lo(),ao(86,"div",4),ao(87,"ul"),ao(88,"li"),ao(89,"div",4),Ao(90," Services were injected to each other. Putting them to code dependent relationship. "),lo(),lo(),ao(91,"li"),ao(92,"div",4),Ao(93," When a service was decorated with injectable and provided in root, Angular will initiate this class and make it visible throghout the entire application as singleton. "),lo(),ao(94,"div",4),Ao(95," We can not determine which service should be initiated first when they were independent to each other. "),lo(),lo(),lo(),lo(),ao(96,"div",4),ao(97,"b"),Ao(98," Solution "),lo(),lo(),ao(99,"div",4),Ao(100," Refactor one of services to minimize dependencies between services. "),lo(),ao(101,"div",4),co(102,"app-code-container",14),lo(),lo(),lo(),ao(103,"app-section-container"),ao(104,"div",1),Ao(105),lo(),ao(106,"div",2),ao(107,"div",4),ao(108,"b"),Ao(109," Symptom "),lo(),lo(),ao(110,"div",4),Ao(111," NullInjectorError: No provider for Class. "),lo(),ao(112,"div",4),ao(113,"div",5),co(114,"img",15),lo(),lo(),ao(115,"div",4),ao(116,"b"),Ao(117," Root cause "),lo(),lo(),ao(118,"div",4),Ao(119," The service was injected without a provider. "),lo(),ao(120,"div",4),ao(121,"b"),Ao(122," Solution "),lo(),lo(),ao(123,"div",4),ao(124,"ol"),ao(125,"li"),ao(126,"div",4),Ao(127," Use providedIn parameter. There are 4 types of scope. "),lo(),ao(128,"div",4),ao(129,"ul"),ao(130,"li"),ao(131,"div",4),Ao(132," root: provide the service in the root injector "),lo(),ao(133,"div",4),ao(134,"ul"),ao(135,"li"),ao(136,"div",4),Ao(137," The servcie will be provided as a global singleton. "),lo(),lo(),ao(138,"li"),ao(139,"div",4),Ao(140," It can be used anywhere in the application but it may not always optimized solution. "),lo(),lo(),lo(),lo(),ao(141,"div",4),co(142,"app-code-container",16),lo(),lo(),ao(143,"li"),ao(144,"div",4),Ao(145," NgModule: provide the service to an NgModule "),lo(),ao(146,"div",4),ao(147,"ul"),ao(148,"li"),ao(149,"div",4),Ao(150," The service can be loaded from the app's main JavaScript bundle and loaded lazily when it becomes needed to improve the load time performance "),lo(),lo(),lo(),lo(),ao(151,"div",4),co(152,"app-code-container",17),lo(),lo(),ao(153,"li"),ao(154,"div",4),Ao(155," any: initiate the service in multiple NgModule "),lo(),ao(156,"div",4),ao(157,"ul"),ao(158,"li"),ao(159,"div",4),Ao(160," Instead of the global singleton, each module will create their own instance of the service. "),lo(),lo(),ao(161,"li"),ao(162,"div",4),Ao(163," The service can be loaded from the app's main JavaScript bundle and loaded lazily for each modules. "),lo(),lo(),lo(),lo(),ao(164,"div",4),co(165,"app-code-container",18),lo(),lo(),ao(166,"li"),ao(167,"div",4),Ao(168," platform: provide the service in the platform injector "),lo(),ao(169,"div",4),ao(170,"ul"),ao(171,"li"),ao(172,"div",4),Ao(173," The service could be used in different application on one page (e.g., web component). "),lo(),lo(),lo(),lo(),ao(174,"div",4),co(175,"app-code-container",19),lo(),lo(),lo(),lo(),lo(),ao(176,"li"),ao(177,"div",4),Ao(178," Import the missing NgModule. It's not the preferred because it will make code more difficult to tree-shake. "),lo(),ao(179,"div",4),co(180,"app-code-container",20),lo(),lo(),lo(),lo(),lo(),lo(),ao(181,"app-section-container"),ao(182,"div",1),Ao(183),lo(),ao(184,"div",21),ao(185,"div",4),co(186,"app-reference-container",22),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(10),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(53),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(36),so("id",t.getIdFromTitle(t.sectionTitles[3])),Ui(1),Po(t.sectionTitles[3]),Ui(77),so("id",t.getIdFromTitle(t.sectionTitles[4])),Ui(1),Po(t.sectionTitles[4]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Tm],styles:[""]}),e})();const km=["item"];function Im(e,t){if(1&e&&(ao(0,"div"),Ao(1),lo()),2&e){const e=t.$implicit;Ui(1),Mo(" ",e.nativeElement.innerHTML,"\n")}}let Em=(()=>{class e{ngAfterContentInit(){var e;null===(e=this.items)||void 0===e||e.changes.subscribe(e=>{console.log(e)})}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-deprecations-content-children"]],contentQueries:function(e,t,n){if(1&e&&function(e,t,n,r){const i=kt();if(i.firstCreatePass){const n=Et();dl(i,new tl(t,4,void 0),n.index),function(e,t){const n=e.contentQueries||(e.contentQueries=[]);t!==(n.length?n[n.length-1]:-1)&&n.push(e.queries.length-1,t)}(i,e)}hl(i,xt(),4)}(n,km),2&e){let e;ll(e=ul())&&(t.items=e)}},decls:1,vars:1,consts:[[4,"ngFor","ngForOf"]],template:function(e,t){1&e&&ro(0,Im,2,1,"div",0),2&e&&so("ngForOf",t.items)},directives:[Fc],styles:[""]}),e})();const Om=["itemWrapper"];function Am(e,t){if(1&e&&(ao(0,"div",null,34),Ao(2),lo()),2&e){const e=t.$implicit;Ui(2),Mo(" ",e," ")}}let Pm=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.DEPRECATIONS),this.getIdFromTitle=Jg,this.co
1deMap=nm,this.sectionTitles=["Introduction","Differences between View Engine and Ivy","Incremental DOM with Ivy","Enable Ivy for applications before v12","Reference"],this.referencesMap=new Map([["Upcoming improvements to Angular library distribution","https://blog.angular.io/upcoming-improvements-to-angular-library-distribution-76c02f782aa4"],["How to Upgrade Angular Packages and Enable the Ivy Compiler","https://dzone.com/articles/how-to-upgrade-angular-packagesenable-ivy-compiler"],['What are the reasons for adding angular postinstall "ngcc..." script in the project?',"https://stackoverflow.com/questions/62636918/what-are-the-reasons-for-adding-angular-postinstall-ngcc-script-in-the-proj"],["Content projection document","https://v12.angular.io/guide/content-projection"],["ngcc","https://v13.angular.io/guide/glossary#ngcc"],["From View Engine to Ivy: Rendering in Angular","https://browserperson.medium.com/from-view-engine-to-ivy-rendering-in-angular-a81d9eb8199b"],["Angular\u6846\u67b6\u89e3\u8bfb--Ivy\u7f16\u8bd1\u5668\u4e4b\u589e\u91cfDOM","https://godbasin.github.io/2021/12/05/angular-design-ivy-5-incremental-dom/"],["Understanding Angular Ivy: Incremental DOM and Virtual DOM","https://blog.nrwl.io/understanding-angular-ivy-incremental-dom-and-virtual-dom-243be844bf36"],["What is ngcc in Angular Ivy and why is it important?","https://iq.js.org/questions/angular/what-is-ngcc"]]),this.items=[],this.cnt=0}ngAfterViewInit(){this.cd.detectChanges()}add(){this.items.push(this.cnt++)}getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-deprecations"]],viewQuery:function(e,t){if(1&e&&(cl(Om,5,Qo),cl(Zg,5,Qo)),2&e){let e;ll(e=ul())&&(t.itemWrapper=e.first),ll(e=ul())&&(t.sections=e)}},decls:338,vars:16,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["href","https://profound-kangaroo-9db0c6.netlify.app/#/breaking-changes"],["key","enableIvy"],["key","tsconfigProdDrep"],["href","https://profound-kangaroo-9db0c6.netlify.app/#/deprecations"],["href","https://angular.io/api/core/ContentChildren"],["key","emitDistinctChangesOnlyUsage"],["key","emitDistinctChangesOnlyParentComponent"],["key","emitDistinctChangesOnlyParentTemplate"],["key","emitDistinctChangesOnlyChildComponent"],["key","emitDistinctChangesOnlyChildTemplate"],[1,"demo-container"],[3,"click"],["itemWrapper",""],[4,"ngFor","ngForOf"],["key","angularExampleTemplate"],["key","angularExampleComponent"],[1,"image-container"],["src","../../assets/image/view_engine.png","alt",""],["src","../../assets/image/ivy_alone.png","alt",""],["src","../../assets/image/double_fiber_tree.webp","alt",""],["href","https://medium.com/a-layman/react-to-angular-react-change-detection-vs-angular-change-detection-51f3fbd88361"],["src","../../assets/image/incremental_dom.png","alt",""],["href","https://dev.to/paco_ita/discover-iterative-dom-the-magic-behind-angular-ivy-4c6g"],["key","tsconfigDrep"],["href","https://angular.io/guide/aot-compiler"],["key","angularJsonDrep"],["key","ngcc"],["key","ngNew"],[1,"reference-container"],[3,"references"],["item",""]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," There are a few deprecations in v12. "),lo(),ao(7,"div",3),ao(8,"ol"),ao(9,"li"),ao(10,"div",3),Ao(11," v12 shows the deprecation warning message for IE 11. "),lo(),ao(12,"div",3),ao(13,"ul"),ao(14,"li"),ao(15,"div",3),Ao(16," In the future, "),ao(17,"a",4),Ao(18," v13 "),lo(),Ao(19," will stop supporting IE 11. "),lo(),lo(),lo(),lo(),lo(),ao(20,"li"),ao(21,"div",3),Ao(22," v12 moves closer to "),ao(23,"b"),Ao(24,"Ivy everywhere"),lo(),Ao(25,". "),lo(),ao(26,"div",3),ao(27,"ul"),ao(28,"li"),ao(29,"div",3),Ao(30," Before v12 (exclusive), Angular used "),ao(31,"b"),Ao(32,"View Engine"),lo(),Ao(33," as the default compiler. "),lo(),lo(),ao(34,"li"),ao(35,"div",3),ao(36,"div",3),Ao(37," After v9 (inclusive), we can use "),ao(38,"b"),Ao(39,"--enableIvy"),lo(),Ao(40," to enable "),ao(41,"b"),Ao(42,"Ivy"),lo(),Ao(43,". "),lo(),ao(44,"div",3),co(45,"app-code-container",5),lo(),lo(),lo(),ao(46,"li"),ao(47,"div",3),Ao(48," After v12 (inclusive), "),ao(49,"b"),Ao(50,"Ivy"),lo(),Ao(51," is enabled in new projects by default and the "),ao(52,"b"),Ao(53,"View Engine"),lo(),Ao(54," is deprecated. "),lo(),ao(55,"div",3),Ao(56," We don't need "),ao(57,"b"),Ao(58,"--enableIvy"),lo(),Ao(59," anymore but library developers could still disable "),ao(60,"b"),Ao(61,"Ivy"),lo(),Ao(62," if they're not ready yet. "),lo(),ao(63,"div",3),co(64,"app-code-container",6),lo(),lo(),ao(65,"li"),ao(66,"div",3),Ao(67," In the future, "),ao(68,"a",7),Ao(69," v13 "),lo(),Ao(70," will remove the "),ao(71,"b"),Ao(72,"View Engine"),lo(),Ao(73," and "),ao(74,"b"),Ao(75,"ngcc"),lo(),Ao(76,". "),ao(77,"b"),Ao(78,"(so-called Ivy everywhere)"),lo(),lo(),lo(),lo(),lo(),lo(),ao(79,"li"),ao(80,"div",3),Ao(81," Deprecate the "),ao(82,"b"),Ao(83,"emitDistinctChangesOnly"),lo(),Ao(84," option of "),ao(85,"a",8),Ao(86,"ContentChildren"),lo(),lo(),ao(87,"div",3),ao(88,"ul"),ao(89,"li"),ao(90,"div",3),Ao(91," Before, when the "),ao(92,"b"),Ao(93,"emitDistinctChangesOnly"),lo(),Ao(94," is false, the "),ao(95,"b"),Ao(96,"change observable"),lo(),Ao(97," will emit even if there is no change. "),lo(),ao(98,"div",3),co(99,"app-code-container",9),lo(),lo(),ao(100,"li"),ao(101,"div",3),Ao(102," In v12, the "),ao(103,"b"),Ao(104,"emitDistinctChangesOnly"),lo(),Ao(105," option is deprecated. "),lo(),ao(106,"div",3),Ao(107," In the following example, the child component won't print any logs until there is a item change. "),lo(),ao(108,"div",3),ao(109,"ul"),ao(110,"li"),ao(111,"div",3),Ao(112," Parent "),lo(),ao(113,"div",3),co(114,"app-code-container",10),lo(),ao(115,"div",3),co(116,"app-code-container",11),lo(),lo(),ao(117,"li"),ao(118,"div",3),Ao(119," Child "),lo(),ao(120,"div",3),co(121,"app-code-container",12),lo(),ao(122,"div",3),co(123,"app-code-container",13),lo(),lo(),lo(),lo(),lo(),ao(124,"li"),ao(125,"div",3),Ao(126," Please open the developer console. We won't see any logs until we click the add button. "),lo(),ao(127,"div",3),ao(128,"div",14),ao(129,"button",15),mo("click",function(){return t.add()}),Ao(130,"add"),lo(),ao(131,"app-deprecations-content-children",null,16),ro(133,Am,3,1,"div",17),lo(),lo(),lo(),lo(),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(134,"app-section-container"),ao(135,"div",1),Ao(136),lo(),ao(137,"div",2),ao(138,"div",3),co(139,"app-code-container",18),lo(),ao(140,"div",3),co(141,"app-code-container",19),lo(),ao(142,"div",3),ao(143,"ul"),ao(144,"li"),ao(145,"div",3),ao(146,"b"),Ao(147," View Engine (previous rendering and compilation pipeline) "),lo(),lo(),ao(148,"div",3),Ao(149," The workflow contains a few stages. "),lo(),ao(150,"div",3),ao(151,"ol"),ao(152,"li"),ao(153,"div",3),Ao(154," The view engine first uses the "),ao(155,"b"),Ao(156,"template HTMLs"),lo(),Ao(157," and "),ao(158,"b"),Ao(159,"TypeScript properties"),lo(),Ao(160," to generates "),ao(161,"b"),Ao(162,"template data"),lo(),Ao(163,"(bindings). "),lo(),lo(),ao(164,"li"),ao(165,"div",3),Ao(166," All "),ao(167,"b"),Ao(168,"template data"),lo(),Ao(169," will be re-evaluated when there is a "),ao(170,"b"),Ao(171,"change detection (so-called dirty-checking)"),lo(),Ao(172,". "),lo(),ao(173,"div",3),Ao(174," The updated "),ao(175,"b"),Ao(176,"template data"),lo(),Ao(177," will be marked as updated. "),lo(),lo(),ao(178,"li"),ao(179,"div",3),Ao(180," The "),ao(181,"b"),Ao(182,"interpreter"),lo(),Ao(183," will interprete the "),ao(184,"b"),Ao(185,"template data"),lo(),Ao(186," and transformed into "),ao(187,"b"),Ao(188,"DOM"),lo(),Ao(189,". "),lo(),ao(190,"div",3),Ao(191," It makes decisions on which operations to run. "),lo(),lo(),lo(),lo(),ao(192,"div",3),ao(193,"div",20),co(194,"img",21),lo(),lo(),ao(195,"div",3),Ao(196," (taken from ngConf-2018 keynote) "),lo(),lo(),ao(197,"li"),ao(198,"div",3),ao(199,"b"),Ao(200," Ivy (new render engine and compiler) "),lo(),lo(),ao(201,"div",3),Ao(202," The workflow contains a few stages. "),lo(),ao(203,"div",3),ao(204,"ol"),ao(205,"li"),ao(206,"div",3),Ao(207," Instead of generating template data and passing it into the interpreter, Ivy uses "),ao(208,"b"),Ao(209,"template HTMLs"),lo(),Ao(210," and "),ao(211,"b"),Ao(212,"TypeScript properties"),lo(),Ao(213," to generates a set of "),ao(214,"b"),Ao(215,"template instructions"),lo(),Ao(216,". "),lo(),lo(),ao(217,"li"),ao(218,"div",3),Ao(219," The "),ao(220,"b"),Ao(221,"template instructions"),lo(),Ao(222," are where the logic that instantiates components, creates DOM nodes, and runs change detection. "),lo(),ao(223,"div",3),Ao(224," The "),ao(225,"b"),Ao(226,"template instructions"),lo(),Ao(227," incrementally updates the real DOM in-place when data changes "),lo(),lo(),lo(),lo(),ao(228,"div",3),ao(229,"div",20),co(230,"img",22),lo(),lo(),ao(231,"div",3),Ao(232," (taken from ngConf-2018 keynote) "),lo(),lo(),ao(233,"li"),ao(234,"div",3),ao(235,"b"),Ao(236,"ngcc"),lo(),lo(),ao(237,"div",3),Ao(238," The ngcc is the way to compile "),ao(239,"b"),Ao(240,"View Engine"),lo(),Ao(241," libraries so that "),ao(242,"b"),Ao(243,"Ivy"),lo(),Ao(244," applications can consume them. "),lo(),lo(),lo(),lo(),lo(),lo(),ao(245,"app-section-container"),ao(246,"div",1),Ao(247),lo(),ao(248,"div",2),ao(249,"div",3),Ao(250," As we mentioned, the incremental DOM uses sets of "),ao(251,"b"),Ao(252,"template instructions"),lo(),Ao(253," for incrementally updating the real DOM in-place when data changes. "),lo(),ao(254,"div",3),Ao(255," Angular uses incremental DOM instead of virtual DOM (React 16 was changed to Fiber DOM). "),lo(),ao(256,"div",3),Ao(257," There are a few advantages of the incremental DOM. "),lo(),ao(258,"div",3),ao(259,"ol"),ao(260,"li"),ao(261,"div",3),ao(262,"b"),Ao(263,"Reduce memory allocation"),lo(),lo(),ao(264,"div",3),Ao(265," The incremental DOM will only be updated when there are changes to the DOM. It won\u2019t allocate additional memory if there are no changes. "),lo(),ao(266,"div",3),Ao(267," However, the React application keeps a "),ao(268,"b"),Ao(269,"workingProgress fiber tree"),lo(),Ao(270," and update it by diffing even though there is now new changes. "),lo(),ao(271,"div",3),Ao(272," After the new workinProgress fiber tree is completed, the current property of the fiberRootNode will point to the new workinProgress fiber tree. "),lo(),ao(273,"div",20),co(274,"img",23),lo(),ao(275,"div",3),Ao(276," (taken from "),ao(277,"a",24),Ao(278,"this reference"),lo(),Ao(279,") "),lo(),lo(),ao(280,"li"),ao(281,"div",3),ao(282,"b"),Ao(283,"Less bundle size - shakable tree"),lo(),lo(),ao(284,"div",3),Ao(285," In incremental DOM, a component will only be used when it references the "),ao(286,"b"),Ao(287,"template instruction"),lo(),Ao(288," generated through the "),ao(289,"b"),Ao(290,"@Directive"),lo(),Ao(291," like "),ao(292,"b"),Ao(293,"@Component"),lo(),Ao(294," directive. "),lo(),ao(295,"div",3),Ao(296," If a component does not reference an instruction, it will not be used and hence excluded from the bundle. "),lo(),ao(297,"div",3),ao(298,"div",20),co(299,"img",25),lo(),lo(),ao(300,"div",3),Ao(301," (taken from "),ao(302,"a",26),Ao(303,"this reference"),lo(),Ao(304,") "),lo(),lo(),lo(),lo(),lo(),lo(),ao(305,"app-section-container"),ao(306,"div",1),Ao(307),lo(),ao(308,"div",2),ao(309,"div",3),Ao(310," There are a few steps to enable Ivy before v12. "),lo(),ao(311,"div",3),ao(312,"ol"),ao(313,"li"),Ao(314,"Update the tsconfig.json "),ao(315,"div",3),co(316,"app-code-container",27),lo(),lo(),ao(317,"li"),Ao(318,"Update the angular.json to enable AOT "),ao(319,"a",28),Ao(320,"(Ahead-of-time compilation)"),lo(),ao(321,"div",3),co(322,"app-code-container",29),lo(),lo(),ao(323,"li"),Ao(324,"Update the package.json to install the ngcc "),ao(325,"div",3),co(326,"app-code-container",30),lo(),lo(),ao(327,"li"),ao(328,"div",3),Ao(329," Or we could just use the following command to enable Ivy for new applications. "),lo(),ao(330,"div",3),co(331,"app-code-container",31),lo(),lo(),lo(),lo(),lo(),lo(),ao(332,"app-section-container"),ao(333,"div",1),Ao(334),lo(),ao(335,"div",32),ao(336,"div",3),co(337,"app-reference-container",33),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(130),so("ngForOf",t.items),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(110),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(59),so("id",t.getIdFromTitle(t.sectionTitles[3])),Ui(1),Po(t.sectionTitles[3]),Ui(26),so("id",t.getIdFromTitle(t.sectionTitles[4])),Ui(1),Po(t.sectionTitles[4]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Em,Fc,Tm],styles:[".demo-container[_ngcontent-%COMP%]{border:none}"]}),e})();const Mm="https://www.linkedin.com/in/jen-hsuan-hsieh-6a13347a/",Rm="12";let Nm=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.DOCUMENTS),this.getIdFromTitle=Jg,this.sectionTitles=["Introduction","Official Document"],this.authorUrl=Mm,this.version=Rm,this.officialDocumentsMap=new Map([["Angular v12 is now Available (Angular blog)","https://blog.angular.io/angular-v12-is-now-available-32ed51fbfd49"],["Angular Doc v12","https://v12.angular.io/docs"]])}ngAfterViewInit(){this.cd.detectChanges()}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-documents"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:31,vars:11,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["routerLink","/home"],[1,"tem"],[3,"href"],["id","document",1,"description-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6),lo(),ao(7,"div",3),ao(8,"ul"),ao(9,"li"),ao(10,"div",3),Ao(11," The purpose is to reproduce the features, deprecations, and breaking changes easily. "),lo(),lo(),ao(12,"li"),ao(13,"div",3),Ao(14," For the advanced reading, it's recommended to check documents in later versions or the timeline from the "),ao(15,"a",4),Ao(16,"home"),lo(),Ao(17," page. "),lo(),lo(),ao(18,"li"),ao(19,"div",5),Ao(20," Feel free to reach out to me if you have any questions or suggestions. "),ao(21,"a",6),Ao(22,"(contact me)"),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(23,"app-section-container"),ao(24,"div",1),Ao(25),lo(),ao(26,"div",7),ao(27,"div",3),Ao(28," This document is mainly inspired by the following materials. "),lo(),ao(29,"div",3),co(30,"app-reference-container",8),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(3),Mo(" This document is built based on Angular ",t.version,". "),Ui(15),so("href",t.authorUrl,$r),Ui(3),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(5),so("references",t.officialDocumentsMap))},directives:[em,Zg,Kp,Tm],styles:["#document[_ngcontent-%COMP%]{width:27em}"]}),e})();const jm={name:"light",properties:{"--foreground-default":"#08090a","--foreground-secondary":"oklch(97.12% .002 325.59)","--foreground-active":"oklch(51.74% .25453048882711515 315.26261625862725)","--foreground-quaternary":"#2b2828","--foreground-light":"#7c7676","--background-default":"#fff","--primary-default":"#8
1c8a8a","--logo":"../assets/image/angular-logo.png"}},Lm={name:"dark",properties:{"--foreground-default":"#fff","--foreground-secondary":"oklch(97.12% .002 325.59)","--foreground-active":"oklch(51.74% .25453048882711515 315.26261625862725)","--foreground-quaternary":"#2b2828","--foreground-light":"#fff","--background-default":"#000","--primary-default":"#cecece","--logo":"../assets/image/angular-logo-dark.png"}};var Fm=(()=>(function(e){e.light="light",e.dark="dark"}(Fm||(Fm={})),Fm))();const Dm="theme";let Um=(()=>{class e{constructor(){this.currentThemeType=Fm.light,this.themeFuncMap=new Map([[Fm.light,()=>this.setCurrentTheme(jm)],[Fm.dark,()=>this.setCurrentTheme(Lm)]]),this.themeSubject=new Ou(Fm.light),this.theme$=this.themeSubject.asObservable()}getCurrentThemeType(){return this.getThemeTypeToLocalStorage()||this.currentThemeType}setCurrentThemeType(e){this.currentThemeType=e}getNextThemeType(){const e=[...this.themeFuncMap.keys()];let t=e.findIndex(e=>e===this.currentThemeType)+1;return t>=e.length&&(t=0),t<0&&(t=e.length-1),e[t]}setThemeByThemeType(e){let t=this.themeFuncMap.get(e);t&&t()}setCurrentTheme(e){let t=e.name;this.setCurrentThemeType(e.name),this.setThemeTypeToLocalStorage(this.currentThemeType),Object.keys(e.properties).forEach(t=>{document.documentElement.style.setProperty(t,e.properties[t])}),this.themeSubject.next(t)}setThemeTypeToLocalStorage(e){localStorage.setItem(Dm,e)}getThemeTypeToLocalStorage(){return localStorage.getItem(Dm)||this.currentThemeType}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Hm(e,t){if(1&e&&(ao(0,"li"),ao(1,"a",12),Ao(2),lo(),lo()),2&e){const e=t.$implicit;Ui(1),so("href",e.value,$r),Ui(1),Mo(" ",e.key," ")}}let zm=(()=>{class e{constructor(e,t){this.router=e,this.themeService=t,this.title=Hv.get(Dv.HOME),this.timelineUrl="https://daily-learning.herokuapp.com/note/angularNote",this.version=Rm,this.currentImage="",this.authorUrl=Mm,this.urlMap=new Map([["Notes of Angular v13","https://profound-kangaroo-9db0c6.netlify.app/"],["Notes of Angular v14","https://glistening-cupcake-ead467.netlify.app/"],["Notes of Angular v15","https://verdant-fenglisu-1b7a2d.netlify.app/"],["Notes of Angular v16","https://marvelous-gnome-0802fa.netlify.app/"],["Notes of Angular v17","https://chimerical-cocada-121bf6.netlify.app/"]]),this.themeImageMap=new Map([[Fm.light,"../assets/image/angular-logo.png"],[Fm.dark,"../assets/image/angular-logo-dark.png"]]),this.themeService.theme$.subscribe(e=>{let t=this.themeImageMap.get(e);t&&(this.currentImage=t)})}firstPage(){const e=[...Uv.keys()];this.router.navigate([e[1]])}}return e.\u0275fac=function(t){return new(t||e)(io(Jp),io(Um))},e.\u0275cmp=De({type:e,selectors:[["app-home"]],decls:27,vars:7,consts:[[1,"home-container"],[1,"item-container"],[1,"title-container"],[1,"image-container"],["alt","",3,"src"],[1,"title"],[1,"button-container"],[3,"click"],[1,"history-container"],[1,"histories"],[4,"ngFor","ngForOf"],[1,"timeline-container"],[3,"href"],[1,"footer-container"]],template:function(e,t){1&e&&(ao(0,"div",0),ao(1,"div",1),ao(2,"div",2),ao(3,"div",3),co(4,"img",4),lo(),ao(5,"div",5),Ao(6),lo(),lo(),ao(7,"div",6),ao(8,"button",7),mo("click",function(){return t.firstPage()}),Ao(9,"Get Started"),lo(),lo(),ao(10,"div",8),ao(11,"div",5),Ao(12," You may also want to check notes of different versions. "),lo(),ao(13,"div",9),ao(14,"ul"),ro(15,Hm,3,2,"li",10),Ga(16,"keyvalue"),lo(),lo(),lo(),ao(17,"div",11),Ao(18," Or check the "),ao(19,"a",12),Ao(20," timeline "),lo(),lo(),ao(21,"div",13),ao(22,"div"),Ao(23," Curated by "),ao(24,"a",12),Ao(25,"Jen-hsuan Hsieh (Sean)"),lo(),Ao(26," \xa9 2024 - 2034 "),lo(),lo(),lo(),lo()),2&e&&(Ui(4),so("src",t.currentImage,$r),Ui(2),Mo(" ",t.title," "),Ui(9),so("ngForOf",Qa(16,5,t.urlMap)),Ui(4),so("href",t.timelineUrl,$r),Ui(5),so("href",t.authorUrl,$r))},directives:[Fc],pipes:[Vc],styles:[".home-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;overflow-x:hidden;overflow-y:hidden}.home-container[_ngcontent-%COMP%], .home-container[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%]{width:100%;font-family:Inter Tight,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.home-container[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%]{color:var(--primary-default);height:13em;line-height:13em;text-align:end;font-size:.9em}.home-container[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:5em;margin-bottom:4em}.home-container[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:2.5em;padding:0 2em;font-size:1.2em;color:var(--foreground-default);background-color:var(--background-default);border:1px solid var(--foreground-active);border-radius:.3em;cursor:pointer;transition:background 1s}.home-container[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{color:var(--background-gray);opacity:.9;background-color:var(--foreground-active)}
1.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%]{position:relative;color:var(--foreground-light);min-width:30em}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .timeline-container[_ngcontent-%COMP%]{font-size:1em;font-family:Arial,Helvetica,sans-serif;display:flex;justify-content:center}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .timeline-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--foreground-light);margin-left:.3em}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%]{position:relative;display:flex;margin-top:10em;justify-content:center}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding-left:1.5em}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:6em;height:6em;line-height:6em;margin-right:.5em}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:3.5em;line-height:3.5em;font-family:Arial,Helvetica,sans-serif;width:calc(100% - 6em);min-width:10em;overflow-x:hidden}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .history-container[_ngcontent-%COMP%]{position:relative}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .history-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-family:Arial,Helvetica,sans-serif;font-size:1em;margin:.2em}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .history-container[_ngcontent-%COMP%] .histories[_ngcontent-%COMP%]{font-family:Arial,Helvetica,sans-serif;display:flex;justify-content:center}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .history-container[_ngcontent-%COMP%] .histories[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{list-style-type:none;padding-left:0;cursor:pointer;color:var(--foreground-light)}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .history-container[_ngcontent-%COMP%] .histories[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--foreground-light);font-size:1em;text-decoration:none}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .history-container[_ngcontent-%COMP%] .histories[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--foreground-default)}@media screen and (max-width: 700px){.home-container[_ngcontent-%COMP%] .footer-container[_ngcontent-%COMP%]{display:flex;justify-content:center}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:3em;height:3em}.home-container[_ngcontent-%COMP%] .item-container[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5em}}"]}),e})();class Vm{}class $m{}class Bm{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(e=>{const t=e.indexOf(":");if(t>0){const n=e.slice(0,t),r=n.toLowerCase(),i=e.slice(t+1).trim();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(i):this.headers.set(r,[i])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let n=e[t];const r=t.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(r,n),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Bm?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e
vendor: 14,958 bytes, line 1
1=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Bm;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Bm?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let n=e.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...n),this.headers.set(t,r);break;case"d":const i=e.value;if(i){let e=this.headers.get(t);if(!e)return;e=e.filter(e=>-1===i.indexOf(e)),0===e.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,e)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class qm{encodeKey(e){return Wm(e)}encodeValue(e){return Wm(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}function Wm(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function Gm(e){return`${e}`}class Qm{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new qm,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(e,t){const n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(e=>{const r=e.indexOf("="),[i,s]=-1==r?[t.decodeKey(e),""]:[t.decodeKey(e.slice(0,r)),t.decodeValue(e.slice(r+1))],o=n.get(i)||[];o.push(s),n.set(i,o)}),n}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const n=e.fromObject[t];this.map.set(t,Array.isArray(n)?n:[n])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(n=>{const r=e[n];Array.isArray(r)?r.forEach(e=>{t.push({param:n,value:e,op:"a"})}):t.push({param:n,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(e=>t+"="+this.encoder.encodeValue(e)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Qm({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(Gm(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let t=this.map.get(e.param)||[];const n=t.indexOf(Gm(e.value));-1!==n&&t.splice(n,1),t.length>0?this.map.set(e.param,t):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Ym{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}keys(){return this.map.keys()}}function Zm(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer}function Jm(e){return"undefined"!=typeof Blob&&e instanceof Blob}function Km(e){return"undefined"!=typeof FormData&&e instanceof FormData}class Xm{constructor(e,t,n,r){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,i=r):i=n,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 Bm),this.context||(this.context=new Ym),this.params){const e=this.params.toString();if(0===e.length)this.urlWithParams=t;else{const n=t.indexOf("?");this.urlWithParams=t+(-1===n?"?":n<t.length-1?"&":"")+e}}else this.params=new Qm,this.urlWithParams=t}serializeBody(){return null===this.body?null:Zm(this.body)||Jm(this.body)||Km(this.body)||"undefined"!=typeof URLSearchParams&&this.body instanceof URLSearchParams||"string"==typeof this.body?this.body:this.body instanceof Qm?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||Km(this.body)?null:Jm(this.body)?this.body.type||null:Zm(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof Qm?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(e={}){var t;const n=e.method||this.method,r=e.url||this.url,i=e.responseType||this.responseType,s=void 0!==e.body?e.body:this.body,o=void 0!==e.withCredentials?e.withCredentials:this.withCredentials,a=void 0!==e.reportProgress?e.reportProgress:this.reportProgress;let l=e.headers||this.headers,c=e.params||this.params;const u=null!==(t=e.context)&&void 0!==t?t:this.context;return void 0!==e.setHeaders&&(l=Object.keys(e.setHeaders).reduce((t,n)=>t.set(n,e.setHeaders[n]),l)),e.setParams&&(c=Object.keys(e.setParams).reduce((t,n)=>t.set(n,e.setParams[n]),c)),new Xm(n,r,s,{params:c,headers:l,context:u,reportProgress:a,responseType:i,withCredentials:o})}}var ev=(()=>((ev=ev||{})[ev.Sent=0]="Sent",ev[ev.UploadProgress=1]="UploadProgress",ev[ev.ResponseHeader=2]="ResponseHeader",ev[ev.DownloadProgress=3]="DownloadProgress",ev[ev.Response=4]="Response",ev[ev.User=5]="User",ev))();class tv{constructor(e,t=200,n="OK"){this.headers=e.headers||new Bm,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||n,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class nv extends tv{constructor(e={}){super(e),this.type=ev.ResponseHeader}clone(e={}){return new nv({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class rv extends tv{constructor(e={}){super(e),this.type=ev.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new rv({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class iv extends tv{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function sv(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 ov=(()=>{class e{constructor(e){this.handler=e}request(e,t,n={}){let r;if(e instanceof Xm)r=e;else{let i,s;i=n.headers instanceof Bm?n.headers:new Bm(n.headers),n.params&&(s=n.params instanceof Qm?n.params:new Qm({fromObject:n.params})),r=new Xm(e,t,void 0!==n.body?n.body:null,{headers:i,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const i=Eu(r).pipe(ih(e=>this.handler.handle(e)));if(e instanceof Xm||"events"===n.observe)return i;const s=i.pipe(Ku(e=>e instanceof rv));switch(n.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return s.pipe(k(e=>{if(null!==e.body&&!(e.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return e.body}));case"blob":return s.pipe(k(e=>{if(null!==e.body&&!(e.body instanceof Blob))throw new Error("Response is not a Blob.");return e.body}));case"text":return s.pipe(k(e=>{if(null!==e.body&&"string"!=typeof e.body)throw new Error("Response is not a string.");return e.body}));case"json":default:return s.pipe(k(e=>e.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(e,t={}){return this.request("DELETE",e,t)}get(e,t={}){return this.request("GET",e,t)}head(e,t={}){return this.request("HEAD",e,t)}jsonp(e,t){return this.request("JSONP",e,{params:(new Qm).append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,t={}){return this.request("OPTIONS",e,t)}patch(e,t,n={}){return this.request("PATCH",e,sv(n,t))}post(e,t,n={}){return this.request("POST",e,sv(n,t))}put(e,t,n={}){return this.request("PUT",e,sv(n,t))}}return e.\u0275fac=function(t){return new(t||e)(Xn(Vm))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();class av{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const lv=new jn("HTTP_INTERCEPTORS");let cv=(()=>{class e{intercept(e,t){return t.handle(e)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const uv=/^\)\]\}',?\n/;let hv=(()=>{class e{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new y(t=>{const n=this.xhrFactory.build();if(n.open(e.method,e.urlWithParams),e.withCredentials&&(n.withCredentials=!0),e.headers.forEach((e,t)=>n.setRequestHeader(e,t.join(","))),e.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const t=e.detectContentTypeHeader();null!==t&&n.setRequestHeader("Content-Type",t)}if(e.responseType){const t=e.responseType.toLowerCase();n.responseType="json"!==t?t:"text"}const r=e.serializeBody();let i=null;const s=()=>{if(null!==i)return i;const t=1223===n.status?204:n.status,r=n.statusText||"OK",s=new Bm(n.getAllResponseHeaders()),o=function(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(n)||e.url;return i=new nv({headers:s,status:t,statusText:r,url:o}),i},o=()=>{let{headers:r,status:i,statusText:o,url:a}=s(),l=null;204!==i&&(l=void 0===n.response?n.responseText:n.response),0===i&&(i=l?200:0);let c=i>=200&&i<300;if("json"===e.responseType&&"string"==typeof l){const e=l;l=l.replace(uv,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=e,c&&(c=!1,l={error:u,text:l})}}c?(t.next(new rv({body:l,headers:r,status:i,statusText:o,url:a||void 0})),t.complete()):t.error(new iv({error:l,headers:r,status:i,statusText:o,url:a||void 0}))},a=e=>{const{url:r}=s(),i=new iv({error:e,status:n.status||0,statusText:n.statusText||"Unknown Error",url:r||void 0});t.error(i)};let l=!1;const c=r=>{l||(t.next(s()),l=!0);let i={type:ev.DownloadProgress,loaded:r.loaded};r.lengthComputable&&(i.total=r.total),"text"===e.responseType&&n.responseText&&(i.partialText=n.responseText),t.next(i)},u=e=>{let n={type:ev.UploadProgress,loaded:e.loaded};e.lengthComputable&&(n.total=e.total),t.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),e.reportProgress&&(n.addEventListener("progress",c),null!==r&&n.upload&&n.upload.addEventListener("progress",u)),n.send(r),t.next({type:ev.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),e.reportProgress&&(n.removeEventListener("progress",c),null!==r&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return e.\u0275fac=function(t){return new(t||e)(Xn(Qc))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const dv=new jn("XSRF_COOKIE_NAME"),pv=new jn("XSRF_HEADER_NAME");class fv{}let gv=(()=>{class e{constructor(e,t,n){this.doc=e,this.platform=t,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Nc(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return e.\u0275fac=function(t){return new(t||e)(Xn(pc),Xn(wl),Xn(dv))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),mv=(()=>{class e{constructor(e,t){this.tokenService=e,this.headerName=t}intercept(e,t){const n=e.url.toLowerCase();if("GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t.handle(e);const r=this.tokenService.getToken();return null===r||e.headers.has(this.headerName)||(e=e.clone({headers:e.headers.set(this.headerName,r)})),t.handle(e)}}return e.\u0275fac=function(t){return new(t||e)(Xn(fv),Xn(pv))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),vv=(()=>{class e{constructor(e,t){this.backend=e,this.injector=t,this.chain=null}handle(e){if(null===this.chain){const e=this.injector.get(lv,[]);this.chain=e.reduceRight((e,t)=>new av(e,t),this.backend)}return this.chain.handle(e)}}return e.\u0275fac=function(t){return new(t||e)(Xn($m),Xn(Qs))},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})(),yv=(()=>{class e{static disable(){return{ngModule:e,providers:[{provide:mv,useClass:cv}]}}static withOptions(t={}){return{ngModule:e,providers:[t.cookieName?{provide:dv,useValue:t.cookieName}:[],t.headerName?{provide:pv,useValue:t.headerName}:[]]}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({providers:[mv,{provide:lv,useExisting:mv,multi:!0},{provide:fv,useClass:gv},{provide:dv,useValue:"XSRF-TOKEN"},{provide:pv,useValue:"X-XSRF-TOKEN"}]}),e})(),bv=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({providers:[ov,{provide:Vm,useClass:vv},hv,{provide:$m,useExisting:hv}],imports:[[yv.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),e})();const wv=new class{constructor(e){this.defaultValue=e}}(()=>!1),_v="Copyright@Sean Hsieh 2023";let Cv=(()=>{class e{constructor(e){this.http=e}exportPdfFromServer(e,t){const n="<style> h1 { font-size:20px; margin-left:50px;}</style>";return this.http.post("pdf/remote",{path:e,pdfOptions:{format:"A2",landscape:!0,printBackgroun
1d:!0,displayHeaderFooter:!0,headerTemplate:`${n}<h1>${_v}</h1>`,footerTemplate:`${n}<h1>${_v}</h1>`,margin:{top:"100px",bottom:"200px",right:"30px",left:"30px"}},styleTagOptions:{content:".export {display: none}"}},{responseType:"blob",context:(new Ym).set(wv,t)}).pipe(vh(t=>{const n=new Blob([t],{type:"application/pdf"}),r=document.createElement("a");r.href=window.URL.createObjectURL(n),r.download=`${e}.pdf`,r.click()}))}}return e.\u0275fac=function(t){return new(t||e)(Xn(ov))},e.\u0275prov=ae({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Tv(e,t){if(1&e&&(ao(0,"li"),ao(1,"div",1),Ao(2),lo(),lo()),2&e){const e=t.$implicit;Ui(2),Mo(" ",e," ")}}function Sv(e,t){1&e&&(ao(0,"div",1),Ao(1," None "),lo())}function xv(e,t){if(1&e&&(ao(0,"li"),ao(1,"div",1),Ao(2),lo(),lo()),2&e){const e=t.$implicit;Ui(2),Mo(" ",e," ")}}function kv(e,t){1&e&&(ao(0,"div",1),Ao(1," None "),lo())}let Iv=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-evaluation-container"]],inputs:{pros:"pros",cons:"cons"},decls:17,vars:4,consts:[[1,"description-container"],[1,"item"],[4,"ngFor","ngForOf"],["class","item",4,"ngIf"]],template:function(e,t){1&e&&(ao(0,"div",0),ao(1,"div",1),Ao(2," It's the personal opinion from the author. "),lo(),ao(3,"div",1),ao(4,"b"),Ao(5,"Pros"),lo(),lo(),ao(6,"div",1),ao(7,"ol"),ro(8,Tv,3,1,"li",2),lo(),lo(),ro(9,Sv,2,0,"div",3),ao(10,"div",1),ao(11,"b"),Ao(12,"Cons"),lo(),lo(),ao(13,"div",1),ao(14,"ol"),ro(15,xv,3,1,"li",2),lo(),lo(),ro(16,kv,2,0,"div",3),lo()),2&e&&(Ui(8),so("ngForOf",t.pros),Ui(1),so("ngIf",0===t.pros.length),Ui(6),so("ngForOf",t.cons),Ui(1),so("ngIf",0===t.cons.length))},directives:[Fc,Uc],styles:[""]}),e})();const Ev=["/"];let Ov=(()=>{class e{constructor(e,t){this.service=e,this.cd=t,this.title=Hv.get(Dv.HTTP_CONTEXT),this.getIdFromTitle=Jg,this.codeMap=nm,this.sectionTitles=["Introduction","Pass Metadata to Interceptors","Demo","Evaluation","Reference"],this.pros=["With the feature, we are able to customize the interceptor in the elegant way. We don't have to pass the flag from the URL or by using other tricky methods anymore."],this.cons=[],this.referencesMap=new Map([["Bypass Angular Interceptors with Request Metadata","https://itnext.io/bypass-angular-interceptors-with-request-metadata-cf28061cda69"],["[Angular \u9032\u968e\u8b70\u984c]\u4f7f\u7528HttpInterceptort\u70baHttpCl
1ient Request\u6253\u9ede\u524d\u5f8c\u5927\u5c0f\u4e8b","https://fullstackladder.dev/blog/2017/10/29/angular-advanced-handle-http-request-with-interceptor/"],["\u4f7f\u7528 HttpContext \u50b3\u905e\u8cc7\u6599\u7d66 HttpInterceptor","https://fullstackladder.dev/blog/2021/11/07/using-http-context-passing-data-to-http-interceptor/"]])}ngAfterViewInit(){this.cd.detectChanges()}printFromServer(e){Nu(Ev.map(t=>this.service.exportPdfFromServer(t,e))).subscribe()}getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(Cv),io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-http-context"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:107,vars:17,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["key","legacyInterceptor"],["href","https://github.com/angular/angular/pull/25751"],["href","https://angular.io/api/common/http/HttpContextToken"],["key","httpContextToken"],["key","newInterceptor"],["key","importToAppModule"],["key","httpService"],[1,"demo-container"],[1,"button-container"],[1,"export",3,"click"],[3,"pros","cons"],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," Before v12, there is no way to configure interceptors in HttpClient on a "),ao(7,"b"),Ao(8,"per-request basis"),lo(),Ao(9,". "),lo(),ao(10,"div",3),Ao(11," For example, there is an interceptor to alert the error message when the status code of the response is 404. "),lo(),ao(12,"div",3),ao(13,"ul"),ao(14,"li"),Ao(15," This interceptor will apply to response of all requests afer it's imported from the app.module.ts. "),lo(),ao(16,"li"),Ao(17," What if we want to bypass this alert for some requests? "),lo(),lo(),lo(),ao(18,"div",3),co(19,"app-code-container",4),lo(),lo(),lo(),ao(20,"app-section-container"),ao(21,"div",1),Ao(22),lo(),ao(23,"div",2),ao(24,"div",3),Ao(25," In v12, we are able to customize "),ao(26,"b"),Ao(27,"HttpInterceptor"),lo(),Ao(28," by passing data through "),ao(29,"b"),Ao(30,"HttpContextToken"),lo(),ao(31,"a",5),Ao(32,"(pull request)"),lo(),Ao(33,". "),lo(),ao(34,"div",3),Ao(35," There are a few steps to pass metadata to the interceptor. "),lo(),ao(36,"div",3),ao(37,"ol"),ao(38,"li"),ao(39,"div",3),Ao(40,"Create a "),ao(41,"a",6),Ao(42," HttpContextToken "),lo(),Ao(43," for passing a boolean flag to the interceptor. "),lo(),ao(44,"div",3),ao(45,"ul"),ao(46,"li"),ao(47,"div",3),Ao(48," The return value of the callback functon is the default value of the HttpContextToken. "),lo(),lo(),lo(),lo(),ao(49,"div",3),co(50,"app-code-container",7),lo(),lo(),ao(51,"li"),ao(52,"div",3),Ao(53," Create a new interceptor. "),lo(),ao(54,"div",3),ao(55,"ul"),ao(56,"li"),ao(57,"div",3),Ao(58," Throw the error directly if the value of the HttpContextToken is true. It means that we want to by pass the alert. "),lo(),lo(),lo(),lo(),ao(59,"div",3),co(60,"app-code-container",8),lo(),lo(),ao(61,"li"),ao(62,"div",3),Ao(63,"Import the interceptor in the app.module.ts."),lo(),ao(64,"div",3),ao(65,"ul"),ao(66,"li"),ao(67,"div",3),Ao(68," This interceptor will effect in the application scope. "),lo(),lo(),lo(),lo(),ao(69,"div",3),co(70,"app-code-container",9),lo(),lo(),ao(71,"li"),ao(72,"div",3),Ao(73,"Update the HTTP service for the component level."),lo(),ao(74,"div",3),ao(75,"ul"),ao(76,"li"),ao(77,"div",3),Ao(78," Pass the HttpContextToken to the HttpClient. "),lo(),lo(),ao(79,"li"),ao(80,"div",3),Ao(81," Set the value to the HttpContextToken. "),lo(),lo(),lo(),lo(),ao(82,"div",3),co(83,"app-code-container",10),lo(),lo(),lo(),lo(),lo(),lo(),ao(84,"app-section-container"),ao(85,"div",1),Ao(86),lo(),ao(87,"div",11),ao(88,"div",3),Ao(89," Please click the following buttons to see if there is any difference. "),lo(),ao(90,"div",3),ao(91,"div",12),ao(92,"button",13),mo("click",function(){return t.printFromServer(!0)}),Ao(93," Export PDF from server "),lo(),lo(),ao(94,"div",12),ao(95,"button",13),mo("click",function(){return t.printFromServer(!1)}),Ao(96," Export PDF from server (alert) "),lo(),lo(),lo(),lo(),lo(),ao(97,"app-section-container"),ao(98,"div",1),Ao(99),lo(),co(100,"app-evaluation-container",14),lo(),ao(101,"app-section-container"),ao(102,"div",1),Ao(103),lo(),ao(104,"div",15),ao(105,"div",3),co(106,"app-reference-container",16),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(18),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(63),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(12),so("id",t.getIdFromTitle(t.sectionTitles[3])),Ui(1),Po(t.sectionTitles[3]),Ui(1),so("pros",t.pros)("cons",t.cons),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[4])),Ui(1),Po(t.sectionTitles[4]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Iv,Tm],styles:[".button-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-bottom:.1em}.button-container[_ngcontent-%COMP%] .export[_ngcontent-%COMP%]{font-size:.8em}"]}),e})(),Av=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.I18N_TRANSITION),this.getIdFromTitle=Jg,this.sectionTitles=["Issue","New Change","Reference"],this.referencesMap=new Map([["Migrating legacy localization IDs","https://v12.angular.io/guide/migration-legacy-message-id"],["Add the localize package","https://angular.io/guide/i18n-common-add-package"],["\u89e3\u51b3\u4f7f\u7528zsh\u4e2dno matches found: *\u7684\u95ee\u9898","https://blog.csdn.net/qfpkzheng/article/details/120231185"]]),this.codeMap=nm}ngAfterViewInit(){this.cd.detectChanges()}
1getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-i18n-transition"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:61,vars:11,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["key","prepareLocalization"],["key","generateJson"],["key","migration"],["key","zshAdd"],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," The legacy "),ao(7,"b"),Ao(8,"internationalization (i18n) message ID"),lo(),Ao(9," is not stable when there are insignificant changes, such as whitespace. "),lo(),lo(),lo(),ao(10,"app-section-container"),ao(11,"div",1),Ao(12),lo(),ao(13,"div",2),ao(14,"div",3),Ao(15," For unmatched translations, the new message ID provides the following benefits. "),lo(),ao(16,"div",3),ao(17,"ul"),ao(18,"li"),ao(19,"div",3),Ao(20," It will reduce the "),ao(21,"b"),Ao(22,"unnecessary translation invali
1dation"),lo(),Ao(23,". "),lo(),lo(),ao(24,"li"),ao(25,"div",3),Ao(26," It will reduce the "),ao(27,"b"),Ao(28,"associated retranslation cost"),lo(),Ao(29,". "),lo(),lo(),lo(),lo(),ao(30,"div",3),ao(31,"b"),Ao(32,"Migration steps"),lo(),lo(),ao(33,"div",3),Ao(34," For new projects after v12 (inclusive), they will use the new message IDs by default. "),lo(),ao(35,"div",3),Ao(36," For legacy applications, the ng cli can help to migrate to ID from the latest algorithm. "),lo(),ao(37,"div",3),ao(38,"ol"),ao(39,"li"),Ao(40,"Install the localize package if it's not installled yet. "),ao(41,"div",3),co(42,"app-code-container",4),lo(),lo(),ao(43,"li"),Ao(44,"Generate the migration file with the following command. "),ao(45,"div",3),co(46,"app-code-container",5),lo(),lo(),ao(47,"li"),Ao(48,"Update the IDs according to the migration file with the following command. "),ao(49,"div",3),co(50,"app-code-container",6),lo(),lo(),ao(51,"li"),Ao(52,'If the terminal show "zsh: no matches found: --files=*.xlf", append the following line to the ~/.zshrc file '),ao(53,"div",3),co(54,"app-code-container",7),lo(),lo(),lo(),lo(),lo(),lo(),ao(55,"app-section-container"),ao(56,"div",1),Ao(57),lo(),ao(58,"div",8),ao(59,"div",3),co(60,"app-reference-container",9),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(8),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(44),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Tm],styles:[""]}),e})(),Pv=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.LANGUAGE_SERVICE),this.getIdFromTitle=Jg,this.sectionTitles=["Introduction","New Feature","Old Features","Reference"],this.referencesMap=new Map([["Angular Language Service with Ivy! | #ngUpdate","https://www.youtube.com/watch?v=doVYC32hjIw"]])}ngAfterViewInit(){this.cd.detectChanges()}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-language-service"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:56,vars:11,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],[1,"image-container"],["src","../../assets/image/language_service_plugin.png","alt",""],["src","../../assets/image/references.png","alt",""],["src","../../assets/image/highlight.png","alt",""],["src","../../assets/image/peek_definition.png","alt",""],["src","../../assets/image/hover_type.png","alt",""],["id","reference","title","",1,"title"],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," Angular language service is an IDE extension that allows code editors to get helpful tips, code completion navigation. "),lo(),ao(7,"div",3),Ao(8," In v12, they unleash the power of Ivy to help boost developer velocity when using language service plugin. "),lo(),ao(9,"div",3),ao(10,"ul"),ao(11,"li"),ao(12,"div",3),Ao(13,' Install the language service plugin: Extensions -> Search "language service" '),lo(),ao(14,"div",4),co(15,"img",5),lo(),lo(),lo(),lo(),lo(),lo(),ao(16,"app-section-container"),ao(17,"div",1),Ao(18),lo(),ao(19,"div",2),ao(20,"div",3),Ao(21," Be able to check the symbol references from the template directly "),lo(),ao(22,"div",4),co(23,"img",6),lo(),lo(),lo(),ao(24,"app-section-container"),ao(25,"div",1),Ao(26),lo(),ao(27,"div",2),ao(28,"div",3),ao(29,"ol"),ao(30,"li"),ao(31,"div",3),ao(32,"b"),Ao(33,"Syntax highlighting"),lo(),lo(),ao(34,"div",3),Ao(35," Highlight the syntax in the template. "),lo(),ao(36,"div",4),co(37,"img",7),lo(),lo(),ao(38,"li"),ao(39,"div",3),ao(40,"b"),Ao(41," Go to/Peek definition "),lo(),lo(),ao(42,"div",4),co(43,"img",8),lo(),lo(),ao(44,"li"),ao(45,"div",3),ao(46,"b"),Ao(47," Type detail on hover "),lo(),lo(),ao(48,"div",4),co(49,"img",9),lo(),lo(),lo(),lo(),lo(),lo(),ao(50,"app-section-container"),ao(51,"div",10),Ao(52,"Reference"),lo(),ao(53,"div",11),ao(54,"div",3),co(55,"app-reference-container",12),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(14),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(7
1),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(29),so("references",t.referencesMap))},directives:[em,Zg,Tm],styles:[""]}),e})(),Mv=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.MIGRATIONS),this.getIdFromTitle=Jg,this.version=Rm,this.sectionTitles=["Introduction","Official Migration Guide","Reference"],this.referencesMap=new Map([["Angular Update Guide","https://update.angular.io/?v=11.0-12.0"]])}ngAfterViewInit(){this.cd.detectChanges()}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-migrations"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:48,vars:13,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["key","instruction"],["key","updateInstruction"],["routerLink","/breaking-changes"],["routerLink","/deprecations"],["href","https://update.angular.io/?v=11.0-12.0"],[1,"image-container"],["src","../../assets/image/migration_guide.png","alt",""],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6),lo(),ao(7,"div",3),co(8,"app-code-container",4),lo(),ao(9,"div",3),Ao(10),lo(),ao(11,"div",3),ao(12,"ol"),ao(13,"li"),ao(14,"div",3),Ao(15," Upgrade the application with ng update. "),lo(),ao(16,"div",3),co(17,"app-code-container",5),lo(),lo(),ao(18,"li"),ao(19,"div",3),Ao(20," Check the "),ao(21,"a",6),Ao(22,"Breaking Changes"),lo(),Ao(23," topic. "),lo(),lo(),ao(24,"li"),ao(25,"div",3),Ao(26," Check the "),ao(27,"a",7),Ao(28,"Deprecations"),lo(),Ao(29," topic. "),lo(),lo(),lo(),lo(),lo(),lo(),ao(30,"app-section-container"),ao(31,"div",1),Ao(32),lo(),ao(33,"div",2),ao(34,"div",3),Ao(35," Please also refer to the "),ao(36,"a",8),Ao(37,"official migration guide"),lo(),Ao(38," if you need more details. "),lo(),ao(39,"div",3),ao(40,"div",9),co(41,"img",10),lo(),lo(),lo(),lo(),ao(42,"app-section-container"),ao(43,"div",1),Ao(44),lo(),ao(45,"div",11),ao(46,"div",3),co(47,"app-reference-container",12),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(3),Mo(" There is a command to create a new project in v",t.version," no matter what's the version of the global ng-cli locally. "),Ui(4),Mo(" There are a few steps to upgrade existing projects to v",t.version,". "),Ui(21),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(11),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Kp,Tm],styles:[""]}),e})(),Rv=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.NOTES),this.getIdFromTitle=Jg,this.codeMap=nm,this.sectionTitles=["Overview","Custom Webpack Configurations In Angular","Reference"],this.referencesMap=new Map([["Upcoming improvements to Angular library distribution","https://blog.angular.io/upcoming-improvements-to-angular-library-distribution-76c02f782aa4"],["New features in webpack 5","https://blog.logrocket.com/new-features-in-webpack-5-2559755adf5e/"],["How To Use Custom webpack Configurations with Angular CLI Builders","https://www.digitalocean.com/community/tutorials/angular-custom-webpack-config"],["Angular:\u5982\u4f55\u5728 Angular(8.0) \u4e2d\u914d\u7f6e Webpack","https://limeii.github.io/2019/08/angular-customize-webpack/"]])}ngAfterViewInit(){this.cd.detectChanges()}getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-notes"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:72,vars:11,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["key","ngBuildMigration"],["href","https://github.com/angular/angular/pull/39063"],["key","maxMinValidator"],["href","https://www.npmjs.com/package/webpack-bundle-analyzer"],["key","packagesInstallation"],["key","angularJsonNote"],["key","webpackConfig"],["key","ngServe"],[1,"image-container"],["src","../../assets/image/webpack.png","alt",""],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," There are a few minor features in Angular 12. "),lo(),ao(7,"div",3),ao(8,"ol"),ao(9,"li"),ao(10,"div",3),Ao(11," For new v12 projects, "),ao(12,"b"),Ao(13,"ng build"),lo(),Ao(14," defaults to production to prevent accidental development builds in production. "),lo(),ao(15,"div",3),Ao(16," For legacy projects, we could use the following command to migrate them. "),lo(),ao(17,"div",3),co(18,"app-code-container",4),lo(),lo(),ao(19,"li"),ao(20,"div",3),Ao(21,' In v12, Angular supports Webpack5. Please refer to the "Custom Webpack Configurations In Angular" section for configuring Webpack5. '),lo(),lo(),ao(22,"li"),ao(23,"div",3),Ao(24," In v12, it introduces "),ao(25,"b"),Ao(26,"min and max validators"),lo(),Ao(27," for the template form "),ao(28,"a",5),Ao(29," (pull request) "),lo(),lo(),ao(30,"div",3),co(31,"app-code-container",6),lo(),lo(),lo(),lo(),lo(),lo(),ao(32,"app-section-container"),ao(33,"div",1),Ao(34),lo(),ao(35,"div",2),ao(36,"div",3),Ao(37," There are a few steps to customize Webpack. "),lo(),ao(38,"div",3),Ao(39," Now suppose that we want to use the "),ao(40,"a",7),Ao(41," webpack-bundle-analyzer "),lo(),Ao(42," package to analyze bundles. "),lo(),ao(43,"div",3),ao(44,"ol"),ao(45,"li"),Ao(4
16,"Install required packages. "),ao(47,"div",3),co(48,"app-code-container",8),lo(),lo(),ao(49,"li"),Ao(50,"Update angular.json. "),ao(51,"div",3),co(52,"app-code-container",9),lo(),lo(),ao(53,"li"),Ao(54,"Add the webpack.config.js. "),ao(55,"div",3),co(56,"app-code-container",10),lo(),lo(),ao(57,"li"),Ao(58,"Start the dev server. "),ao(59,"div",3),co(60,"app-code-container",11),lo(),lo(),ao(61,"li"),Ao(62,"It will open a browser on http://127.0.0.1 automatically. "),ao(63,"div",3),ao(64,"div",12),co(65,"img",13),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(66,"app-section-container"),ao(67,"div",1),Ao(68),lo(),ao(69,"div",14),ao(70,"div",3),co(71,"app-reference-container",15),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(30),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(33),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Tm],styles:[""]}),e})(),Nv=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.NULLISH_COALESCING),this.getIdFromTitle=Jg,this.codeMap=nm,this.sectionTitles=["Introduction","Evaluation","Reference"],this.pros=["Use the nullish coalescing operator on the template can simplify the code."],this.cons=[],this.referencesMap=new Map([["Nullish coalescing operator (??)","https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing"]]),this.age=null}ngAfterViewInit(){this.cd.detectChanges()}calculateAge(){return 1}getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-nullish-coalescing"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:50,vars:15,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["href","https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_operator"],["key","legazyCodeTemplate"],["key","legazyCodeComponent"],["key","newCodeTemplate"],["key","newCodeComponent"],[3,"pros","cons"],[1,"reference-container"],[3,"references"]],template:function(e,t){if(1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," We usually use the "),ao(7,"a",4),Ao(8," conditional(ternary) operator "),lo(),Ao(9," to assign the value according to the result of the condition. "),lo(),ao(10,"div",3),ao(11,"ul"),ao(12,"li"),ao(13,"div",3),Ao(14," Example: "),lo(),ao(15,"div",3),co(16,"app-code-container",5),lo(),ao(17,"div",3),co(18,"app-code-container",6),lo(),lo(),ao(19,"li"),ao(20,"div",3),Ao(21," Result: "),lo(),ao(22,"div",3),Ao(23),lo(),lo(),lo(),lo(),ao(24,"div",3),Ao(25," In v12, we are allowed to use the Nullish Coalescing on the template. "),lo(),ao(26,"div",3),ao(27,"ul"),ao(28,"li"),ao(29,"div",3),Ao(30," Example: "),lo(),ao(31,"div",3),co(32,"app-code-container",7),lo(),ao(33,"div",3),co(34,"app-code-container",8),lo(),lo(),ao(35,"li"),ao(36,"div",3),Ao(37," Result: "),lo(),ao(38,"div",3),Ao(39),lo(),lo(),lo(),lo(),lo(),lo(),ao(40,"app-section-container"),ao(41,"div",1),Ao(42),lo(),co(43,"app-evaluation-container",9),lo(),ao(44,"app-section-container"),ao(45,"div",1),Ao(46),lo(),ao(47,"div",10),ao(48,"div",3),co(49,"app-reference-container",11),lo(),lo(),lo(),lo()),2&e){let e;so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(20),Mo(" ",null!=t.age?t.age:t.calculateAge()," "),Ui(16),Mo(" ",null!==(e=t.age)&&void 0!==e?e:t.calculateAge()," "),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(1),so("pros",t.pros)("cons",t.cons),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(3),so("references",t.referencesMap)}},directives:[em,Zg,_m,Iv,Tm],styles:[""]}),e})(),jv=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.STRICT_MODE),this.getIdFromTitle=Jg,this.co
1deMap=nm,this.sectionTitles=["Introduction","TypeScript Strict Mode","Angular Compiler Flags","Reference"],this.introductionList=["Turn on the strict mode on TypeScript recommended by the TypeScript team.","Turn on the strict Angular compiler flag."],this.referencesMap=new Map([["Strict mode","https://angular.io/guide/strict-mode"],["tsconfig\u4e4bforceConsistentCasingInFileNames\u5c5e\u6027","https://blog.csdn.net/weixin_40013817/article/details/127202021"],["Typescript tsconfig.json\u5168\u89e3\u6790","https://lq782655835.github.io/blogs/project/ts-tsconfig.html"],["Intro to the TSConfig Reference","https://www.typescriptlang.org/tsconfig#noFallthroughCasesInSwitch"],["Template type checking","https://angular.io/guide/template-typecheck"],["Angular compiler options","https://angular.io/guide/angular-compiler-options#strictinjectionparameters"],["[Angular \u5927\u5e2b\u4e4b\u8def] Angular 12 \u9810\u8a2d\u958b\u555f strict mode \u7684\u751f\u5b58\u4e4b\u9053","https://fullstackladder.dev/blog/2021/06/21/how-to-survive-in-angular-12-strict-mode-using-async-pipe/"]]),this.data=0}ngAfterViewInit(){this.cd.detectChanges()}getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-strict-mode"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:114,vars:13,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],["key","forceConsistentCasingInFileNames"],["key","forceConsistentCasingInFileNamesErrorMessage"],["key","noImplicitReturns"],["key","noImplicitReturnsErrorMessage"],["key","noFallthroughCasesInSwitch"],["key","noFallthroughCasesInSwitchErrorMessage"],["key","strictNullChecks"],["key","strictNullChecksErrrorMessage"],["key","strictPropertyInitialization"],["key","strictPropertyInitializationErrorMessage"],["key","strictTemplates"],["key","strictTemplatesErrorMessage"],["key","strictInputAccessModifiers"],["key","strictInputAccessModifiersErrorMessage"],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," Angular v12 enables the strict mode on TypeScript and Angular by default. We have to write the code carefully or it'll cause the error at the compilation phase. "),lo(),lo(),lo(),ao(7,"app-section-container"),ao(8,"div",1),Ao(9),lo(),ao(10,"div",2),ao(11,"div",3),ao(12,"ol"),ao(13,"li"),ao(14,"div",3),ao(15,"b"),Ao(16,"forceConsistentCasingInFileNames"),lo(),lo(),ao(17,"div",3),Ao(18," When importing modules from the file, the casting of the file name is case-sensitive. "),lo(),ao(19,"div",3),co(20,"app-code-container",4),lo(),ao(21,"div",3),Ao(22," Example: "),lo(),ao(23,"div",3),co(24,"app-code-container",5),lo(),lo(),ao(25,"li"),ao(26,"div",3),ao(27,"b"),Ao(28,"noImplicitReturns"),lo(),lo(),ao(29,"div",3),Ao(30," Throw the error message if not all code return value in a function. "),lo(),ao(31,"div",3),co(32,"app-code-container",6),lo(),ao(33,"div",3),Ao(34," Example: "),lo(),ao(35,"div",3),co(36,"app-code-container",7),lo(),lo(),ao(37,"li"),ao(38,"div",3),ao(39,"b"),Ao(40,"noFallthroughCasesInSwitch"),lo(),lo(),ao(41,"div",3),Ao(42," Ensure that any non-empty case inside a switch statement includes either "),ao(43,"b"),Ao(44,"break, return, or throw"),lo(),Ao(45,". "),lo(),ao(46,"div",3),co(47,"app-code-container",8),lo(),ao(48,"div",3),Ao(49," Example: "),lo(),ao(50,"div",3),co(51,"app-code-container",9),lo(),lo(),ao(52,"li"),ao(53,"div",3),ao(54,"b"),Ao(55,"strictNullChecks"),lo(),lo(),ao(56,"div",3),Ao(57," Raise an error that you have not made a guarantee that the variable exists before trying to use it. "),lo(),ao(58,"div",3),co(59,"app-code-container",10),lo(),ao(60,"div",3),Ao(61," Example: "),lo(),ao(62,"div",3),co(63,"app-code-container",11),lo(),lo(),ao(64,"li"),ao(65,"div",3),ao(66,"b"),Ao(67,"strictPropertyInitialization"),lo(),lo(),ao(68,"div",3),Ao(69," Raise an error when a class property was declared but not set in the constructor. "),lo(),ao(70,"div",3),co(71,"app-code-container",12),lo(),ao(72,"div",3),Ao(73," Example: "),lo(),ao(74,"div",3),co(75,"app-code-container",13),lo(),lo(),lo(),lo(),lo(),lo(),ao(76,"app-section-container"),ao(77,"div",1),Ao(78),lo(),ao(79,"div",2),ao(80,"div",3),ao(81,"ol"),ao(82,"li"),ao(83,"div",3),ao(84,"b"),Ao(85,"strictTemplates"),lo(),lo(),ao(86,"div",3),Ao(87," Angular will check the type on the template. The data type of the data source and the input should be consistent. "),lo(),ao(88,"div",3),co(89,"app-code-container",14),lo(),ao(90,"div",3),Ao(91," Example: "),lo(),ao(92,"div",3),co(93,"app-code-container",15),lo(),lo(),ao(94,"li"),ao(95,"div",3),ao(96,"b"),Ao(97,"strictInputAccessModifiers"),lo(),lo(),ao(98,"div",3),Ao(99," Whether access modifiers such as private, protected, readonly are honored when assigning a binding expression to an @Input(). "),lo(),ao(100,"div",3),Ao(101," If disabled, the access modifiers of the @Input are ignored; only the type is checked. "),lo(),ao(102,"div",3),co(103,"app-code-container",16),lo(),ao(104,"div",3),Ao(105," Example: "),lo(),ao(106,"div",3),co(107,"app-code-container",17),lo(),lo(),lo(),lo(),lo(),lo(),ao(108,"app-section-container"),ao(109,"div",1),Ao(110),lo(),ao(111,"div",18),ao(112,"div",3),co(113,"app-reference-container",19),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(5),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(68),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(31),so("id",t.getIdFromTitle(t.sectionTitles[3])),Ui(1),Po(t.sectionTitles[3]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,_m,Tm],styles:[""]}),e})();function Lv(e,t){if(1&e&&(ao(0,"li"),Ao(1),lo()),2&e){const e=t.$implicit;Ui(1),Mo(" ",e," ")}}let Fv=(()=>{class e{constructor(e){this.cd=e,this.title=Hv.get(Dv.STYLISH_IMPROVEMENTS),this.getIdFromTitle=Jg,this.co
1deMap=nm,this.sectionTitles=["Introduction","Use Inline Sass in Component","Evaluation for Inline Sass","Use new Sass APIs for Angular CDK and Angular Material code","Replacements of New Sass Module System","Evaluation for the New Sass Module System","Introduction to TailwindCSS","Use TailwindCSS in Angular","Evaluation for the TailwindCSS","Follow-up Questions","Reference"],this.introductionList=["Support inline Sass in component","Support new Sass APIs","Support TailwindCSS in JIT node (Just-In-Time)"],this.referencesMap=new Map([["The [New] State of CSS in Angular","https://blog.angular.io/the-new-state-of-css-in-angular-bec011715ee6"],["The Module System is Launched","https://sass-lang.com/blog/the-module-system-is-launched/"],["\u5feb\u901f\u4e86\u89e3 Tailwind CSS \u7684 JIT \u6a21\u5f0f","https://star-note-lucas.vercel.app/posts/tailwindcss-jit"],["Tailwind CSS - \u5982\u4f55\u5728 Angular \u4e2d\u4f7f\u7528 TailwindCSS","https://hsuchihting.github.io/TailwindCSS/20210702/3640682418/"],["\u9084\u5728\u8ddf\u8907\u96dc\u7684 CSS \u7684\u8a2d\u5b9a\u596e\u9b25\u55ce\uff1f\u7528 Tailwind \u4f86\u5e6b\u4f60\u5be6\u73fe\u771f\u6b63\u7684\u9ad8\u6548\u6574\u6f54\uff01","https://5xcampus.com/posts/tailwind-css-plugin/"],["Day 05 \u5b89\u88dd Tailwind CSS","https://ithelp.ithome.com.tw/articles/10234671"],["Learn CSS","https://web.dev/learn/css/"],["\u7206\u809d\u4e09\u5929\uff0c\u5b66\u4e60Scss-\u770b\u8fd9\u7bc7\u5c31\u591f\u4e86","https://segmentfault.com/a/1190000041314876"],["\u9435\u4eba\u8cfd18\u5929module system-2 @forward","https://ithelp.ithome.com.tw/articles/10248377"],["\u65b0\u624b\u4e5f\u53ef\u4ee5\u8f15\u9b06\u73a9\u8f49 SASS - @mixin and @include","https://5xcampus.com/posts/play-sass-mixin-and-include"],["Sass / SCSS \u9810\u8655\u7406\u5668 - @function \u5efa\u7acb\u51fd\u5f0f\u8207 @return \u8fd4\u56de\u7d50\u679c","https://awdr74100.github.io/2020-06-01-scss-function-return/"],["Introducing Sass Modules","https://css-tricks.com/introducing-sass-modules/"]]),this.prosInline=["For small scale projects, it's helpful to reduce the number of files to maintain if we don't have to resuse the stylesheet. "],this.consInline=["From the pespective of maintaining, it's not a good idea to write the CSS styles and TypeScript in a single file."],this.prosSass=["The new module system is fully backwards-compatible.","We can even use the migrator to migrate files automatically."],this.consSass=["Developers have to understand the restrictions of the @use and the difference to @import."],this.prosTailwindCSS=["TailwindCSS provides many pre-defined classes. It's clear to understand what's the effect of the CSS style class.","The styles between elements will be consistent because there is a global configuration file, which is better than the inline CSS.","We are allowed to write psuedo class and the media class, which is better than the inline CSS."],this.consTailwindCSS=["The naming rules of the TailwindCSS classes name and the configuration will be the major learning curve.","In the large scle project, it will be difficult to maintain and review the CSS style."],this.titleList=[...Hv.values()].join(", ")}ngAfterViewInit(){this.cd.detectChanges()}getCode(e){return Kg(e,this.codeMap)}}return e.\u0275fac=function(t){return new(t||e)(io(wa))},e.\u0275cmp=De({type:e,selectors:[["app-stylish-improvements"]],viewQuery:function(e,t){if(1&e&&cl(Zg,5,Qo),2&e){let e;ll(e=ul())&&(t.sections=e)}},decls:403,vars:35,consts:[[3,"title","sections","sectionTitles","getIdFromTitle"],["title","",1,"title",3,"id"],[1,"description-container"],[1,"item"],[4,"ngFor","ngForOf"],["key","enableInlineStyle"],["key","inlineSassComponentCode"],["key","inlineSassHtmlCode"],[1,"inline-style-demo-btn"],[1,"inline-style-demo-btn2"],[3,"pros","cons"],["href","https://sass-lang.com/blog/the-module-system-is-launched/"],["key","sassPkg"],["key","updateStylish"],["href","https://gist.github.com/MarkTechson/6283b6a3b353f9e38964af0740e29280"],["key","MigrationExample"],["href","https://sass-lang.com/documentation/variables/"],["href","https://sass-lang.com/documentation/at-rules/function/"],["href","https://sass-lang.com/documentation/at-rules/mixin/"],["key","originalSystemExample"],["key","newSystemExample"],["key","forwardExample"],["key","renamedFunc"],["href","https://sass-lang.com/documentation/cli/migrator/"],["key","sassMigratorInsall"],["key","sassMigratorUsage"],["href","https://tailwindcss.com/"],["key","exampleTailwindCSS"],[1,"top-[10px]","max-w-screen-md","mt-3","mx-auto","bg-rose-950","rounded-xl","shadow-md","overflow-hidden","md:max-w-screen-lg","hover:bg-gray-300"],[1,"md:flex"],[1,"md:flex-shrink-0"],["src","../../assets/image/angular-logo.png","alt","",1,"h-48","w-full","object-cover","md:h-full","md:w-48"],[1,"p-[8px]"],[1,"uppercase","py-3","text-6xl","text-white","font-semibold"],[1,"py-3","text-3xl","font-bold","text-red-600","mb-0"],[1,"py-1","mb-0","text-gray-100"],["href","https://v2.tailwindcss.com/docs/just-in-time-mode"],["key","installTailwindCSS"],["href","https://necolas.github.io/normalize.css/"],["key","updateStyle"],["key","initTailwindCSS"],["key","originalTailwindConfig"],["key","updatedTailwindConfig"],["key","newSystemQ1"],["key","newSystemQ1Template"],[1,"saas-new-system-q1"],["key","newSystemQ2"],[1,"image-container"],["src","../../assets/image/new_sass_q2.png","alt",""],["key","newSystemQ3"],["src","../../assets/image/new_sass_q3.png","alt",""],[1,"reference-container"],[3,"references"]],template:function(e,t){1&e&&(ao(0,"app-page-container",0),ao(1,"app-section-container"),ao(2,"div",1),Ao(3),lo(),ao(4,"div",2),ao(5,"div",3),Ao(6," There are a few improvements for styling in Angular 12. "),lo(),ao(7,"div",3),ao(8,"ol"),ro(9,Lv,2,1,"li",4),lo(),lo(),lo(),lo(),ao(10,"app-section-container"),ao(11,"div",1),Ao(12),lo(),ao(13,"div",2),ao(14,"div",3),Ao(15," Previously, Sass was only available in external resources due to the Angular compiler (View Engine). "),lo(),ao(16,"div",3),Ao(17," In v12, we are able to use Sass in components directly. There are a few steps. "),lo(),ao(18,"div",3),ao(19,"ol"),ao(20,"li"),Ao(21,"Update angular.json to mark inlineStyleLanguage as sass. "),ao(22,"div",3),co(23,"app-code-container",5),lo(),lo(),ao(24,"li"),Ao(25,"Update the component. "),ao(26,"div",3),co(27,"app-code-container",6),lo(),lo(),ao(28,"li"),Ao(29,"Update the template. "),ao(30,"div",3),co(31,"app-code-container",7),lo(),lo(),ao(32,"li"),ao(33,"div",3),Ao(34," The following result demostrates the inline CSS works. "),lo(),ao(35,"div",3),ao(36,"button",8),Ao(37,"Demo"),lo(),ao(38,"button",9),Ao(39,"Demo2"),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(40,"app-section-container"),ao(41,"div",1),Ao(42),lo(),co(43,"app-evaluation-container",10),lo(),ao(44,"app-section-container"),ao(45,"div",1),Ao(46),lo(),ao(47,"div",2),ao(48,"div",3),Ao(49," In v12, Angular CDK and Angular Material have internally adopted Sass\u2019s "),ao(50,"a",11),Ao(51," new module system "),lo(),Ao(52,". "),lo(),ao(53,"div",3),Ao(54," There are a few steps. "),lo(),ao(55,"div",3),ao(56,"ol"),ao(57,"li"),Ao(58,"Move node-sass npm package to sass. (the node-sass package is no longer unmaintained) "),ao(59,"div",3),co(60,"app-code-container",12),lo(),lo(),ao(61,"li"),ao(62,"div",3),Ao(63," Upgrade Sass files by using the following command. "),lo(),ao(64,"div",3),Ao(65," It will only refactor any Sass @import statements for Angular CDK and Angular Material code over to the new @use API. "),lo(),ao(66,"div",3),co(67,"app-code-container",13),lo(),lo(),ao(68,"li"),Ao(69,"The following example shows the effect of the ng update. "),ao(70,"a",14),Ao(71," (reference) "),lo(),ao(72,"div",3),co(73,"app-code-container",15),lo(),lo(),lo(),lo(),lo(),lo(),ao(74,"app-section-container"),ao(75,"div",1),Ao(76),lo(),ao(77,"div",2),ao(78,"div",3),ao(79,"b"),Ao(80," Original module system "),lo(),lo(),ao(81,"div",3),Ao(82," There are some problems of the @import from the original module system. "),lo(),ao(83,"div",3),ao(84,"ol"),ao(85,"li"),ao(86,"div",3),Ao(87," When a file is imported in different stylesheets, the members of the imported file ( "),ao(88,"a",16),Ao(89," variables "),lo(),Ao(90,", "),ao(91,"a",17),Ao(92," @function "),lo(),Ao(93,", "),ao(94,"a",18),Ao(95," @mixin "),lo(),Ao(96,") will be reloaded from scratch. "),lo(),ao(97,"div",3),Ao(98," And it will create duplicate CSS and strange side-effects if the sass file is imported in many places. "),lo(),lo(),ao(99,"li"),ao(100,"div",3),Ao(101," Different stylesheets in the application can have the same name for members. "),lo(),lo(),ao(102,"li"),ao(103,"div",3),Ao(104," Downstream users can accesss private members. "),lo(),lo(),lo(),lo(),ao(105,"div",3),Ao(106," So the Sass team decided to create a new module system. "),lo(),ao(107,"div",3),co(108,"app-code-container",19),lo(),ao(109,"div",3),ao(110,"b"),Ao(111," New module system "),lo(),lo(),ao(112,"div",3),Ao(113," The new module system is fully backwards-compatible. "),lo(),ao(114,"div",3),Ao(115," No existing features have been removed or deprecated, and current Sass stylesheets will keep working just as they always have. "),lo(),ao(116,"div",3),Ao(117," There are a few changes. "),lo(),ao(118,"div",3),ao(119,"ol"),ao(120,"li"),ao(121,"div",3),ao(122,"b"),Ao(123," @use "),lo(),lo(),ao(124,"div",3),Ao(125," There are differences between @import and @use. "),lo(),ao(126,"div",3),ao(127,"ul"),ao(128,"li"),ao(129,"div",3),Ao(130," @use only executes a stylesheet and includes its CSS once. "),lo(),lo(),ao(131,"li"),ao(132,"div",3),Ao(133," Members imported with @use are only made available locally, but not passed along to future imports. "),lo(),lo(),ao(134,"li"),ao(135,"div",3),Ao(136," All imported members are namespaced by default. "),lo(),lo(),ao(137,"li"),ao(138,"div",3),Ao(139," Members that start with an underscore (_) or hyphen (-) are considered private, and not imported. "),lo(),lo(),lo(),lo(),ao(140,"div",3),co(141,"app-code-container",20),lo(),lo(),ao(142,"li"),ao(143,"div",3),ao(144,"b"),Ao(145," @forward "),lo(),lo(),ao(146,"div",3),Ao(147," Because @use can only mad members available locally, we can use @forward for bridging. "),lo(),ao(148,"div",3),co(149,"app-code-container",21),lo(),lo(),ao(150,"li"),ao(151,"div",3),ao(152,"b"),Ao(153," Built-in functions renamed "),lo(),lo(),ao(154,"div",3),co(155,"app-code-container",22),lo(),lo(),lo(),lo(),ao(156,"div",3),ao(157,"div",3),ao(158,"b"),Ao(159," Migrator "),lo(),lo(),ao(160,"div",3),Ao(161," There is a "),ao(162,"a",23),Ao(163," Sass migrator "),lo(),Ao(164," to migrate the files automatically. "),lo(),ao(165,"div",3),ao(166,"ul"),ao(167,"li"),ao(168,"div",3),Ao(169," Installation "),lo(),ao(170,"div",3),co(171,"app-code-container",24),lo(),lo(),ao(172,"li"),ao(173,"div",3),Ao(174," Usage "),ao(175,"ul"),ao(176,"li"),ao(177,"div",3),Ao(178," --migrate-deps: also migrate dependencies, not only the input files "),lo(),lo(),ao(179,"li"),ao(180,"div",3),Ao(181," --load-path: be able to pass the node_moduls "),lo(),lo(),ao(182,"li"),ao(183,"div",3),Ao(184," --forward=all: all forwards all members except those that started with - or _ in the original stylesheet "),lo(),lo(),lo(),lo(),ao(185,"div",3),co(186,"app-code-container",25),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(187,"app-section-container"),ao(188,"div",1),Ao(189),lo(),co(190,"app-evaluation-container",10),lo(),ao(191,"app-section-container"),ao(192,"div",1),Ao(193),lo(),ao(194,"div",2),ao(195,"div",3),ao(196,"a",26),Ao(197," TailwindCSS "),lo(),Ao(198," is an utility-first CSS framework. We can realize what will the css style effect by just refering to the class name. "),lo(),ao(199,"div",3),ao(200,"ul"),ao(201,"li"),ao(202,"div",3),ao(203,"b"),Ao(204,"Pre-defined items by TailwindCSS"),lo(),lo(),ao(205,"div",3),ao(206,"ul"),ao(207,"li"),ao(208,"div",3),Ao(209," top-[10px] => top: 10px; "),lo(),lo(),ao(210,"li"),ao(211,"div",3),Ao(212," mt-3 => margin-top: 0.75rem; "),lo(),lo(),ao(213,"li"),ao(214,"div",3),Ao(215," mx-auto => margin-left: auto; margin-right: auto; "),lo(),lo(),ao(216,"li"),ao(217,"div",3),Ao(218," bg-rose-950 => background-color: rgb(76 5 25) "),lo(),lo(),ao(219,"li"),ao(220,"div",3),Ao(221," rounded-xl => border-radius: 0.75rem; "),lo(),lo(),ao(222,"li"),ao(223,"div",3),Ao(224," md:max-w-screen-lg => media query "),lo(),lo(),ao(225,"li"),ao(226,"div",3),Ao(227," hover:bg-gray-300 => psuedo class for hovering "),lo(),lo(),lo(),lo(),lo(),ao(228,"li"),ao(229,"div",3),ao(230,"b"),Ao(231,"Self-defined items"),lo(),lo(),ao(232,"div",3),ao(233,"ul"),ao(234,"li"),ao(235,"div",3),Ao(236," max-w-screen-md => max-width: 1rem (self-defined from theme) "),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(237,"div",3),co(238,"app-code-container",27),lo(),ao(239,"div",3),Ao(240," The following result demostrates the TailwindCSS works. "),lo(),ao(241,"div",3),ao(242,"div",28),ao(243,"div",29),ao(244,"div",30),co(245,"img",31),lo(),ao(246,"div",32),ao(247,"div",33),Ao(248,"Note of Angular 12"),lo(),ao(249,"h1",34),Ao(250,"Produced by Jen-Hsuan Hsieh"),lo(),ao(251,"p",35),Ao(252),lo(),lo(),lo(),lo(),lo(),ao(253,"div",3),Ao(254," TailwindCSS will generate a lot of CSS classes when compiling. It takes a lot of time to compile the CSS files. (3 ~ 8 seconds) "),lo(),ao(255,"div",3),Ao(256," In Angular 12, we can use the "),ao(257,"a",36),Ao(258," JIT (Just-In-Time) mode "),lo(),Ao(259," to generate CSS files when writing HTML files. (0.8 seconds) "),lo(),ao(260,"div",3),ao(261,"ol"),ao(262,"li"),ao(263,"div",3),Ao(264," It reduces the loading time. "),lo(),lo(),ao(265,"li"),ao(266,"div",3),Ao(267," We are allowed to use psuedo elements without override variants. "),lo(),lo(),ao(268,"li"),ao(269,"div",3),Ao(270," We are allowed to create a new class with any values in the HTML. (e.g., top-[10px]) "),lo(),lo(),lo(),lo(),lo(),lo(),ao(271,"app-section-container"),ao(272,"div",1),Ao(273),lo(),ao(274,"div",2),ao(275,"div",3),Ao(276," There are steps to set up the TailwindCSS in Angular. "),lo(),ao(277,"div",3),ao(278,"ol"),ao(279,"li"),ao(280,"div",3),Ao(281," Install required packages. "),lo(),ao(282,"div",3),co(283,"app-code-container",37),lo(),lo(),ao(284,"li"),ao(285,"div",3),Ao(286," Update the style.scss. "),lo(),ao(287,"div",3),ao(288,"ul"),ao(289,"li"),ao(290,"div",3),Ao(291," base: provide "),ao(292,"a",38),Ao(293," normalize.css "),lo(),Ao(294," to reset to the default CSS style. "),lo(),lo(),ao(295,"li"),ao(296,"div",3),Ao(297,"
1components "),lo(),lo(),ao(298,"li"),ao(299,"div",3),Ao(300," utilities: pre-fined CSS classes "),lo(),lo(),lo(),lo(),ao(301,"div",3),co(302,"app-code-container",39),lo(),lo(),ao(303,"li"),ao(304,"div",3),Ao(305," Generate tailwind.config.js. "),lo(),ao(306,"div",3),ao(307,"ul"),ao(308,"li"),ao(309,"div",3),Ao(310," Use the following command. "),lo(),ao(311,"div",3),co(312,"app-code-container",40),lo(),lo(),ao(313,"li"),ao(314,"div",3),Ao(315," We'll get an empty config file. "),lo(),ao(316,"div",3),co(317,"app-code-container",41),lo(),lo(),lo(),lo(),lo(),ao(318,"li"),ao(319,"div",3),Ao(320," Update the tailwind.config.js. "),lo(),ao(321,"div",3),co(322,"app-code-container",42),lo(),lo(),lo(),lo(),lo(),lo(),ao(323,"app-section-container"),ao(324,"div",1),Ao(325),lo(),co(326,"app-evaluation-container",10),lo(),ao(327,"app-section-container"),ao(328,"div",1),Ao(329),lo(),ao(330,"div",2),ao(331,"div",3),ao(332,"ol"),ao(333,"li"),ao(334,"div",3),ao(335,"b"),Ao(336,"Q: Could we use CSS classes imported by using @use? "),lo(),lo(),ao(337,"div",3),Ao(338," A: Yes, the limitations of @use are only applied to Sass members. ( "),ao(339,"a",16),Ao(340," variables "),lo(),Ao(341,", "),ao(342,"a",17),Ao(343," @function "),lo(),Ao(344,", "),ao(345,"a",18),Ao(346," @mixin "),lo(),Ao(347,") "),lo(),ao(348,"div",3),Ao(349," So it won't effect to the imported CSS classes. "),lo(),ao(350,"div",3),ao(351,"ul"),ao(352,"li"),ao(353,"div",3),Ao(354," SCSS "),lo(),ao(355,"div",3),co(356,"app-code-container",43),lo(),lo(),ao(357,"li"),ao(358,"div",3),Ao(359," Template "),lo(),ao(360,"div",3),co(361,"app-code-container",44),lo(),lo(),lo(),lo(),ao(362,"div",3),Ao(363," The following result demostrates it works. "),lo(),ao(364,"div",3),ao(365,"div",45),Ao(366," I'm a demo "),lo(),lo(),lo(),ao(367,"li"),ao(368,"div",3),ao(369,"b"),Ao(370,"Q: Could we use sass variables imported by using @forward?"),lo(),lo(),ao(371,"div",3),Ao(372," A: No, it will fail at the compilation phase. "),lo(),ao(373,"div",3),Ao(374," The variable will only be visible after being imported by @use. "),lo(),ao(375,"div",3),co(376,"app-code-container",46),lo(),ao(377,"div",3),Ao(378," The following result demostrates it won't work. "),lo(),ao(379,"div",3),ao(380,"div",47),co(381,"img",48),lo(),lo(),lo(),ao(382,"li"),ao(383,"div",3),ao(384,"b"),Ao(385," Q: If we import sass variables from different files with the same name, could we use namespace to avoid conflicting? "),lo(),lo(),ao(386,"div",3),Ao(387," A: No, it will fail at the compilation phase. "),lo(),ao(388,"div",3),Ao(389," Sass will check if there are any duplicated names. "),lo(),ao(390,"div",3),co(391,"app-code-container",49),lo(),ao(392,"div",3),Ao(393," The following result demostrates it won't work. "),lo(),ao(394,"div",3),ao(395,"div",47),co(396,"img",50),lo(),lo(),lo(),lo(),lo(),lo(),lo(),ao(397,"app-section-container"),ao(398,"div",1),Ao(399),lo(),ao(400,"div",51),ao(401,"div",3),co(402,"app-reference-container",52),lo(),lo(),lo(),lo()),2&e&&(so("title",t.title)("sections",t.sections)("sectionTitles",t.sectionTitles)("getIdFromTitle",t.getIdFromTitle),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[0])),Ui(1),Po(t.sectionTitles[0]),Ui(6),so("ngForOf",t.introductionList),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[1])),Ui(1),Po(t.sectionTitles[1]),Ui(29),so("id",t.getIdFromTitle(t.sectionTitles[2])),Ui(1),Po(t.sectionTitles[2]),Ui(1),so("pros",t.prosInline)("cons",t.consInline),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[3])),Ui(1),Po(t.sectionTitles[3]),Ui(29),so("id",t.getIdFromTitle(t.sectionTitles[4])),Ui(1),Po(t.sectionTitles[4]),Ui(112),so("id",t.getIdFromTitle(t.sectionTitles[5])),Ui(1),Po(t.sectionTitles[5]),Ui(1),so("pros",t.prosSass)("cons",t.consSass),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[6])),Ui(1),Po(t.sectionTitles[6]),Ui(59),Mo(" ",t.titleList," "),Ui(20),so("id",t.getIdFromTitle(t.sectionTitles[7])),Ui(1),Po(t.sectionTitles[7]),Ui(51),so("id",t.getIdFromTitle(t.sectionTitles[8])),Ui(1),Po(t.sectionTitles[8]),Ui(1),so("pros",t.prosTailwindCSS)("cons",t.consTailwindCSS),Ui(2),so("id",t.getIdFromTitle(t.sectionTitles[9])),Ui(1),Po(t.sectionTitles[9]),Ui(69),so("id",t.getIdFromTitle(t.sectionTitles[10])),Ui(1),Po(t.sectionTitles[10]),Ui(3),so("references",t.referencesMap))},directives:[em,Zg,Fc,_m,Iv,Tm],styles:[".inline-style-demo-btn[_ngcontent-%COMP%]{background-color:var(--background-default);color:#1e90ff;border:1px solid #1e90ff;padding:5px}
1",".inline-style-demo-btn2[_ngcontent-%COMP%]{background-color:var(--background-default);color:#1e90ff;border:1px solid #1e90ff;padding:5px}"]}),e})();var Dv=(()=>(function(e){e.BREAKING_CHANGE="BREAKING_CHANGE",e.DEPRECATIONS="DEPRECATIONS",e.DOCUMENTS="DOCUMENTS",e.HOME="HOME",e.NOTES="NOTES",e.MIGRATIONS="MIGRATIONS",e.I18N_TRANSITION="I18N_TRANSITION",e.NULLISH_COALESCING="NULLISH_COALESCING",e.LEARNING_RESOURCE="LEARNING_RESOURCE",e.STYLISH_IMPROVEMENTS="STYLISH_IMPROVEMENTS",e.STRICT_MODE="STRICT_MODE",e.LANGUAGE_SERVICE="LANGUAGE_SERVICE",e.HTTP_CONTEXT="HTTP_CONTEXT",e.DEBUGGING_PLAYLIST="DEBUGGING_PLAYLIST"}(Dv||(Dv={})),Dv))();const Uv=new Map([["/home",Dv.HOME],["/documents",Dv.DOCUMENTS],["/migrations",Dv.MIGRATIONS],["/breaking-changes",Dv.BREAKING_CHANGE],["/deprecations",Dv.DEPRECATIONS],["/http-context",Dv.HTTP_CONTEXT],["/nullish-coalescing",Dv.NULLISH_COALESCING],["/stylish-improvements",Dv.STYLISH_IMPROVEMENTS],["/notes",Dv.NOTES],["/i18n-transition",Dv.I18N_TRANSITION],["/debugging-playlist",Dv.DEBUGGING_PLAYLIST],["/strict-mode",Dv.STRICT_MODE],["/language-service",Dv.LANGUAGE_SERVICE]]),Hv=new Map([[Dv.MIGRATIONS,"Upgrade to Angular 12"],[Dv.HOME,"Notes of Angular v12"],[Dv.BREAKING_CHANGE,"Breaking Changes"],[Dv.DEPRECATIONS,"Deprecations"],[Dv.NOTES,"Minor Features"],[Dv.DOCUMENTS,"About This Website"],[Dv.I18N_TRANSITION,"Bugfix - Internationalization (i18n) Message ID Transition"],[Dv.DEBUGGING_PLAYLIST,"Instructions - [Debugging] Angular Error Messages"],[Dv.NULLISH_COALESCING,"Feature - Nullish Coalescing"],[Dv.STRICT_MODE,"Enhancement - Strict Mode Enabled"],[Dv.STYLISH_IMPROVEMENTS,"Feature - Stylish Improvements"],[Dv.LANGUAGE_SERVICE,"Enhancement - Angular Language Service with Ivy"],[Dv.HTTP_CONTEXT,"Feature - Interceptor Metadata Passing"]]),zv=[Dv.DOCUMENTS,Dv.MIGRATIONS,Dv.BREAKING_CHANGE,Dv.DEPRECATIONS,Dv.HTTP_CONTEXT,Dv.NULLISH_COALESCING,Dv.STYLISH_IMPROVEMENTS,Dv.NOTES,Dv.I18N_TRANSITION,Dv.DEBUGGING_PLAYLIST,Dv.STRICT_MODE,Dv.LANGUAGE_SERVICE],Vv=[{path:"",pathMatch:"full",redirectTo:"home"},{path:"home",component:zm},{path:"notes",component:Rv},{path:"migrations",component:Mv},{path:"breaking-changes",component:Sm},{path:"deprecations",component:Pm},{path:"deprecations#:id",component:Pm},{path:"documents",component:Nm},{path:"i18n-transition",component:Av},{path:"nullish-coalescing",component:Nv},{path:"stylish-improvements",component:Fv},{path:"strict-mode",component:jv},{path:"language-service",component:Pv},{path:"http-context",component:Ov},{path:"debugging-playlist",component:xm}],$v={useHash:!0,anchorScrolling:"enabled",onSameUrlNavigation:"reload",scrollPositionRestoration:"enabled"};let Bv=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Ve({type:e}),e.\u0275inj=le({imports:[[hf.forRoot(Vv,$v)],hf]}),e})(),qv=(()=>{class e{constructor(e){this.router=e}changeRoute(e){const t=[...Uv.keys()].find(t=>e===Uv.get(t));t&&this.router.navigate([t])}getRouteTitle(e){return Hv.get(e)?Hv.get(e):""}}return e.\u0275fac=function(t){return new(t||e)(Xn(Jp))},e.\u0275prov=ae({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const Wv=["links"];function Gv(e,t){if(1&e){const e=po();ao(0,"div",7),mo("click",function(){const t=It(e).$implicit;return bo().changeRoute(t)}),Ao(1),lo()}if(2&e){const e=t.$implicit,n=bo();Ui(1),Mo(" ",n.getRouteTitle(e)," ")}}let Qv=(()=>{class e{constructor(e){this.routeService=e,this.icon=_f,this.sideBarList=zv}changeRoute(e){var t;this.routeService.changeRoute(e),null===(t=this.links)||void 0===t||t.nativeElement.classList.remove("active")}getRouteTitle(e){return this.routeService.getRouteTitle(e)}toggleNavigation(e){var t,n,r;e.preventDefault(),(null===(t=this.links)||void 0===t?void 0:t.nativeElement.classList.contains("active"))?null===(n=this.links)||void 0===n||n.nativeElement.classList.remove("active"):null===(r=this.links)||void 0===r||r.nativeElement.classList.add("active")}}return e.\u0275fac=function(t){return new(t||e)(io(qv))},e.\u0275cmp=De({type:e,selectors:[["app-mobile-nav-container"]],viewQuery:function(e,t){if(1&e&&cl(Wv,5,Qo),2&e){let e;ll(e=ul())&&(t.links=e.first)}},decls:7,vars:2,consts:[[1,"mobile-nav-container"],[1,"topnav"],[1,"icon",3,"click"],[3,"icon"],[1,"links"],["links",""],["class","item","mat-button","",3,"click",4,"ngFor","ngForOf"],["mat-button","",1,"item",3,"click"]],template:function(e,t){1&e&&(ao(0,"div",0),ao(1,"div",1),ao(2,"a",2),mo("click",function(e){return t.toggleNavigation(e)}),co(3,"fa-icon",3),lo(),lo(),ao(4,"div",4,5),ro(6,Gv,2,1,"div",6),lo(),lo()),2&e&&(Ui(3),so("icon",t.icon),Ui(3),so("ngForOf",t.sideBarList))},directives:[Wg,Fc],styles:[".mobile-nav-container[_ngcontent-%COMP%]{visibility:hidden;display:none;width:100%;font-family:Inter Tight,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.mobile-nav-container[_ngcontent-%COMP%] .links[_ngcontent-%COMP%]{display:none}.mobile-nav-container[_ngcontent-%COMP%] .links[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{display:block;background-color:var(--foreground-quaternary);color:var(--background-default);height:2em;line-height:2em;overflow:hidden;padding-left:1em}.mobile-nav-container[_ngcontent-%COMP%] .links.active[_ngcontent-%COMP%]{display:block}
1.mobile-nav-container[_ngcontent-%COMP%] .topnav[_ngcontent-%COMP%]{overflow:hidden;background-color:var(--background-gray);color:var(--background-default);position:relative;height:3em}.mobile-nav-container[_ngcontent-%COMP%] .topnav[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{background:var(--foreground-default);display:flex;justify-content:center;align-items:center;position:absolute;right:0;top:0;height:100%;width:3em;cursor:pointer}.mobile-nav-container[_ngcontent-%COMP%] .topnav[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:hover{background:var(--foreground-light);color:var(--foreground-default)}@media screen and (max-width: 700px){.mobile-nav-container[_ngcontent-%COMP%]{visibility:visible;display:block}}"]}),e})(),Yv=(()=>{class e{constructor(e){this.themeService=e,this.faSun=Tf,this.faMoon=Cf,this.activeIcon=Tf,this.themeIconMap=new Map([[Fm.light,Tf],[Fm.dark,Cf]])}ngOnInit(){let e=this.themeService.getCurrentThemeType();this.setActiveIcon(e)}toggleTheme(){let e=this.themeService.getNextThemeType();this.themeService.setThemeByThemeType(e),this.setActiveIcon(e)}setActiveIcon(e){let t=this.themeIconMap.get(e);t&&(this.activeIcon=t)}}return e.\u0275fac=function(t){return new(t||e)(io(Um))},e.\u0275cmp=De({type:e,selectors:[["app-theme"]],decls:1,vars:1,consts:[["size","2x",1,"icon",3,"icon","click"]],template:function(e,t){1&e&&(ao(0,"fa-icon",0),mo("click",function(){return t.toggleTheme()}),lo()),2&e&&so("icon",t.activeIcon)},directives:[Wg],styles:[".icon[_ngcontent-%COMP%]{color:var(--primary-default)}.icon[_ngcontent-%COMP%]:hover{color:var(--foreground-default)}"]}),e})();function Zv(e,t){if(1&e){const e=po();ao(0,"button",7),mo("click",function(){const t=It(e).$implicit;return bo().changeRoute(t)}),Ao(1),lo()}if(2&e){const e=t.$implicit,n=bo();so("ngClass",n.getRouteStyle(e)),Ui(1),Mo(" ",n.getRouteTitle(e)," ")}}let Jv=(()=>{class e{constructor(e,t,n,r){this.location=e,this.router=t,this.themeService=n,this.routeService=r,this.version=Rm,this.title="Notes of Angular v12",this.selectedRoute=Dv.HOME,this.sideBarList=zv,this.themeImageMap=new Map([[Fm.light,"../assets/image/angular-logo.png"],[Fm.dark,"../assets/image/angular-logo-dark.png"]]),this.currentImage="",t.events.subscribe(t=>{if(""!=e.path()){const t=e.path().split("/");this.selectedRoute=Uv.get(`/${t[1]}`)||Dv.HOME}}),this.themeService.theme$.subscribe(e=>{let t=this.themeImageMap.get(e);t&&(this.currentImage=t)})}getRouteStyle(e){return this.selectedRoute===e?"tab-item current":"tab-item"}changeRoute(e){this.routeService.changeRoute(e)}getRouteTitle(e){return this.routeService.getRouteTitle(e)}}return e.\u0275fac=function(t){return new(t||e)(io(Ec),io(Jp),io(Um),io(qv))},e.\u0275cmp=De({type:e,selectors:[["app-side-bar-container"]],decls:9,vars:3,consts:[[1,"sider-bar"],[1,"tabs"],["routerLink","/home",1,"title-container"],["alt","",3,"src"],[1,"title"],["mat-button","",3,"ngClass","click",4,"ngFor","ngForOf"],[1,"theme-container"],["mat-button","",3,"ngClass","click"]],template:function(e,t){1&e&&(ao(0,"div",0),ao(1,"div",1),ao(2,"a",2),co(3,"img",3),ao(4,"div",4),Ao(5),lo(),lo(),ro(6,Zv,2,2,"button",5),ao(7,"div",6),co(8,"app-theme"),lo(),lo(),lo()),2&e&&(Ui(3),so("src",t.currentImage,$r),Ui(2),Mo(" ",t.title," "),Ui(1),so("ngForOf",t.sideBarList))},directives:[Kp,Fc,Yv,jc],styles:[".sider-bar[_ngcontent-%COMP%]{width:20em;background:var(--background-default)}.sider-bar[_ngcontent-%COMP%] .tabs[_ngcontent-%COMP%]{width:16em;margin:0 1em 0 0;position:fixed;display:flex;flex-direction:column;background-color:var(--background-default);border:1px solid var(--background-gray);height:100%}.sider-bar[_ngcontent-%COMP%] .tabs[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%]{display:flex;justify-content:center;text-decoration:none;color:var(--foreground-default);font-size:1.1em;margin-left:1em}.sider-bar[_ngcontent-%COMP%] .tabs[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:1.5em;height:1.5em;padding:1em .5em}.sider-bar[_ngcontent-%COMP%] .tabs[_ngcontent-%COMP%] .title-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.1em;font-family:Inter Tight,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;text-align:left;font-style:normal;font-weight:400;background-color:var(--background-default);margin:1em 0;line-height:1.2em;width:100%}.sider-bar[_ngcontent-%COMP%] .tabs[_ngcontent-%COMP%] .theme-container[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-top:2em;cursor:pointer}.sider-bar[_ngcontent-%COMP%] .tab-item[_ngcontent-%COMP%]{width:17.5em;font-size:.9em;margin:0 .1em .7em;padding:.3em;border-radius:.1em;background-color:var(--background-default);cursor:pointer;font-style:normal;font-weight:400;border:none;color:var(--foreground-light)}.sider-bar[_ngcontent-%COMP%] .tab-item.current[_ngcontent-%COMP%]{background-color:var(--foreground-quaternary)}.sider-bar[_ngcontent-%COMP%] .tab-item.current[_ngcontent-%COMP%], .sider-bar[_ngcontent-%COMP%] .tab-item.current[_ngcontent-%COMP%]:hover{color:var(--background-default)}.sider-bar[_ngcontent-%COMP%] .tab-item[_ngcontent-%COMP%]:hover{color:var(--foreground-default);font-weight:500}@media screen and (max-width: 700px){.sider-bar[_ngcontent-%COMP%]{visibility:hidden;display:none}}"]}),e})(),Kv=(()=>{class e{constructor(e){this.themeService=e;let t=this.themeService.getCurrentThemeType();this.themeService.setThemeByThemeType(t)}}return e.\u0275fac=function(t){return new(t||e)(io(Um))},e.\u0275cmp=De({type:e,selectors:[["app-root"]],decls:7,vars:0,consts:[[1,"app-container"],[1,"app-content"],[1,"portal-container"],[1,"tab-content"]],template:function(e,t){1&e&&(co(0,"app-mobile-nav-container"),ao(1,"div",0),co(2,"app-side-bar-container"),ao(3,"div",1),ao(4,"div",2),ao(5,"div",3),co(6,"router-outlet"),lo(),lo(),lo(),lo())},directives:[Qv,Jv,ef],styles:[".app-container[_ngcontent-%COMP%]{height:100%;display:flex;justify-content:center}.app-container[_ngcontent-%COMP%] .app-content[_ngcontent-%COMP%]{min-width:calc(100% - 20em)}.app-container[_ngcontent-%COMP%] .app-content[_ngcontent-%COMP%] .portal-container[_ngcontent-%COMP%]{height:calc(100vh - 100px);margin-top:.3em}.app-container[_ngcontent-%COMP%] .app-content[_ngcontent-%COMP%] .portal-container[_ngcontent-%COMP%] .tab-content[_ngcontent-%COMP%]{padding:1em;height:100%}"]}),e})(),Xv=(()=>{class e{constructor(){}intercept(e,t){return t.handle(e).pipe(th(t=>(!0===e.context.get(wv)||404===t.status&&alert("The proxy was not ready. Please try it later."),rm(t))))}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=ae({token:e,factory:e.\u0275fac}),e})();const ey=["menu"];function ty(e,t){if(1&e&&(ao(0,"li",4),ao(1,"a",5,6),Ao(3),lo(),lo()),2&e){const e=t.$implicit,n=bo();Ui(1),so("href",n.getHash(e),$r),Ui(2),Po(e)}}function ny(e,t){if(1&e){const e=po();uo(0),ao(1,"div",7),mo("click",function(){return It(e),bo().moveTop()}),co(2,"fa-icon",8),ao(3,"span"),Ao(4,"Back to the top"),lo(),lo(),ho()}if(2&e){const e=bo();Ui(2),so("icon",e.icon)}}let ry=(()=>{class e{constructor(){this.showBackTop=!1,this.currentIndex=-1,this.icon=wf}ngAfterViewInit(){addEventListener("scroll",e=>{var t,n;this.showBackTop=window.innerHeight+Math.round(document.documentElement.scrollTop)>=document.body.scrollHeight,null===(t=this.sections)||void 0===t||t.toArray().forEac
1h((e,t)=>{var n,r;this.isInViewport(e)&&(this.currentIndex=t,null===(r=null===(n=this.menu)||void 0===n?void 0:n.get(t))||void 0===r||r.nativeElement.classList.add("active"))}),null===(n=this.sections)||void 0===n||n.toArray().forEach((e,t)=>{var n,r;t!==this.currentIndex&&(null===(r=null===(n=this.menu)||void 0===n?void 0:n.get(t))||void 0===r||r.nativeElement.classList.remove("active"))})})}isInViewport(e){return e.nativeElement.getBoundingClientRect().top<0}getHash(e){return`#${this.getIdFromTitle(e)}`}moveTop(){window.scrollTo(0,0)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-doc-reviewer-container"]],viewQuery:function(e,t){if(1&e&&cl(ey,5),2&e){let e;ll(e=ul())&&(t.menu=e)}},inputs:{titles:"titles",sections:"sections",getIdFromTitle:"getIdFromTitle"},decls:8,vars:2,consts:[[1,"doc-reviewer"],[1,"title"],["class","doc-reviewer-item",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"doc-reviewer-item"],[3,"href"],["menu",""],[1,"show-back-top",3,"click"],[3,"icon"]],template:function(e,t){1&e&&(ao(0,"div",0),ao(1,"nav"),ao(2,"header"),ao(3,"div",1),Ao(4,"On this page"),lo(),lo(),ao(5,"ul"),ro(6,ty,4,2,"li",2),lo(),ro(7,ny,5,1,"ng-container",3),lo(),lo()),2&e&&(Ui(6),so("ngForOf",t.titles),Ui(1),so("ngIf",t.showBackTop))},directives:[Fc,Uc,Wg],styles:['.doc-reviewer[_ngcontent-%COMP%]{width:17em;height:20em;position:fixed;top:2.5em;right:2.5em;font-family:Inter Tight,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;background:var(--background-secondary)}.doc-reviewer[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:400;text-align:start;margin:0 0 1.5em 1em;font-size:1.3em;color:var(--foreground-default)}.doc-reviewer[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{list-style:none;padding-left:2.5em}.doc-reviewer[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] .doc-reviewer-item[_ngcontent-%COMP%]{padding-bottom:1em;position:relative;height:2.5em}.doc-reviewer[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] .doc-reviewer-item[_ngcontent-%COMP%]:not(:last-child):before{content:"";position:absolute;left:-1em;top:.8em;border-left:1px solid var(--background-gray);height:3.5em}.doc-reviewer[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] .doc-reviewer-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{height:3.5em;text-decoration:none;color:oklch(44% .019 306.08);position:relative}.doc-reviewer[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] .doc-reviewer-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:before{content:"";height:.6em;width:.6em;background-color:var(--background-gray);border-radius:100em;margin-right:1em;display:inline-block;position:absolute;top:.4em;left:-1.2em}.doc-reviewer[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] .doc-reviewer-item[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{color:var(--foreground-active)}
1.doc-reviewer[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] .doc-reviewer-item[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]:before{content:"";background-color:var(--foreground-active)}.doc-reviewer[_ngcontent-%COMP%] .show-back-top[_ngcontent-%COMP%]{margin-left:1em;cursor:pointer}.doc-reviewer[_ngcontent-%COMP%] .show-back-top[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-top:2em;margin-left:.3em}@media screen and (max-width: 1300px){.doc-reviewer[_ngcontent-%COMP%]{visibility:hidden;display:none}}']}),e})();const iy=["previous"],sy=["next"];let oy=(()=>{class e{constructor(e,t){this.location=e,this.router=t,this.sideBarList=zv,this.currentRoute="/home",t.events.subscribe(t=>{if(""!=e.path()){const t=e.path().split("/");this.currentRoute=`/${t[1]}`}})}ngAfterViewInit(){var e,t,n,r;const i=[...Uv.keys()],s=i.findIndex(e=>e===this.currentRoute);s-1>=0?null===(e=this.previous)||void 0===e||e.nativeElement.classList.add("active"):null===(t=this.previous)||void 0===t||t.nativeElement.classList.remove("active"),s+1<i.length?null===(n=this.next)||void 0===n||n.nativeElement.classList.add("active"):null===(r=this.next)||void 0===r||r.nativeElement.classList.remove("active")}previousPage(){const e=[...Uv.keys()],t=e.findIndex(e=>e===this.currentRoute);t-1>=0&&this.router.navigate([e[t-1]])}nextPage(){const e=[...Uv.keys()],t=e.findIndex(e=>e===this.currentRoute);t+1<e.length&&this.router.navigate([e[t+1]])}}return e.\u0275fac=function(t){return new(t||e)(io(Ec),io(Jp))},e.\u0275cmp=De({type:e,selectors:[["app-navigation-button-container"]],viewQuery:function(e,t){if(1&e&&(cl(iy,5,Qo),cl(sy,5,Qo)),2&e){let e;ll(e=ul())&&(t.previous=e.first),ll(e=ul())&&(t.next=e.first)}},decls:7,vars:0,consts:[[1,"button-container"],[3,"click"],["previous",""],["next",""]],template:function(e,t){1&e&&(ao(0,"div",0),ao(1,"button",1,2),mo("click",function(){return t.previousPage()}),Ao(3,"<"),lo(),ao(4,"button",1,3),mo("click",function(){return t.nextPage()}),Ao(6,">"),lo(),lo())},styles:[".button-container[_ngcontent-%COMP%]{margin-left:1em;display:flex;justify-content:center;align-items:center}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:2.5em;height:2.5em;margin-left:.3em;font-size:.5em;border-radius:.3em;background-color:var(--background-default);border:1px solid var(--background-gray);color:var(--background-gray);cursor:pointer}.button-container[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{border:1px solid var(--foreground-active);color:var(--foreground-default);font-weight:500;transition:background 1s}.button-container[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]:hover{font-weight:700;color:var(--background-gray);opacity:.9;background-color:var(--foreground-active)}
1"]}),e})(),ay=(()=>{class e{constructor(){this.authorUrl=Mm}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=De({type:e,selectors:[["app-footer-container"]],decls:8,vars:1,consts:[[1,"footer-container"],[1,"item"],[3,"href"]],template:function(e,t){1&e&&(ao(0,"div",0),ao(1,"div",1),co(2,"app-navigation-button-container"),lo(),ao(3,"div",1),Ao(4," Curated by "),ao(5,"a",2),Ao(6,"Jen-hsuan Hsieh (Sean)"),lo(),Ao(7," \xa9 2024 - 2034 "),lo(),lo()),2&e&&(Ui(5),so("href",t.authorUrl,$r))},directives:[oy],styles:[".footer-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;color:var(--primary-default);height:6.25em;width:100%;text-align:end;font-size:.9em;font-family:Inter Tight,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.footer-container[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{margin-left:2em}"]}),e})(),ly=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Ve({type:e,bootstrap:[Kv]}),e.\u0275inj=le({providers:[{provide:gm,useValue:{fullLibraryLoader:()=>n.e(62).then(n.bind(n,9062))}},{provide:lv,useClass:Xv,multi:!0}],imports:[[Iu,Bv,bv,wm,Gg]]}),e})();!function(e,t,n){const r=e.\u0275cmp;r.directiveDefs=()=>t.map(Ue),r.pipeDefs=()=>n.map(He)}(em,[oy,ry,ay],[]),function(){if(Ql)throw new Error("Cannot enable prod mode after platform setup.");Gl=!1}(),xu().bootstrapModule(ly).catch(e=>console.error(e))}},e=>{"use strict";e(e.s=4477)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.