|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Program Files/NVIDIA Corporation/NVIDIA app/www/ |
Upload File : |
"use strict";(self.webpackChunknvapp=self.webpackChunknvapp||[]).push([[588],{26588:(Ze,R,r)=>{r.r(R),r.d(R,{HomeModule:()=>Ye});var b=r(92602),x=r(58108),X=r(37202),y=r(14354),t=r(58527),F=r(31315),q=r(36877),D=r(65706),H=r(34593),g=r(45768),j=r(42578),w=r(94645),E=r(125),l=r(1242),h=r(26772),p=r(83128),S=r(75919),J=r(31627),W=r(3960),K=r(30081),f=r(12667);let Z=(()=>{class n{constructor(e,a){this.router=a,this.logger=e.getLogger("LcarsUriActionHandlerService")}handleLcarsUriAction(e){if(this.logger.info("Action:",e),e.startsWith(f.wY.NvApp))switch(e.replace(f.wY.NvApp+"://","")?.toLowerCase()){case f.tI.Redeem:this.router.navigate([h.f.Rewards]);break;case f.tI.Drivers:this.router.navigate([h.f.Drivers]);break;case f.tI.GraphicsSettings:this.router.navigate([h.f.Manage3dSettings]);break;case f.tI.AppSettings:this.router.navigate([h.f.Preferences]);break;default:this.logger.info("No action defined in client",e)}else e.startsWith(f.wY.Http)?window.open(e,"_blank"):this.logger.error("Not a valid URI",e)}static{this.\u0275fac=function(a){return new(a||n)(t.KVO(b.J6),t.KVO(y.Ix))}}static{this.\u0275prov=t.jDH({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var tt=r(37898),et=r(13102),nt=r(51917),at=r(58474),it=r(78812),ot=r(21172),rt=r(72004),m=r(61142),st=r(77970),lt=r(53484),ct=r(2218),I=r(54676),P=r(47973),N=r(29370),pt=r(99204),O=r(31308),v=r(3457),dt=r(58590),gt=r(93964),M=r(96542);const mt=["*"];let ut=(()=>{class n{static{this.\u0275fac=function(a){return new(a||n)}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-base-tile"]],inputs:{text:"text"},ngContentSelectors:mt,decls:5,vars:3,consts:[[1,"base-tile-card","geometry-rounded-lg"],[1,"font-color-primary","text"]],template:function(a,i){1&a&&(t.NAR(),t.j41(0,"div",0)(1,"div",1),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.SdG(4),t.k0s()),2&a&&(t.R7$(2),t.JRh(t.bMT(3,1,i.text)))},dependencies:[M.D9],styles:["[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsified-text-with-tooltip[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.ellipsified-text-with-tooltip.multi-line-ellipsis[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;white-space:wrap}.ellipsified-text-with-tooltip.single-line-ellipsis[_ngcontent-%COMP%]{white-space:nowrap}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px;--rwd-container-width: 100vw}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%], .base-tile-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.base-tile-card[_ngcontent-%COMP%]{width:var(--program-tile-width);height:var(--program-tile-height-with-padding);max-width:var(--program-tile-max-width);max-height:var(--program-tile-max-height-with-padding);border:solid 2px var(--base-tile-card-border-color);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;gap:10px}.base-tile-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{padding:0 16px;-webkit-box-orient:vertical;-webkit-line-clamp:4;display:-webkit-box}"]})}}return n})();var _t=r(62302),ht=r(4356),vt=r(26513),$=r(80583),B=r(12532),ft=r(43848),L=r(91384),bt=r(14714),Ct=r(83915),xt=r(72147),C=r(8619),u=r(53698),_=r(76062),wt=r(62668),Mt=r(87801),V=r(97888),yt=r(98504),T=r(44296),St=r(20288),A=r(28139),It=r(61090);const Pt=n=>({"hero-img-blurred":n});function Ot(n,o){if(1&n){const e=t.RV6();t.j41(0,"img",25),t.bIt("error",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.fallbackToDefaultHeroImage())}),t.k0s()}if(2&n){const e=t.XpG(2);t.Y8G("src",e.heroImageUrl,t.B4B)("alt",e.appMetadata.title)("ngClass",t.eq3(3,Pt,e.showHoverState))}}function Tt(n,o){if(1&n){const e=t.RV6();t.j41(0,"img",26),t.bIt("error",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.fallbackToDefaultAppIcon())}),t.k0s()}if(2&n){const e=t.XpG(2);t.Y8G("src",e.appIconUrl,t.B4B)("alt",e.appMetadata.title)}}function At(n,o){if(1&n&&(t.j41(0,"span",27),t.EFF(1),t.k0s()),2&n){const e=t.XpG(2);t.R7$(),t.SpI("",null==e.appMetadata?null:e.appMetadata.shortDescription," ")}}function kt(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.SpI(" - ",t.bMT(2,1,"drivers.installed")," "))}function Gt(n,o){if(1&n&&(t.j41(0,"div",28)(1,"span"),t.EFF(2),t.k0s(),t.DNE(3,kt,3,3,"span",14),t.k0s()),2&n){const e=t.XpG(2);t.R7$(2),t.JRh((null==e.appStatus?null:e.appStatus.version)||(null==e.appMetadata?null:e.appMetadata.version)),t.R7$(),t.Y8G("ngIf",(null==e.appStatus?null:e.appStatus.status)===e.installStatusStates.Installed||e.isPartiallyInstalled)}}function Rt(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.tryInBrowser")))}function Ft(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.openInBrowser")))}function jt(n,o){if(1&n){const e=t.RV6();t.j41(0,"button",33),t.bIt("click",function(){t.eBV(e);const i=t.XpG(3);return t.Njj(i.onTryInBrowser(null==i.appStatus?null:i.appStatus.status))}),t.qex(1),t.DNE(2,Rt,3,3,"span",14)(3,Ft,3,3,"span",14),t.bVm(),t.k0s()}if(2&n){const e=t.XpG(3);t.R7$(2),t.Y8G("ngIf",(null==e.appStatus?null:e.appStatus.status)!==e.installStatusStates.Installed&&!e.isPartiallyInstalled),t.R7$(),t.Y8G("ngIf",(null==e.appStatus?null:e.appStatus.status)===e.installStatusStates.Installed||e.isPartiallyInstalled)}}function Et(n,o){if(1&n){const e=t.RV6();t.j41(0,"button",33),t.bIt("click",function(){t.eBV(e);const i=t.XpG(3);return t.Njj(i.onRemoveClick())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&n&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"layout.apps.uninstall")," "))}function Nt(n,o){if(1&n){const e=t.RV6();t.qex(0),t.j41(1,"button",29),t.bIt("mouseenter",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.j41(2,"mat-icon",30),t.EFF(3,"more_vert"),t.k0s()(),t.j41(4,"mat-menu",31,0),t.DNE(6,jt,4,2,"button",32)(7,Et,3,3,"button",32),t.nI1(8,"async"),t.k0s(),t.bVm()}if(2&n){const e=t.sdS(5),a=t.XpG(2);t.R7$(),t.Y8G("matMenuTriggerFor",e)("tabindex",a.showHoverState?0:-1),t.R7$(5),t.Y8G("ngIf",null==a.appMetadata?null:a.appMetadata.browserClientUrl),t.R7$(),t.Y8G("ngIf",(t.bMT(8,4,a.openStateObservable$)||a.isUpdateAvailable||a.isPartiallyInstalled)&&!a.isUnInstallationTriggered)}}function $t(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",34)(1,"p",35),t.EFF(2),t.k0s(),t.j41(3,"div",36)(4,"a",37),t.nI1(5,"translate"),t.bIt("click",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.onLearnMore())}),t.EFF(6),t.nI1(7,"translate"),t.k0s()()()}if(2&n){const e=t.XpG(2);t.R7$(2),t.SpI(" ",null==e.appMetadata?null:e.appMetadata.longDescription," "),t.R7$(2),t.qtP("aria-label","",null==e.appMetadata?null:e.appMetadata.longDescription," ",t.bMT(5,6,"common.learnMore"),""),t.Y8G("tabindex",e.showHoverState?0:-1),t.R7$(2),t.SpI(" ",t.bMT(7,8,"common.learnMore")," ")}}function Bt(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",38),t.nrm(1,"mat-icon",39),t.j41(2,"span",40),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"a",41),t.bIt("click",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.onSeeWhy())})("mouseenter",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.EFF(6),t.nI1(7,"translate"),t.k0s()()}if(2&n){const e=t.XpG(2);t.R7$(3),t.SpI(" ",t.bMT(4,3,"layout.apps.appUnsupported")," "),t.R7$(2),t.Y8G("tabindex",e.showHoverState?0:-1),t.R7$(),t.SpI(" ",t.bMT(7,5,"layout.apps.seewhy")," ")}}function Lt(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",42)(1,"button",43),t.nI1(2,"translate"),t.bIt("click",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.onOpenInBrowser())}),t.j41(3,"span"),t.EFF(4),t.nI1(5,"translate"),t.nI1(6,"uppercase"),t.k0s(),t.j41(7,"mat-icon",44),t.EFF(8,"open_in_new"),t.k0s()()()}if(2&n){const e=t.XpG(2);t.R7$(),t.Y8G("tabindex",e.showHoverState?0:-1),t.BMQ("aria-label",t.bMT(2,3,"layout.apps.openInBrowser")),t.R7$(3),t.JRh(t.bMT(6,7,t.bMT(5,5,"layout.apps.openInBrowser")))}}function Vt(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",42)(1,"button",45),t.bIt("click",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.onOpenClick())})("mouseenter",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s()()}if(2&n){const e=t.XpG(2);t.R7$(),t.Y8G("tabindex",e.showHoverState?0:-1),t.R7$(),t.SpI(" ",t.bMT(4,4,t.bMT(3,2,"layout.apps.open"))," ")}}function Ut(n,o){if(1&n){const e=t.RV6();t.j41(0,"button",45),t.bIt("click",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.onGetClick())})("mouseenter",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.updateHoverState(!0))}),t.EFF(1),t.nI1(2,"translate"),t.nI1(3,"uppercase"),t.k0s()}if(2&n){const e=t.XpG(5);t.Y8G("tabindex",e.showHoverState?0:-1),t.R7$(),t.SpI(" ",t.bMT(3,4,t.bMT(2,2,"layout.apps.get"))," ")}}function Xt(n,o){if(1&n){const e=t.RV6();t.qex(0),t.j41(1,"button",51),t.bIt("click",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.onGetClick())})("mouseenter",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.updateHoverState(!0))}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s(),t.j41(5,"button",52),t.bIt("mouseenter",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.updateHoverState(!0))}),t.j41(6,"mat-icon",53),t.EFF(7,"keyboard_arrow_down"),t.k0s()(),t.j41(8,"mat-menu",31,1)(10,"button",54),t.bIt("click",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.onOpenClick())}),t.EFF(11),t.nI1(12,"translate"),t.k0s()(),t.bVm()}if(2&n){const e=t.sdS(9),a=t.XpG(5);t.R7$(),t.Y8G("tabindex",a.showHoverState?0:-1),t.R7$(),t.SpI(" ",t.bMT(4,7,t.bMT(3,5,"layout.apps.update"))," "),t.R7$(3),t.Y8G("matMenuTriggerFor",e)("tabindex",a.showHoverState?0:-1),t.R7$(6),t.SpI(" ",t.bMT(12,9,"layout.apps.open")," ")}}function qt(n,o){if(1&n&&(t.j41(0,"div",49),t.DNE(1,Ut,4,6,"button",50)(2,Xt,13,11,"ng-container",14),t.k0s()),2&n){const e=t.XpG(4);t.R7$(),t.Y8G("ngIf",!e.isUpdateAvailable&&!e.isPartiallyInstalled),t.R7$(),t.Y8G("ngIf",e.isUpdateAvailable||e.isPartiallyInstalled)}}function Dt(n,o){if(1&n&&(t.qex(0),t.DNE(1,qt,3,2,"div",48),t.bVm()),2&n){const e=t.XpG().ngIf,a=t.XpG(2);t.R7$(),t.Y8G("ngSwitchCase",a.getState.includes(e)?e:"")}}function Ht(n,o){1&n&&(t.j41(0,"label",64),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.downloading")))}function Yt(n,o){1&n&&(t.j41(0,"label",64),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.downloadingUpdate")))}function zt(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",65)(1,"button",66),t.bIt("click",function(){t.eBV(e);const i=t.XpG(4);return t.Njj(i.onStopDownloadClick())}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s()()}if(2&n){const e=t.XpG(4);t.R7$(),t.Y8G("disabled",e.isDownloadVerifying)("tabindex",e.showHoverState?0:-1),t.R7$(),t.SpI(" ",t.bMT(4,5,t.bMT(3,3,"layout.apps.cancel"))," ")}}function Qt(n,o){if(1&n&&(t.j41(0,"div",55),t.nrm(1,"mat-progress-bar",56),t.nI1(2,"translate"),t.j41(3,"div",57)(4,"div",58),t.DNE(5,Ht,3,3,"label",59)(6,Yt,3,3,"label",59),t.j41(7,"div",60)(8,"label",61),t.EFF(9),t.nI1(10,"convertBytesToKBMBGB"),t.nI1(11,"convertBytesToKBMBGB"),t.k0s(),t.j41(12,"label",61)(13,"span",62),t.EFF(14,"-"),t.k0s(),t.EFF(15),t.nI1(16,"convertBytesToKBMBGB"),t.k0s()()(),t.DNE(17,zt,5,7,"div",63),t.k0s()()),2&n){const e=t.XpG(3);t.R7$(),t.Y8G("mode",(null==e.downloadProgressStatus?null:e.downloadProgressStatus.percentComplete)>0?"determinate":"indeterminate")("value",e.downloadProgressStatus.percentComplete),t.BMQ("aria-label",t.bMT(2,12,"layout.apps.downloading"))("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",e.downloadProgressStatus.percentComplete),t.R7$(4),t.Y8G("ngIf",!e.isUpdateAvailable&&!e.isPartiallyInstalled),t.R7$(),t.Y8G("ngIf",e.isUpdateAvailable||e.isPartiallyInstalled),t.R7$(3),t.Lme(" ",t.bMT(10,14,e.downloadProgressStatus.bytesDone),"/",t.bMT(11,16,e.downloadProgressStatus.totalBytes)," "),t.R7$(6),t.SpI(" ",t.bMT(16,18,e.downloadProgressStatus.downloadSpeed),"/sec "),t.R7$(2),t.Y8G("ngIf",(null==e.downloadProgressStatus?null:e.downloadProgressStatus.percentComplete)>0)}}function Jt(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.installing")))}function Wt(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.installingUpdate")))}function Kt(n,o){if(1&n&&(t.j41(0,"div",69),t.DNE(1,Jt,3,3,"label",70)(2,Wt,3,3,"label",70),t.k0s()),2&n){const e=t.XpG(5);t.R7$(),t.Y8G("ngIf",!e.isUpdateAvailable&&!e.isPartiallyInstalled),t.R7$(),t.Y8G("ngIf",e.isUpdateAvailable||e.isPartiallyInstalled)}}function Zt(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.queued")))}function te(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.queuedForUpdate")))}function ee(n,o){if(1&n&&(t.j41(0,"div",69),t.DNE(1,Zt,3,3,"label",70)(2,te,3,3,"label",70),t.k0s()),2&n){const e=t.XpG(5);t.R7$(),t.Y8G("ngIf",!e.isUpdateAvailable&&!e.isPartiallyInstalled),t.R7$(),t.Y8G("ngIf",e.isUpdateAvailable||e.isPartiallyInstalled)}}function ne(n,o){if(1&n&&(t.j41(0,"div",55),t.nrm(1,"mat-progress-bar",67),t.DNE(2,Kt,3,2,"div",68)(3,ee,3,2,"div",68),t.k0s()),2&n){const e=t.XpG(4);t.R7$(2),t.Y8G("ngIf",!e.isInstallationQueued),t.R7$(),t.Y8G("ngIf",e.isInstallationQueued)}}function ae(n,o){if(1&n&&(t.qex(0),t.DNE(1,ne,4,2,"div",47),t.bVm()),2&n){const e=t.XpG(3);t.R7$(),t.Y8G("ngSwitchCase",e.downloadProgressState.DownloadFinished)}}function ie(n,o){if(1&n&&(t.qex(0)(1,46),t.DNE(2,Dt,2,1,"ng-container",14),t.qex(3),t.DNE(4,Qt,18,20,"div",47),t.bVm(),t.DNE(5,ae,2,1,"ng-container",14),t.bVm()()),2&n){const e=o.ngIf,a=t.XpG(2);t.R7$(),t.Y8G("ngSwitch",e),t.R7$(),t.Y8G("ngIf",!a.downloadOrInstallTriggered&&!a.isUnInstallationTriggered),t.R7$(2),t.Y8G("ngSwitchCase",a.downloadingState.includes(e)?e:""),t.R7$(),t.Y8G("ngIf",a.downloadOrInstallTriggered)}}function oe(n,o){1&n&&(t.qex(0),t.j41(1,"div",55),t.nrm(2,"mat-progress-bar",67),t.j41(3,"div",69)(4,"label",71),t.EFF(5),t.nI1(6,"translate"),t.k0s()()(),t.bVm()),2&n&&(t.R7$(5),t.JRh(t.bMT(6,1,"layout.apps.uninstalling")))}function re(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",49)(1,"button",45),t.bIt("click",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.onGetClick())})("mouseenter",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s()()}if(2&n){const e=t.XpG(2);t.R7$(),t.Y8G("tabindex",e.showHoverState?0:-1),t.R7$(),t.SpI(" ",t.bMT(4,4,t.bMT(3,2,"layout.apps.get"))," ")}}function se(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",3),t.bIt("mouseenter",function(){t.eBV(e);const i=t.XpG();return t.Njj(i.updateHoverState(!0))})("mouseleave",function(){t.eBV(e);const i=t.XpG();return t.Njj(i.updateHoverState(!1))}),t.j41(1,"div",4),t.DNE(2,Ot,1,5,"img",5),t.j41(3,"div",6)(4,"div",7)(5,"div",8),t.DNE(6,Tt,1,2,"img",9),t.j41(7,"div",10)(8,"span",11),t.EFF(9),t.k0s(),t.DNE(10,At,2,1,"span",12)(11,Gt,4,2,"div",13),t.k0s()(),t.DNE(12,Nt,9,6,"ng-container",14),t.nI1(13,"async"),t.k0s(),t.DNE(14,$t,8,10,"div",15),t.k0s(),t.nrm(15,"div",16)(16,"div",17)(17,"div",18)(18,"div",19)(19,"div",20),t.k0s(),t.j41(20,"div",21),t.DNE(21,Bt,8,7,"div",22)(22,Lt,9,9,"div",23)(23,Vt,5,6,"div",23),t.nI1(24,"async"),t.DNE(25,ie,6,4,"ng-container",14),t.nI1(26,"async"),t.DNE(27,oe,7,3,"ng-container",14)(28,re,5,6,"div",24),t.k0s()()}if(2&n){const e=t.XpG();t.FS9("id",null==e.appMetadata?null:e.appMetadata.id),t.R7$(2),t.Y8G("ngIf",e.heroImageUrl),t.R7$(4),t.Y8G("ngIf",e.appIconUrl),t.R7$(3),t.JRh(null==e.appMetadata?null:e.appMetadata.title),t.R7$(),t.Y8G("ngIf",!e.showHoverState),t.R7$(),t.Y8G("ngIf",e.showHoverState),t.R7$(),t.Y8G("ngIf",(t.bMT(13,14,e.openStateObservable$)||e.isUpdateAvailable||e.isPartiallyInstalled)&&!e.isUnInstallationTriggered||(null==e.appMetadata?null:e.appMetadata.browserClientUrl)),t.R7$(2),t.Y8G("ngIf",e.showHoverState),t.R7$(7),t.Y8G("ngIf",e.appMetadata.systemRequirementsUrl&&!(null!=e.appMetadata&&e.appMetadata.supported)&&!e.appMetadata.browserClientUrl),t.R7$(),t.Y8G("ngIf",!(null!=e.appMetadata&&e.appMetadata.supported)&&e.appMetadata.browserClientUrl),t.R7$(),t.Y8G("ngIf",t.bMT(24,16,e.openStateObservable$)&&!e.isUnInstallationTriggered),t.R7$(2),t.Y8G("ngIf",t.bMT(26,18,e.getStateObservable$)),t.R7$(2),t.Y8G("ngIf",e.isUnInstallationTriggered),t.R7$(),t.Y8G("ngIf",e.appStatusNotFound)}}let le=(()=>{class n{constructor(e,a,i){this.loggingService=e,this.appCardService=a,this.ngZone=i,this.downloadProgressState=u.dJ,this.getState=[u.dJ.DownloadStatusPending,u.dJ.DownloadFinished,u.dJ.DownloadStatusPaused],this.downloadingState=[u.dJ.DownloadStarted,u.dJ.DownloadTriggered],this.downloadOrInstallTriggered=!1,this.isInstallationQueued=!1,this.isUnInstallationTriggered=!1,this.isUpdateAvailable=!1,this.isPartiallyInstalled=!1,this.installStatusStates=_.Py,this.openStateSubject=new vt.t(!1),this.getStateSubject=new $.B7,this.openStateObservable$=this.openStateSubject.asObservable(),this.getStateObservable$=this.getStateSubject.asObservable(),this.appStatusNotFound=!1,this.destroyRef=(0,t.WQX)(t.abz),this.logger=this.loggingService.getLogger("nvapp/AppCardComponent")}ngOnChanges(e){if(!e.appMetadata?.firstChange&&this.appMetadata.supported&&e.appMetadata?.currentValue){const a=this.appStatus,i=e.appMetadata.currentValue.installStatus;a&&i&&(a.status!==i.status||a.version!==i.version)&&(this.logger.info(`For ${this.appMetadata.id} previousInstallStatus\n ${a.status} ${a.version}\n and currentInstallStatus are different ${i.status}\n ${i.version}`),this.getInstalledStatus(!1))}!1===e.inFocus?.firstChange&&this.onFocusChange(this.inFocus?"program":null)}ngOnInit(){this.heroImageUrl=this.appMetadata.images?.HERO_IMAGE||h.qA,this.appIconUrl=this.appMetadata.images?.GAME_ICON||S.zN,this.appMetadata.supported&&(this.listenNotifications(),this.getInstalledStatus(!0),this.getAppCardStatus())}onGetClick(){this.downloadProgressStatus?.downloadStatus===u.hF.Undefined&&this.appCardService.getIsDownloadStatusRequestTimeout()||this.appStatusNotFound?this.appCardService.showOptionalPluginErrorToastOnButton():(this.downloadOrInstallTriggered=!0,this.appMetadata.isUpdateAvailable=this.checkIsUpdateAvailable(this.appStatus),this.appCardService.triggerGetState(this.appMetadata,this.downloadProgressStatus))}onOpenClick(){this.launchAppSub?.unsubscribe(),this.launchAppSub=this.appCardService.launchApp(this.appMetadata).subscribe()}onStopDownloadClick(){this.stopDownloadSub?.unsubscribe(),this.stopDownloadSub=this.stopDownload().subscribe()}onRemoveClick(){this.isUnInstallationTriggered=!0,this.appCardService.removeApp(this.appMetadata)}fallbackToDefaultHeroImage(){const e=`Error loading hero image for id ${this.appMetadata.id} version ${this.appMetadata.version} using fallback`;this.logger.warn(e),this.appCardService.handleResourceLoadError(this.heroImageUrl,e),this.heroImageUrl=h.qA}fallbackToDefaultAppIcon(){const e=`Error loading app icon for id ${this.appMetadata.id} version ${this.appMetadata.version} using fallback`;this.logger.warn(e),this.appCardService.handleResourceLoadError(this.appIconUrl,e),this.appIconUrl=S.zN}updateHoverState(e){this.showHoverState=e}onFocusChange(e){this.ngZone.run(()=>{this.updateHoverState(!!e)})}onOpenInBrowser(){this.appCardService.onAppLinks(this.appMetadata.browserClientUrl,l.nx.OpenInBrowserUnsupported,this.appMetadata)}onSeeWhy(){this.appCardService.onAppLinks(this.appMetadata.systemRequirementsUrl,l.nx.SeeWhy,this.appMetadata)}onTryInBrowser(e){this.appCardService.onAppLinks(this.appMetadata.browserClientUrl,e===_.Py.Installed?l.nx.OpenInBrowser:l.nx.TryInBrowser,this.appMetadata)}onLearnMore(){this.appCardService.onAppLinks(this.appMetadata.learnMoreUrl,l.nx.LearnMore,this.appMetadata)}getAppCardStatus(){const e=this.appCardService.getAppCardStatus(this.appMetadata.componentName);this.isInstallationQueued=e?.isInstallationQueued,this.isUnInstallationTriggered=e?.isUnInstallationTriggered,this.downloadOrInstallTriggered=e?.downloadOrInstallTriggered}stopDownload(){return this.appCardService.stopDownload(this.appMetadata,this.downloadProgressStatus.taskId).pipe((0,L.M)(e=>{this.logger.info("download stop finished",e),this.downloadProgressStatus=e,this.updateGetState(e),this.downloadOrInstallTriggered=!1}),(0,bt.W)(e=>(this.downloadOrInstallTriggered=!1,this.logger.error("download stop failed with Error: ",e),B.w)))}showOpen(){this.openStateSubject.next(this.appMetadata.supported&&this.installStatus===_.Py.Installed&&!this.isUpdateAvailable),this.getStateSubject.next("")}getInstalledStatus(e){const a=this.appCardService.getInstalledStatusForApps([this.appMetadata]).pipe((0,Ct.T)(s=>s.apps.filter(c=>c.name===this.appMetadata.componentName)[0]));(e?a:(0,ft.of)(this.appMetadata.installStatus)).pipe((0,xt.n)(s=>(this.logger.info(`install status for ${this.appMetadata.title}`,s),this.appStatus=s,this.installStatus=s?.status,this.isPartiallyInstalled=s?.status===_.Py.PartiallyInstalled,this.isUpdateAvailable=this.checkIsUpdateAvailable(s),this.appMetadata.isUpdateAvailable=this.isUpdateAvailable,this.logger.info(`Update available for ${this.appMetadata.title} ${this.appMetadata.version}`,this.isUpdateAvailable),s.status===_.Py.NotInstalled||this.isUpdateAvailable||this.isPartiallyInstalled?(this.openStateSubject.next(!1),this.appCardService.getDownloadStatus(this.appMetadata)):(this.showOpen(),B.w))),(0,L.M)(s=>{this.logger.info(`DownloadProgressStatus for ${this.appMetadata.title}`,s),this.downloadProgressStatus=s,this.updateGetState(s)}),(0,g.pQ)(this.destroyRef)).subscribe(()=>{this.logger.info(`Installed status done for ${this.appMetadata.title}:`)},s=>{this.logger.error("Installed status checks failed with Error: ",s),this.appStatusNotFound=s.code===w._O||s instanceof wt.n})}listenNotifications(){this.getDownloadProgress(),this.listenForEnqueuedNotification(),this.listenForDequeuedNotification(),this.listenForAppActionNotification(),this.listenForAppActionFinishedNotification()}getDownloadProgress(){this.appCardService.getAppDownloadProgress().pipe((0,C.p)(e=>this.appMetadata.componentName===e?.appMetadata.componentName),(0,g.pQ)(this.destroyRef)).subscribe(e=>{if(this.downloadProgressStatus=e?.downloadProgressStatus,this.downloadProgressStatus){const a=this.downloadProgressStatus?.downloadStatus;this.isDownloadVerifying=a===u.hF.VerifyingChecksum||a===u.hF.VerifyingSignature,this.appCardService.isNetworkErrorRetryPaused(this.downloadProgressStatus)||this.appCardService.isInvalidPackage(e.downloadProgressStatus)?(this.downloadOrInstallTriggered=!1,this.appCardService.showErrorMessage("layout.apps.downloadError",this.appMetadata),this.logger.error(`Error while downloading for status\n ${this.downloadProgressStatus.downloadStatus}\n for taskId ${this.downloadProgressStatus.taskId}\n appId ${this.appMetadata.id}`)):this.appCardService.isDownloadPaused(this.downloadProgressStatus)||this.appCardService.isDownloadCancelled(this.downloadProgressStatus)?(this.logger.info(`Download status ${this.downloadProgressStatus.downloadStatus} for taskId ${this.downloadProgressStatus.taskId} appId ${this.appMetadata.id}`),this.downloadOrInstallTriggered=!1):this.downloadOrInstallTriggered=this.appCardService.getTriggerScreen()!==l.f3.OOTB,this.updateGetState(this.downloadProgressStatus)}},e=>{this.logger.error(`Error occurred while getting download progress for ${this.appMetadata.title}`,e)})}listenForAppActionFinishedNotification(){this.appCardService.getAppActionFinishedObservable().pipe((0,C.p)(e=>this.appMetadata.componentName===e.componentName),(0,g.pQ)(this.destroyRef)).subscribe(e=>{this.logger.info("App Action Finished for ",e.title),this.downloadOrInstallTriggered=!1,this.isUnInstallationTriggered=!1,this.getInstalledStatus(!0)},e=>{this.logger.error(`Error occurred while listening for action finished notifications for ${this.appMetadata.title}`,e)})}listenForEnqueuedNotification(){this.appCardService.getEnqueuedObservable().pipe((0,C.p)(e=>this.appMetadata.componentName===e.componentName),(0,g.pQ)(this.destroyRef)).subscribe(e=>{this.logger.info(`${e.title} added to queue`),this.downloadOrInstallTriggered=!0,this.isInstallationQueued=!0},e=>{this.logger.error(`Error occurred while listening enqueued notification for ${this.appMetadata.title} ${e}`)})}listenForDequeuedNotification(){this.appCardService.getDequeuedObservable().pipe((0,C.p)(e=>this.appMetadata.componentName===e.componentName),(0,g.pQ)(this.destroyRef)).subscribe(e=>{this.logger.info(`${e.title} removed from queue`),this.isInstallationQueued=!1},e=>{this.logger.error(`Error occurred while listening dequeued notification for ${this.appMetadata.title} ${e}`)})}listenForAppActionNotification(){this.appCardService.getAppActionObservable().pipe((0,C.p)(e=>(this.logger.info("AppActionNotificationReturn:",e,this.appMetadata.componentName),this.appMetadata.componentName===e?.appName)),(0,g.pQ)(this.destroyRef)).subscribe(e=>{switch(e.actionStatus){case _.I$.ActionSuccess:case _.I$.ActionFailure:this.logger.info(`${e?.action} completed for ${e.appName} with `,e.actionStatus);break;default:this.logger.info(`${e?.action} in progress for `,e.appName),e?.action===_.rc.Install&&(this.downloadOrInstallTriggered=!0,this.appCardService.updateInstallationInProgressFlag(!0),this.getStateSubject.next(u.dJ.DownloadFinished)),e?.action===_.rc.Uninstall&&(this.isUnInstallationTriggered=!0)}},e=>{this.logger.error(`Error occurred while listening app action notification for ${this.appMetadata.title} ${e}`)})}updateGetState(e){const a=this.appCardService.getDownloadProgressState(e);this.getStateSubject.next(a),this.openStateSubject.next(!1)}updateAppCardStatus(){this.appCardService.updateAppCardStatus(this.appMetadata.componentName,{downloadOrInstallTriggered:this.downloadOrInstallTriggered,isInstallationQueued:this.isInstallationQueued,isUnInstallationTriggered:this.isUnInstallationTriggered})}checkIsUpdateAvailable(e){return!(!this.appMetadata.allowUpdate||this.installStatus!==_.Py.Installed)&&this.appCardService.isUpdateAvailable(this.appMetadata.version,e.version)}ngOnDestroy(){this.updateAppCardStatus(),this.launchAppSub?.unsubscribe(),this.stopDownloadSub?.unsubscribe()}static{this.\u0275fac=function(a){return new(a||n)(t.rXU(b.J6),t.rXU(Mt.N),t.rXU(t.SKi))}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-card"]],inputs:{appMetadata:"appMetadata",inFocus:"inFocus"},features:[t.OA$],decls:1,vars:1,consts:[["actionMenu","matMenu"],["openBtnMenu","matMenu"],["class","app-card geometry-rounded-md","fxLayout","column",3,"id","mouseenter","mouseleave",4,"ngIf"],["fxLayout","column",1,"app-card","geometry-rounded-md",3,"mouseenter","mouseleave","id"],[1,"info-container","geometry-top-rounded-md"],["class","hero-img",3,"src","alt","ngClass","error",4,"ngIf"],["fxLayout","column",1,"info"],["fxLayout","row","fxLayoutAlign","space-between start",1,"details"],["fxLayout","row","fxLayoutAlign","start start"],["class","icon",3,"src","alt","error",4,"ngIf"],["fxLayout","column"],[1,"font-sub1","title"],["class","font-body2 short-desc",4,"ngIf"],["class","font-body3 version",4,"ngIf"],[4,"ngIf"],["class","more-info","fxLayout","column",4,"ngIf"],[1,"header-layer"],[1,"info-bottom-layer-gradient"],[1,"info-top-layer-gradient"],[1,"hero-image-overlay"],[1,"info-overlay"],["fxLayout","column","fxLayoutAlign","center",1,"app-action"],["class","unsupported","fxlayout","row","fxLayoutAlign","start center",4,"ngIf"],["fxlayout","row","fxLayoutAlign","end",4,"ngIf"],["fxlayout","column","fxLayoutAlign","end center",4,"ngIf"],[1,"hero-img",3,"error","src","alt","ngClass"],[1,"icon",3,"error","src","alt"],[1,"font-body2","short-desc"],[1,"font-body3","version"],["mat-button","","fxLayout","row","fxLayoutAlign","center center",1,"menu-button","more-icon-button",3,"mouseenter","mouseleave","matMenuTriggerFor","tabindex"],[1,"material-icons"],["xPosition","before",1,"app-card-menu"],["mat-menu-item","","class","app-card-menu-item","fxLayout","row","fxLayoutAlign","start center",3,"click",4,"ngIf"],["mat-menu-item","","fxLayout","row","fxLayoutAlign","start center",1,"app-card-menu-item",3,"click"],["fxLayout","column",1,"more-info"],[1,"font-body2","long-desc","desc-line-clamp"],["fxLayout","row",1,"links"],["role","link","cdkMonitorElementFocus","",1,"font-body2-link","learn-more-link",3,"click","tabindex"],["fxlayout","row","fxLayoutAlign","start center",1,"unsupported"],["svgIcon","info",1,"color-white-hue-1","info-icon"],[1,"unsupported-text","font-body2"],["role","link","cdkMonitorElementFocus","",1,"font-body2-link",3,"click","mouseenter","mouseleave","tabindex"],["fxlayout","row","fxLayoutAlign","end"],["fxlayout","row","fxLayoutAlign","center center","mat-button","","role","link",1,"font-button2",3,"click","tabindex"],[1,"open-in-browser-icon"],["mat-raised-button","",1,"font-button2","mat-accent",3,"click","mouseenter","mouseleave","tabindex"],[3,"ngSwitch"],["fxLayout","column","class","progress-section","fxFlex","",4,"ngSwitchCase"],["fxlayout","column","fxLayoutAlign","end center",4,"ngSwitchCase"],["fxlayout","column","fxLayoutAlign","end center"],["mat-raised-button","","class","font-button2 mat-accent",3,"tabindex","click","mouseenter","mouseleave",4,"ngIf"],["fxLayout","row","fxLayoutAlign","center center","mat-raised-button","",1,"font-button2","update-button","mat-accent",3,"click","mouseenter","mouseleave","tabindex"],["mat-raised-button","",1,"split-action","mat-accent",3,"mouseenter","mouseleave","matMenuTriggerFor","tabindex"],[1,""],["mat-menu-item","","fxLayout","row","fxFlexFill","",1,"app-card-menu-btn",3,"click"],["fxLayout","column","fxFlex","",1,"progress-section"],["role","progressbar",1,"app-download-progress",3,"mode","value"],["fxLayout","row","fxFlex",""],[1,"app-download-info"],["class","font-sub3 progress-label",4,"ngIf"],[1,"download-stats"],[1,"font-body3"],[1,"spaced"],["fxlayout","row","fxLayoutAlign","end center",4,"ngIf"],[1,"font-sub3","progress-label"],["fxlayout","row","fxLayoutAlign","end center"],["mat-button","",1,"font-button2","cancel-button",3,"click","disabled","tabindex"],["mode","indeterminate"],["fxLayout","row","fxFlex","","fxLayoutAlign","start center",4,"ngIf"],["fxLayout","row","fxFlex","","fxLayoutAlign","start center"],["class","font-sub3",4,"ngIf"],[1,"font-sub3"]],template:function(a,i){1&a&&t.DNE(0,se,29,20,"div",2),2&a&&t.Y8G("ngIf",i.heroImageUrl)},dependencies:[m.YU,m.bT,m.ux,m.e1,V.Aq,I.tG,yt.tH,P.iV,N.An,T.pI,T.gy,T.fS,St.HM,O.vR,v.DJ,v.sA,v.G2,v.UI,A.PW,It.c,m.Jj,m.Pc,M.D9],styles:["[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px;--rwd-container-width: 100vw}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsified-text-with-tooltip[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.ellipsified-text-with-tooltip.multi-line-ellipsis[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;white-space:wrap}.ellipsified-text-with-tooltip.single-line-ellipsis[_ngcontent-%COMP%]{white-space:nowrap}.ellipsis[_ngcontent-%COMP%], .more-info[_ngcontent-%COMP%] .long-desc[_ngcontent-%COMP%], .details[_ngcontent-%COMP%] .short-desc[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.app-card[_ngcontent-%COMP%]{--computed-element-width: calc(3 * var(--rwd-column-size) + 2 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 52px);width:var(--computed-element-width);position:relative;background:var(--appcard-bg-color);border:var(--appcard-border-width) solid var(--appcard-border-color);z-index:1;max-width:436px;max-height:298px}.app-card[_ngcontent-%COMP%] .hero-img-blurred[_ngcontent-%COMP%]{transition:filter .2s ease-in;filter:blur(15px)}.info-container[_ngcontent-%COMP%]{width:100%;--computed-element-width: calc(3 * var(--rwd-column-size) + 2 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 0);position:relative;overflow:hidden}.info-container[_ngcontent-%COMP%] .hero-img[_ngcontent-%COMP%]{height:100%;width:100%;z-index:2}.info-container[_ngcontent-%COMP%] .info-top-layer-gradient[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;background:var(--appcard-info-top-layer-gradient-bg);z-index:4}.info-container[_ngcontent-%COMP%] .header-layer[_ngcontent-%COMP%], .info-container[_ngcontent-%COMP%] .info-bottom-layer-gradient[_ngcontent-%COMP%]{position:absolute;width:100%;z-index:4}.info-container[_ngcontent-%COMP%] .header-layer[_ngcontent-%COMP%]{background:var(--appcard-header-layer-bg)}.info-container[_ngcontent-%COMP%] .info-bottom-layer-gradient[_ngcontent-%COMP%]{background:var(--appcard-info-bottom-layer-gradient-bg)}.info-container[_ngcontent-%COMP%] .header-layer[_ngcontent-%COMP%]{height:70px;top:0;transform:rotate(-180deg)}.info-container[_ngcontent-%COMP%] .info-bottom-layer-gradient[_ngcontent-%COMP%]{height:50px;bottom:0}.info-container[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{position:absolute;z-index:6;top:0;padding:16px;width:100%}.info-container[_ngcontent-%COMP%] .hero-image-overlay[_ngcontent-%COMP%]{background:var(--appcard-hero-img-overlay-bg);z-index:3}.info-container[_ngcontent-%COMP%] .info-overlay[_ngcontent-%COMP%]{background:var(--appcard-info-overlay-bg);opacity:var(--appcard-info-overlay-opacity);z-index:5}.info-container[_ngcontent-%COMP%] .hero-image-overlay[_ngcontent-%COMP%], .info-container[_ngcontent-%COMP%] .info-overlay[_ngcontent-%COMP%]{width:100%;height:100%;position:absolute;top:0}.more-info[_ngcontent-%COMP%] .long-desc[_ngcontent-%COMP%]{-webkit-box-orient:vertical;-webkit-line-clamp:4;display:-webkit-box;margin:10px 0;color:var(--appcard-hover-moreinfo-longdesc-color)}.more-info[_ngcontent-%COMP%] .learn-more-link[_ngcontent-%COMP%]{margin-right:16px}.more-info[_ngcontent-%COMP%] .desc-line-clamp[_ngcontent-%COMP%]{-webkit-line-clamp:2}.details[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{height:24px;width:24px;margin:8px 10px 0 0}.details[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%]{padding:0;min-width:24px;height:24px;margin-top:4px}.details[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:var(--appcard-details-title-bg)}.details[_ngcontent-%COMP%] .short-desc[_ngcontent-%COMP%]{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;color:var(--appcard-short-desc-color)}.details[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{color:var(--appcard-version-color)}.unsupported[_ngcontent-%COMP%]{padding:0 15px}.unsupported[_ngcontent-%COMP%] .unsupported-text[_ngcontent-%COMP%]{margin:0 5px;color:var(--appcard-unsupported-text-color)}.unsupported[_ngcontent-%COMP%] .info-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px;color:#ffffffb3}.app-action[_ngcontent-%COMP%]{height:52px;margin-right:8px;z-index:2;background:var(--appcard-app-action-bg)}.app-action[_ngcontent-%COMP%] .progress-section[_ngcontent-%COMP%]{padding:0 8px 0 15px}.app-download-info[_ngcontent-%COMP%]{margin-top:0;display:flex;flex-direction:column;justify-content:center;flex-grow:1}.app-download-info[_ngcontent-%COMP%] .progress-label[_ngcontent-%COMP%]{line-height:16px}.app-download-info[_ngcontent-%COMP%] .download-stats[_ngcontent-%COMP%]{display:flex}.split-action[_ngcontent-%COMP%]{max-width:24px;min-width:24px;line-height:36px;padding:0;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.update-button[_ngcontent-%COMP%]{margin-right:1px;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.cancel-button[_ngcontent-%COMP%]{margin-right:-8px}.spaced[_ngcontent-%COMP%]{margin:0 0 0 4px}.open-in-browser-icon[_ngcontent-%COMP%]{width:14px;height:14px;font-size:14px;margin-left:10px}.app-card-menu-btn[_ngcontent-%COMP%]{line-height:48px}@media screen and (min-width: 304px) and (max-width: 1279px){.app-card[_ngcontent-%COMP%]{--computed-element-width: calc(4 * var(--rwd-column-size) + 3 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 52px);width:var(--computed-element-width)}.info-container[_ngcontent-%COMP%]{--computed-element-width: calc(4 * var(--rwd-column-size) + 3 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 0)}.app-download-info[_ngcontent-%COMP%] .download-stats[_ngcontent-%COMP%]{display:none}.more-info[_ngcontent-%COMP%] .desc-line-clamp[_ngcontent-%COMP%]{-webkit-line-clamp:1}}@media screen and (min-width: 1280px) and (max-width: 1440px){.app-download-info[_ngcontent-%COMP%] .download-stats[_ngcontent-%COMP%]{display:none}}"]})}}return n})();var k=function(n){return n.WideTileImageFallback="assets/img/DefaultGameArt.jpg",n}(k||{}),ce=r(54504),pe=r(51394);const de=["programImage"],ge=["tileContainer"],me=(n,o)=>({"tile-mouseover-style":n,enlarged:o}),ue=n=>({"scrim-enlarged-style geometry-bottom-rounded-md":n}),_e=n=>({background:n});function he(n,o){if(1&n){const e=t.RV6();t.j41(0,"img",15,2),t.bIt("error",function(){t.eBV(e);const i=t.XpG();return t.Njj(i.fallbackToPlaceholderImage())}),t.k0s()}if(2&n){const e=t.XpG();t.Y8G("src",e.tileImageUrl,t.B4B)("alt",e.tile.title)}}function ve(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",17),t.nrm(1,"div",18),t.j41(2,"img",15,2),t.bIt("error",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.fallbackToPlaceholderImage())}),t.k0s()()}if(2&n){const e=t.XpG(2);t.R7$(),t.Y8G("ngStyle",t.eq3(3,_e,"linear-gradient(0deg, rgba(92, 92, 92, 0.60) 0%, rgba(92, 92, 92, 0.60) 100%), url("+e.tile.boxArtImage+") bottom no-repeat, lightgray 50%")),t.R7$(),t.Y8G("src",e.tile.boxArtImage,t.B4B)("alt",e.tile.title)}}function fe(n,o){if(1&n){const e=t.RV6();t.j41(0,"img",15,2),t.bIt("error",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.fallbackToPlaceholderImage())}),t.k0s()}if(2&n){const e=t.XpG(2);t.Y8G("src",e.tileImageUrl,t.B4B)("alt",e.tile.title)}}function be(n,o){if(1&n&&t.DNE(0,ve,4,5,"div",16)(1,fe,2,2,"ng-template",null,3,t.C5r),2&n){const e=t.sdS(2),a=t.XpG();t.Y8G("ngIf",a.tile.boxArtImage)("ngIfElse",e)}}function Ce(n,o){1&n&&t.nrm(0,"div",19)}function xe(n,o){if(1&n){const e=t.RV6();t.j41(0,"button",24),t.nI1(1,"translate"),t.bIt("click",function(){t.eBV(e);const i=t.XpG(3);return t.Njj(i.goToGraphicsSettings())}),t.EFF(2),t.nI1(3,"translate"),t.k0s()}2&n&&(t.BMQ("aria-label",t.bMT(1,2,"manage3dSettings.settings")),t.R7$(2),t.SpI(" ",t.bMT(3,4,"manage3dSettings.settings")," "))}function we(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"common.launch")))}function Me(n,o){1&n&&(t.EFF(0),t.nI1(1,"translate")),2&n&&t.SpI(" ",t.bMT(1,1,"common.play")," ")}function ye(n,o){if(1&n){const e=t.RV6();t.j41(0,"button",25),t.nI1(1,"translate"),t.nI1(2,"translate"),t.bIt("click",function(){t.eBV(e);const i=t.XpG(3);return t.Njj(i.launch())}),t.DNE(3,we,3,3,"span",26)(4,Me,2,3,"ng-template",null,4,t.C5r),t.k0s()}if(2&n){const e=t.sdS(5),a=t.XpG(3);t.BMQ("aria-label",a.isCreativeApp?t.bMT(1,3,"common.launch"):t.bMT(2,5,"common.play")),t.R7$(3),t.Y8G("ngIf",a.isCreativeApp)("ngIfElse",e)}}function Se(n,o){if(1&n&&(t.j41(0,"div",21)(1,"div"),t.DNE(2,xe,4,6,"button",22),t.k0s(),t.j41(3,"div"),t.DNE(4,ye,6,7,"button",23),t.k0s()()),2&n){const e=t.XpG(2);t.R7$(2),t.Y8G("ngIf",e.hovered),t.R7$(2),t.Y8G("ngIf",e.hovered&&!(null!=e.tile.type&&e.tile.type.isManualAddition))}}function Ie(n,o){if(1&n&&(t.qex(0),t.DNE(1,Se,5,2,"div",20),t.bVm()),2&n){const e=t.XpG();t.R7$(),t.Y8G("ngIf",e.titleVisible)}}let Pe=(()=>{class n{set tvBannerImage(e){this.setImageUrl(e)}set tile(e){this._tile=e}get tile(){return this._tile}get isTileEnlarged(){return this.titleVisible&&(this.focusedFromKeyboard||this.enableMouseHoverState)}get isCreativeApp(){return this._tile?.type?.isCreativeApp??!1}constructor(e,a,i){this.loggingService=e,this.ngZone=a,this.focusManager=i,this.mouseLeaveTileEvent=new t.bkB,this.playEvent=new t.bkB,this.graphicsSettings=new t.bkB,this.titleVisible=!1,this.focusedFromKeyboard=!1,this.hovered=!1,this.enableMouseHoverState=!0,this.logger=this.loggingService.getLogger("nvapp/ProgramTileComponent"),this.destroy$=new $.B7}setImageUrl(e){this.tileImageUrl=e||k.WideTileImageFallback}fallbackToPlaceholderImage(){this.logger.warn("Error loading image for "+this.tile.title+" using fallback."),this.tileImageUrl=k.WideTileImageFallback}getContentTitle(){return this.tile.title}updateTitleVisibility(){this.titleVisible=!this.enableMouseHoverState||this.hovered||this.focusedFromKeyboard}tileMouseLeave(){this.enableMouseHoverState&&(this.hovered=!1,this.updateTitleVisibility())}onMouseOverTile(){this.enableMouseHoverState&&(this.hovered=!0,this.updateTitleVisibility())}onFocusChange(e){this.ngZone.run(()=>{this.focusedFromKeyboard="keyboard"===e,this.focusedFromKeyboard?(this.hovered=!0,this.updateTitleVisibility()):null===e&&(this.titleVisible=!1)})}launch(){this.playEvent.emit(this.tile)}goToGraphicsSettings(){this.graphicsSettings.emit(this.tile)}focus(e){document.activeElement!==this.tileContainer.nativeElement&&e&&e?.dispatchBeforeFocus&&this.focusManager.navigateTo(this.tileContainer.nativeElement,e.detail.dir,{preventScroll:!0})}ngOnDestroy(){this.programImage.nativeElement.src="",this.destroy$.next(!0),this.destroy$.complete()}static{this.\u0275fac=function(a){return new(a||n)(t.rXU(b.J6),t.rXU(t.SKi),t.rXU(x.c_))}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-program-tile"]],viewQuery:function(a,i){if(1&a&&(t.GBs(de,5),t.GBs(ge,5)),2&a){let s;t.mGM(s=t.lsd())&&(i.programImage=s.first),t.mGM(s=t.lsd())&&(i.tileContainer=s.first)}},inputs:{tvBannerImage:"tvBannerImage",tile:"tile"},outputs:{mouseLeaveTileEvent:"mouseLeaveTileEvent",playEvent:"playEvent",graphicsSettings:"graphicsSettings"},decls:14,vars:13,consts:[["tileContainer",""],["programIconImage",""],["programImage",""],["tvBannerImage",""],["gamingApp",""],[1,"program-tile-card","geometry-rounded-md",3,"ngClass"],["cdkMonitorSubtreeFocus","","nvAddKeyboardActivate","","tabindex","0",3,"mouseleave","cdkFocusChange"],[1,"constants-position-relative","geometry-top-rounded-md",3,"mouseover"],[1,"program-tile-image-container","image-container","geometry-top-rounded-md"],["class","geometry-top-rounded-md",3,"src","alt","error",4,"ngIf","ngIfElse"],["class","tile-overlay geometry-top-rounded-md",4,"ngIf"],[4,"ngIf"],[3,"mouseover","ngClass"],[1,"program-title","geometry-bottom-rounded-md"],["nvEllipsifiedTextWithTooltip","","tooltipClass","custom-tooltip mat-tooltip-font-body3","dir","auto","fxFlex","90",1,"font-body2","font-color-primary","program-tile-card-tray-text"],[1,"geometry-top-rounded-md",3,"error","src","alt"],["class","fallback-tile-icon",4,"ngIf","ngIfElse"],[1,"fallback-tile-icon"],[1,"fallback-program-icon",3,"ngStyle"],[1,"tile-overlay","geometry-top-rounded-md"],["class","program-tile-button",4,"ngIf"],[1,"program-tile-button"],["mat-raised-button","","color","accent","class","launch-button font-button2",3,"click",4,"ngIf"],["mat-button","","class","launch-button font-button2",3,"click",4,"ngIf"],["mat-raised-button","","color","accent",1,"launch-button","font-button2",3,"click"],["mat-button","",1,"launch-button","font-button2",3,"click"],[4,"ngIf","ngIfElse"]],template:function(a,i){if(1&a){const s=t.RV6();t.j41(0,"div",5)(1,"div",6,0),t.bIt("mouseleave",function(){return t.eBV(s),t.Njj(i.tileMouseLeave())})("cdkFocusChange",function(d){return t.eBV(s),t.Njj(i.onFocusChange(d))}),t.j41(3,"div",7),t.bIt("mouseover",function(){return t.eBV(s),t.Njj(i.onMouseOverTile())}),t.j41(4,"div",8),t.DNE(5,he,2,2,"img",9)(6,be,3,2,"ng-template",null,1,t.C5r)(8,Ce,1,0,"div",10)(9,Ie,2,1,"ng-container",11),t.k0s()(),t.j41(10,"div",12),t.bIt("mouseover",function(){return t.eBV(s),t.Njj(i.onMouseOverTile())}),t.j41(11,"div",13)(12,"p",14),t.EFF(13),t.k0s()()()()()}if(2&a){const s=t.sdS(7);t.Y8G("ngClass",t.l_i(8,me,i.titleVisible,i.isTileEnlarged)),t.R7$(),t.BMQ("aria-label",i.tile.title),t.R7$(4),t.Y8G("ngIf",i.tile.tvBannerImage)("ngIfElse",s),t.R7$(3),t.Y8G("ngIf",i.isTileEnlarged),t.R7$(),t.Y8G("ngIf",i.isTileEnlarged),t.R7$(),t.Y8G("ngClass",t.eq3(11,ue,i.isTileEnlarged)),t.R7$(3),t.SpI(" ",i.tile.title," ")}},dependencies:[m.YU,m.bT,m.B3,V.Aq,I.tG,ce.a,P.iV,pe.ig,O.vR,v.UI,A.PW,A.eI,M.D9],styles:[".isRtl[_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{transform:scaleX(-1)}html[dir=rtl][_ngcontent-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{--dummy: 0;transform:scaleX(-1)}.hotkey-border[_ngcontent-%COMP%]{border:1px solid #ffffff;padding:4px 8px;font-weight:500;line-height:32px;margin:4px}.common-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;z-index:1;background-color:#000000bf}.common-overlay.light-background[_ngcontent-%COMP%]{background-color:#00000080}.common-overlay.no-background[_ngcontent-%COMP%]{background-color:transparent}.constants-position-relative[_ngcontent-%COMP%]{position:relative}.enlarged[_ngcontent-%COMP%]{filter:var(--program-tile-enlarged-filter);z-index:4}.enlarged[_ngcontent-%COMP%] .tile-overlay[_ngcontent-%COMP%]{background:var(--program-tile-enlarged-tile-overlay-bg);background-color:var(--program-tile-enlarged-tile-overlay-bg-color)}.enlarged[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%]{background-color:#3a3a3a}.enlarged[_ngcontent-%COMP%] img[_ngcontent-%COMP%], .enlarged[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_tileScaling .2s ease-out forwards;z-index:0}.enlarged[_ngcontent-%COMP%] .tile-overlay[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_tileScaling .2s ease-out forwards;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;box-shadow:var(--program-tile-card-box-shadow)}.enlarged.program-tile-card[_ngcontent-%COMP%]{z-index:3}.tile-mouseover-style[_ngcontent-%COMP%]{z-index:1}.scrim-enlarged-style[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_tileScaling .2s ease-out forwards;position:relative;width:100%;bottom:0;z-index:3;overflow:hidden;box-shadow:var(--program-tile-card-box-shadow)}@keyframes _ngcontent-%COMP%_tileScaling{0%{transform:scale(1)}to{transform:scale(1.12)}}.selected-program-tile[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{box-shadow:0 2px 4px -1px var(--secondary-200),0 4px 5px 0 var(--secondary-140),0 1px 10px 0 var(--secondary-120);height:100%}.program-tile-image-container[_ngcontent-%COMP%]{background-size:cover;background-color:var(--program-tile-image-container-bg-color)}.program-tile-button[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:2;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:24px;opacity:0;animation:_ngcontent-%COMP%_program-tile_delayedVisibleAnimation 0ms ease .2s forwards}.isLtr[_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{text-align:left}html[dir=ltr][_ngcontent-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{--dummy0: 0;text-align:left}.isRtl[_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{text-align:right}html[dir=rtl][_ngcontent-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{--dummy0: 0;text-align:right}.program-tile-card[_ngcontent-%COMP%]{width:var(--program-tile-width);height:var(--program-tile-height-with-padding);max-width:var(--program-tile-max-width);max-height:var(--program-tile-max-height-with-padding)}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%], .program-tile-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:var(--program-tile-width);height:var(--program-tile-height);max-width:var(--program-tile-max-width);max-height:var(--program-tile-max-height)}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%] .fallback-program-icon[_ngcontent-%COMP%]{position:absolute;top:0;left:0;background-size:250%!important;display:flex;width:100%;height:100%;justify-content:center;align-items:center;filter:blur(20px);clip-path:inset(0 round var(--geometry-border-radius-md) var(--geometry-border-radius-md) 0 0)}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{position:relative;width:64px;height:64px}.program-tile-card[_ngcontent-%COMP%]:not(:hover) .cdk-program-focused[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%]{background-color:var(--primary-500)}.program-tile-card[_ngcontent-%COMP%]:not(:hover) .cdk-program-focused[_ngcontent-%COMP%] .icon-chevron-down[_ngcontent-%COMP%]{color:var(--primary-contrast-700)}@keyframes _ngcontent-%COMP%_program-tile_delayedVisibleAnimation{0%{opacity:0}to{opacity:1}}.program-tile-card[_ngcontent-%COMP%]{background-color:inherit;display:inline-block;margin:var(--program-tile-margins);padding:0;position:relative;box-shadow:var(--program-tile-card-box-shadow)}.program-tile-card[_ngcontent-%COMP%]:focus{border:none;outline:none}.program-tile-card[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0 16px;min-width:84px;margin:0}.program-tile-card[_ngcontent-%COMP%] button.no-size[_ngcontent-%COMP%], .program-tile-card[_ngcontent-%COMP%] button.no-size[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{min-height:0;padding:0;min-width:0;margin:0;height:16px;width:16px;line-height:16px}.program-tile-card[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%]{background-color:var(--program-tile-card-program-tile-bg-color);padding:10px 16px;display:flex;align-items:center;height:40px}.program-tile-card[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.program-tile-card[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{display:block}.program-tile-card[_ngcontent-%COMP%] .launch-button[_ngcontent-%COMP%]{margin:0 auto;color:var(--program-tile-launch-button-color)}.program-tile-card[_ngcontent-%COMP%]:hover .program-title[_ngcontent-%COMP%]{background-color:var(--primary-800)}.program-tile-card-tray-text[_ngcontent-%COMP%]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}"]})}}return n})();const Oe=(n,o)=>({enabled:n,section:o});function Te(n,o){1&n&&t.nrm(0,"nv-app-page-load-spinner")}function Ae(n,o){if(1&n){const e=t.RV6();t.j41(0,"button",19),t.nI1(1,"translate"),t.nI1(2,"translate"),t.bIt("click",function(){t.eBV(e);const i=t.XpG(2);return t.Njj(i.onSeeAllClicked())}),t.EFF(3),t.nI1(4,"translate"),t.k0s()}2&n&&(t.qtP("aria-label","",t.bMT(1,4,"common.library")," ",t.bMT(2,6,"common.seeAll"),""),t.R7$(3),t.SpI(" ",t.bMT(4,8,"common.seeAll")," "))}function ke(n,o){1&n&&(t.qex(0),t.j41(1,"div",20),t.nrm(2,"mat-icon",21),t.j41(3,"span",22),t.EFF(4),t.nI1(5,"translate"),t.k0s()(),t.bVm()),2&n&&(t.R7$(4),t.JRh(t.bMT(5,1,"common.somethingWentWrong")))}function Ge(n,o){if(1&n){const e=t.RV6();t.j41(0,"nv-app-program-tile",25),t.bIt("playEvent",function(i){t.eBV(e);const s=t.XpG(4);return t.Njj(s.play(i))})("graphicsSettings",function(i){t.eBV(e);const s=t.XpG(4);return t.Njj(s.goToGraphicsSettings(i))}),t.k0s()}if(2&n){const e=o.$implicit;t.Y8G("tile",e)("tvBannerImage",null==e?null:e.tvBannerImage)}}function Re(n,o){if(1&n&&(t.j41(0,"nv-hig-carousel",24,5),t.DNE(2,Ge,1,2,"ng-template",null,6,t.C5r),t.k0s()),2&n){const e=t.sdS(3),a=t.XpG(3);t.Y8G("items",a.sectionItems)("template",e)("containerLeftMarginStr",a.containerLeftMarginStr)("containerTopMarginStr",a.containerTopMarginStr)("itemProperty",a.itemProperty)("resizeDebounceTime",a.resizeWindowBufferTime)("containFocus",!1)("captureFocusForChild",!0)}}function Fe(n,o){1&n&&(t.qex(0),t.j41(1,"div",26),t.nrm(2,"mat-progress-spinner",27),t.j41(3,"label",28),t.EFF(4),t.nI1(5,"translate"),t.k0s()(),t.bVm()),2&n&&(t.R7$(2),t.Y8G("diameter",24),t.R7$(2),t.JRh(t.bMT(5,2,"manage3dSettings.scan.scanning")))}function je(n,o){if(1&n&&t.DNE(0,Fe,6,4,"ng-container",8),2&n){t.XpG();const e=t.sdS(4),a=t.XpG(2);t.Y8G("ngIf",a.showScanningState)("ngIfElse",e)}}function Ee(n,o){if(1&n){const e=t.RV6();t.qex(0),t.j41(1,"button",19),t.nI1(2,"translate"),t.bIt("click",function(){t.eBV(e);const i=t.XpG(5);return t.Njj(i.goToGraphicsWithFilterApplied())}),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.bVm()}2&n&&(t.R7$(),t.BMQ("aria-label",t.bMT(2,2,"common.view")),t.R7$(2),t.SpI(" ",t.bMT(4,4,"common.view")," "))}function Ne(n,o){if(1&n){const e=t.RV6();t.j41(0,"button",32),t.nI1(1,"translate"),t.bIt("click",function(i){t.eBV(e);const s=t.XpG(5);return t.Njj(s.goToGraphicsSettings(i))}),t.j41(2,"mat-icon"),t.EFF(3,"add"),t.k0s(),t.EFF(4),t.nI1(5,"translate"),t.k0s()}2&n&&(t.BMQ("aria-label",t.bMT(1,2,"common.add")),t.R7$(4),t.SpI(" ",t.bMT(5,4,"common.add")," "))}function $e(n,o){if(1&n&&(t.j41(0,"div",30)(1,"nv-app-base-tile",31),t.DNE(2,Ee,5,6,"ng-container",8)(3,Ne,6,6,"ng-template",null,7,t.C5r),t.k0s()()),2&n){const e=t.sdS(4),a=t.XpG(4);t.R7$(),t.Y8G("text",a.allProgramsHidden?"layout.programs.hiddenText":"layout.programs.emptyText"),t.R7$(),t.Y8G("ngIf",a.allProgramsHidden)("ngIfElse",e)}}function Be(n,o){if(1&n&&t.DNE(0,$e,5,3,"div",29),2&n){const e=t.XpG(3);t.Y8G("ngIf",e.showEmptyState)}}function Le(n,o){if(1&n&&t.DNE(0,Re,4,8,"nv-hig-carousel",23)(1,je,1,2,"ng-template",null,3,t.C5r)(3,Be,1,1,"ng-template",null,4,t.C5r),2&n){const e=t.sdS(2),a=t.XpG(2);t.Y8G("ngIf",null==a.sectionItems?null:a.sectionItems.length)("ngIfElse",e)}}function Ve(n,o){if(1&n&&(t.j41(0,"p",33),t.EFF(1),t.k0s()),2&n){const e=t.XpG(2);t.R7$(),t.JRh(e.appsTitle)}}function Ue(n,o){if(1&n){const e=t.RV6();t.j41(0,"nv-app-card",36),t.bIt("cdkFocusChange",function(i){const s=t.eBV(e).index,c=t.XpG(3);return t.Njj(c.onFocusChange(i,s))}),t.k0s()}if(2&n){let e;const a=o.$implicit,i=o.index,s=t.XpG(3);t.jRB("aria-label","",null==a?null:a.title," ",null==a?null:a.shortDescription," ",null==a?null:a.version,""),t.Y8G("appMetadata",a)("inFocus",null!==(e=i===s.appCardInFocus)&&void 0!==e&&e)("tabindex",i>0?-1:0)}}function Xe(n,o){if(1&n&&(t.j41(0,"div",34),t.DNE(1,Ue,1,7,"nv-app-card",35),t.k0s()),2&n){const e=t.XpG(2);t.Y8G("nvappScrollHighlight",t.l_i(3,Oe,(null==e.appMetadatas?null:e.appMetadatas.length)>0,e.pageHighlightSection)),t.R7$(),t.Y8G("ngForOf",e.appMetadatas)("ngForTrackBy",e.trackAppId)}}function qe(n,o){if(1&n){const e=t.RV6();t.j41(0,"div",9)(1,"nv-hig-marquee",10,1),t.bIt("actionClicked",function(i){t.eBV(e);const s=t.XpG();return t.Njj(s.onMarqueeActionClicked(i))})("marqueeScrolled",function(i){t.eBV(e);const s=t.XpG();return t.Njj(s.marqueeScrolled(i))})("marqueeAutoScrollCancelled",function(){t.eBV(e);const i=t.XpG();return t.Njj(i.marqueeAutoScrollCancelled())})("imageLoadFailure",function(i){t.eBV(e);const s=t.XpG();return t.Njj(s.imageLoadFailure(i))})("beforeChangeSlide",function(i){t.eBV(e);const s=t.XpG();return t.Njj(s.beforeChangeSlide(i))}),t.k0s(),t.j41(3,"div",11)(4,"div",12)(5,"p",13),t.EFF(6),t.nI1(7,"translate"),t.k0s(),t.DNE(8,Ae,5,10,"button",14),t.k0s(),t.j41(9,"div",15),t.DNE(10,ke,6,3,"ng-container",8)(11,Le,5,2,"ng-template",null,2,t.C5r),t.k0s()(),t.j41(13,"div",16),t.DNE(14,Ve,2,1,"p",17)(15,Xe,2,6,"div",18),t.k0s()()}if(2&n){const e=t.sdS(12),a=t.XpG();t.R7$(),t.Y8G("tileData",a.marqueeItems)("gradientOverrides",a.marqueeGradientOverrides)("imageOverrides",a.marqueeImageOverrides)("overlayOverrides",a.marqueeOverlayOverrides)("enableAnimation",a.enableAnimation),t.R7$(5),t.JRh(t.bMT(7,11,"common.library")),t.R7$(2),t.Y8G("ngIf",(null==a.sectionItems?null:a.sectionItems.length)>=a.maxSeeAllCount),t.R7$(2),t.Y8G("ngIf",a.errorIndicator.isLocalGameError)("ngIfElse",e),t.R7$(4),t.Y8G("ngIf",a.appsTitle),t.R7$(),t.Y8G("ngIf",null==a.appMetadatas?null:a.appMetadatas.length)}}const De=[{path:"",component:(()=>{class n{constructor(e,a,i,s,c,d,G,U,ze,Qe,Je,We,Ke){this.appBarService=a,this.layoutService=i,this.lcarsUriActionHandlerService=s,this.performanceMeasureService=c,this.scanApisService=d,this.programsService=G,this.routerHandlerService=U,this.nvAppTelemetryUtilService=ze,this.telemetryService=Qe,this.pluginsNotificationService=Je,this.marqueeAggregateService=We,this.ngZone=Ke,this.hostClass="nv-app-component-wrapper",this.isLoading=!0,this.pageHighlightSection=J.kA.Discover,this.sectionItems=[],this.itemProperty={widthCSSVar:"--program-tile-width",heightCSSVar:"--program-tile-height-with-padding",marginCSSVar:"--program-tile-margins",maxWidthCSSVar:"--program-tile-max-width",maxHeightCSSVar:"--program-tile-max-height-with-padding"},this.containerLeftMarginStr="--container-left-margin",this.containerTopMarginStr="--container-top-margin",this.showScanningState=!1,this.showEmptyState=!1,this.allProgramsHidden=!1,this.maxSeeAllCount=5,this.errorIndicator={isLocalGameError:!1,isNvcplError:!1},this.enableAnimation=!1,this.resizeWindowBufferTime=50,this.scanStatus=!1,this.areApplicationsFetched=!1,this.destroyRef=(0,t.WQX)(t.abz),this.logger=e.getLogger("nvapp/LayoutComponent"),this.appBarService.setTitle("menu.home"),this.marqueeGradientOverrides={leftEdge:!1,leftMerge:!0,bottomEdge:!0,background:!1,backgroundOverhang:!1},this.marqueeImageOverrides={disableMask:!0,globalFallbackImageUrl:w.K1,customBackground:!0},this.marqueeOverlayOverrides={contentOverlayType:x.t4.FullBleedImage},this.telemetryService.setScreen(l.f3.Home)}ngOnInit(){this.autoRefreshApps(),this.performanceMeasureService.markNvAppPerformanceMarkers([p.mM.NvAppHomeRouteNavigationEnd,p.mM.NvAppHomeDataFetchStart],p.fR.Home),this.getLayout(),this.registerForModulesState()}trackAppId(e,a){return a.id}contentLinkClick(e){this.lcarsUriActionHandlerService.handleLcarsUriAction(e.uri)}play(e){const a=+e.id;this.programsService.launchApp(a).pipe((0,D.s)(1)).subscribe(()=>{this.nvAppTelemetryUtilService.sendClickEvent(l.EB.LibraryPlay,l.IH.Library,!1,e.type?.drsProfileName)},i=>{this.logger.error(`Error while launching for localId ${a}`,i)})}onSeeAllClicked(){this.nvAppTelemetryUtilService.sendClickEvent(l.EB.LibrarySeeAll,l.IH.Library,!1),this.routerHandlerService.routeToGraphics()}goToGraphicsSettings(e){this.nvAppTelemetryUtilService.sendClickEvent(l.EB.LibraryGraphicsSettings,l.IH.Library,!1,e.type?.drsProfileName),this.routerHandlerService.routeToGraphics({localId:+e.id})}goToGraphicsWithFilterApplied(){this.routerHandlerService.routeToGraphics({filter:E.dj.FilterByHidden})}getScanStatus(){this.scanApisService.getScanInitiated().pipe((0,g.pQ)(this.destroyRef)).subscribe(e=>{this.scanStatus=e,this.updateScanningStatus(),this.updateEmptyState()})}getAllPrograms(){(0,F.zV)([this.programsService.getAllPrograms(),(0,q.R)(window,"resize").pipe((0,H.Z)(0))]).pipe((0,g.pQ)(this.destroyRef)).subscribe(([e,a])=>{let i=e.filter(c=>!c.isHidden);this.allProgramsHidden=0!==e.length&&0===i.length,this.allProgramsHidden||(i=this.scanApisService.sortApps(i,E.NO.SortByRecentLaunch));const s=i?.slice(0,15);if(s?.length>0){const c=s.map(d=>{const G={isCreativeApp:d.isCreativeApp,isManualAddition:d.isManuallyAdded,drsProfileName:d?.drsProfileName||d.shortName};return{id:d.localId?.toString(),title:d.displayName,boxArtImage:d.images?.GAME_ICON,tvBannerImage:this.layoutService.formatImages(d.images?.TV_BANNER,S.IQ),visibility:!0,type:G}});this.sectionItems=c}this.areApplicationsFetched=!0,this.updateScanningStatus(),this.updateEmptyState(),this.logger.info("Section items length",this.sectionItems.length)},e=>{this.logger.error("Error while loading programs",e)})}getLayout(){this.getScanStatus(),this.getAllPrograms(),this.layoutService.layoutItems$.pipe((0,g.pQ)(this.destroyRef)).subscribe(e=>{this.performanceMeasureService.markNvAppPerformanceMarkers([p.mM.NvAppHomeDataFetchEnd,p.mM.NvAppHomeViewRenderStart],p.fR.Home),this.logger.info("Layout Information fetched"),this.marqueeItems=e?.marqueeItems.map(a=>({action:a.action,body:a.body,fallbackImage:w.R$,marqueeHeroImage:a.images?.MARQUEE_HERO_IMAGE,id:a.id,title:a.title,type:x.t4.PaddedImage,telemetryId:a.id})),this.appMetadatas=e?.appMetadata,this.appsTitle=e?.appsTitle,this.isLoading=!1,this.performanceMeasureService.markNvAppPerformanceMarkers([p.mM.NvAppHomeViewRenderEnd],p.fR.Home)},e=>{this.performanceMeasureService.markNvAppPerformanceMarkers([p.mM.NvAppHomeDataFetchEnd,p.mM.NvAppHomeViewRenderStart,p.mM.NvAppHomeViewRenderEnd],p.fR.Home),this.isLoading=!1,this.logger.error("Error occurred while fetching layout ",e)})}autoRefreshApps(){this.layoutService.autoRefreshApps().pipe((0,g.pQ)(this.destroyRef)).subscribe(e=>{e&&(this.logger.info("Apps refreshed"),this.appMetadatas=e)},e=>{this.logger.error("Error occurred while refreshing apps",e)})}updateScanningStatus(){this.showScanningState=this.scanStatus&&!this.sectionItems.length,this.logger.info("showScanningState",this.showScanningState)}registerForModulesState(){(0,F.zV)([this.pluginsNotificationService.isPluginLoaded$(h.dz),this.pluginsNotificationService.isPluginLoaded$(h.WP)]).pipe((0,g.pQ)(this.destroyRef)).subscribe(([e,a])=>{this.errorIndicator={isLocalGameError:!e,isNvcplError:!a},this.logger.info("Plugin state",this.errorIndicator),e||this.updateEmptyState()},e=>{this.logger.error("Error while listening for plugin notification: ",e)})}updateEmptyState(){this.showEmptyState=!this.sectionItems?.length&&!this.showScanningState&&this.areApplicationsFetched,this.logger.info("Empty state value",this.showEmptyState)}onMarqueeActionClicked(e){const a=e.action;if(this.logger.info("Marquee Action: ",a),a.uri.startsWith(j.wY.NvApp))this.contentLinkClick({position:e.position,uri:a.uri});else{if(!a.uri.startsWith(j.wY.Http))return void this.logger.error("Not a valid URI",a.uri);window.open(a.uri,"_blank")}this.nvAppTelemetryUtilService.sendMarqueeElement(a.uri,a.label,l.IH.Marquee,l.tV.Home,e.position,this.marqueeItems[e.position].telemetryId)}marqueeScrolled(e){e.autoScrolled?this.marqueeAggregateService.aggregateMarqueeElementEvent({url:"",action:l.Hb,section:l.IH.Marquee,feature:l.tV.Home,position:e.position,uniqueContent:this.marqueeItems[e.position].telemetryId}):this.nvAppTelemetryUtilService.sendClickEvent(l.EB.MarqueeScroll,l.IH.Marquee,!0,e?.position+"")}imageLoadFailure(e){this.nvAppTelemetryUtilService.sendResourceLoadErrorEvent(l.vt.Image,this.marqueeItems?.[e]?.marqueeHeroImage??w.R$,"failed to load image",null,l.mF.Marquee,!0)}beforeChangeSlide(e){this.enableAnimation=!0}marqueeAutoScrollCancelled(){this.marqueeAggregateService.sendMarqueeEvent()}ngOnDestroy(){this.marqueeAggregateService.sendMarqueeEvent()}onFocusChange(e,a){this.ngZone.run(()=>{this.appCardInFocus=e?a:null})}static{this.\u0275fac=function(a){return new(a||n)(t.rXU(b.J6),t.rXU(W.g),t.rXU(K.Y),t.rXU(Z),t.rXU(tt.M),t.rXU(et.I),t.rXU(nt.Z),t.rXU(at.V),t.rXU(l.AY),t.rXU(it.H0),t.rXU(ot.P),t.rXU(rt.R),t.rXU(t.SKi))}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-layout"]],hostVars:2,hostBindings:function(a,i){2&a&&t.HbH(i.hostClass)},decls:3,vars:2,consts:[["layoutData",""],["marquee",""],["localGamesNoErrorState",""],["scanningState",""],["emptyState",""],["nvHigCarouselItem",""],["programTileTemplate",""],["noPrograms",""],[4,"ngIf","ngIfElse"],["fxFlex","","fxFlexFill","",1,"app-home-layout"],["tabindex","0","nvAppMarqueeKeyboardNav","",1,"home-marquee",3,"actionClicked","marqueeScrolled","marqueeAutoScrollCancelled","imageLoadFailure","beforeChangeSlide","tileData","gradientOverrides","imageOverrides","overlayOverrides","enableAnimation"],[1,"programs-section"],[1,"programs-section-title-row"],[1,"font-header6"],["class","font-button2","mat-button","",3,"click",4,"ngIf"],[1,"programs-carousel"],[1,"layout"],["class","font-header6 app-cards-title",4,"ngIf"],["class","app-cards","fxLayout","row wrap",3,"nvappScrollHighlight",4,"ngIf"],["mat-button","",1,"font-button2",3,"click"],[1,"font-sub1","empty-state"],["svgIcon","alert_circle",1,"material-icons"],["role","text"],["nvSpatialNavigationContainer","","captureAndTransitFocusPolicy","closest",3,"items","template","containerLeftMarginStr","containerTopMarginStr","itemProperty","resizeDebounceTime","containFocus","captureFocusForChild",4,"ngIf","ngIfElse"],["nvSpatialNavigationContainer","","captureAndTransitFocusPolicy","closest",3,"items","template","containerLeftMarginStr","containerTopMarginStr","itemProperty","resizeDebounceTime","containFocus","captureFocusForChild"],[3,"playEvent","graphicsSettings","tile","tvBannerImage"],[1,"scanning-state"],["mode","indeterminate",1,"mat-accent",3,"diameter"],["role","text",1,"font-body2","font-color-primary","program-empty-state"],["class","program-empty-state",4,"ngIf"],[1,"program-empty-state"],[3,"text"],["mat-button","",1,"font-button2","add-button-icon",3,"click"],[1,"font-header6","app-cards-title"],["fxLayout","row wrap",1,"app-cards",3,"nvappScrollHighlight"],["nvAppListKeyboardNav","horizontal","role","listitem","cdkMonitorSubtreeFocus","","nvAddKeyboardActivate","",3,"appMetadata","inFocus","tabindex","cdkFocusChange",4,"ngFor","ngForOf","ngForTrackBy"],["nvAppListKeyboardNav","horizontal","role","listitem","cdkMonitorSubtreeFocus","","nvAddKeyboardActivate","",3,"cdkFocusChange","appMetadata","inFocus","tabindex"]],template:function(a,i){if(1&a&&t.DNE(0,Te,1,0,"nv-app-page-load-spinner",8)(1,qe,16,13,"ng-template",null,0,t.C5r),2&a){const s=t.sdS(2);t.Y8G("ngIf",i.isLoading)("ngIfElse",s)}},dependencies:[m.Sq,m.bT,st.w,lt._,ct.R,I.tG,P.iV,N.An,pt.LG,O.vR,v.DJ,v.G2,v.UI,dt.p,gt.Q,ut,_t._,ht.V,le,Pe,M.D9],styles:["[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsified-text-with-tooltip[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.ellipsified-text-with-tooltip.multi-line-ellipsis[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;white-space:wrap}.ellipsified-text-with-tooltip.single-line-ellipsis[_ngcontent-%COMP%]{white-space:nowrap}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px;--rwd-container-width: 100vw}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((var(--rwd-container-width) - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.isRtl[_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{transform:scaleX(-1)}html[dir=rtl][_ngcontent-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{--dummy: 0;transform:scaleX(-1)}.hotkey-border[_ngcontent-%COMP%]{border:1px solid #ffffff;padding:4px 8px;font-weight:500;line-height:32px;margin:4px}[_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((var(--rwd-container-width) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing));--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (var(--rwd-container-width) - var(--rwd-sidebar-width) - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-padding-bottom: 0px;--full-bleed-title-margin-bottom: 16px;--text-overlay-content-body-lines: 3;--hig-marquee-left-merge-gradient: linear-gradient(270deg, transparent 0%, var(--secondary-1000) 37.69%, var(--secondary-1000) 100%);--hig-marquee-custom-container-background: var(--secondary-1000);--full-bleed-overlay-content-width: calc(calc(calc((var(--rwd-container-width) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing)) + calc(var(--hig-marquee-third-column) / 2) - 24px - 24px);--hig-marquee-left-edge-gradient-width: calc( calc(calc((var(--rwd-container-width) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing)) + calc(var(--hig-marquee-third-column) / 2) + var(--hig-marquee-corner-column) );--hig-marquee-container-height: var(--hig-marquee-padded-image-first-row);--hig-marquee-animation-duration: .5s;--hig-marquee-container-border-radius: 0;--hig-marquee-indicator-border-radius: var(--geometry-border-radius-md)}@media screen and (min-width: 304px) and (max-width: 1279px){nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-body-lines: 2;--full-bleed-title-margin-bottom: 8px;--hig-marquee-tile-action-button-margin-top: 16px}}@media (min-width: 1920px){nv-hig-marquee[_ngcontent-%COMP%]{--full-bleed-overlay-content-max-width: 750px}}@media (min-width: 3840px){[_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(var(--rwd-container-width) - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(var(--rwd-container-width) - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((var(--rwd-container-width) - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing));--hig-marquee-padded-image-first-row: 818px;--assumed-parent-container-width: calc((var(--hig-marquee-padded-image-first-row) / calc(var(--hig-marquee-ratio))) + var(--hig-marquee-corner-column) + var(--hig-marquee-text-column));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * var(--assumed-parent-container-width));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}}[_nghost-%COMP%]{--container-left-margin: 24px;--container-top-margin: 8px;--program-tile-max-width: 436px;--program-tile-max-height: 246px;--program-tile-max-height-with-padding: calc(var(--program-tile-max-height) + 40px);--program-tile-width: calc(3 * var(--rwd-column-size) + 2 * var(--rwd-gutter-size));--program-tile-height: calc(var(--program-tile-width) / 1.78);--program-tile-height-with-padding: calc(var(--program-tile-height) + 40px);gap:var(--rwd-gutter-size);--program-tile-margins: var(--container-top-margin) var(--rwd-gutter-size) var(--container-top-margin) 0px}.layout[_ngcontent-%COMP%]{padding:0 calc(var(--rwd-container-side-spacing) - var(--scrollbar-width)) 0 var(--rwd-container-side-spacing)}.layout[_ngcontent-%COMP%] .app-cards-title[_ngcontent-%COMP%]{margin:30px 0 16px}.layout[_ngcontent-%COMP%] .action-cards[_ngcontent-%COMP%], .layout[_ngcontent-%COMP%] .app-cards[_ngcontent-%COMP%]{margin:16px 0;gap:var(--rwd-gutter-size)}.layout[_ngcontent-%COMP%] nv-app-action-card[_ngcontent-%COMP%]:hover{z-index:1}.programs-section[_ngcontent-%COMP%]{display:flex;flex-direction:column}.programs-section[_ngcontent-%COMP%] .programs-section-title-row[_ngcontent-%COMP%]{display:flex;align-items:center;margin:24px 0 0;height:36px;padding:0 calc(var(--rwd-container-side-spacing) - var(--scrollbar-width)) 0 var(--rwd-container-side-spacing)}.programs-section[_ngcontent-%COMP%] .programs-section-title-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{flex:1;margin:0}.programs-section[_ngcontent-%COMP%] .program-empty-state[_ngcontent-%COMP%]{padding:0 calc(var(--rwd-container-side-spacing) - var(--scrollbar-width)) 0 var(--rwd-container-side-spacing)}.programs-section[_ngcontent-%COMP%] .programs-carousel[_ngcontent-%COMP%]{height:calc(min(var(--program-tile-height-with-padding),var(--program-tile-max-height-with-padding)) + var(--container-top-margin))}.programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%]{padding:0 8px}.programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:20px}.isLtr[_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{padding-right:8px}html[dir=ltr][_ngcontent-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-right:8px}.isRtl[_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{padding-left:8px}html[dir=rtl][_ngcontent-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-left:8px}.programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:20px;height:20px;width:20px}.programs-section[_ngcontent-%COMP%] .scanning-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:16px}@media screen and (min-width: 304px) and (max-width: 1279px){[_nghost-%COMP%]{--program-tile-width: calc(4 * var(--rwd-column-size) + 3 * var(--rwd-gutter-size));--program-tile-height: calc(var(--program-tile-width) / 1.78);--program-tile-height-with-padding: calc(var(--program-tile-height) + 40px);gap:var(--rwd-gutter-size)}}"]})}}return n})()}];let He=(()=>{class n{static{this.\u0275fac=function(a){return new(a||n)}}static{this.\u0275mod=t.$C({type:n})}static{this.\u0275inj=t.G2t({imports:[y.iI.forChild(De),y.iI]})}}return n})(),Ye=(()=>{class n{static{this.\u0275fac=function(a){return new(a||n)}}static{this.\u0275mod=t.$C({type:n})}static{this.\u0275inj=t.G2t({imports:[He,b._N,X.G,(0,b.BU)(),x.bm]})}}return n})()}}]);
// SIG // Begin signature block
// SIG // MIIofAYJKoZIhvcNAQcCoIIobTCCKGkCAQExDzANBglg
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
// SIG // 1Z4j4h+9cITp8H2IeWu3lZlQbH0eqbjfIGy1LkC9FS2g
// SIG // gg20MIIGsDCCBJigAwIBAgIQCK1AsmDSnEyfXs2pvZOu
// SIG // 2TANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQGEwJVUzEV
// SIG // MBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
// SIG // d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2Vy
// SIG // dCBUcnVzdGVkIFJvb3QgRzQwHhcNMjEwNDI5MDAwMDAw
// SIG // WhcNMzYwNDI4MjM1OTU5WjBpMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
// SIG // OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5n
// SIG // IFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMIICIjANBgkq
// SIG // hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1bQvQtAorXi3
// SIG // XdU5WRuxiEL1M4zrPYGXcMW7xIUmMJ+kjmjYXPXrNCQH
// SIG // 4UtP03hD9BfXHtr50tVnGlJPDqFX/IiZwZHMgQM+TXAk
// SIG // ZLON4gh9NH1MgFcSa0OamfLFOx/y78tHWhOmTLMBICXz
// SIG // ENOLsvsI8IrgnQnAZaf6mIBJNYc9URnokCF4RS6hnyzh
// SIG // GMIazMXuk0lwQjKP+8bqHPNlaJGiTUyCEUhSaN4QvRRX
// SIG // XegYE2XFf7JPhSxIpFaENdb5LpyqABXRN/4aBpTCfMjq
// SIG // GzLmysL0p6MDDnSlrzm2q2AS4+jWufcx4dyt5Big2MEj
// SIG // R0ezoQ9uo6ttmAaDG7dqZy3SvUQakhCBj7A7CdfHmzJa
// SIG // wv9qYFSLScGT7eG0XOBv6yb5jNWy+TgQ5urOkfW+0/tv
// SIG // k2E0XLyTRSiDNipmKF+wc86LJiUGsoPUXPYVGUztYuBe
// SIG // M/Lo6OwKp7ADK5GyNnm+960IHnWmZcy740hQ83eRGv7b
// SIG // UKJGyGFYmPV8AhY8gyitOYbs1LcNU9D4R+Z1MI3sMJN2
// SIG // FKZbS110YU0/EpF23r9Yy3IQKUHw1cVtJnZoEUETWJrc
// SIG // JisB9IlNWdt4z4FKPkBHX8mBUHOFECMhWWCKZFTBzCEa
// SIG // 6DgZfGYczXg4RTCZT/9jT0y7qg0IU0F8WD1Hs/q27Iwy
// SIG // CQLMbDwMVhECAwEAAaOCAVkwggFVMBIGA1UdEwEB/wQI
// SIG // MAYBAf8CAQAwHQYDVR0OBBYEFGg34Ou2O/hfEYb7/mF7
// SIG // CIhl9E5CMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/n
// SIG // upiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAK
// SIG // BggrBgEFBQcDAzB3BggrBgEFBQcBAQRrMGkwJAYIKwYB
// SIG // BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBB
// SIG // BggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNl
// SIG // cnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQw
// SIG // QwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGln
// SIG // aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5j
// SIG // cmwwHAYDVR0gBBUwEzAHBgVngQwBAzAIBgZngQwBBAEw
// SIG // DQYJKoZIhvcNAQEMBQADggIBADojRD2NCHbuj7w6mdNW
// SIG // 4AIapfhINPMstuZ0ZveUcrEAyq9sMCcTEp6QRJ9L/Z6j
// SIG // fCbVN7w6XUhtldU/SfQnuxaBRVD9nL22heB2fjdxyyL3
// SIG // WqqQz/WTauPrINHVUHmImoqKwba9oUgYftzYgBoRGRjN
// SIG // YZmBVvbJ43bnxOQbX0P4PpT/djk9ntSZz0rdKOtfJqGV
// SIG // WEjVGv7XJz/9kNF2ht0csGBc8w2o7uCJob054ThO2m67
// SIG // Np375SFTWsPK6Wrxoj7bQ7gzyE84FJKZ9d3OVG3ZXQIU
// SIG // H0AzfAPilbLCIXVzUstG2MQ0HKKlS43Nb3Y3LIU/Gs4m
// SIG // 6Ri+kAewQ3+ViCCCcPDMyu/9KTVcH4k4Vfc3iosJocsL
// SIG // 6TEa/y4ZXDlx4b6cpwoG1iZnt5LmTl/eeqxJzy6kdJKt
// SIG // 2zyknIYf48FWGysj/4+16oh7cGvmoLr9Oj9FpsToFpFS
// SIG // i0HASIRLlk2rREDjjfAVKM7t8RhWByovEMQMCGQ8M4+u
// SIG // KIw8y4+ICw2/O/TOHnuO77Xry7fwdxPm5yg/rBKupS8i
// SIG // bEH5glwVZsxsDsrFhsP2JjMMB0ug0wcCampAMEhLNKhR
// SIG // ILutG4UI4lkNbcoFUCvqShyepf2gpx8GdOfy1lKQ/a+F
// SIG // SCH5Vzu0nAPthkX0tGFuv2jiJmCG6sivqf6UHedjGzqG
// SIG // VnhOMIIG/DCCBOSgAwIBAgIQCZfFbKpZBVOU2anNuL7r
// SIG // VjANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
// SIG // OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5n
// SIG // IFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMB4XDTIzMDEx
// SIG // MzAwMDAwMFoXDTI2MDExNjIzNTk1OVowgYAxCzAJBgNV
// SIG // BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRQwEgYD
// SIG // VQQHEwtTYW50YSBDbGFyYTEbMBkGA1UEChMSTlZJRElB
// SIG // IENvcnBvcmF0aW9uMQwwCgYDVQQLEwMyLUoxGzAZBgNV
// SIG // BAMTEk5WSURJQSBDb3Jwb3JhdGlvbjCCAaIwDQYJKoZI
// SIG // hvcNAQEBBQADggGPADCCAYoCggGBAIiAXRBzCNRy05OZ
// SIG // NUtJguKdJ1R5HNatdvXtn+pWXHg9PfhU9A5ZboWwSPej
// SIG // iZxJn9clYWVpyjPbkkFvaTBLYeHArmzswavs7+bct4df
// SIG // BTBZG8Qmc9kusaaOxNnuUevseGAC5H61QsGOVATdRQfS
// SIG // kfaP7kTBF9wuIat7BXVglPAlZagQTZWA/BA4Vr8GeNVY
// SIG // 5jU2C6F907UM6orsfsVfkBI8HSowD1U/faTS1yMBu1Mx
// SIG // ePUKZosFn2tYE4dUWId/Vv6LKWk30e/63C5Ul9e3eY7x
// SIG // aZ4eC0TqxluMWb2XdvCcfw9dELeI+0suWliFIyCgSf3A
// SIG // Kuq9cXnoMOBoPEeBOr3XWfCCNLxf9RcGxyaNPd1KcTOO
// SIG // ErSJMFpOCnVi5kys2NrTrFMFVZiRC49BidetoT6cHt3Z
// SIG // f+VHR3rqdUbo4xSpuvsfNA4GRYcWI2KvY3T6hBlrgTlr
// SIG // ngfA3ztOn+38KGJavEa7iJ+k/kjjnD47t0qQoRiujBi+
// SIG // q+mv6Hgy/g0VeQIDAQABo4ICBjCCAgIwHwYDVR0jBBgw
// SIG // FoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYE
// SIG // FL5vQA7WEARmpu0ItwJOm7f48LbRMA4GA1UdDwEB/wQE
// SIG // AwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0f
// SIG // BIGtMIGqMFOgUaBPhk1odHRwOi8vY3JsMy5kaWdpY2Vy
// SIG // dC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmlu
// SIG // Z1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZN
// SIG // aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
// SIG // VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0
// SIG // MjAyMUNBMS5jcmwwPgYDVR0gBDcwNTAzBgZngQwBBAEw
// SIG // KTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2Vy
// SIG // dC5jb20vQ1BTMIGUBggrBgEFBQcBAQSBhzCBhDAkBggr
// SIG // BgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
// SIG // MFwGCCsGAQUFBzAChlBodHRwOi8vY2FjZXJ0cy5kaWdp
// SIG // Y2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2ln
// SIG // bmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNydDAMBgNV
// SIG // HRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQBNa3En
// SIG // raaMqv58RZV1qn0K09tv83qxwHaM6/N40w2fMljnGOxS
// SIG // xR1g0+R26S7XtwpzG+b8LWmWmyJKiZIogVkcfZpchS6B
// SIG // x+9HcUSo7TBBJn4ylcpQzksLOCmT6/DSeIDYucyQiHo8
// SIG // Nq3XkLpkJaDETnCBDulYZ+9pavQT4lNpB6sffbjsDcQ7
// SIG // CZQdImdzyNwd81c56xZc05ufVkronW78r35vwhzuNd88
// SIG // YQXr26fClBEXf3cNvytVupOeHZTy0Od+tPnAPl5744un
// SIG // 0f1MDjiKRne5FqDoo2F4EoeJQuaS6tWcFQg55dOEmOwS
// SIG // E8mweLCWDTTWmZV6x0IGHwagde1S5rkkmxpvAZRUkaD/
// SIG // ZTyxDiHywNi981mFvCnS1gKGd8GpqDuChpKAet8ivgB3
// SIG // 8hVTE/jsstKwQL7HNGxlmk7hyFxkbUNXki2gwJ/CSGaQ
// SIG // qqS3ctjF5Vv8mbtH2f3pK3AFaXOW7wDfjeuqF+yh6UxT
// SIG // ockgH6Ggc4tj+rcrwWhnbgu+JljlBbSKtGiEXMjA9Ccg
// SIG // YsbOIS9T1/FRAOW4KzCaG2FaX5eIhnCqXl79Va2OV8ul
// SIG // IgIbn1XaQQk6RvNPIwZzM8TARUTR9d1edtiuOymxDYm6
// SIG // j16TmoLkXlWUGLj05+yKut6rkqmYCqCJHRHD0T7LXUmw
// SIG // eBMWDQ5e0t8ADV8KGzGCGiAwghocAgEBMH0waTELMAkG
// SIG // A1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMu
// SIG // MUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IENv
// SIG // ZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
// SIG // MQIQCZfFbKpZBVOU2anNuL7rVjANBglghkgBZQMEAgEF
// SIG // AKB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJ
// SIG // AzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM
// SIG // BgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCD4Iako
// SIG // /85ZUvOQsBlMOC1OfmjgTeA6UrfcJDiUtrPhEDANBgkq
// SIG // hkiG9w0BAQEFAASCAYBDbIhP4A5TyycTNc6MqR5A6Qmc
// SIG // /JgfxdpRzNdl5PzwuKsWCAF5i8zsv6QYDAIPYwBatEZ1
// SIG // 2Etx9JXtvCqbANF2GkvPx23l2ePtjz/xXGCg3tCdDUDo
// SIG // 6zCPaaYqSyQQlLxeIYUJ3eMw5YkxH1BYsfsXlM2etwsP
// SIG // 3t+w6aXd6SP4WekAJ0BnApbi8/UnH73z3U84MjlWRb/m
// SIG // lI/NsVFkCympwDfO1ik3LyvZYamCjEY5wVRkC+or8lEv
// SIG // ABGuOTZK8/8VX4JeZS72iT50AR8npX6ahtBjScR9puF4
// SIG // /OYJxoF2xFyD7CyMMsazXcErmq5/XgiBeYMwPeAPYgM/
// SIG // DfOe3A8njCKszmFoZfmeAT5mGWt15I5SR26WyPB+fJZR
// SIG // GxUFVHb5c6q8clTr/yF9gtcVKlviwtcLQQ/lqdHjm5MM
// SIG // BHnMl2w+Ut6GDvoJdcqNd9luMNU9gMWQ1AgFXIsRyzo1
// SIG // JRr9HA7Myg0ntAcC8Q9Jnw95fOTIGkBzOP+cB6Oj1Gtc
// SIG // momhghd2MIIXcgYKKwYBBAGCNwMDATGCF2IwghdeBgkq
// SIG // hkiG9w0BBwKgghdPMIIXSwIBAzEPMA0GCWCGSAFlAwQC
// SIG // AQUAMHcGCyqGSIb3DQEJEAEEoGgEZjBkAgEBBglghkgB
// SIG // hv1sBwEwMTANBglghkgBZQMEAgEFAAQgiNPCF66TFPo/
// SIG // toGBmHV41ro8Yv4sLuoiSehU/b9nSdECED5MjHmFsdSa
// SIG // RBe/JlfXv2oYDzIwMjUxMDE1MjIyMTA2WqCCEzowggbt
// SIG // MIIE1aADAgECAhAKgO8YS43xBYLRxHanlXRoMA0GCSqG
// SIG // SIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQK
// SIG // Ew5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNl
// SIG // cnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5
// SIG // NiBTSEEyNTYgMjAyNSBDQTEwHhcNMjUwNjA0MDAwMDAw
// SIG // WhcNMzYwOTAzMjM1OTU5WjBjMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMT
// SIG // MkRpZ2lDZXJ0IFNIQTI1NiBSU0E0MDk2IFRpbWVzdGFt
// SIG // cCBSZXNwb25kZXIgMjAyNSAxMIICIjANBgkqhkiG9w0B
// SIG // AQEFAAOCAg8AMIICCgKCAgEA0EasLRLGntDqrmBWsytX
// SIG // um9R/4ZwCgHfyjfMGUIwYzKomd8U1nH7C8Dr0cVMF3Bs
// SIG // fAFI54um8+dnxk36+jx0Tb+k+87H9WPxNyFPJIDZHhAq
// SIG // lUPt281mHrBbZHqRK71Em3/hCGC5KyyneqiZ7syvFXJ9
// SIG // A72wzHpkBaMUNg7MOLxI6E9RaUueHTQKWXymOtRwJXcr
// SIG // cTTPPT2V1D/+cFllESviH8YjoPFvZSjKs3SKO1QNUdFd
// SIG // 2adw44wDcKgH+JRJE5Qg0NP3yiSyi5MxgU6cehGHr7zo
// SIG // u1znOM8odbkqoK+lJ25LCHBSai25CFyD23DZgPfDrJJJ
// SIG // K77epTwMP6eKA0kWa3osAe8fcpK40uhktzUd/Yk0xUvh
// SIG // DU6lvJukx7jphx40DQt82yepyekl4i0r8OEps/FNO4ah
// SIG // fvAk12hE5FVs9HVVWcO5J4dVmVzix4A77p3awLbr89A9
// SIG // 0/nWGjXMGn7FQhmSlIUDy9Z2hSgctaepZTd0ILIUbWuh
// SIG // KuAeNIeWrzHKYueMJtItnj2Q+aTyLLKLM0MheP/9w6Ct
// SIG // juuVHJOVoIJ/DtpJRE7Ce7vMRHoRon4CWIvuiNN1Lk9Y
// SIG // +xZ66lazs2kKFSTnnkrT3pXWETTJkhd76CIDBbTRofOs
// SIG // NyEhzZtCGmnQigpFHti58CSmvEyJcAlDVcKacJ+A9/z7
// SIG // eacCAwEAAaOCAZUwggGRMAwGA1UdEwEB/wQCMAAwHQYD
// SIG // VR0OBBYEFOQ7/PIx7f391/ORcWMZUEPPYYzoMB8GA1Ud
// SIG // IwQYMBaAFO9vU0rp5AZ8esrikFb2L9RJ7MtOMA4GA1Ud
// SIG // DwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggrBgEFBQcD
// SIG // CDCBlQYIKwYBBQUHAQEEgYgwgYUwJAYIKwYBBQUHMAGG
// SIG // GGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBdBggrBgEF
// SIG // BQcwAoZRaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
// SIG // L0RpZ2lDZXJ0VHJ1c3RlZEc0VGltZVN0YW1waW5nUlNB
// SIG // NDA5NlNIQTI1NjIwMjVDQTEuY3J0MF8GA1UdHwRYMFYw
// SIG // VKBSoFCGTmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9E
// SIG // aWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQw
// SIG // OTZTSEEyNTYyMDI1Q0ExLmNybDAgBgNVHSAEGTAXMAgG
// SIG // BmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQEL
// SIG // BQADggIBAGUqrfEcJwS5rmBB7NEIRJ5jQHIh+OT2Ik/b
// SIG // NYulCrVvhREafBYF0RkP2AGr181o2YWPoSHz9iZEN/FP
// SIG // sLSTwVQWo2H62yGBvg7ouCODwrx6ULj6hYKqdT8wv2UV
// SIG // +Kbz/3ImZlJ7YXwBD9R0oU62PtgxOao872bOySCILdBg
// SIG // hQ/ZLcdC8cbUUO75ZSpbh1oipOhcUT8lD8QAGB9lctZT
// SIG // TOJM3pHfKBAEcxQFoHlt2s9sXoxFizTeHihsQyfFg5fx
// SIG // UFEp7W42fNBVN4ueLaceRf9Cq9ec1v5iQMWTFQa0xNqI
// SIG // tH3CPFTG7aEQJmmrJTV3Qhtfparz+BW60OiMEgV5GWoB
// SIG // y4RVPRwqxv7Mk0Sy4QHs7v9y69NBqycz0BZwhB9WOfOu
// SIG // /CIJnzkQTwtSSpGGhLdjnQ4eBpjtP+XB3pQCtv4E5UCS
// SIG // Dag6+iX8MmB10nfldPF9SVD7weCC3yXZi/uuhqdwkgVx
// SIG // uiMFzGVFwYbQsiGnoa9F5AaAyBjFBtXVLcKtapnMG3VH
// SIG // 3EmAp/jsJ3FVF3+d1SVDTmjFjLbNFZUWMXuZyvgLfgyP
// SIG // ehwJVxwC+UpX2MSey2ueIu9THFVkT+um1vshETaWyQo8
// SIG // gmBto/m3acaP9QsuLj3FNwFlTxq25+T4QwX9xa6ILs84
// SIG // ZPvmpovq90K8eWyG2N01c4IhSOxqt81nMIIGtDCCBJyg
// SIG // AwIBAgIQDcesVwX/IZkuQEMiDDpJhjANBgkqhkiG9w0B
// SIG // AQsFADBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGln
// SIG // aUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
// SIG // Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJv
// SIG // b3QgRzQwHhcNMjUwNTA3MDAwMDAwWhcNMzgwMTE0MjM1
// SIG // OTU5WjBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGln
// SIG // aUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRy
// SIG // dXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hB
// SIG // MjU2IDIwMjUgQ0ExMIICIjANBgkqhkiG9w0BAQEFAAOC
// SIG // Ag8AMIICCgKCAgEAtHgx0wqYQXK+PEbAHKx126NGaHS0
// SIG // URedTa2NDZS1mZaDLFTtQ2oRjzUXMmxCqvkbsDpz4aH+
// SIG // qbxeLho8I6jY3xL1IusLopuW2qftJYJaDNs1+JH7Z+Qd
// SIG // SKWM06qchUP+AbdJgMQB3h2DZ0Mal5kYp77jYMVQXSZH
// SIG // ++0trj6Ao+xh/AS7sQRuQL37QXbDhAktVJMQbzIBHYJB
// SIG // YgzWIjk8eDrYhXDEpKk7RdoX0M980EpLtlrNyHw0Xm+n
// SIG // t5pnYJU3Gmq6bNMI1I7Gb5IBZK4ivbVCiZv7PNBYqHEp
// SIG // NVWC2ZQ8BbfnFRQVESYOszFI2Wv82wnJRfN20VRS3hpL
// SIG // gIR4hjzL0hpoYGk81coWJ+KdPvMvaB0WkE/2qHxJ0ucS
// SIG // 638ZxqU14lDnki7CcoKCz6eum5A19WZQHkqUJfdkDjHk
// SIG // ccpL6uoG8pbF0LJAQQZxst7VvwDDjAmSFTUms+wV/FbW
// SIG // Bqi7fTJnjq3hj0XbQcd8hjj/q8d6ylgxCZSKi17yVp2N
// SIG // L+cnT6Toy+rN+nM8M7LnLqCrO2JP3oW//1sfuZDKiDEb
// SIG // 1AQ8es9Xr/u6bDTnYCTKIsDq1BtmXUqEG1NqzJKS4kOm
// SIG // xkYp2WyODi7vQTCBZtVFJfVZ3j7OgWmnhFr4yUozZtqg
// SIG // PrHRVHhGNKlYzyjlroPxul+bgIspzOwbtmsgY1MCAwEA
// SIG // AaOCAV0wggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD
// SIG // VR0OBBYEFO9vU0rp5AZ8esrikFb2L9RJ7MtOMB8GA1Ud
// SIG // IwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9PMA4GA1Ud
// SIG // DwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDCDB3
// SIG // BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6
// SIG // Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1
// SIG // aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lD
// SIG // ZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4
// SIG // oDagNIYyaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
// SIG // Z2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmwwIAYDVR0gBBkw
// SIG // FzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3
// SIG // DQEBCwUAA4ICAQAXzvsWgBz+Bz0RdnEwvb4LyLU0pn/N
// SIG // 0IfFiBowf0/Dm1wGc/Do7oVMY2mhXZXjDNJQa8j00DNq
// SIG // hCT3t+s8G0iP5kvN2n7Jd2E4/iEIUBO41P5F448rSYJ5
// SIG // 9Ib61eoalhnd6ywFLerycvZTAz40y8S4F3/a+Z1jEMK/
// SIG // DMm/axFSgoR8n6c3nuZB9BfBwAQYK9FHaoq2e26MHvVY
// SIG // 9gCDA/JYsq7pGdogP8HRtrYfctSLANEBfHU16r3J05qX
// SIG // 3kId+ZOczgj5kjatVB+NdADVZKON/gnZruMvNYY2o1f4
// SIG // MXRJDMdTSlOLh0HCn2cQLwQCqjFbqrXuvTPSegOOzr4E
// SIG // Wj7PtspIHBldNE2K9i697cvaiIo2p61Ed2p8xMJb82Yo
// SIG // sn0z4y25xUbI7GIN/TpVfHIqQ6Ku/qjTY6hc3hsXMrS+
// SIG // U0yy+GWqAXam4ToWd2UQ1KYT70kZjE4YtL8Pbzg0c1ug
// SIG // MZyZZd/BdHLiRu7hAWE6bTEm4XYRkA6Tl4KSFLFk43es
// SIG // aUeqGkH/wyW4N7OigizwJWeukcyIPbAvjSabnf7+Pu0V
// SIG // rFgoiovRDiyx3zEdmcif/sYQsfch28bZeUz2rtY/9TCA
// SIG // 6TD8dC3JE3rYkrhLULy7Dc90G6e8BlqmyIjlgp2+VqsS
// SIG // 9/wQD7yFylIz0scmbKvFoW2jNrbM1pD2T7m3XDCCBY0w
// SIG // ggR1oAMCAQICEA6bGI750C3n79tQ4ghAGFowDQYJKoZI
// SIG // hvcNAQEMBQAwZTELMAkGA1UEBhMCVVMxFTATBgNVBAoT
// SIG // DERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2lj
// SIG // ZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNlcnQgQXNzdXJl
// SIG // ZCBJRCBSb290IENBMB4XDTIyMDgwMTAwMDAwMFoXDTMx
// SIG // MTEwOTIzNTk1OVowYjELMAkGA1UEBhMCVVMxFTATBgNV
// SIG // BAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRp
// SIG // Z2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1
// SIG // c3RlZCBSb290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOC
// SIG // Ag8AMIICCgKCAgEAv+aQc2jeu+RdSjwwIjBpM+zCpyUu
// SIG // ySE98orYWcLhKac9WKt2ms2uexuEDcQwH/MbpDgW61bG
// SIG // l20dq7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKv
// SIG // aJNwwrK6dZlqczKU0RBEEC7fgvMHhOZ0O21x4i0MG+4g
// SIG // 1ckgHWMpLc7sXk7Ik/ghYZs06wXGXuxbGrzryc/NrDRA
// SIG // X7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e
// SIG // 5TXnMcvak17cjo+A2raRmECQecN4x7axxLVqGDgDEI3Y
// SIG // 1DekLgV9iPWCPhCRcKtVgkEy19sEcypukQF8IUzUvK4b
// SIG // A3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFY
// SIG // F/ckXEaPZPfBaYh2mHY9WV1CdoeJl2l6SPDgohIbZpp0
// SIG // yt5LHucOY67m1O+SkjqePdwA5EUlibaaRBkrfsCUtNJh
// SIG // besz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFgqrFj
// SIG // GESVGnZifvaAsPvoZKYz0YkH4b235kOkGLimdwHhD5QM
// SIG // IR2yVCkliWzlDlJRR3S+Jqy2QXXeeqxfjT/JvNNBERJb
// SIG // 5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7GrhotPwtZF
// SIG // X50g/KEexcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEA
// SIG // AaOCATowggE2MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
// SIG // BBYEFOzX44LScV1kTN8uZz/nupiuHA9PMB8GA1UdIwQY
// SIG // MBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA4GA1UdDwEB
// SIG // /wQEAwIBhjB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUH
// SIG // MAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBDBggr
// SIG // BgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
// SIG // Y29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDBF
// SIG // BgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY3JsMy5kaWdp
// SIG // Y2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0Eu
// SIG // Y3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG9w0B
// SIG // AQwFAAOCAQEAcKC/Q1xV5zhfoKN0Gz22Ftf3v1cHvZqs
// SIG // oYcs7IVeqRq7IviHGmlUIu2kiHdtvRoU9BNKei8ttzjv
// SIG // 9P+Aufih9/Jy3iS8UgPITtAq3votVs/59PesMHqai7Je
// SIG // 1M/RQ0SbQyHrlnKhSLSZy51PpwYDE3cnRNTnf+hZqPC/
// SIG // Lwum6fI0POz3A8eHqNJMQBk1RmppVLC4oVaO7KTVPeix
// SIG // 3P0c2PR3WlxUjG/voVA9/HYJaISfb8rbII01YBwCA8sg
// SIG // sKxYoA5AY8WYIsGyWfVVa88nq2x2zm8jLfR+cWojayL/
// SIG // ErhULSd+2DrZ8LaHlv1b0VysGMNNn3O3AamfV6peKOK5
// SIG // lDGCA3wwggN4AgEBMH0waTELMAkGA1UEBhMCVVMxFzAV
// SIG // BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhE
// SIG // aWdpQ2VydCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBS
// SIG // U0E0MDk2IFNIQTI1NiAyMDI1IENBMQIQCoDvGEuN8QWC
// SIG // 0cR2p5V0aDANBglghkgBZQMEAgEFAKCB0TAaBgkqhkiG
// SIG // 9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkF
// SIG // MQ8XDTI1MTAxNTIyMjEwNlowKwYLKoZIhvcNAQkQAgwx
// SIG // HDAaMBgwFgQU3WIwrIYKLTBr2jixaHlSMAf7QX4wLwYJ
// SIG // KoZIhvcNAQkEMSIEIPmaWGzrogqaiO8aAn8Uhl0rm/Dl
// SIG // wf5d0qLqvCYKLaY4MDcGCyqGSIb3DQEJEAIvMSgwJjAk
// SIG // MCIEIEqgP6Is11yExVyTj4KOZ2ucrsqzP+NtJpqjNPFG
// SIG // EQozMA0GCSqGSIb3DQEBAQUABIICAE1+QlOIvHr7eOiE
// SIG // LVN5W+8QPwr3+/HW/sRRnBham/jxKaQRSR2/0ga9c7hr
// SIG // y1w6EYlOoZ0Pq8tmLxF8/5BmP/uduTKaPOsvQi3l1m0s
// SIG // b7H5w8XZT3tGVUQrVCCAN+bMDmXcatKiHIXoI/4ys37A
// SIG // upS8FrtwHkapemzGIZ+nZv9dyqL1/ZujlXheD3wEm0H3
// SIG // AP2Da518JdtdONXUk2HPIhfXPiug8K582TAV0ZlqKJnd
// SIG // AwW+Adkhp++Mc66bwLH5RYaUeHiwRsM3zw7NtCcI+xcb
// SIG // /W3I4pH22fON+tDgPr2t8dnbIaRkvD4QqYhy5zqiz1i8
// SIG // 4fbzmRCoG+FkrduQcttxIPygj8hNFUrnbrqnYDO2EWgD
// SIG // hKT0dplN0xSLTO1u2bM+OU/yITEUbebrrE2/f0JuDV6E
// SIG // pctwVY6lYWGMBS6rCH7euaU7Yn3ogoHuvnBtGumtk7yV
// SIG // CwuDYWidYaVGi0Sm2O4ldD3sLuaGvs9fy8joMhb6NmNW
// SIG // g/GW5bWSC6GrJi425UqbHZkroot+7JWwCuj+b5r0BrVp
// SIG // EM22UzoIKsFLlzKvvPpIi0oQuzare41U5aJi7SQIx8iN
// SIG // 28E4pojpcuNlEUaT7Oc4Pnoaiwjxb0u46XBU7kIS20OW
// SIG // yYyzv3nvyAThOKUvAufS9wIJ0Q1Uxp8B8yLQLzIwgaEf
// SIG // kRkw0rqD
// SIG // End signature block