(self.webpackChunkgfn_mall=self.webpackChunkgfn_mall||[]).push([[792],{33440:(xe,de,t)=>{"use strict";t.d(de,{A:()=>C,I:()=>Q});var e=t(58527),n=t(40262),E=t(80583),O=t(31315),B=t(36877),P=t(4208),k=t(65706),U=t(8619),r=t(81834),A=t(47766),l=t(14993),I=t(26537),S=t(19061),L=t(61142),s=t(3457),M=t(28139),u=t(29370),x=t(47973),p=t(44296),i=t(44186),o=t(14605),_=t(6006),f=t(97888),J=t(98504),a=t(65240);const D=["activecolor"],te=["defaultcolor"],N=["navButtonRef"],z=["*"],R=(j,le)=>({active_color:j,default_color:le}),v=(j,le)=>({value:j,params:le}),h=j=>({translate3d_value:j}),W=j=>({"flip-rtl-element":j}),ne=(j,le)=>({"app-bar-item-with-text":j,"font-button2 mat-flat-button mat-accent app-bar-button-end":le}),ee=j=>({"app-bar-padding":j});function b(j,le){if(1&j){const ge=e.RV6();e.j41(0,"button",17,2),e.nI1(2,"translate"),e.bIt("click",function(){e.eBV(ge);const ce=e.XpG(2);return e.Njj(ce.navClicked(ce.navButton.id))})("focus",function(){e.eBV(ge);const ce=e.XpG(2);return e.Njj(ce.navFocused())})("blur",function(){e.eBV(ge);const ce=e.XpG(2);return e.Njj(ce.navBlurred())}),e.nrm(3,"mat-icon",18),e.k0s()}if(2&j){const ge=e.XpG(2);e.FS9("matTooltip",e.bMT(2,7,ge.navButton.tooltip)),e.R7$(3),e.xc7("overflow-x","clip")("overflow-y","clip"),e.Y8G("svgIcon",ge.navButton.id)("ngClass",e.eq3(9,W,"arrow_left"===ge.navButton.id))}}function w(j,le){if(1&j){const ge=e.RV6();e.j41(0,"button",20),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(ge);const ce=e.XpG().$implicit,G=e.XpG(2);return e.Njj(G.iconClicked(ce))}),e.nrm(2,"mat-icon",21),e.k0s()}if(2&j){const ge=e.XpG().$implicit;e.Y8G("@icon",void 0)("nvTooltipDisabled",!ge.tooltip)("matTooltip",e.bMT(1,4,ge.tooltip)),e.R7$(2),e.Y8G("svgIcon",ge.icon)}}function F(j,le){if(1&j&&(e.qex(0),e.DNE(1,w,3,6,"button",19),e.bVm()),2&j){const ge=le.$implicit;e.R7$(),e.Y8G("ngIf",ge.icon&&!ge.end&&!ge.loginData)}}function Z(j,le){if(1&j&&e.nrm(0,"mat-icon",21),2&j){const ge=e.XpG(2).$implicit;e.Y8G("svgIcon",ge.icon)}}function se(j,le){if(1&j&&(e.j41(0,"span",29),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&j){const ge=e.XpG(2).$implicit;e.Y8G("ngClass",e.eq3(4,ee,void 0===ge.button)),e.R7$(),e.JRh(e.bMT(2,2,ge.text))}}function Y(j,le){if(1&j){const ge=e.RV6();e.j41(0,"button",26),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(ge);const ce=e.XpG().$implicit,G=e.XpG(2);return e.Njj(G.iconClicked(ce))}),e.DNE(2,Z,1,1,"mat-icon",27)(3,se,3,6,"span",28),e.k0s()}if(2&j){const ge=e.XpG().$implicit;e.Y8G("@icon",void 0)("nvTooltipDisabled",!ge.tooltip)("matTooltip",e.bMT(1,8,ge.tooltip))("ngClass",e.l_i(10,ne,void 0!==ge.text,ge.button))("nvFocusRipple",!!ge.button)("disabled",ge.disabled),e.R7$(2),e.Y8G("ngIf",ge.icon),e.R7$(),e.Y8G("ngIf",ge.text)}}function q(j,le){if(1&j&&e.nrm(0,"img",38),2&j){const ge=e.XpG(2).$implicit;e.Y8G("src",ge.loginData.avatar,e.B4B)}}function T(j,le){if(1&j&&e.nrm(0,"mat-icon",39),2&j){const ge=e.XpG(2).$implicit;e.Y8G("svgIcon",ge.loginData.avatarSvg)}}function H(j,le){if(1&j&&(e.j41(0,"span",40),e.EFF(1),e.k0s()),2&j){const ge=e.XpG(2).$implicit;e.R7$(),e.JRh(ge.loginData.currentPlanShortName)}}function y(j,le){if(1&j&&(e.j41(0,"button",30),e.nI1(1,"translate"),e.j41(2,"div",31),e.DNE(3,q,1,1,"img",32)(4,T,1,1,"mat-icon",33),e.j41(5,"div",34)(6,"span",35),e.EFF(7),e.k0s(),e.DNE(8,H,2,1,"span",36),e.k0s(),e.j41(9,"mat-icon",37),e.EFF(10,"arrow_drop_down"),e.k0s()()()),2&j){const ge=e.XpG().$implicit,ie=e.sdS(4);e.FS9("matTooltip",e.bMT(1,7,ge.tooltip)),e.Y8G("matMenuTriggerFor",ie)("nvTooltipDisabled",!ge.tooltip),e.R7$(3),e.Y8G("ngIf",ge.loginData.avatar),e.R7$(),e.Y8G("ngIf",ge.loginData.avatarSvg),e.R7$(3),e.JRh(ge.loginData.username),e.R7$(),e.Y8G("ngIf",ge.loginData.currentPlanShortName)}}function X(j,le){if(1&j){const ge=e.RV6();e.qex(0),e.j41(1,"button",41),e.bIt("click",function(){const ce=e.eBV(ge).$implicit,G=e.XpG(3);return e.Njj(G.iconMenuClicked(ce.id))}),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.bVm()}if(2&j){const ge=le.$implicit;e.R7$(2),e.SpI(" ",e.bMT(3,1,ge.item)," ")}}function c(j,le){if(1&j&&(e.qex(0),e.DNE(1,Y,4,13,"button",22)(2,y,11,9,"button",23),e.j41(3,"mat-menu",24,3),e.DNE(5,X,4,3,"ng-container",25),e.k0s(),e.bVm()),2&j){const ge=le.$implicit;e.R7$(),e.Y8G("ngIf",(ge.icon&&ge.end||ge.button)&&!ge.loginData),e.R7$(),e.Y8G("ngIf",ge.loginData),e.R7$(3),e.Y8G("ngForOf",ge.menu)}}function g(j,le){if(1&j){const ge=e.RV6();e.j41(0,"div",7)(1,"div",8)(2,"mat-icon",9),e.bIt("@logoSlide.done",function(ce){e.eBV(ge);const G=e.XpG();return e.Njj(G.onLogoSlide(ce))}),e.k0s()(),e.j41(3,"div",10),e.DNE(4,b,4,11,"button",11),e.j41(5,"div",12),e.EFF(6),e.nI1(7,"translate"),e.k0s(),e.DNE(8,F,2,1,"ng-container",13),e.nrm(9,"div",14),e.j41(10,"div",15),e.EFF(11),e.nI1(12,"translate"),e.k0s()(),e.j41(13,"div",16),e.SdG(14),e.k0s(),e.DNE(15,c,6,3,"ng-container",13),e.k0s()}if(2&j){const ge=e.XpG();e.AVh("active",ge.active),e.Y8G("@active",e.l_i(24,v,ge.active,e.l_i(21,R,ge.activeColor,ge.defaultColor)))("enableFocusBack",!ge.isNavFocused),e.R7$(2),e.Y8G("@logoSlide",e.l_i(29,v,ge.logoState,e.eq3(27,h,ge.logoSlideTranslate3dValue))),e.R7$(),e.AVh("shrink-navigation",ge.shrinkNavigation),e.R7$(),e.Y8G("ngIf",null==ge.navButton?null:ge.navButton.id),e.R7$(),e.Y8G("fxHide",ge.shrinkNavigation),e.R7$(),e.SpI(" ",e.i5U(7,15,ge.title,ge.titleParams)," "),e.R7$(2),e.Y8G("ngForOf",ge.icons)("ngForTrackBy",ge.iconTrack),e.R7$(3),e.JRh(e.i5U(12,18,ge.info,ge.infoParams)),e.R7$(4),e.Y8G("ngForOf",ge.icons)("ngForTrackBy",ge.iconTrack)}}var d=function(j){return j.InInitial="IN_INITIAL",j.In="IN",j.Out="OUT",j}(d||{}),C=function(j){return j.ShowInitialReveal="showInitialReveal",j.ShowWhenNoNavButton="showWhenNoNavButton",j.NoShow="noShow",j}(C||{});let Q=(()=>{var j;class le{constructor(ie,ce,G,ue,ae,Ce,Se){this.ngZone=ce,this.appBarService=G,this.matDialog=ue,this.localeService=ae,this.spatialNavigationService=Ce,this.focusManager=Se,this.destroy$=new E.B7,this.skipTour=!1,this.icons=[{},{},{},{},{}],this.title="",this.titleParams={},this.info="",this.infoParams={},this.navButton={},this.show=!0,this.shrinkNavigation=!1,this.template={},this.activeColor="",this.defaultColor="",this.logoSlideTranslate3dValue="",this.isNavFocused=!1,this.logger=ie.getLogger("AppBar")}setupListeners(){this.appBarService.icons$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{let G=4;for(ce.forEach(ue=>{G>=0&&(this.icons[G--]=ue)});G>=0;)this.icons[G--]={}}),this.appBarService.title$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{this.title=ce.entry,this.titleParams=ce.params}),this.appBarService.info$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{this.info=ce.entry,this.infoParams=ce.params}),this.appBarService.navButton$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{var G;this.navButton=ce,this.logoBehavior===C.ShowWhenNoNavButton&&(this.logoState=null!==(G=this.navButton)&&void 0!==G&&G.id?d.Out:d.In)}),this.appBarService.active$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{this.active=ce}),this.appBarService.visible$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{this.show=ce}),this.appBarService.template$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{this.template=ce});const ie=this.localeService.layoutDirectionUpdated$.pipe((0,k.s)(1));(0,O.zV)([ie,this.appBarService.logoRevealed$]).pipe((0,P.Q)(this.destroy$)).subscribe(([ce,G])=>{this.logoSlideTranslate3dValue=`translate3d(${this.localeService.isRTLLayoutEnabled?"calc(101% + env(safe-area-inset-right))":"calc(-101% - env(safe-area-inset-left))"}, 0, 0)`,G&&this.logoState===d.InInitial&&(this.logoState=d.Out)}),this.appBarService.shrinkNavigation$.pipe((0,P.Q)(this.destroy$)).subscribe(ce=>{this.shrinkNavigation=ce})}ngOnInit(){switch(this.logoBehavior){case C.NoShow:this.logoState=d.Out;break;case C.ShowInitialReveal:this.logoState=d.InInitial;break;case C.ShowWhenNoNavButton:this.logoState=d.In}}ngAfterViewInit(){setTimeout(()=>{this.activeColor=getComputedStyle(this.activeElement.nativeElement).backgroundColor,this.defaultColor=getComputedStyle(this.defaultElement.nativeElement).backgroundColor,this.setupListeners()},0),this.ngZone.runOutsideAngular(()=>{const ie=(0,B.R)(document,"keydown").pipe((0,U.p)(r.Nw)),G=ue=>{var ae;return!ue.defaultPrevented&&(null===(ae=this.navButton)||void 0===ae?void 0:ae.id)&&0===this.matDialog.openDialogs.length};ie.pipe((0,U.p)(ue=>ue.key==r.x5.Escape)).pipe((0,U.p)(G),(0,P.Q)(this.destroy$)).subscribe(ue=>{ue.target!==this.navButtonRef.nativeElement&&(ue.preventDefault(),ue.stopPropagation(),this.focusManager.focusViaLastOrigin(this.navButtonRef.nativeElement),this.logger.info("focus navigation button"))}),ie.pipe((0,U.p)(G),(0,P.Q)(this.destroy$)).subscribe(ue=>{var ae;"menu"!==(null===(ae=this.navButton)||void 0===ae?void 0:ae.id)&&(ue.preventDefault(),ue.stopPropagation(),this.logger.info("focus is on the navigation button and it is not menu button. clicking the navigation button."),this.appBarService.clickIcon(this.navButton.id))})})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}navClicked(ie){this.appBarService.clickNav(ie)}navFocused(){setTimeout(()=>{this.isNavFocused=!0})}navBlurred(){setTimeout(()=>{this.isNavFocused=!1})}iconClicked(ie){this.appBarService.clickIcon(ie.id)}iconMenuClicked(ie){this.appBarService.clickIcon(ie)}iconTrack(ie,ce){return ie}onLogoSlide(ie){if((null==ie?void 0:ie.fromState)===d.InInitial&&(null==ie?void 0:ie.toState)===d.Out&&(this.logger.info("Initial logo reveal complete"),this.spatialNavigationService.enabled&&!this.spatialNavigationService.activated&&(this.spatialNavigationService.activated=!0),this.spatialNavigationService.activated)){var ce;if(null===(ce=this.navButtonRef)||void 0===ce||!ce.nativeElement)return void this.logger.error("Unable to focus on menu, navButtonRef.nativeElement is undefined, current navButton:",JSON.stringify(this.navButton));if(document.activeElement!==document.body)return;this.spatialNavigationService.isDefaultFocusRequired()?this.focusManager.focusViaLastOrigin(this.navButtonRef.nativeElement):this.spatialNavigationService.setStartingPoint(this.navButtonRef.nativeElement)}}}return(j=le).\u0275fac=function(ie){return new(ie||j)(e.rXU(A.J6),e.rXU(e.SKi),e.rXU(l.gZ),e.rXU(I.bZ),e.rXU(A.iH),e.rXU(S.ED),e.rXU(S.c_))},j.\u0275cmp=e.VBU({type:j,selectors:[["nv-app-bar"]],viewQuery:function(ie,ce){if(1&ie&&(e.GBs(D,7),e.GBs(te,7),e.GBs(N,5,e.aKT)),2&ie){let G;e.mGM(G=e.lsd())&&(ce.activeElement=G.first),e.mGM(G=e.lsd())&&(ce.defaultElement=G.first),e.mGM(G=e.lsd())&&(ce.navButtonRef=G.first)}},inputs:{logoBehavior:"logoBehavior",skipTour:"skipTour"},ngContentSelectors:z,decls:5,vars:1,consts:[["activecolor",""],["defaultcolor",""],["navButtonRef",""],["menu","matMenu"],[1,"dummy-color-getter"],[1,"default-color"],["fxLayout","row","fxLayoutAlign","start center","class","appbar default-color mat-elevation-z4","nvFocusBack","",3,"active","enableFocusBack",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","nvFocusBack","",1,"appbar","default-color","mat-elevation-z4",3,"enableFocusBack"],["fxFlex","row","fxLayoutAlign","start center",1,"nv-branding"],["svgIcon","gfnBranding","tabindex","-1","fxFlex",""],["fxLayout","row","fxLayoutAlign","start center","fxFlex","1 1 auto",1,"nav-container"],["mat-button","","nvDisableTooltipIfNeeded","","matTooltipClass","mat-tooltip-font-body3","class","nav-button item-empty hig-button-icon font-body1","fxLayout","row","fxLayoutAlign","center center","cdkFocusInitial","",3,"matTooltip","click","focus","blur",4,"ngIf"],["fxFlex","1 1 auto",1,"title","font-body1","toolbar-title-text",3,"fxHide"],[4,"ngFor","ngForOf","ngForTrackBy"],["fxFlex",""],[1,"title","font-body1"],["fxFlex","1 1 100%"],["mat-button","","nvDisableTooltipIfNeeded","","matTooltipClass","mat-tooltip-font-body3","fxLayout","row","fxLayoutAlign","center center","cdkFocusInitial","",1,"nav-button","item-empty","hig-button-icon","font-body1",3,"click","focus","blur","matTooltip"],[3,"svgIcon","ngClass"],["mat-button","","matTooltipClass","nv-oogg oogg-tooltip","class","app-bar-icons-left font-body1 hig-button-icon","fxLayout","row","fxLayoutAlign","center center","fxFlex","none",3,"nvTooltipDisabled","matTooltip","click",4,"ngIf"],["mat-button","","matTooltipClass","nv-oogg oogg-tooltip","fxLayout","row","fxLayoutAlign","center center","fxFlex","none",1,"app-bar-icons-left","font-body1","hig-button-icon",3,"click","nvTooltipDisabled","matTooltip"],[3,"svgIcon"],["mat-button","","matTooltipClass","nv-oogg oogg-tooltip","class","app-bar-icons font-body2 hig-button-icon","fxLayout","row","fxLayoutAlign","center center","fxFlex","none",3,"nvTooltipDisabled","matTooltip","ngClass","nvFocusRipple","disabled","click",4,"ngIf"],["mat-button","","class","app-bar-icons font-body1 hig-button-icon app-bar-item-with-text","matTooltipClass","nv-oogg oogg-tooltip","fxFlex","none",3,"matMenuTriggerFor","nvTooltipDisabled","matTooltip",4,"ngIf"],["overlapTrigger","false"],[4,"ngFor","ngForOf"],["mat-button","","matTooltipClass","nv-oogg oogg-tooltip","fxLayout","row","fxLayoutAlign","center center","fxFlex","none",1,"app-bar-icons","font-body2","hig-button-icon",3,"click","nvTooltipDisabled","matTooltip","ngClass","nvFocusRipple","disabled"],[3,"svgIcon",4,"ngIf"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],["mat-button","","matTooltipClass","nv-oogg oogg-tooltip","fxFlex","none",1,"app-bar-icons","font-body1","hig-button-icon","app-bar-item-with-text",3,"matMenuTriggerFor","nvTooltipDisabled","matTooltip"],["fxFlex","1 1 auto","fxLayout","row","fxLayoutAlign","start center"],["class","avatar-img",3,"src",4,"ngIf"],["class","avatar-img",3,"svgIcon",4,"ngIf"],["fxLayout","column",1,"display-name"],[1,"username","font-body2"],["class","font-body3",4,"ngIf"],[1,"material-icons"],[1,"avatar-img",3,"src"],[1,"avatar-img",3,"svgIcon"],[1,"font-body3"],["mat-menu-item","",3,"click"]],template:function(ie,ce){1&ie&&(e.NAR(),e.nrm(0,"div",4,0)(2,"div",5,1),e.DNE(4,g,16,32,"div",6)),2&ie&&(e.R7$(4),e.Y8G("ngIf",ce.show))},dependencies:[L.YU,L.Sq,L.bT,s.DJ,s.sA,s.UI,M.Om,M.PW,u.An,x.iV,p.pI,p.gy,p.fS,i.oV,o.b,_.F,f.Aq,J.tH,a.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}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.appbar[_ngcontent-%COMP%]{transition:background-color .15s linear;height:56px}.dummy-color-getter[_ngcontent-%COMP%]{background:#76b900}.default-color[_ngcontent-%COMP%]{background:#393939}.item-empty[_ngcontent-%COMP%]{width:0;max-width:40px}.app-bar-icons[_ngcontent-%COMP%]{margin:0 8px}.isLtr[_nghost-%COMP%] .app-bar-icons-left[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .app-bar-icons-left[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .app-bar-icons-left[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .app-bar-icons-left[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .app-bar-icons-left[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .app-bar-icons-left[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.app-bar-item-with-text[_ngcontent-%COMP%]{width:unset!important}.app-bar-padding[_ngcontent-%COMP%]{padding:4px 4px 0}.app-bar-button-end[_ngcontent-%COMP%]{padding:0 8px}.appbar.active[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{color:#fff}.nv-branding[_ngcontent-%COMP%]{width:fit-content;height:fit-content;position:absolute}.nv-branding[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:186px;height:56px;pointer-events:none;z-index:15}.avatar-img[_ngcontent-%COMP%]{width:24px;height:24px;margin:0 8px;align-self:center}.isLtr[_nghost-%COMP%] .display-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .display-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-align:left}html[dir=ltr][_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{--dummy0: 0;text-align:left}.isRtl[_nghost-%COMP%] .display-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .display-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-align:right}html[dir=rtl][_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{--dummy0: 0;text-align:right}.display-name[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:64px;max-width:144px}.toolbar-title-text[_ngcontent-%COMP%]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:264px;min-width:150px}.isLtr[_nghost-%COMP%] .toolbar-title-text[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .toolbar-title-text[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .toolbar-title-text[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .toolbar-title-text[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .toolbar-title-text[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .toolbar-title-text[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}@media (max-width: 599.98px) and (orientation: portrait){.toolbar-title-text[_ngcontent-%COMP%]{min-width:0}}.mat-button[_ngcontent-%COMP%]{background:transparent;border:none;padding:0}.nav-container[_ngcontent-%COMP%]{min-width:auto}.isLtr[_nghost-%COMP%] .nav-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nav-container[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nav-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nav-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nav-container[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nav-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.nav-container.shrink-navigation[_ngcontent-%COMP%]{min-width:0}.tv-view[_nghost-%COMP%] .appbar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .appbar[_ngcontent-%COMP%]{height:90px}.tv-view[_nghost-%COMP%] .appbar[_ngcontent-%COMP%] button.hig-button-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .appbar[_ngcontent-%COMP%] button.hig-button-icon[_ngcontent-%COMP%]{min-width:70px;min-height:70px;max-height:70px}.tv-view[_nghost-%COMP%] .appbar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .appbar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:32px;height:32px;width:32px}.tv-view[_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .nv-branding[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .nv-branding[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:298.9285714286px;height:90px}.tv-view[_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .nav-button-wrapper[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .nav-button-wrapper[_ngcontent-%COMP%]{padding:0 4px}.tv-view[_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .nav-button.hig-button-icon.mat-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .appbar[_ngcontent-%COMP%] .nav-button.hig-button-icon.mat-button[_ngcontent-%COMP%]{width:fit-content;height:fit-content}"],data:{animation:[(0,n.hZ)("logoSlide",[(0,n.wk)(d.InInitial,(0,n.iF)({transform:"translate3d(0, 0, 0)"})),(0,n.wk)(d.In,(0,n.iF)({transform:"translate3d(0, 0, 0)"})),(0,n.wk)(d.Out,(0,n.iF)({transform:"{{ translate3d_value }}"}),{params:{translate3d_value:"translate3d(calc(-101% - env(safe-area-inset-left)), 0, 0)"}}),(0,n.kY)(d.InInitial+" => "+d.Out,(0,n.i0)("200ms 1500ms ease")),(0,n.kY)(d.In+" => "+d.Out,(0,n.i0)("400ms ease")),(0,n.kY)(d.Out+" => "+d.In,(0,n.i0)("650ms ease"))]),(0,n.hZ)("navButton",[(0,n.wk)("true",(0,n.iF)({"flex-basis":"36px",opacity:1})),(0,n.wk)("false",(0,n.iF)({"flex-basis":"0","margin-right":0,opacity:0})),(0,n.kY)("true <=> false",(0,n.i0)(150))]),(0,n.hZ)("icon",[(0,n.kY)(":enter",[(0,n.iF)({opacity:0}),(0,n.i0)(150,(0,n.iF)({opacity:1}))]),(0,n.kY)(":leave",[(0,n.i0)(150,(0,n.iF)({opacity:0}))])]),(0,n.hZ)("active",[(0,n.wk)("true",(0,n.iF)({"background-color":"{{active_color}}"}),{params:{active_color:"transparent"}}),(0,n.wk)("false",(0,n.iF)({"background-color":"{{default_color}}"}),{params:{default_color:"transparent"}}),(0,n.kY)("true <=> false",[(0,n.Os)([(0,n.P)("@*",[(0,n.MA)()]),(0,n.i0)(150)])])])]}}),le})()},14993:(xe,de,t)=>{"use strict";t.d(de,{gZ:()=>l});var e=t(80583),n=t(26513),E=t(58527),O=t(47766);let l=(()=>{var I;class S{constructor(s){this.loggingService=s,this.actionClicked=new e.B7,this.iconsChanged=new n.t([]),this.titleChanged=new n.t({entry:"",params:{}}),this.infoChanged=new n.t({entry:"",params:{}}),this.navButtonChanged=new n.t({}),this.activeChanged=new n.t(!1),this.appBarState=new n.t(!0),this.templateChanged=new n.t({id:"",params:{}}),this.logoRevealed=new n.t(!1),this.shrinkNavigation=new n.t(!1),this.iconList=[],this.defaultNavButton={},this.actionClicked$=this.actionClicked.asObservable(),this.icons$=this.iconsChanged.asObservable(),this.title$=this.titleChanged.asObservable(),this.info$=this.infoChanged.asObservable(),this.navButton$=this.navButtonChanged.asObservable(),this.active$=this.activeChanged.asObservable(),this.visible$=this.appBarState.asObservable(),this.template$=this.templateChanged.asObservable(),this.logoRevealed$=this.logoRevealed.asObservable(),this.shrinkNavigation$=this.shrinkNavigation.asObservable(),this.loggedIn=!1,this.logger=this.loggingService.getLogger("AppBar"),this.logger.info("AppBarService started")}reset(){this.titleChanged.next({entry:"",params:{}}),this.infoChanged.next({entry:"",params:{}}),this.iconsChanged.next([]),this.navButtonChanged.next({}),this.activeChanged.next(!1),this.templateChanged.next({id:"",params:{}})}getCurrentTitle(){return this.titleChanged.getValue()}getCurrentTemplate(){return this.templateChanged.getValue()}setTitle(s){this.titleChanged.next({entry:s.entry,params:s.params})}setInfo(s){this.infoChanged.next({entry:s.entry,params:s.params})}setDefaultNavButton(s){this.defaultNavButton=s}setNavButton(s){this.navButtonChanged.next(s)}setNavButtonMenu(s){this.setNavButton({id:"menu",tooltip:s})}setNavButtonArrow(s){this.setNavButton({id:"arrow_left",tooltip:s})}setNavButtonClose(s){this.setNavButton({id:"close",tooltip:s})}setNavButtonToDefault(){this.setNavButton(this.defaultNavButton)}setNavButtonEmpty(){this.setNavButton({})}setActive(s){this.activeChanged.next(s)}addIcon(s){this.iconList.push(s),this.iconsChanged.next(this.iconList)}deleteIcon(s){const M=this.iconList.findIndex(u=>u.id===s);-1!==M&&(this.iconList.splice(M,1),this.iconsChanged.next(this.iconList))}setIcons(s){this.iconList=s.slice(),this.iconsChanged.next(this.iconList)}setTemplate(s){this.templateChanged.next(s)}setShrinkNavigation(s){this.shrinkNavigation.next(s)}setLogoRevealed(){this.logoRevealed.next(!0)}setAll(s){var M;this.reset(),s.title&&this.setTitle(s.title),s.info&&this.setInfo(s.info),this.setActive(s.active),this.setIcons(s.icons),this.setTemplate(void 0!==s.template?s.template:{id:""}),s.defaultNavButton&&this.setDefaultNavButton(s.defaultNavButton),null!==(M=s.navButton)&&void 0!==M&&M.id?this.setNavButton(s.navButton):s.navButtonMenu?this.setNavButtonMenu():s.navButtonArrow?this.setNavButtonArrow():s.navButtonClose?this.setNavButtonClose():s.navButtonSetToDefault&&this.setNavButtonToDefault()}clearIcons(){this.iconList=[],this.iconsChanged.next(this.iconList)}getIcons(){return this.iconList}clickIcon(s){"closeIgo"===s&&this.closeIgo(),this.actionClicked.next(s)}clickNav(s){this.clickIcon(s)}closeIgo(){}setAppBarState(s){this.appBarState.next(s)}}return(I=S).\u0275fac=function(s){return new(s||I)(E.KVO(O.J6))},I.\u0275prov=E.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},40401:(xe,de,t)=>{"use strict";t.d(de,{AL:()=>s.A,ti:()=>L,gZ:()=>M.gZ});var e=t(61142),n=t(51006),E=t(58527),O=t(65240),B=t(44296),P=t(29370),k=t(47973),U=t(44186),r=t(74150),A=t(19061);let S={provide:E.hnV,useFactory:function I(u,x){return()=>function l(u,x){return u.addSvgIcon("gfnBranding",x.bypassSecurityTrustResourceUrl("./assets/img/nv-gfn-logo_v2.svg")),Promise.resolve()}(u,x)},deps:[P.tp,r.up],multi:!0},L=(()=>{var u;class x{}return(u=x).\u0275fac=function(i){return new(i||u)},u.\u0275mod=E.$C({type:u}),u.\u0275inj=E.G2t({providers:[S],imports:[e.MD,n.YF,P.m_,k.wG,B.bB,U.uc,O.h,A.bm]}),x})();var s=t(33440),M=t(14993)},29567:(xe,de,t)=>{"use strict";t.d(de,{oO:()=>s,LV:()=>u,aT:()=>L,XR:()=>p});var e=t(94485),n=t(85735),E=t(43848),O=t(35146),B=t(91384),P=t(65706),k=t(83915),U=t(75707),r=t(14714),A=t(39184),l=t(47766),I=t(26875),S=t(58527);let L=(()=>{var i;class o{}return(i=o).\u0275fac=function(f){return new(f||i)},i.\u0275prov=S.jDH({token:i,factory:i.\u0275fac}),o})(),s=(()=>{var i;class o{constructor(f,J,a,D){this.httpBackend=f,this.params=a,this.injector=D,this.configFetchedSubject=new n.m(1),this.getConfigFromHttp=()=>this.http.get(this.params.filePath).pipe((0,B.M)(te=>(this.logger.info("Successfully read application config file",te.build),te),te=>{this.logger.error(`Configuration file ${this.params.filePath} could not be read. Error: ${te}`)})),this.getConfig=()=>{const te=document.getElementsByTagName("gfn-app-config")[0],N=null==te?void 0:te.getAttribute("data-value");null==te||te.remove();const z=this.parseEncodedConfig(N);return z?(0,E.of)(z):this.getConfigFromHttp()},this.logger=J.getLogger("app.config"),this.http=new e.Qq(this.httpBackend),this.cefStaticSystemInfo$=(0,E.of)(null),l.zk.isBrowserLikePlatform()?(this.systemInfoService=this.injector.get(l.zW),this.browserStaticSystemInfo$=this.systemInfoService?this.systemInfoService.getSystemInfo([l.Lu.OSName,l.Lu.DeviceType,l.Lu.ProductVersion,l.Lu.BrowserName,l.Lu.SystemName,l.Lu.VendorName]).pipe((0,P.s)(1),(0,k.T)(te=>({OSName:te.OSName,DeviceType:te.DeviceType,BrowserName:te.BrowserName,ProductVersion:te.ProductVersion,SystemName:te.SystemName}))):(0,E.of)(null)):this.browserStaticSystemInfo$=(0,E.of)(null),l.zk.isCefPlatform()&&(this.systemInfoService=this.injector.get(l.zW),this.systemInfoService&&(this.cefStaticSystemInfo$=this.systemInfoService.getDeviceOSType().pipe((0,k.T)(te=>({Platform:te})))))}get configFetched$(){return this.configFetchedSubject.asObservable()}mergeRemoteOverridesFromGXT(f){try{var J;return null===(J=Object.keys(this.rcParamNameToConfigKeyPathMapping))||void 0===J||J.forEach(a=>{var D;const te=this.rcParamNameToConfigKeyPathMapping[a],N=null===(D=this.remoteOverridesFromGXT)||void 0===D||null===(D=D.params)||void 0===D?void 0:D.find(z=>z.name===a);if(N){let z=N.value;if((0,I.isObject)(z)){const R=(0,I.get)(f,te,{});z.useRCConfigWithoutMerge||(z=(0,A.A)(R,z))}(0,I.set)(f,te,z)}}),f}catch(a){return this.logger.info("error in mergeRemoteOverridesFromGXT",a),f}}get(){var f;const J=this.overrides||{},a=this.piplLocalizationConfigOverrides||{};let D={};"dev"===(null===(f=this.config)||void 0===f||null===(f=f.build)||void 0===f?void 0:f.type)&&(D=this.variant||{});const te=(0,A.A)(this.config,D);let N=te;return this.remoteOverridesFromGXT&&(N=this.mergeRemoteOverridesFromGXT(te)),(0,A.A)((0,A.A)(N,a),J)}setOverrides(f){this.overrides=f}setPiplLocalizationConfigOverrides(f){this.piplLocalizationConfigOverrides=f}setRemoteOverridesFromGXT(f,J){this.rcParamNameToConfigKeyPathMapping=J,this.remoteOverridesFromGXT=f}parseEncodedConfig(f){if(f&&""!==f.trim())try{return JSON.parse(atob(f))}catch{return null}return null}load(){return this.params.config?(this.logger.info("Initializing config with provided data"),this.config=this.params.config,(0,E.of)(this.config)):this.params.filePath?(this.logger.info(`Attempting to read application config file ${this.params.filePath}`),(0,O.yU)(this.getConfig(),this.browserStaticSystemInfo$,this.cefStaticSystemInfo$).pipe((0,B.M)(f=>{this.config=f[0]},f=>{this.logger.error(`Some problem while executing getConfig function. Error: ${f}`)}),(0,B.M)(([f,J,a])=>{const D=te=>{te&&(this.config=(0,A.A)(this.config,te))};if(this.config&&J){const te=J.DeviceType,N=J.OSName,z=J.ProductVersion,R=J.BrowserName;this.logger.info(`DeviceType: ${te}, DeviceOSType: ${N}, ProductVersion: ${z}, SystemName: ${J.SystemName}`),D(this.get().browserConfig);const h=te===l.Y0.Phone||te===l.Y0.Tablet,W=te===l.Y0.TV,ne=te===l.Y0.Console&&N!==l.t_.SteamOS,ee=te===l.Y0.HMD,b=N===l.t_.Android,w=R===l.dZ.FIREFOX,F=N===l.t_.MacOS&&R===l.dZ.SAFARI;switch(N){case l.t_.IOS:D(this.get().iOSConfig);break;case l.t_.IPadOS:D(this.get().iPadOSConfig);break;case l.t_.Android:l.zk.isBrowserPlatform()?te===l.Y0.Phone?D(this.get().androidPhoneConfig):te===l.Y0.Tablet&&D(this.get().androidTabletConfig):D(this.get().androidConfig);break;case l.t_.Shield:D(this.get().androidConfig),D(this.get().shieldConfig);break;case l.t_.Tizen:D(this.get().tizenConfig);break;case l.t_.WebOS:D(this.get().webOSConfig);break;case l.t_.SteamOS:D(this.get().steamOSConfig)}h?D(this.get().mobileConfig):W?l.zk.isBrowserPlatform()&&b?D(this.get().androidTvConfig):D(this.get().tvConfig):ne?D(this.get().consoleConfig):ee&&(l.zk.isBrowserPlatform()&&b?D(this.get().androidHmdConfig):D(this.get().hmdConfig)),F&&D(this.get().macSafariConfig),w&&D(this.get().firefoxConfig),z&&(this.config=(0,A.A)(this.config,{product:{version:z}}))}else this.config&&a&&a.Platform===l.t_.SteamOS&&D(this.get().steamOSConfig)}),(0,U.ZZ)(f=>this.loadVariant(f[0])),(0,k.T)(()=>{const f=this.get();return this.logger.info("appConfig loaded"),this.configFetchedSubject.next(f),f}))):(this.logger.error("No valid data source specified in the AppConfigParameters"),(0,E.of)(void 0))}loadVariant(f){var J,a;const D=null==f||null===(J=f.build)||void 0===J?void 0:J.variant,te=null==f||null===(a=f.build)||void 0===a?void 0:a.type;if(!D||"dev"!==te)return(0,E.of)(f);const N=this.params.filePath.replace(/\.[^/\\.]+$/,".")+D+"."+this.params.filePath.split(".").pop();return this.http.get(N).pipe((0,B.M)(z=>{this.logger.info(`Successfully read ${D} variant config`),this.variant=z}),(0,r.W)(()=>(0,E.of)(f)))}}return(i=o).\u0275fac=function(f){return new(f||i)(S.KVO(e.JV),S.KVO(l.J6),S.KVO(L),S.KVO(S.zZn))},i.\u0275prov=S.jDH({token:i,factory:i.\u0275fac,providedIn:"root"}),o})();const u={provide:S.hnV,useFactory:function M(i){return()=>i.load().toPromise()},multi:!0,deps:[s]};function x(i){return i.get()}function p(i){return{provide:i,useFactory:x,deps:[s]}}},44968:(xe,de,t)=>{"use strict";t.d(de,{lM:()=>s,pu:()=>A});var S,L,e=t(36877),n=t(43848),E=t(35146),O=t(17053),B=t(14714),P=t(26875),k=t(33367),U=k.Or.Common.Applicationinfo.ApplicationLifetimeEventType,r=k.Or.Common.Applicationinfo.ShutdownReason,A=function(M){return M.ApplicationRequestedExit="APPLICATION_REQUESTED_EXIT",M.IpcRequestedExit="IPC_REQUESTED_EXIT",M}(A||{}),l=t(58527),I=t(47766);class s{get isAppShuttingDown(){return this.isShuttingDown}constructor(u,x){this.bridgeService=x,this.isShuttingDown=!1,this.systemShutdownReasons=[r.UserClosedWindow,r.UserQuitWithShortcut,r.UserLoggedOut,r.Relaunch],this.unInterruptableShutdownReasons=[r.UserLoggedOut,A.IpcRequestedExit,r.SelfUpdate,r.Relaunch,r.BrowserExit,r.ForceShutdown],this.logger=u.getLogger("libraries/application-lifetime.service"),this.logger.info("applicationLifetimeService created"),this.onShutdownRequestedFunctions=new Map,this.onShutdownFunctions=new Map,x.executeCommand(k.Ts.Common.Applicationinfo.RegisterAppLifetimeEventsCallback).subscribe(p=>{this.handleBridgeEvent(p)}),(0,e.R)(window,"unload").subscribe(p=>{})}shutdownApplication(u){this.systemShutdownReasons.some(x=>x===u)?this.logger.error("Cannot supply a system reason for shutting down from the application layer"):this.performShutdown(u)}addWorkOnShutdownRequested(u){return this.addWork(this.onShutdownRequestedFunctions,u)}addWorkOnShutdown(u){return this.addWork(this.onShutdownFunctions,u)}removeWork(u){if(this.onShutdownFunctions.has(u))this.onShutdownFunctions.delete(u);else{if(!this.onShutdownRequestedFunctions.has(u)){const x=`Id (${u}) not contained in any registered work map, cannot remove`;throw this.logger.error(x),new Error(x)}this.onShutdownRequestedFunctions.delete(u)}}enumHasValue(u,x){return Object.values(u).includes(x)}handleBridgeEvent(u){(0,P.isNil)(u)||(0,P.isNil)(u.type)?this.logger.error("Nil event or event.type raised from bridge: ",u):this.enumHasValue(U,u.type)?this.enumHasValue(A,u.reason)||this.enumHasValue(r,u.reason)?this.performShutdown(u.reason):this.logger.info("Shutdown reason",u.reason,"not recognized, not handling"):this.logger.info("Event type",u.type,"not recognized, not handling")}isShutdownReasonInterruptable(u){return-1===this.unInterruptableShutdownReasons.indexOf(u)}addWork(u,x){const p=new s.RegisteredApplicationLifetimeHandle(this),i=p.getId();if(this.onShutdownFunctions.has(i)||this.onShutdownRequestedFunctions.has(i))throw new Error("Dupliate work id found");return u.set(i,x),p}closeWindowIfNeeded(u){this.isShuttingDown=!1,u!==r.BrowserExit&&this.bridgeService.executeCommand(k.Ts.Common.Windowcontrol.Close).subscribe(()=>{})}combineAndExecuteFunctions(u){const x=[];return u.forEach(p=>{let i;try{i=p().pipe((0,B.W)(o=>(this.logger.error("Failed to execute scheduled func: ",o),(0,n.of)(void 0))))}catch(o){this.logger.error(`Caught error ${o} from registered handler, not blocking shutdown`),i=(0,n.of)(void 0)}x.push(i)}),(0,E.yU)(...x)}performShutdown(u){if(this.isShuttingDown)return void this.logger.info("performShutdown already called, ignoring");if(this.isShuttingDown=!0,0===this.onShutdownRequestedFunctions.size&&0===this.onShutdownFunctions.size)return this.logger.info("no pre-shutdown work, closing immediately"),void this.closeWindowIfNeeded(u);const x=this.isShutdownReasonInterruptable(u);this.logger.info("starting pre-shutdown promises. shutdown ",x?"is":"isn't"," interruptable"),new O.c(i=>{x&&this.onShutdownRequestedFunctions.size>0?this.combineAndExecuteFunctions(this.onShutdownRequestedFunctions).subscribe({next:_=>{i.next(_.some(f=>!0===f)),i.complete()},error:_=>{this.logger.error("OnShutdown work, error: ",_),i.next(!1),i.complete()}}):(i.next(!1),i.complete())}).subscribe({next:i=>{i?(this.logger.info("shutdown was interrupted during onShutdownRequested"),this.isShuttingDown=!1):0===this.onShutdownFunctions.size?(this.logger.info("no OnShutdown work, closing"),this.closeWindowIfNeeded(u)):this.combineAndExecuteFunctions(this.onShutdownFunctions).subscribe({next:function(_){this.logger.info("OnShutdown work completed, closing"),this.closeWindowIfNeeded(u)}.bind(this),error:function(_){this.logger.error("OnShutdown work, error: ",_),this.closeWindowIfNeeded(u)}.bind(this)})}})}}(S=s).RegisteredApplicationLifetimeHandle=((L=class{constructor(M){this.parent=M,this.handleId=S.RegisteredApplicationLifetimeHandle.nextHandleId++}getId(){return this.handleId}remove(){this.parent.removeWork(this.handleId)}}).nextHandleId=0,L),S.\u0275fac=function(u){return new(u||S)(l.KVO(I.J6),l.KVO(I.NZ))},S.\u0275prov=l.jDH({token:S,factory:S.\u0275fac,providedIn:"root"})},35822:(xe,de,t)=>{"use strict";t.d(de,{N:()=>b});var e=t(80583),n=t(892),E=t(3496),O=t(27731),B=t(8619),P=t(4208),k=t(65706),U=t(91384),r=t(75707),A=t(62931),l=t(40262),I=t(47766),S=t(81834),L=t(58527),s=t(794),M=t(61142),u=t(3457),x=t(28139),p=t(2218),i=t(14605),o=t(47973),_=t(29370),f=t(65240);const J=["notificationMessage"],a=(w,F)=>({multiline:w,"has-icon":F}),D=()=>["left","right"];function te(w,F){if(1&w&&(L.j41(0,"i",14),L.EFF(1),L.k0s()),2&w){const Z=L.XpG(2);L.R7$(),L.JRh(Z.currentNotificationData.icon)}}function N(w,F){if(1&w&&L.nrm(0,"mat-icon",15),2&w){const Z=L.XpG(2);L.FS9("svgIcon",Z.currentNotificationData.svgIcon)}}function z(w,F){if(1&w&&L.nrm(0,"img",16),2&w){const Z=L.XpG(2);L.FS9("src",Z.currentNotificationData.image,L.B4B)}}function R(w,F){if(1&w&&(L.j41(0,"span"),L.EFF(1),L.k0s()),2&w){const Z=L.XpG(3);L.R7$(),L.SpI(" ",Z.countDownString," ")}}function v(w,F){if(1&w&&(L.j41(0,"div")(1,"span"),L.EFF(2),L.nI1(3,"translate"),L.k0s(),L.DNE(4,R,2,1,"span",9),L.k0s()),2&w){const Z=L.XpG(2);L.R7$(2),L.SpI(" ",L.i5U(3,2,Z.currentNotificationData.messageStr.key,Z.currentNotificationData.messageStr.interpolates)," "),L.R7$(2),L.Y8G("ngIf",Z.countDownString)}}function h(w,F){if(1&w){const Z=L.RV6();L.j41(0,"button",17),L.bIt("click",function(Y){L.eBV(Z);const q=L.XpG(2);return L.Njj(q.onSecondaryButtonClick(Y))}),L.EFF(1),L.nI1(2,"translate"),L.k0s()}if(2&w){const Z=L.XpG(2);L.R7$(),L.SpI(" ",L.bMT(2,1,Z.currentNotificationData.secondaryButtonText)," ")}}function W(w,F){if(1&w){const Z=L.RV6();L.j41(0,"button",18),L.bIt("click",function(Y){L.eBV(Z);const q=L.XpG(2);return L.Njj(q.onPrimaryButtonClick(Y))}),L.EFF(1),L.nI1(2,"translate"),L.k0s()}if(2&w){const Z=L.XpG(2);L.R7$(),L.SpI(" ",L.bMT(2,1,Z.currentNotificationData.primaryButtonText)," ")}}function ne(w,F){if(1&w){const Z=L.RV6();L.j41(0,"button",19),L.bIt("click",function(Y){L.eBV(Z);const q=L.XpG(2);return L.Njj(q.onSecondaryButtonClick(Y))}),L.j41(1,"i",20),L.EFF(2,"close"),L.k0s()()}}function ee(w,F){if(1&w&&(L.j41(0,"div",2),L.nI1(1,"async"),L.j41(2,"div",3),L.nI1(3,"async"),L.j41(4,"div",4),L.DNE(5,te,2,1,"i",5)(6,N,1,1,"mat-icon",6)(7,z,1,1,"img",7),L.j41(8,"div",8,0),L.DNE(10,v,5,5,"div",9),L.k0s()(),L.j41(11,"div",10),L.DNE(12,h,3,3,"button",11)(13,W,3,3,"button",12),L.k0s(),L.DNE(14,ne,3,0,"button",13),L.k0s()()),2&w){const Z=L.XpG();L.Y8G("ngClass",L.l_i(16,a,Z.isMultiline,Z.isIconPresent))("containFocus",L.lJ4(19,D))("@showNotification",L.bMT(1,12,Z.notificationAvailable$)&&!Z.hideNotification)("@.disabled",!Z.enableAnimation),L.R7$(2),L.Y8G("ngClass",!1===L.bMT(3,14,Z.notificationAvailable$)?"notification-animate":"notification"),L.R7$(3),L.Y8G("ngIf",Z.currentNotificationData.icon),L.R7$(),L.Y8G("ngIf",!Z.currentNotificationData.icon&&Z.currentNotificationData.svgIcon),L.R7$(),L.Y8G("ngIf",!Z.currentNotificationData.icon&&!Z.currentNotificationData.svgIcon&&Z.currentNotificationData.image),L.R7$(3),L.Y8G("ngIf",Z.currentNotificationData.messageStr),L.R7$(2),L.Y8G("ngIf",Z.currentNotificationData.secondaryButtonText),L.R7$(),L.Y8G("ngIf",Z.currentNotificationData.primaryButtonText),L.R7$(),L.Y8G("ngIf",!Z.currentNotificationData.secondaryButtonText&&!Z.currentNotificationData.primaryButtonText)}}let b=(()=>{var w;class F{get enableAnimation(){return this._enableAnimation}set enableAnimation(se){this._enableAnimation=se}get notificationAvailable$(){return this.bannerNotificationService.isNotificationAvailable()}get currentNotificationData(){return this.bannerNotificationService.getFirstNotificationInQueue()}constructor(se,Y){this.bannerNotificationService=Y,this.bannerOverBannerDelay=1e3,this.animationSafeDelay=400,this.resizeDebounceTimeMs=300,this.countDownIntervalMs=1e3,this.stopCountDown$=null,this._enableAnimation=!1,this.resizeSubscription=null,this.isIconPresent=!1,this.isMultiline=!1,this.hideNotification=!1,this.countDownString=null,this.logger=se.getLogger("BannerNotificationComponent"),this.destroy$=new e.B7}ngOnInit(){this.bannerNotificationService.onFirstNotificationChange().pipe((0,B.p)(se=>se),(0,P.Q)(this.destroy$)).subscribe(se=>{this.noteChanges()})}ngAfterViewInit(){this.notificationAvailable$.pipe((0,P.Q)(this.destroy$)).subscribe(se=>{se?this.checkMultiLine():this.unsubscribeResizeSubscription()})}onPrimaryButtonClick(se){this.currentNotificationData.onPrimaryButtonClick&&this.currentNotificationData.onPrimaryButtonClick(se),this.currentNotificationData.persistNotificationOnPrimaryButtonClick||this.removeNotification(this.currentNotificationData.notificationType)}onSecondaryButtonClick(se){this.currentNotificationData.onSecondaryButtonClick&&this.currentNotificationData.onSecondaryButtonClick(se),this.removeNotification(this.currentNotificationData.notificationType)}hasAnyNote(){return!this.bannerNotificationService.isNotificationInQueueEmpty()}removeNotification(se){let Y=!1;this.logger.info("Removing note:",se),this.stopCountDown$&&(this.stopCountDown$.next(),this.stopCountDown$.unsubscribe(),this.stopCountDown$=null),this.bannerNotificationService.removeNotificationFromQueue(se),this.hasAnyNote()?(Y=!0,this.hideNotification=!0,setTimeout(()=>{this.hideNotification=!Y,this.checkMultiLine()},this.bannerOverBannerDelay)):this.unsubscribeResizeSubscription()}noteChanges(){setTimeout(()=>{var se;this.stopCountDown$&&(this.stopCountDown$.next(),this.stopCountDown$.complete(),this.stopCountDown$=null),this.isIconPresent=!(!this.currentNotificationData||!(this.currentNotificationData.icon||this.currentNotificationData.svgIcon||this.currentNotificationData.image)),this.checkMultiLine(),null!==(se=this.currentNotificationData)&&void 0!==se&&se.notificationTimeoutInSeconds&&this.updateCountDown()})}updateCountDown(){this.stopCountDown$=new e.B7,(0,n.Y)(this.countDownIntervalMs).pipe((0,k.s)(this.currentNotificationData.notificationTimeoutInSeconds),(0,U.M)(se=>{this.currentNotificationData.notificationTimeoutInSeconds?(this.currentNotificationData.notificationTimeoutInSeconds--,this.currentNotificationData.notificationTimeoutInSeconds?this.currentNotificationData.showCountDownString&&(this.countDownString=I.Nq.secondsToHHMMSS(this.currentNotificationData.notificationTimeoutInSeconds)):0===this.currentNotificationData.notificationTimeoutInSeconds&&(this.currentNotificationData.onAutoDismiss?this.currentNotificationData.onAutoDismiss():this.currentNotificationData.onSecondaryButtonClick?this.currentNotificationData.onSecondaryButtonClick():this.currentNotificationData.onPrimaryButtonClick?this.currentNotificationData.onPrimaryButtonClick():this.logger.info("No dismiss and action function available for BannerNotificationType",this.currentNotificationData.notificationType),this.removeNotification(this.currentNotificationData.notificationType))):(this.stopCountDown$.next(),this.stopCountDown$.complete(),this.stopCountDown$=null)}),(0,P.Q)(this.stopCountDown$),(0,P.Q)(this.destroy$)).subscribe()}checkMultiLine(){this.unsubscribeResizeSubscription(),this.resizeSubscription=(0,E.O)(this.animationSafeDelay).pipe((0,r.ZZ)(()=>{var se;return null!==(se=this.notificationMessageElement)&&void 0!==se&&se.nativeElement?S._4.onResize(this.notificationMessageElement.nativeElement).pipe((0,A.B)(this.resizeDebounceTimeMs),(0,P.Q)(this.destroy$)):O.t})).subscribe(()=>{var se;if(null===(se=this.notificationMessageElement)||void 0===se||!se.nativeElement)return;const Y=parseFloat(window.getComputedStyle(this.notificationMessageElement.nativeElement).lineHeight);this.isMultiline=this.notificationMessageElement.nativeElement.clientHeight/Y>=2})}unsubscribeResizeSubscription(){this.resizeSubscription&&(this.resizeSubscription.unsubscribe(),this.resizeSubscription=null)}ngOnDestroy(){this.unsubscribeResizeSubscription(),this.stopCountDown$&&(this.stopCountDown$.next(),this.stopCountDown$.complete(),this.stopCountDown$=null),this.destroy$.next(!0),this.destroy$.complete()}}return(w=F).\u0275fac=function(se){return new(se||w)(L.rXU(I.J6),L.rXU(s.H))},w.\u0275cmp=L.VBU({type:w,selectors:[["banner-notification"]],viewQuery:function(se,Y){if(1&se&&L.GBs(J,5),2&se){let q;L.mGM(q=L.lsd())&&(Y.notificationMessageElement=q.first)}},inputs:{enableAnimation:"enableAnimation"},decls:2,vars:3,consts:[["notificationMessage",""],["class","notification-container","fxLayout","column","fxLayoutAlign","center","nvSpatialNavigationContainer","","captureFocusForChild","true","nvFocusBack","",3,"ngClass","containFocus",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center","nvSpatialNavigationContainer","","captureFocusForChild","true","nvFocusBack","",1,"notification-container",3,"ngClass","containFocus"],[1,"notification-base",3,"ngClass"],[1,"icon-title-row"],["class","material-icons notification-icon",4,"ngIf"],["class","matIcon",3,"svgIcon",4,"ngIf"],["class","notification-image",3,"src",4,"ngIf"],[1,"notification-base-message-description","font-body2"],[4,"ngIf"],[1,"button-alignment"],["class","font-button2","mat-button","",3,"click",4,"ngIf"],["class","font-button2","mat-button","","aria-label","go to settings",3,"click",4,"ngIf"],["class","button-alignment","mat-button","",3,"click",4,"ngIf"],[1,"material-icons","notification-icon"],[1,"matIcon",3,"svgIcon"],[1,"notification-image",3,"src"],["mat-button","",1,"font-button2",3,"click"],["mat-button","","aria-label","go to settings",1,"font-button2",3,"click"],["mat-button","",1,"button-alignment",3,"click"],[1,"material-icons"]],template:function(se,Y){1&se&&(L.DNE(0,ee,15,20,"div",1),L.nI1(1,"async")),2&se&&L.Y8G("ngIf",L.bMT(1,1,Y.notificationAvailable$)&&!Y.hideNotification)},dependencies:[M.YU,M.bT,u.DJ,u.sA,x.PW,p.R,i.b,o.iV,_.An,M.Jj,f.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}[_nghost-%COMP%]{--banner-notification-container-margin-left: 0px;--banner-notification-container-margin-right: 0px;--banner-notification-sidebar-width: 0px}.notification-base[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;background:#393939;padding:8px 8px 8px 24px;width:100%;gap:90px;box-sizing:border-box;z-index:1}.notification-base[_ngcontent-%COMP%] .icon-title-row[_ngcontent-%COMP%]{display:flex;align-items:center}.notification-base-message-description[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.notification[_ngcontent-%COMP%]{z-index:1}.notification.ng-hide-add[_ngcontent-%COMP%]{transition:ease-in-out 1s;transition-delay:1s}.notification-animate[_ngcontent-%COMP%]{z-index:1}.notification-animate.ng-hide[_ngcontent-%COMP%]{margin-top:-32px}.notification-animate.ng-hide-add[_ngcontent-%COMP%], .notification-animate.ng-hide-remove[_ngcontent-%COMP%]{transition:ease-in-out .8s;transition-delay:0s}.notification-icon[_ngcontent-%COMP%]{font-size:40px;color:#ffffffbf}.notification-image[_ngcontent-%COMP%]{flex-shrink:0;width:40px;height:40px}.notification-container[_ngcontent-%COMP%] button.mat-accent[_ngcontent-%COMP%]{color:#76b900}.notification-container[_ngcontent-%COMP%]{background:#393939;position:relative;z-index:1}.isLtr[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%]{margin-left:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-left))}html[dir=ltr][_ngcontent-%COMP%] .notification-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-left))}.isRtl[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%]{margin-right:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-left))}html[dir=rtl][_ngcontent-%COMP%] .notification-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-left))}.isLtr[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%]{margin-right:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-right))}html[dir=ltr][_ngcontent-%COMP%] .notification-container[_ngcontent-%COMP%]{--dummy4: 0;margin-right:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-right))}.isRtl[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%]{margin-left:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-right))}html[dir=rtl][_ngcontent-%COMP%] .notification-container[_ngcontent-%COMP%]{--dummy4: 0;margin-left:calc(var(--banner-notification-sidebar-width) + var(--banner-notification-container-margin-right))}.isLtr[_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.notification-container.ng-hide[_ngcontent-%COMP%]{margin-top:-32px}.notification-container.ng-hide-add[_ngcontent-%COMP%], .notification-container.ng-hide-remove[_ngcontent-%COMP%]{transition:ease-in-out .8s;transition-delay:0s}.tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%]{background:#0000;margin-bottom:0;padding:0}.tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding:8px 0;background:#0006;margin-bottom:32px;margin-top:8px}.isLtr.tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding:8px 24px 8px 16px}html[dir=ltr] .tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{--dummy: 0;padding:8px 24px 8px 16px}.isRtl.tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding:8px 16px 8px 24px}html[dir=rtl] .tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{--dummy: 0;padding:8px 16px 8px 24px}.tv-view[_nghost-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding-top:24px;padding-bottom:24px}.tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .font-button2.button-alignment[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .font-button2.button-alignment[_ngcontent-%COMP%]{display:block}.tv-view[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:0 8px;height:fit-content}.button-alignment[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-self:flex-end;line-height:36px}.isLtr[_nghost-%COMP%] .button-alignment[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .button-alignment[_ngcontent-%COMP%]{margin-left:auto}html[dir=ltr][_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%]{--dummy3: 0;margin-left:auto}.isRtl[_nghost-%COMP%] .button-alignment[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .button-alignment[_ngcontent-%COMP%]{margin-right:auto}html[dir=rtl][_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%]{--dummy3: 0;margin-right:auto}.matIcon[_ngcontent-%COMP%]{height:40px;width:40px;color:#ffffffbf;font-size:40px}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.notification-container[_ngcontent-%COMP%]{background:#191919}.notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{background:#191919;flex-flow:row wrap;justify-content:space-between;gap:8px;box-sizing:border-box}.isLtr[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding:8px 8px 8px 16px}html[dir=ltr][_ngcontent-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{--dummy: 0;padding:8px 8px 8px 16px}.isRtl[_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding:8px 16px 8px 8px}html[dir=rtl][_ngcontent-%COMP%] .notification-container[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{--dummy: 0;padding:8px 16px 8px 8px}.notification-container.multiline[_ngcontent-%COMP%] .notification-base[_ngcontent-%COMP%]{padding-top:16px!important}.isLtr[_nghost-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .icon-title-row[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .icon-title-row[_ngcontent-%COMP%]{padding-right:8px}html[dir=ltr][_ngcontent-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .icon-title-row[_ngcontent-%COMP%]{--dummy2: 0;padding-right:8px}.isRtl[_nghost-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .icon-title-row[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .icon-title-row[_ngcontent-%COMP%]{padding-left:8px}html[dir=rtl][_ngcontent-%COMP%] .notification-container.multiline[_ngcontent-%COMP%] .icon-title-row[_ngcontent-%COMP%]{--dummy2: 0;padding-left:8px}.isLtr[_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{margin-left:16px}html[dir=ltr][_ngcontent-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{--dummy3: 0;margin-left:16px}.isRtl[_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{margin-right:16px}html[dir=rtl][_ngcontent-%COMP%] .notification-container.has-icon[_ngcontent-%COMP%] .notification-base-message-description[_ngcontent-%COMP%]{--dummy3: 0;margin-right:16px}}"],data:{animation:[(0,l.hZ)("showNotification",[(0,l.kY)(":enter",[(0,l.iF)({height:"0px",opacity:"0"}),(0,l.i0)("300ms ease-in",(0,l.iF)({height:"*",opacity:"1"}))]),(0,l.kY)(":leave",[(0,l.iF)({height:"*",opacity:"1"}),(0,l.i0)("300ms ease-in",(0,l.iF)({height:"0px",opacity:"0"}))])])]}}),F})()},794:(xe,de,t)=>{"use strict";t.d(de,{H:()=>B});var e=t(26513),n=t(53461),E=t(58527),O=t(47766);let B=(()=>{var P;class k{constructor(r){this.loggingService=r,this.notificationQueue=[],this.isNotificationAvailableSubject=new e.t(!1),this.firstNotificationChangeSubject$=new e.t(!1),this.logger=this.loggingService.getLogger("BannerNotificationService")}isNotificationAvailable(){return this.isNotificationAvailableSubject.asObservable().pipe((0,n.F)())}onFirstNotificationChange(){return this.firstNotificationChangeSubject$.asObservable()}isNotificationInQueueEmpty(){return 0===this.notificationQueue.length}getFirstNotificationInQueue(){return this.notificationQueue[0]}hasNotificationInQueue(r){return this.notificationQueue.some(A=>A.notificationType===r)}getNotificationInQueue(r){return this.notificationQueue.find(A=>A.notificationType===r)}addNotificationToQueue(r){if(!this.hasNotificationInQueue(r.notificationType)){if(this.isNotificationInQueueEmpty())this.notificationQueue.push(r),this.firstNotificationChangeSubject$.next(!0);else{const A=this.getFirstNotificationInQueue();this.notificationQueue.push(r),this.notificationQueue.sort((I,S)=>I.notificationType-S.notificationType);const l=this.getFirstNotificationInQueue();A.notificationType!==l.notificationType&&this.firstNotificationChangeSubject$.next(!0)}this.logger.info("New banner notification added with type ",r.notificationType),this.isNotificationAvailableSubject.next(!0)}}removeNotificationFromQueue(r){const A=this.notificationQueue.findIndex(l=>l.notificationType===r);-1!==A&&(this.notificationQueue.splice(A,1),this.logger.info("Banner notification removed with type ",r),0===this.notificationQueue.length?this.isNotificationAvailableSubject.next(!1):this.firstNotificationChangeSubject$.next(!0))}}return(P=k).\u0275fac=function(r){return new(r||P)(E.KVO(O.J6))},P.\u0275prov=E.jDH({token:P,factory:P.\u0275fac,providedIn:"root"}),k})()},35077:(xe,de,t)=>{"use strict";t.d(de,{_w:()=>U,Hm:()=>A.H});var e=t(61142),n=t(51006),E=t(65240),O=t(19061),B=t(29370),P=t(47973),k=t(58527);let U=(()=>{var l;class I{}return(l=I).\u0275fac=function(L){return new(L||l)},l.\u0275mod=k.$C({type:l}),l.\u0275inj=k.G2t({imports:[e.MD,n.YF,E.h,O.bm,P.wG,B.m_]}),I})();t(35822);var A=t(794)},11909:(xe,de,t)=>{"use strict";t.d(de,{T:()=>Ls});const Ls={Common:{Applicationcontrol:{DeleteCookies:{legacyCommand:"QUERY_DELETE_COOKIES",system:"CrimsonNative",module:"ApplicationControl",method:"DeleteCookies",persistent:!1},SetTaskbarProgress:{legacyCommand:"QUERY_WIN_TASKBAR_PROGRESS",system:"CrimsonNative",module:"ApplicationControl",method:"SetTaskbarProgress",persistent:!1},LoadStringTable:{legacyCommand:"QUERY_LOAD_STRING_TABLE",system:"CrimsonNative",module:"ApplicationControl",method:"LoadStringTable",persistent:!1},ReadConfig:{legacyCommand:"QUERY_READ_CONFIG",system:"CrimsonNative",module:"ApplicationControl",method:"ReadConfig",persistent:!1},WriteConfig:{legacyCommand:"QUERY_WRITE_CONFIG",system:"CrimsonNative",module:"ApplicationControl",method:"WriteConfig",persistent:!1},ReadGenericConfig:{legacyCommand:"QUERY_READ_GENERIC_CONFIG",system:"CrimsonNative",module:"ApplicationControl",method:"ReadGenericConfig",persistent:!1},WriteGenericConfig:{legacyCommand:"QUERY_WRITE_GENERIC_CONFIG",system:"CrimsonNative",module:"ApplicationControl",method:"WriteGenericConfig",persistent:!1},RemoveFromGenericConfig:{legacyCommand:"QUERY_REMOVE_FROM_GENERIC_CONFIG",system:"CrimsonNative",module:"ApplicationControl",method:"RemoveFromGenericConfig",persistent:!1},AllowSetForegroundWindow:{legacyCommand:"QUERY_WIN_ALLOW_SET_FOREGROUND",system:"CrimsonNative",module:"ApplicationControl",method:"AllowSetForegroundWindow",persistent:!1},CopyToClipboard:{legacyCommand:"QUERY_WIN_COPY_TO_CLIPBOARD",system:"CrimsonNative",module:"ApplicationControl",method:"CopyToClipboard",persistent:!1},Restart:{legacyCommand:"QUERY_RESTART_APP",system:"CrimsonNative",module:"ApplicationControl",method:"Restart",persistent:!1},IsCefGpuModeSupported:{legacyCommand:"QUERY_IS_CEF_GPU_MODE_SUPPORTED",system:"CrimsonNative",module:"ApplicationControl",method:"IsCefGpuModeSupported",persistent:!1},RequestLastInstallerStatus:{legacyCommand:"QUERY_LAST_INSTALLER_STATUS",system:"CrimsonNative",module:"ApplicationControl",method:"RequestLastInstallerStatus",persistent:!1},ModulesActiveNotification:{legacyCommand:"QUERY_IPC_MODULES_ACTIVE_NOTIFICATION",system:"CrimsonNative",module:"ApplicationControl",method:"ModulesActiveNotification",persistent:!0},SetCEFWindowTheme:{legacyCommand:"QUERY_SET_SYSTEM_THEME_TO_BROWSER_WINDOW",system:"CrimsonNative",module:"ApplicationControl",method:"SetCEFWindowTheme",persistent:!1}},Applicationinfo:{IsApplicationRunning:{legacyCommand:"QUERY_IS_APPLICATION_RUNNING",system:"CrimsonNative",module:"ApplicationInfo",method:"IsApplicationRunning",persistent:!1},IsApplicationInstalled:{legacyCommand:"QUERY_IS_APPLICATION_INSTALLED",system:"CrimsonNative",module:"ApplicationInfo",method:"IsApplicationInstalled",persistent:!1},GetIsUIRefreshed:{legacyCommand:"QUERY_IS_UI_REFRESHED",system:"CrimsonNative",module:"ApplicationInfo",method:"GetIsUIRefreshed",persistent:!1},RegisterAppLifetimeEventsCallback:{legacyCommand:"QUERY_REGISTER_APPLICATION_LIFETIME_EVENTS_CALLBACK",system:"CrimsonNative",module:"ApplicationInfo",method:"RegisterAppLifetimeEventsCallback",persistent:!0},ListenToLoadEvents:{legacyCommand:"QUERY_LISTEN_TO_LOAD_EVENTS",system:"CrimsonNative",module:"ApplicationInfo",method:"ListenToLoadEvents",persistent:!0},OpenFileDialog:{legacyCommand:"QUERY_WIN_DIR_INFO",system:"CrimsonNative",module:"ApplicationInfo",method:"OpenFileDialog",persistent:!1},OpenDirectoryBrowser:{legacyCommand:"QUERY_BROWSE_DIRECTORY",system:"CrimsonNative",module:"ApplicationInfo",method:"OpenDirectoryBrowser",persistent:!1},OpenSystemSetting:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ApplicationInfo",method:"OpenSystemSetting",persistent:!1},GetApplicationTimeInfo:{legacyCommand:"QUERY_TIME_INFO",system:"CrimsonNative",module:"ApplicationInfo",method:"GetApplicationTimeInfo",persistent:!1}},Backgroundagent:{SendUserFeedbackInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"BackgroundAgent",method:"SendUserFeedbackInfo",persistent:!1},SendExceptionInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"BackgroundAgent",method:"SendExceptionInfo",persistent:!1},OnPushMessage:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"BackgroundAgent",method:"OnPushMessage",persistent:!0},PopAllMessages:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"BackgroundAgent",method:"PopAllMessages",persistent:!1}},Backgroundprocess:{RestartProcesses:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"BackgroundProcess",method:"RestartProcesses",persistent:!1}},Bot:{ProcessIntent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Chatbot",method:"ProcessIntent",persistent:!1}},Clientnotification:{ShowClientNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ClientNotification",method:"ShowClientNotifications",persistent:!1},ClearNotificationsQueue:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ClientNotification",method:"ClearNotificationsQueue",persistent:!1},DeleteNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ClientNotification",method:"DeleteNotification",persistent:!1}},Companiontool:{Load:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"CompanionTool",method:"Load",persistent:!1},Save:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"CompanionTool",method:"Save",persistent:!1},Reset:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"CompanionTool",method:"Reset",persistent:!1},Run_Log_Collector:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"CompanionTool",method:"Run_Log_Collector",persistent:!1},Update_Internal_Override_Tool:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"CompanionTool",method:"Update_Internal_Override_Tool",persistent:!1},Get_Latest_Url:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"CompanionTool",method:"Get_Latest_Url",persistent:!1}},Connectionstate:{KeyboardAndMouseConnected:{legacyCommand:"QUERY_KEYBOARD_MOUSE_CONNECTED",system:"CrimsonNative",module:"ConnectionState",method:"KeyboardAndMouseConnected",persistent:!1}},Consent:{setCurrent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Consent",method:"setCurrent",persistent:!1},setAccepted:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Consent",method:"setAccepted",persistent:!1},getAccepted:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Consent",method:"getAccepted",persistent:!1}},Desktopnotification:{ShowDesktopNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DesktopNotification",method:"ShowDesktopNotification",persistent:!1},ClearDesktopNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DesktopNotification",method:"ClearDesktopNotification",persistent:!1},IsValidDesktopNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DesktopNotification",method:"IsValidDesktopNotification",persistent:!1},DesktopNotificationsAllowed:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DesktopNotification",method:"DesktopNotificationsAllowed",persistent:!1},DesktopNotificationActivated:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DesktopNotification",method:"DesktopNotificationActivated",persistent:!0},DesktopNotificationDismissed:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DesktopNotification",method:"DesktopNotificationDismissed",persistent:!0}},Diagnostics:{SendExceptionInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Diagnostics",method:"SendExceptionInfo",persistent:!1},SendUserFeedbackInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Diagnostics",method:"SendUserFeedbackInfo",persistent:!1}},Discord:{UpdatePresence:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Discord",method:"UpdatePresence",persistent:!1},ClearPresence:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Discord",method:"ClearPresence",persistent:!1}},Downloader:{GetFirstBootTimeAfterInstall:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"GetFirstBootTimeAfterInstall",persistent:!1},GetMaxDaysBetweenReleases:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"GetMaxDaysBetweenReleases",persistent:!1},CheckForUpdate:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"CheckForUpdate",persistent:!1},GetLatestUpdateCheckTime:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"GetLatestUpdateCheckTime",persistent:!1},GetTaskDownloadStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"GetTaskDownloadStatus",persistent:!1},GetDownloadStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"GetDownloadStatus",persistent:!1},StartDownload:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"StartDownload",persistent:!1},StartDownloadAndPostProcess:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"StartDownloadAndPostProcess",persistent:!1},ScheduleDownloadAndPostProcess:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"ScheduleDownloadAndPostProcess",persistent:!1},PauseDownload:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"PauseDownload",persistent:!1},ResumeDownload:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"ResumeDownload",persistent:!1},ResumeDownloadAndPostProcess:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"ResumeDownloadAndPostProcess",persistent:!1},StopDownload:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"StopDownload",persistent:!1},GetPostProcessingStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"GetPostProcessingStatus",persistent:!1},StartPostProcessing:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"StartPostProcessing",persistent:!1},TriggerAutoUpdate:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"TriggerAutoUpdate",persistent:!1},RegisterCheckForUpdateProgress:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"RegisterCheckForUpdateProgress",persistent:!0},RegisterDownloadProgress:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"RegisterDownloadProgress",persistent:!0},RegisterPostProcessingProgress:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"RegisterPostProcessingProgress",persistent:!0},RegisterAutoUpdateProgress:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"RegisterAutoUpdateProgress",persistent:!0},CreateProfileFromSourceProfile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"CreateProfileFromSourceProfile",persistent:!1},GetUpdateChannel:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"GetUpdateChannel",persistent:!1},SetUpdateChannel:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Downloader",method:"SetUpdateChannel",persistent:!1}},Gallery:{GalleryNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GalleryNotifications",persistent:!0},MontageNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"MontageNotification",persistent:!0},PathChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"PathChangeNotification",persistent:!0},TempFolderChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"TempFolderChangeNotification",persistent:!0},GalleryCapStateChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GalleryCapStateChangeNotification",persistent:!0},GalleryUpdatedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GalleryUpdatedNotification",persistent:!0},GetFolderListing:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetFolderListing",persistent:!1},GetAppStats:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetAppStats",persistent:!1},GetAppUGC:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetAppUGC",persistent:!1},RemoveGalleryItem:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"RemoveGalleryItem",persistent:!1},EnumerateDrives:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"EnumerateDrives",persistent:!1},GetFileMetadata:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetFileMetadata",persistent:!1},GetEventData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetEventData",persistent:!1},GetThumbnail:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetThumbnail",persistent:!1},GetFolderCRC:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetFolderCRC",persistent:!1},GetImageFileDimensions:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetImageFileDimensions",persistent:!1},CopyFile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"CopyFile",persistent:!1},MoveFile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"MoveFile",persistent:!1},IsDirectoryWriteable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"IsDirectoryWriteable",persistent:!1},GetSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetSettings",persistent:!1},SetSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"SetSettings",persistent:!1},GetDriveInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetDriveInfo",persistent:!1},CancelPathUpdate:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"CancelPathUpdate",persistent:!1},GetRecentUGC:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetRecentUGC",persistent:!1},CheckDiskSpace:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"CheckDiskSpace",persistent:!1},EnqueuePendingHighlight:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"EnqueuePendingHighlight",persistent:!1},OpenHighlightsGroupSummary:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"OpenHighlightsGroupSummary",persistent:!1},GetHighlightsCount:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetHighlightsCount",persistent:!1},DeleteGroupHighlights:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"DeleteGroupHighlights",persistent:!1},WriteEncryptedBitmap:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"WriteEncryptedBitmap",persistent:!1},TranscodeMediaFile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"TranscodeMediaFile",persistent:!1},CreateMontage:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"CreateMontage",persistent:!1},CreateMontageFromRecipe:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"CreateMontageFromRecipe",persistent:!1},CancelMontage:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"CancelMontage",persistent:!1},UpdateMontageProgress:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"UpdateMontageProgress",persistent:!1},Trim:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"Trim",persistent:!1},AddMeme:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"AddMeme",persistent:!1},EngraveMP4:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"EngraveMP4",persistent:!1},DeletePreview:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"DeletePreview",persistent:!1},PreviewPathInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"PreviewPathInfo",persistent:!1},GetMontageCloudConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"GetMontageCloudConfig",persistent:!1},MigrateHighlightsTracker:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gallery",method:"MigrateHighlightsTracker",persistent:!1}},Gameshare:{CreateSession:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"CreateSession",persistent:!1},DeleteSession:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"DeleteSession",persistent:!1},ModifySession:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"ModifySession",persistent:!1},ConfigureControllerMapping:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"ConfigureControllerMapping",persistent:!1},GetFullScreenProcessId:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"GetFullScreenProcessId",persistent:!1},CreateSessionNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"CreateSessionNotification",persistent:!0},SessionStatusUpdateNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"SessionStatusUpdateNotification",persistent:!0},AudioDeviceChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GameShare",method:"AudioDeviceChangeNotification",persistent:!0}},Gamestream:{GetServerStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"GetServerStatus",persistent:!1},SetServerStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"SetServerStatus",persistent:!1},GetPairedDevices:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"GetPairedDevices",persistent:!1},RemovePairedDevices:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"RemovePairedDevices",persistent:!1},RegisterPairedDeviceNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"RegisterPairedDeviceNotification",persistent:!0},RegisterShieldDeviceNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"RegisterShieldDeviceNotification",persistent:!0},RespondToUpdateNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"RespondToUpdateNotification",persistent:!1},GetAppsList:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"GetAppsList",persistent:!1},AddAppCollectorItem:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"AddAppCollectorItem",persistent:!1},RemoveAppCollectorItem:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"RemoveAppCollectorItem",persistent:!1},EditAppCollectorItem:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Gamestream",method:"EditAppCollectorItem",persistent:!1}},Httpserver:{StartHttpServer:{legacyCommand:"QUERY_HTTPSERVER_START",system:"CrimsonNative",module:"Httpserver",method:"StartHttpServer",persistent:!0},StopHttpServer:{legacyCommand:"QUERY_HTTPSERVER_STOP",system:"CrimsonNative",module:"Httpserver",method:"StopHttpServer",persistent:!1},SendRedirectResponse:{legacyCommand:"QUERY_HTTPSERVER_REDIRECTRESPONSE",system:"CrimsonNative",module:"Httpserver",method:"SendRedirectResponse",persistent:!1}},Ipc:{Pop:{legacyCommand:"QUERY_IPC_POP_MESSAGE",system:"CrimsonNative",module:"Ipc",method:"Pop",persistent:!1},Push:{legacyCommand:"QUERY_IPC_PUSH_MESSAGE",system:"CrimsonNative",module:"Ipc",method:"Push",persistent:!1},LoginStatus:{legacyCommand:"QUERY_GFN_LOGIN_STATUS",system:"CrimsonNative",module:"Ipc",method:"LoginStatus",persistent:!1}},Jarvis:{MonitorLoginStatus:{legacyCommand:"JARVIS_MONITOR_LOGIN_STATUS",system:"CrimsonNative",module:"Jarvis",method:"MonitorLoginStatus",persistent:!0},Login:{legacyCommand:"JARVIS_LOGIN",system:"CrimsonNative",module:"Jarvis",method:"Login",persistent:!1},Logout:{legacyCommand:"JARVIS_LOGOUT",system:"CrimsonNative",module:"Jarvis",method:"Logout",persistent:!1},QueryToken:{legacyCommand:"QUERY_TOKEN",system:"CrimsonNative",module:"Jarvis",method:"QueryToken",persistent:!1}},Loginid:{AddAppInfoToPersistence:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LoginId",method:"AddAppInfoToPersistence",persistent:!1},DeleteAppInfoFromPersistence:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LoginId",method:"DeleteAppInfoFromPersistence",persistent:!1},GetAllAppInfoFromPersistence:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LoginId",method:"GetAllAppInfoFromPersistence",persistent:!1}},Nativeauth:{syncSessionData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NativeAuth",method:"syncSessionData",persistent:!1},initiateLogIn:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NativeAuth",method:"initiateLogIn",persistent:!1},initiateLogOut:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NativeAuth",method:"initiateLogOut",persistent:!1},initiateLogInALS:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NativeAuth",method:"initiateLogInALS",persistent:!1}},Nvaccount:{GetEULAAccepted:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"GetEULAAccepted",persistent:!1},SetEULAAccepted:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"SetEULAAccepted",persistent:!1},OnLogin:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"OnLogin",persistent:!1},OnLogout:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"OnLogout",persistent:!1},GetUserAccount:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"GetUserAccount",persistent:!1},GetIdToken:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"GetIdToken",persistent:!1},RefreshConsent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"RefreshConsent",persistent:!1},GetUserId:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"GetUserId",persistent:!1},UserIdChangedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"UserIdChangedNotification",persistent:!0},UserConsentChangedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"UserConsentChangedNotification",persistent:!0},GetPrivacySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"GetPrivacySettings",persistent:!1},SetPrivacySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"SetPrivacySettings",persistent:!1},GetPrivacySettingsConsentInformation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"GetPrivacySettingsConsentInformation",persistent:!1},PrivacySettingsConsentInformationChangedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"PrivacySettingsConsentInformationChangedNotification",persistent:!0},PrivacySettingsChangedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"PrivacySettingsChangedNotification",persistent:!0},GetUserAccountAndDeviceConsent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvAccount",method:"GetUserAccountAndDeviceConsent",persistent:!1}},Nvcamera:{NvCameraResponseNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"NvCameraResponseNotification",persistent:!0},NvCameraFilterResponseNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"NvCameraFilterResponseNotification",persistent:!0},NvCameraUIControlNotificationData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"NvCameraUIControlNotificationData",persistent:!0},NgxAIUpResNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"NgxAIUpResNotifications",persistent:!0},SetAnselEnable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetAnselEnable",persistent:!1},GetFeatureSet:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetFeatureSet",persistent:!1},GetProcessInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetProcessInfo",persistent:!1},GetNvCameraConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetNvCameraConfig",persistent:!1},GetVersion:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetVersion",persistent:!1},AnselUIReady:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"AnselUIReady",persistent:!1},GetAnselCaptureTypes:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetAnselCaptureTypes",persistent:!1},GetAnselEnabledStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetAnselEnabledStatus",persistent:!1},SetLanguage:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetLanguage",persistent:!1},SetNvCameraConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetNvCameraConfig",persistent:!1},CaptureScreenshot:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"CaptureScreenshot",persistent:!1},GetCaptureResolutions:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetCaptureResolutions",persistent:!1},SetFilter:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetFilter",persistent:!1},GetCurrentFilterInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetCurrentFilterInfo",persistent:!1},ResetFilter:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"ResetFilter",persistent:!1},InsertFilter:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"InsertFilter",persistent:!1},RemoveFilter:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"RemoveFilter",persistent:!1},MoveFilter:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"MoveFilter",persistent:!1},GetFilterStackInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetFilterStackInfo",persistent:!1},ResetFilterStack:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"ResetFilterStack",persistent:!1},SetFilterAttribute:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetFilterAttribute",persistent:!1},SetFilterAndAttributes:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetFilterAndAttributes",persistent:!1},CancelCapture:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"CancelCapture",persistent:!1},SetCameraControlFovRoll:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetCameraControlFovRoll",persistent:!1},GetCameraControlFov:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetCameraControlFov",persistent:!1},GetCameraRangeFovRoll:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetCameraRangeFovRoll",persistent:!1},SetCameraGridOfThirds:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetCameraGridOfThirds",persistent:!1},SetAnselRedirection:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetAnselRedirection",persistent:!1},SendEnableRedirectionToSP:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SendEnableRedirectionToSP",persistent:!0},MouseEventToNvcamera:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"MouseEventToNvcamera",persistent:!1},KeyboardEventToNvcamera:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"KeyboardEventToNvcamera",persistent:!1},GetFreestyleWhitelisted:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetFreestyleWhitelisted",persistent:!1},GetNvCameraOnBusStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"GetNvCameraOnBusStatus",persistent:!1},StartNgxAIUpRes:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"StartNgxAIUpRes",persistent:!1},CancelNgxAIUpRes:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"CancelNgxAIUpRes",persistent:!1},AnselShotSavedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"AnselShotSavedNotification",persistent:!0},SetCMSInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCamera",method:"SetCMSInfo",persistent:!1}},Nvdriverdiagnostics:{AddNocatFrameEvent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvDriverDiagnostics",method:"AddNocatFrameEvent",persistent:!1}},Nvkvstorage:{Write:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvKVStorage",method:"Write",persistent:!1},Read:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvKVStorage",method:"Read",persistent:!1},Delete:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvKVStorage",method:"Delete",persistent:!1},Notification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvKVStorage",method:"Notification",persistent:!0}},Nvlocalizedconfig:{LocalizationDataChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvLocalizedConfig",method:"LocalizationDataChangeNotification",persistent:!0},GetLocalizationData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvLocalizedConfig",method:"GetLocalizationData",persistent:!1}},Overrides:{getConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Overrides",method:"getConfig",persistent:!1},launch:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Overrides",method:"launch",persistent:!1},apply:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Overrides",method:"apply",persistent:!1},reset:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Overrides",method:"reset",persistent:!1},download:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Overrides",method:"download",persistent:!1}},Remotelog:{StartStreamingLog:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"RemoteLog",method:"StartStreamingLog",persistent:!1},SessionIdUpdated:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"RemoteLog",method:"SessionIdUpdated",persistent:!1},StopStreamingLog:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"RemoteLog",method:"StopStreamingLog",persistent:!1}},Sharedstorage:{Read:{legacyCommand:"QUERY_READ_SHARED_STORAGE",system:"CrimsonNative",module:"SharedStorage",method:"Read",persistent:!1},Write:{legacyCommand:"QUERY_WRITE_SHARED_STORAGE",system:"CrimsonNative",module:"SharedStorage",method:"Write",persistent:!1},Remove:{legacyCommand:"QUERY_REMOVE_FROM_SHARED_STORAGE",system:"CrimsonNative",module:"SharedStorage",method:"Remove",persistent:!1},Cache:{legacyCommand:"QUERY_CACHE_SHARED_STORAGE",system:"CrimsonNative",module:"SharedStorage",method:"Cache",persistent:!1},PostCacheUpdate:{legacyCommand:"QUERY_POST_CACHE_UPDATE_SHARED_STORAGE",system:"CrimsonNative",module:"SharedStorage",method:"PostCacheUpdate",persistent:!1}},Subscriptioninfo:{InitializeSubscriptionProductSku:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"SubscriptionInfo",method:"InitializeSubscriptionProductSku",persistent:!1}},Survey:{Launch:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Survey",method:"Launch",persistent:!1}},Systeminfo:{GetSystemInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"SystemInfo",method:"GetSystemInfo",persistent:!1},GetClientHeadersInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"SystemInfo",method:"GetClientHeadersInfo",persistent:!1},GetDeviceId:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"SystemInfo",method:"GetDeviceId",persistent:!1},GetBrowserInfo:{legacyCommand:"QUERY_BROWSER_INFO",system:"CrimsonNative",module:"SystemInfo",method:"GetBrowserInfo",persistent:!1},GetStreamingSupportInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"SystemInfo",method:"GetStreamingSupportInfo",persistent:!1},GetNetworkTypeChangedInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"SystemInfo",method:"GetNetworkTypeChangedInfo",persistent:!1},DNSLookup:{legacyCommand:"QUERY_DNS",system:"CrimsonNative",module:"SystemInfo",method:"DNSLookup",persistent:!1}},Telemetry:{SendGridServerAnalyticsEvent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Telemetry",method:"SendGridServerAnalyticsEvent",persistent:!1}},Update:{ReadTicket:{legacyCommand:"QUERY_READ_UPDATE_TICKET",system:"CrimsonNative",module:"Update",method:"ReadTicket",persistent:!1}},Windowcontrol:{Maximize:{legacyCommand:"QUERY_WIN_MAXIMIZE",system:"CrimsonNative",module:"WindowControl",method:"Maximize",persistent:!1},Minimize:{legacyCommand:"QUERY_WIN_MINIMIZE",system:"CrimsonNative",module:"WindowControl",method:"Minimize",persistent:!1},Restore:{legacyCommand:"QUERY_WIN_RESTORE",system:"CrimsonNative",module:"WindowControl",method:"Restore",persistent:!1},RestoreFromFullScreen:{legacyCommand:"QUERY_WIN_RESTORE_FROM_FULLSCREEN",system:"CrimsonNative",module:"WindowControl",method:"RestoreFromFullScreen",persistent:!1},Resize:{legacyCommand:"QUERY_WIN_RECT",system:"CrimsonNative",module:"WindowControl",method:"Resize",persistent:!1},Close:{legacyCommand:"QUERY_WIN_CLOSE",system:"CrimsonNative",module:"WindowControl",method:"Close",persistent:!1},Focus:{legacyCommand:"QUERY_WIN_FOCUS",system:"CrimsonNative",module:"WindowControl",method:"Focus",persistent:!1},RequestUserAttention:{legacyCommand:"QUERY_REQUEST_USER_ATTENTION",system:"CrimsonNative",module:"WindowControl",method:"RequestUserAttention",persistent:!1},EnableCloseButton:{legacyCommand:"QUERY_WIN_ALLOW_CLOSE",system:"CrimsonNative",module:"WindowControl",method:"EnableCloseButton",persistent:!1},SynthesizeClickEvent:{legacyCommand:"QUERY_SYNTHESIZE_CLICK_EVENT",system:"CrimsonNative",module:"WindowControl",method:"SynthesizeClickEvent",persistent:!1}},Windowevents:{RegisterWindowEventsCallback:{legacyCommand:"QUERY_REGISTER_WINDOW_EVENTS_CALLBACK",system:"CrimsonNative",module:"WindowEvents",method:"RegisterWindowEventsCallback",persistent:!0}}},Gfe:{Driverinstall:{InstallAsync:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"InstallAsync",persistent:!1},SetState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"SetState",persistent:!1},GetState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"GetState",persistent:!1},RegisterProgressNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"RegisterProgressNotification",persistent:!0},RegisterFormNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"RegisterFormNotification",persistent:!0}},Driverupdaterecommendation:{GetDriverUpdateRecommendation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetDriverUpdateRecommendation",persistent:!1},GetUserDriverTypePreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetUserDriverTypePreference",persistent:!1},SetUserDriverTypePreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetUserDriverTypePreference",persistent:!1},GetAutomaticDriverDownloadEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetAutomaticDriverDownloadEnabled",persistent:!1},SetAutomaticDriverDownloadEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetAutomaticDriverDownloadEnabled",persistent:!1},StartDriverUpdateCheck:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"StartDriverUpdateCheck",persistent:!1},RegisterDriverUpdateCheckProgressNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"RegisterDriverUpdateCheckProgressNotifications",persistent:!0},GetGRDEditorPreviewMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetGRDEditorPreviewMode",persistent:!1},GetDriverUpdateNotificationEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetDriverUpdateNotificationEnabled",persistent:!1},SetDriverUpdateNotificationEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetDriverUpdateNotificationEnabled",persistent:!1}},Gfnsdk:{Initialize:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GfnSdk",method:"Initialize",persistent:!1},StartStreaming:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GfnSdk",method:"StartStreaming",persistent:!1}},Localgames:{GetApplications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetApplications",persistent:!1},RegisterApplicationChangedNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationChangedNotifications",persistent:!0},RegisterApplicationRemovedNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationRemovedNotifications",persistent:!0},StartApplicationScan:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"StartApplicationScan",persistent:!1},RegisterApplicationScanProgressNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationScanProgressNotifications",persistent:!0},GetLastApplicationScanTime:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetLastApplicationScanTime",persistent:!1},LaunchApplication:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"LaunchApplication",persistent:!1},GetLauncherPID:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetLauncherPID",persistent:!1},GetApplicationSearchPaths:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetApplicationSearchPaths",persistent:!1},AddApplicationSearchPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"AddApplicationSearchPath",persistent:!1},RemoveApplicationSearchPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RemoveApplicationSearchPath",persistent:!1},GetVOPSStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetVOPSStatus",persistent:!1},GetVOPSSettingsInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetVOPSSettingsInfo",persistent:!1},RegisterVOPSReadyNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterVOPSReadyNotifications",persistent:!0},GetBatteryBoostState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetBatteryBoostState",persistent:!1},SetBatteryBoostState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetBatteryBoostState",persistent:!1},GetBatteryBoostSupportState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetBatteryBoostSupportState",persistent:!1},GetWhisperModeState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetWhisperModeState",persistent:!1},SetWhisperModeState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetWhisperModeState",persistent:!1},RegisterWhisperModeStateNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterWhisperModeStateNotifications",persistent:!0},GetWhisperModeSupportState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetWhisperModeSupportState",persistent:!1},RegisterWhisperModeSupportStateNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterWhisperModeSupportStateNotifications",persistent:!0},GetSettingsTranslations:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetSettingsTranslations",persistent:!1},GetSettingsSpace:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetSettingsSpace",persistent:!1},SetTargetSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetTargetSettings",persistent:!1},GetApplicationState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetApplicationState",persistent:!1},RegisterApplicationStateChangedNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationStateChangedNotifications",persistent:!0}}},Gfn:{Gfnsdkhost:{UpdateStreamerStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GfnSdkHost",method:"UpdateStreamerStatus",persistent:!1},OnMessageToSDKClient:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GfnSdkHost",method:"OnMessageToSDKClient",persistent:!1},OnMessageFromSDKClient:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GfnSdkHost",method:"OnMessageFromSDKClient",persistent:!0},SendCustomMessage:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GfnSdkHost",method:"SendCustomMessage",persistent:!1},OnCustomMessageNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GfnSdkHost",method:"OnCustomMessageNotification",persistent:!0}},Networktest:{Start:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NetworkTest",method:"Start",persistent:!1},AuthTokenRequest:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NetworkTest",method:"AuthTokenRequest",persistent:!0},NetworkTestFinishedCallback:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NetworkTest",method:"NetworkTestFinishedCallback",persistent:!0},UpdateAuthToken:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NetworkTest",method:"UpdateAuthToken",persistent:!1},ConfigureNetworkTestSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NetworkTest",method:"ConfigureNetworkTestSettings",persistent:!1},RegisterCallback:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NetworkTest",method:"RegisterCallback",persistent:!1}},Serverrouting:{PerformRouting:{legacyCommand:"QUERY_GFN_LATENCY_BASED_ROUTING",system:"CrimsonNative",module:"ServerRouting",method:"PerformRouting",persistent:!1}},Streamer:{Launch:{legacyCommand:"QUERY_STREAMER_LAUNCH",system:"CrimsonNative",module:"Streamer",method:"Launch",persistent:!1},AddDesktopShortcut:{legacyCommand:"QUERY_STREAMER_INSTALL",system:"CrimsonNative",module:"Streamer",method:"AddDesktopShortcut",persistent:!1}},Streaming:{Start:{legacyCommand:"QUERY_GFN_START",system:"CrimsonNative",module:"Streaming",method:"Start",persistent:!1},Prepare:{legacyCommand:"QUERY_GFN_PREPARE",system:"CrimsonNative",module:"Streaming",method:"Prepare",persistent:!1},SetAuthInfo:{legacyCommand:"QUERY_GFN_SET_AUTH_INFO",system:"CrimsonNative",module:"Streaming",method:"SetAuthInfo",persistent:!1},SetAuthToken:{legacyCommand:"QUERY_GFN_SET_AUTH_TOKEN",system:"CrimsonNative",module:"Streaming",method:"SetAuthToken",persistent:!1},SetPrefetchedSettings:{legacyCommand:"QUERY_GFN_SET_PREFETCHED_SETTINGS",system:"CrimsonNative",module:"Streaming",method:"SetPrefetchedSettings",persistent:!1},Stop:{legacyCommand:"QUERY_GFN_STOP",system:"CrimsonNative",module:"Streaming",method:"Stop",persistent:!1},Cleanup:{legacyCommand:"QUERY_GFN_CLEANUP",system:"CrimsonNative",module:"Streaming",method:"Cleanup",persistent:!1},GetActiveSessions:{legacyCommand:"QUERY_GFN_GET_ACTIVE_SESSIONS",system:"CrimsonNative",module:"Streaming",method:"GetActiveSessions",persistent:!1},GetSessionInfo:{legacyCommand:"QUERY_GFN_GET_SESSION_INFO",system:"CrimsonNative",module:"Streaming",method:"GetSessionInfo",persistent:!1},VsyncToggle:{legacyCommand:"QUERY_GFN_IS_VSYNC_TOGGLE_SUPPORTED",system:"CrimsonNative",module:"Streaming",method:"VsyncToggle",persistent:!1},Cancel:{legacyCommand:"QUERY_GFN_CANCEL",system:"CrimsonNative",module:"Streaming",method:"Cancel",persistent:!1},Resume:{legacyCommand:"QUERY_GFN_RESUME",system:"CrimsonNative",module:"Streaming",method:"Resume",persistent:!1},PauseStreaming:{legacyCommand:"QUERY_GFN_PAUSE_STREAMING",system:"CrimsonNative",module:"Streaming",method:"PauseStreaming",persistent:!1},UpdateRemoteConfig:{legacyCommand:"QUERY_GFN_UPDATE_REMOTE_CONFIG",system:"CrimsonNative",module:"Streaming",method:"UpdateRemoteConfig",persistent:!1},RegisterCallback:{legacyCommand:"QUERY_GFN_REGISTER_CALLBACK",system:"CrimsonNative",module:"Streaming",method:"RegisterCallback",persistent:!0},OpenOsr:{legacyCommand:"QUERY_WIN_OPEN_OSR",system:"CrimsonNative",module:"Streaming",method:"OpenOsr",persistent:!1},CloseOsr:{legacyCommand:"QUERY_WIN_CLOSE_OSR",system:"CrimsonNative",module:"Streaming",method:"CloseOsr",persistent:!1},OsrRegisterCustomKeyPress:{legacyCommand:"QUERY_OSR_REGISTER_KEYPRESS",system:"CrimsonNative",module:"Streaming",method:"OsrRegisterCustomKeyPress",persistent:!1},OsrUnregisterCustomKeyPress:{legacyCommand:"QUERY_OSR_UNREGISTER_KEYPRESS",system:"CrimsonNative",module:"Streaming",method:"OsrUnregisterCustomKeyPress",persistent:!1},OsrCheckKeyPressCombination:{legacyCommand:"QUERY_OSR_CHECK_KEYPRESS_COMBINATION",system:"CrimsonNative",module:"Streaming",method:"OsrCheckKeyPressCombination",persistent:!1},OsrRegisterKeyPressCallback:{legacyCommand:"QUERY_OSR_REGISTER_KEYPRESS_CALLBACK",system:"CrimsonNative",module:"Streaming",method:"OsrRegisterKeyPressCallback",persistent:!0},OsrSetOverlayResolution:{legacyCommand:"QUERY_OSR_SET_OVERLAY_RESOLUTION",system:"CrimsonNative",module:"Streaming",method:"OsrSetOverlayResolution",persistent:!1},GetStreamVolume:{legacyCommand:"QUERY_GFN_GET_STREAM_VOLUME",system:"CrimsonNative",module:"Streaming",method:"GetStreamVolume",persistent:!1},GetStreamStats:{legacyCommand:"QUERY_GFN_GET_STREAM_STATS",system:"CrimsonNative",module:"Streaming",method:"GetStreamStats",persistent:!1},SetStreamVolume:{legacyCommand:"QUERY_GFN_SET_STREAM_VOLUME",system:"CrimsonNative",module:"Streaming",method:"SetStreamVolume",persistent:!1},SetMagnificationFilter:{legacyCommand:"QUERY_GFN_SET_MAG_FILTER",system:"CrimsonNative",module:"Streaming",method:"SetMagnificationFilter",persistent:!1},GetMagnificationFilterSupport:{legacyCommand:"QUERY_GFN_GET_MAG_FILTER_SUPPORT",system:"CrimsonNative",module:"Streaming",method:"GetMagnificationFilterSupport",persistent:!1},GetMagnificationFilterSupportList:{legacyCommand:"QUERY_GFN_GET_MAG_FILTER_SUPPORT_LIST",system:"CrimsonNative",module:"Streaming",method:"GetMagnificationFilterSupportList",persistent:!1},SetMagnificationFilterSharpness:{legacyCommand:"QUERY_GFN_SET_MAG_FILTER_SHARPNESS",system:"CrimsonNative",module:"Streaming",method:"SetMagnificationFilterSharpness",persistent:!1},ToggleUserInput:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Streaming",method:"ToggleUserInput",persistent:!1},ToggleJoystickMouse:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Streaming",method:"ToggleJoystickMouse",persistent:!1},SetVirtualKeyboardState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Streaming",method:"SetVirtualKeyboardState",persistent:!1},SetVideoTransforms:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Streaming",method:"SetVideoTransforms",persistent:!1},ToggleStats:{legacyCommand:"QUERY_GFN_TOGGLE_INTERNAL_STATS",system:"CrimsonNative",module:"Streaming",method:"ToggleStats",persistent:!1},RegisterGamepadChangedCallback:{legacyCommand:"QUERY_GFN_REGISTER_GAMEPAD_CHANGE_CALLBACK",system:"CrimsonNative",module:"Streaming",method:"RegisterGamepadChangedCallback",persistent:!0},GetConnectedGamepads:{legacyCommand:"QUERY_GFN_GET_CONNECTED_GAMEPADS",system:"CrimsonNative",module:"Streaming",method:"GetConnectedGamepads",persistent:!1},RegisterGamepadEventCallback:{legacyCommand:"QUERY_GFN_REGISTER_GAMEPAD_EVENT_CALLBACK",system:"CrimsonNative",module:"Streaming",method:"RegisterGamepadEventCallback",persistent:!0},RegisterMicCallback:{legacyCommand:"QUERY_GFN_REGISTER_MIC_CALLBACK",system:"CrimsonNative",module:"Streaming",method:"RegisterMicCallback",persistent:!0},ShouldDefaultEnableMic:{legacyCommand:"QUERY_SHOULD_DEFAULT_ENABLE_MIC",system:"CrimsonNative",module:"Streaming",method:"ShouldDefaultEnableMic",persistent:!1},GetMicState:{legacyCommand:"QUERY_GFN_GET_MIC_STATE",system:"CrimsonNative",module:"Streaming",method:"GetMicState",persistent:!1},SetMicState:{legacyCommand:"QUERY_GFN_SET_MIC_STATE",system:"CrimsonNative",module:"Streaming",method:"SetMicState",persistent:!1},GetKeyboardLayout:{legacyCommand:"QUERY_GFN_GET_KEYBOARD_LAYOUT",system:"CrimsonNative",module:"Streaming",method:"GetKeyboardLayout",persistent:!1},SetKeyboardLayout:{legacyCommand:"QUERY_GFN_SET_KEYBOARD_LAYOUT",system:"CrimsonNative",module:"Streaming",method:"SetKeyboardLayout",persistent:!1},ConfigureStreamingSettings:{legacyCommand:"QUERY_GFN_UPDATE_STREAMING_SETTINGS",system:"CrimsonNative",module:"Streaming",method:"ConfigureStreamingSettings",persistent:!1},SendUnicode:{legacyCommand:"QUERY_GFN_SEND_UNICODE",system:"CrimsonNative",module:"Streaming",method:"SendUnicode",persistent:!1},OnKBLayoutChange:{legacyCommand:"QUERY_GFN_REGISTER_ON_KEYBOARD_LAYOUT_CHANGED",system:"CrimsonNative",module:"Streaming",method:"OnKBLayoutChange",persistent:!0},GetUnifiedAPIVersion:{legacyCommand:"QUERY_GFN_GET_UNIFIED_API_VERSION",system:"CrimsonNative",module:"Streaming",method:"GetUnifiedAPIVersion",persistent:!1},OnIMEWindowClosed:{legacyCommand:"QUERY_GFN_REGISTER_ON_IME_WINDOW_CLOSED",system:"CrimsonNative",module:"Streaming",method:"OnIMEWindowClosed",persistent:!0},OnIMEWindowOpened:{legacyCommand:"QUERY_GFN_REGISTER_ON_IME_WINDOW_OPENED",system:"CrimsonNative",module:"Streaming",method:"OnIMEWindowOpened",persistent:!0},GetDisplayMode:{legacyCommand:"QUERY_GFN_GET_DISPLAY_MODE",system:"CrimsonNative",module:"Streaming",method:"GetDisplayMode",persistent:!1},GetVSyncAutoDisableThresholdStreamingFPS:{legacyCommand:"QUERY_GFN_GET_VSYNC_AUTO_DISABLE_THRESHOLD_FPS",system:"CrimsonNative",module:"Streaming",method:"GetVSyncAutoDisableThresholdStreamingFPS",persistent:!1},GetVSyncAutoDisableThresholdDisplayHz:{legacyCommand:"QUERY_GFN_GET_VSYNC_AUTO_DISABLE_THRESHOLD_DISPLAY_HZ",system:"CrimsonNative",module:"Streaming",method:"GetVSyncAutoDisableThresholdDisplayHz",persistent:!1},SetVsyncEnabled:{legacyCommand:"QUERY_GFN_SET_VSYNC_ENABLED",system:"CrimsonNative",module:"Streaming",method:"SetVsyncEnabled",persistent:!1},SetAdaptiveFramePacingEnabled:{legacyCommand:"QUERY_GFN_SET_ADAPTIVE_FRAME_PACING_ENABLED",system:"CrimsonNative",module:"Streaming",method:"SetAdaptiveFramePacingEnabled",persistent:!1},SetDrcDfcState:{legacyCommand:"QUERY_GFN_SET_DRC_DFC_STATE",system:"CrimsonNative",module:"Streaming",method:"SetDrcDfcState",persistent:!1},SetStreamingMaxBitrate:{legacyCommand:"QUERY_GFN_SET_STREAMING_MAX_BITRATE",system:"CrimsonNative",module:"Streaming",method:"SetStreamingMaxBitrate",persistent:!1},UpdateEventInfoGuids:{legacyCommand:"QUERY_GFN_UPDATE_EVENT_INFO_GUIDS",system:"CrimsonNative",module:"Streaming",method:"UpdateEventInfoGuids",persistent:!1},RegisterGridServerAnalyticsCallback:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Streaming",method:"RegisterGridServerAnalyticsCallback",persistent:!0},GetAutoResolution:{legacyCommand:"QUERY_GFN_GET_AUTO_RESOLUTION",system:"CrimsonNative",module:"Streaming",method:"GetAutoResolution",persistent:!1},StartStreaming:{legacyCommand:"QUERY_GFN_START_STREAMING",system:"CrimsonNative",module:"Streaming",method:"StartStreaming",persistent:!1},UpdateEventDataElements:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Streaming",method:"UpdateEventDataElements",persistent:!1},SendClipboardUpdate:{legacyCommand:"QUERY_GFN_SEND_CLIPBOARD_UPDATE",system:"CrimsonNative",module:"Streaming",method:"SendClipboardUpdate",persistent:!1},IsPlatformSupportsUHD:{legacyCommand:"QUERY_GFN_IS_PLATFORM_SUPPORTS_UHD",system:"CrimsonNative",module:"Streaming",method:"IsPlatformSupportsUHD",persistent:!1},AuthorizeAVDevices:{legacyCommand:"QUERY_GFN_AUTH_AV_DEVICES",system:"CrimsonNative",module:"Streaming",method:"AuthorizeAVDevices",persistent:!1},PlatformGetMaxBitRateForArray:{legacyCommand:"QUERY_GFN_PLATFORM_GET_MAXBITRATE_ARRAY",system:"CrimsonNative",module:"Streaming",method:"PlatformGetMaxBitRateForArray",persistent:!1},SendKeyEvent:{legacyCommand:"QUERY_GFN_SEND_KEY_EVENT_TO_STREAMER",system:"CrimsonNative",module:"Streaming",method:"SendKeyEvent",persistent:!1},ToggleISSOStats:{legacyCommand:"QUERY_TOGGLE_ISSO_STATS",system:"CrimsonNative",module:"Streaming",method:"ToggleISSOStats",persistent:!0},IsPlatformSupportsHDRStreaming:{legacyCommand:"QUERY_GFN_IS_PLATFORM_SUPPORTS_HDR_STREAMING",system:"CrimsonNative",module:"Streaming",method:"IsPlatformSupportsHDRStreaming",persistent:!1},RegisterHDRStreamingStatusNotification:{legacyCommand:"QUERY_GFN_REGISTER_HDR_STATUS",system:"CrimsonNative",module:"Streaming",method:"RegisterHDRStreamingStatusNotification",persistent:!0},StreamingCodecNotification:{legacyCommand:"QUERY_STREAMING_CODEC_NOTIFICATION",system:"CrimsonNative",module:"Streaming",method:"StreamingCodecNotification",persistent:!0},StreamingL4SStateNotification:{legacyCommand:"QUERY_STREAMING_L4S_STATE_NOTIFICATION",system:"CrimsonNative",module:"Streaming",method:"StreamingL4SStateNotification",persistent:!0},RecordingTranscodeSupport:{legacyCommand:"QUERY_RECORDING_TRANSCODE_SUPPORT",system:"CrimsonNative",module:"Streaming",method:"RecordingTranscodeSupport",persistent:!0},IsPlatformSupportFps:{legacyCommand:"QUERY_GFN_IS_PLATFORM_SUPPORT_FPS",system:"CrimsonNative",module:"Streaming",method:"IsPlatformSupportFps",persistent:!1},CalculateDataUsage:{legacyCommand:"QUERY_GFN_CALCULATE_DATA_USAGE",system:"CrimsonNative",module:"Streaming",method:"CalculateDataUsage",persistent:!1},UpdateAdState:{legacyCommand:"QUERY_GFN_UPDATE_AD_STATE",system:"CrimsonNative",module:"Streaming",method:"UpdateAdState",persistent:!1},GetPlatformCloudGsyncCapabilities:{legacyCommand:"QUERY_GFN_GET_PLATFORM_CLOUD_GSYNC_CAPABILITIES",system:"CrimsonNative",module:"Streaming",method:"GetPlatformCloudGsyncCapabilities",persistent:!1},GetDeviceCapabilities:{legacyCommand:"QUERY_GFN_GET_SERIALIZED_DEVICE_CAPABILITIES",system:"CrimsonNative",module:"Streaming",method:"GetDeviceCapabilities",persistent:!1},SetStreamingL4sState:{legacyCommand:"QUERY_GFN_SET_STREAMING_L4S_STATE",system:"CrimsonNative",module:"Streaming",method:"SetStreamingL4sState",persistent:!1},PrefetchDeviceCapabilities:{legacyCommand:"QUERY_GFN_PREFETCH_DEVICE_CAPABILITIES",system:"CrimsonNative",module:"Streaming",method:"PrefetchDeviceCapabilities",persistent:!1},SetClientSupportsVirtualGamepad:{legacyCommand:"QUERY_SET_CLIENT_SUPPORTS_VIRTUAL_GAMEPAD",system:"CrimsonNative",module:"Streaming",method:"SetClientSupportsVirtualGamepad",persistent:!0},GetGamepadBitmap:{legacyCommand:"QUERY_GET_GAMEPAD_BITMAP",system:"CrimsonNative",module:"Streaming",method:"GetGamepadBitmap",persistent:!0},SetSupportedHidTypes:{legacyCommand:"QUERY_SET_SUPPORTED_HID_TYPES",system:"CrimsonNative",module:"Streaming",method:"SetSupportedHidTypes",persistent:!0},SetMicRecordingEnabled:{legacyCommand:"QUERY_SET_MIC_RECORDING_ENABLED",system:"CrimsonNative",module:"Streaming",method:"SetMicRecordingEnabled",persistent:!1},UpdateVirtualGamepadInput:{legacyCommand:"QUERY_UPDATE_VIRTUAL_GAMEPAD_INPUT",system:"CrimsonNative",module:"Streaming",method:"UpdateVirtualGamepadInput",persistent:!1}}},Nvapp:{Appdiscovery:{AppActionNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"AppDiscovery",method:"AppActionNotification",persistent:!0},InstallApp:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"AppDiscovery",method:"InstallApp",persistent:!1},UninstallApp:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"AppDiscovery",method:"UninstallApp",persistent:!1},GetAppStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"AppDiscovery",method:"GetAppStatus",persistent:!1},GetAppsStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"AppDiscovery",method:"GetAppsStatus",persistent:!1},LaunchApp:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"AppDiscovery",method:"LaunchApp",persistent:!1}},Driverinstall:{InstallAsync:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"InstallAsync",persistent:!1},SetState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"SetState",persistent:!1},GetState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"GetState",persistent:!1},RegisterProgressNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"RegisterProgressNotification",persistent:!0},RegisterFormNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverInstall",method:"RegisterFormNotification",persistent:!0}},Driverupdaterecommendation:{GetDriverUpdateRecommendation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetDriverUpdateRecommendation",persistent:!1},GetUserDriverTypePreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetUserDriverTypePreference",persistent:!1},SetUserDriverTypePreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetUserDriverTypePreference",persistent:!1},GetUpdateStrategyPreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetUpdateStrategyPreference",persistent:!1},SetUpdateStrategyPreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetUpdateStrategyPreference",persistent:!1},GetAutomaticDriverDownloadEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetAutomaticDriverDownloadEnabled",persistent:!1},SetAutomaticDriverDownloadEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetAutomaticDriverDownloadEnabled",persistent:!1},StartDriverUpdateCheck:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"StartDriverUpdateCheck",persistent:!1},RegisterDriverUpdateCheckProgressNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"RegisterDriverUpdateCheckProgressNotifications",persistent:!0},GetGRDEditorPreviewMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetGRDEditorPreviewMode",persistent:!1},GetDriverUpdateNotificationEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetDriverUpdateNotificationEnabled",persistent:!1},SetDriverUpdateNotificationEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetDriverUpdateNotificationEnabled",persistent:!1},GetGPUInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetGPUInfo",persistent:!1},GetGenericInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetGenericInfo",persistent:!1},GetRewardsNotificationPreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetRewardsNotificationPreference",persistent:!1},SetRewardsNotificationPreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetRewardsNotificationPreference",persistent:!1},GetLanguagePreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"GetLanguagePreference",persistent:!1},SetLanguagePreference:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverUpdateRecommendation",method:"SetLanguagePreference",persistent:!1}},Localgames:{GetApplications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetApplications",persistent:!1},RegisterApplicationChangedNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationChangedNotifications",persistent:!0},RegisterApplicationRemovedNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationRemovedNotifications",persistent:!0},StartApplicationScan:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"StartApplicationScan",persistent:!1},RegisterApplicationScanProgressNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationScanProgressNotifications",persistent:!0},GetLastApplicationScanTime:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetLastApplicationScanTime",persistent:!1},LaunchApplication:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"LaunchApplication",persistent:!1},GetLauncherPID:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetLauncherPID",persistent:!1},GetApplicationSearchPaths:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetApplicationSearchPaths",persistent:!1},AddApplicationSearchPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"AddApplicationSearchPath",persistent:!1},RemoveApplicationSearchPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RemoveApplicationSearchPath",persistent:!1},GetBatteryBoostState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetBatteryBoostState",persistent:!1},SetBatteryBoostState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetBatteryBoostState",persistent:!1},GetBatteryBoostSupportState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetBatteryBoostSupportState",persistent:!1},GetWhisperModeState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetWhisperModeState",persistent:!1},SetWhisperModeState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetWhisperModeState",persistent:!1},GetWhisperModeInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetWhisperModeInfo",persistent:!1},RegisterWhisperModeStateNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterWhisperModeStateNotifications",persistent:!0},GetWhisperModeSupportState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetWhisperModeSupportState",persistent:!1},RegisterWhisperModeSupportStateNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterWhisperModeSupportStateNotifications",persistent:!0},GetSettingsTranslations:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetSettingsTranslations",persistent:!1},GetSettingsSpace:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetSettingsSpace",persistent:!1},SetTargetSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetTargetSettings",persistent:!1},GetApplicationState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetApplicationState",persistent:!1},RegisterApplicationStateChangedNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"RegisterApplicationStateChangedNotifications",persistent:!0},GetSignedGPUID:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetSignedGPUID",persistent:!1},LaunchMSSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"LaunchMSSettings",persistent:!1},SetOOTBStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetOOTBStatus",persistent:!1},FindAndGetAppMetadata:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"FindAndGetAppMetadata",persistent:!1},AddManualApplication:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"AddManualApplication",persistent:!1},DeleteManualApplication:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"DeleteManualApplication",persistent:!1},GetAutoOptimizeEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"GetAutoOptimizeEnabled",persistent:!1},SetAutoOptimizeEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"SetAutoOptimizeEnabled",persistent:!1},TriggerNGXUpdater:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"LocalGames",method:"TriggerNGXUpdater",persistent:!1}},Nvcpldisplayplugin:{GetDirect3DfeatureLevel:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDirect3DfeatureLevel",persistent:!1},GetGPUInformation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetGPUInformation",persistent:!1},GetSuperResolutionInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetSuperResolutionInfo",persistent:!1},GetSuperResolutionCurrentStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetSuperResolutionCurrentStatus",persistent:!1},SetSuperResolutionValue:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetSuperResolutionValue",persistent:!1},GetSuperResolutionGpuUtilization:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetSuperResolutionGpuUtilization",persistent:!1},SetSuperResolutionGpuUtilization:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetSuperResolutionGpuUtilization",persistent:!1},GetSuperResolutionIndicatorStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetSuperResolutionIndicatorStatus",persistent:!1},GetRTXVideoFlags:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetRTXVideoFlags",persistent:!1},SetRTXVSRFlags:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetRTXVSRFlags",persistent:!1},SetRTXHDRFlags:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetRTXHDRFlags",persistent:!1},SetSuperResolutionIndicatorStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetSuperResolutionIndicatorStatus",persistent:!1},GetHDRIndicatorStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetHDRIndicatorStatus",persistent:!1},SetHDRIndicatorStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetHDRIndicatorStatus",persistent:!1},GetDisableVSROnGameLaunchStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDisableVSROnGameLaunchStatus",persistent:!1},SetDisableVSROnGameLaunchStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDisableVSROnGameLaunchStatus",persistent:!1},GetDisableHDROnGameLaunchStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDisableHDROnGameLaunchStatus",persistent:!1},SetDisableHDROnGameLaunchStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDisableHDROnGameLaunchStatus",persistent:!1},RestoreDefaultVideoSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RestoreDefaultVideoSettings",persistent:!1},GetHDRInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetHDRInfo",persistent:!1},GetHDRCurrentStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetHDRCurrentStatus",persistent:!1},SetHDRValue:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetHDRValue",persistent:!1},SetHDRInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetHDRInfo",persistent:!1},RegisterDisplayChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RegisterDisplayChangeNotification",persistent:!0},GetGpuCount:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetGpuCount",persistent:!1},LaunchApplication:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"LaunchApplication",persistent:!1},IsControlPanelClientInstalled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"IsControlPanelClientInstalled",persistent:!1},GetDisplaysState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDisplaysState",persistent:!1},SetDisplaysState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDisplaysState",persistent:!1},GetDisplayResolutionList:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDisplayResolutionList",persistent:!1},GetGpuAndDisplayInformation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetGpuAndDisplayInformation",persistent:!1},GetGpuAndDisplaysPhysicalInformation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetGpuAndDisplaysPhysicalInformation",persistent:!1},RestoreDisplaySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RestoreDisplaySettings",persistent:!1},SetResolution:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetResolution",persistent:!1},SetRotation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetRotation",persistent:!1},RevertState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RevertState",persistent:!1},CancelState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"CancelState",persistent:!1},CommitState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"CommitState",persistent:!1},IdentifyDisplays:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"IdentifyDisplays",persistent:!1},GetSystemCapabilities:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetSystemCapabilities",persistent:!1},GetGlobalGsyncState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetGlobalGsyncState",persistent:!1},SetGlobalGsyncState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetGlobalGsyncState",persistent:!1},RestoreGlobalGsyncState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RestoreGlobalGsyncState",persistent:!1},GetDisplayGsyncState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDisplayGsyncState",persistent:!1},SetDisplayGsyncState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDisplayGsyncState",persistent:!1},GetIsColorSettingsOsControlled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetIsColorSettingsOsControlled",persistent:!1},SetIsColorSettingsOsControlled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetIsColorSettingsOsControlled",persistent:!1},GetColorEnhancementInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetColorEnhancementInfo",persistent:!1},SetDynamicRange:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDynamicRange",persistent:!1},SetOutputColorFormat:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetOutputColorFormat",persistent:!1},SetDesktopColorDepth:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDesktopColorDepth",persistent:!1},SetOutputColorDepth:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetOutputColorDepth",persistent:!1},GetDesktopColorCombinationInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDesktopColorCombinationInfo",persistent:!1},GetDigitalVibranceInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDigitalVibranceInfo",persistent:!1},SetDigitalVibrance:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDigitalVibrance",persistent:!1},GetHueInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetHueInfo",persistent:!1},SetHue:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetHue",persistent:!1},SetColorCombinationInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetColorCombinationInfo",persistent:!1},SetColorAccuracyMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetColorAccuracyMode",persistent:!1},RestoreColorAccuracyMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RestoreColorAccuracyMode",persistent:!1},GetColorAccuracyMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetColorAccuracyMode",persistent:!1},GetScalingSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetScalingSettings",persistent:!1},SetScalingSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetScalingSettings",persistent:!1},SetScalingOverride:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetScalingOverride",persistent:!1},FetchCustomTiming:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"FetchCustomTiming",persistent:!1},PerformActionOnCustomResolutionLocalCache:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"PerformActionOnCustomResolutionLocalCache",persistent:!1},GetContentTypeInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetContentTypeInfo",persistent:!1},SetContentType:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetContentType",persistent:!1},GetIsUpscalingFactorsEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetIsUpscalingFactorsEnabled",persistent:!1},GetDisplayLuid:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDisplayLuid",persistent:!1},RestoreDisplayScaling:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RestoreDisplayScaling",persistent:!1},RestoreDisplayColorSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"RestoreDisplayColorSettings",persistent:!1},GetIsInfoFrameEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetIsInfoFrameEnabled",persistent:!1},GetScalingPreviewInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetScalingPreviewInfo",persistent:!1},GetSurroundOrMosaicConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetSurroundOrMosaicConfig",persistent:!1},SetSurroundOrMosaicConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetSurroundOrMosaicConfig",persistent:!1},GetDDSState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDDSState",persistent:!1},SetDDSState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetDDSState",persistent:!1},DDSBlockingAppPresent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"DDSBlockingAppPresent",persistent:!1},ACPowerConnected:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"ACPowerConnected",persistent:!1},SetUIState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"SetUIState",persistent:!1},GetUIState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetUIState",persistent:!1},DisableAllMosaicGroups:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"DisableAllMosaicGroups",persistent:!1},GetDDSBlockingApps:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetDDSBlockingApps",persistent:!1},GetMosaicDisplaySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"GetMosaicDisplaySettings",persistent:!1},ExtendAllDisplays:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplDisplayPlugin",method:"ExtendAllDisplays",persistent:!1}},Nvcplplugin:{GetProfileSettingsInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileSettingsInfo",persistent:!1},GetProfileInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileInfo",persistent:!1},GetProfileSettingValue:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileSettingValue",persistent:!1},GetProfileSettingDefaultValue:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileSettingDefaultValue",persistent:!1},GetProfileNameFromExe:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileNameFromExe",persistent:!1},SetProfileSettingValue:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"SetProfileSettingValue",persistent:!1},ApplyProfileSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"ApplyProfileSettings",persistent:!1},GetProfileJsonStringSettingPossibleValues:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileJsonStringSettingPossibleValues",persistent:!1},GetProfileStringSettingPossibleValues:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileStringSettingPossibleValues",persistent:!1},GetProfileScalarSettingPossibleValues:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfileScalarSettingPossibleValues",persistent:!1},RestoreDefaultForProfile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"RestoreDefaultForProfile",persistent:!1},RestoreDefaultForAllProfiles:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"RestoreDefaultForAllProfiles",persistent:!1},GetProgramProfileNames:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProgramProfileNames",persistent:!1},GetProfilesAndApplicationsInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetProfilesAndApplicationsInfo",persistent:!1},GetGlobalProfileNames:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetGlobalProfileNames",persistent:!1},CreateNewProfile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"CreateNewProfile",persistent:!1},DeleteProfile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"DeleteProfile",persistent:!1},GetDynamicBoost:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvCplPlugin",method:"GetDynamicBoost",persistent:!1}},Nvigoutil:{ToggleIGO:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"ToggleIGO",persistent:!1},GetShadowPlaySupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"GetShadowPlaySupported",persistent:!1},GetShadowPlayStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"GetShadowPlayStatus",persistent:!1},GetFilterPhotoModeState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"GetFilterPhotoModeState",persistent:!1},SetFilterPhotoMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"SetFilterPhotoMode",persistent:!1},SetGAssistInstall:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"SetGAssistInstall",persistent:!1},OpenIGO:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"OpenIGO",persistent:!1},GetHotkeyShortcut:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvIGOUtil",method:"GetHotkeyShortcut",persistent:!1}},Nvoc:{GetFeatureSupportState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetFeatureSupportState",persistent:!1},GetManualOCLimits:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetManualOCLimits",persistent:!1},GetLastOcScanResults:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetLastOcScanResults",persistent:!1},GetLastIncompleteOcScannerResults:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetLastIncompleteOcScannerResults",persistent:!1},GetFanSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetFanSettings",persistent:!1},OcScanStatusUpdatesNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"OcScanStatusUpdatesNotifications",persistent:!0},GetOCConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetOCConfig",persistent:!1},GetGpuInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetGpuInfo",persistent:!1},GetOCAdminConsent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetOCAdminConsent",persistent:!1},SetOCAdminConsent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"SetOCAdminConsent",persistent:!1},powerStatusNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"powerStatusNotification",persistent:!0},GetVFPoints:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetVFPoints",persistent:!1},EnableCurrentVFPointNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"EnableCurrentVFPointNotification",persistent:!1},CurrentVFPointNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"CurrentVFPointNotification",persistent:!0},GetPerfProfiles:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvOc",method:"GetPerfProfiles",persistent:!1}},Overclockingnvc:{SetManualOCLimits:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"SetManualOCLimits",persistent:!1},StartOcManualScan:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"StartOcManualScan",persistent:!1},StopOcManualScan:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"StopOcManualScan",persistent:!1},EnableBackgroundOcScan:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"EnableBackgroundOcScan",persistent:!1},EnableAutotuneOc:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"EnableAutotuneOc",persistent:!1},RestoreOcDefault:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"RestoreOcDefault",persistent:!1},SetFanSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"SetFanSettings",persistent:!1},SetPerfProfile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"OverClockingNvc",method:"SetPerfProfile",persistent:!1}},Rise:{RiseSupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"RiseSupported",persistent:!1},RiseRequestCompletion:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"RiseRequestCompletion",persistent:!1},RiseRegister:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"RiseRegister",persistent:!1},RiseGameNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"RiseGameNotification",persistent:!1},RiseUpdatesNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"RiseUpdatesNotifications",persistent:!0},SaveCSV:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"SaveCSV",persistent:!1},VqVoiceQuerySupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqVoiceQuerySupported",persistent:!1},VqResisterVoiceQuery:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqResisterVoiceQuery",persistent:!1},VqVoiceQueryResultNotfication:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqVoiceQueryResultNotfication",persistent:!0},VqMicDeviceChangedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqMicDeviceChangedNotification",persistent:!0},VqSetVoiceQuery:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqSetVoiceQuery",persistent:!1},VqSetVoicePlayback:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqSetVoicePlayback",persistent:!1},VqEnumMicDevices:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqEnumMicDevices",persistent:!1},VqEnumLanguages:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqEnumLanguages",persistent:!1},VqEnumVoiceCharacters:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"VqEnumVoiceCharacters",persistent:!1},GameAssistSupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"GameAssistSupported",persistent:!1},GameAssistCreateSession:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"GameAssistCreateSession",persistent:!1},GameAssistQueryResponseNotfication:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"GameAssistQueryResponseNotfication",persistent:!0},GameAssistSubmitQuery:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Rise",method:"GameAssistSubmitQuery",persistent:!1}}},Qxp:{Driverrollback:{Rollback:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverRollback",method:"Rollback",persistent:!1},RollbackInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"DriverRollback",method:"RollbackInfo",persistent:!1}}},Share:{Forager:{CopyConfigTemplate:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"CopyConfigTemplate",persistent:!1},ExtractFrames:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"ExtractFrames",persistent:!1},GetAppInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"GetAppInfo",persistent:!1},LaunchWithNativeApp:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"LaunchWithNativeApp",persistent:!1},ReadWorkspace:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"ReadWorkspace",persistent:!1},ReadFile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"ReadFile",persistent:!1},SaveWorkspace:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"SaveWorkspace",persistent:!1},TrimVideo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"TrimVideo",persistent:!1},WriteFile:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"Forager",method:"WriteFile",persistent:!1}},Gear:{GetPreviewOutputInformation:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GEAR",method:"GetPreviewOutputInformation",persistent:!1},Start:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GEAR",method:"Start",persistent:!1},StartPreview:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GEAR",method:"StartPreview",persistent:!1},GetStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GEAR",method:"GetStatus",persistent:!1},Stop:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GEAR",method:"Stop",persistent:!1}},Graphicssetting:{GetAIDVCSupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetAIDVCSupport",persistent:!1},GetAIDVCState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetAIDVCState",persistent:!1},SetAIDVCState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"SetAIDVCState",persistent:!1},GetRealtimeAIDVCState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetRealtimeAIDVCState",persistent:!1},ToggleNIS2:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"ToggleNIS2",persistent:!1},GetNIS2State:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetNIS2State",persistent:!1},SetNIS2Sharpen:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"SetNIS2Sharpen",persistent:!1},GetAIHDRSupport_V2:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetAIHDRSupport_V2",persistent:!1},GetAIHDRDisplayInfoForProcess:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetAIHDRDisplayInfoForProcess",persistent:!1},GetAIHDRRealTimeState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetAIHDRRealTimeState",persistent:!1},GetAIHDRState_V2:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetAIHDRState_V2",persistent:!1},SetAIHDRState_V2:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"SetAIHDRState_V2",persistent:!1},GetGPUInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetGPUInfo",persistent:!1},GetGenericInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetGenericInfo",persistent:!1},GetUserPreferredLanguage:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetUserPreferredLanguage",persistent:!1},RegisterUserPreferredLanguageChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"RegisterUserPreferredLanguageChangeNotification",persistent:!1},UserPreferredLanguageChangeNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"UserPreferredLanguageChangeNotification",persistent:!0},DlssOnGameLaunched:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"DlssOnGameLaunched",persistent:!1},GetNGXOverrideSRState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetNGXOverrideSRState",persistent:!1},GetNGXOverrideRRState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetNGXOverrideRRState",persistent:!1},GetNGXOverrideFGState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetNGXOverrideFGState",persistent:!1},SetNGXOverrideFGState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"SetNGXOverrideFGState",persistent:!1},GetFGXState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetFGXState",persistent:!1},GetFGXDynamicState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetFGXDynamicState",persistent:!1},GetProfileSettingsForNvApp:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"GraphicsSetting",method:"GetProfileSettingsForNvApp",persistent:!1}},Nvperfmon:{EnablePerfStatsNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"EnablePerfStatsNotification",persistent:!1},RegisterPerfStatsNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"RegisterPerfStatsNotifications",persistent:!0},SetProcessId:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"SetProcessId",persistent:!1},SetMetricSampleSize:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"SetMetricSampleSize",persistent:!1},ResetAverageMetrics:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"ResetAverageMetrics",persistent:!1},GetDefaultLoggingPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"GetDefaultLoggingPath",persistent:!1},LoggingToggle:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"LoggingToggle",persistent:!1},AlignLatencyMonitoringRectangle:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"AlignLatencyMonitoringRectangle",persistent:!1},GetRLAMonitorSupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"GetRLAMonitorSupport",persistent:!1},ShowFlashIndicator:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"ShowFlashIndicator",persistent:!1},SetFlashIndicatorSize:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"SetFlashIndicatorSize",persistent:!1},GetGpuInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"GetGpuInfo",persistent:!1},powerStatusNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"powerStatusNotification",persistent:!0},CheckRLASupportedDriver:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"CheckRLASupportedDriver",persistent:!1},GetNGXOverrideState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"NvPerfMon",method:"GetNGXOverrideState",persistent:!1}},Osc:{OpenWindow:{legacyCommand:"QUERY_WIN_OPEN_OSC",system:"CrimsonNative",module:"osc",method:"OpenWindow",persistent:!1},CloseWindow:{legacyCommand:"QUERY_WIN_CLOSE_OSC",system:"CrimsonNative",module:"osc",method:"CloseWindow",persistent:!1},IsDisplayInDesktopMode:{legacyCommand:"QUERY_OSC_DISPLAY_IS_DESKTOP_MODE",system:"CrimsonNative",module:"osc",method:"IsDisplayInDesktopMode",persistent:!1},FullscreenState:{legacyCommand:"QUERY_FULLSCREEN_STATE",system:"CrimsonNative",module:"osc",method:"FullscreenState",persistent:!1},SetPainting:{legacyCommand:"QUERY_OSC_SET_PAINTING",system:"CrimsonNative",module:"osc",method:"SetPainting",persistent:!1},SetCursorInfo:{legacyCommand:"QUERY_OSC_SET_CURSOR_INFO",system:"CrimsonNative",module:"osc",method:"SetCursorInfo",persistent:!1},DropUrl:{legacyCommand:"QUERY_OSC_DROP_URL",system:"CrimsonNative",module:"osc",method:"DropUrl",persistent:!1},GenerateKeyboardMessage:{legacyCommand:"QUERY_WIN_KB_MESSAGE",system:"CrimsonNative",module:"osc",method:"GenerateKeyboardMessage",persistent:!1},RegisterCloseCommand:{legacyCommand:"QUERY_OSC_REGISTER_CLOSE_EVENT",system:"CrimsonNative",module:"osc",method:"RegisterCloseCommand",persistent:!0},SetDisplayRects:{legacyCommand:"QUERY_OSC_SET_DISPLAY_RECTS",system:"CrimsonNative",module:"osc",method:"SetDisplayRects",persistent:!1},RegisterResizeEvent:{legacyCommand:"QUERY_OSC_REGISTER_RESIZE_EVENT",system:"CrimsonNative",module:"osc",method:"RegisterResizeEvent",persistent:!0}},Sdk:{},Shareserver:t(23599).T}}},23599:(xe,de,t)=>{"use strict";t.d(de,{T:()=>Ct});const Ct={SetCaptureSupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetCaptureSupported",persistent:!1},RegisterHotkeyNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"RegisterHotkeyNotifications",persistent:!0},RegisterGeneralNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"RegisterGeneralNotifications",persistent:!0},SetTelemtryInfoToShadowPlay:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetTelemtryInfoToShadowPlay",persistent:!1},RegisterCaptureStateChangeNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"RegisterCaptureStateChangeNotifications",persistent:!0},RegisterWindowStateChangeNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"RegisterWindowStateChangeNotifications",persistent:!0},RegisterBroadcastSessionNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"RegisterBroadcastSessionNotifications",persistent:!0},CaptureSavedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"CaptureSavedNotification",persistent:!0},HighlightSavedNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"HighlightSavedNotification",persistent:!0},HighlightCaptureFailureNotification:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"HighlightCaptureFailureNotification",persistent:!0},RegisterSDKNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"RegisterSDKNotifications",persistent:!0},RegisterAppNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"RegisterAppNotifications",persistent:!0},GetInitData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetInitData",persistent:!1},GetMainView:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetMainView",persistent:!1},OpenOsc:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"OpenOsc",persistent:!1},Launch:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"Launch",persistent:!1},SetOverlayReady:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetOverlayReady",persistent:!1},GetShadowPlaySupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetShadowPlaySupported",persistent:!1},GetShadowPlayStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetShadowPlayStatus",persistent:!1},Get4KSupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"Get4KSupport",persistent:!1},GetSupportedBitrates:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetSupportedBitrates",persistent:!1},GetSupportedBitratesFramerates:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetSupportedBitratesFramerates",persistent:!1},GetSupportedResolutions:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetSupportedResolutions",persistent:!1},GetSupportedResolutionsCodecs:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetSupportedResolutionsCodecs",persistent:!1},GetSupportedFramerates:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetSupportedFramerates",persistent:!1},GetQualityDefaultData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetQualityDefaultData",persistent:!1},GetCaptureState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCaptureState",persistent:!1},GetCaptureProcessInfo:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCaptureProcessInfo",persistent:!1},GetCaptureControlPIDMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCaptureControlPIDMode",persistent:!1},GetScreenshotSupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetScreenshotSupport",persistent:!1},CaptureScreenshot:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"CaptureScreenshot",persistent:!1},CaptureCustomScreenshot:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"CaptureCustomScreenshot",persistent:!1},CustomScreenshotNotifications:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"CustomScreenshotNotifications",persistent:!0},GetFreestylePreviewBasePath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetFreestylePreviewBasePath",persistent:!1},StartDiskCapture:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"StartDiskCapture",persistent:!1},StopAndSaveDiskCapture:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"StopAndSaveDiskCapture",persistent:!1},StartBufferedCapture:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"StartBufferedCapture",persistent:!1},StopBufferedCapture:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"StopBufferedCapture",persistent:!1},SaveBufferedCaptureClip:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SaveBufferedCaptureClip",persistent:!1},EDGEEvent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"EDGEEvent",persistent:!1},GetInstantReplayEnableStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetInstantReplayEnableStatus",persistent:!1},GetInstantReplayRunningStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetInstantReplayRunningStatus",persistent:!1},GetInstantReplaySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetInstantReplaySettings",persistent:!1},SetInstantReplaySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetInstantReplaySettings",persistent:!1},EnableInstantReplay:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"EnableInstantReplay",persistent:!1},SaveInstantReplay:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SaveInstantReplay",persistent:!1},GetLastInstantReplayLength:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetLastInstantReplayLength",persistent:!1},GetInstantReplayCustomizeData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetInstantReplayCustomizeData",persistent:!1},GetRecordEnableStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetRecordEnableStatus",persistent:!1},GetRecordRunningStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetRecordRunningStatus",persistent:!1},EnableRecord:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"EnableRecord",persistent:!1},GetRecordSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetRecordSettings",persistent:!1},SetRecordSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetRecordSettings",persistent:!1},GetRecordCustomizeData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetRecordCustomizeData",persistent:!1},EnableBroadcast:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"EnableBroadcast",persistent:!1},PauseBroadcast:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"PauseBroadcast",persistent:!1},GetBroadcastEnableStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastEnableStatus",persistent:!1},GetBroadcastRunningStatus:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastRunningStatus",persistent:!1},GetBroadcastSupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastSupported",persistent:!1},GetBroadcastSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastSettings",persistent:!1},SetBroadcastSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetBroadcastSettings",persistent:!1},SetBroadcastSession:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetBroadcastSession",persistent:!1},GetBroadcastPreferredProviderSetting:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastPreferredProviderSetting",persistent:!1},SetBroadcastPreferredProviderSetting:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetBroadcastPreferredProviderSetting",persistent:!1},GetBroadcastLastProvider:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastLastProvider",persistent:!1},SetBroadcastLastProvider:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetBroadcastLastProvider",persistent:!1},GetBroadcastTitle:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastTitle",persistent:!1},GetBroadcast2K:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcast2K",persistent:!1},GetBroadcastFacebookLiveSupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastFacebookLiveSupport",persistent:!1},GetBroadcastIngestServer:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetBroadcastIngestServer",persistent:!1},SetBroadcastIngestServer:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetBroadcastIngestServer",persistent:!1},SetBroadcastViewerCountImage:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetBroadcastViewerCountImage",persistent:!1},SetBroadcastViewerMax:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetBroadcastViewerMax",persistent:!1},GetRecordBroadcastConcurrencySupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetRecordBroadcastConcurrencySupport",persistent:!1},GetRecordGamestreamConcurrencySupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetRecordGamestreamConcurrencySupport",persistent:!1},GetDesktopCaptureEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetDesktopCaptureEnabled",persistent:!1},SetDesktopCaptureEnabled:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetDesktopCaptureEnabled",persistent:!1},GetDesktopCaptureSupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetDesktopCaptureSupported",persistent:!1},GetDesktopCaptureSupportReason:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetDesktopCaptureSupportReason",persistent:!1},GetAudioMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetAudioMode",persistent:!1},SetAudioMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetAudioMode",persistent:!1},GetAudioSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetAudioSettings",persistent:!1},SetAudioSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetAudioSettings",persistent:!1},GetMicCount:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetMicCount",persistent:!1},GetMicMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetMicMode",persistent:!1},SetMicMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetMicMode",persistent:!1},GetMicSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetMicSettings",persistent:!1},SetMicSettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetMicSettings",persistent:!1},MicPTTMode:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"MicPTTMode",persistent:!1},EnableWebcam:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"EnableWebcam",persistent:!1},ToggleWebcam:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"ToggleWebcam",persistent:!1},GetWebcamEnable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetWebcamEnable",persistent:!1},GetWebcamShown:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetWebcamShown",persistent:!1},GetWebcamPresent:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetWebcamPresent",persistent:!1},GetWebcamPreviewState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetWebcamPreviewState",persistent:!1},EnableWebcamPreview:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"EnableWebcamPreview",persistent:!1},GetHighlightsActive:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetHighlightsActive",persistent:!1},GetHighlightsEnable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetHighlightsEnable",persistent:!1},SetHighlightsEnable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetHighlightsEnable",persistent:!1},GetSDKInstanceActive:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetSDKInstanceActive",persistent:!1},GetSDKPermissions:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetSDKPermissions",persistent:!1},SetSDKPermissions:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetSDKPermissions",persistent:!1},NotifyAppOverlayState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"NotifyAppOverlayState",persistent:!1},GetHighlightsConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetHighlightsConfig",persistent:!1},SetHighlightsConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetHighlightsConfig",persistent:!1},GetApplicationConfigs:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetApplicationConfigs",persistent:!1},GetHotkeyShortcut:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetHotkeyShortcut",persistent:!1},SetHotkeyShortcut:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetHotkeyShortcut",persistent:!1},ResetHotkeysToDefault:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"ResetHotkeysToDefault",persistent:!1},GetHotkeyMonitoring:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetHotkeyMonitoring",persistent:!1},Init:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"Init",persistent:!1},SetHotkeyMonitoring:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetHotkeyMonitoring",persistent:!1},SetHotkeyDynamicEnable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetHotkeyDynamicEnable",persistent:!1},GetIndicatorSupported:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetIndicatorSupported",persistent:!1},GetIndicatorOverlaySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetIndicatorOverlaySettings",persistent:!1},SetIndicatorOverlaySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetIndicatorOverlaySettings",persistent:!1},GetCustomOverlayDefaultPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCustomOverlayDefaultPath",persistent:!1},GetCustomOverlaySupport:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCustomOverlaySupport",persistent:!1},GetCustomOverlayPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCustomOverlayPath",persistent:!1},SetCustomOverlayPath:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetCustomOverlayPath",persistent:!1},GetCustomOverlayEnable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCustomOverlayEnable",persistent:!1},SetCustomOverlayEnable:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetCustomOverlayEnable",persistent:!1},GetCustomOverlayDisplay:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetCustomOverlayDisplay",persistent:!1},SelectCustomOverlay:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SelectCustomOverlay",persistent:!1},EnableCustomOverlay:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"EnableCustomOverlay",persistent:!1},GetNvCameraToggleState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetNvCameraToggleState",persistent:!1},SetNvCameraToggleState:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SetNvCameraToggleState",persistent:!1},ToggleAutoHighlight:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"ToggleAutoHighlight",persistent:!1},DisableRecordSpecialCase:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"DisableRecordSpecialCase",persistent:!1},GetIf4KRecordingFallbackAvailable:{legacyCommand:"QUERY_IS_4K_RECORDING_FALLBACK_AVAILABLE",system:"CrimsonNative",module:"ShareServer",method:"GetIf4KRecordingFallbackAvailable",persistent:!1},GetExportedGFESettingsData:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GetExportedGFESettingsData",persistent:!1},SyncShadowPlaySettings:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"SyncShadowPlaySettings",persistent:!1},HandleHighlightsGfeConfig:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"HandleHighlightsGfeConfig",persistent:!1},GAssistToggle:{legacyCommand:"QUERY_IPC_EXTENSION_MESSAGE",system:"CrimsonNative",module:"ShareServer",method:"GAssistToggle",persistent:!1}}},33367:(xe,de,t)=>{"use strict";var e;t.d(de,{Od:()=>e,Ts:()=>n.T,Or:()=>q}),function(T){function H(X,c,g,d){return{legacyCommand:X,system:void 0,module:c,method:g,persistent:d}}T.BridgeCommand=H,T.GenericCommand=function y(X,c,g,d){return H(X,c,g,d)}}(e||(e={}));var E,O,B,P,k,n=t(11909);!function(T){let H;var y;(y=H=T.Format||(T.Format={})).text="text",y.base64="base64"}(E||(E={})),function(T){let H;var X;let y;(X=H=T.MediaType||(T.MediaType={})).auto_detect="auto_detect",X.nvfbc="nvfbc",X.video="video",X.image="image",X.kpi_test="kpi_test",X.manual="manual",X.filmstrip="filmstrip",function(X){X.readToTarget="readToTarget",X.sleepToTarget="sleepToTarget",X.readOnlyTarget="readOnlyTarget"}(y=T.FrameMode||(T.FrameMode={}))}(O||(O={})),function(T){let H;var le;let y,X,c,g,d,C,Q,j;(le=H=T.DriverTypeEnum||(T.DriverTypeEnum={}))[le.GameReadyDriver=0]="GameReadyDriver",le[le.CreatorReadyDriver=1]="CreatorReadyDriver",function(le){le[le.Unknown=0]="Unknown",le[le.GpuUnsupported=1]="GpuUnsupported",le[le.DriverUnsupported=2]="DriverUnsupported",le[le.HardwareSchedulingUnavailable=3]="HardwareSchedulingUnavailable",le[le.GraphicsApiUnsupported=4]="GraphicsApiUnsupported",le[le.DenyListed=5]="DenyListed",le[le.x86Unsupported=6]="x86Unsupported",le[le.SRModelDenyListed=7]="SRModelDenyListed",le[le.RRModelDenyListed=8]="RRModelDenyListed",le[le.FGMultiFrameCountUnsupported=9]="FGMultiFrameCountUnsupported"}(y=T.ConstraintType||(T.ConstraintType={})),function(le){le[le.MINIMUM_DRIVER_VERSION_NOT_MET=20]="MINIMUM_DRIVER_VERSION_NOT_MET"}(X=T.AidvcUnSupportedErrors||(T.AidvcUnSupportedErrors={})),function(le){le[le.GAME_HDR_ENABLED=0]="GAME_HDR_ENABLED"}(c=T.AidvcRealTimeErrors||(T.AidvcRealTimeErrors={})),function(le){le[le.GPU_INCOMPATIBLE=0]="GPU_INCOMPATIBLE",le[le.CLIENT_VIRTUALIZATION_ENABLED=1]="CLIENT_VIRTUALIZATION_ENABLED",le[le.OS_INCOMPATIBLE=2]="OS_INCOMPATIBLE",le[le.MULTI_MON_DETECTED=3]="MULTI_MON_DETECTED",le[le.HDR_DISABLED=4]="HDR_DISABLED",le[le.SOC_FEATURE_ENABLED=5]="SOC_FEATURE_ENABLED",le[le.SLI_ENABLED=6]="SLI_ENABLED",le[le.SURROUND_ENABLED=7]="SURROUND_ENABLED",le[le.MSHYBRID_ENABLED=8]="MSHYBRID_ENABLED",le[le.MSHYBRID_ENABLED_DDS_IGPU=9]="MSHYBRID_ENABLED_DDS_IGPU",le[le.DISPLAY_INCOMPATIBLE=10]="DISPLAY_INCOMPATIBLE",le[le.NO_DISPLAY_CONNECTED=11]="NO_DISPLAY_CONNECTED",le[le.USE_ALTERNATE_DISPLAY=12]="USE_ALTERNATE_DISPLAY",le[le.MINIMUM_DRIVER_VERSION_NOT_MET=20]="MINIMUM_DRIVER_VERSION_NOT_MET",le[le.GAME_DENYLISTED=21]="GAME_DENYLISTED"}(g=T.AihdrUnSupportedErrors||(T.AihdrUnSupportedErrors={})),function(le){le[le.DRS_REGKEY_NOT_SET=0]="DRS_REGKEY_NOT_SET",le[le.UNSUPPORTED_PRESENTATION_MODE=1]="UNSUPPORTED_PRESENTATION_MODE",le[le.GAME_HDR_ENABLED=2]="GAME_HDR_ENABLED",le[le.OS_HDR_DISABLED=3]="OS_HDR_DISABLED",le[le.SOC_FEATURES_ENABLED=4]="SOC_FEATURES_ENABLED",le[le.MISTMATCHED_DISPLAY=5]="MISTMATCHED_DISPLAY",le[le.API_NOT_SUPPORTED=6]="API_NOT_SUPPORTED"}(d=T.AihdrRealTimeErrors||(T.AihdrRealTimeErrors={})),function(le){le[le.Default=3]="Default",le[le.Performance=0]="Performance",le[le.Balanced=1]="Balanced",le[le.Quality=2]="Quality",le[le.UltraPerformance=5]="UltraPerformance",le[le.Dlaa=4]="Dlaa",le[le.Custom=6]="Custom"}(C=T.DlssPerformanceModeOverrideEnum||(T.DlssPerformanceModeOverrideEnum={})),function(le){le[le.Default=0]="Default",le[le.PresetA=1]="PresetA",le[le.PresetB=2]="PresetB",le[le.PresetC=3]="PresetC",le[le.PresetD=4]="PresetD",le[le.PresetE=5]="PresetE",le[le.PresetF=6]="PresetF",le[le.PresetJ=10]="PresetJ",le[le.Latest=16777215]="Latest"}(Q=T.DlssModelOverrideEnum||(T.DlssModelOverrideEnum={})),function(le){le[le.DLSSSR=65542]="DLSSSR",le[le.DLSSRR=65543]="DLSSRR",le[le.DLSSFG=65544]="DLSSFG",le[le.DLSSSM=65545]="DLSSSM"}(j=T.DlssFeatures||(T.DlssFeatures={}))}(B||(B={})),function(T){let H;var y;(y=H=T.PowerStatus||(T.PowerStatus={}))[y.AC=0]="AC",y[y.DC=1]="DC",y[y.UPS_LIKE=2]="UPS_LIKE",y[y.Unknown=3]="Unknown"}(P||(P={})),function(T){let H;var Ee;let y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt;(Ee=H=T.SdkPermissions||(T.SdkPermissions={})).granted="granted",Ee.mustAsk="mustAsk",Ee.denied="denied",function(Ee){Ee.H264_HEVC="H264/HEVC",Ee.AV1="AV1"}(y=T.Codec||(T.Codec={})),function(Ee){Ee.custom="custom",Ee.customA="customA",Ee.customB="customB",Ee.customC="customC"}(X=T.CustomOverlayTypeEnum||(T.CustomOverlayTypeEnum={})),function(Ee){Ee.small="small",Ee.medium="medium",Ee.large="large"}(c=T.OverlaySizeEnum||(T.OverlaySizeEnum={})),function(Ee){Ee.leftTop="leftTop",Ee.leftCenter="leftCenter",Ee.leftBottom="leftBottom",Ee.rightTop="rightTop",Ee.rightCenter="rightCenter",Ee.rightBottom="rightBottom",Ee.centerTop="centerTop",Ee.centerCenter="centerCenter",Ee.centerBottom="centerBottom",Ee.floatingRandom="floatingRandom",Ee.floatingBorder="floatingBorder",Ee.none="none"}(g=T.OverlayPositionEnum||(T.OverlayPositionEnum={})),function(Ee){Ee.record="record",Ee.gamecast="gamecast",Ee.fps="fps",Ee.viewer="viewer",Ee.rig="rig",Ee.webcam="webcam",Ee.comments="comments"}(d=T.IndicatorEnum||(T.IndicatorEnum={})),function(Ee){Ee.In_game="In-game",Ee.Resolution_4320p_8K="4320p 8K",Ee.Resolution_2160p_4K="2160p 4K",Ee.Resolution_1440p_HD="1440p HD",Ee.Resolution_1080p_HD="1080p HD",Ee.Resolution_720p_HD="720p HD",Ee.Resolution_480p="480p",Ee.Resolution_360p="360p",Ee.Resolution_240p="240p",Ee.Exact="Exact"}(C=T.Resolution||(T.Resolution={})),function(Ee){Ee.on="on",Ee.off="off",Ee.alwayson="alwayson",Ee.ptt="ptt"}(Q=T.MicModeEnum||(T.MicModeEnum={})),function(Ee){Ee.manual="manual",Ee.dvr="dvr",Ee.gameCast="gameCast",Ee.highlight="highlight",Ee.gearRecord="gearRecord",Ee.gearHighlight="gearHighlight",Ee.lastMode="lastMode",Ee.screenshot="screenshot"}(j=T.CaptureModeEnum||(T.CaptureModeEnum={})),function(Ee){Ee.highlights="highlights",Ee.highlightsRecordVideo="highlightsRecordVideo",Ee.highlightsRecordScreenshot="highlightsRecordScreenshot"}(le=T.SdkScopeType||(T.SdkScopeType={})),function(Ee){Ee.plugged_in="plugged_in",Ee.plugged_out="plugged_out",Ee.enabled="enabled",Ee.disabled="disabled"}(ge=T.DeviceStateTypeEnum||(T.DeviceStateTypeEnum={})),function(Ee){Ee.mic="mic",Ee.webcam="webcam"}(ie=T.DeviceTypeEnum||(T.DeviceTypeEnum={})),function(Ee){Ee.unknown="unknown",Ee.started="started",Ee.stopped="stopped",Ee.paused="paused",Ee.resumed="resumed"}(ce=T.CloudSessionStateType||(T.CloudSessionStateType={})),function(Ee){Ee.OpenIGO="OpenIGO",Ee.OpenFreestyle="OpenFreestyle",Ee.OpenAnsel="OpenAnsel",Ee.PTT="PTT",Ee.FPS="FPS",Ee.Screenshot="Screenshot",Ee.DVRSave="DVRSave",Ee.RecordToggle="RecordToggle",Ee.BroadcastToggle="BroadcastToggle",Ee.BroadcastPauseToggle="BroadcastPauseToggle",Ee.CameraToggle="CameraToggle",Ee.OverlayToggle="OverlayToggle",Ee.CustomOverlayA="CustomOverlayA",Ee.CustomOverlayB="CustomOverlayB",Ee.CustomOverlayC="CustomOverlayC",Ee.CommentsToggle="CommentsToggle",Ee.MicToggle="MicToggle",Ee.DVRToggle="DVRToggle",Ee.FreestyleToggle="FreestyleToggle",Ee.FreestylePresentCycle="FreestylePresentCycle",Ee.FreeStyleToggleStyle1="FreeStyleToggleStyle1",Ee.FreeStyleToggleStyle2="FreeStyleToggleStyle2",Ee.FreeStyleToggleStyle3="FreeStyleToggleStyle3",Ee.NativeKeyboardInputDialog="NativeKeyboardInputDialog",Ee.ConnectGfnBroadcastToggle="ConnectGfnBroadcastToggle",Ee.StatisticsToggle="StatisticsToggle",Ee.QuitGame="QuitGame",Ee.PMOCOverlay="PMOCOverlay",Ee.PMOCOverlayVisibility="PMOCOverlayVisibility",Ee.PMOCOverlayCycle="PMOCOverlayCycle",Ee.PMOCResetAverageMetrics="PMOCResetAverageMetrics",Ee.PMOCLoggingToggle="PMOCLoggingToggle",Ee.InStreamPaste="InStreamPaste",Ee.ChatUIToggle="ChatUIToggle",Ee.ChatPTT="ChatPTT"}(G=T.HotkeyEnum||(T.HotkeyEnum={})),function(Ee){Ee[Ee.SPFeatureState_Unknown=0]="SPFeatureState_Unknown",Ee[Ee.SPFeatureState_Start=1]="SPFeatureState_Start",Ee[Ee.SPFeatureState_Stop=2]="SPFeatureState_Stop"}(ue=T.GAssistFeatureState||(T.GAssistFeatureState={})),function(Ee){Ee.screenshot="screenshot",Ee.video="video"}(ae=T.Type||(T.Type={})),function(Ee){Ee.UltraGood="UltraGood",Ee.VeryGood="VeryGood",Ee.Good="Good",Ee.Average="Average",Ee.Custom="Custom",Ee.GamecastYTLUltraGood="GamecastYTLUltraGood",Ee.GamecastYTLVeryGood="GamecastYTLVeryGood",Ee.GamecastYTLGood="GamecastYTLGood",Ee.GamecastYTLAverage="GamecastYTLAverage",Ee.GamecastUltraGood="GamecastUltraGood",Ee.GamecastVeryGood="GamecastVeryGood",Ee.GamecastGood="GamecastGood",Ee.GamecastAverage="GamecastAverage",Ee.GamecastFBLVeryGood="GamecastFBLVeryGood",Ee.GamecastFBLGood="GamecastFBLGood",Ee.GamecastFBLAverage="GamecastFBLAverage"}(Ce=T.Quality||(T.Quality={})),function(Ee){Ee.instantReplay="instantReplay",Ee.manualRecord="manualRecord",Ee.highlights="highlights",Ee.gear="gear"}(Se=T.SessionIds||(T.SessionIds={})),function(Ee){Ee.Always_Ask="Always Ask",Ee.Twitch="Twitch",Ee.YouTube_Live="YouTube Live",Ee.Facebook_Live="Facebook Live",Ee.Do_Not_Broadcast="Do Not Broadcast"}(Ne=T.Provider||(T.Provider={})),function(Ee){Ee[Ee.GXP_Success_Ok=0]="GXP_Success_Ok",Ee[Ee.GXP_Success_NoError=1]="GXP_Success_NoError",Ee[Ee.GXP_Error_NotImplemented=-2147467263]="GXP_Error_NotImplemented",Ee[Ee.GXP_Error_NoInterface=-2147467262]="GXP_Error_NoInterface",Ee[Ee.GXP_Error_InvalidPointer=-2147467261]="GXP_Error_InvalidPointer",Ee[Ee.GXP_Error_Abort=-2147467260]="GXP_Error_Abort",Ee[Ee.GXP_Error_Fail=-2147467259]="GXP_Error_Fail",Ee[Ee.GXP_Error_Unexpected=-2147468113]="GXP_Error_Unexpected",Ee[Ee.GXP_Error_FileNotFound=-2147024894]="GXP_Error_FileNotFound",Ee[Ee.GXP_Error_PathNotFound=-2147024893]="GXP_Error_PathNotFound",Ee[Ee.GXP_Error_InvalidHandle=-2147024890]="GXP_Error_InvalidHandle",Ee[Ee.GXP_Error_InvalidData=-2147024883]="GXP_Error_InvalidData",Ee[Ee.GXP_Error_OutOfMemory=-2147024882]="GXP_Error_OutOfMemory",Ee[Ee.GXP_Error_InvalidArg=-2147024809]="GXP_Error_InvalidArg",Ee[Ee.GXP_Error_TimeOut=-2147023436]="GXP_Error_TimeOut",Ee[Ee.GXP_Error_FileTooLarge=-2147024673]="GXP_Error_FileTooLarge",Ee[Ee.GXP_Error_MaxStartAttempts=-2146959359]="GXP_Error_MaxStartAttempts",Ee[Ee.ShadowPlay_OSC_ERR_GENERIC=-1]="ShadowPlay_OSC_ERR_GENERIC",Ee[Ee.ShadowPlay_OSC_ERR_INVALID_VER=-2]="ShadowPlay_OSC_ERR_INVALID_VER",Ee[Ee.ShadowPlay_OSC_ERR_CLIENT_UNINITIALIZED=-3]="ShadowPlay_OSC_ERR_CLIENT_UNINITIALIZED",Ee[Ee.ShadowPlay_OSC_ERR_SERVER_NOT_CONNECTED=-4]="ShadowPlay_OSC_ERR_SERVER_NOT_CONNECTED",Ee[Ee.ShadowPlay_OSC_ERR_SERVER_TIME_OUT=-5]="ShadowPlay_OSC_ERR_SERVER_TIME_OUT",Ee[Ee.ShadowPlay_OSC_ERR_SERVER_CANNOT_CONNECT=-6]="ShadowPlay_OSC_ERR_SERVER_CANNOT_CONNECT",Ee[Ee.ShadowPlay_OSC_ERR_STREAM_NOT_FOUND=-7]="ShadowPlay_OSC_ERR_STREAM_NOT_FOUND",Ee[Ee.ShadowPlay_OSC_ERR_INVALID_FORMAT=-8]="ShadowPlay_OSC_ERR_INVALID_FORMAT",Ee[Ee.ShadowPlay_OSC_ERR_INVALID_PARAMETERS=-9]="ShadowPlay_OSC_ERR_INVALID_PARAMETERS",Ee[Ee.ShadowPlay_OSC_ERR_DX=-10]="ShadowPlay_OSC_ERR_DX",Ee[Ee.ShadowPlay_OSC_ERR_MMF=-11]="ShadowPlay_OSC_ERR_MMF",Ee[Ee.ShadowPlay_OSC_ERR_INSUFFICIENT_BUFFER=-12]="ShadowPlay_OSC_ERR_INSUFFICIENT_BUFFER",Ee[Ee.ShadowPlay_OSC_ERR_NO_IMPLEMENTATION=-13]="ShadowPlay_OSC_ERR_NO_IMPLEMENTATION",Ee[Ee.ShadowPlay_OSC_ERR_STREAM_LOCKED=-14]="ShadowPlay_OSC_ERR_STREAM_LOCKED",Ee[Ee.ShadowPlay_OSC_ERR_ALREADY_REGISTERED=-15]="ShadowPlay_OSC_ERR_ALREADY_REGISTERED",Ee[Ee.ShadowPlay_OSC_ERR_ALREADY_CREATED=-16]="ShadowPlay_OSC_ERR_ALREADY_CREATED",Ee[Ee.ShadowPlay_OSC_ERR_PROTOBUF=-17]="ShadowPlay_OSC_ERR_PROTOBUF",Ee[Ee.ShadowPlay_OSC_ERR_NOTAVAILABLE=-18]="ShadowPlay_OSC_ERR_NOTAVAILABLE",Ee[Ee.ShadowPlay_OSC_ERR_OUT_OF_MEMORY=-19]="ShadowPlay_OSC_ERR_OUT_OF_MEMORY",Ee[Ee.ShadowPlay_OSC_ERR_ABANDONED=-20]="ShadowPlay_OSC_ERR_ABANDONED",Ee[Ee.ShadowPlay_OSC_ERR_INVALID_CALL=-21]="ShadowPlay_OSC_ERR_INVALID_CALL",Ee[Ee.ShadowPlay_OSC_ERR_NO_VALID_GAME_RUNNING=-22]="ShadowPlay_OSC_ERR_NO_VALID_GAME_RUNNING",Ee[Ee.ShadowPlay_E_SERVER_NOT_RUNNING=-2147220959]="ShadowPlay_E_SERVER_NOT_RUNNING",Ee[Ee.ShadowPlay_E_UNKNOWN_PROP_NAME=-2147220958]="ShadowPlay_E_UNKNOWN_PROP_NAME",Ee[Ee.ShadowPlay_E_INVALID_PROP_FORMAT=-2147220957]="ShadowPlay_E_INVALID_PROP_FORMAT",Ee[Ee.ShadowPlay_E_INVALID_PROP_VALUE=-2147220956]="ShadowPlay_E_INVALID_PROP_VALUE",Ee[Ee.ShadowPlay_E_UNKNOWN_CMD_NAME=-2147220955]="ShadowPlay_E_UNKNOWN_CMD_NAME",Ee[Ee.ShadowPlay_E_INVALID_CMD_FORMAT=-2147220954]="ShadowPlay_E_INVALID_CMD_FORMAT",Ee[Ee.ShadowPlay_E_INVALID_CMD_VERSION=-2147220953]="ShadowPlay_E_INVALID_CMD_VERSION",Ee[Ee.ShadowPlay_E_NOT_READY=-2147220952]="ShadowPlay_E_NOT_READY",Ee[Ee.ShadowPlay_E_SERVER_IN_EXCLUSIVE_MODE=-2147220951]="ShadowPlay_E_SERVER_IN_EXCLUSIVE_MODE",Ee[Ee.ShadowPlay_E_SERVER_IN_GAMECAST_MODE=-2147220950]="ShadowPlay_E_SERVER_IN_GAMECAST_MODE",Ee[Ee.ShadowPlay_E_CANNOT_CLAIM_H264_LICENSE=-2147220949]="ShadowPlay_E_CANNOT_CLAIM_H264_LICENSE",Ee[Ee.ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_OS=-2147220948]="ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_OS",Ee[Ee.ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_RAM=-2147220947]="ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_RAM",Ee[Ee.ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_GPU=-2147220946]="ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_GPU",Ee[Ee.ShadowPlay_E_FAIL_ENABLE_SHADOWPLAY=-2147220945]="ShadowPlay_E_FAIL_ENABLE_SHADOWPLAY",Ee[Ee.ShadowPlayE_FAIL_ENABLE_NVFBC=-2147220944]="ShadowPlayE_FAIL_ENABLE_NVFBC",Ee[Ee.ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_DRIVER=-2147220943]="ShadowPlay_E_FAIL_SYSTEM_REQUIREMENTS_DRIVER",Ee[Ee.ShadowPlay_E_FAIL_ENABLE_NVFBC_TIMEOUT=-2147220942]="ShadowPlay_E_FAIL_ENABLE_NVFBC_TIMEOUT",Ee[Ee.ShadowPlay_E_FAIL_ENABLE_OSC=-2147220941]="ShadowPlay_E_FAIL_ENABLE_OSC",Ee[Ee.ShadowPlay_E_FAIL_ENABLE_HELPER=-2147220940]="ShadowPlay_E_FAIL_ENABLE_HELPER",Ee[Ee.ShadowPlay_E_FAIL_NO_GALLERY_SPACE=-2147220926]="ShadowPlay_E_FAIL_NO_GALLERY_SPACE",Ee[Ee.ShadowPlay_E_FAIL_NO_DISC_SPACE=-2147220938]="ShadowPlay_E_FAIL_NO_DISC_SPACE",Ee[Ee.ShadowPlay_E_FAIL_CAPTURE_DISABLED=-2147220937]="ShadowPlay_E_FAIL_CAPTURE_DISABLED",Ee[Ee.ShadowPlay_E_BOUNDS=-2147483637]="ShadowPlay_E_BOUNDS",Ee[Ee.ShadowPlay_E_NOT_VALID_STATE=-2147019873]="ShadowPlay_E_NOT_VALID_STATE",Ee[Ee.ShadowPlay_E_UNEXPECTED=-2147418113]="ShadowPlay_E_UNEXPECTED",Ee[Ee.GXP_Error_HotkeyInUse=-2146897916]="GXP_Error_HotkeyInUse"}(we=T.InternalErrorCodeEnum||(T.InternalErrorCodeEnum={})),function(Ee){Ee.available="available",Ee.started="started",Ee.auto_pause="auto_pause",Ee.user_pause="user_pause",Ee.user_pause_auto_pause="user_pause_auto_pause",Ee.last="last",Ee.error="error",Ee.saved="saved",Ee.restarted_notifier="restarted_notifier",Ee.resumed_notifier="resumed_notifier",Ee.notifier_none="notifier_none",Ee.invalid="invalid",Ee.enabled="enabled",Ee.disabled="disabled"}(ve=T.RecordingState||(T.RecordingState={})),function(Ee){Ee.capture="capture",Ee.in_focus="in-focus",Ee.last_proc="last-proc"}(Pe=T.AppType||(T.AppType={})),function(Ee){Ee.off="off",Ee.game="game",Ee.mic="mic",Ee.both="both"}(Oe=T.Mode||(T.Mode={})),function(Ee){Ee.main="main",Ee.permission="permission",Ee.highlightsSummary="highlightsSummary"}(Be=T.State||(T.State={})),function(Ee){Ee.none="none",Ee.single="single",Ee.multiple="multiple"}(tt=T.SupportType||(T.SupportType={}))}(k||(k={}));var r,U=function(T){return T.Forager=E,T.Gear=O,T.Graphicssetting=B,T.Nvperfmon=P,T.Shareserver=k,T}(U||{});!function(T){let H;var y;(y=H=T.RollbackOptionsEnum||(T.RollbackOptionsEnum={}))[y.Unknown=0]="Unknown",y[y.NoUI=1]="NoUI",y[y.RollbackUI=2]="RollbackUI"}(r||(r={}));var l,I,S,L,s,M,u,x,p,i,A=function(T){return T.Driverrollback=r,T}(A||{});!function(T){let H;var g;let y,X,c;(g=H=T.ActionStatusEnum||(T.ActionStatusEnum={}))[g.ActionStarted=0]="ActionStarted",g[g.ActionRunning=1]="ActionRunning",g[g.ActionSuccess=2]="ActionSuccess",g[g.ActionFailure=3]="ActionFailure",g[g.ActionUnknown=4]="ActionUnknown",function(g){g[g.Success=0]="Success",g[g.Failure=1]="Failure",g[g.Unknown=2]="Unknown"}(y=T.ExeLaunchStatusEnum||(T.ExeLaunchStatusEnum={})),function(g){g[g.NotInstalled=0]="NotInstalled",g[g.Installed=1]="Installed",g[g.Installing=2]="Installing",g[g.Uninstalling=3]="Uninstalling",g[g.PartiallyInstalled=4]="PartiallyInstalled"}(X=T.Status||(T.Status={})),function(g){g[g.Install=0]="Install",g[g.Uninstall=1]="Uninstall"}(c=T.Action||(T.Action={}))}(l||(l={})),function(T){let H;var g;let y,X,c;(g=H=T.ErrorCodeEnum||(T.ErrorCodeEnum={}))[g.NoError=0]="NoError",g[g.UserCancelled=-522190847]="UserCancelled",g[g.GeneralError=-505409537]="GeneralError",g[g.InvalidObject=-505413631]="InvalidObject",g[g.InsufficientArguments=-505413630]="InsufficientArguments",g[g.InvalidParameters=-505413629]="InvalidParameters",g[g.PropertyMissing=-505413628]="PropertyMissing",g[g.InvalidFormat=-505413627]="InvalidFormat",g[g.EmptyValue=-505413626]="EmptyValue",g[g.FileNotFound=-505413622]="FileNotFound",g[g.PathNotFound=-505413621]="PathNotFound",g[g.ProcessingPreviousCall=505413620]="ProcessingPreviousCall",g[g.InstallerAlreadyRunning=-505413619]="InstallerAlreadyRunning",g[g.MessagingChannel=-505413618]="MessagingChannel",g[g.ExtractedNotFound=-505413610]="ExtractedNotFound",g[g.InstallerExeNotFound=-505413608]="InstallerExeNotFound",g[g.GfeExperienceKeyNotFound=-505413607]="GfeExperienceKeyNotFound",g[g.GfeExperiencePathEmpty=-505413606]="GfeExperiencePathEmpty",g[g.SignatureInvalid=-505413605]="SignatureInvalid",g[g.UacCancelled=-505413600]="UacCancelled",g[g.MsgArrivedEventCreate=-505413599]="MsgArrivedEventCreate",g[g.MsgArrivedEventSignal=-505413598]="MsgArrivedEventSignal",g[g.ResumePathNotFound=-505413597]="ResumePathNotFound",g[g.ResumePathEmpty=-505413596]="ResumePathEmpty",g[g.ResumePathInvalid=-505413595]="ResumePathInvalid",g[g.MsgChannelInit=-505413584]="MsgChannelInit",g[g.MsgShowFormSet=-505413583]="MsgShowFormSet",g[g.MsgProgressUpdateSet=-505413582]="MsgProgressUpdateSet",g[g.MsgListen=-505413581]="MsgListen",function(g){g[g.NotSet=0]="NotSet",g[g.ShowForm=1]="ShowForm",g[g.ProgressUpdate=2]="ProgressUpdate"}(y=T.MethodEnum||(T.MethodEnum={})),function(g){g[g.NotSet=0]="NotSet",g[g.InstallInitial=1]="InstallInitial",g[g.InstallChecking=2]="InstallChecking",g[g.InstallCheckWarnings=3]="InstallCheckWarnings",g[g.InstallCheckFailed=4]="InstallCheckFailed",g[g.InstallCheckWait=5]="InstallCheckWait",g[g.Eula=6]="Eula",g[g.InstallSelect=7]="InstallSelect",g[g.InstallSelectCustom=8]="InstallSelectCustom",g[g.InstallSelectInstallPath=9]="InstallSelectInstallPath",g[g.PreInstallCheck=10]="PreInstallCheck",g[g.PreInstallCheckRetry=11]="PreInstallCheckRetry",g[g.PreInstallCheckWait=12]="PreInstallCheckWait",g[g.PreRebootInstall=13]="PreRebootInstall",g[g.PackageDownloadProgress=14]="PackageDownloadProgress",g[g.ProcessDownloadedPackage=15]="ProcessDownloadedPackage",g[g.PackageDownloadFailed=16]="PackageDownloadFailed",g[g.InstallProgress=17]="InstallProgress",g[g.InstallRemoveProgress=18]="InstallRemoveProgress",g[g.InstallFinished=19]="InstallFinished",g[g.InstallFinishedNoSummary=20]="InstallFinishedNoSummary",g[g.InstallFinishedLaunch=21]="InstallFinishedLaunch",g[g.InstallFinishedNoSummaryLaunch=22]="InstallFinishedNoSummaryLaunch",g[g.InstallFinishedOptions=23]="InstallFinishedOptions",g[g.InstallFinishedNoSummaryOptions=24]="InstallFinishedNoSummaryOptions",g[g.InstallReboot=25]="InstallReboot",g[g.InstallRebootOptions=26]="InstallRebootOptions",g[g.InstallRebootNoSummary=27]="InstallRebootNoSummary",g[g.InstallRebootNoSummaryOptions=28]="InstallRebootNoSummaryOptions",g[g.InstallRemoveReboot=29]="InstallRemoveReboot",g[g.InstallFailed=30]="InstallFailed",g[g.WaitingOnUac=31]="WaitingOnUac"}(X=T.FormEnum||(T.FormEnum={})),function(g){g[g.Next=0]="Next",g[g.Close=1]="Close"}(c=T.NextActionEnum||(T.NextActionEnum={}))}(I||(I={})),function(T){let H;var c;let y,X;(c=H=T.DriverTypeEnum||(T.DriverTypeEnum={}))[c.GameReadyDriver=0]="GameReadyDriver",c[c.CreatorReadyDriver=1]="CreatorReadyDriver",function(c){c[c.WsRecommendedDriver=2]="WsRecommendedDriver",c[c.WsLeadingEdgeDriver=3]="WsLeadingEdgeDriver",c[c.WsConservativeDriver=4]="WsConservativeDriver"}(y=T.UpdateStrategyEnum||(T.UpdateStrategyEnum={})),function(c){c.started="started",c.finished="finished",c.failed="failed",c.cancelled="cancelled"}(X=T.DriverUpdateCheckProgress||(T.DriverUpdateCheckProgress={}))}(S||(S={})),function(T){let H;var Q;let y,X,c,g,d,C;(Q=H=T.ApplicationScanType||(T.ApplicationScanType={})).fast="fast",Q.traditional="traditional",function(Q){Q.STRING="STRING",Q.INT="INT",Q.FLOAT="FLOAT",Q.ENUM="ENUM",Q.BOOL="BOOL",Q.DRIVER_ENUM="DRIVER_ENUM"}(y=T.Type||(T.Type={})),function(Q){Q.AC="AC",Q.DC="DC"}(X=T.ApplicationPowerMode||(T.ApplicationPowerMode={})),function(Q){Q.DISABLED="DISABLED",Q.UNOPTIMIZED="UNOPTIMIZED",Q.CUSTOMIZED="CUSTOMIZED",Q.OPTIMIZED="OPTIMIZED"}(c=T.OptimizationState||(T.OptimizationState={})),function(Q){Q.started="started",Q.finished="finished",Q.failed="failed",Q.progress="progress"}(g=T.Status||(T.Status={})),function(Q){Q[Q.Invalid=-1]="Invalid",Q[Q.Notifications=0]="Notifications",Q[Q.Display=1]="Display"}(d=T.PageId||(T.PageId={})),function(Q){Q[Q.STARTED=1]="STARTED",Q[Q.FINISHED=2]="FINISHED"}(C=T.OotbStatus||(T.OotbStatus={}))}(L||(L={})),function(T){let H;var K;let y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e,He,De,Re;(K=H=T.RamType||(T.RamType={}))[K.UNKNOWN=0]="UNKNOWN",K[K.SDRAM=1]="SDRAM",K[K.DDR1=2]="DDR1",K[K.DDR2=3]="DDR2",K[K.GDDR2=4]="GDDR2",K[K.GDDR3=5]="GDDR3",K[K.GDDR4=6]="GDDR4",K[K.DDR3=7]="DDR3",K[K.GDDR5=8]="GDDR5",K[K.GDDR5X=9]="GDDR5X",K[K.HBM1=10]="HBM1",K[K.HBM2=11]="HBM2",K[K.SDDR4=12]="SDDR4",K[K.GDDR6=14]="GDDR6",K[K.GDDR6X=15]="GDDR6X",K[K.GDDR7=16]="GDDR7",function(K){K[K.UNKNOWN=0]="UNKNOWN",K[K.AGP=1]="AGP",K[K.PCI=2]="PCI",K[K.FPCI=3]="FPCI",K[K.PCI_EXPRESS=4]="PCI_EXPRESS",K[K.PCI_EXPRESS_GEN2=5]="PCI_EXPRESS_GEN2",K[K.PCI_EXPRESS_GEN3=6]="PCI_EXPRESS_GEN3",K[K.PCI_EXPRESS_GEN4=7]="PCI_EXPRESS_GEN4",K[K.PCI_EXPRESS_GEN5=8]="PCI_EXPRESS_GEN5",K[K.PCI_EXPRESS_GEN6=9]="PCI_EXPRESS_GEN6",K[K.AXI=10]="AXI"}(y=T.BusType||(T.BusType={})),function(K){K[K.No=0]="No",K[K.On=1]="On",K[K.Yes=2]="Yes"}(X=T.MaxQType||(T.MaxQType={})),function(K){K[K.Response_Ok=0]="Response_Ok",K[K.Response_MultiHead=1]="Response_MultiHead",K[K.Response_MultiHeadInactive=2]="Response_MultiHeadInactive",K[K.Response_IGpuUnavailable=3]="Response_IGpuUnavailable",K[K.Response_IGpuInternalHeadUnavailable=4]="Response_IGpuInternalHeadUnavailable",K[K.Response_IGpuInternalHeadRecovered=5]="Response_IGpuInternalHeadRecovered",K[K.Response_ConnectedDisplay=6]="Response_ConnectedDisplay"}(c=T.KmdResponse||(T.KmdResponse={})),function(K){K[K.PSR_Unknown=0]="PSR_Unknown",K[K.Sideband=1]="Sideband",K[K.PSR_Supported=2]="PSR_Supported",K[K.PSR_Failed=3]="PSR_Failed"}(g=T.SrType||(T.SrType={})),function(K){K[K.State_Invalid=0]="State_Invalid",K[K.State_IGPU=1]="State_IGPU",K[K.State_DGPU=2]="State_DGPU"}(d=T.MuxState||(T.MuxState={})),function(K){K[K.MOSAIC_NONE=0]="MOSAIC_NONE",K[K.SLIMOSAIC=1]="SLIMOSAIC",K[K.SURROUND=2]="SURROUND",K[K.BASE_MOSAIC=3]="BASE_MOSAIC",K[K.NEXTGENSURROUND=4]="NEXTGENSURROUND"}(C=T.MosaicType||(T.MosaicType={})),function(K){K[K.Rotation0=0]="Rotation0",K[K.Rotation90=1]="Rotation90",K[K.Rotation180=2]="Rotation180",K[K.Rotation270=3]="Rotation270"}(Q=T.RotationType||(T.RotationType={})),function(K){K[K.SuperResValue_Off=0]="SuperResValue_Off",K[K.SuperResValue_1=1]="SuperResValue_1",K[K.SuperResValue_2=2]="SuperResValue_2",K[K.SuperResValue_3=3]="SuperResValue_3",K[K.SuperResValue_4=4]="SuperResValue_4",K[K.SuperResValue_Auto=5]="SuperResValue_Auto"}(j=T.SuperResolutionValue||(T.SuperResolutionValue={})),function(K){K[K.SuperResStatus_Off=0]="SuperResStatus_Off",K[K.SuperResStatus_1=1]="SuperResStatus_1",K[K.SuperResStatus_2=2]="SuperResStatus_2",K[K.SuperResStatus_3=3]="SuperResStatus_3",K[K.SuperResStatus_4=4]="SuperResStatus_4"}(le=T.SuperResolutionStatus||(T.SuperResolutionStatus={})),function(K){K[K.SuperResGpuUtil_Low=0]="SuperResGpuUtil_Low",K[K.SuperResGpuUtil_Medium=1]="SuperResGpuUtil_Medium",K[K.SuperResGpuUtil_High=2]="SuperResGpuUtil_High"}(ge=T.SuperResolutionGpuUtilization||(T.SuperResolutionGpuUtilization={})),function(K){K[K.SuperResIndicator_Off=0]="SuperResIndicator_Off",K[K.SuperResIndicator_On=1]="SuperResIndicator_On"}(ie=T.SuperResolutionIndicator||(T.SuperResolutionIndicator={})),function(K){K[K.DisableVSROnGameLaunch_Off=0]="DisableVSROnGameLaunch_Off",K[K.DisableVSROnGameLaunch_On=1]="DisableVSROnGameLaunch_On"}(ce=T.DisableVsrOnGameLaunch||(T.DisableVsrOnGameLaunch={})),function(K){K[K.HDRIndicator_Off=0]="HDRIndicator_Off",K[K.HDRIndicator_On=1]="HDRIndicator_On"}(G=T.HdrIndicator||(T.HdrIndicator={})),function(K){K[K.DisableHDROnGameLaunch_Off=0]="DisableHDROnGameLaunch_Off",K[K.DisableHDROnGameLaunch_On=1]="DisableHDROnGameLaunch_On"}(ue=T.DisableHdrOnGameLaunch||(T.DisableHdrOnGameLaunch={})),function(K){K[K.SUCCESS=0]="SUCCESS",K[K.NO_HDR_DISPLAY_CONNECTED=1]="NO_HDR_DISPLAY_CONNECTED",K[K.ENABLE_HDR_FROM_WINDOWS=2]="ENABLE_HDR_FROM_WINDOWS",K[K.SURROUND_ENABLED=3]="SURROUND_ENABLED"}(ae=T.HdrErrorCodeInfo||(T.HdrErrorCodeInfo={})),function(K){K[K.RGB=0]="RGB",K[K.YCBCR422=1]="YCBCR422",K[K.YCBCR444=2]="YCBCR444",K[K.YCBCR420=3]="YCBCR420",K[K.UNKNOWN=4]="UNKNOWN"}(Ce=T.OutPutColorFormat||(T.OutPutColorFormat={})),function(K){K[K.GsyncUltimate=0]="GsyncUltimate",K[K.GSyncCapable=1]="GSyncCapable",K[K.GSyncCompatible=2]="GSyncCompatible",K[K.VRR=3]="VRR",K[K.NotSupported=4]="NotSupported"}(Se=T.GSyncCapabilities||(T.GSyncCapabilities={})),function(K){K[K.Off=0]="Off",K[K.FullscreenOnly=1]="FullscreenOnly",K[K.FullscreenAndWindowed=2]="FullscreenAndWindowed",K[K.NotAvailable=3]="NotAvailable"}(Ne=T.GlobalGsyncState||(T.GlobalGsyncState={})),function(K){K[K.None=0]="None",K[K.NonHD=1]="NonHD",K[K.SD576i=2]="SD576i",K[K.SD480i=3]="SD480i",K[K.ED480p=4]="ED480p",K[K.ED576p=5]="ED576p",K[K.HD720p=6]="HD720p",K[K.HD1080i=7]="HD1080i",K[K.HD1080p=8]="HD1080p",K[K.HD720p50=9]="HD720p50",K[K.HD1080p24=10]="HD1080p24",K[K.HD1080i50=11]="HD1080i50",K[K.HD1080p50=12]="HD1080p50",K[K.UHD4Kp30=13]="UHD4Kp30",K[K.UHD4Kp25=14]="UHD4Kp25",K[K.UHD4Kp24=15]="UHD4Kp24",K[K.UHD4Kp24Smpte=16]="UHD4Kp24Smpte",K[K.UHD4Kp303840=17]="UHD4Kp303840",K[K.UHD4Kp253840=18]="UHD4Kp253840",K[K.UHD4Kp243840=19]="UHD4Kp243840",K[K.UHD4Kp503840=20]="UHD4Kp503840",K[K.UHD4Kp603840=21]="UHD4Kp603840",K[K.UHD4Kp304096=22]="UHD4Kp304096",K[K.UHD4Kp254096=23]="UHD4Kp254096",K[K.UHD4Kp244096=24]="UHD4Kp244096",K[K.UHD4Kp504096=25]="UHD4Kp504096",K[K.UHD4Kp604096=26]="UHD4Kp604096",K[K.UHD8Kp247680=27]="UHD8Kp247680",K[K.UHD8Kp257680=28]="UHD8Kp257680",K[K.UHD8Kp307680=29]="UHD8Kp307680",K[K.UHD8Kp487680=30]="UHD8Kp487680",K[K.UHD8Kp507680=31]="UHD8Kp507680",K[K.UHD8Kp607680=32]="UHD8Kp607680",K[K.UHD8Kp1007680=33]="UHD8Kp1007680",K[K.UHD8Kp1207680=34]="UHD8Kp1207680",K[K.Invalid=35]="Invalid"}(we=T.TvFormat||(T.TvFormat={})),function(K){K[K.CT_VGA=0]="CT_VGA",K[K.CT_DVI=1]="CT_DVI",K[K.CT_COMPOSITE=2]="CT_COMPOSITE",K[K.CT_SVIDEO=3]="CT_SVIDEO",K[K.CT_COMPONENT=4]="CT_COMPONENT",K[K.CT_HDMI=5]="CT_HDMI",K[K.CT_DISPLAYPORT=6]="CT_DISPLAYPORT",K[K.CT_USBC=7]="CT_USBC",K[K.CT_LVDS=8]="CT_LVDS",K[K.CT_AUTO=9]="CT_AUTO",K[K.CT_UNKNOWN=10]="CT_UNKNOWN"}(ve=T.ConnectorType||(T.ConnectorType={})),function(K){K[K.bit_8=0]="bit_8",K[K.bit_10=1]="bit_10",K[K.bit_16=2]="bit_16",K[K.bit_16_HDR=3]="bit_16_HDR",K[K.bit_16_WCG=4]="bit_16_WCG",K[K.bit_Default=-1]="bit_Default"}(Pe=T.DesktopColorDepth||(T.DesktopColorDepth={})),function(K){K[K.None=0]="None",K[K.Crt=1]="Crt",K[K.Internal=2]="Internal",K[K.Tv=3]="Tv",K[K.Dvi=4]="Dvi"}(Oe=T.DeviceType||(T.DeviceType={})),function(K){K[K.None=0]="None",K[K.CloneDisplay=1]="CloneDisplay",K[K.SurroundDisplay=2]="SurroundDisplay",K[K.MosaicDisplay=3]="MosaicDisplay"}(Be=T.LogicalDisplayType||(T.LogicalDisplayType={})),function(K){K[K.Invalid=-1]="Invalid",K[K.VESA=0]="VESA",K[K.CEA=1]="CEA",K[K.AUTO=2]="AUTO"}(tt=T.DynamicRange||(T.DynamicRange={})),function(K){K[K.Invalid=-1]="Invalid",K[K.BPC_6=0]="BPC_6",K[K.BPC_8=1]="BPC_8",K[K.BPC_10=2]="BPC_10",K[K.BPC_12=3]="BPC_12",K[K.BPC_16=4]="BPC_16"}(Ee=T.OutputColorDepth||(T.OutputColorDepth={})),function(K){K[K.Invalid=0]="Invalid",K[K.Auto=1]="Auto",K[K.Reference=2]="Reference",K[K.Accurate=3]="Accurate",K[K.Enhanced=4]="Enhanced"}(ot=T.ColorAccuracyMode||(T.ColorAccuracyMode={})),function(K){K[K.Auto=0]="Auto",K[K.GTF=1]="GTF",K[K.DMT=2]="DMT",K[K.CVT=3]="CVT",K[K.CVTRB=4]="CVTRB",K[K.Manual=5]="Manual",K[K.OverrideEIA861=6]="OverrideEIA861"}(We=T.TimingFormula||(T.TimingFormula={})),function(K){K[K.Monitor=0]="Monitor",K[K.Adapter=1]="Adapter",K[K.Centered=2]="Centered",K[K.FixedAspect=3]="FixedAspect"}(Qe=T.ScalingType||(T.ScalingType={})),function(K){K[K.None=0]="None",K[K.FullScreen=1]="FullScreen",K[K.FixedAspect=2]="FixedAspect",K[K.NoScale=3]="NoScale",K[K.IntegerScaling=4]="IntegerScaling"}(Fe=T.ScalingMethod||(T.ScalingMethod={})),function(K){K[K.None=0]="None",K[K.Gpu=1]="Gpu",K[K.Display=2]="Display"}(Xe=T.ScalingMode||(T.ScalingMode={})),function(K){K[K.ClearCache=0]="ClearCache",K[K.RefreshCache=1]="RefreshCache",K[K.AddResolution=2]="AddResolution",K[K.FlushToStorage=3]="FlushToStorage"}(_e=T.CustomResolutionLocalCacheActions||(T.CustomResolutionLocalCacheActions={})),function(K){K[K.Auto=0]="Auto",K[K.Video=1]="Video",K[K.Desktop=2]="Desktop",K[K.Photo=3]="Photo",K[K.Movie=4]="Movie",K[K.Game=5]="Game"}(He=T.ContentType||(T.ContentType={})),function(K){K[K.DDSTrayIcon=0]="DDSTrayIcon",K[K.DDSDesktopNotification=1]="DDSDesktopNotification"}(De=T.UiElemType||(T.UiElemType={})),function(K){K[K.DISABLE=0]="DISABLE",K[K.ENABLE=1]="ENABLE"}(Re=T.UiElemState||(T.UiElemState={}))}(s||(s={})),function(T){let H;var Me;let y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e,He,De,Re,K,ke,Ue,et,gt,vt,Mt,Rt,Ut,ct;(Me=H=T.ProfileSettingType||(T.ProfileSettingType={}))[Me.type_invalid=-1]="type_invalid",Me[Me.type_integer=0]="type_integer",Me[Me.type_string=1]="type_string",Me[Me.type_boolean=2]="type_boolean",Me[Me.type_json_string=3]="type_json_string",function(Me){Me[Me.UNKNOWN=0]="UNKNOWN",Me[Me.SUPPORTED=1]="SUPPORTED",Me[Me.UNSUPPORTED=2]="UNSUPPORTED"}(y=T.HwSupportType||(T.HwSupportType={})),function(Me){Me[Me.Unknown=0]="Unknown",Me[Me.GpuUnsupported=1]="GpuUnsupported",Me[Me.DriverUnsupported=2]="DriverUnsupported",Me[Me.HardwareSchedulingUnavailable=3]="HardwareSchedulingUnavailable",Me[Me.GraphicsApiUnsupported=4]="GraphicsApiUnsupported",Me[Me.DenyListed=5]="DenyListed",Me[Me.x86Unsupported=6]="x86Unsupported",Me[Me.SRModelDenyListed=7]="SRModelDenyListed",Me[Me.RRModelDenyListed=8]="RRModelDenyListed",Me[Me.FGMultiFrameCountUnsupported=9]="FGMultiFrameCountUnsupported"}(X=T.ConstraintType||(T.ConstraintType={})),function(Me){Me[Me.ScanDetectSupported=0]="ScanDetectSupported",Me[Me.NGXDetectSupported=1]="NGXDetectSupported",Me[Me.ScanDetectUnknown=2]="ScanDetectUnknown",Me[Me.NGXDetectUnknown=3]="NGXDetectUnknown"}(c=T.DlssSupportState||(T.DlssSupportState={})),function(Me){Me[Me.Unknown=-1]="Unknown",Me[Me.OpenGL=1]="OpenGL",Me[Me.DX9=2]="DX9",Me[Me.DX10=3]="DX10",Me[Me.DX10_1=8]="DX10_1",Me[Me.DX11=10]="DX11",Me[Me.OpenCL=64]="OpenCL",Me[Me.DX12=128]="DX12",Me[Me.Vulkan=256]="Vulkan"}(g=T.GraphicsApi||(T.GraphicsApi={})),function(Me){Me[Me.NVCPLAPI_VALUE_TRILINEAR_OPT_ON=0]="NVCPLAPI_VALUE_TRILINEAR_OPT_ON",Me[Me.NVCPLAPI_VALUE_TRILINEAR_OPT_OFF=1]="NVCPLAPI_VALUE_TRILINEAR_OPT_OFF"}(d=T.TextureFilteringTrilinearValue||(T.TextureFilteringTrilinearValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_APPCONTROLLED=0]="NVCPLAPI_VALUE_VERTICAL_SYNC_APPCONTROLLED",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_FORCEOFF=1]="NVCPLAPI_VALUE_VERTICAL_SYNC_FORCEOFF",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_FORCEON=2]="NVCPLAPI_VALUE_VERTICAL_SYNC_FORCEON",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_FORCEON_INTERVAL2=3]="NVCPLAPI_VALUE_VERTICAL_SYNC_FORCEON_INTERVAL2",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_AUTO=4]="NVCPLAPI_VALUE_VERTICAL_SYNC_AUTO",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_AUTO_INTERVAL2=5]="NVCPLAPI_VALUE_VERTICAL_SYNC_AUTO_INTERVAL2",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_SMOOTH=6]="NVCPLAPI_VALUE_VERTICAL_SYNC_SMOOTH",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_VRR_ENABLE=8]="NVCPLAPI_VALUE_VERTICAL_SYNC_VRR_ENABLE",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_VRR_NONE=9]="NVCPLAPI_VALUE_VERTICAL_SYNC_VRR_NONE",Me[Me.NVCPLAPI_VALUE_VERTICAL_SYNC_VIRTUAL=10]="NVCPLAPI_VALUE_VERTICAL_SYNC_VIRTUAL"}(C=T.VerticalSyncValue||(T.VerticalSyncValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_OGL_THREADING_OPTIMIZATION_AUTO=0]="NVCPLAPI_VALUE_OGL_THREADING_OPTIMIZATION_AUTO",Me[Me.NVCPLAPI_VALUE_OGL_THREADING_OPTIMIZATION_ON=1]="NVCPLAPI_VALUE_OGL_THREADING_OPTIMIZATION_ON",Me[Me.NVCPLAPI_VALUE_OGL_THREADING_OPTIMIZATION_OFF=2]="NVCPLAPI_VALUE_OGL_THREADING_OPTIMIZATION_OFF"}(Q=T.ThreadedOptimizationValue||(T.ThreadedOptimizationValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_OGL_OVERLAYSUPPORT_OFF=0]="NVCPLAPI_VALUE_OGL_OVERLAYSUPPORT_OFF",Me[Me.NVCPLAPI_VALUE_OGL_OVERLAYSUPPORT_ON=1]="NVCPLAPI_VALUE_OGL_OVERLAYSUPPORT_ON"}(j=T.EnableOverlayValue||(T.EnableOverlayValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_NONE=0]="NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_NONE",Me[Me.NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_CI=1]="NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_CI",Me[Me.NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_RGBA=2]="NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_RGBA",Me[Me.NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_CI_AND_RGBA=3]="NVCPLAPI_VALUE_OGL_OVERLAY_PIXEL_CI_AND_RGBA"}(le=T.ExportedpixeltypesValue||(T.ExportedpixeltypesValue={})),function(Me){Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_DISABLED=0]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_DISABLED",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_128=1]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_128",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_256=2]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_256",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_512=3]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_512",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_1GB=4]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_1GB",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_5GB=5]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_5GB",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_10GB=6]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_10GB",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_100GB=7]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_100GB",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_Unlimited=8]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_Unlimited",Me[Me.NVAPPAPI_VALUE_SHADER_CACHE_SIZE_DEFAULT=9]="NVAPPAPI_VALUE_SHADER_CACHE_SIZE_DEFAULT"}(ge=T.ShaderCacheValue||(T.ShaderCacheValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_NONE=0]="NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_NONE",Me[Me.NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_ONE=1]="NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_ONE",Me[Me.NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_TWO=2]="NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_TWO",Me[Me.NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_THREE=3]="NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_THREE",Me[Me.NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_FOUR=4]="NVCPLAPI_VALUE_MAX_VIRTUAL_REALITY_PRE_RENDERED_FRAMES_FOUR"}(ie=T.VirtualRealityPreRenderedFramesValue||(T.VirtualRealityPreRenderedFramesValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_PREFERRED_REFRATE_APP_CONTROL=0]="NVCPLAPI_VALUE_PREFERRED_REFRATE_APP_CONTROL",Me[Me.NVCPLAPI_VALUE_PREFERRED_REFRATE_OVERRIDE=1]="NVCPLAPI_VALUE_PREFERRED_REFRATE_OVERRIDE"}(ce=T.PreferredRefreshRateValue||(T.PreferredRefreshRateValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_ADAPTIVE=0]="NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_ADAPTIVE",Me[Me.NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_MAX=1]="NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_MAX",Me[Me.NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_DRIVER_CONTROLLED=2]="NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_DRIVER_CONTROLLED",Me[Me.NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_PREFER_CONSISTENT_PERFORMANCE=3]="NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_PREFER_CONSISTENT_PERFORMANCE",Me[Me.NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_OPTIMAL_POWER=5]="NVCPLAPI_VALUE_POWER_MANAGEMENT_MODE_OPTIMAL_POWER"}(G=T.PowerManagementModeValue||(T.PowerManagementModeValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_OGL_VULKAN_PRESENT_METHOD_PREFER_DISABLED=0]="NVCPLAPI_VALUE_OGL_VULKAN_PRESENT_METHOD_PREFER_DISABLED",Me[Me.NVCPLAPI_VALUE_OGL_VULKAN_PRESENT_METHOD_PREFER_ENABLED=1]="NVCPLAPI_VALUE_OGL_VULKAN_PRESENT_METHOD_PREFER_ENABLED",Me[Me.NVCPLAPI_VALUE_OGL_VULKAN_PRESENT_METHOD_AUTO=2]="NVCPLAPI_VALUE_OGL_VULKAN_PRESENT_METHOD_AUTO"}(ue=T.OpenGlVulkanPresentMethodValue||(T.OpenGlVulkanPresentMethodValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_OGL_GDI_COMPATIBILITY_PREFER_DISABLED=0]="NVCPLAPI_VALUE_OGL_GDI_COMPATIBILITY_PREFER_DISABLED",Me[Me.NVCPLAPI_VALUE_OGL_GDI_COMPATIBILITY_PREFER_ENABLED=1]="NVCPLAPI_VALUE_OGL_GDI_COMPATIBILITY_PREFER_ENABLED",Me[Me.NVCPLAPI_VALUE_OGL_GDI_COMPATIBILITY_AUTO=2]="NVCPLAPI_VALUE_OGL_GDI_COMPATIBILITY_AUTO"}(ae=T.OpenGlGdiCompatibilityValue||(T.OpenGlGdiCompatibilityValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_ANISOTROPIC_APP_CONTROLLED=1048576]="NVCPLAPI_VALUE_ANISOTROPIC_APP_CONTROLLED",Me[Me.NVCPLAPI_VALUE_ANISOTROPIC_OFF=1]="NVCPLAPI_VALUE_ANISOTROPIC_OFF",Me[Me.NVCPLAPI_VALUE_ANISOTROPIC_2X=2]="NVCPLAPI_VALUE_ANISOTROPIC_2X",Me[Me.NVCPLAPI_VALUE_ANISOTROPIC_4X=4]="NVCPLAPI_VALUE_ANISOTROPIC_4X",Me[Me.NVCPLAPI_VALUE_ANISOTROPIC_8X=8]="NVCPLAPI_VALUE_ANISOTROPIC_8X",Me[Me.NVCPLAPI_VALUE_ANISOTROPIC_16X=16]="NVCPLAPI_VALUE_ANISOTROPIC_16X"}(Ce=T.AnisotropicFilteringValue||(T.AnisotropicFilteringValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_TEXTURE_FILTERING_LOD_NO_ALLOW=0]="NVCPLAPI_VALUE_TEXTURE_FILTERING_LOD_NO_ALLOW",Me[Me.NVCPLAPI_VALUE_TEXTURE_FILTERING_LOD_NO_CLAMP=1]="NVCPLAPI_VALUE_TEXTURE_FILTERING_LOD_NO_CLAMP"}(Se=T.TextureFilteringNegativeMethodValue||(T.TextureFilteringNegativeMethodValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_IMAGE_SHARPENING_TOGGLE_DISABLED=0]="NVCPLAPI_VALUE_IMAGE_SHARPENING_TOGGLE_DISABLED",Me[Me.NVCPLAPI_VALUE_IMAGE_SHARPENING_TOGGLE_ENABLED=1]="NVCPLAPI_VALUE_IMAGE_SHARPENING_TOGGLE_ENABLED"}(Ne=T.ImageSharpeningToggleValue||(T.ImageSharpeningToggleValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_SHARPENING_ALLOW_DISABLED=0]="NVCPLAPI_VALUE_SHARPENING_ALLOW_DISABLED",Me[Me.NVCPLAPI_VALUE_SHARPENING_ALLOW_ENABLED=1]="NVCPLAPI_VALUE_SHARPENING_ALLOW_ENABLED"}(we=T.ImageSharpeningAllowValue||(T.ImageSharpeningAllowValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_WHISPER_MODE_FPS_OFF=0]="NVCPLAPI_VALUE_WHISPER_MODE_FPS_OFF",Me[Me.NVCPLAPI_VALUE_WHISPER_MODE_FPS_ON=1]="NVCPLAPI_VALUE_WHISPER_MODE_FPS_ON"}(ve=T.WhisperModeProgramValue||(T.WhisperModeProgramValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_LOW=0]="NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_LOW",Me[Me.NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_MEDIUM=1]="NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_MEDIUM",Me[Me.NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_HIGH=2]="NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_HIGH",Me[Me.NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_ULTRA=3]="NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_ULTRA",Me[Me.NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_OFF=4]="NVCPLAPI_VALUE_SILK_SMOOTHNESS_VALUE_OFF"}(Pe=T.SilkSmoothnessValue||(T.SilkSmoothnessValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_LATENCY_MODE_BEST_PERFORMANCE=0]="NVCPLAPI_VALUE_LATENCY_MODE_BEST_PERFORMANCE",Me[Me.NVCPLAPI_VALUE_LATENCY_MODE_LOW_LATENCY=1]="NVCPLAPI_VALUE_LATENCY_MODE_LOW_LATENCY",Me[Me.NVCPLAPI_VALUE_LATENCY_MODE_LOWEST_LATENCY=2]="NVCPLAPI_VALUE_LATENCY_MODE_LOWEST_LATENCY"}(Oe=T.LowLatencyModeValue||(T.LowLatencyModeValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_VR_AUTOVRS_OFF=0]="NVCPLAPI_VALUE_VR_AUTOVRS_OFF",Me[Me.NVCPLAPI_VALUE_VR_AUTOVRS_FORCED=1]="NVCPLAPI_VALUE_VR_AUTOVRS_FORCED",Me[Me.NVCPLAPI_VALUE_VR_AUTOVRS_ADAPTIVE=2]="NVCPLAPI_VALUE_VR_AUTOVRS_ADAPTIVE"}(Be=T.VirtualRealityVrssValue||(T.VirtualRealityVrssValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_AUTOFL_DB_OFF=0]="NVCPLAPI_VALUE_AUTOFL_DB_OFF",Me[Me.NVCPLAPI_VALUE_AUTOFL_DB_ON=1]="NVCPLAPI_VALUE_AUTOFL_DB_ON"}(tt=T.MaxqDynamicBoostValue||(T.MaxqDynamicBoostValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_AUTO_DISPLAYMUX_INDICATOR_OFF=0]="NVCPLAPI_VALUE_AUTO_DISPLAYMUX_INDICATOR_OFF",Me[Me.NVCPLAPI_VALUE_AUTO_DISPLAYMUX_INDICATOR_ON=1]="NVCPLAPI_VALUE_AUTO_DISPLAYMUX_INDICATOR_ON"}(Ee=T.AutoDisplaySwitchingValue||(T.AutoDisplaySwitchingValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_WHISPER_MODE_ALLOW_DISABLED=0]="NVCPLAPI_VALUE_WHISPER_MODE_ALLOW_DISABLED",Me[Me.NVCPLAPI_VALUE_WHISPER_MODE_ALLOW_ENABLED=1]="NVCPLAPI_VALUE_WHISPER_MODE_ALLOW_ENABLED"}(ot=T.WhisperModeGlobalValue||(T.WhisperModeGlobalValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_MT_GSYNC_ON=0]="NVCPLAPI_VALUE_MT_GSYNC_ON",Me[Me.NVCPLAPI_VALUE_MT_GSYNC_FORCE_OFF=1]="NVCPLAPI_VALUE_MT_GSYNC_FORCE_OFF",Me[Me.NVCPLAPI_VALUE_MT_VRR_OFF=2]="NVCPLAPI_VALUE_MT_VRR_OFF",Me[Me.NVCPLAPI_VALUE_MT_ULMB_ON=3]="NVCPLAPI_VALUE_MT_ULMB_ON",Me[Me.NVCPLAPI_VALUE_MT_FIXED_REFRESH=4]="NVCPLAPI_VALUE_MT_FIXED_REFRESH"}(We=T.MonitorTechnologyValue||(T.MonitorTechnologyValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_POWER_MANAGEMENT_PANEL_OFF=0]="NVCPLAPI_VALUE_POWER_MANAGEMENT_PANEL_OFF",Me[Me.NVCPLAPI_VALUE_POWER_MANAGEMENT_PANEL_SELF_REFRESH_MODE=1]="NVCPLAPI_VALUE_POWER_MANAGEMENT_PANEL_SELF_REFRESH_MODE"}(Qe=T.PowerManagementPanelValue||(T.PowerManagementPanelValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_ENABLE_STEREO_OFF=0]="NVCPLAPI_VALUE_ENABLE_STEREO_OFF",Me[Me.NVCPLAPI_VALUE_ENABLE_STEREO_ON=1]="NVCPLAPI_VALUE_ENABLE_STEREO_ON"}(Fe=T.StereoEnableValue||(T.StereoEnableValue={})),function(Me){Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_MODE_DIN=1]="NVAPPAPI_VALUE_STEREO_DISPLAY_MODE_DIN",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_MODE_DIN_NV_IR=2]="NVAPPAPI_VALUE_STEREO_DISPLAY_MODE_DIN_NV_IR",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_MODE_DP_INBAND=3]="NVAPPAPI_VALUE_STEREO_DISPLAY_MODE_DP_INBAND",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_GENERIC=4]="NVAPPAPI_VALUE_STEREO_DISPLAY_GENERIC",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_GENERIC_NV_IR=5]="NVAPPAPI_VALUE_STEREO_DISPLAY_GENERIC_NV_IR",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_DDC_GLASSES=6]="NVAPPAPI_VALUE_STEREO_DISPLAY_DDC_GLASSES",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_NV_CLONE=7]="NVAPPAPI_VALUE_STEREO_DISPLAY_NV_CLONE",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_NV_CLONE_DLP=8]="NVAPPAPI_VALUE_STEREO_DISPLAY_NV_CLONE_DLP",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_BLUELINE=9]="NVAPPAPI_VALUE_STEREO_DISPLAY_BLUELINE",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_VERTICAL_INTERLACE=10]="NVAPPAPI_VALUE_STEREO_DISPLAY_VERTICAL_INTERLACE",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_COLOR_INTERLEAVE=11]="NVAPPAPI_VALUE_STEREO_DISPLAY_COLOR_INTERLEAVE",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_HORIZONTAL_INTERLACE=12]="NVAPPAPI_VALUE_STEREO_DISPLAY_HORIZONTAL_INTERLACE",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_SUBFIELD=13]="NVAPPAPI_VALUE_STEREO_DISPLAY_SUBFIELD",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_SIDEFIELD=14]="NVAPPAPI_VALUE_STEREO_DISPLAY_SIDEFIELD",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_SEEFRONT=15]="NVAPPAPI_VALUE_STEREO_DISPLAY_SEEFRONT",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP=16]="NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP_NV_IR=17]="NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP_NV_IR",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP_INV=18]="NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP_INV",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP_INV_NV_IR=19]="NVAPPAPI_VALUE_STEREO_DISPLAY_3D_DLP_INV_NV_IR",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_TRIDELITY_SL_SV=20]="NVAPPAPI_VALUE_STEREO_DISPLAY_TRIDELITY_SL_SV",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_TRIDELITY_MV=21]="NVAPPAPI_VALUE_STEREO_DISPLAY_TRIDELITY_MV",Me[Me.NVAPPAPI_VALUE_STEREO_DISPLAY_PLANAR_MIRROR=22]="NVAPPAPI_VALUE_STEREO_DISPLAY_PLANAR_MIRROR"}(Xe=T.StereoDisplayModeValue||(T.StereoDisplayModeValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_ENABLE_OGL_STEREO_SWAP_EYES_OFF=0]="NVCPLAPI_VALUE_ENABLE_OGL_STEREO_SWAP_EYES_OFF",Me[Me.NVCPLAPI_VALUE_ENABLE_OGL_STEREO_SWAP_EYES_ON=1]="NVCPLAPI_VALUE_ENABLE_OGL_STEREO_SWAP_EYES_ON"}(_e=T.StereoSwapEyeValue||(T.StereoSwapEyeValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_STEREO_SWAP_APPLICATION_CONTROL=0]="NVCPLAPI_VALUE_STEREO_SWAP_APPLICATION_CONTROL",Me[Me.NVCPLAPI_VALUE_STEREO_SWAP_PER_EYE=1]="NVCPLAPI_VALUE_STEREO_SWAP_PER_EYE",Me[Me.NVCPLAPI_VALUE_STEREO_SWAP_PER_EYE_PAIR=2]="NVCPLAPI_VALUE_STEREO_SWAP_PER_EYE_PAIR"}(He=T.StereoSwapModeValue||(T.StereoSwapModeValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_AA_APPCONTROL_MODE_OFF=0]="NVCPLAPI_VALUE_AA_APPCONTROL_MODE_OFF",Me[Me.NVCPLAPI_VALUE_AA_APPCONTROL_MODE_ON=1]="NVCPLAPI_VALUE_AA_APPCONTROL_MODE_ON",Me[Me.NVCPLAPI_VALUE_AA_APPCONTROL_MODE_ENHANCE=2]="NVCPLAPI_VALUE_AA_APPCONTROL_MODE_ENHANCE",Me[Me.NVCPLAPI_VALUE_AA_APPCONTROL_MODE_FORCE_OFF=3]="NVCPLAPI_VALUE_AA_APPCONTROL_MODE_FORCE_OFF"}(De=T.AntialiasingModeValue||(T.AntialiasingModeValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_SLI_MGPU_AUTORENDER=0]="NVCPLAPI_VALUE_SLI_MGPU_AUTORENDER",Me[Me.NVCPLAPI_VALUE_SLI_MGPU_FORCE_SINGLE=4]="NVCPLAPI_VALUE_SLI_MGPU_FORCE_SINGLE",Me[Me.NVCPLAPI_VALUE_SLI_MGPU_FORCE_2_AFR=3]="NVCPLAPI_VALUE_SLI_MGPU_FORCE_2_AFR",Me[Me.NVCPLAPI_VALUE_SLI_MGPU_FORCE_2_AFR2=61443]="NVCPLAPI_VALUE_SLI_MGPU_FORCE_2_AFR2"}(Re=T.SliMultiGpuRenderingModeValue||(T.SliMultiGpuRenderingModeValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_OGL_DEEP_COLOR_3D_DISABLE=0]="NVCPLAPI_VALUE_OGL_DEEP_COLOR_3D_DISABLE",Me[Me.NVCPLAPI_VALUE_OGL_DEEP_COLOR_3D_ENABLE=1]="NVCPLAPI_VALUE_OGL_DEEP_COLOR_3D_ENABLE"}(K=T.DeepColorFor3DApplicationsValue||(T.DeepColorFor3DApplicationsValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_NONE=0]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_NONE",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_APP_CONTROLLED=1048576]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_APP_CONTROLLED",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MULTISAMPLE_2X_DIAGONAL=14]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MULTISAMPLE_2X_DIAGONAL",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MULTISAMPLE_4X=16]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MULTISAMPLE_4X",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_8SX=24]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_8SX",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MULTISAMPLE_8X=25]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MULTISAMPLE_8X",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_16X=26]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_16X",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_32X=41]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_32X",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_64X=42]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_64X",Me[Me.NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_128X=43]="NVCPLAPI_VALUE_ANTI_ALIASING_METHOD_MIXEDSAMPLE_128X"}(ke=T.AntialiasingSettingValue||(T.AntialiasingSettingValue={})),function(Me){Me[Me.NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_OFF=0]="NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_OFF",Me[Me.NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_MULTI_SAMPLING=3]="NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_MULTI_SAMPLING",Me[Me.NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_SUPER_SAMPLING=5]="NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_SUPER_SAMPLING",Me[Me.NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_1X=1]="NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_1X",Me[Me.NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_2X=2]="NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_2X",Me[Me.NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_4X=4]="NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_4X",Me[Me.NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_8X=8]="NVCPLAPI_VALUE_TRANSPARENCY_ANTI_ALIASING_8X"}(Ue=T.AntialiasingTransparencyValue||(T.AntialiasingTransparencyValue={})),function(Me){Me[Me.V1=1]="V1",Me[Me.V2=2]="V2"}(et=T.BatteryBoostVersionEnum||(T.BatteryBoostVersionEnum={})),function(Me){Me[Me.V1=1]="V1",Me[Me.V2=2]="V2"}(gt=T.WhisperModeVersionEnum||(T.WhisperModeVersionEnum={})),function(Me){Me[Me.QUIETER=1]="QUIETER",Me[Me.QUIET=2]="QUIET",Me[Me.BALANCED=3]="BALANCED"}(vt=T.FanVolume||(T.FanVolume={})),function(Me){Me[Me.Default=3]="Default",Me[Me.Performance=0]="Performance",Me[Me.Balanced=1]="Balanced",Me[Me.Quality=2]="Quality",Me[Me.UltraPerformance=5]="UltraPerformance",Me[Me.Dlaa=4]="Dlaa",Me[Me.Custom=6]="Custom"}(Mt=T.PerformanceModeOverrideEnum||(T.PerformanceModeOverrideEnum={})),function(Me){Me[Me.Default=0]="Default",Me[Me.PresetA=1]="PresetA",Me[Me.PresetB=2]="PresetB",Me[Me.PresetC=3]="PresetC",Me[Me.PresetD=4]="PresetD",Me[Me.PresetE=5]="PresetE",Me[Me.PresetF=6]="PresetF",Me[Me.PresetJ=10]="PresetJ",Me[Me.PresetK=11]="PresetK",Me[Me.PresetL=12]="PresetL",Me[Me.PresetM=13]="PresetM",Me[Me.PresetN=14]="PresetN",Me[Me.PresetO=15]="PresetO",Me[Me.Latest=16777215]="Latest"}(Rt=T.ModelOverrideEnum||(T.ModelOverrideEnum={})),function(Me){Me[Me.OFF=1]="OFF",Me[Me.VALUE_3X=2]="VALUE_3X",Me[Me.VALUE_4X=3]="VALUE_4X"}(Ut=T.MultiFrameEnum||(T.MultiFrameEnum={})),function(Me){Me[Me.Default=0]="Default",Me[Me.Latest=1]="Latest",Me[Me.Custom=2]="Custom"}(ct=T.DlssModelPresetProfileTypeEnum||(T.DlssModelPresetProfileTypeEnum={}))}(M||(M={})),function(T){let H;var X;let y;(X=H=T.HotkeyEnum||(T.HotkeyEnum={})).OpenIGO="OpenIGO",X.OpenPerformanceOverlay="OpenPerformanceOverlay",X.OpenChatUI="OpenChatUI",function(X){X.unknown="unknown",X.enabled="enabled",X.disabled="disabled"}(y=T.ShadowPlayStatus||(T.ShadowPlayStatus={}))}(u||(u={})),function(T){let H;var g;let y,X,c;(g=H=T.Type||(T.Type={}))[g.Unknown=0]="Unknown",g[g.GpuClock=1]="GpuClock",g[g.MemoryClock=2]="MemoryClock",g[g.Voltage=3]="Voltage",g[g.Power=4]="Power",g[g.Temperature=5]="Temperature",g[g.Fan=6]="Fan",function(g){g[g.None=0]="None",g[g.ManualOc=1]="ManualOc",g[g.AutomaticOc=2]="AutomaticOc"}(y=T.PersitenceType||(T.PersitenceType={})),function(g){g[g.Default=0]="Default",g[g.Custom=1]="Custom",g[g.Silent=2]="Silent",g[g.MaxPerf=3]="MaxPerf"}(X=T.ProfileType||(T.ProfileType={})),function(g){g[g.AC=0]="AC",g[g.DC=1]="DC",g[g.UPS_LIKE=2]="UPS_LIKE",g[g.Unknown=3]="Unknown"}(c=T.PowerStatus||(T.PowerStatus={}))}(x||(x={})),function(T){let H;var X;let y;(X=H=T.Type||(T.Type={}))[X.Unknown=0]="Unknown",X[X.GpuClock=1]="GpuClock",X[X.MemoryClock=2]="MemoryClock",X[X.Voltage=3]="Voltage",X[X.Power=4]="Power",X[X.Temperature=5]="Temperature",X[X.Fan=6]="Fan",function(X){X[X.Default=0]="Default",X[X.Custom=1]="Custom",X[X.Silent=2]="Silent",X[X.MaxPerf=3]="MaxPerf"}(y=T.Profile||(T.Profile={}))}(p||(p={})),function(T){let H;var d;let y,X,c,g;(d=H=T.ContentType||(T.ContentType={}))[d.NV_RISE_CONTENT_TYPE_INVALID=0]="NV_RISE_CONTENT_TYPE_INVALID",d[d.NV_RISE_CONTENT_TYPE_TEXT=1]="NV_RISE_CONTENT_TYPE_TEXT",d[d.NV_RISE_CONTENT_TYPE_GRAPH=2]="NV_RISE_CONTENT_TYPE_GRAPH",d[d.NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR=3]="NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR",d[d.NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR_RESULT=4]="NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR_RESULT",d[d.NV_RISE_CONTENT_TYPE_INSTALLING=5]="NV_RISE_CONTENT_TYPE_INSTALLING",d[d.NV_RISE_CONTENT_TYPE_PROGRESS_UPDATE=6]="NV_RISE_CONTENT_TYPE_PROGRESS_UPDATE",d[d.NV_RISE_CONTENT_TYPE_READY=7]="NV_RISE_CONTENT_TYPE_READY",d[d.NV_RISE_CONTENT_TYPE_DOWNLOAD_REQUEST=8]="NV_RISE_CONTENT_TYPE_DOWNLOAD_REQUEST",function(d){d[d.NV_RISE_CONTENT_TYPE_INVALID=0]="NV_RISE_CONTENT_TYPE_INVALID",d[d.NV_RISE_CONTENT_TYPE_TEXT=1]="NV_RISE_CONTENT_TYPE_TEXT",d[d.NV_RISE_CONTENT_TYPE_GRAPH=2]="NV_RISE_CONTENT_TYPE_GRAPH",d[d.NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR=3]="NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR",d[d.NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR_RESULT=4]="NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR_RESULT",d[d.NV_RISE_CONTENT_TYPE_INSTALLING=5]="NV_RISE_CONTENT_TYPE_INSTALLING",d[d.NV_RISE_CONTENT_TYPE_PROGRESS_UPDATE=6]="NV_RISE_CONTENT_TYPE_PROGRESS_UPDATE",d[d.NV_RISE_CONTENT_TYPE_READY=7]="NV_RISE_CONTENT_TYPE_READY",d[d.NV_RISE_CONTENT_TYPE_DOWNLOAD_REQUEST=8]="NV_RISE_CONTENT_TYPE_DOWNLOAD_REQUEST"}(y=T.ContentType1||(T.ContentType1={})),function(d){d[d.NvVqApi_VoiceQueryResponse_ASRText=0]="NvVqApi_VoiceQueryResponse_ASRText"}(X=T.ResponseType||(T.ResponseType={})),function(d){d[d.NvVqApi_VoiceQueryMode_Start=0]="NvVqApi_VoiceQueryMode_Start",d[d.NvVqApi_VoiceQueryMode_Stop=1]="NvVqApi_VoiceQueryMode_Stop",d[d.NvVqApi_VoiceQueryMode_StartAutoStop=2]="NvVqApi_VoiceQueryMode_StartAutoStop",d[d.NvVqApi_VoiceQueryMode_StartWakeWord=3]="NvVqApi_VoiceQueryMode_StartWakeWord",d[d.NvVqApi_VoiceQueryMode_StopWakeWord=4]="NvVqApi_VoiceQueryMode_StopWakeWord"}(c=T.VqMode||(T.VqMode={})),function(d){d[d.NvGameAssistApi_QueryResponse_ResponseChunk=0]="NvGameAssistApi_QueryResponse_ResponseChunk",d[d.NvGameAssistApi_QueryResponse_CitationChunk=1]="NvGameAssistApi_QueryResponse_CitationChunk",d[d.NvGameAssistApi_QueryResponse_Sentinel=2]="NvGameAssistApi_QueryResponse_Sentinel",d[d.NvGameAssistApi_QueryResponse_GameAssistReady=3]="NvGameAssistApi_QueryResponse_GameAssistReady",d[d.NvGameAssistApi_QueryResponse_Fail=4]="NvGameAssistApi_QueryResponse_Fail",d[d.NvGameAssistApi_QueryResponse_UnsupportedQuery=5]="NvGameAssistApi_QueryResponse_UnsupportedQuery"}(g=T.ResponseType1||(T.ResponseType1={}))}(i||(i={}));var _,f,o=function(T){return T.Appdiscovery=l,T.Driverinstall=I,T.Driverupdaterecommendation=S,T.Localgames=L,T.Nvcpldisplayplugin=s,T.Nvcplplugin=M,T.Nvigoutil=u,T.Nvoc=x,T.Overclockingnvc=p,T.Rise=i,T}(o||{});!function(T){let H;var y;(y=H=T.StreamerStatus||(T.StreamerStatus={})).Init="Init",y.NetworkTest="NetworkTest",y.Loading="Loading",y.Streaming="Streaming",y.Done="Done",y.Error="Error",y.GotInputFocus="GotInputFocus",y.LostInputFocus="LostInputFocus",y.UpdateCheck="UpdateCheck",y.PreStreaming="PreStreaming",y.Authentication="Authentication",y.Authorization="Authorization",y.PlatformSelection="PlatformSelection",y.AccountLinking="AccountLinking",y.PostSessionConnection="PostSessionConnection",y.PostStreaming="PostStreaming",y.ResumableError="ResumableError",y.TerminalError="TerminalError",y.PermissionsBarrier="PermissionsBarrier"}(_||(_={})),function(T){let H;var d;let y,X,c,g;(d=H=T.HdrStreamingMode||(T.HdrStreamingMode={})).OFF="OFF",d.HDR="HDR",d.HDR10_PLUS_GAMING="HDR10_PLUS_GAMING",function(d){d.Launch="Launch",d.Resume="Resume"}(y=T.SessionType||(T.SessionType={})),function(d){d.H264="H264",d.H265="H265",d.AV1="AV1",d.None="None"}(X=T.Codec||(T.Codec={})),function(d){d[d.UNKNOWN=0]="UNKNOWN",d[d.INACTIVE=1]="INACTIVE",d[d.ACTIVE=2]="ACTIVE"}(c=T.L4SState||(T.L4SState={})),function(d){d[d.UNKNOWN=0]="UNKNOWN",d[d.START=1]="START",d[d.PAUSE=2]="PAUSE",d[d.RESUME=3]="RESUME",d[d.FINISH=4]="FINISH",d[d.CANCEL=5]="CANCEL",d[d.MAX=6]="MAX"}(g=T.AdAction||(T.AdAction={}))}(f||(f={}));var a,D,te,J=function(T){return T.Gfnsdkhost=_,T.Streaming=f,T}(J||{});!function(T){let H;var g;let y,X,c;(g=H=T.ErrorCodeEnum||(T.ErrorCodeEnum={}))[g.NoError=0]="NoError",g[g.GeneralError=-505409537]="GeneralError",g[g.InvalidObject=-505413631]="InvalidObject",g[g.InsufficientArguments=-505413630]="InsufficientArguments",g[g.InvalidParameters=-505413629]="InvalidParameters",g[g.PropertyMissing=-505413628]="PropertyMissing",g[g.InvalidFormat=-505413627]="InvalidFormat",g[g.EmptyValue=-505413626]="EmptyValue",g[g.FileNotFound=-505413622]="FileNotFound",g[g.PathNotFound=-505413621]="PathNotFound",g[g.ProcessingPreviousCall=505413620]="ProcessingPreviousCall",g[g.InstallerAlreadyRunning=-505413619]="InstallerAlreadyRunning",g[g.MessagingChannel=-505413618]="MessagingChannel",g[g.ExtractedNotFound=-505413610]="ExtractedNotFound",g[g.InstallerExeNotFound=-505413608]="InstallerExeNotFound",g[g.GfeExperienceKeyNotFound=-505413607]="GfeExperienceKeyNotFound",g[g.GfeExperiencePathEmpty=-505413606]="GfeExperiencePathEmpty",g[g.SignatureInvalid=-505413605]="SignatureInvalid",g[g.UacCancelled=-505413600]="UacCancelled",g[g.MsgArrivedEventCreate=-505413599]="MsgArrivedEventCreate",g[g.MsgArrivedEventSignal=-505413598]="MsgArrivedEventSignal",g[g.ResumePathNotFound=-505413597]="ResumePathNotFound",g[g.ResumePathEmpty=-505413596]="ResumePathEmpty",g[g.ResumePathInvalid=-505413595]="ResumePathInvalid",g[g.MsgChannelInit=-505413584]="MsgChannelInit",g[g.MsgShowFormSet=-505413583]="MsgShowFormSet",g[g.MsgProgressUpdateSet=-505413582]="MsgProgressUpdateSet",g[g.MsgListen=-505413581]="MsgListen",function(g){g[g.NotSet=0]="NotSet",g[g.ShowForm=1]="ShowForm",g[g.ProgressUpdate=2]="ProgressUpdate"}(y=T.MethodEnum||(T.MethodEnum={})),function(g){g[g.NotSet=0]="NotSet",g[g.InstallInitial=1]="InstallInitial",g[g.InstallChecking=2]="InstallChecking",g[g.InstallCheckWarnings=3]="InstallCheckWarnings",g[g.InstallCheckFailed=4]="InstallCheckFailed",g[g.InstallCheckWait=5]="InstallCheckWait",g[g.Eula=6]="Eula",g[g.InstallSelect=7]="InstallSelect",g[g.InstallSelectCustom=8]="InstallSelectCustom",g[g.InstallSelectInstallPath=9]="InstallSelectInstallPath",g[g.PreInstallCheck=10]="PreInstallCheck",g[g.PreInstallCheckRetry=11]="PreInstallCheckRetry",g[g.PreInstallCheckWait=12]="PreInstallCheckWait",g[g.PreRebootInstall=13]="PreRebootInstall",g[g.PackageDownloadProgress=14]="PackageDownloadProgress",g[g.ProcessDownloadedPackage=15]="ProcessDownloadedPackage",g[g.PackageDownloadFailed=16]="PackageDownloadFailed",g[g.InstallProgress=17]="InstallProgress",g[g.InstallRemoveProgress=18]="InstallRemoveProgress",g[g.InstallFinished=19]="InstallFinished",g[g.InstallFinishedNoSummary=20]="InstallFinishedNoSummary",g[g.InstallFinishedLaunch=21]="InstallFinishedLaunch",g[g.InstallFinishedNoSummaryLaunch=22]="InstallFinishedNoSummaryLaunch",g[g.InstallFinishedOptions=23]="InstallFinishedOptions",g[g.InstallFinishedNoSummaryOptions=24]="InstallFinishedNoSummaryOptions",g[g.InstallReboot=25]="InstallReboot",g[g.InstallRebootOptions=26]="InstallRebootOptions",g[g.InstallRebootNoSummary=27]="InstallRebootNoSummary",g[g.InstallRebootNoSummaryOptions=28]="InstallRebootNoSummaryOptions",g[g.InstallRemoveReboot=29]="InstallRemoveReboot",g[g.InstallFailed=30]="InstallFailed",g[g.WaitingOnUac=31]="WaitingOnUac"}(X=T.FormEnum||(T.FormEnum={})),function(g){g[g.Next=0]="Next",g[g.Close=1]="Close"}(c=T.NextActionEnum||(T.NextActionEnum={}))}(a||(a={})),function(T){let H;var X;let y;(X=H=T.DriverTypeEnum||(T.DriverTypeEnum={}))[X.GameReadyDriver=0]="GameReadyDriver",X[X.CreatorReadyDriver=1]="CreatorReadyDriver",function(X){X.started="started",X.finished="finished",X.failed="failed",X.cancelled="cancelled"}(y=T.DriverUpdateCheckProgress||(T.DriverUpdateCheckProgress={}))}(D||(D={})),function(T){let H;var C;let y,X,c,g,d;(C=H=T.ApplicationScanType||(T.ApplicationScanType={})).fast="fast",C.traditional="traditional",function(C){C.Unknown="Unknown",C.NotAvailable="NotAvailable",C.NotReady="NotReady",C.Ready="Ready"}(y=T.VopsStatus||(T.VopsStatus={})),function(C){C.STRING="STRING",C.INT="INT",C.FLOAT="FLOAT",C.ENUM="ENUM",C.BOOL="BOOL",C.DRIVER_ENUM="DRIVER_ENUM"}(X=T.Type||(T.Type={})),function(C){C.AC="AC",C.DC="DC"}(c=T.ApplicationPowerMode||(T.ApplicationPowerMode={})),function(C){C.DISABLED="DISABLED",C.UNOPTIMIZED="UNOPTIMIZED",C.CUSTOMIZED="CUSTOMIZED",C.OPTIMIZED="OPTIMIZED"}(g=T.OptimizationState||(T.OptimizationState={})),function(C){C.started="started",C.finished="finished",C.failed="failed",C.progress="progress"}(d=T.Status||(T.Status={}))}(te||(te={}));var z,R,v,h,W,ne,ee,b,w,F,Z,se,N=function(T){return T.Driverinstall=a,T.Driverupdaterecommendation=D,T.Localgames=te,T}(N||{});!function(T){let H;var c;let y,X;(c=H=T.State||(T.State={})).percentage="percentage",c.indeterminate="indeterminate",c.pause="pause",c.complete="complete",function(c){c.active="active",c.inactive="inactive",c.failed="failed"}(y=T.State1||(T.State1={})),function(c){c.light="light",c.dark="dark"}(X=T.SystemTheme||(T.SystemTheme={}))}(z||(z={})),function(T){let H;var d;let y,X,c,g;(d=H=T.ApplicationLifetimeEventType||(T.ApplicationLifetimeEventType={})).ApplicationExit="APPLICATION_EXIT",d.SystemLogout="SYSTEM_LOGOUT",d.SystemSuspend="SYSTEM_SUSPEND",function(d){d.UserClosedWindow="USER_CLOSED_WINDOW",d.UserQuitWithShortcut="USER_QUIT_WITH_SHORTCUT",d.UserLoggedOut="USER_LOGGED_OUT",d.SelfUpdate="SELF_UPDATE",d.Relaunch="RELAUNCH",d.BrowserExit="BROWSER_EXIT",d.ForceShutdown="FORCE_SHUTDOWN"}(y=T.ShutdownReason||(T.ShutdownReason={})),function(d){d.Bluetooth="BLUETOOTH"}(X=T.SystemSetting||(T.SystemSetting={})),function(d){d.Launch="launch"}(c=T.ApplicationTimeType||(T.ApplicationTimeType={})),function(d){d.LaunchSiteTime="LAUNCH_SITE_TIME",d.LaunchCefSiteTime="LAUNCH_CEF_SITE_TIME"}(g=T.ApplicationStartTimeType||(T.ApplicationStartTimeType={}))}(R||(R={})),function(T){let H;var X;let y;(X=H=T.ConversationIntent||(T.ConversationIntent={})).Support="Support",X.Recommendation="Recommendation",function(X){X.Installer="Installer",X.Game="Game",X.Share="Share",X.GameStream="GameStream"}(y=T.Component||(T.Component={}))}(v||(v={})),function(T){let H;var y;(y=H=T.InternalErrorCodeEnum||(T.InternalErrorCodeEnum={}))[y.Success=0]="Success",y[y.Error=1]="Error",y[y.Error_PermissionNotGiven=2]="Error_PermissionNotGiven",y[y.Error_NotFullScreen=3]="Error_NotFullScreen"}(h||(h={})),function(T){let H;var y;(y=H=T.DiscordAsset||(T.DiscordAsset={}))[y.Large=0]="Large"}(W||(W={})),function(T){let H;var ie;let y,X,c,g,d,C,Q,j,le,ge;(ie=H=T.UpdateFrameworkResult||(T.UpdateFrameworkResult={}))[ie.NotImplemented=-1]="NotImplemented",ie[ie.Success=0]="Success",ie[ie.Error=1]="Error",ie[ie.UpdateFrameworkUninitialised=2]="UpdateFrameworkUninitialised",ie[ie.UpdateCheckMgrUninitialised=3]="UpdateCheckMgrUninitialised",ie[ie.NoUpdateCheckCandidate=4]="NoUpdateCheckCandidate",ie[ie.InvalidComponentType=5]="InvalidComponentType",ie[ie.UpdateCheckInfoException=6]="UpdateCheckInfoException",ie[ie.UpdateCheckComponentInapplicable=7]="UpdateCheckComponentInapplicable",ie[ie.InvalidArgument=8]="InvalidArgument",ie[ie.InvalidOperation=9]="InvalidOperation",ie[ie.FileDoesNotExist=10]="FileDoesNotExist",ie[ie.NotFound=11]="NotFound",ie[ie.BadJson=12]="BadJson",ie[ie.KeyDoesNotExist=13]="KeyDoesNotExist",ie[ie.InternalException=14]="InternalException",ie[ie.ProfileCatalogUninitialised=15]="ProfileCatalogUninitialised",ie[ie.AlreadyDownloaded=16]="AlreadyDownloaded",ie[ie.CannotDeleteFile=17]="CannotDeleteFile",ie[ie.DownloaderBusyTryLater=18]="DownloaderBusyTryLater",ie[ie.CurlInitFailed=19]="CurlInitFailed",ie[ie.PostProcessingPolicyDontRun=20]="PostProcessingPolicyDontRun",ie[ie.DownloadPolicyDontRun=21]="DownloadPolicyDontRun",ie[ie.UpdateCheckPeriodNotElapsed=22]="UpdateCheckPeriodNotElapsed",ie[ie.PluginLoadError=23]="PluginLoadError",ie[ie.PluginFnAddrError=24]="PluginFnAddrError",ie[ie.PluginError=25]="PluginError",function(ie){ie[ie.Official=0]="Official",ie[ie.Beta=1]="Beta",ie[ie.Unknown=-1]="Unknown"}(y=T.UpdateChannel||(T.UpdateChannel={})),function(ie){ie[ie.Full=0]="Full",ie[ie.Diff=1]="Diff",ie[ie.Unknown=-1]="Unknown"}(X=T.UpdateType||(T.UpdateType={})),function(ie){ie[ie.Auto=0]="Auto",ie[ie.Manual=1]="Manual",ie[ie.Unknown=-1]="Unknown"}(c=T.InvokeType||(T.InvokeType={})),function(ie){ie[ie.Undefined=-1]="Undefined",ie[ie.DownloadTriggered=0]="DownloadTriggered",ie[ie.Downloading=1]="Downloading",ie[ie.VerifyingChecksum=2]="VerifyingChecksum",ie[ie.VerifyingSignature=3]="VerifyingSignature",ie[ie.Paused=4]="Paused",ie[ie.Cancelled=5]="Cancelled",ie[ie.NetworkErrorRetrying=6]="NetworkErrorRetrying",ie[ie.NetworkErrorRetryPaused=7]="NetworkErrorRetryPaused",ie[ie.Finished=8]="Finished",ie[ie.ChecksumVerificationFailed=9]="ChecksumVerificationFailed",ie[ie.SignatureVerificationFailed=10]="SignatureVerificationFailed",ie[ie.DiskWriteFail=11]="DiskWriteFail",ie[ie.Error=12]="Error",ie[ie.NotAllowedNow=13]="NotAllowedNow",ie[ie.Prohibited=14]="Prohibited"}(g=T.DownloadStatus||(T.DownloadStatus={})),function(ie){ie[ie.Undefined=-1]="Undefined",ie[ie.Ready=0]="Ready",ie[ie.Executing=1]="Executing",ie[ie.Completed=2]="Completed",ie[ie.CouldNotRun=3]="CouldNotRun",ie[ie.FailedRetryPending=4]="FailedRetryPending",ie[ie.Failed=5]="Failed"}(d=T.ActionStatus||(T.ActionStatus={})),function(ie){ie[ie.Undefined=-1]="Undefined",ie[ie.ExecutingActions=0]="ExecutingActions",ie[ie.Completed=1]="Completed",ie[ie.Failed=2]="Failed"}(C=T.PostProcessingStatus||(T.PostProcessingStatus={})),function(ie){ie[ie.Started=0]="Started",ie[ie.Retrying=1]="Retrying",ie[ie.RetryStopped=2]="RetryStopped",ie[ie.Finished=3]="Finished",ie[ie.Failed=4]="Failed"}(Q=T.ProgressStatus||(T.ProgressStatus={})),function(ie){ie[ie.Unknown=-1]="Unknown",ie[ie.UpdateInProgress=0]="UpdateInProgress",ie[ie.UpdateUnavailable=1]="UpdateUnavailable",ie[ie.UpdateSuccessful=2]="UpdateSuccessful",ie[ie.UpdateFailed=3]="UpdateFailed"}(j=T.UpdateState||(T.UpdateState={})),function(ie){ie[ie.Uninitialised=-1]="Uninitialised",ie[ie.CheckingForUpdate=0]="CheckingForUpdate",ie[ie.UpdateCheckEnd=1]="UpdateCheckEnd",ie[ie.Downloading=2]="Downloading",ie[ie.DownloadEnd=3]="DownloadEnd",ie[ie.PostProcessing=4]="PostProcessing",ie[ie.PostProcessingEnd=5]="PostProcessingEnd"}(le=T.UpdateExecutionPhase||(T.UpdateExecutionPhase={})),function(ie){ie[ie.Success=0]="Success",ie[ie.Failure=1]="Failure",ie[ie.FailureNoSourceProfile=2]="FailureNoSourceProfile"}(ge=T.CreateProfileStatusEnum||(T.CreateProfileStatusEnum={}))}(ne||(ne={})),function(T){let H;var ce;let y,X,c,g,d,C,Q,j,le,ge,ie;(ce=H=T.FileType||(T.FileType={})).video="video",ce.image="image",ce.other="other",function(ce){ce.Highlight="Highlight",ce.AnimatedGif="AnimatedGif",ce.Normal="Normal",ce.SuperResolution="SuperResolution",ce.SuperResolution_Oversized="SuperResolution_Oversized",ce.SubType_360Mono="360Mono",ce.Stereo="Stereo",ce.SubType_360Stereo="360Stereo",ce.Exr="Exr",ce.Normal_Ansel="Normal_Ansel",ce.Montage="Montage",ce.InstantReplay="InstantReplay",ce.Manual="Manual",ce.Unknown="Unknown"}(y=T.SubType||(T.SubType={})),function(ce){ce.Single="Single",ce.Separate="Separate",ce.Unknown="Unknown"}(X=T.AudioType||(T.AudioType={})),function(ce){ce.low="low",ce.medium="medium",ce.high="high"}(c=T.Quality||(T.Quality={})),function(ce){ce.GFE_Share="GFE_Share",ce.GFE_Ansel="GFE_Ansel",ce.GFE_SDK="GFE_SDK",ce.StandAlone_Ansel="StandAlone_Ansel",ce.Undefined="Undefined"}(g=T.Source||(T.Source={})),function(ce){ce.screenshot="screenshot",ce.video="video"}(d=T.Type||(T.Type={})),function(ce){ce.video="video",ce.image="image",ce.audio="audio"}(C=T.InputFileType||(T.InputFileType={})),function(ce){ce.none="none",ce.titleBasic="titleBasic"}(Q=T.SeqType||(T.SeqType={})),function(ce){ce.none="none",ce.brandSliderInOnly="brandSliderInOnly",ce.brandSlideInOut="brandSlideInOut"}(j=T.BrandType||(T.BrandType={})),function(ce){ce.atStart="atStart",ce.atEnd="atEnd"}(le=T.Position||(T.Position={})),function(ce){ce.TrackerUpdateNotActive="TrackerUpdateNotActive",ce.TrackerUpdateInProgress="TrackerUpdateInProgress",ce.TrackerUpdateComplete="TrackerUpdateComplete",ce.CancelUpdateComplete="CancelUpdateComplete",ce.CancelUpdate="CancelUpdate"}(ge=T.GalleryPathUpdateStatus||(T.GalleryPathUpdateStatus={})),function(ce){ce.none="none",ce.hidden="hidden",ce.empty="empty",ce.hiddenOrEmpty="hiddenOrEmpty",ce.hiddenAndEmpty="hiddenAndEmpty"}(ie=T.ExcludeDirectoryType||(T.ExcludeDirectoryType={}))}(ee||(ee={})),function(T){let H;var y;(y=H=T.IpcTargets||(T.IpcTargets={})).GfnMall="mallclient",y.GfnStreamer="streamer",y.GfnUpdater="selfupdater"}(b||(b={})),function(T){let H;var y;(y=H=T.PrivacySettings||(T.PrivacySettings={})).None="None",y.RequiredOnly="RequiredOnly",y.RequiredFunctional="RequiredFunctional",y.RequiredFunctionalTechnical="RequiredFunctionalTechnical"}(w||(w={})),function(T){let H;var le;let y,X,c,g,d,C,Q,j;(le=H=T.CaptureTypes||(T.CaptureTypes={})).regular="regular",le.stereoRegular="stereoRegular",le.highRes="highRes",le.sphericalPanorama="sphericalPanorama",le.stereoSphericalPanorama="stereoSphericalPanorama",function(le){le.ok="ok",le.failed="failed",le.started="started",le.failedToStart="failedToStart",le.noSpace="noSpace",le.permissionDenied="permissionDenied",le.invalidRequest="invalidRequest",le.failedToProcess="failedToProcess",le.processDeclined="processDeclined",le.alreadyEnabled="alreadyEnabled",le.alreadyDisabled="alreadyDisabled",le.outOfRange="outOfRange",le.alreadySet="alreadySet",le.incompatibleVersion="incompatibleVersion",le.disabled="disabled",le.okAnsel="okAnsel",le.okModsOnly="okModsOnly",le.failedToFinishCapture="failedToFinishCapture",le.failedToSaveShotFailedCreateDiretory="failedToSaveShotFailedCreateDiretory",le.failedToSaveShotNoSpaceLeft="failedToSaveShotNoSpaceLeft",le.processingCompleted="processingCompleted",le.shotSaved="shotSaved",le.processingFile="processingFile",le.failedToSaveShot="failedToSaveShot"}(y=T.AnselStatusEnum||(T.AnselStatusEnum={})),function(le){le.sdk="sdk",le.mods="mods",le.styleTransfer="styleTransfer",le.allowOffline="allowOffline"}(X=T.FeaturesSupported||(T.FeaturesSupported={})),function(le){le.windowedSDK="windowedSDK",le.fullscreenSDK="fullscreenSDK",le.windowedNoSDK="windowedNoSDK",le.fullscreenNoSDK="fullscreenNoSDK"}(c=T.Mode||(T.Mode={})),function(le){le.mouse="mouse",le.keyboard="keyboard",le.gamepad="gamepad"}(g=T.Hid||(T.Hid={})),function(le){le.notAvailable="notAvailable",le.available="available",le.notEnabled="notEnabled",le.enabled="enabled"}(d=T.AnselState||(T.AnselState={})),function(le){le.roll="roll",le.fov="fov"}(C=T.Response||(T.Response={})),function(le){le.float="float",le.int="int",le.uint="uint",le.bool="bool"}(Q=T.DataType||(T.DataType={})),function(le){le.success="success"}(j=T.NgxAiUpResStatus||(T.NgxAiUpResStatus={}))}(F||(F={})),function(T){let H;var y;(y=H=T.OperationType||(T.OperationType={})).Read="Read",y.Write="Write",y.Remove="Remove",y.Cache="Cache"}(Z||(Z={})),function(T){let H;var X;let y;(X=H=T.ApiStatusEnum||(T.ApiStatusEnum={})).Success="Success",X.Failure="Failure",function(X){X.Desktop="Desktop",X.Mobile="Mobile",X.Game="Game"}(y=T.UiModeEnum||(T.UiModeEnum={}))}(se||(se={}));var Y=function(T){return T.Applicationcontrol=z,T.Applicationinfo=R,T.Bot=v,T.Clientnotification=h,T.Discord=W,T.Downloader=ne,T.Gallery=ee,T.Ipc=b,T.Nvaccount=w,T.Nvcamera=F,T.Sharedstorage=Z,T.Systeminfo=se,T}(Y||{}),q=function(T){return T.Common=Y,T.Gfe=N,T.Gfn=J,T.Nvapp=o,T.Qxp=A,T.Share=U,T}(q||{})},54292:(xe,de,t)=>{"use strict";t.d(de,{vT:()=>p,Dp:()=>S,oy:()=>I});var e=t(47766),n=t(36877),E=t(26513),O=t(19392),B=t(16229),P=t(43848),k=t(34593),U=t(83915),r=t(53461),A=t(75707),l=t(91384),I=function(i){return i.IGO="igo",i.Streaming="streaming",i.ClientIME="ime",i.PrivacyPolicy="privacy",i.QuitGath="quitGame",i.OscNotification="OscNotification",i}(I||{}),S=function(i){return i.Visible="visible",i.Hidden="hidden",i}(S||{}),L=function(i){return i.Local="localhost",i.Stage="stage.nvidia.com",i.Partner="partner.nvidia.com",i}(L||{});const s=new RegExp("/mall/index[.]html$|/mall/$|/index[.]html$|/$");var u=t(58527),x=t(74150);let p=(()=>{var i;class o{get fullScreenEventSubject(){return this.fullScreenEvent}get fullScreenEventObs$(){return this.fullScreenEvent.asObservable()}get documentVisiblityChange(){return(0,n.R)(document,"visibilitychange")}resetExitPath(){this.fullScreenSource=void 0}setExitPath(f){this.fullScreenSource=f}get resumeFullScreenIGO(){return this.fullScreenSource===I.IGO}get applicationWindowState$(){return this.isPWAModeOnLGTV?this.webOSWindowStateSubject.asObservable():this.documentVisiblityChange.pipe((0,k.Z)(0),(0,U.T)(f=>"visible"===document.visibilityState?"foreground":"background"),(0,r.F)())}constructor(f,J,a){var D;this.titleService=J,this.ngZone=a,this.keyCodes={c:"KeyC",i:"KeyI",j:"KeyJ",u:"KeyU",f12:"F12"},this.isPWAModeOnLGTV=e.zk.isPWAModeOnLGTV(),this.isPWAModeOnSamsungTV=e.zk.isPWAModeOnSamsungTV(),this.fullScreenEvent=new E.t(!1),this.webOSWindowStateSubject=new E.t("foreground"),this.webOSWindowStateListener=te=>{this.webOSWindowStateSubject.value!==te.detail.state&&this.webOSWindowStateSubject.next(te.detail.state)},this.logger=f.getLogger("gfn/browser-support"),this.appIcon=document.querySelector("#appIcon"),this.appIconHref=null===(D=this.appIcon)||void 0===D?void 0:D.href,this.hostBranch=window.location.pathname.replace(s,"")}initialize(f,J){f&&this.ngZone.runOutsideAngular(()=>{document.addEventListener("wheel",this.dummyWheelListener,{passive:!0})}),J||this.disableDevTools(),this.isPWAModeOnLGTV&&this.ngZone.runOutsideAngular(()=>{window.addEventListener("windowStateChanged",this.webOSWindowStateListener)})}dummyWheelListener(f){return f}disableDevTools(){this.ngZone.runOutsideAngular(()=>{document.addEventListener("contextmenu",f=>f.preventDefault()),window.addEventListener("keydown",f=>{(f.code===this.keyCodes.i&&f.ctrlKey&&f.shiftKey||f.code===this.keyCodes.j&&f.ctrlKey&&f.shiftKey||f.code===this.keyCodes.u&&f.ctrlKey||f.code===this.keyCodes.f12||f.code===this.keyCodes.c&&f.shiftKey&&f.metaKey||f.code===this.keyCodes.i&&f.altKey&&f.metaKey||f.code===this.keyCodes.j&&f.altKey&&f.metaKey||f.code===this.keyCodes.u&&f.altKey&&f.metaKey)&&f.preventDefault()})})}getGamepads(){if(!navigator.getGamepads)return[];const f=navigator.getGamepads();return f instanceof Array?f:Array.from(f).filter(a=>!!a)}goToPreviousPage(){window.history.back()}supportsRequestFullscreen(f){return document.fullscreenEnabled&&f.requestFullscreen||document.webkitFullscreenEnabled&&f.webkitRequestFullscreen}isFullscreen(){const f=screen.width===window.innerWidth&&screen.height===window.innerHeight;return document.fullscreenElement||document.webkitFullscreenElement||!(this.isPWAModeOnLGTV||this.isPWAModeOnSamsungTV)&&f}requestFullscreen(f){if(this.supportsRequestFullscreen(f))if(f.requestFullscreen){const J=f.requestFullscreen();J?J.catch(a=>{this.logger.error(`Error attempting to enable fullscreen mode: ${a.message} (${a.name})`)}):this.logger.info("Fullscreen request API did not return a promise")}else f.webkitRequestFullscreen?f.webkitRequestFullscreen():this.logger.error("No available method to enter fullscreen");else this.logger.error("Fullscreen not supported")}exitFullscreen(){document.fullscreenElement&&document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():this.logger.error("No available method to exit fullscreen")}isStagingOrDevDomain(){return this.isStagingDomain()||this.isLocalDomain()}isStagingDomain(){return window.location.hostname.endsWith(L.Stage)}isPartnerDomain(){return window.location.hostname.endsWith(L.Partner)}isLocalDomain(){return window.location.hostname.endsWith(L.Local)}getHostBranchName(){return this.hostBranch}setTitle(f){f&&this.titleService.setTitle(f)}blinkAppIcon(f){this.appIcon&&this.appIconHref&&(f%2==1?this.appIcon.href="./assets/img/transparent.png":this.resetAppIcon())}resetAppIcon(){this.appIconHref&&(this.appIcon.href=this.appIconHref)}cleanup(){document.removeEventListener("wheel",this.dummyWheelListener),this.resetAppIcon(),this.isPWAModeOnLGTV&&window.removeEventListener("windowStateChanged",this.webOSWindowStateListener)}getPermission$(f){return(0,O.H)(navigator.permissions.query({name:f})).pipe((0,A.ZZ)(J=>(0,B.h)((0,P.of)(J.state),(0,n.R)(J,"change").pipe((0,U.T)(a=>a.target.state)))),(0,l.M)(J=>this.logger.info(`BrowserPermission: ${f} value: ${J}`)))}}return(i=o).\u0275fac=function(f){return new(f||i)(u.KVO(e.J6),u.KVO(x.hE),u.KVO(u.SKi))},i.\u0275prov=u.jDH({token:i,factory:i.\u0275fac,providedIn:"root"}),o})()},62351:(xe,de,t)=>{"use strict";t.d(de,{E:()=>E});var e=t(58527);let E=(()=>{var O;class B{}return(O=B).\u0275fac=function(k){return new(k||O)},O.\u0275prov=e.jDH({token:O,factory:O.\u0275fac}),B})()},54943:(xe,de,t)=>{"use strict";t.d(de,{l:()=>k});var e=t(43848),n=t(59859),E=t(58527),O=t(62351);function B(U){return[U.system,U.module,U.method,U.legacyCommand].join(".")}let k=(()=>{var U;class r{constructor(l){this.bridgeConfig=l,this.responses={},this.persistentResponses={},this.errors={},this.configMocks={},this.callData={};for(const I of Object.values(l.mocks))this.configMocks[B(I.command)]=I.return}createResponse(l,I){const S=B(l);delete this.errors[S],this.responses[S]=I}createResponseSequence(l,I){const S=B(l);delete this.errors[S],this.responses[S]=I}createPersistentResponse(l,I){if(!l.persistent)throw new Error("Can only create a persistent response for persistent commands");{const S=B(l);delete this.errors[S],this.persistentResponses[S]=I}}createErrorResponse(l,I){const S=B(l);delete this.responses[S],this.errors[S]=I}executeCommand(l,I){const S=B(l);this.cacheCallData(S,I);let L=(0,e.of)(void 0);return S in this.errors?L=(0,n.$)(this.errors[S]):S in this.responses?L=Array.isArray(this.responses[S])?(0,e.of)(this.responses[S].shift()):(0,e.of)(this.responses[S]):S in this.configMocks?L=(0,e.of)(this.configMocks[S]):S in this.persistentResponses&&(L=this.persistentResponses[S]),L}hasOverrideMock(l){const I=B(l);return I in this.responses||I in this.persistentResponses}hasErrorMock(l){return B(l)in this.errors}hasConfigMock(l){return B(l)in this.configMocks}hasMock(l){const I=this.hasOverrideMock(l)||this.hasConfigMock(l)||this.hasErrorMock(l);return this.bridgeConfig.isUnitTestConfig&&!I&&console.error("No mock provided for: "+B(l)),I}cacheCallData(l,I){this.bridgeConfig.cacheMockedCallData&&(l in this.callData||(this.callData[l]={count:0,params:[]}),this.callData[l].count++,this.callData[l].params.push(I))}resetCallData(){this.callData={}}getCallData(l){const I=B(l);return I in this.callData?this.callData[I]:{count:0,params:[]}}}return(U=r).\u0275fac=function(l){return new(l||U)(E.KVO(O.E))},U.\u0275prov=E.jDH({token:U,factory:U.\u0275fac,providedIn:"root"}),r})()},31650:(xe,de,t)=>{"use strict";t.d(de,{N:()=>O});var e=t(58527),n=t(3678),E=t(54943);let O=(()=>{var B;class P{constructor(U,r){this.logger=U,this.bridgeMockService=r}makeFullBridgeCommand(U,r,A){return{command:U.legacyCommand,system:U.system,module:U.module,method:U.method,payload:r,...A?r:null}}unpackReturnPayload(U){try{const r=JSON.parse(U);return"object"==typeof r&&"reference_uniqueid"in r&&"method"in r&&"payload"in r?r.payload:r}catch{return U}}handleSuccess(U,r,A){switch(A){case"true":U.next(!0);break;case"false":U.next(!1);break;default:U.next(this.unpackReturnPayload(A))}r||U.complete()}handleFailure(U,r,A,l,I,S=!0){const s={code:A,message:l,isCancelled:204===A,request:S?r:{...r,payload:null}};this.logger.info(`Bridge Query returned error code ${A}: ${l}. Command: ${JSON.stringify(I?r:r.command)}`),U.error(s)}executeCommand(U,r,A=!0,l=!0){return this.bridgeMockService.hasMock(U)?this.bridgeMockService.executeCommand(U,r):this.executeCommandInternal(U,r,A,l)}}return(B=P).\u0275fac=function(U){return new(U||B)(e.KVO(n.Vy),e.KVO(E.l))},B.\u0275prov=e.jDH({token:B,factory:B.\u0275fac}),P})()},10607:(xe,de,t)=>{"use strict";t.d(de,{Ou:()=>o,Ec:()=>b.E,NZ:()=>e.N,a5:()=>ee,Un:()=>i,lH:()=>_});var e=t(31650),n=t(58527),E=t(43848),O=t(17053),B=t(8619),P=t(65706),k=t(3678),U=t(21172),r=t(54943);let A=(()=>{var w;class F extends e.N{constructor(se,Y,q,T){super(se.getLogger("crimson/cef"),T),this.pluginsNotificationService=Y,this.ngZone=q,this.pluginsNotificationService.init(this.executeCommand.bind(this))}static isCefPlatform(){return"cefQuery"in window}executeCommandInternal(se,Y,q,T){const H=this.makeFullBridgeCommand(se,Y,se.legacyCommand!==F.EXTENSION_MESSAGE),y=JSON.stringify(H),X=window.cefQuery,c=this.pluginsNotificationService.isMandatoryPlugin(se.module)?this.pluginsNotificationService.isPluginLoaded$(se.module):(0,E.of)(!0);return new O.c(g=>{if(X)c.pipe((0,B.p)(d=>d),(0,P.s)(1)).subscribe(d=>{X({request:y,persistent:se.persistent,onSuccess:C=>{n.SKi.isInAngularZone()?this.handleSuccess(g,se.persistent,C):this.ngZone.run(()=>{this.handleSuccess(g,se.persistent,C)})},onFailure:(C,Q)=>{n.SKi.isInAngularZone()?this.handleFailure(g,H,C,Q,q,T):this.ngZone.run(()=>{this.handleFailure(g,H,C,Q,q,T)})}})});else{const d=y;this.logger.error(d),this.handleFailure(g,H,500,d,q,T)}})}}return(w=F).EXTENSION_MESSAGE="QUERY_IPC_EXTENSION_MESSAGE",w.\u0275fac=function(se){return new(se||w)(n.KVO(k.J6),n.KVO(U.P),n.KVO(n.SKi),n.KVO(r.l))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac}),F})();var l=t(14714),I=t(75707);let S=(()=>{var w;class F{constructor(se){this._plugins=se}get plugins(){return this._plugins}getPlugin(se){return this._plugins.find(Y=>Y instanceof se)}}return(w=F).\u0275fac=function(se){return new(se||w)(n.KVO(Array))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac,providedIn:"root"}),F})(),L=(()=>{var w;class F extends e.N{constructor(se,Y,q,T){super(se,T),this.primaryManager=Y,this.fallbackManager=q,this.handlerMap=new Map,this.buildHandlerMap()}buildHandlerMap(){var se;null===(se=this.fallbackManager)||void 0===se||null===(se=se.plugins)||void 0===se||se.forEach(Y=>{const q=Y.handlers;this.handlerMap.set(q.module,q.commands)});for(const Y of this.primaryManager.plugins){const q=Y.handlers;this.handlerMap.set(q.module,q.commands)}}getHandlerForMethod(se,Y){const q=this.handlerMap.get(se);return q?q[Y]:null}executeCommandUsingPlugin(se,Y,q,T){const H=this.makeFullBridgeCommand(se,Y,se.legacyCommand!==F.EXTENSION_MESSAGE),y=this.getHandlerForMethod(H.module,H.method);return y?new O.c(X=>{y(H).pipe((0,l.W)(c=>(this.logger.info("failed to execute",se.legacyCommand,c),new O.c(g=>{this.handleFailure(g,H,c.code,c.error,q,T)}))),(0,I.ZZ)(c=>new O.c(g=>{this.handleSuccess(g,H.persistent,c.data)}))).subscribe(c=>X.next(c),c=>X.error(c),()=>X.complete())}):(this.logger.info("plugin does not have handler for",H.module,H.method),(0,E.of)(null))}}return(w=F).EXTENSION_MESSAGE="QUERY_IPC_EXTENSION_MESSAGE",w.\u0275fac=function(se){return new(se||w)(n.KVO(k.Vy),n.KVO(S),n.KVO(S),n.KVO(r.l))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac}),F})();var s=t(81834),M=t(59859),u=t(83915);class x{createSuccessResponse(F){return{success:!0,code:200,data:F}}createErrorResponse(F,Z){return{success:!1,code:F,error:Z}}makeError(F,Z){return(0,M.$)(this.createErrorResponse(F,Z))}makeResult(F){return(0,E.of)(this.createSuccessResponse(F))}makePersistentResult(F){return F.pipe((0,u.T)(Z=>this.createSuccessResponse(Z)))}}class i extends x{static get browserInstanceId(){return this._browserInstanceId}}i._browserInstanceId=(0,s.bz)(!0);const o=new n.nKC("BrowserPlugins");let _=(()=>{var w;class F extends S{constructor(se){super(se||[])}}return(w=F).\u0275fac=function(se){return new(se||w)(n.KVO(o,8))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac,providedIn:"root"}),F})(),f=(()=>{var w;class F extends L{constructor(se,Y,q){super(se.getLogger("crimson/browser"),Y,void 0,q)}executeCommandInternal(se,Y,q,T){const H=this.makeFullBridgeCommand(se,Y,se.legacyCommand!==L.EXTENSION_MESSAGE);return this.handlerMap.has(H.module)?this.executeCommandUsingPlugin(se,Y,q,T):(this.logger.info("Command not found",JSON.stringify(q?H:H.command)),(0,E.of)(null))}}return(w=F).\u0275fac=function(se){return new(se||w)(n.KVO(k.J6),n.KVO(_),n.KVO(r.l))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac}),F})(),J=(()=>{var w;class F extends e.N{constructor(se,Y,q){super(se.getLogger("crimson/yggdrasil"),q),this.ngZone=Y}executeCommandInternal(se,Y){return new O.c(q=>{q.next(null),q.complete()})}}return(w=F).\u0275fac=function(se){return new(se||w)(n.KVO(k.J6),n.KVO(n.SKi),n.KVO(r.l))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac}),F})();var a=t(26502);const D=new n.nKC("AndroidPlugins");let te=(()=>{var w;class F extends S{constructor(se){super(se||[])}}return(w=F).\u0275fac=function(se){return new(se||w)(n.KVO(D,8))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac,providedIn:"root"}),F})();var R,v;(class z extends x{static get androidInstanceId(){return this._androidInstanceId}})._androidInstanceId=(0,s.bz)(!0);class h{constructor(F,Z){this.ngZone=Z,Android.dispatch=this.dispatch.bind(this),Android.unregisterHandler=this.unregisterHandler.bind(this)}dispatch(F){if(!h.handlerMap[F.handlerId])throw new Error(`Cannot find handler Id=${F.handlerId}.`);const Z=h.handlerMap[F.handlerId];this.parseResponse(Z.observer,F.args),Z.persistent||delete h.handlerMap[F.handlerId]}parseResponse(F,Z){const se=JSON.parse(Z),q=se.errorCode,T=se.errorMessage;if(se.successful){const y={response:se.response};n.SKi.isInAngularZone()?F.next(y):this.ngZone.run(()=>{F.next(y)})}else{const y={errorCode:q,errorMessage:T};n.SKi.isInAngularZone()?F.error(y):this.ngZone.run(()=>{F.error(y)})}}unregisterHandler(F){if(!h.handlerMap[F.handlerId])throw new Error(`Cannot find handler Id=${F.handlerId}.`);h.handlerMap[F.handlerId].observer.complete(),delete h.handlerMap[F.handlerId]}doesCommandExist(F,Z){return Android.hasCommand&&Android.hasCommand(F,Z)}executeCommandNative(F,Z,se){const q={request:JSON.stringify(F),persistent:Z,handlerId:h.IdGenerator.next()},T=JSON.stringify(q),H=new O.c(y=>{h.handlerMap[q.handlerId]={observer:y,persistent:Z}});return Android.executeCommand(T),H}}(R=h).IdGenerator=((v=class{static next(){return++this.count}}).count=0,v),R.handlerMap={},R.\u0275fac=function(F){return new(F||R)(n.KVO(k.J6),n.KVO(n.SKi))},R.\u0275prov=n.jDH({token:R,factory:R.\u0275fac,providedIn:"root"});let W=(()=>{var w;class F extends L{static requiresNativeImplementation(se){return F.REQUIRES_NATIVE_IMPL.includes(se)}constructor(se,Y,q,T,H){super(se.getLogger("crimson/android"),Y,q,H),this.androidHelperService=T}executeCommandInternal(se,Y,q,T){const H=this.makeFullBridgeCommand(se,Y,se.legacyCommand!==F.EXTENSION_MESSAGE),y=JSON.stringify(H);return a.zk.isAndroidPlatform()?this.androidHelperService.doesCommandExist(se.module,se.method)?new O.c(c=>{this.androidHelperService.executeCommandNative(H,se.persistent,q).subscribe(d=>{this.handleSuccess(c,se.persistent,d.response)},d=>{this.handleFailure(c,H,d.errorCode,d.errorMessage,q,T)},()=>{this.logger.info("callback complete")})}):!F.requiresNativeImplementation(H.module)&&this.handlerMap.has(H.module)?this.executeCommandUsingPlugin(se,Y,q,T):(this.logger.info("Command not found",JSON.stringify(q?H:H.command)),(0,E.of)(null)):new O.c(X=>{const c=y;this.logger.error(c),this.handleFailure(X,H,500,c,q,T)})}}return(w=F).REQUIRES_NATIVE_IMPL=["Streaming"],w.\u0275fac=function(se){return new(se||w)(n.KVO(k.J6),n.KVO(te),n.KVO(_),n.KVO(h),n.KVO(r.l))},w.\u0275prov=n.jDH({token:w,factory:w.\u0275fac}),F})();const ee={provide:e.N,useFactory:function ne(w,F,Z,se,Y){if(a.zk.isCefPlatform())return new A(w,Y,F,Z);if(a.zk.isAndroidPlatform()){const q=se.get(_),T=se.get(te),H=se.get(h);return new W(w,T,q,H,Z)}if(a.zk.isBrowserPlatform()){const q=se.get(_);return new f(w,q,Z)}return new J(w,F,Z)},deps:[k.J6,n.SKi,r.l,n.zZn,U.P]};var b=t(62351)},84580:(xe,de,t)=>{"use strict";t.d(de,{r:()=>E});var e=t(85735),n=t(58527);let E=(()=>{var O;class B{constructor(){this.leanModeTransitionSub=new e.m(1)}get leanModeTransitionState(){return this.leanModeTransitionSub.asObservable()}enableLeanMode(){this.leanModeTransitionSub.next(!0)}disableLeanMode(){this.leanModeTransitionSub.next(!1)}}return(O=B).\u0275fac=function(k){return new(k||O)},O.\u0275prov=n.jDH({token:O,factory:O.\u0275fac,providedIn:"root"}),B})()},64655:(xe,de,t)=>{"use strict";t.d(de,{_:()=>_});var e=t(10607),n=t(3678),E=t(60045),O=t(54943),B=t(61142),P=t(22743),A=(t(61090),t(81799),t(33328),t(58527));t(53222);let _=(()=>{var f;class J{static configure(D){return{ngModule:J,providers:[B.vh,{provide:n.Rx,useValue:D.logger},{provide:e.Ec,useValue:D.bridge},{provide:E.r,useValue:D.window},{provide:P.v,useValue:D.locale},O.l,e.a5]}}}return(f=J).\u0275fac=function(D){return new(D||f)},f.\u0275mod=A.$C({type:f}),f.\u0275inj=A.G2t({}),J})()},53222:(xe,de,t)=>{"use strict";t.d(de,{M:()=>B});var e=t(28139),n=t(58527);const O=["fxShow.lt-400","fxShow.lt-360","fxShow.lt-340","fxShow.iphone","fxHide.lt-400","fxHide.lt-360","fxHide.lt-340","fxHide.iphone"];let B=(()=>{var P;class k extends e.D9{constructor(){super(...arguments),this.inputs=O}}return(P=k).\u0275fac=(()=>{let U;return function(A){return(U||(U=n.xGo(P)))(A||P)}})(),P.\u0275dir=n.FsC({type:P,selectors:[["","fxShow.lt-400",""],["","fxShow.lt-360",""],["","fxShow.lt-340",""],["","fxShow.iphone",""],["","fxHide.lt-400",""],["","fxHide.lt-360",""],["","fxHide.lt-340",""],["","fxHide.iphone",""]],inputs:{"fxShow.lt-400":"fxShow.lt-400","fxShow.lt-360":"fxShow.lt-360","fxShow.lt-340":"fxShow.lt-340","fxShow.iphone":"fxShow.iphone","fxHide.lt-400":"fxHide.lt-400","fxHide.lt-360":"fxHide.lt-360","fxHide.lt-340":"fxHide.lt-340","fxHide.iphone":"fxHide.iphone"},features:[n.Vt3]}),k})()},22743:(xe,de,t)=>{"use strict";t.d(de,{v:()=>n});var e=t(58527);let n=(()=>{var E;class O{}return(E=O).\u0275fac=function(P){return new(P||E)},E.\u0275prov=e.jDH({token:E,factory:E.\u0275fac}),O})()},57643:(xe,de,t)=>{"use strict";t.d(de,{q:()=>e});var e=function(n){return n[n.None=-1]="None",n[n.Error=1]="Error",n[n.Warning=2]="Warning",n[n.Info=3]="Info",n[n.Trace=4]="Trace",n[n.Verbose=5]="Verbose",n[n.Event=6]="Event",n}(e||{})},3678:(xe,de,t)=>{"use strict";t.d(de,{J6:()=>U,Rx:()=>P,Vy:()=>k});var e=t(81834),n=t(57643),E=t(58527),O=t(61142),B=t(72477);let P=(()=>{var r;class A{}return(r=A).\u0275fac=function(I){return new(I||r)},r.\u0275prov=E.jDH({token:r,factory:r.\u0275fac}),A})();class k{constructor(A,l,I,S,L,s){this.name=A,this.loggingLevel=l,this.datePipe=I,this.remoteLoggingService=S,this.remoteLoggingEnabled=L,this.consoleLoggingEnabled=s,this.remoteLogging=L,this.consoleLogging=s}error(...A){this.logEntry(n.q.Error,A,console.error.bind(console))}warn(...A){this.logEntry(n.q.Warning,A,console.warn.bind(console))}info(...A){this.logEntry(n.q.Info,A,console.log.bind(console))}verbose(...A){this.logEntry(n.q.Verbose,A,console.log.bind(console))}event(...A){this.logEntry(n.q.Event,A,console.log.bind(console))}trace(...A){this.logEntry(n.q.Trace,A,console.log.bind(console))}updateLogger(A,l){this.remoteLogging=A,this.consoleLogging=l}logEntry(A,l,I){if(this.loggingLevel{var r;class A{constructor(I,S,L){this.config=I,this.datePipe=S,this.remoteLoggingService=L,this.loggingLevelOverrides={},this.loggers={},this.remoteLoggingEnabled=!1,this.consoleLoggingEnabled=!0,this.loggingLevelOverrides=t(81248)}updateLoggers(){Object.values(this.loggers).forEach(I=>{I.updateLogger(this.remoteLoggingEnabled,this.consoleLoggingEnabled)})}getLoggingLevel(I){return n.q[this.loggingLevelOverrides[I]]||this.config.defaultLoggingLevel}initialize(I,S){I&&this.remoteLoggingService.initialize(),(this.remoteLoggingEnabled!==I||this.consoleLoggingEnabled!==S)&&(this.remoteLoggingEnabled=I,this.consoleLoggingEnabled=S,this.consoleLoggingEnabled||console.clear(),this.updateLoggers())}getLogger(I){const S=this.getLoggingLevel(I);return this.config.appNamePrefix&&(I=this.config.appNamePrefix+"/"+I),this.loggers[I]||(this.loggers[I]=new k(I,S,this.datePipe,this.remoteLoggingService,this.remoteLoggingEnabled,this.consoleLoggingEnabled)),this.loggers[I]}}return(r=A).\u0275fac=function(I){return new(I||r)(E.KVO(P),E.KVO(O.vh),E.KVO(B.V))},r.\u0275prov=E.jDH({token:r,factory:r.\u0275fac,providedIn:"root"}),A})()},30308:(xe,de,t)=>{"use strict";t.d(de,{C:()=>E});var e=t(58527),n=t(81834);let E=(()=>{var O;class B{constructor(k){this.networkStatusCheckService=k}get onlineStatusChanged(){return this.networkStatusCheckService.onlineStatusChanged()}get isOnline(){return this.networkStatusCheckService.isOnline()}}return(O=B).\u0275fac=function(k){return new(k||O)(e.KVO(n.A5))},O.\u0275prov=e.jDH({token:O,factory:O.\u0275fac,providedIn:"root"}),B})()},61090:(xe,de,t)=>{"use strict";t.d(de,{c:()=>O});var e=t(81834),n=t(58527),E=t(65240);let O=(()=>{var B;class P{constructor(U){this.translate=U}translateText(U,r){return this.translate.instant(U,r)}transform(U){try{const r=Math.round(U);if(!U||!r||U<0)return this.translateText("main.byte",{value:0});const A=1;if(1===U||1===r)return this.translateText("main.byte",{value:U});if(isNaN(parseFloat(U.toString(10)))||!isFinite(U))return"-";const l=["main.bytes","main.kb","main.mb","main.gb","main.tb"];let I=Math.floor(Math.log(U)/Math.log(1024));return I>=l.length&&(I=l.length-1),this.translateText(l[I],{value:(U/Math.pow(1024,Math.floor(I))).toFixed(A)})}catch(r){throw(0,e.RL)(P,r.message)}}}return(B=P).\u0275fac=function(U){return new(U||B)(n.rXU(E.c$,16))},B.\u0275pipe=n.EJ8({name:"convertBytesToKBMBGB",type:B,pure:!0}),P})()},81799:(xe,de,t)=>{"use strict";t.d(de,{M2:()=>U,k1:()=>O,z3:()=>P});var e=t(81834),n=t(58527),E=t(65240);let O=(()=>{var r;class A{constructor(I){this.translate=I}translateText(I,S){return this.translate.instant(I,S)}transform(I,S){if(!I)return"";try{const L=parseInt(I,10),s=Math.floor(L/3600),M=Math.floor((L-3600*s)/60),u=L-3600*s-60*M;let x="";if(s){const p=this.translateText(1===s?"main.hr":S&&s>=2?"main.aboutHrs":"main.hrs",{value:s});x=S&&s>=2?p:p+" "}return!M||S&&s>=2||(x=x+this.translateText(1===M?"main.min":"main.mins",{value:M})+" "),!u||S&&s||(x+=this.translateText(1===u?"main.sec":"main.secs",{value:u})),x}catch(L){throw(0,e.RL)(A,L.message)}}}return(r=A).\u0275fac=function(I){return new(I||r)(n.rXU(E.c$,16))},r.\u0275pipe=n.EJ8({name:"convertSecondsToTime",type:r,pure:!0}),A})(),P=(()=>{var r;class A{transform(I,S=""){return function B(r,A=""){const l=parseFloat(r);let I=parseInt(r,10),S=Math.floor(I/3600);I%=3600;let L=Math.floor(I/60);I%=60,S<10&&(S=`0${S}`),L<10&&(L=`0${L}`),I<10&&(I=`0${I}`);let s="";return A.includes("fractional")&&(s=Math.round(l%1*1e3),s<10?s=`00${s}`:s<100&&(s=`0${s}`),s=`.${s}`),`${S}:${L}:${I}${s}`}(I,S)}}return(r=A).\u0275fac=function(I){return new(I||r)},r.\u0275pipe=n.EJ8({name:"time",type:r,pure:!0}),A})(),U=(()=>{var r;class A{transform(I){return function k(r){const A=r.toString().split(":");let l=0,I=0,S=0;return A.length>2?(l=parseFloat(A[0]),I=parseFloat(A[1]),S=parseFloat(A[2])):A.length>1?(I=parseFloat(A[0]),S=parseFloat(A[1])):S=parseFloat(A[0]),3600*l+60*I+S}(I)}}return(r=A).\u0275fac=function(I){return new(I||r)},r.\u0275pipe=n.EJ8({name:"seconds",type:r,pure:!0}),A})()},33328:(xe,de,t)=>{"use strict";t.d(de,{O:()=>O});var e=t(81834),n=t(58527),E=t(74150);let O=(()=>{var B;class P{constructor(U){this.sanitizer=U}transform(U,r){try{return"url"===r?this.sanitizer.bypassSecurityTrustResourceUrl(U):this.sanitizer.bypassSecurityTrustHtml(U)}catch(A){throw(0,e.RL)(P,A.message)}}}return(B=P).\u0275fac=function(U){return new(U||B)(n.rXU(E.up,16))},B.\u0275pipe=n.EJ8({name:"trustAsHtml",type:B,pure:!0}),P})()},26502:(xe,de,t)=>{"use strict";t.d(de,{zk:()=>O});var e=t(81834);t(56123);class O{constructor(){}static isBrowserPlatform(){return!("cefQuery"in window)&&!O.isAndroidPlatform()}static isCefPlatform(){return"cefQuery"in window}static isAndroidPlatform(){return typeof window.Android<"u"&&"function"==typeof window.Android.isAndroid&&window.Android.isAndroid()}static isBrowserLikePlatform(){return O.isBrowserPlatform()||O.isAndroidPlatform()}static isNativeLikePlatform(){return O.isCefPlatform()||O.isAndroidPlatform()}static isPWAModeOnLGTV(){return/(NetCast|Web0S|Linux\/SmartTV).+PWA/.test(navigator.userAgent)}static isPWAModeOnSamsungTV(){return(0,e.mI)()&&!navigator.userAgent.includes("SamsungBrowser")}static isArmPlatform(){return window.navigator.userAgent.toLowerCase().includes(" arm")}static isTouchPlatform(){return!!window.Touch&&navigator.maxTouchPoints>0}}},70115:(xe,de,t)=>{"use strict";t.d(de,{Y0:()=>n,dZ:()=>O,rK:()=>B,t_:()=>E});var n=function(P){return P.Desktop="Desktop",P.Laptop="Laptop",P.TV="TV",P.Phone="Phone",P.Tablet="Tablet",P.Server="Server",P.Console="Console",P.HMD="HMD",P.Undefined="undefined",P}(n||{}),E=function(P){return P.Windows="Windows",P.MacOS="MacOS",P.Shield="Shield",P.Android="Android",P.IOS="iOS",P.IPadOS="iPadOS",P.ChromeOS="ChromeOS",P.Linux="Linux",P.Tizen="Tizen",P.WebOS="WebOS",P.TvOS="tvOS",P.XBox="Xbox",P.SteamOS="SteamOS",P.VisionOS="visionOS",P.Undefined="undefined",P}(E||{}),O=function(P){return P.CHROME="Chrome",P.SAFARI="Safari",P.YANDEX="Yandex",P.EDGE="Edge",P.EDGE_LEGACY="Edge_legacy",P.FIREFOX="Firefox",P.SAMSUNG="Samsung",P.CHROMIUM="Chromium",P.OPERA="Opera",P.BRAVE="Brave",P.SILK="Silk",P.Undefined="undefined",P}(O||{});const B="undefined"},62502:(xe,de,t)=>{"use strict";t.d(de,{Fj:()=>r,gL:()=>P,gr:()=>O,rK:()=>k,u4:()=>U,wx:()=>B});var e=t(70115),n=t(53931);const O={clientId:"{CLIENTID}",clientVer:"{CLIENTVER}",feedbackId:"{FEEDBACKID}",feedbackName:"{FEEDBACKNAME}",feedbackProtocol:"4.4",feedbackSchemaVer:"{FEEDBACKSCHEMAVER}",feedbackSysVer:"",deviceId:n.Qe,userId:n.Qe,externalUserId:n.Qe,idpId:n.Qe,sessionId:n.Qe,sentTs:"",clientTs:"",deviceOS:e.t_.Undefined,deviceOSVersion:n.Qe,deviceMake:n.Qe,deviceModel:n.Qe,deviceType:e.Y0.Undefined,clientType:n.sK.Undefined,clientVariant:n.zg.Undefined,browserType:n.Qe,integrationId:n.Qe,productName:n.Qe,productVersion:n.Qe},B={functional:n.Rg.None,technical:n.Rg.None,behavioral:n.Rg.None},P={bufferSize:5120,chunkCreationTimeout:3e5,chunksQueueSize:20,chunkResendRetryLimit:2},k="undefined";var U=function(A){return A[A.FeedbackRequestAccepted=200]="FeedbackRequestAccepted",A[A.FeedbackSizeOverLimits=413]="FeedbackSizeOverLimits",A[A.InvalidFeedback=460]="InvalidFeedback",A[A.FeedbackIdInUse=461]="FeedbackIdInUse",A[A.FeedbackIdExpired=462]="FeedbackIdExpired",A[A.AttachmentsRejected=466]="AttachmentsRejected",A[A.UnknownClientId=467]="UnknownClientId",A[A.ServerError=500]="ServerError",A}(U||{}),r=function(A){return A[A.AllFramesReceived=200]="AllFramesReceived",A[A.PartialFramesReceived=206]="PartialFramesReceived",A[A.InvalidFeedbackId=462]="InvalidFeedbackId",A[A.NonSequentialChunk=463]="NonSequentialChunk",A[A.FrameChecksumOrSizeMismatch=464]="FrameChecksumOrSizeMismatch",A[A.ServerError=500]="ServerError",A}(r||{})},53931:(xe,de,t)=>{"use strict";t.d(de,{Qe:()=>e,Rg:()=>O,sK:()=>n,zg:()=>E});const e="undefined";var n=function(B){return B.Native="Native",B.Browser="Browser",B.GFNSDK="GFNSDK",B.Undefined="undefined",B}(n||{}),E=function(B){return B.iBeta="iBeta",B.Release="Release",B.Undefined="undefined",B}(E||{}),O=function(B){return B.Full="Full",B.None="None",B.Temp="Temp",B}(O||{})},77061:(xe,de,t)=>{"use strict";t.d(de,{V:()=>I});var e=t(80583),n=t(26875),O=t(81834),B=t(33089),P=t(62502),k=t(58527),U=t(61142),r=t(30308),A=t(84580);const l="RemoteLogsSaveKey";let I=(()=>{var S;class L{constructor(M,u,x,p){this.datePipe=M,this.networkStatusService=u,this.injector=x,this.browserLeanModeService=p,this.logsBuffer="",this.chunksQueue=[],this.maxBufferSizeInBytes=P.gL.bufferSize,this.chunkCreationTimeout=P.gL.chunkCreationTimeout,this.logsChunkUpdated$=new e.B7,this.chunksQueueSize=P.gL.chunksQueueSize,this.chunkResendRetryLimit=P.gL.chunkResendRetryLimit,this.logBufferingAllowed=!0,this.leanModeLogger=!1,this.isGfcHeadRequestSent=!1,this.timerSub$=new e.B7,this.isTimerTriggered=!1,this.refreshFeedbackSessionSubject=new e.B7,this.timeBasedLogClearanceCounter=0,this.feedbackSessionClosed=!1,this.newLine="\n",this.chunkSendInProgress=!1}initialize(){this.chunkResendRetryMap=new Map,this.addLogger("LogQueueService",["initialize"]),this.networkStatusService.onlineStatusChanged.subscribe(this.onNetworkStatusChanged.bind(this)),this.browserLeanModeService.leanModeTransitionState.subscribe(M=>{this.leanModeLogger=M,M&&this.stopTimeBasedLogCollection()})}addLogger(M,u){const x=(0,O.tO)(M,"INFO",this.datePipe,u);this.appendLogEntry(x)}setHeadRequestStatus(M){this.isGfcHeadRequestSent=M}checkFeasibilityAndSendChunk(M,u=!1,x){!this.isUserConsentAvailable||!this.isGfcHeadRequestSent||u||this.chunkSendInProgress||(0,n.isEmpty)(M)?this.isUserConsentAvailable&&u&&this.logsChunkUpdated$.next({logString:this.sendChunkToServer(M),isLastChunk:u,params:x}):this.logsChunkUpdated$.next({logString:this.sendChunkToServer(M),isLastChunk:!1})}startTimeBasedLogDispatch(){if(this.addLogger("LogQueueService",["Interval of 10 mins elapsed: current buffer length: ",this.logsBuffer.length]),this.addLogger("LogQueueService",["Chunk send in progress: ",this.chunkSendInProgress]),!1===this.chunkSendInProgress){this.refreshFeedbackSessionSubject.next(++this.timeBasedLogClearanceCounter),this.addLogger("LogQueueService",["Clearing chunk on timeout... "]);const M=this.extractAndSaveChunk();this.checkFeasibilityAndSendChunk(M)}}stopTimeBasedLogCollection(M=""){this.isTimerTriggered=!1,this.timerSub$.next({startTimer:!1,timeout:0}),this.addLogger("LogQueueService",["Stopping log collection timer. "+M])}isBufferSizeWithinLimits(M,u){return!(M.concat(u,this.newLine).length>this.maxBufferSizeInBytes)}sendChunkToServer(M){return this.chunkSendInProgress=!0,M||""}addChunksToQueue(M){this.chunksQueue.length===this.chunksQueueSize&&this.chunksQueue.splice(0,this.chunksQueue.length),this.chunksQueue.push(M),this.chunkResendRetryMap.set(this.chunksQueue[this.chunksQueue.length-1],0)}extractAndSaveChunk(){const M=this.logsBuffer.slice(0);return this.addChunksToQueue(M),this.logsBuffer="",this.popChunkFromQueue()}pushLogToBuffer(M){this.logsBuffer=this.logsBuffer.concat(M,this.newLine)}startTimer(){this.leanModeLogger||(this.timerSub$.next({startTimer:!0,timeout:this.chunkCreationTimeout}),this.isTimerTriggered=!0)}popChunkFromQueue(){const M=this.chunkResendRetryMap.get(this.chunksQueue[0]);return this.isUserConsentAvailable&&this.isGfcHeadRequestSent&&M<=this.chunkResendRetryLimit?(this.chunkResendRetryMap.set(this.chunksQueue[0],M+1),this.chunksQueue.slice(0,1).toString()):(this.isUserConsentAvailable&&this.isGfcHeadRequestSent&&M>this.chunkResendRetryLimit&&this.removeChunkFromSavedQueue(),"")}saveLogsToSessionStorage(){this.addChunksToQueue(this.logsBuffer);const M=JSON.stringify(this.chunksQueue);sessionStorage.setItem(l,M)}readConsoleLogsFromSessionStorage(){const M=JSON.parse(sessionStorage.getItem(l));sessionStorage.removeItem(l),this.appendPreviousLogs(M)}appendPreviousLogs(M){this.chunkResendRetryMap&&this.chunkResendRetryMap.clear(),M=M.concat(this.chunksQueue),this.chunksQueue=M.length>this.chunksQueueSize?M.slice(-this.chunksQueueSize):M;for(let u=0;u{x=x.concat(p,this.newLine)}),x=x.concat(this.logsBuffer,this.newLine),this.logBufferingAllowed&&this.isUserConsentAvailable&&(M?(x=x.concat("sendBeacon api is going to be called."),this.gfcService.sendLastFeedbackChunkEvent(x,this.eventData)):(x=x.concat("eob request will be sent for the last chunk."),this.checkFeasibilityAndSendChunk(x,!0,{isBrowserClosing:M,prevChunkInProgress:u}))),this.logsBuffer="",this.chunksQueue=[],this.chunkSendInProgress=!1,this.eventData=null}appendLogEntry(M){if(this.logBufferingAllowed)if(this.isBufferSizeWithinLimits(this.logsBuffer,M))this.pushLogToBuffer(M);else if(this.feedbackSessionClosed)this.feedbackSessionClosed=!1,this.timeBasedLogClearanceCounter=0,this.refreshFeedbackSessionSubject.next(this.timeBasedLogClearanceCounter),this.pushLogToBuffer(M);else{this.timeBasedLogClearanceCounter=0,this.isTimerTriggered&&this.stopTimeBasedLogCollection("due to buffer limit.");const u=this.extractAndSaveChunk();this.pushLogToBuffer(M),this.checkFeasibilityAndSendChunk(u)}}onSendChunkSuccess(){this.chunkSendInProgress=!1,this.removeChunkFromSavedQueue(),0!==this.chunksQueue.length?this.checkFeasibilityAndSendChunk(this.popChunkFromQueue()):this.startTimer()}onSendChunkFailure(M){switch(this.chunkSendInProgress=!1,M.status){case P.Fj.NonSequentialChunk:case P.Fj.FrameChecksumOrSizeMismatch:case P.Fj.ServerError:this.checkFeasibilityAndSendChunk(this.popChunkFromQueue());break;default:console.log("Error encountered in sending chunks: ",M),M.status!==P.Fj.InvalidFeedbackId&&this.checkFeasibilityAndSendChunk(this.popChunkFromQueue())}}stopChunkCollection(M=!1){this.logBufferingAllowed=M,this.stopTimeBasedLogCollection("Going to stop chunk collection. logBufferingAllowed: "+this.logBufferingAllowed+"."),this.clearQueueAndBuffer(!1)}setBufferConfig(M){this.chunkCreationTimeout=M.msBetweenChunkCreation,this.maxBufferSizeInBytes=M.maxBufferSizeInBytes,this.chunksQueueSize=M.chunksQueueSize,this.chunkResendRetryLimit=M.chunkResendRetryLimit}updateUserConsent(M){this.isUserConsentAvailable=M}updateEventData(M){this.eventData={...M}}timerSubscriptionChanged(){return this.timerSub$.asObservable()}updateTimer(M){"Timeout"===M?this.startTimeBasedLogDispatch():"Cleared"===M&&this.addLogger("LogQueueService",["Log collection timer has been stopped"])}ngOnDestroy(){this.logsBuffer=""}}return(S=L).\u0275fac=function(M){return new(M||S)(k.KVO(U.vh),k.KVO(r.C),k.KVO(k.zZn),k.KVO(A.r))},S.\u0275prov=k.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},72477:(xe,de,t)=>{"use strict";t.d(de,{V:()=>x});var e=t(26875),E=t(85735),O=t(43848),B=t(83915),P=t(75707),k=t(14714),U=t(43615),r=t(33089),A=t(81834),l=t(62502),I=t(53931),S=t(58527),L=t(77061),s=t(30308);let x=(()=>{var p;class i{constructor(_,f,J){this.injector=_,this.logQueueService=f,this.networkStatusService=J,this.defaultConsent=l.wx,this.currentUserConsent=l.wx,this.isUserConsentAvailable=!1,this.currentUserId=l.rK,this.externalUserId=l.rK,this.idpId=l.rK,this.commonFeedbackData=l.gr,this.isGfcHeadRequestSent=!1,this.isOnline=!1,this.chunkFailureCount=0,this.attachmentUploadedPermitted=!0,this.streamSubSessionIds=[],this.feedbackIdSubject=new E.m(1)}initialize(){this.logQueueService.initialize(),this.logQueueService.addLogger("RemoteLoggingService",["initialize"]),this.networkStatusService.onlineStatusChanged.subscribe(this.onNetworkStatusChanged.bind(this)),this.handleBrowserTabClosure(),this.getLatestLogsChunk(),this.trackIdleFeedbackSessions()}set defaultConsentLevel(_){this.defaultConsent=_}saveLogsToSessionStorage(){this.logQueueService.saveLogsToSessionStorage()}restoreSavedLogs(){return this.logQueueService.readConsoleLogsFromSessionStorage()}stopFeedbackUpload(){if(this.isChunkUploadPermitted()){var _,f;this.logQueueService.addLogger("RemoteLoggingService",["Close current feedback session."]),this.logQueueService.stopChunkCollection(!0),this.logQueueService.setHeadRequestStatus(this.isGfcHeadRequestSent=!1),this.logQueueService.updateFeedbackSessionStatus(!0),this.streamSubSessionIds.splice(0,this.streamSubSessionIds.length);const J={parameters:{streamSessionId:l.rK,streamSubSessionIds:this.streamSubSessionIds}};this.eventData=null!==(_=this.eventData)&&void 0!==_?_:{},this.eventData.parameters={...null===(f=this.eventData)||void 0===f?void 0:f.parameters,...J.parameters},this.commonFeedbackData={...this.commonFeedbackData,...this.eventData},this.logQueueService.updateEventData(this.eventData)}}trackIdleFeedbackSessions(){this.logQueueService.getRefreshFeedbackSubjectObservable().pipe((0,B.T)(_=>{3===_?(this.logQueueService.addLogger("RemoteLoggingService",["Stopping feedback upload since max idle timeout duration is reached"]),this.stopFeedbackUpload()):0===_&&(this.logQueueService.addLogger("RemoteLoggingService",["Initiating a new feedback session.."]),this.sendNewGfcHeadRequest())})).subscribe()}onNetworkStatusChanged(_){this.isOnline=_}addGdprConsentFields(){var _;const f={gdprFuncOptIn:null!==(_=this.currentUserConsent.functional)&&void 0!==_?_:this.defaultConsent.functional,gdprTechOptIn:this.currentUserConsent.technical,gdprBehOptIn:this.currentUserConsent.behavioral,deviceGdprFuncOptIn:this.defaultConsent.functional,deviceGdprTechOptIn:this.defaultConsent.technical,deviceGdprBehOptIn:this.defaultConsent.behavioral};this.commonFeedbackData=(0,e.extend)(f,this.commonFeedbackData)}isChunkUploadPermitted(){return!!this.attachmentUploadedPermitted&&this.chunkFailureCount<=2}getLatestLogsChunk(){this.logChunkReceivedSubscription=this.logQueueService.onLogsChunkUpdated().pipe((0,P.ZZ)(_=>(this.logQueueService.addLogger("RemoteLoggingService",["New batch! Attempting to send a batch of size: ",_.logString.length]),this.isChunkUploadPermitted()?this.isOnline&&this.isUserConsentAvailable?this.sendLogsChunk(_.logString,_.isLastChunk,_.params):(this.logQueueService.chunkSendInProgress=!1,this.logQueueService.addLogger("RemoteLoggingService",["Unable to send batch of logs due to lack of user consent and/or user is offline. isUserConsentAvailable: ",this.isUserConsentAvailable,", isOnline: ",this.isOnline]),(0,O.of)(!1)):(this.logQueueService.addLogger("RemoteLoggingService",["Stopping log collection as max failure count is reached."]),this.logQueueService.stopChunkCollection(),(0,O.of)(!1))))).subscribe(_=>{_||this.logQueueService.addLogger("RemoteLoggingService",["Chunk send failure."])})}terminateChunkReceivedSubscription(){this.logChunkReceivedSubscription&&(this.logChunkReceivedSubscription.unsubscribe(),this.logChunkReceivedSubscription=null)}sendNewGfcHeadRequest(){this.terminateChunkReceivedSubscription(),this.logQueueService.setHeadRequestStatus(this.isGfcHeadRequestSent=!1),this.commonFeedbackData.feedbackId=(0,A.bz)(),this.feedbackIdSubject.next(this.commonFeedbackData.feedbackId),this.commonFeedbackData.clientTs=(new Date).toISOString(),this.logQueueService.addLogger("RemoteLoggingService",["New GFC feedback session created: ",this.commonFeedbackData.feedbackId]),console.log("New GFC feedback session created: ",this.commonFeedbackData.feedbackId),this.sendGfcHeadRequest(this.commonFeedbackData)}handleHeadRequestErrors(_){switch(_.status){case l.u4.FeedbackIdInUse:case l.u4.FeedbackIdExpired:this.logQueueService.setHeadRequestStatus(this.isGfcHeadRequestSent=!1),this.sendNewGfcHeadRequest();break;case l.u4.AttachmentsRejected:this.attachmentUploadedPermitted=!1,this.logQueueService.stopChunkCollection()}}sendGfcHeadRequest(_){this.gfcService=(0,e.isUndefined)(this.gfcService)?this.injector.get(r.NO):this.gfcService,this.isOnline&&this.isUserConsentAvailable&&(_.sentTs=(new Date).toISOString(),this.gfcService.sendFeedbackEvent(_).subscribe(f=>{this.logQueueService.setHeadRequestStatus(this.isGfcHeadRequestSent=!0),(0,e.isNil)(this.logChunkReceivedSubscription)&&this.getLatestLogsChunk()},f=>{this.logQueueService.addLogger("RemoteLoggingService",["Send HEAD request error: ",f]),this.handleHeadRequestErrors(f)}))}handleExternalUrlLoad(){this.logQueueService.clearQueueAndBuffer(!0)}handleBrowserTabClosure(){window.addEventListener("pagehide",_=>{this.logQueueService.addLogger("RemoteLoggingService",["Window pagehide triggered."]),this.isGfcHeadRequestSent&&this.logQueueService.clearQueueAndBuffer(!0)})}handleSpecialAttachmentErrors(_){if(this.isChunkUploadPermitted()&&_.status===l.Fj.InvalidFeedbackId)this.sendNewGfcHeadRequest();else if(this.isChunkUploadPermitted()&&_.status===l.Fj.NonSequentialChunk){var f;const J=null==_||null===(f=_.rawResponse)||void 0===f||null===(f=f.headers)||void 0===f?void 0:f.get("x-data-offset");this.gfcService.updateOffsetOnSuccessfulAttachmentRequest(J)}else this.isChunkUploadPermitted()||(this.logQueueService.addLogger("RemoteLoggingService",["Attachment error, stopping log collection as max failure count is reached."]),this.logQueueService.stopChunkCollection())}sendLogsChunk(_,f,J){return this.gfcService.sendFeedbackChunkEvent(_,this.eventData,f,J).pipe((0,P.ZZ)(a=>(this.gfcService.updateOffsetOnSuccessfulAttachmentRequest(),this.logQueueService.onSendChunkSuccess(),(0,O.of)(!0))),(0,k.W)(a=>(this.logQueueService.addLogger("RemoteLoggingService",["Failure in sending a chunk: ",a]),null!=a&&a.status?(this.chunkFailureCount++,this.handleSpecialAttachmentErrors(a),this.logQueueService.onSendChunkFailure(a)):this.logQueueService.addLogger("RemoteLoggingService",["Non GFC error occurred: ",a,null==a?void 0:a.message]),(0,O.of)(!1))),(0,U.j)(()=>{f&&null!=J&&J.isBrowserClosing&&this.terminateChunkReceivedSubscription()}))}prepareGfcFeedbackEventParams(_){this.eventData={parameters:_},this.logQueueService.updateEventData(this.eventData)}prepareFeedbackCommonEventData(_){this.commonFeedbackData=(0,e.merge)(this.commonFeedbackData,_),this.feedbackIdSubject.next(this.commonFeedbackData.feedbackId),this.commonFeedbackData.userId===l.rK&&this.logQueueService.updateUserConsent(this.isUserConsentAvailable=!1)}setUserConsent(_){this.currentUserConsent=_.userConsent,(0,e.isEmpty)(_.externalUserId)?(this.externalUserId=_.userId,this.currentUserId=r.Qe,this.idpId=r.Qe):(this.currentUserId=_.userId,this.externalUserId=_.externalUserId,this.idpId=_.idpId),this.currentUserConsent.technical===I.Rg.Full?(this.logQueueService.updateUserConsent(this.isUserConsentAvailable=!0),this.addGdprConsentFields(),this.commonFeedbackData.userId=this.currentUserId,this.commonFeedbackData.externalUserId=this.externalUserId,this.commonFeedbackData.idpId=this.idpId,this.commonFeedbackData.clientTs=(new Date).toISOString(),this.commonFeedbackData=(0,e.extend)(this.commonFeedbackData,this.eventData)):this.logQueueService.updateUserConsent(this.isUserConsentAvailable=!1),this.isGfcHeadRequestSent||this.sendGfcHeadRequest(this.commonFeedbackData)}collectLogString(_){this.logQueueService.appendLogEntry(_)}setBufferConfiguration(_){this.logQueueService.setBufferConfig(_)}updateEventDataParamIds(_){_.streamSessionId?(0!==this.streamSubSessionIds.filter(f=>""===f).length&&this.streamSubSessionIds.splice(0,1),this.streamSubSessionIds.push(_.streamSubSessionId),this.eventData=(0,e.merge)(this.eventData,{parameters:{streamSessionId:_.streamSessionId,streamSubSessionIds:this.streamSubSessionIds}})):_.surveySessionId&&(this.eventData=(0,e.merge)(this.eventData,{parameters:{surveySessionId:_.surveySessionId}})),this.logQueueService.updateEventData(this.eventData)}get feedbackId$(){return this.feedbackIdSubject.asObservable()}ngOnDestroy(){this.terminateChunkReceivedSubscription()}}return(p=i).\u0275fac=function(_){return new(_||p)(S.KVO(S.zZn),S.KVO(L.V),S.KVO(s.C))},p.\u0275prov=S.jDH({token:p,factory:p.\u0275fac,providedIn:"root"}),i})()},60045:(xe,de,t)=>{"use strict";t.d(de,{S:()=>n,r:()=>E});var e=t(58527),n=function(O){return O.Gfe="gfeclient",O.Gfn="gfnclient",O.Igo="shareclient",O.Forager="foragerclient",O.Nvcpl="controlPanelclient",O.Oogg="ooggclient",O.Vdkplaytest="vdkplaytest",O.Nvapp="nvapp",O.Gdn="gdnclient",O}(n||{});let E=(()=>{var O;class B{}return(O=B).\u0275fac=function(k){return new(k||O)},O.\u0275prov=e.jDH({token:O,factory:O.\u0275fac}),B})()},47766:(xe,de,t)=>{"use strict";t.d(de,{lo:()=>L,Du:()=>Yt,gB:()=>hr,m1:()=>li,Sg:()=>ae.S,cq:()=>Kn,Hf:()=>cn,aP:()=>En,Ou:()=>e.Ou,re:()=>Qn,NZ:()=>e.NZ,rQ:()=>Gt.r,Un:()=>e.Un,lH:()=>e.lH,dZ:()=>Z.dZ,sK:()=>Qt.sK,zg:()=>Qt.zg,Qv:()=>$t,Y0:()=>Z.Y0,Rg:()=>Qt.Rg,_N:()=>Rt._,fg:()=>He,O$:()=>fi,I_:()=>zn,Nq:()=>ji,sc:()=>Mt,tO:()=>Fe,at:()=>Ue,gJ:()=>Fn,t_:()=>Z.t_,Jm:()=>kt,jS:()=>mn,MY:()=>te,SQ:()=>ii,Ho:()=>oe,Ff:()=>Xi,Pl:()=>uo,$f:()=>ti,rB:()=>oi,wt:()=>ce,iH:()=>X,$b:()=>ie,V9:()=>Et.V,Vy:()=>J.Vy,q_:()=>Lt.q,J6:()=>J.J6,IU:()=>Jt,iM:()=>ei,hi:()=>Yn,dU:()=>gi,D4:()=>Tn,CF:()=>G.C,Sd:()=>A,aI:()=>F,uP:()=>De,zk:()=>O.zk,Vn:()=>j.V,fV:()=>Re,cK:()=>P,Ts:()=>bi,SV:()=>Wn,pZ:()=>lt,Lu:()=>l,zW:()=>T,zH:()=>en,yr:()=>nn,rK:()=>Z.rK,Qe:()=>Qt.Qe,s7:()=>Ce,To:()=>ge,BU:()=>d,BY:()=>g});var B,e=t(10607),n=t(65240),E=t(85735),O=t(26502);class P{static sendTelemetry(Ae){P.retrySubject.subscribe({next:Ye=>{Ae.info(Ye.isSuccess?"success event ":"failure event ",Date.now(),Ye)}})}static retry(Ae,Ye,fe=P.retryAttempts,ze=P.intervalBetweenRetries){let nt;return new Promise((ut,wt)=>{Ae().then(function(hn){return O.zk.isBrowserPlatform()&&(nt={isSuccess:!0,attemptCount:P.retryAttempts+1-fe,error:null,fileName:Ye},P.retrySubject.next(nt)),ut(hn)}).catch(hn=>{if(O.zk.isBrowserPlatform()){if(nt={isSuccess:!1,attemptCount:P.retryAttempts+1-fe,error:hn,fileName:Ye},P.retrySubject.next(nt),1===fe)return void wt(hn);setTimeout(()=>{P.retry(Ae,Ye,fe-1,P.intervalBetweenRetries*(P.retryAttempts+1-fe)).then(ut,wt)},ze)}else wt(hn)})})}}(B=P).retrySubject=new E.m(5),B.retryAttempts=5,B.intervalBetweenRetries=50;var k=t(43848),U=t(59859),r=t(26875);const A={Ethernet:"Ethernet",WiFi2_4:"WiFi 2.4",WiFi5_0:"WiFi 5.0",WiFi6_0:"WiFi 6.0",WiFiUnknown:"WiFi Unknown",Mobile:"Mobile",Mobile_2G:"Mobile 2G",Mobile_3G:"Mobile 3G",Mobile_4G:"Mobile 4G",Mobile_5G:"Mobile 5G",Wimax:"Wimax",Bluetooth:"Bluetooth",Other:"Other",Unknown:"Unknown"};var l=function(je){return je.DeviceId="DeviceId",je.ProductVersion="ProductVersion",je.ProductName="ProductName",je.Region="Region",je.CPUName="CPUName",je.Disk="Disk",je.PhysicalDisk="PhysicalDisk",je.Display="Display",je.GPU="GPU",je.HID="HID",je.Network="Network",je.OSName="OSName",je.OSVersion="OSVersion",je.BrowserName="BrowserName",je.BrowserVersion="BrowserVersion",je.OSBuildNumber="OSBuildNumber",je.PhysicalMemoryCapacity="PhysicalMemoryCapacity",je.Platform="Platform",je.ProcessorArchitecture="ProcessorArchitecture",je.SystemName="SystemName",je.UserDefaultUILanguage="UserDefaultUILanguage",je.VendorName="VendorName",je.SubApiName="SubApiName",je.ErrorMessage="ErrorMessage",je.ApiStatus="ApiStatus",je.ApiName="ApiName",je.PluginName="PluginName",je.DxVersion="DxVersion",je.DeviceType="DeviceType",je.ConfidenceInBrowser="ConfidenceInBrowser",je.IsBrowserForged="IsBrowserForged",je.Location="Location",je.Make="Make",je.Model="Model",je.CurrentUiMode="CurrentUiMode",je.DisplayDataInfo="DisplayDataInfo",je.UserSpecifiedDeviceName="UserSpecifiedDeviceName",je}(l||{});const I=[l.CPUName,l.OSName,l.OSVersion,l.BrowserName,l.BrowserVersion,l.OSBuildNumber,l.PhysicalMemoryCapacity,l.Platform,l.ProcessorArchitecture,l.SystemName,l.VendorName,l.DeviceType,l.ConfidenceInBrowser,l.IsBrowserForged,l.DeviceId,l.ProductVersion,l.ProductName,l.Make,l.Model,l.UserDefaultUILanguage,l.DxVersion,l.UserSpecifiedDeviceName],S=I.filter(je=>je!==l.DxVersion),L=Object.values(l);var s=t(83915),M=t(72147),u=t(14714),x=t(75707),p=t(91384),i=t(86447),o=t(65726),_=t(10174),f=t(53461),J=t(3678);class a{constructor(Ae,Ye,fe,ze="assets/i18n/",nt=".json"){this.http=Ae,this.prefix=ze,this.suffix=nt,this.config={},this.logger=Ye.getLogger("FallbackTranslationLoader"),this.config.localeFileHashes=fe}getTranslation(Ae){let Ye;return Ye=this.config.localeFileHashes&&this.config.localeFileHashes[Ae]?`${this.prefix}${Ae}.${this.config.localeFileHashes[Ae]}${this.suffix}`:`${this.prefix}${Ae}${this.suffix}`,this.http.get(Ye)}}var D=t(94485);const te="en_GB",R=["ar"],v=new Map([["ar",["ar_SA","ar_EG"]],["bg",["bg_BG"]],["ca",["ca_ES"]],["cs",["cs_CZ"]],["da",["da_DK"]],["de",["de_DE","de_AT","de_CH"]],["el",["el_GR"]],["en",["en_GB"]],["en_MX",["en_US"]],["en_US",["en_GB"]],["es",["es_MX","es_US","es_ES"]],["es_ES",["es_MX","es_US"]],["fa",["fa_IR"]],["fi",["fi_FI"]],["fr",["fr_FR"]],["hr",["hr_HR"]],["hu",["hu_HU"]],["in",["in_ID"]],["id",["id_ID"]],["it",["it_IT"]],["iw",["iw_IL"]],["he",["he_IL"]],["ja",["ja_JP"]],["ka",["ka_GE"]],["ko",["ko_KR"]],["lt",["lt_LT"]],["lv",["lv_LV"]],["ms",["ms_MY"]],["nb",["nb_NO"]],["no",["nb_NO"]],["nl",["nl_NL"]],["pl",["pl_PL"]],["pt",["pt_BR","pt_PT"]],["pt_PT",["pt_BR"]],["ro",["ro_RO"]],["ru",["ru_RU"]],["sk",["sk_SK"]],["sl",["sl_SI"]],["sr",["sr_RS"]],["sv",["sv_SE"]],["th",["th_TH"]],["tl",["tl_PH"]],["tr",["tr_TR"]],["uk",["uk_UA"]],["vi",["vi_VN"]],["zh",["zh_CN"]],["zh_HK",["zh_TW","zh_CN"]],["zh_MO",["zh_TW","zh_CN"]],["zh_MY",["zh_CN"]],["zh_SG",["zh_CN"]],["zh_TW",["zh_HK","zh_CN"]],["zh_CHT",["zh_TW"]],["zh_CHS",["zh_CN"]],["zh-Latn_CN",["zh_CN"]]]);var h=t(25172),W=t(58527),ne=t(31315),ee=t(65706),b=t(33367),w=t(81834),F=function(je){return je.Windows="Windows",je.Mac="Mac",je.Linux="Linux",je}(F||{}),Z=t(70115),se=t(31650);let T=(()=>{var je;class Ae{constructor(fe,ze,nt){this.bridgeService=ze,this.previousSystemInfo={},this.systemInfoGuid=(0,w.bz)(),this.systemInfoGuidSubject=new E.m(1),this.streams=new Map,this.logger=fe.getLogger("crimson/SystemInfoService"),this.clientHeaderInfoStream=nt.createStream(()=>this.fetchClientHeadersInfo(),!0,!0,!0,3e4),Object.values(l).forEach(ut=>{I.includes(ut)?this.streams.set(ut,nt.createStream(()=>this.fetchSpecificSystemInfo(ut))):this.streams.set(ut,nt.createStream(()=>this.fetchSpecificSystemInfo(ut),!0,!0,!0,3e4))}),this.getSystemInfo(S).subscribe()}checkStreamingSupport(){return this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.GetStreamingSupportInfo).pipe((0,s.T)(fe=>fe.IsStreamingSupported))}fetchDeviceId(){return this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.GetDeviceId).pipe((0,s.T)(fe=>({DeviceId:fe.DeviceID})))}getSystemInfoGuid(){return this.systemInfoGuidSubject.asObservable()}updateSystemInfoGuid(fe){(0,r.isEqual)(fe,this.previousSystemInfo)||(this.systemInfoGuid=(0,w.bz)(),this.previousSystemInfo=fe),this.systemInfoGuidSubject.next(this.systemInfoGuid)}fetchClientHeadersInfo(){return O.zk.isAndroidPlatform()?this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.GetSystemInfo):this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.GetClientHeadersInfo)}fetchSystemInfo(fe){const ze=new Set(fe),nt=[];if(ze.delete(l.DeviceId)){const ut=this.fetchDeviceId();nt.push(ut)}if(O.zk.isCefPlatform()&&(ze.delete(l.BrowserName)||ze.delete(l.BrowserVersion))){const ut=this.fetchBrowserInfo();nt.push(ut)}if(ze.size){const ut=this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.GetSystemInfo,{keys:[...ze]}).pipe((0,s.T)(wt=>(delete wt._return_code,delete wt._return_status,delete wt._return_internal,wt)));nt.push(ut)}return(0,ne.zV)([...nt]).pipe((0,s.T)(ut=>{let wt={};return ut.forEach(hn=>{wt={...wt,...hn}}),wt}),(0,p.M)(ut=>{const wt={...this.previousSystemInfo,...ut};this.updateSystemInfoGuid(wt)}))}fetchBrowserInfo(){return this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.GetBrowserInfo).pipe((0,s.T)(fe=>({BrowserName:(null==fe?void 0:fe.BrowserNameNative)||Z.rK,BrowserVersion:(null==fe?void 0:fe.BrowserVersionNative)||Z.rK})))}fetchSpecificSystemInfo(fe){return this.fetchSystemInfo([fe])}getSystemInfo(fe,ze=!1){if(ze)return this.fetchSystemInfo(fe);const nt=[],ut={};return fe.forEach(wt=>{var hn;const Ii=null===(hn=this.streams.get(wt))||void 0===hn?void 0:hn.getData();Ii&&Ii[wt]?ut[wt]=Ii[wt]:nt.push(wt)}),0===nt.length?(0,k.of)(ut):this.fetchSystemInfo(nt).pipe((0,s.T)(wt=>({...ut,...wt})),(0,p.M)(wt=>{Object.keys(wt).forEach(hn=>{this.streams.has(hn)?this.streams.get(hn).setData(wt,!0):this.logger.error("No systemInfo stream for key ",hn)})}))}getClientHeadersInfo(fe=!1){return fe?this.clientHeaderInfoStream.refresh().pipe((0,ee.s)(1)):this.clientHeaderInfoStream.get$().pipe((0,ee.s)(1))}getDeviceOSType(){return this.getSystemInfo([l.OSName,l.Platform]).pipe((0,s.T)(fe=>O.zk.isBrowserLikePlatform()?fe.OSName:fe.Platform===F.Mac?Z.t_.MacOS:fe.Platform===F.Windows?Z.t_.Windows:fe.Platform===F.Linux?fe.OSName===Z.t_.SteamOS?Z.t_.SteamOS:Z.t_.Linux:Z.t_.Undefined))}onNetworkChanged(){const fe=this.getSystemInfo([l.Network]);return O.zk.isBrowserPlatform()?(0,ne.zV)([fe,this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.GetNetworkTypeChangedInfo)]).pipe((0,s.T)(([nt,ut])=>({...nt.Network,NetworkType:ut.networkType}))).pipe((0,f.F)(w.ab)):fe.pipe((0,s.T)(ze=>ze.Network))}}return(je=Ae).BrowserNameNative="Chrome",je.\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(se.N),W.KVO(w.mZ))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var H=t(22743),y=t(21172);let X=(()=>{var je;class Ae{get collator(){var fe;return!this._collator&&null!==(fe=window.Intl)&&void 0!==fe&&fe.Collator&&(this._collator=new Intl.Collator(this.getShortLocale(),{sensitivity:"base",numeric:!0})),this._collator}get displayNames(){var fe;return!this._displayNames&&null!==(fe=window.Intl)&&void 0!==fe&&fe.DisplayNames&&(this._displayNames=new Intl.DisplayNames([this.getLocale().replace("_","-")],{type:"language",languageDisplay:"standard",fallback:"none"})),this._displayNames}constructor(fe,ze,nt,ut,wt,hn){this.translate=ze,this.systemInfoService=nt,this.config=wt,this.pluginsNotificationService=hn,this.rtlLocaleSupported=!1,this.rtlLayoutEnabled=!1,this.layoutDirectionUpdated$=new E.m(1),this.retrySubject=new E.m(5),this.isSuccessEventSent=!1,this.isDirectionalityInitialized=!1,this._collator=null,this._displayNames=null,this.logger=fe.getLogger("LocaleService"),this.localeChangedSubscription=ut.createStream(this.updateLocale.bind(this)),this.translate.setDefaultLang("en_US")}updateLocale(){const fe=this.systemInfoService.getSystemInfo([l.UserDefaultUILanguage]).pipe((0,s.T)(ze=>{let nt=ze.UserDefaultUILanguage;return((0,r.isEmpty)(nt)||this.isRTLLocale(nt)&&!this.isRTLLocaleSupported)&&(this.logger.error(`Missing default UI language. Falling back to ${te} for default language.`),nt=te),nt}));return this.pluginsNotificationService.isPluginLoaded$(h.YQ).pipe((0,M.n)(ze=>ze?fe:(0,k.of)(te)),(0,u.W)(()=>(this.logger.error(`Failed to get system info. Falling back to ${this.defaultLocale} for default language.`),(0,k.of)(te))),(0,x.ZZ)(ze=>{let nt=ze;return(0,r.isNil)(this.config.supportedLang.find(ut=>ut===nt))&&(nt=this.getMappedLocale(nt)),this.defaultLocale=nt,this.updateCurrentLocale()}),(0,p.M)(ze=>{this.logger.info("Locale set to "+ze),this._collator=null,this._displayNames=null}))}getLocaleDownloadRetryTelemetryData(){return this.retrySubject}retryOnFailure(fe,ze){let nt=1;return fe.pipe((0,i.l)(ut=>ut.pipe((0,M.n)(wt=>O.zk.isBrowserPlatform()?(this.isSuccessEventSent=!1,this.retrySubject.next({isSuccess:!1,attemptCount:nt,error:null,fileName:ze+".json"}),nt>=P.retryAttempts?(this.isSuccessEventSent=!0,this.logger.info("Locale JSON dowload retries expired."),(0,U.$)(wt)):(this.logger.info("Locale JSON dowload failed, trying again ",nt),nt+=1,(0,k.of)(wt))):(this.logger.error("Not a Browser Client, so retry skipped",wt),(0,U.$)(wt))),(0,o.c)(nt*P.intervalBetweenRetries))),(0,p.M)(()=>{!this.isSuccessEventSent&&O.zk.isBrowserPlatform()&&(this.retrySubject.next({isSuccess:!0,attemptCount:nt,error:null,fileName:ze+".json"}),this.isSuccessEventSent=!0)}))}updateCurrentLocale(){const fe=(0,r.isNil)(this.currentLocale)?this.defaultLocale:this.currentLocale;return this.retryOnFailure(this.translate.use(fe),fe).pipe((0,_.u)(fe),(0,u.W)(ze=>(this.logger.error("Locale Json download failed with error ",ze),this.useMappedLocale(fe))))}getMappedLocale(fe){let ze;if(!(0,r.isEmpty)(fe)&&fe.startsWith("zh_Hant")&&(ze="zh_TW"),!(0,r.isEmpty)(fe)&&v.get(fe)){const nt=v.get(fe);ze=null==nt?void 0:nt.find(ut=>this.config.supportedLang.includes(ut))}if(!ze&&fe!==te&&!(0,r.isEmpty)(fe)&&fe.length>=2){const nt=v.get(fe.substr(0,2));ze=null==nt?void 0:nt.find(ut=>this.config.supportedLang.includes(ut))}return ze=ze||te,this.logger.info(`Mapped locale for ${fe} is: ${ze}`),ze}useMappedLocale(fe){const ze=this.getMappedLocale(fe);return this.isSuccessEventSent=!1,this.retryOnFailure(this.translate.use(ze),ze).pipe((0,_.u)(ze),(0,u.W)(()=>ze!==te?(this.logger.error(`Could not find translations for ${fe}, falling back to ${te}`),this.useMappedLocale(te)):(0,U.$)(`Could not load fallback locale ${te}. Translations cannot be loaded.`)))}updateUIDirectionality(){var fe,ze;this.isRTLLayoutEnabled=this.isRTLLocale(this.getLocale()),(null===(fe=document)||void 0===fe?void 0:fe.getElementsByTagName("html")[0]).dir=this.isRTLLayoutEnabled?"rtl":"ltr";const ut=null===(ze=document)||void 0===ze?void 0:ze.getElementsByTagName("body")[0];ut.dir=this.isRTLLayoutEnabled?"rtl":"ltr",ut.classList.add(this.isRTLLayoutEnabled?"isRtl":"isLtr"),this.isDirectionalityInitialized=!0}isDirectionalityChanged(){return!this.isRTLLayoutEnabled===this.isRTLLocale(this.getLocale())}useDefaultLocale(){return this.currentLocale=void 0,this.localeChangedSubscription.refresh()}setLocale(fe){return(0,r.isNil)(this.config.supportedLang.find(ze=>ze===fe))&&(fe=this.getMappedLocale(fe)),fe===this.currentLocale?(0,k.of)(this.currentLocale):(this.currentLocale=fe,this.localeChangedSubscription.refresh())}getLocale(){return this.currentLocale?this.currentLocale:this.defaultLocale}getShortLocale(){return this.getLocale()?this.getLocale().substr(0,2):"en"}get localeChanged(){return this.localeChangedSubscription.get$().pipe((0,f.F)(),(0,p.M)(()=>{(!this.isDirectionalityInitialized||this.isDirectionalityChanged())&&this.updateUIDirectionality()}))}get isRTLLocaleSupported(){return this.rtlLocaleSupported}set isRTLLocaleSupported(fe){this.rtlLocaleSupported=fe}get isRTLLayoutEnabled(){return this.rtlLayoutEnabled}set isRTLLayoutEnabled(fe){this.rtlLayoutEnabled=fe,this.layoutDirectionUpdated$.next(!0)}isRTLLocale(fe){return R.includes(fe.substr(0,2))}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(n.c$),W.KVO(T),W.KVO(w.mZ),W.KVO(H.v),W.KVO(y.P))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();function g(je){return n.h.forRoot({loader:{provide:n.Wr,useFactory:(Ae,Ye)=>function c(je,Ae,Ye){return new a(je,Ae,Ye)}(Ae,Ye,je),deps:[D.Qq,J.J6]}})}function d(){return n.h.forChild()}var Q=t(70521),j=t(72477);const le="[Worker]:";let ge=(()=>{var je;class Ae{constructor(fe,ze,nt){this.serviceWorkerService=fe,this.loggingService=ze,this.remoteLoggingService=nt,this.logger=ze.getLogger(le)}initialize(fe,ze){this.serviceWorkerService.swLoggingUpdate$.pipe().subscribe(ut=>{this.remoteLoggingService.collectLogString(ut.content)});const nt=this.loggingService.getLoggingLevel(le);this.loggerSettings={remoteLoggingEnabled:fe,consoleLoggingEnabled:ze,loggingLevel:nt,remoteLogFunction:null},this.serviceWorkerService.postMessageSw({type:Q.oY.SetLoggerSettings,content:JSON.stringify(this.loggerSettings)})}getLoggerSettings(){return this.loggerSettings}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(Q.lS),W.KVO(J.J6),W.KVO(j.V))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var ie=function(je){return je.INFO="INFO",je.WARN="WARN",je.DEBUG="DEBUG",je.ERROR="ERROR",je}(ie||{});let ce=(()=>{var je;class Ae{constructor(fe){this.loggingService=fe}logBasedOnLevel(fe){switch(fe.logLevel){case ie.INFO:case ie.DEBUG:this.logger.info(fe.logStr,fe.timeStamp);break;case ie.ERROR:this.logger.error(fe.logStr,fe.timeStamp);break;case ie.WARN:this.logger.warn(fe.logStr,fe.timeStamp)}}sendLog(fe){this.logger=this.loggingService.getLogger(fe.logModule?fe.logModule+"/"+fe.logTag:fe.logTag),this.logBasedOnLevel(fe)}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var G=t(30308),ue=t(36877),ae=t(60045);let Ce=(()=>{var je;class Ae{constructor(fe,ze){this.logger=fe.getLogger("crimson/windowService"),this.windowRef=window||{},this.windowRef.name=ze.name}get window(){return this.windowRef}getFocusEvent(){return(0,ue.R)(window,"focus")}getPageShowEvent(){return(0,ue.R)(window,"pageshow")}getBeforeUnloadEvent(){return(0,ue.R)(window,"beforeunload")}getKeydownEvent(){return(0,ue.R)(window,"keydown")}getKeyupEvent(){return(0,ue.R)(window,"keyup")}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(ae.r))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})(),Se=(()=>{var je;class Ae{get globalStores(){return this.globalStoreDefMap}get userStores(){return this.userStoreDefMap}get appDbName(){return this.dbName}constructor(fe){this.dbName=fe.name,this.globalStoreDefMap=new Map,this.userStoreDefMap=new Map}defineStore(fe,ze){const nt=fe.storeName;if(ze.has(nt))throw new Error(`Error: store name already exists: ${nt}`);let ut;return fe.name=this.dbName,fe.hasOwnProperty("storeDefault")&&(ut=fe.storeDefault,delete fe.storeDefault),ze.set(nt,{config:fe,upgrades:new Map,storeDefault:ut}),this}defineUpgrade(fe,ze,nt,ut){const wt=ut.get(fe);return wt.upgrades.set(ze,nt),wt.upgradeTargetVersion=ze,this}defineGlobalStore(fe){return this.defineStore.call(this,fe,this.globalStoreDefMap)}defineUserStore(fe){return this.defineStore.call(this,fe,this.userStoreDefMap)}upgradeGlobalStore(fe,ze,nt){return this.defineUpgrade.call(this,fe,ze,nt,this.globalStoreDefMap)}upgradeUserStore(fe,ze,nt){return this.defineUpgrade.call(this,fe,ze,nt,this.userStoreDefMap)}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(ae.r))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var Ne=t(80583),we=t(63997),ve=t(19392),Pe=t(8624),Oe=t(79539),Be=t(43615);class tt{constructor(Ae,Ye,fe){this.completesExternally=Ae,this.callbacks=Ye,this.staticWorkerFn=fe,this.requestQueue$=new Ne.B7,this.startRequestQueue()}startRequestQueue(){this.requestQueue$.pipe((0,Oe.H)(Ae=>Ae.workerFn.pipe((0,x.ZZ)(Ye=>{if(Ae.response$.observers.length){if(this.completesExternally)return this.onRequestComplete$=new E.m(1),Ae.response$.next(Ye),Ae.response$.complete(),this.callbacks.next&&this.callbacks.next(Ye),this.onRequestComplete$;Ae.response$.next(Ye),Ae.response$.complete(),this.callbacks.next&&this.callbacks.next(Ye)}return(0,k.of)(!0)}),(0,u.W)(Ye=>(Ae.response$.error(Ye),Ae.response$.complete(),this.callbacks.error&&this.callbacks.error(Ye),(0,k.of)(Ye))),(0,Be.j)(()=>{this.callbacks.complete&&this.callbacks.complete()})))).subscribe()}queue(...Ae){let Ye;return Ye=(0,we.v)(this.staticWorkerFn?()=>this.staticWorkerFn(...Ae):Ae.length>1?()=>Ae[0](Ae.slice(1)):()=>Ae[0]()),(0,we.v)(()=>{const fe={workerFn:Ye,response$:new Ne.B7};return this.requestQueue$.next(fe),fe.response$.asObservable()})}notifyRequestCompletion(){this.completesExternally&&(this.onRequestComplete$.next(!0),this.onRequestComplete$.complete())}}var We=t(93181),Qe=t(25577),Fe=function(je){return je.Loading="Loading",je.Dirty="Dirty",je.Saved="Saved",je.NotFound="NotFound",je}(Fe||{}),Xe=function(je){return je.UpgradeStart="UpgradeStart",je.UpgradeEnd="UpgradeEnd",je}(Xe||{}),_e=function(je){return je.Upgrade="Upgrade",je}(_e||{});const He="https://nvfile/";var De=function(je){return je.Measure="measure",je.Resource="resource",je.Element="element",je}(De||{}),Re=function(je){return je.Image="img",je}(Re||{});class K{constructor(Ae,Ye,fe){if(this.config=Ae,this.onDbItemChange=Ye,this.requestQueue=fe,this.versionKey="_version",this.connected=!1,this.name=this.config.storeName,this.dbName=this.config.dbName,this.userId=this.config.userId,this.config.storeDefinition){const ze=this.config.storeDefinition;this.upgrade$=this.upgradeStore(this.config.storeName,ze.storeDefault,ze.upgrades,ze.upgradeTargetVersion||0)}else this.upgrade$=(0,k.of)(this);this.upgrade$.subscribe(()=>{this.connected=!0})}logError(...Ae){console.error("DbDataStore",this.name,JSON.stringify(Ae))}logInfo(...Ae){console.info("DbDataStore",this.name,JSON.stringify(Ae))}upgradeStore(Ae,Ye,fe,ze){let nt;return this.getItem(this.versionKey).pipe((0,x.ZZ)(ut=>(performance.mark(Xe.UpgradeStart),nt=ut||0,0===nt&&Ye?(nt=Ye.version,this.processDirectUpgrade(Ae,Ye,nt)):this.processSequentialUpgrades(Ae,nt,fe,ze))),(0,s.T)(()=>{performance.mark(Xe.UpgradeEnd);const ut=this.getDbUpgradeDuration();return this.logInfo(`Time spent in async db upgrade: ${ut}, store: ${Ae}, new version: ${nt}`),this}))}getDbUpgradeDuration(){try{return performance.measure(_e.Upgrade,Xe.UpgradeStart,Xe.UpgradeEnd),performance.getEntriesByType(De.Measure).find(Ae=>Ae.name===_e.Upgrade).duration}catch(Ae){return this.logError("Error while calling measure on performance",Ae),-1}}processDirectUpgrade(Ae,Ye,fe){const ze=[];for(const nt of Object.keys(Ye.db))ze.push(this.setItem(nt,Ye.db[nt]));return(0,We.p)(ze).pipe((0,x.ZZ)(()=>(this.logInfo(`Store ${Ae} successfully set to default version: ${fe}`),this.setItem(this.versionKey,Ye.version))),(0,ee.s)(1),(0,s.T)(()=>this),(0,u.W)(nt=>(this.logError(`Store ${Ae} failed to upgrade version from 0 to ${fe} due to error: ${nt}`),(0,U.$)(nt))))}processSequentialUpgrades(Ae,Ye,fe,ze){if(Ye>ze)return(0,U.$)(`Store ${Ae} db downgrade not supported. Version: ${Ye}, Target: ${ze}`);if(Ye===ze)return this.logInfo(`Upgrade not required for Store: ${Ae}, Version: ${Ye}`),(0,k.of)(this);let nt;return(0,ve.H)(fe.keys()).pipe((0,Oe.H)(ut=>{if(nt=+ut,nt>Ye){this.logInfo(`Store: ${Ae}, attempting upgrade from version: ${Ye} to ${nt}`);const wt=fe.get(nt);return(0,ve.H)(wt(this)).pipe((0,x.ZZ)(()=>(this.logInfo(`Store ${Ae} successfully upgraded to version: ${nt}`),this.setItem(this.versionKey,Ye=nt))))}return(0,k.of)(this)}),(0,Qe.H)(),(0,s.T)(()=>this),(0,u.W)(ut=>(this.logError(`Store ${Ae} failed to upgrade db from version: ${Ye} to ${nt} due to error ${ut}`),(0,U.$)(ut))))}getItem(Ae){return Ae?this.requestQueue.queue(this.name).pipe((0,x.ZZ)(Ye=>{const ze=Ye.transaction(this.name,"readonly").objectStore(this.name);return(0,ve.H)(ze.get(Ae))}),(0,u.W)(Ye=>(this.logError("error fetching item",Ye),(0,U.$)(Ye))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()})):(0,U.$)("invalid key")}getItemByCursor(Ae){return this.logInfo("get item using cursor for key ",Ae),Ae?this.requestQueue.queue(this.name).pipe((0,x.ZZ)(Ye=>{this.logInfo("request queue item ",this.name);const ze=Ye.transaction(this.name,"readonly").objectStore(this.name);return new Promise((nt,ut)=>{ze.openCursor(Ae).then(function(hn){return hn?Promise.resolve(hn.value):Promise.resolve()}).then(wt=>{nt(wt)}).catch(()=>{ut("Error reading key from store")})})}),(0,u.W)(Ye=>(this.logError("error fetching item",Ye),(0,U.$)(Ye))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()})):(0,U.$)("invalid key")}setItem(Ae,Ye){return this.config.storeDefinition?(Ye instanceof Object&&(Ye.ts=Date.now()),this.setItemInDb(Ae,Ye).pipe((0,s.T)(fe=>(this.onDbItemChange.next({storeName:this.name,userId:this.userId,key:Ae}),Ye)))):this.setItemInDb(Ae,Ye)}setItemInDb(Ae,Ye){return this.requestQueue.queue(this.name).pipe((0,x.ZZ)(fe=>{const ze=fe.transaction(this.name,"readwrite"),ut=ze.objectStore(this.name).put(Ye,Ae);return this.finishReadWriteTxObservable(ut,ze.done)}),(0,u.W)(fe=>(this.logError("error setting item",fe),(0,U.$)(fe))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()}))}removeItem(Ae){return this.requestQueue.queue(this.name).pipe((0,x.ZZ)(Ye=>{const fe=Ye.transaction(this.name,"readwrite"),nt=fe.objectStore(this.name).delete(Ae);return this.finishReadWriteTxObservable(nt,fe.done)}),(0,u.W)(Ye=>(this.logError("error removing item",Ye),(0,U.$)(Ye))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()}))}getAllItems(){return this.requestQueue.queue(this.name).pipe((0,x.ZZ)(Ae=>{const fe=Ae.transaction(this.name,"readonly").objectStore(this.name);return(0,We.p)([(0,ve.H)(fe.getAllKeys()),(0,ve.H)(fe.getAll())])}),(0,s.T)(([Ae,Ye])=>{const fe={};for(let ze=0;ze(this.logError("error fetching item",Ae),(0,U.$)(Ae))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()}))}getAllItemsByCursor(){return this.requestQueue.queue(this.name).pipe((0,x.ZZ)(Ae=>{const fe=Ae.transaction(this.name,"readonly").objectStore(this.name),ze={};return new Promise((nt,ut)=>{fe.openCursor().then(function wt(hn){return hn?((0,r.set)(ze,hn.key.split("/"),hn.value),hn.continue().then(wt)):Promise.resolve()}).then(()=>{nt(ze)}).catch(()=>{ut("Error reading all keys from store")})})}),(0,u.W)(Ae=>(this.logError("error fetching item",Ae),(0,U.$)(Ae))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()}))}clear(){return this.requestQueue.queue(this.name).pipe((0,x.ZZ)(Ae=>{const Ye=Ae.transaction(this.name,"readwrite"),ze=Ye.objectStore(this.name).clear();return this.finishReadWriteTxObservable(ze,Ye.done)}),(0,u.W)(Ae=>(this.logError("error clearing store",Ae),(0,U.$)(Ae))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()}))}length(){return this.keys().pipe((0,s.T)(Ae=>Ae.length))}keys(){return this.requestQueue.queue(this.name).pipe((0,x.ZZ)(Ae=>Ae.transaction(this.name,"readonly").objectStore(this.name).getAllKeys()),(0,u.W)(Ae=>(this.logError("error fetching keys",Ae),(0,U.$)(Ae))),(0,Be.j)(()=>{this.requestQueue.notifyRequestCompletion()}))}finishReadWriteTxObservable(Ae,Ye){return(0,We.p)([(0,ve.H)(this.preventTransactionCloseOnError(Ae)),(0,ve.H)(Ye)])}preventTransactionCloseOnError(Ae){const Ye=(0,Pe.oA)(Ae);return Ye.addEventListener("error",fe=>{this.logError("Request failed, error=",Ye.error),fe.preventDefault(),fe.stopPropagation()}),Ae}}class ke{get onDbItemChange(){return this.dbItemChange$}constructor(Ae,Ye,fe){this.dbName=Ae,this.globalStoreDefMap=Ye,this.userStoreDefMap=fe,this.dbObjectStoresInitialized=new E.m(1),this.dataStores=new Map,this.dbItemChange$=new Ne.B7,this.globalStoreDefMap||(this.globalStoreDefMap=new Map),this.userStoreDefMap||(this.userStoreDefMap=new Map),this.requestQueue=new tt(!0,{next:void 0,error:this.closeDbConnection.bind(this),complete:this.closeDbConnection.bind(this)},this.refreshDbInstance.bind(this))}logError(...Ae){console.error("DbHandler",this.dbName,JSON.stringify(Ae))}logInfo(...Ae){console.info("DbHandler",this.dbName,JSON.stringify(Ae))}refreshDbInstance(Ae){return(0,we.v)(()=>this.dbObjectStores&&!this.dbObjectStores.contains(Ae)?(0,k.of)(!0):(0,k.of)(!1)).pipe((0,x.ZZ)(Ye=>Ye?(this.logInfo("retrieving db version from disk"),this.openDbInstance(Ae).pipe((0,x.ZZ)(fe=>{this.dbInstance=fe,this.dbObjectStores=this.dbInstance.objectStoreNames,this.dbObjectStoresInitialized.next(!0);const ze=this.dbInstance.version;return this.logInfo("current db version",ze),this.closeDbConnection(),this.openDbInstance(Ae,ze+1)}))):this.openDbInstance(Ae).pipe((0,x.ZZ)(fe=>{if(this.dbInstance=fe,this.dbObjectStores=this.dbInstance.objectStoreNames,this.dbObjectStoresInitialized.next(!0),!this.dbObjectStores.contains(Ae)){const ze=this.dbInstance.version;return this.logInfo(`store ${Ae} not found in current db version ${ze}, upgrading`),this.closeDbConnection(),this.openDbInstance(Ae,ze+1)}return(0,k.of)(this.dbInstance)}))),(0,u.W)(Ye=>(this.logError("error",Ye),(0,U.$)(Ye))))}openDbInstance(Ae,Ye){return(0,ve.H)((0,Pe.P2)(this.dbName,Ye,{upgrade:fe=>{this.logInfo("upgrading db for",Ae),this.dbInstance=fe,this.dbObjectStores=this.dbInstance.objectStoreNames,this.dbObjectStoresInitialized.next(!0),this.dbObjectStores.contains(Ae)||this.dbInstance.createObjectStore(Ae)}}))}closeDbConnection(){this.dbInstance?(this.dbInstance.close(),this.dbInstance=null):this.logError("attempted to close db connection when local instance unavailable")}getDataStore(Ae){if(!this.dataStores.has(Ae.storeDbName)){this.logInfo(`Create datastore instance: ${Ae.storeDbName}`);const Ye=Object.assign({},Ae,{dbName:this.dbName});this.dataStores.set(Ae.storeDbName,new K(Ye,this.dbItemChange$,this.requestQueue))}return this.dataStores.get(Ae.storeDbName)}getGlobalStore(Ae){return this.getDataStore({storeName:Ae,storeDbName:Ae,storeDefinition:this.globalStoreDefMap.get(Ae)})}getUserStore(Ae,Ye){return this.getDataStore({storeName:Ye,storeDbName:`${Ae}_${Ye}`,userId:Ae,storeDefinition:this.userStoreDefMap.get(Ye)})}getStore(Ae){return this.getDataStore({storeName:Ae,storeDbName:Ae})}checkIfStoreExists(Ae){return this.dbObjectStoresInitialized.asObservable().pipe((0,s.T)(()=>this.dbObjectStores.contains(Ae)))}getAllStoreNames(){return Array.from(this.dataStores.keys())}}let Ue=(()=>{var je;class Ae{constructor(fe,ze){this.logger=ze.getLogger("crimson/DBService"),this.globalStoreDefMap=fe.globalStores,this.userStoreDefMap=fe.userStores,this.dbName=fe.appDbName,this.dbhandlerInstance=new ke(this.dbName,this.globalStoreDefMap,this.userStoreDefMap)}get dbHandler(){return this.dbhandlerInstance}getGlobalStore(fe){return this.dbhandlerInstance.getGlobalStore(fe)}getUserStore(fe,ze){return this.dbhandlerInstance.getUserStore(fe,ze)}getStore(fe){return this.dbhandlerInstance.getStore(fe)}checkKeysOfExisitngDbStore(fe){return this.dbhandlerInstance.checkIfStoreExists(fe).pipe((0,ee.s)(1),(0,x.ZZ)(ze=>ze?this.getGlobalStore(fe).length():(0,k.of)(0)))}deleteOldKeys(fe){return this.checkKeysOfExisitngDbStore(fe).pipe((0,x.ZZ)(ze=>ze?this.getGlobalStore(fe).clear():(0,k.of)(null)),(0,s.T)(ze=>ze?(this.logger.info("Keys in db store deleted"),!0):(this.logger.info("No keys in the dB store, skip deletion"),!1)))}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(Se),W.KVO(J.J6))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var et=t(99443);class gt{constructor(Ae,Ye,fe,ze){this.dbHandler=Ae,this.storeName=Ye,this.key=fe,this.userId=ze,this.status_=Fe.Loading,this.syncObservers=new Set,this.wait$=new et.h}get status(){return this.status_}updateStatus(Ae){const Ye=this.status_;this.status_=Ae,this.isFirstSyncComplete(Ye)&&(this.wait$.next(this.status),this.wait$.complete())}isFirstSyncComplete(Ae){return!this.wait$.closed&&Ae===Fe.Loading&&this.status_!==Fe.Loading}persist_(){this.updateStatus(Fe.Dirty);const Ae=this.getStore(this.userId,this.storeName),Ye=(({status:fe,status_:ze,persist_:nt,sync_:ut,observe_:wt,unobserve_:hn,wait_:Ii,dbHandler:ko,updateStatus:Oi,isFirstSyncComplete:Vt,getStore:nr,syncObservers:Mo,wait$:jt,...bo})=>bo)(this);return Ae.setItem(this.key,Ye).pipe((0,p.M)(()=>this.updateStatus(Fe.Saved)),(0,u.W)(()=>(this.logError(`Error persisting the key ${this.key} to db`),(0,k.of)(Ye))))}getStore(Ae,Ye){return Ae?this.dbHandler.getUserStore(Ae,Ye):this.dbHandler.getGlobalStore(Ye)}sync_(){return this.getStore(this.userId,this.storeName).getItem(this.key).pipe((0,s.T)(Ye=>{if(!((Ye=Ye||{})instanceof Object))throw new Error("Tried to cache plain old data. Only Object types supported");for(const fe of Object.keys(Ye))this[fe]=Ye[fe];return this.updateStatus(Fe.Saved),this.syncObservers.forEach(fe=>{fe()}),Ye}))}wait_(){return this.wait$.closed&&(this.wait$=new et.h,this.status_!==Fe.Loading&&(this.wait$.next(this.status),this.wait$.complete())),this.wait$.asObservable()}observe_(Ae){this.syncObservers.add(Ae),this.status_!==Fe.Loading&&Ae()}unobserve_(Ae){this.syncObservers.delete(Ae)}logError(...Ae){console.error("DbHandler",this.storeName,JSON.stringify(Ae))}}let vt=(()=>{var je;class Ae{get globalCacheDefinitions(){return this.globalLoadMap}get userCacheDefinitions(){return this.userLoadMap}get globalCache(){return this.globalCacheMap}get userCache(){return this.userCacheMap}constructor(fe){this.dbService=fe,this.globalLoadMap=new Map,this.userLoadMap=new Map,this.globalCacheMap=new Map,this.userCacheMap=new Map}loadGlobalKey(fe,ze){this.globalLoadMap.has(fe)||this.globalLoadMap.set(fe,new Set),this.globalLoadMap.get(fe).add(ze),this.globalCacheMap.has(fe)||this.globalCacheMap.set(fe,new Map),this.globalCacheMap.get(fe).set(ze,new gt(this.dbService.dbHandler,fe,ze))}loadUserKey(fe,ze){this.userLoadMap.has(fe)||this.userLoadMap.set(fe,new Set),this.userLoadMap.get(fe).add(ze)}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(Ue))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})(),Mt=(()=>{var je;class Ae{constructor(fe,ze,nt){this.loggingService=fe,this.dbService=nt,this.logger=this.loggingService.getLogger("crimson/dbCacheService"),this.globalCacheDefinitions=ze.globalCacheDefinitions,this.userCacheDefinitions=ze.userCacheDefinitions,this.globalCache=ze.globalCache,this.userCacheMap=ze.userCache,this.dbService.dbHandler.onDbItemChange.subscribe(ut=>{let wt;ut.userId?this.userCacheMap.has(ut.userId)&&this.userCacheMap.get(ut.userId).has(ut.storeName)&&(wt=this.userCacheMap.get(ut.userId).get(ut.storeName).get(ut.key)):this.globalCache.has(ut.storeName)&&(wt=this.globalCache.get(ut.storeName).get(ut.key)),wt&&wt.sync_().subscribe()})}syncGlobal(fe){const ze=this.globalCacheDefinitions.get(fe),nt=[];return ze.forEach(ut=>{const wt=this.globalCache.get(fe);nt.push(wt.get(ut).sync_())}),(0,We.p)(nt).pipe((0,p.M)(()=>{this.logger.info(`Cached DB store ${fe} into memory`)}))}syncUser(fe,ze){const nt=this.userCacheDefinitions.get(fe);this.userCacheMap.has(ze)||this.initUserCache(ze);const ut=[];return nt.forEach(wt=>{const hn=this.userCacheMap.get(ze).get(fe);ut.push(hn.get(wt).sync_())}),(0,We.p)(ut).pipe((0,p.M)(()=>{this.logger.info(`Cached user DB store ${fe} into memory for user ${ze}`)}))}initUserCache(fe){this.userCacheMap.set(fe,new Map),this.userCacheDefinitions.forEach((ze,nt)=>{ze.forEach(ut=>{this.userCacheMap.get(fe).has(nt)||this.userCacheMap.get(fe).set(nt,new Map),this.userCacheMap.get(fe).get(nt).set(ut,new gt(this.dbService.dbHandler,nt,ut,fe))})})}getCachedGlobalItem(fe,ze){if(this.globalCache.has(fe))return this.globalCache.get(fe).get(ze)}getOrCreateCachedGlobalItem(fe,ze){return(!this.globalCache.has(fe)||!this.globalCache.get(fe).has(ze))&&(this.globalCacheDefinitions.has(fe)||this.globalCacheDefinitions.set(fe,new Set),this.globalCacheDefinitions.get(fe).add(ze),this.globalCache.has(fe)||this.globalCache.set(fe,new Map),this.globalCache.get(fe).set(ze,new gt(this.dbService.dbHandler,fe,ze))),this.globalCache.get(fe).get(ze)}getCachedUserItem(fe,ze,nt){return this.userCacheMap.has(fe)||this.initUserCache(fe),this.userCacheMap.get(fe).get(ze).get(nt)}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(vt),W.KVO(Ue))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var Tt,Rt=t(64655);t(61090),t(81799),t(33328),function(je){let Ae;var Ye;(Ye=Ae=je.HandlerEventType||(je.HandlerEventType={})).SimpleWindowEvent="SIMPLE_WINDOW_EVENT",Ye.StructuredWindowEvent="STRUCTURED_WINDOW_EVENT",Ye.IpcEvent="IPC_EVENT"}(Tt||(Tt={}));var kt=function(je){return je.Types=Tt,je}(kt||{}),At=t(27731);class mn{constructor(Ae,Ye){this.bridgeService=Ae,this.keyToMessageType=new Map,this.eventHandlerLogger=Ye,this.eventStreams=new w.V$(fe=>{if(!this.keyToMessageType.has(fe))return this.eventHandlerLogger.error("No message type for key",fe),At.t;const ze=this.keyToMessageType.get(fe);return this.handlerMap[ze].internalSubjects.set(fe,new Ne.B7),this.handlerMap[ze].internalSubjects.get(fe).asObservable()},!1,!1)}registerNewHandler(Ae,Ye,fe,ze,nt){this.handlerMap||(this.handlerMap={}),this.handlerMap[Ae]={pred:Ye,keyFunc:fe,valFunc:ze,transformedFunc:nt,internalSubjects:new Map}}get$(Ae,Ye=this.defaultHandlerType){return this.keyToMessageType.has(Ae)||this.keyToMessageType.set(Ae,Ye),this.eventStreams.get$(Ae)}processMessage(Ae){for(const Ye of Object.keys(this.handlerMap))if(this.handlerMap[Ye].pred(Ae)){const ze=this.handlerMap[Ye].transformedFunc(Ae),nt=this.handlerMap[Ye].keyFunc(ze),ut=this.handlerMap[Ye].valFunc(ze);this.handlerMap[Ye].internalSubjects.has(nt)?this.handlerMap[Ye].internalSubjects.get(nt).next(ut):this.eventHandlerLogger.info("No subscribers for event with key ",nt)}}}var Tn=function(je){return je.ApplicationHide="APPLICATION_HIDE",je.ApplicationShow="APPLICATION_SHOW",je.WindowMinimize="MINIMIZE",je.WindowMaximize="MAXIMIZE",je.WindowRestore="RESTORE",je.IpcNewMessage="IPC_NEW_MESSAGE",je.SelfUpdate="SELF_UPDATE",je.RouteChange="URL_ROUTE_CHANGE",je.StoredCommandLine="STORED_COMMAND_LINE",je.ProcessEvent="PROCESS_EVENT",je.UpdateInitiated="UPDATE_INITIATED",je.SharedStorageUpdate="SHARED_STORAGE_UPDATE",je.ForegroundEvent="FOREGROUND_EVENT",je.DisplayModeChange="DISPLAYMODECHANGE",je}(Tn||{});class wn{constructor(Ae){const{type:Ye,...fe}=Ae;this.type=Ye,this.params=fe}}class qn extends wn{constructor(Ae){super(Ae),this.newRoute=Ae["new-route"],this.currentRoute=Ae["current-route"]}}class di{static create(Ae){return Ae.type===Tn.RouteChange?new qn(Ae):new wn(Ae)}}let gi=(()=>{var je;class Ae extends mn{constructor(fe,ze){const nt=ze.getLogger("nativeEventService");super(fe,nt),this.logger=nt,this.defaultHandlerType=kt.Types.HandlerEventType.SimpleWindowEvent,this.registerNewHandler(kt.Types.HandlerEventType.StructuredWindowEvent,ut=>ut.startsWith("json:"),ut=>JSON.parse(ut).type,ut=>ut,ut=>ut.substring(5)),this.registerNewHandler(kt.Types.HandlerEventType.SimpleWindowEvent,ut=>!ut.startsWith("json:"),ut=>ut,ut=>ut,ut=>ut),this.bridgeService.executeCommand(b.Ts.Common.Windowevents.RegisterWindowEventsCallback,{}).subscribe(ut=>{this.processMessage(ut)})}getNativeEvent$(fe){return this.get$(fe,kt.Types.HandlerEventType.StructuredWindowEvent).pipe((0,s.T)(ze=>di.create(JSON.parse(ze))))}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(e.NZ),W.KVO(J.J6))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var Et=t(77061),Qt=t(53931),Gt=t(84580),st=t(76706),Dt=t(2833);const sn="(orientation: portrait)",on="(orientation: landscape)",un=`(max-width: 430px) and (max-height: 932px) and ${sn}`,$e=`(max-width: 932px) and (max-height: 430px) and ${on}`,Yn={IPhone:`${un}, ${$e}`,IPhoneLandscape:`${$e}`,IPhonePortrait:`${un}`,IPhoneSELandscape:`(max-width: 568px) and (max-height: 320px) and ${on}`,IPhone8Portrait:`(max-width: 375px) and (max-height: 667px) and ${sn}`,IPad:`(max-width: 1024px) and (max-height: 1366px) and ${sn},\n (max-width: 1366px) and (max-height: 1024px) and ${on}`},ei=[{provide:Dt.SL,useValue:[{alias:"lt-400",overlapping:!0,mediaQuery:"screen and (max-width: 399.98px)",priority:1050},{alias:"lt-360",overlapping:!0,mediaQuery:"screen and (max-width: 359.98px)",priority:1150},{alias:"lt-340",overlapping:!0,mediaQuery:"screen and (max-width: 339.98px)",priority:1250},{alias:"iphone",mediaQuery:Yn.IPhone},{alias:"ipad",mediaQuery:Yn.IPad},{alias:"handset",mediaQuery:st.Rp.Handset}],multi:!0}],Hn="transparent";let Qn=(()=>{var je;class Ae{constructor(){this.enabled=!1,this.isBrowser=!1,this.isBrowser=O.zk.isBrowserPlatform()}init(fe){this.enabled=fe,this.enabled&&this.setDefaultStyle()}setStyle(fe){document.documentElement.style.background=fe,document.body.style.background=fe}setDefaultStyle(){this.setStyle(this.isBrowser?"#191919":Hn)}setTransparent(fe){fe&&!this.isBrowser?this.setStyle(Hn):this.setDefaultStyle()}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();const ti=[16,160,161,17,162,163,18,164,165,91,92,65335],oi={0:"None",8:"Backsp",9:"Tab",16:"Shift",17:"Ctrl",18:"Alt",12:"Clear",13:"Enter",19:"Pause",20:"Caps",27:"Esc",32:"Space",33:"PgUp",34:"PgDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",41:"Select",42:"Print",43:"Exec",44:"PrtScn",45:"Insert",46:"Delete",47:"Help",91:"Win",92:"Win",93:"Apps",95:"Sleep",96:"Num0",97:"Num1",98:"Num2",99:"Num3",100:"Num4",101:"Num5",102:"Num6",103:"Num7",104:"Num8",105:"Num9",106:"Num*",107:"Num+",108:"Separ",109:"Num-",110:"Num.",111:"Num/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",124:"F13",125:"F14",126:"F15",127:"F16",128:"F17",129:"F18",130:"F19",131:"F20",132:"F21",133:"F22",134:"F23",135:"F24",144:"NumLck",145:"ScrLck",160:"Shift",161:"Shift",162:"Ctrl",163:"Ctrl",164:"Alt",165:"Alt",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",65335:"Cmd"},Wn={Backspace:8,Tab:9,Shift:16,Control:17,Alt:18,Clear:12,Enter:13,Pause:19,CapsLock:20,Escape:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Select:41,Print:42,Execute:43,PrintScreen:44,Insert:45,Delete:46,Help:47,Win:91,ContextMenu:93,Standby:95,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,F16:127,F17:128,F18:129,F19:130,F20:131,F21:132,F22:133,F23:134,F24:135,NumLock:144,ScrollLock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222,Cmd:65335};var rt=t(3496),Kt=t(17669);class $t{constructor(Ae,Ye,fe){this.osType=Ye,this.keyDownOnly=fe,this.currentKeyCombo=[],this.downSet=!1,this.logger=Ae.getLogger("crimson/KeypressHelper"),this.shortcutData$=new Ne.B7,this.comboKeydown$=new Ne.B7,fe&&this.comboKeydown$.pipe((0,M.n)(()=>(0,rt.O)(200))).subscribe(()=>{this.logger.verbose("combokeyhelper CurrentKeyCombo: ",this.currentKeyCombo),this.shortcutData$.next(this.currentKeyCombo),this.resetCurrentKeyCombo()})}get shortcutData(){return this.shortcutData$.asObservable()}get loadedKeyCombo(){return this.currentKeyCombo}get isDownSet(){return this.downSet}get isKeyDownOnly(){return this.keyDownOnly}setDown(){this.downSet=!0}setNonEnglishKeyboardLayout(Ae){this.nonEnglishKeyboardLayout=Ae}resetDownStatus(){this.downSet=!1}resetCurrentKeyCombo(){this.currentKeyCombo=[]}logEvent(Ae,Ye){this.keyDownOnly||this.logger.info((Ye?"Keyup":"Keydown")+" : "+Ae.key)}getCodeFromKbNonPrintableKey(Ae){for(const[Ye,fe]of Kt.QC.entries())if(Ye.includes(Ae))return fe;return Ae.charCodeAt(0)}loadKey(Ae){if("Enter"===Ae.key||"Unidentified"===Ae.key||void 0===Ae.key)return!1;let Ye=Ae.key;"Meta"===Ye&&(Ye=this.osType===Z.t_.MacOS?"Cmd":"Win")," "===Ye&&(Ye="Space");let fe=0;return Ae.code.startsWith("Digit")&&1===Ae.key.length?fe=Ae.code.charCodeAt(5):Wn[Ye]?fe=Wn[Ye]:1===Ye.length?(this.nonEnglishKeyboardLayout&&(Ye=this.getKeyFromCode(Ae.code.toLowerCase(),Ye)),Ye=Ye.toUpperCase(),(1!==Ye.length||" "===Ye)&&(this.logger.info("toUpperCase broken: ",Ye," resetting to key event: ",Ae.key),Ye=Ae.key),fe=Ae.shiftKey?this.getCodeFromKbNonPrintableKey(Ye):Ye.charCodeAt(0)):this.logger.info("code is unknown: ",Ae.key),-1===this.currentKeyCombo.indexOf(fe)&&(this.currentKeyCombo.push(fe),!0)}isResetKey(Ae){return("Backspace"===Ae.key||"Delete"===Ae.key||" "===Ae.key)&&(this.currentKeyCombo.length=0,!0)}isMetaKey(Ae){return"Alt"===Ae.key||"Shift"===Ae.key||"Control"===Ae.key||"Meta"===Ae.key}isEscapeKey(Ae){return"Escape"===Ae.key&&(this.currentKeyCombo.length=0,!0)}shouldIgnore(Ae){return"Unidentified"===Ae.key||"Tab"===Ae.key||"ArrowDown"===Ae.key||"ArrowUp"===Ae.key||"ArrowLeft"===Ae.key||"ArrowRight"===Ae.key||this.osType===Z.t_.Windows&&"Meta"===Ae.key}isModifierKey(Ae){return("Shift"===Ae.key||"Meta"===Ae.key||"Control"===Ae.key||"Alt"===Ae.key)&&(this.logger.verbose("isModifierKey"),!0)}handleModifierKeys(Ae){if(Ae.metaKey){let Ye;this.logger.verbose("processKeyDownEvent this.metaKey: "+Ae.metaKey),Ye=this.osType===Z.t_.MacOS?"Cmd":"Win",this.currentKeyCombo.push(Wn[Ye])}Ae.shiftKey&&(this.logger.verbose("processKeyDownEvent this.shiftKey: "+Ae.shiftKey),this.currentKeyCombo.push(Wn.Shift)),Ae.ctrlKey&&(this.logger.verbose("processKeyDownEvent this.ctrlKey: "+Ae.ctrlKey),this.currentKeyCombo.push(Wn.Control)),Ae.altKey&&(this.logger.verbose("processKeyDownEvent this.altKey: "+Ae.altKey),this.currentKeyCombo.push(Wn.Alt))}getKeyFromCode(Ae,Ye){this.logger.verbose("getKeyFromCode code"+Ae);try{const fe=Ae.split("key");return this.logger.verbose("getKeyFromCode key"+fe[1]),fe[1]?fe[1]:Ye}catch(fe){return this.logger.error("some error occured while fetching key from code",fe),Ye}}processKeyDownEvent(Ae){this.logEvent(Ae,!1),(this.isKeyDownOnly||!this.isResetKey(Ae))&&(this.isEscapeKey(Ae)||this.shouldIgnore(Ae)||this.loadKey(Ae)&&this.comboKeydown$.next(Ae))}processKeyDownEventForHotkeyInvocation(Ae){this.logEvent(Ae,!1),(this.isKeyDownOnly||!this.isResetKey(Ae))&&(this.isEscapeKey(Ae)||this.shouldIgnore(Ae)||this.isModifierKey(Ae)||(this.handleModifierKeys(Ae),this.loadKey(Ae)&&this.comboKeydown$.next(Ae)))}}let oe=(()=>{var je;class Ae{constructor(fe){this.logger=fe.getLogger("crimson/hotkeyHelper")}processKey(fe){if(fe in oi)return oi[fe];const ze=String.fromCharCode(fe);return""===ze&&this.logger.error("ERROR: unsupported character: ",fe),ze}shortcutToString(fe){return fe&&0!==fe.length?fe.map(ze=>this.processKey(ze)).join("+"):oi[0]}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var pe=t(70815);const Ge={statusCode:pe.jm.UnknownError};class Ze{constructor(Ae,Ye,fe){var ze,nt;this.params=Ae,this.networkStatusService=Ye,this.bridgeService=fe,this.getFailureCode=ut=>this.checkRequestCancelled(ut).pipe((0,x.ZZ)(wt=>wt.statusCode!==pe.jm.UnknownError?(0,k.of)(wt):this.checkNetworkStatus()),(0,x.ZZ)(wt=>wt.statusCode!==pe.jm.UnknownError?(0,k.of)(wt):this.checkDNSLookup(ut.requestUrl)),(0,u.W)(wt=>(0,k.of)(Ge))),this.dnsLookupValidity=null!==(ze=null===(nt=this.params)||void 0===nt?void 0:nt.dnsCacheValidity)&&void 0!==ze?ze:pe.fu,this.dnsLookupMap=new Map,this.requestCancelledMap=new Map}checkNetworkStatus(){return(0,k.of)(this.networkStatusService.isOnline?Ge:{statusCode:pe.jm.NetworkStatusOffline})}getCachedDNSEntry(Ae){const Ye=this.dnsLookupMap.get(Ae);if(Ye&&Date.now()-Ye.lastUpdatedTs<=this.dnsLookupValidity)return Ye}checkDNSLookup(Ae){const Ye=new URL(Ae).hostname,fe=this.getCachedDNSEntry(Ye);return fe?(0,k.of)(fe.lookupSuccessful?Ge:{statusCode:pe.jm.DNSLookupFailed,isUserOnline:!0,cachedDNSEntry:fe}):this.bridgeService.executeCommand(b.Ts.Common.Systeminfo.DNSLookup,{name:Ye}).pipe((0,s.T)(ze=>{if(!ze)return Ge;const nt={lookupSuccessful:!0,lastUpdatedTs:Date.now(),destinationIp:(null==ze?void 0:ze.hostname)||""};return this.dnsLookupMap.set(Ye,nt),{statusCode:pe.jm.UnknownError,cachedDNSEntry:nt}}),(0,u.W)(ze=>{const nt={lookupSuccessful:!1,lastUpdatedTs:Date.now(),destinationIp:""};return this.dnsLookupMap.set(Ye,nt),(0,k.of)({statusCode:pe.jm.DNSLookupFailed,isUserOnline:!0,cachedDNSEntry:nt})}))}checkRequestCancelled(Ae){const Ye={statusCode:pe.jm.RequestCancelled};return Ae.uniqueRequestId&&this.requestCancelledMap.has(Ae.uniqueRequestId)?(0,k.of)(Ye):Ae.isCancelled?(Ae.uniqueRequestId&&this.requestCancelledMap.set(Ae.uniqueRequestId,!0),(0,k.of)(Ye)):(0,k.of)(Ge)}}let lt=(()=>{var je;class Ae{constructor(fe,ze){this.networkStatusService=fe,this.bridgeService=ze}createAnalyzer(fe){return new Ze(fe,this.networkStatusService,this.bridgeService)}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(G.C),W.KVO(e.NZ))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var pt=t(16229),Ct=t(8619),Xt=t(55833),Ht=t(34593);function Ft(je){return je instanceof HTMLInputElement||je instanceof HTMLTextAreaElement}function Wt(je,Ae){return je.visible===Ae.visible&&je.height===Ae.height}let en=(()=>{var je;class Ae{get visualViewport(){return this.window.visualViewport}get document(){return this.window.document}get keyboardState$(){return this._keyboardState$.pipe((0,Ct.p)(fe=>void 0!==fe.height))}get keyboardVisible$(){return this._keyboardState$.pipe((0,s.T)(fe=>fe.visible))}constructor(fe,ze,nt,ut){this.systemInfoService=nt,this.ngZone=ut,this.hiddenTextId="hiddentext",this.logger=fe.getLogger("SystemVirtualKeyboardService"),this.window=ze.window,this._keyboardState$=this.createKeyboardState().pipe((0,f.F)(Wt),(0,Xt.t)({bufferSize:1,refCount:!0}))}createKeyboardState(){return this.systemInfoService.getDeviceOSType().pipe((0,ee.s)(1),(0,M.n)(fe=>{switch(fe){case Z.t_.WebOS:return this.createWebOSKeyboardState();case Z.t_.Tizen:return this.createTizenKeyboardState();case Z.t_.Windows:case Z.t_.Android:return this.createWindowsOrAndroidKeyboardState();case Z.t_.IOS:case Z.t_.IPadOS:return this.createIOSKeyboardState();default:return this.logger.warn("Attempting to monitor virtual keyboard state on unsupported platform"),At.t}}))}createWebOSKeyboardState(){return O.zk.isPWAModeOnLGTV()?this.ngZone.runOutsideAngular(()=>(0,ue.R)(this.document,"keyboardStateChange").pipe((0,s.T)(fe=>({visible:fe.detail.visibility})),(0,Ht.Z)({visible:!1}))):(this.logger.warn("Virtual keyboard detection is only possible in PWA mode"),At.t)}createTizenKeyboardState(){return this.ngZone.runOutsideAngular(()=>{const fe=(0,pt.h)((0,ue.R)(this.window,"focusin").pipe((0,s.T)(nt=>Ft(nt.target))),(0,ue.R)(this.window,"focusout").pipe((0,_.u)(!1))),ze=(0,ue.R)(this.window,"keydown").pipe((0,Ct.p)(nt=>(nt.keyCode===w.O4.Done||"Cancel"===nt.key)&&Ft(nt.target)),(0,p.M)(nt=>nt.target.blur()),(0,M.n)(nt=>At.t));return(0,pt.h)(fe,ze).pipe((0,s.T)(nt=>({visible:nt})),(0,Ht.Z)({visible:Ft(this.document.activeElement)}))})}createWindowsOrAndroidKeyboardState(){return this.visualViewport?this.ngZone.runOutsideAngular(()=>(0,ue.R)(this.visualViewport,"resize").pipe((0,s.T)(()=>Math.floor(this.window.innerHeight-this.visualViewport.height)),(0,f.F)()).pipe((0,s.T)(ze=>{const ut=Ft(this.document.activeElement)?ze:0;return{visible:ut>0,height:ut}}),(0,p.M)(ze=>{var nt;(null==ze?void 0:ze.height)<=0&&(null===(nt=this.document.activeElement)||void 0===nt?void 0:nt.id)===this.hiddenTextId&&this.document.activeElement.blur()}),(0,Ht.Z)({visible:!1,height:0}))):(this.logger.warn("visualViewport is required for virtual keyboard detection"),At.t)}createIOSKeyboardState(){return this.visualViewport?this.ngZone.runOutsideAngular(()=>(0,pt.h)((0,ue.R)(this.visualViewport,"resize"),(0,ue.R)(this.window,"orientationchange")).pipe((0,Ct.p)(()=>this.visualViewport.height!==this.window.innerWidth),(0,s.T)(()=>this.window.innerHeight-this.visualViewport.height),(0,f.F)()).pipe((0,s.T)(ze=>{const ut=Ft(this.document.activeElement)?ze:0;return{visible:ut>0,height:ut}}),(0,Ht.Z)({visible:!1,height:0}))):(this.logger.warn("visualViewport is required for virtual keyboard detection"),At.t)}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(Ce),W.KVO(T),W.KVO(W.SKi))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var Lt=t(57643),cn=function(je){return je.Registered="Registered",je.NotRegistered="NotRegistered",je.Played="Played",je.ClientError="ClientError",je}(cn||{});const Yt="AppLaunch";let En=(()=>{var je;class Ae{constructor(fe){this.loggingService=fe,this.audioContextMap=new Map,this.audioSubject=new E.m(1),this.logger=this.loggingService.getLogger("AudioPlayService")}getAudioTelemetryData(){return this.audioSubject.asObservable()}playAudio(fe,ze){const nt=this.audioContextMap.get(fe);var ut;nt?(this.logger.info(`Playing audio ${fe}`),null===(ut=nt.play())||void 0===ut||ut.then(wt=>{this.logger.info(`Played audio ${fe}`),this.audioSubject.next({eventScenario:ze,eventStatus:cn.Played})}).catch(wt=>{this.logger.error(`Error while playing Audio ${fe} - ${wt}`),this.audioSubject.next({eventScenario:ze,eventStatus:cn.ClientError,errorDetails:null!=wt?wt:""})})):(this.logger.error(`audio type ${fe} is not registered.`),this.audioSubject.next({eventScenario:ze,eventStatus:cn.NotRegistered}))}registerAudio(fe,ze,nt){ze?this.audioContextMap.has(fe)?this.logger.error(`audio type ${fe} is already registered.`):(this.logger.info(`Registering audio ${fe}.`),this.audioContextMap.set(fe,new Audio(ze)),this.audioSubject.next({eventScenario:nt,eventStatus:cn.Registered})):this.logger.error(`Invalid src param for audio ${fe}`)}removeAudio(fe){this.audioContextMap.has(fe)&&(this.logger.info(`Removing audio of type: ${fe}`),this.audioContextMap.delete(fe))}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var ni=t(40198),dn=function(je){return je.READ="read",je.WRITE="write",je.DELETE="delete",je.SUCCESS="success",je.ERROR="error",je}(dn||{}),yn=function(je){return je.LoginHint="login_hint",je.IdpId="idp_id",je}(yn||{}),Kn=function(je){return je.NVAPP="nvapp",je.GFN="gfn",je.GFN_WEB="gfn-web",je}(Kn||{});class bi{constructor(Ae,Ye,fe){this.ssoSharedPageUrl=Ye,this.maxWaitTimeIframe=fe,this.clearUserDetailsFromSharedPage=this.iframeInteraction({type:dn.DELETE}),this.getUserDetailsFromSharedPage=this.iframeInteraction({type:dn.READ}),this.logger=Ae.getLogger("silentLogin");const ze=new URL(Ye);this.sharedUrlPageDomain=ze.origin}openIframe(Ae){const Ye=document.createElement("iframe");return Ye.setAttribute("src",Ae),Ye.style.border="0px",Ye.style.width="0px",Ye.style.height="0px",Ye.style.display="none",document.body.appendChild(Ye),(0,ue.R)(Ye,"load").pipe((0,_.u)(Ye))}closeIframe(Ae){Ae?Ae.remove():this.logger.error("Empty Iframe ELement")}sendIframeMessage(Ae,Ye){if(!Ae)return this.logger.error("Iframe element is not present ",Ae),(0,U.$)("Iframe element is not present");switch(this.logger.info("Sending message to iframe ",Ye.type),Ye.type){case dn.WRITE:case dn.READ:case dn.DELETE:break;default:return(0,U.$)("Invallid message type")}return Ae.contentWindow.postMessage(Ye,this.sharedUrlPageDomain),(0,ue.R)(window,"message").pipe((0,ni.w)(this.maxWaitTimeIframe),(0,ee.s)(1),(0,s.T)(fe=>{var ze,nt,ut;return(null==fe||null===(ze=fe.data)||void 0===ze?void 0:ze.type)===dn.SUCCESS?null===(ut=fe.data)||void 0===ut?void 0:ut.payload:(0,U.$)(null==fe||null===(nt=fe.data)||void 0===nt?void 0:nt.type)}),(0,u.W)(fe=>(this.logger.info("Error occurred while listening to window message:",fe),(0,U.$)(fe))))}iframeInteraction(Ae){let Ye;return this.openIframe(this.ssoSharedPageUrl).pipe((0,x.ZZ)(fe=>(Ye=fe,this.logger.info("Iframe loaded ",Ae.type),this.sendIframeMessage(fe,Ae))),(0,x.ZZ)(fe=>(this.logger.info("received reply from iframe, ",Ae.type),this.closeIframe(Ye),(0,k.of)(fe))),(0,u.W)(fe=>(this.closeIframe(Ye),(0,U.$)(fe))))}saveUserDetailsToSharedPage(Ae){return Ae?(Ae.type=dn.WRITE,this.iframeInteraction(Ae)):(0,U.$)("Message Body empty")}}var xn=t(14354);let Qi=(()=>{var je;class Ae{constructor(fe,ze){this.bridgeService=fe,this.loggingService=ze,this.logger=this.loggingService.getLogger("libraries/ConfigStoreService")}writeAppInfoToPersistence(fe){return this.bridgeService.executeCommand(b.Ts.Common.Loginid.AddAppInfoToPersistence,{appInfo:fe},!1,!1).pipe((0,p.M)(nt=>this.logger.info("AppInfo Write Success")),(0,u.W)(nt=>(this.logger.error(nt),(0,U.$)(nt))))}readAppInfoFromPersistence(){return this.bridgeService.executeCommand(b.Ts.Common.Loginid.GetAllAppInfoFromPersistence,{},!1,!1).pipe((0,s.T)(fe=>null==fe?void 0:fe.AppsInfo),(0,p.M)(fe=>this.logger.info("AppInfo Read Success")),(0,u.W)(fe=>(this.logger.error(fe),(0,U.$)(fe))))}writeConfigFile(fe,ze){this.logger.info(`Writing in config file for ${fe} ${JSON.stringify(ze)}`);const nt=Object.keys(ze).map(wt=>({key:wt,value:ze[wt]}));return this.bridgeService.executeCommand(b.Ts.Common.Applicationcontrol.WriteGenericConfig,{configname:fe,path:nt}).pipe((0,p.M)(wt=>this.logger.info("Write Success")),(0,u.W)(wt=>(this.logger.error(wt),(0,U.$)(wt))))}readConfigFile(fe,ze){return this.logger.info(`Reading config file for ${fe} ${JSON.stringify(ze)}`),this.bridgeService.executeCommand(b.Ts.Common.Applicationcontrol.ReadGenericConfig,{configname:fe,path:ze}).pipe((0,p.M)(ut=>this.logger.info("Read Success")),(0,u.W)(ut=>(this.logger.error(ut),(0,U.$)(ut))))}removeFromConfig(fe,ze){return this.logger.info(`Removing config ${JSON.stringify(ze)} from file for ${fe}`),this.bridgeService.executeCommand(b.Ts.Common.Applicationcontrol.RemoveFromGenericConfig,{configname:fe,path:ze}).pipe((0,p.M)(ut=>this.logger.info("Config removed")),(0,u.W)(ut=>(this.logger.error(ut),(0,U.$)(ut))))}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(e.NZ),W.KVO(J.J6))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})(),Jt=(()=>{var je;class Ae{constructor(fe,ze,nt){this.configStore=fe,this.loggingService=ze,this.router=nt,this.cachedSsoLoginInfo=null,this.browserSsoLoginHint=null,this.currentloginSilentLoginInfoUpdateStatus=!1,this.logger=this.loggingService.getLogger("silentlogin/loginhint-service")}isEmptySilentLoginInfo(fe){return!(fe&&fe.idp_id&&fe.login_hint&&fe.applicationName&&""!==fe.idp_id.trim()&&""!==fe.login_hint.trim()&&""!==fe.applicationName.trim())}returnNullIfEmpty(fe){return fe.pipe((0,s.T)(ze=>this.isEmptySilentLoginInfo(ze)?null:ze))}updateSsoLoginInfoEntry(fe,ze,nt,ut){const wt={idp_id:ze,login_hint:nt,applicationName:ut};return fe&&!this.isEmptySilentLoginInfo(wt)?(this.currentloginSilentLoginInfoUpdateStatus=!0,this.updateSsoLoginInfoEntryInternal(wt)):this.cleanUpSsoLoginInfo(ut)}updateSsoLoginInfoEntryInternal(fe){return this.getSsoLoginInfo().pipe((0,x.ZZ)(ze=>ze&&ze.applicationName===(null==fe?void 0:fe.applicationName)&&ze.idp_id===(null==fe?void 0:fe.idp_id)&&ze.login_hint===(null==fe?void 0:fe.login_hint)?(this.logger.info("No changes detected in SSO login info."),(0,k.of)(!1)):this.setSsoLoginInfo(fe)),(0,u.W)(ze=>(this.logger.error("Error updating SsoLoginInfoEntry",ze),(0,k.of)(!1))))}mapAppInfoToSsoLoginInfoEntry(fe){return{idp_id:null==fe?void 0:fe.idpId,login_hint:null==fe?void 0:fe.loginHint,applicationName:null==fe?void 0:fe.applicationName}}getSsoLoginInfo(){const fe=this.extractAndClearLoginHintQueryParams();return fe&&!this.isEmptySilentLoginInfo(fe)?(this.browserSsoLoginHint=fe,(0,k.of)(this.browserSsoLoginHint)):this.cachedSsoLoginInfo&&!this.isEmptySilentLoginInfo(this.cachedSsoLoginInfo)?(0,k.of)(this.cachedSsoLoginInfo):this.configStore.readAppInfoFromPersistence().pipe((0,s.T)((ze=[])=>{const nt=ze.find(ut=>{const wt=this.mapAppInfoToSsoLoginInfoEntry(ut);return!this.isEmptySilentLoginInfo(wt)});return nt?this.mapAppInfoToSsoLoginInfoEntry(nt):null}),this.returnNullIfEmpty.bind(this),(0,p.M)(ze=>this.cachedSsoLoginInfo=ze),(0,u.W)(ze=>(this.logger.error("Error occurred while reading the loginids file -",ze),(0,k.of)(null))))}extractAndClearLoginHintQueryParams(){const fe=new URL(window.location.href),ze=fe.searchParams;let nt=null;if(ze.has(yn.LoginHint)&&ze.has(yn.IdpId)){const ut=ze.get(yn.LoginHint),wt=ze.get(yn.IdpId);ut&&""!==ut.trim()&&wt&&""!==wt.trim()?nt={login_hint:decodeURIComponent(ut),idp_id:decodeURIComponent(wt),applicationName:Kn.GFN_WEB}:this.logger.error("Invalid login hint or idpId from query param. Both values must be provided and not empty."),this.router.events.pipe((0,Ct.p)(hn=>hn instanceof xn.wF),(0,ee.s)(1)).subscribe(hn=>{this.logger.info(`Cleaning up login hint from: ${hn.url}`),ze.delete(yn.LoginHint),ze.delete(yn.IdpId),window.history.replaceState({},"",fe)})}return nt}setSsoLoginInfo(fe){return this.configStore.writeAppInfoToPersistence({applicationName:fe.applicationName,idpId:null==fe?void 0:fe.idp_id,loginHint:null==fe?void 0:fe.login_hint}).pipe((0,p.M)(ze=>{ze&&(this.cachedSsoLoginInfo=fe)}),(0,u.W)(ze=>(this.logger.error("Error occurred in writeConfigFile:",ze),(0,k.of)(!1))))}cleanUpSsoLoginInfo(fe){if(!this.isEmptySilentLoginInfo(this.cachedSsoLoginInfo)){var ze;const nt=null===(ze=this.cachedSsoLoginInfo)||void 0===ze?void 0:ze.applicationName;if(this.cachedSsoLoginInfo=null,fe===nt&&this.currentloginSilentLoginInfoUpdateStatus)return this.currentloginSilentLoginInfoUpdateStatus=!1,this.setSsoLoginInfo({applicationName:fe,idp_id:"",login_hint:""})}return this.browserSsoLoginHint=null,(0,k.of)(!0)}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(Qi),W.KVO(J.J6),W.KVO(xn.Ix))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var In=t(62931),ri=t(65770),On=function(je){return je.Laptop="Laptop",je.Notebook="Notebook",je.SubNotebook="Sub Notebook",je.Portable="Portable",je.Convertible="Convertible",je.Detachable="Detachable",je}(On||{});const An=[On.Laptop,On.Convertible,On.Detachable,On.Notebook,On.Portable,On.SubNotebook];let ii=(()=>{var je;class Ae{constructor(fe,ze,nt,ut){this.loggingService=fe,this.bridgeService=ze,this.windowService=nt,this.eventStreamFactory=ut,this.logger=this.loggingService.getLogger("HardwareInformationService"),this.gpuInfoStream=this.eventStreamFactory.createStream(()=>this.fetchGPUInfo()),this.genericInfoStream=this.eventStreamFactory.createStream(()=>this.fetchGenericInfo()),this.setupHardwareInfoRefreshOnAppWindowFocus()}getGenericInfo(fe){return fe?this.genericInfoStream.refresh():this.genericInfoStream.get$()}getGpuInfo(fe){return fe?this.gpuInfoStream.refresh():this.gpuInfoStream.get$()}getSLIInformation(fe=!0){return this.getGpuInfo(fe).pipe((0,s.T)(ze=>ze.SLI))}getOptimusStatus(fe=!0){return this.getGpuInfo(fe).pipe((0,s.T)(ze=>ze.IsOptimus))}getIsLaptopSystem(){return this.getGenericInfo(!1).pipe((0,s.T)(fe=>An.includes(null==fe?void 0:fe.MoboType)),(0,u.W)(fe=>(0,k.of)(!1)))}fetchHardwareInfo(){return(0,ne.zV)([this.fetchGenericInfo(),this.fetchGPUInfo()]).pipe((0,ee.s)(1),(0,p.M)(([fe,ze])=>{const nt=this.genericInfoStream.getData(),ut=this.gpuInfoStream.getData();(0,r.isEqual)(nt,fe)||this.genericInfoStream.setData(fe,!0),(0,r.isEqual)(ut,ze)||this.gpuInfoStream.setData(ze,!0)}))}getQuadroSystemFlag(){return this.getGpuInfo(!1).pipe((0,s.T)(fe=>{var ze,nt;const ut=null==fe||null===(ze=fe.GPU)||void 0===ze?void 0:ze.filter(hn=>hn.IsPrimary);return 1==+(null==ut||null===(nt=ut[0])||void 0===nt?void 0:nt.IsQuadro)}))}setupHardwareInfoRefreshOnAppWindowFocus(fe){var ze;null===(ze=this.onFocusInfoRefreshSub)||void 0===ze||ze.unsubscribe(),this.onFocusInfoRefreshSub=this.windowService.getFocusEvent().pipe((0,In.B)(null!=fe?fe:500),(0,M.n)(nt=>(this.logger.info("hardware info refreshed on focus"),this.fetchHardwareInfo())),(0,u.W)(nt=>(this.logger.error("failed to reload sys info",nt),(0,k.of)(!0)))).subscribe()}fetchGenericInfo(){return this.genericInfoObs$||(this.genericInfoObs$=this.bridgeService.executeCommand(b.Ts.Nvapp.Driverupdaterecommendation.GetGenericInfo).pipe((0,ri.u)(),(0,p.M)(fe=>{this.logger.info("Generic info fetched success:",fe)}),(0,u.W)(fe=>(this.logger.error("there is problem fetching generic info",fe),(0,U.$)(fe))),(0,Be.j)(()=>{this.genericInfoObs$=null}))),this.genericInfoObs$}fetchGPUInfo(){return this.gpuInfoObs$||(this.gpuInfoObs$=this.bridgeService.executeCommand(b.Ts.Nvapp.Driverupdaterecommendation.GetGPUInfo).pipe((0,ri.u)(),(0,p.M)(fe=>{this.logger.info("Gpu info fetched success:",fe)}),(0,u.W)(fe=>(this.logger.error("there is problem fetching gpu info",fe),(0,U.$)(fe))),(0,Be.j)(()=>{this.gpuInfoObs$=null}))),this.gpuInfoObs$}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(e.NZ),W.KVO(Ce),W.KVO(w.mZ))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();var Xi=function(je){return je.png="png",je.png8="png8",je.png24="png24",je.png32="png32",je.png48="png48",je.png64="png64",je.jpe="jpe",je.jpeg="jpeg",je.jpg="jpg",je.ico="ico",je.icon="icon",je.webp="webp",je}(Xi||{});let uo=(()=>{var je;class Ae{constructor(fe){this.defaultImageProperties={f:Xi.webp},this.logger=fe.getLogger("ImageFormatService")}formatImageServiceUrl(fe,ze={}){const nt={...this.defaultImageProperties,...ze},ut=Object.keys(nt);for(const wt of ut){const hn=nt[wt]||(0,r.isBoolean)(nt[wt])?""+nt[wt]:void 0;hn&&hn.length>0&&!(0,r.isNil)(fe)&&(fe+=";"+wt+"="+nt[wt])}return fe}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})(),Fn=(()=>{var je;class Ae{constructor(fe){this.elRef=fe}ngOnInit(){this.registerDomChangedEvent(this.elRef.nativeElement)}registerDomChangedEvent(fe){new MutationObserver(hn=>{const Ii=new CustomEvent("dom-changed",{detail:hn,bubbles:!0});fe.dispatchEvent(Ii)}).observe(fe,{attributes:!0,childList:!0,subtree:!0})}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.rXU(W.aKT))},je.\u0275dir=W.FsC({type:je,selectors:[["","nvWatchDomTree",""]]}),Ae})();var Ti=t(87221),Ji=t(27476),qi=t(62859),$o=t(95797),mo=t(38569),po=t(64079),zo=t(76096),mi=t(18652),pi=t(48066),Si=t(33607),eo=t(81199),Ri=t(63009),si=t(71661),Io=t(3440),Do=t(69907),To=t(66197),to=t(93583),Xn=t(44640),Ni=t(90618),jo=t(75364),Ki=t(22808),Ro=t(34207),vo=t(46456),no=t(17848),Zo=t(31568),xo=t(97241),Yo=t(85550),io=t(36051),Ui=t(23463),$i=t(75530),Pi=t(91207),Qo=t(99952),ki=t(91587),fo=t(62895),Co=t(39243),ai=t(50372),Ao=t(12427),vi=t(221),oo=t(37172),nn=function(je){return je.HOURS="hours",je.MINUTES="minutes",je.SECONDS="seconds",je.MILLISECONDS="milliseconds",je.DAYS="days",je.WEEKS="weeks",je.MONTHS="months",je.YEARS="years",je}(nn||{}),fi=function(je){return je.DAY="day",je.WEEK="week",je.MONTH="month",je.YEAR="year",je}(fi||{});const Gi=3600;var Lo=t(22371),Jo=t(60877),ro=t(27667),so=t(57395),_o=t(30321),ao=t(29913),qo=t(93033),lo=t(1879),Pt=t(60),Ei=t(99665),So=t(54212),ui=t(93863),co=t(21606),Bi=t(17667),wo=t(88928),zi=t(39883),V=t(69282),dt=t(96095),er=t(19489),gr=t(87820),No=t(10772),Ar=t(25074),tr=t(41078),Dn=t(86469),_n=t(65258),Nn=t(11753),Uo=t(28952),Un=t(82587),Bn=t(81124),yi=t(97756),Vi=t(864);const Po=Lo.c,Oo={bg_BG:Jo.bg,cs_CZ:ro.cs,da_DK:so.da,de_DE:_o.de,el_GR:ao.el,en_GB:qo.b,en_US:Lo.c,es_ES:lo.es,es_MX:lo.es,fi_FI:Pt.fi,fr_FR:Ei.fr,hr_HR:So.hr,hu_HU:ui.hu,it_IT:co.it,ja_JP:Bi.ja,ko_KR:wo.ko,nb_NO:zi.nb,nl_NL:V.nl,pl_PL:dt.pl,pt_BR:er.F,pt_PT:gr.pt,ro_RO:No.ro,ru_RU:Ar.ru,sk_SK:tr.sk,sl_SI:Dn.sl,sv_SE:_n.sv,th_TH:Nn.th,tr_TR:Uo.tr,uk_UA:Un.uk,zh_CN:Bn.g,zh_TW:yi.G,ar_SA:Vi.G};class ji{static parseISODate(Ae){return(0,$o.H)(Ae)}static isValidDate(Ae){try{return"string"==typeof Ae&&(Ae=this.parseISODate(Ae)),(0,mo.f)(Ae)}catch{return!1}}static getISODate(Ae){return(0,po.x)(Ae)}static getDifferenceInTime(Ae,Ye,fe){switch(fe){case nn.SECONDS:return(0,zo.O)(Ae,Ye);case nn.MINUTES:return(0,mi.o)(Ae,Ye);case nn.HOURS:return(0,pi.M)(Ae,Ye);case nn.MILLISECONDS:return(0,Si.b)(Ae,Ye);default:throw new Error(`Unsupported metric: ${fe}`)}}static addTime(Ae,Ye,fe){switch(fe){case nn.HOURS:return(0,eo.L)(Ae,Ye);case nn.MINUTES:return(0,Ri.z)(Ae,Ye);case nn.SECONDS:return(0,si.p)(Ae,Ye);case nn.MILLISECONDS:return(0,Io.A)(Ae,Ye);case nn.DAYS:return(0,Do.f)(Ae,Ye);case nn.WEEKS:return(0,To.J)(Ae,Ye);case nn.MONTHS:return(0,to.P)(Ae,Ye);case nn.YEARS:return(0,Xn.e)(Ae,Ye);default:throw new Error('Invalid metric. Use "hours", "minutes", "seconds", "milliseconds", "days", "weeks", "months", or "years".')}}static subtractTime(Ae,Ye,fe){switch(fe){case nn.HOURS:return(0,Ni.O)(Ae,Ye);case nn.MINUTES:return(0,jo.Y)(Ae,Ye);case nn.SECONDS:return(0,Ki.W)(Ae,Ye);case nn.MILLISECONDS:return(0,Ro.$)(Ae,Ye);case nn.DAYS:return(0,vo.e)(Ae,Ye);case nn.WEEKS:return(0,no.k)(Ae,Ye);case nn.MONTHS:return(0,Zo.a)(Ae,Ye);case nn.YEARS:return(0,xo.d)(Ae,Ye);default:throw new Error('Invalid metric. Use "hours", "minutes", "seconds", "milliseconds", "days", "weeks", "months", or "years".')}}static getStartOfDay(Ae){return(0,Yo.o)(Ae)}static getEndOfDay(Ae){return(0,io.D)(Ae)}static getDayOfWeek(Ae){return(0,Ui.P)(Ae)}static getStartOfMonth(Ae){return(0,$i.w)(Ae)}static getMonthOfYear(Ae){return(0,Pi.t)(Ae)+1}static getYear(Ae){return(0,Qo.C)(Ae)}static isSameOrAfter(Ae,Ye,fe){switch(fe){case fi.DAY:return this.isSameOrAfterDay(Ae,Ye);case fi.WEEK:return this.isSameOrAfterWeek(Ae,Ye);case fi.MONTH:return this.isSameOrAfterMonth(Ae,Ye);case fi.YEAR:return this.isSameOrAfterYear(Ae,Ye)}}static isSame(Ae,Ye,fe){switch(fe){case fi.DAY:return(0,ki.r)(Ae,Ye);case fi.WEEK:return(0,fo.R)(Ae,Ye);case fi.MONTH:return(0,Co.t)(Ae,Ye);case fi.YEAR:return(0,ai.s)(Ae,Ye)}}static createDuration(Ae){const Ye=Math.floor(Ae/Gi);return{seconds:Ae%60,minutes:Math.floor(Ae%Gi/60),hours:Ye}}static convertDurationToMilliseconds(Ae){const[Ye,fe,ze]=Ae.split(":").map(Number);return 1e3*(Ye*Gi+60*fe+ze)}static isSameOrAfterDay(Ae,Ye){return(0,Ao.n)(Ae,Ye)||(0,vi.d)(Ae,Ye)}static isSameOrAfterWeek(Ae,Ye){return(0,fo.R)(Ae,Ye)||(0,vi.d)(Ae,Ye)}static isSameOrAfterMonth(Ae,Ye){return(0,Co.t)(Ae,Ye)||(0,vi.d)(Ae,Ye)}static isSameOrAfterYear(Ae,Ye){return(0,ai.s)(Ae,Ye)||(0,vi.d)(Ae,Ye)}static isBetween(Ae,Ye,fe,ze="()"){const nt="["===ze[0]?!(0,oo.Y)(Ae,Ye):(0,vi.d)(Ae,Ye),ut="]"===ze[1]?!(0,vi.d)(Ae,fe):(0,oo.Y)(Ae,fe);return nt&&ut}static getSecondsFromDate(Ae){return Ae.getSeconds()}static getMinutesFromDate(Ae){return Ae.getMinutes()}static getHoursFromDate(Ae){return Ae.getHours()}static getDaysElapsedFromDate(Ae){const Ye=new Date(Ae).getTime(),fe=(new Date).getTime(),ze=Math.max(0,Math.floor((fe-Ye)/1e3));return Math.max(0,Math.floor(ze/86400))}static secondsToHHMMSS(Ae){const Ye=Math.floor(Ae/Gi),fe=Math.floor(Ae%Gi/60),ze=Math.floor(Ae%60);return`${String(Ye).padStart(2,"0")}:${String(fe).padStart(2,"0")}:${String(ze).padStart(2,"0")}`}static convertTimeStringToSeconds(Ae){const[Ye,fe,ze]=Ae.split(":").map(Number);return Ye*Gi+60*fe+ze}static fromNow(Ae,Ye,fe){try{if("string"==typeof Ae&&(Ae=this.parseISODate(Ae)),Ye){const ze=this.detectLocale(Ye);return(0,qi.m)(Ae,{...fe,locale:ze})}return(0,qi.m)(Ae,{...fe})}catch{return""}}static detectLocale(Ae){return Oo[Ae]||Po}}let zn=(()=>{var je;class Ae{constructor(fe,ze){this.localeService=ze,this.logger=fe.getLogger("date-handler-service")}initialize(){this.localeService.localeChanged.subscribe(fe=>{this.currentLocale=this.detectLocale()})}detectLocale(){const fe=this.localeService.getLocale();return ji.detectLocale(fe)}formatDate(fe,ze){try{return"string"==typeof fe&&(fe=ji.parseISODate(fe)),(0,Ti.GP)(fe,ze,{locale:this.currentLocale})}catch(nt){this.logger.error("Error formatting date:",nt)}}parseDate(fe,ze){return(0,Ji.qg)(fe,ze,new Date,{locale:this.currentLocale})}isValidDateTime(fe,ze){const nt=this.parseDate(fe,ze);return ji.isValidDate(nt)}fromNow(fe,ze){return"string"==typeof fe&&(fe=ji.parseISODate(fe)),(0,qi.m)(fe,{...ze,locale:this.currentLocale})}getLocalizedDate(fe,ze=null){return fe?this.localeService.localeChanged.pipe((0,ee.s)(1),(0,x.ZZ)(nt=>{const ut=new Date(fe);if(isNaN(ut.getTime()))return(0,U.$)("Invalid Date");const wt=nt.replace("_","-");ze||(ze={day:"numeric",month:"long",year:"numeric"});const hn=`${ut.toLocaleDateString(wt,ze)}`;return(0,k.of)(hn)}),(0,u.W)(nt=>(this.logger.info("Error while localizing date ",nt),(0,U.$)(nt)))):(0,k.of)(null)}getLocalizedTime(fe,ze=null){return fe?this.localeService.localeChanged.pipe((0,ee.s)(1),(0,x.ZZ)(nt=>{const ut=new Date(fe);if(isNaN(ut.getTime()))return(0,U.$)("Invalid Date");const wt=nt.replace("_","-");ze||(ze={hour:"numeric",minute:"2-digit"});const hn=`${ut.toLocaleTimeString(wt,ze)}`;return(0,k.of)(hn)}),(0,u.W)(nt=>(this.logger.info("Error while localizing time ",nt),(0,U.$)(nt)))):(0,k.of)(null)}getLocalizedDateTime(fe,ze=null,nt=null){return(0,ne.zV)([this.getLocalizedDate(fe,ze),this.getLocalizedTime(fe,nt)]).pipe((0,ee.s)(1),(0,s.T)(([ut,wt])=>({date:ut,time:wt})))}formatAMPMToUpperCase(fe){return fe?fe.replace(/\bam\b/,"AM").replace(/\bpm\b/,"PM"):""}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(X))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})();const li=[{name:"Dark",key:"dark",className:"",isDefaultTheme:!0},{name:"Light",key:"light",className:"light-theme"},{name:"System",key:"system",className:"",isSystemTheme:!0}],ci="userThemePreference";let hr=(()=>{var je;class Ae{constructor(fe,ze,nt){this.loggingService=fe,this.bridgeService=ze,this.windowService=nt,this.listeningToSystemThemeChanges=!1,this.handleSystemThemeChange=ut=>{this.systemTheme=this.getSystemTheme(ut),this.applyThemeToBody(this.systemTheme),this.logger.info("System theme preference changed:",this.isSystemLightTheme(ut)?"light":"dark")},this.logger=this.loggingService.getLogger("crimson/AppThemeService"),this.systemThemeMediaQuery=nt.window.matchMedia("(prefers-color-scheme: light)")}initialize(){return this.logger.info("Initializing"),this.fetchThemePreferenceFromStorage().pipe((0,ee.s)(1),(0,s.T)(fe=>{if(this.logger.info("Response from fetchThemePreference: ",fe),fe&&fe.value){var ze;this.currentTheme=li.find(ut=>ut.key===fe.value);const nt=li.some(ut=>ut.isSystemTheme);null!==(ze=this.currentTheme)&&void 0!==ze&&ze.isSystemTheme&&nt?(this.systemTheme=this.getSystemTheme(),this.applyThemeToBody(this.systemTheme),this.listenToSystemThemeChanges()):(this.currentTheme||(this.currentTheme=li.find(ut=>ut.isDefaultTheme)),this.applyThemeToBody(this.currentTheme))}}))}saveAndSetAppTheme(fe){if(fe.isSystemTheme?(this.systemTheme=this.getSystemTheme(),this.listenToSystemThemeChanges()):this.listeningToSystemThemeChanges&&this.unsubscribeFromSystemThemeChanges(),void 0!==(null==fe?void 0:fe.className)&&fe.key){this.logger.info("Setting currentTheme to ",fe),this.currentTheme=fe;const ze=this.currentTheme.isSystemTheme?this.systemTheme:this.currentTheme;return this.currentTheme.isDefaultTheme?this.deleteThemePreferenceFromStorage(fe).pipe((0,ee.s)(1),(0,p.M)(nt=>{nt&&(this.logger.info("Success calling deleteThemePreferenceFromStorage: ",nt),this.applyThemeToBody(ze))}),(0,u.W)(nt=>(this.logger.error("Error deleting theme preference",nt),(0,k.of)(!1)))):this.saveThemePreferenceInStorage(fe).pipe((0,ee.s)(1),(0,p.M)(nt=>{nt&&(this.logger.info("Success calling saveThemePreferenceInStorage: ",nt),this.applyThemeToBody(ze))}),(0,u.W)(nt=>(this.logger.error("Error saving theme preference",nt),(0,k.of)(!1))))}this.logger.error("theme object is invalid- ",fe)}getCurrentTheme(){return this.currentTheme}getCurrentAppliedTheme(){var fe;return null!==(fe=this.getCurrentTheme())&&void 0!==fe&&fe.isSystemTheme?this.systemTheme:this.getCurrentTheme()}listenToSystemThemeChanges(){this.logger.info("inside listenToSystemThemeChanges"),this.listeningToSystemThemeChanges||(this.systemThemeMediaQuery.addEventListener("change",this.handleSystemThemeChange),this.listeningToSystemThemeChanges=!0)}unsubscribeFromSystemThemeChanges(){this.logger.info("inside unsubscribeFromSystemThemeChanges"),this.systemThemeMediaQuery.removeEventListener("change",this.handleSystemThemeChange),this.listeningToSystemThemeChanges=!1}saveThemePreferenceInStorage(fe){const ze={key:ci,value:fe.key};return this.logger.info("Saving theme preference key - sending the params as",ze),this.bridgeService.executeCommand(b.Ts.Common.Nvkvstorage.Write,ze).pipe((0,p.M)(nt=>(this.logger.info("Success calling Nvkvstorage.Write API"),nt)),(0,_.u)(!0),(0,u.W)(nt=>(this.logger.error("Error during Nvkvstorage.Write api call - ",nt),(0,U.$)(nt))))}deleteThemePreferenceFromStorage(fe){const ze={key:ci};return this.logger.info("Deleting theme preference key - sending the params as",ze),this.bridgeService.executeCommand(b.Ts.Common.Nvkvstorage.Delete,ze).pipe((0,p.M)(nt=>(this.logger.info("Success calling Nvkvstorage.Delete API"),nt)),(0,_.u)(!0),(0,u.W)(nt=>(this.logger.error("Error during Nvkvstorage.Delete api call - ",nt),(0,U.$)(nt))))}fetchThemePreferenceFromStorage(){return this.bridgeService.executeCommand(b.Ts.Common.Nvkvstorage.Read,{key:ci}).pipe((0,s.T)(ze=>ze))}listenToThemePreferenceFromStorage(){return this.bridgeService.executeCommand(b.Ts.Common.Nvkvstorage.Notification).pipe((0,s.T)(fe=>fe))}applyThemeToBody(fe){const ze=this.windowService.window.document.body.classList;null==li||li.forEach(nt=>{nt.className&&(null==ze||ze.remove(nt.className))}),this.applyThemeToCEF(fe).pipe((0,ee.s)(1)).subscribe(()=>{this.logger.info("success calling applyThemeToCEF")},nt=>{this.logger.error("Failure calling applyThemeToCEF ",nt)}),fe.className&&(this.logger.info("Setting body class as ",fe.className),null==ze||ze.add(fe.className))}applyThemeToCEF(fe){return this.bridgeService.executeCommand(b.Ts.Common.Applicationcontrol.SetCEFWindowTheme,{systemTheme:fe.key}).pipe((0,p.M)(nt=>(this.logger.info("Success calling SetCEFWindowTheme API",nt),nt)),(0,_.u)(!0),(0,u.W)(nt=>(this.logger.error("Error during SetCEFWindowTheme API - ",nt),(0,U.$)(nt))))}isSystemLightTheme(fe){return fe||(fe=this.systemThemeMediaQuery),fe.matches}getSystemTheme(fe){const ze=this.isSystemLightTheme(fe);return li.find(nt=>nt.key===(ze?"light":"dark"))}listenAndApplyTheme(){return this.listenToThemePreferenceFromStorage().pipe((0,s.T)(fe=>{if(fe)if(fe.value){var ze;this.currentTheme=li.find(ut=>ut.key===fe.value);const nt=li.some(ut=>ut.isSystemTheme);null!==(ze=this.currentTheme)&&void 0!==ze&&ze.isSystemTheme&&nt?(this.systemTheme=this.getSystemTheme(),this.applyThemeToBody(this.systemTheme),this.listenToSystemThemeChanges()):(this.currentTheme||(this.currentTheme=li.find(ut=>ut.isDefaultTheme)),this.applyThemeToBody(this.currentTheme))}else this.currentTheme=li.find(nt=>nt.isDefaultTheme),this.applyThemeToBody(this.currentTheme);return fe}),(0,u.W)(fe=>(this.logger.error("Error during listenAndApplyTheme : ",fe),(0,U.$)(fe))))}}return(je=Ae).\u0275fac=function(fe){return new(fe||je)(W.KVO(J.J6),W.KVO(e.NZ),W.KVO(Ce))},je.\u0275prov=W.jDH({token:je,factory:je.\u0275fac,providedIn:"root"}),Ae})()},76449:(xe,de,t)=>{"use strict";t.d(de,{Mn:()=>n,Z1:()=>X,bZ:()=>y,Af:()=>L,Se:()=>I,ls:()=>S,pB:()=>A,NS:()=>r});var e=t(58527);let n=(()=>{var c;class g{}return(c=g).\u0275fac=function(C){return new(C||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({}),g})();var E=t(59859),O=t(91384),B=t(14714),P=t(43615),k=t(26875),U=t(81834),r=function(c){return c.HttpUrl="http.url",c.HttpStatusCode="http.status_code",c.HttpStatusCodeFamily="http.status_code_family",c.HttpMethod="http.method",c.HttpHostname="http.hostname",c.HttpHeadersPrefix="http.headers.",c.HttpPath="http.path",c.HttpErrorText="http.error_text",c.ParamsPrefix="params.",c.Error="error",c.SpanKind="span.kind",c.Component="component",c.ClientOs="client.os",c.ClientOsName="client.os.name",c.ClientOsVersion="client.os.version",c.ServiceVersion="service.version",c.ServiceType="service.type",c.Type="type",c.DeviceId="deviceId",c.AppName="appName",c.LayoutExecutionId="layoutExecutionId",c.Origin="origin",c.VpcId="vpcId",c.Locale="locale",c.Trigger="trigger",c.LoginStatus="loginStatus",c.CmsId="cmsId",c.FailurePoint="failurePoint",c.ErrorCode="errorCode",c.ErrorType="errorType",c.NetworkOverridePresent="networkOverridePresent",c.NetworkTestStatus="networkTestStatus",c.ZoneName="zone.name",c.ZoneAddress="zone.address",c.OobeDialogShown="oobeDialogShown",c.LoginWindowShown="loginWindowShown",c.LaunchSource="launchSource",c.ShortName="shortName",c.UsedLatencyBasedRouting="usedLatencyBasedRouting",c.IsSessionAutoResumed="isSessionAutoResumed",c.ErrorDetails="errorDetails",c.RoutingOverrideUsed="routingOverrideUsed",c.OverrideZoneName="overrideZoneName",c.OverrideZoneAddress="overrideZoneAddress",c.SessionId="sessionId",c.SkippedAuthCheck="skippedAuthCheck",c.CountryCode="countryCode",c.FastestJarvisDomain="fastestJarvisDomain",c.TraceId="traceId",c.RequestId="requestId",c.PanelType="panelType",c.BeforeEventDuration="beforeEventDuration",c.PresentDuration="presentDuration",c.PushMessageType="pushMessageType",c.AccountLinkingProvider="accountLinkingProvider",c.HasFilters="hasFilters",c.HasSearchQuery="hasSearchQuery",c.IsFirstPage="isFirstPage",c.ErrorMessage="errorMessage",c.ErrorStack="errorStack",c.DevMode="devMode",c}(r||{}),A=function(c){return c.DelegateToken="GetDelegateToken",c.ClientGetLayout="ClientGetLayout",c.FetchLayout="LayoutManagerGetLayout",c.GetServerInfo="GetServerInfo",c.GetSpecificServerInfo="GetSpecificServerInfo",c.ClientGetAppMetadata="ClientGetAppMetadata",c.ClientGetAppsList="ClientGetAppsList",c.FetchAppsList="LayoutManagerGetAppsList",c.FetchAppMetadata="LayoutManagerGetAppMetadata",c.FetchSubscriptions="FetchSubscriptions",c.GetEntitlementStatus="GetEntitlementStatus",c.GameLaunch="GameLaunch",c.ClientGetSubscriptions="ClientGetSubscriptions",c.GetActiveSessions="GetActiveSessions",c.GetSessionInfo="GetSessionInfo",c.StartStreaming="StartStreaming",c.GetUserEntitlements="GetUserEntitlements",c.UpdateCheck="UpdateCheck",c.PreStreaming="PreStreaming",c.StreamerAuthentication="StreamerAuthentication",c.StreamerAuthorization="StreamerAuthorization",c.StreamerNetworktest="StreamerNetworkTest",c.SessionLoading="SessionLoading",c.GetRatingsInfo="GetRatingsInfo",c.GxTargetGetFeature="GxTargetGetFeature",c.GetFastestDomain="GetFastestDomain",c.JarvisPing="JarvisPing",c.JarvisOAuth="JarvisOAuth",c.StarfleetOAuth="StarfleetOAuth",c.LcarsFetchQueryData="LcarsFetchQueryData",c.LcarsPostQueryData="LcarsPostQueryData",c.ClientGetSurvey="ClientGetSurvey",c.ClientDismissSurvey="ClientDismissSurvey",c.PlatformSelection="PlatformSelection",c.PlatformSelectionSharedStorageRead="PlatformSelectionSharedStorageRead",c.PlatformSelectionDialogInteraction="PlatformSelectionDialogInteraction",c.AccountLinking="AccountLinking",c.AccountLinkingDialogInteraction="AccountLinkingDialogInteraction",c.AlsGetLoginUrl="AlsGetLoginUrl",c.AlsPostLoginUrl="AlsPostLoginUrl",c.AlsPostToken="AlsPostToken",c.AlsSync="AlsSync",c.AlsDeleteLinking="AlsDeleteLinking",c.AlsUserLogin="AlsUserLogin",c.AlsTokenExchange="AlsTokenExchange",c.AlsUIConnect="AlsUIConnect",c.AlsUIDisconnect="AlsUIDisconnect",c.AlsUIReconnect="AlsUIReconnect",c.AlsUIResync="AlsUIResync",c.GetAemReleaseHighlights="GetAemReleaseHighlights",c.GetGfwslInformation="GetGfwslInformation",c.StarfleetDeleteClientToken="StarfleetDeleteClientToken",c.StarfleetGetClientToken="StarfleetGetClientToken",c.StarfleetGetAccessToken="StarfleetGetAccessToken",c.StarfleetGetUserInfo="StarfleetGetUserInfo",c.SendTelemetryEvent="SendTelemetryEvent",c.ClientSettings="ClientSettings",c.ScheduledMaintenance="ScheduledMaintenance",c.ScheduledMaintenanceSessionEndError="ScheduledMaintenanceSessionEndError",c.ClientGetCloudVariable="ClientGetCloudVariable",c.ClientStreamingQuality="ClientStreamingQuality",c.PushNotificationRegistration="PushNotificationRegistration",c.KVStoreGetClientData="KVStoreGetClientData",c.KVStoreSetClientData="KVStoreSetClientData",c.KVStoreDeleteClientData="KVStoreDeleteClientData",c.KVStoreAppendClientData="KVStoreAppendClientData",c.ClientGetPanel="ClientGetPanel",c.ClientDesktopPaste="ClientDesktopPaste",c.ClientClipboardAvailable="ClientClipboardAvailable",c.BackgroundNetworkTest="BackgroundNetworkTest",c.GetRemoteConfigV2="GetRemoteConfigV2",c.PushMessageReceived="PushMessageReceived",c.PnsRegistration="PnsRegistration",c.PnsUnregister="PnsUnregister",c.UserAccountData="UserAccountData",c.SessionLengthWarning="SessionLengthWarning",c.VrsGetRewards="VrsGetRewards",c.UpsellMessages="UpsellMessages",c.CampaignsInfo="CampaignsInfo",c.SearchFilterGames="SearchFilterGames",c.UasAcquireUser="UasAcquireUser",c.AdToken="AdToken",c.AdSession="AdSession",c.AdOpportunity="AdFetch",c.AdStart="AdStart",c.FilterGroupSortOrderDefinitions="FilterGroupSortOrderDefinitions",c.GetLoginWallData="GetLoginWallData",c.GetLoginWallStringsOnly="GetLoginWallStringsOnly",c.AddFavoriteApp="AddFavoriteApp",c.RemoveFavoriteApp="RemoveFavoriteApp",c.AddOwnedVariant="AddOwnedVariant",c.RemoveOwnedVariant="RemoveOwnedVariant",c.SelectOwnedVariant="SelectOwnedVariant",c.GetUdsSummonedReport="GetUdsSummonedReport",c.GetUdsEndOfSessionReport="GetUdsEndOfSessionReport",c.OverallGfnSupportedLanguages="OverallGfnSupportedLanguages",c.GFNUIException="GFNUIException",c}(A||{}),l=function(c){return c.XmlHttpRequest="XMLHttpRequest",c}(l||{}),I=function(c){return c.Pc_A7="pc-a7",c.Native_Windows="native-windows",c}(I||{}),S=function(c){return c.Client="client",c}(S||{}),L=function(c){return c.VpcId="ERROR_WHILE_GETTING_VPCID",c}(L||{}),M=t(61142),u=t(36466),x=t(43848),p=t(65726),i=t(75707),o=t(70815),_=t(70521),f=t(47766),J=t(77855),a=t(44748),D=t(23403),te=t(23413),N=t(35475),z=t(92414),R=t(33784),v=t(84877),h=t(14525),W=t(90775),ee=t(70440),b=t(83594),w=t(65706);class F extends b.Q{constructor(g,d){super(g),this._isTracingDisabledReplaySubject=d}export(g,d){this._isTracingDisabledReplaySubject.asObservable().pipe((0,w.s)(1)).subscribe(C=>{C||super.export(g,d)})}}var Z=t(19392),se=t(83915);let Y=(()=>{var c;class g{constructor(C){this.loggingService=C,this.initializationMap=new Map,this.logger=this.loggingService.getLogger("OTELTracerService")}initialize(C,Q){if(this.initializationMap.get(C.exportConfig.componentName))return;const le={resource:new D.F({[te._2.SERVICE_NAME]:C.exportConfig.componentName})};this.provider=new J.Z(le);const ge=new W.lm;N.$.setGlobalPropagator(ge);const ie=new h.T;ie.enable(),this.provider.register({propagator:ge,contextManager:ie}),this.exporter=new F({headers:{"Lightstep-Access-Token":C.exportConfig.accessToken},url:C.exportConfig.collectorUrl},Q),(0,ee.u)(ae=>{console.error("Error while tracing",ae)}),this.batchSpanProcessor=new a.J(this.exporter,{disableAutoFlushOnDocumentHide:!0}),this.provider.addSpanProcessor(this.batchSpanProcessor),this.initializationMap.set(C.exportConfig.componentName,!0)}getSpanContextInfo(C){if(!this.tracer)return null;const Q={},j=z.u.setSpanContext(R._.active(),C.spanContext());return N.$.inject(j,Q,v.U),Q}getTraceInjectWrapper(){return this.getSpanContextInfo.bind(this)}createSpanUsingContextInfo(C,Q){if(!this.tracer)return null;const j=N.$.extract(R._.active(),Q),le=this.tracer.startSpan(C,{},j);return this.getSpanContextInfo(le),le}getCreateSpanUsingContextWrapper(){return this.createSpanUsingContextInfo.bind(this)}commitAnyPendingSpans(){return(0,Z.H)(this.batchSpanProcessor.forceFlush()).pipe((0,w.s)(1),(0,se.T)(()=>(this.logger.info("Spans flushed successfully:"),!0)),(0,B.W)(C=>(this.logger.error("Failed to flush spans:",C),(0,x.of)(!1))))}createSpan(C,Q){if(!this.tracer)return null;if(!Q)return this.tracer.startSpan(C);const j=z.u.setSpan(R._.active(),Q);return this.tracer.startSpan(C,{},j)}getOTELTracer(C,Q){return this.initialize(C,Q),this.tracer=this.provider.getTracer(),this.tracer}extractContext(C,Q,j){const le=Q||R._.active();return N.$.extract(le,C,j)}runWithContext(C,Q,j,...le){return R._.with(C,Q,j,...le)}}return(c=g).\u0275fac=function(C){return new(C||c)(e.KVO(f.J6))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"}),g})();const q={[XMLHttpRequest.UNSENT]:"unsent",[XMLHttpRequest.OPENED]:"opened",[XMLHttpRequest.HEADERS_RECEIVED]:"headers received",[XMLHttpRequest.LOADING]:"loading",[XMLHttpRequest.DONE]:"done"},T=(c,g)=>{c.setAttributes({[r.HttpStatusCode]:g,[r.HttpStatusCodeFamily]:g.toString().replace(/[0-9]{2}$/,"XX"),[r.Error]:g<=0||g>=400})};let H=(()=>{var c;class g extends M.N0{constructor(C,Q,j){super(),this.statusCodeZeroAnalyzerFactoryService=C,this.serviceWorkerService=Q,this.otelTracerService=j,this.globalSpanTags={},this.tracer=null,this.tracingEnabledURLRegex=[],this.tracingEnabledUrls=new Map,this.pendingNetworkResponseSpanMap=new Map,this.createSpanUsingContext=this.otelTracerService.getCreateSpanUsingContextWrapper(),this.traceInjectWrapper=this.otelTracerService.getTraceInjectWrapper()}initialize(C,Q,j,le){this.tracer=C,this.setTracingEnabledURLRegex(Q.urlRegex),this.setStatusCodeZeroAnalyzerConfig(j),this.serviceWorkerService.networkResponseReceived.subscribe(ge=>{this.removeFromSWPendingRequests(ge)},u.l),le.asObservable().subscribe(ge=>{this.globalSpanTags=ge},ge=>{this.globalSpanTags={}})}addToSWPendingRequests(C,Q){this.pendingNetworkResponseSpanMap.set(C,Q)}removeFromSWPendingRequests(C){if(this.pendingNetworkResponseSpanMap.has(C.requestId)){const Q=this.pendingNetworkResponseSpanMap.get(C.requestId);this.pendingNetworkResponseSpanMap.delete(C.requestId),0===C.responseStatusCode?this.statusCodeZeroAnalyzer.getFailureCode({requestUrl:C.requestUrl,uniqueRequestId:C.requestId,isCancelled:!1}).subscribe(j=>{T(Q,j.statusCode),Q.end(C.responseReceivedTimeMs)},u.l):(T(Q,C.responseStatusCode),Q.end(C.responseReceivedTimeMs))}}build(){const C=new XMLHttpRequest;return(0,k.isNil)(this.tracer)||(C.requestHeaders={},C.commonSpanTags=this.globalSpanTags,C.tracer=this.tracer,C.open=this.wrapOpen(C),C.send=this.wrapSend(C),C.setRequestHeader=this.wrapSetRequestHeader(C),C.constructSpanTags=this.getConstructSpanTags(),C.injectCarrierHeaders=this.getInjectCarrierHeaders(),C.getOperationName=this.getOperationName(),C.createSpanUsingContext=this.createSpanUsingContextWrapper(),C.getResponseHeaders=this.getResponseHeaders(),C.analyzeStatusCodeZero=this.analyzeStatusCodeZero(),C.addEventListener("readystatechange",this.getOnReadyStateChangedListener()),C.addEventListener("abort",this.handleAbort())),C}handleAbort(){return function(){this.isRequestAborted=!0}}setTracingEnabledURLRegex(C){this.tracingEnabledURLRegex=C.map(Q=>new RegExp(Q,"g"))}setStatusCodeZeroAnalyzerConfig(C){this.statusCodeZeroAnalyzer&&(this.statusCodeZeroAnalyzer=null),this.statusCodeZeroAnalyzer=this.statusCodeZeroAnalyzerFactoryService.createAnalyzer(C)}matchURLAgainstEnabledList(C){if(!this.tracingEnabledUrls.has(C)){const Q=this.tracingEnabledURLRegex.findIndex(j=>{const le=C.match(j);return!(0,k.isNil)(le)&&1===le.length});this.tracingEnabledUrls.set(C,-1!==Q)}return this.tracingEnabledUrls.get(C)}isURLEnabledForTracing(C){return!(0,k.isNil)(C)&&this.matchURLAgainstEnabledList(C.toString())}getResponseHeaders(){return function(){const j=this.getAllResponseHeaders().replace(/\s+$/,"").split(/\n/);for(let le=0;lethis.analyzeStatusCodeZero(this.urlInfo.href))).subscribe(j=>{Q.setAttributes({status:j.statusCode}),T(Q,j.statusCode),Q.end()}):(Q.setAttributes({status:this.status}),T(Q,this.status),Q.end())):Q.setAttributes({readyState:this.readyState}))}}getConstructSpanTags(){return function(){const Q={[r.Component]:l.XmlHttpRequest,[r.HttpMethod]:this.method,[r.Type]:this.urlInfo.protocol.replace(":",""),[r.HttpHostname]:this.urlInfo.hostname,[r.HttpUrl]:this.urlInfo.pathname};return(0,k.extend)(Q,this.commonSpanTags),Object.keys(this.requestHeaders).forEach(le=>{Q[r.HttpHeadersPrefix+le]=this.requestHeaders[le]}),this.urlInfo.searchParams.forEach((le,ge)=>{Q[r.ParamsPrefix+ge]=le}),Q}}getInjectCarrierHeaders(){const C=this.traceInjectWrapper;return function(){const j=C(this.span);Object.keys(j).forEach(ge=>{Object.getPrototypeOf(this).setRequestHeader.call(this,ge,j[ge]),this.setRequestHeader(ge,j[ge])})}}wrapOpen(C){const Q=C.open;return function(le,ge,ie,ce,G){this.method=le;try{this.urlInfo=new URL(ge)}catch{this.urlInfo=null}Q.apply(this,arguments)}}wrapSend(C){const Q=C.send,j=this.isURLEnabledForTracing.bind(this),le=this.serviceWorkerService.willGFNServiceWorkerHandleRequest.bind(this),ge=this.addToSWPendingRequests.bind(this),ie=this.omitOpentracingHeaders;return function(G){(0,k.isNil)(this.urlInfo)||(this.span=this.createSpanUsingContext(this.getOperationName()),this.isHandledByServiceWorker=le(this.urlInfo.href,this.bypassCacheHeaderValue),this.uniqueRequestId&&this.isHandledByServiceWorker&&(this.serviceWorkerSpan=this.createSpanUsingContext("SW "+this.getOperationName()),this.serviceWorkerSpan.setAttributes(this.constructSpanTags()),ge(this.uniqueRequestId,this.span)),this.requestHeaders=ie(this.requestHeaders),j(this.urlInfo)&&this.injectCarrierHeaders(),this.span.setAttributes(this.constructSpanTags()),this.span.addEvent("send")),Q.apply(this,arguments)}}wrapSetRequestHeader(C){const Q=C.setRequestHeader;return function(le,ge){"Authorization"===le||"X_LOCAL_SECURITY_COOKIE"===le||le===_.tD.SwCacheKeyAppendString||(this.requestHeaders[le]=ge,le===o.SA.xRequestId&&(this.uniqueRequestId=ge),le===_.tD.SwCacheBypass&&(this.bypassCacheHeaderValue=ge)),!le.startsWith("ot-")&&!le.startsWith("traceparent")&&Q.apply(this,arguments)}}omitOpentracingHeaders(C){return(0,k.omitBy)(C,Q=>!Q.startsWith("ot-")&&!Q.startsWith("traceparent"))}}return(c=g).\u0275fac=function(C){return new(C||c)(e.KVO(f.pZ),e.KVO(_.lS),e.KVO(Y))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"}),g})();const y={provide:M.N0,useExisting:H};let X=(()=>{var c;class g{constructor(C,Q,j){this.openTelemetryService=C,this.loggingService=Q,this.injector=j,this.logger=this.loggingService.getLogger("DistributedTracingUtilService")}setSpanAttribute(C,Q,j){C.setAttribute(Q,j)}setSpanAttributes(C,Q){C.setAttributes(Q)}initializeDistributedTracing(C,Q,j,le){this.disableOpenTracingSub=j,this.tracer=this.openTelemetryService.getOTELTracer(C,j),le.subscribe(ge=>{this.commonTags=ge},ge=>{this.logger.error("Error while setting global tags. No global tags will be used",ge),this.commonTags={}}),this.distributedTracingXhrFactoryService=this.injector.get(H),this.distributedTracingXhrFactoryService.initialize(this.tracer,C.apiTracingConfig,Q,le)}commitAnyPendingSpans(){return this.openTelemetryService.commitAnyPendingSpans()}isTracingDisabled(){return this.disableOpenTracingSub}getFormattedUrlForHttpPopupSpan(C,Q){if(Q&&this.tracer){const j={};this.injectSpanHttpHeaders(Q,j);const le=new URL(C),ge=JSON.stringify((0,k.extend)({},j)),ie=le.searchParams.toString();C=`${le.origin}${le.pathname}?tracer=${(0,U.KA)(ge,!0,!0)}`,ie.length&&(C=`${C}&${ie}`)}return C}startSpan(C,Q){return this.openTelemetryService.createSpan(C,Q)}startSpanUsingContext(C,Q){return this.openTelemetryService.createSpanUsingContextInfo(C,Q)}extractContextFromSpan(C){return this.openTelemetryService.getSpanContextInfo(C)}injectSpanHttpHeaders(C,Q){const j=this.openTelemetryService.getSpanContextInfo(C),le=Object.keys(j);for(const ge of le)Q[ge]=j[ge]}handleHttpError(C,Q){this.setSpanAttribute(C,r.Error,!0),this.setSpanAttribute(C,r.HttpStatusCode,Q&&Q.status||0)}handleHttpPopupError(C,Q){this.setSpanAttribute(C,r.Error,!0),this.setSpanAttribute(C,r.HttpStatusCode,Q.errorCode),this.setSpanAttribute(C,r.HttpErrorText,Q.errorText),this.setSpanAttribute(C,r.HttpUrl,Q.failedUrl)}handleHttpSuccess(C,Q){this.setSpanAttribute(C,r.Error,!1),Q&&this.setSpanAttribute(C,r.HttpUrl,Q)}handleHttpEndpointSpan(C,Q,j,le,ge){const ie=Q.headers?Q.headers:{},ce=this.startSpan(j,le);if(ce){const ue={...Q.params,...ge};return this.setSpanAttributes(ce,ue),this.injectSpanHttpHeaders(ce,ie),C.pipe((0,O.M)(()=>this.handleHttpSuccess(ce)),(0,B.W)(ae=>(this.handleHttpError(ce,ae),(0,E.$)(ae))),(0,P.j)(()=>this.closeSpan(ce)))}return C}closeSpan(C){C&&(this.setSpanAttributes(C,this.commonTags),C.end())}closeHttpPopupSpan(C,Q,j){C&&(this.setSpanAttributes(C,this.commonTags),Q?this.handleHttpPopupError(C,j):this.handleHttpSuccess(C,j.failedUrl),C.end())}sendOpenTracingSpanTags(C,Q,j){const le=this.startSpan(C,j);null==Q||Q.forEach((ge,ie)=>{this.setSpanAttribute(le,ie,ge)}),this.closeSpan(le)}runWithinSpanContext(C,Q,j,...le){const ge=this.openTelemetryService.extractContext(C);return this.openTelemetryService.runWithContext(ge,Q,j,...le)}}return(c=g).\u0275fac=function(C){return new(C||c)(e.KVO(Y),e.KVO(f.J6),e.KVO(e.zZn))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"}),g})()},21333:(xe,de,t)=>{"use strict";t.d(de,{u$:()=>L,Wj:()=>te,sT:()=>E,tg:()=>s,yN:()=>A});var e=t(94485),n=t(58527);let E=(()=>{var N;class z{}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275prov=n.jDH({token:N,factory:N.\u0275fac}),z})();var O=t(26537),B=t(3457),P=t(47973);let k=(()=>{var N;class z{constructor(v,h){this.dialogRef=v,this.data=h,this.content=h.content}}return(N=z).\u0275fac=function(v){return new(v||N)(n.rXU(O.CP),n.rXU(O.Vh))},N.\u0275cmp=n.VBU({type:N,selectors:[["ng-component"]],decls:7,vars:3,consts:[["mat-dialog-title","",1,"font-header4"],["mat-dialog-content",""],[1,"exception-content",3,"innerHTML"],["mat-dialog-actions","","fxLayoutAlign","end end","fxLayout","row"],["mat-button","",1,"font-button1",3,"mat-dialog-close"]],template:function(v,h){1&v&&(n.j41(0,"h1",0),n.EFF(1),n.k0s(),n.j41(2,"div",1),n.nrm(3,"div",2),n.k0s(),n.j41(4,"div",3)(5,"button",4),n.EFF(6," Close "),n.k0s()()),2&v&&(n.R7$(),n.JRh(h.data.title),n.R7$(2),n.Y8G("innerHTML",h.content,n.npT),n.R7$(2),n.Y8G("mat-dialog-close",!0))},dependencies:[O.tx,O.BI,O.Yi,O.E7,B.DJ,B.sA,P.iV],styles:[".exception-content[_ngcontent-%COMP%]{-webkit-user-select:text;user-select:text;background-color:var(--primary-800);padding:10px;overflow-wrap:anywhere}"]}),z})();const U_Sanitize=/(\w+:|[\\/]).*[\\/]/gi,U_Indentation=/ at /g,U_Class=/([^]+)/g;class A{constructor(z,R){this.err=R,this.errorMessage=z,this.metadata={}}get error(){return this.err}toString(){return this.errorMessage+":"+JSON.stringify(this.err)}addMetadata(z,R){this.metadata[z]=R}getMetaData(){return this.metadata}}var l=t(99021),I=t(78812),S=t(47766);const L={exceptionTimeLimiter:6e4,clientName:"unknown",isExceptionEnabled:!0,devMode:!1};let s=(()=>{var N;class z{constructor(v,h,W){this.logger=v,this.injector=h,this.dialog=W}handleError(v){var h,W;let ne=!1;this.logger.info("UnHandled Exception was caught",v);const ee=this.injector.get(E);if(ee&&(this.isEnabled=ee.isExceptionEnabled,this.devMode=ee.devMode),!this.isEnabled||((null==v?void 0:v.rawResponse)instanceof e.yz?(this.logger.error("There was an HTTP error. Skipping exception event"),ne=!0):v instanceof l.M?(this.logger.error("Timeout error occured. Skipping exception event"),ne=!0):v instanceof TypeError?this.logger.error("Type error occured. Sending exception telemetry"):v instanceof Error?this.logger.error("Error occured. Sending exception telemetry"):(this.logger.error("Unknown error or cef query failure. Skipping exception event"),ne=!0),ne&&!this.devMode))return;const b={name:v.name,message:v.message,stackFrame:null,exceptionString:null};v.stack=null===(h=v.stack)||void 0===h?void 0:h.replace(U_Sanitize,""),b.stackFrame=null!==(W=v.stack)&&void 0!==W?W:I.oX.Undefined;const w=JSON.stringify(b);this.logger.error("Exception stack trace ",w),this.devMode&&this.dialog.open(k,{autoFocus:!1,disableClose:!0,panelClass:"nv-overlay-panel",data:{title:"Unhandled Exception",content:v.stack?this.formatExceptionStack(v.stack):w}}),ne||(b.exceptionString=b.stackFrame,this.handleClientSideException(b,ee))}formatExceptionStack(v){return v.replace(U_Indentation,"
   at ").replace(U_Class,"$1")}}return(N=z).\u0275fac=function(v){return new(v||N)(n.KVO(S.Vy),n.KVO(n.zZn),n.KVO(O.bZ))},N.\u0275prov=n.jDH({token:N,factory:N.\u0275fac}),z})();var M=t(56106),u=t(97979),x=t(29370),p=t(99204),i=t(50599),o=t(96501),_=t(44186);const f=[M.YN,P.wG,u.ic,o.Wh,p.D6,x.m_,i.fS,_.uc];let J=(()=>{var N;class z{}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275mod=n.$C({type:N}),N.\u0275inj=n.G2t({imports:[M.YN,f,M.YN,P.wG,u.ic,o.Wh,p.D6,x.m_,i.fS,_.uc]}),z})();var a=t(51006),D=t(65240);let te=(()=>{var N;class z{}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275mod=n.$C({type:N}),N.\u0275inj=n.G2t({imports:[O.hM,a.YF,J,D.h]}),z})()},26814:(xe,de,t)=>{"use strict";t.d(de,{y2:()=>E,IS:()=>O,BW:()=>T,Id:()=>z,Ky:()=>N});var e=t(58527);let n=(()=>{var H;class y{}return(H=y).\u0275fac=function(c){return new(c||H)},H.\u0275prov=e.jDH({token:H,factory:H.\u0275fac}),y})(),E=(()=>{var H;class y extends n{}return(H=y).\u0275fac=(()=>{let X;return function(g){return(X||(X=e.xGo(H)))(g||H)}})(),H.\u0275prov=e.jDH({token:H,factory:H.\u0275fac}),y})(),O=(()=>{var H;class y{}return(H=y).\u0275fac=function(c){return new(c||H)},H.\u0275mod=e.$C({type:H}),H.\u0275inj=e.G2t({}),y})();var B=t(85735),P=t(43848),k=t(19392),U=t(31315),r=t(59859),A=t(93181),l=t(36466),I=t(35146),S=t(75707),L=t(65706),s=t(91384),M=t(14714),u=t(12962),x=t(83915),p=t(55833),i=t(26875),o=t(47766),_=t(72271),f=t(78812),J=t(21333),a=function(H){return H.OSName="osName",H}(a||{});class D extends J.yN{constructor(){super("Empty cloud variable",null)}}class te extends J.yN{constructor(){super("Cloud variable could not be retrieved via API call nor cache. Please handle this case and use defaults",null)}}var N=function(H){return H.GxTargetGetFeatureRollout="GetFeatureRollout",H.GxTargetGetCloudVariable="GetCloudVariable",H.GxTargetGetSurveyFeature="GetSurveyFeature",H.Other="Other",H}(N||{}),z=function(H){return H.GxTargetGetECommerceFeature="GetECommerceFeature",H.GxTargetGetSurveyFeature="GetSurveyFeature",H.GxTargetGetQueueETAConfig="GetQueueETAConfig",H.GxTargetGetAutohighlightFeature="GetAutohighlightFeature",H.GxTargetGetFreestyleFeature="GetFreestyleFeature",H.GxTargetGetStarfleetPhase1="GetStarfleetPhase1",H.GxTargetGetStarfleetPhase2="GetStarfleetPhase2",H.GxTargetGetKeyboardLayout="GetKeyboardLayout",H.GxTargetGetAnselFeature="GetAnselFeature",H.GxTargetGetGfnBroadcastFeature="GetGfnBroadcastFeature",H.GxTargetGetDeeplinkSupport="GetDeeplinkSupport",H.GxTargetGetKBLayoutsConfig="GetKBLayoutsConfig",H.GxTargetGetUpsellMessage="GetUpsellMessage",H.GxTargetGetAllCloudVariables="GetAllCloudVariables",H.GxTargetGetBrowserClientCanary="GetBrowserClientCanary",H.GxTargetGetReservedSKUEnabled="GetReservedSKUEnabled",H.GxTargetGetReservedSKUIBetaFlag="GetReservedSKUIBetaFlag",H.GxTargetGetClipboardPasteConfig="GetClipboardPasteConfig",H.GxTargetGetPathToPurchaseConfig="GetPathToPurchaseConfig",H.GxTargetGetPunctualUIConfig="GetPunctualUIConfig",H.GxTargetGetEnableBrowserIGSS="GetEnableBrowserIGSS",H.GxTargetGetGuestFlowClientConfig="GxTargetGetGuestFlowClientConfig",H.GetClientIMESupportedConfig="GetClientIMESupportedConfig",H.GxTargetGetGameLaunchUniversalConfig="GetGameLaunchUniversalConfig",H.Other="Other",H}(z||{}),h=function(H){return H.StreamingClient="StreamingClient",H.MallClient="MallClient",H.StoreLibrary="StoreLibrary",H.Unknown="Unknown",H.BackgroundAgent="BackgroundAgent",H.NvAppClient="NvAppClient",H}(h||{}),W=function(H){return H.GxTarget="GxTarget",H}(W||{}),ne=function(H){return H.UNDEFINED="UNDEFINED",H.TRUE="TRUE",H.FALSE="FALSE",H}(ne||{});const ee={HTTPFailure:{name:"HTTPFailure",gdprLevel:f.EU.Functional},HTTPSuccess:{name:"HTTPSuccess",gdprLevel:f.EU.Functional},HTTPCallResult:{name:"HTTPCallResult",gdprLevel:f.EU.Functional}};class b extends f.YH{constructor(y){super(y),this.name=ee.HTTPFailure.name,this.gdprLevel=ee.HTTPFailure.gdprLevel}}class w extends f.YH{constructor(y){super(y),this.name=ee.HTTPSuccess.name,this.gdprLevel=ee.HTTPSuccess.gdprLevel}}class F extends f.YH{constructor(y){super(y),this.name=ee.HTTPCallResult.name,this.gdprLevel=ee.HTTPCallResult.gdprLevel}}var Z=t(76449),se=t(66348),Y=t(81834);const q="78589530426925203";let T=(()=>{var H;class y{constructor(c,g,d,C,Q,j,le,ge){this.config=c,this.loggingService=g,this.telemetryService=d,this.sharedStorageService=C,this.systemInfoService=Q,this.eventStreamFactory=j,this.localeService=le,this.distributedTracingUtilService=ge,this.isCvListInitialized$=new B.m(1),this.cacheMaxAge=1440,this.isInitialized$=new B.m(1),this.batchCvsInitialized=new B.m(1),this.commonClientParams={},this.cachedCloudVariableMap=new Map,this.deviceOSName="",this.readFromSharedStorage=ie=>this.sharedStorageService.readBlock(ie).pipe((0,S.ZZ)(ce=>(0,P.of)(ce||{}))),this.writeToSharedStorage=(ie,ce)=>{const G=ce.name;if(this.storageUpdateQueue.unshift(ce),this.storageUpdateQueue.length>1)return void this.logger.info("Added experiment to storage update queue",G);const ue=ie;let ae;return(0,k.H)(this.readFromSharedStorage(ue)).pipe((0,S.ZZ)(Ce=>(ae=Ce,this.updateExperimentRefreshDate(ce),(Ce=this.cleanupStorageBlock(Ce))[G]=ce,this.sharedStorageService.writeBlock(ue,Ce)))).subscribe(()=>{this.logger.info("Cloud variable written to shared storage",ce.name,ce.value),this.processStorageUpdateQueue()},Ce=>{this.logger.error(`Error while writing to shared storage for ${G}`,Ce),this.processStorageUpdateQueue()}),null},this.getSharedStorageKey=ie=>{let ce=this.clientInfo.userId!==f.oX.Undefined?this.clientInfo.userId:void 0;return ie===f.CV.DEVICE_ID&&(ce=void 0),this.logger.info("Got SharedStorageKey: ",this.storageKey+"_"+ce),this.storageKey+"_"+ce},this.logger=g.getLogger("experienceControl/service"),this.storageKey="experienceControl",this.storageUpdateQueue=[],this.clientInfo={deviceId:"",userId:f.oX.Undefined,idpId:f.oX.Undefined,clientId:this.config.clientId,clientVer:this.config.clientVersion,clientVariant:this.getCommonClientVariant(this.config.clientVariant),deviceOS:"",deviceType:"",deviceMake:"",deviceModel:"",deviceOSVersion:"",clientType:_.CommonClientType.Undefined,browserType:""},this.cacheMaxAge=this.config.cacheMaxAge||this.cacheMaxAge,this.fetchCloudVariableStream=this.eventStreamFactory.createStream(this.fetchCloudVariables.bind(this))}getCommonClientVariant(c){switch(c){case"ibeta":return _.CommonClientVariant.iBeta;case"release":return _.CommonClientVariant.Release;default:return _.CommonClientVariant.Undefined}}setUserInfo(c){this.clientInfo.userId=c.userId||f.oX.Undefined,this.clientInfo.idpId=c.idpId||f.oX.Undefined}setCvList(c){this.cvList=c,this.isCvListInitialized$.next(!0)}cvListInitialized(){return this.isCvListInitialized$.asObservable()}fetchCloudVariables(){return(0,U.zV)([this.isGxTargetConfiguredCorrectly(),this.cvListInitialized()]).pipe((0,L.s)(1),(0,S.ZZ)(([c,g])=>c?(0,A.p)([this.readFromSharedStorage(this.getSharedStorageKey(f.CV.USER_ID)),this.readFromSharedStorage(this.getSharedStorageKey(f.CV.DEVICE_ID))]):(this.batchCvsInitialized.next(!0),(0,r.$)(`client info not available -> clientId, clientVersion, userId, idpId, deviceId, \n clientVariant, clientType, deviceOS, deviceOSVersion, deviceType, deviceModel, deviceMake:\n ${this.clientInfo.clientId}, ${this.clientInfo.clientVer}, ${this.clientInfo.userId},\n ${this.clientInfo.idpId}, ${this.clientInfo.deviceId}, ${this.clientInfo.clientVariant},\n ${this.clientInfo.clientType}, ${this.clientInfo.deviceOS}, ${this.clientInfo.deviceOSVersion},\n ${this.clientInfo.deviceType}, ${this.clientInfo.deviceModel}, ${this.clientInfo.deviceMake}`))),(0,S.ZZ)(([c,g])=>{const d=this.callGetMultipleCloudVariableApi({variant:this.config.clientVariant,...this.clientInfo.clientType===_.CommonClientType.Browser&&{userDefaultUILanguage:this.localeService.getShortLocale()}}).pipe((0,s.M)(j=>{this.batchCvsInitialized.next(!0)}),(0,M.W)(j=>{this.logger.error("Error in batch call",j);const le=new Map;return this.batchCvsInitialized.next(!0),(0,P.of)(le)}));let C,Q;return this.logger.info("Requested cvs in batch call",this.cvList),(0,i.isEmpty)(c)?d:(this.cvList.forEach(j=>{Q=c[j],Q?(C={variation:Q.result,value:Q.value,activity:Q.activity,metadata:Q.metadata,isCachedResult:!0},this.cachedCloudVariableMap.set(j,C)):g&&g[j]&&(Q=g[j],Q&&(C={variation:Q.result,value:Q.value,activity:Q.activity,metadata:Q.metadata,isCachedResult:!0},this.cachedCloudVariableMap.set(j,C)))}),d.subscribe(l.l),d.pipe((0,u.o)(this.config.allCvNetworkTimeoutForCacheFallback,(0,P.of)(this.cachedCloudVariableMap))))}))}callGetMultipleCloudVariableApi(c={}){const g=new Map,d=[],C=this.distributedTracingUtilService.startSpan(Z.pB.ClientGetCloudVariable),Q=this.distributedTracingUtilService.extractContextFromSpan(C);return(0,k.H)(this.cloudVariableSdk.getCloudVariables(this.cvList,_.CachePolicy.LIVE,{...this.commonClientParams,...c},Q).catch(j=>{this.logger.error("Error in getCloudVariables from cloudVariableSdk",j)})).pipe((0,S.ZZ)(j=>{if((null==j?void 0:j.size)>0){this.sendCloudVariableFetchSuccessTelemetry(j,N.GxTargetGetCloudVariable,z.GxTargetGetAllCloudVariables);const le={name:void 0,variation:void 0,value:void 0,activity:void 0,isCachedResult:!1,state:_.CloudVariableStatus.Unknown};return this.cvList.forEach(ge=>{if(j.get(ge)){const ce=j.get(ge);ce.clientRequestParams={commonClientParams:this.commonClientParams,additionalClientParams:c};const G={name:ce.name,variation:ce.result,value:ce.value,activity:ce.activity,metadata:ce.metadata,isCachedResult:!1,state:_.CloudVariableStatus.Unknown};g.set(ce.name,G),d.push((0,P.of)(G))}else g.set(ge,le)}),this.distributedTracingUtilService.closeSpan(C),(0,I.yU)(...d)}return void 0===j?(this.sendCloudVariableFetchFailureTelemetry(j,N.GxTargetGetCloudVariable,z.GxTargetGetAllCloudVariables),this.logger.error("Batch call returned failure")):(this.sendCloudVariableFetchSuccessTelemetry(j,N.GxTargetGetCloudVariable,z.GxTargetGetAllCloudVariables),this.logger.error("Batch call returned empty result")),this.distributedTracingUtilService.setSpanAttribute(C,Z.NS.Error,!0),this.distributedTracingUtilService.closeSpan(C),(0,P.of)(new Map)}),(0,x.T)(()=>g),(0,p.t)(1))}refreshCloudVariables(){this.fetchCloudVariableStream.refresh()}get batchCvsFetchedStatus$(){return this.batchCvsInitialized.asObservable()}processStorageUpdateQueue(){if(this.storageUpdateQueue.pop(),this.storageUpdateQueue.length){this.logger.info("Processing next experiment in queue");const c=this.storageUpdateQueue.pop(),g=this.getSharedStorageKey(c.activity.activationType);this.writeToSharedStorage(g,c)}}cleanupStorageBlock(c){const g=new Set(Object.values(this.config.experiences));for(const d in c)g.has(d)||(this.logger.info(`removing deprecated activity: ${d} from storage`),delete c[d]);return c}updateExperimentRefreshDate(c){return c.metadata||(c.metadata={}),c.metadata.refreshDate=new Date,c}initialize(c,g){this.hostClientType=c||h.Unknown;const d=(0,U.zV)([this.systemInfoService.getDeviceOSType(),this.systemInfoService.getSystemInfo([o.Lu.DeviceId,o.Lu.OSName,o.Lu.OSVersion,o.Lu.DeviceType,o.Lu.BrowserName,o.Lu.SystemName,o.Lu.VendorName])]).pipe((0,x.T)(([C,Q])=>({deviceId:this.config.piplExemption?o.Qe:Q.DeviceId,osName:Q.OSName,osVersion:Q.OSVersion,osType:C,deviceType:Q.DeviceType,browserType:Q.BrowserName,deviceModel:Q.SystemName,deviceMake:Q.VendorName})));(0,U.zV)([d,g]).pipe((0,S.ZZ)(([C,Q])=>{this.clientInfo.deviceId=C.deviceId,this.clientInfo.browserType=C.browserType,this.clientInfo.deviceOS=C.osType,this.deviceOSName=C.osName,this.clientInfo.deviceType=C.deviceType||f.oX.Undefined,this.clientInfo.deviceMake=C.deviceMake||f.oX.Undefined,this.clientInfo.deviceModel=C.deviceModel||f.oX.Undefined,this.clientInfo.deviceOSVersion=C.osVersion,this.clientInfo.clientType=o.zk.isBrowserPlatform()?_.CommonClientType.Browser:_.CommonClientType.Native,this.updateCommonClientParams(a.OSName,this.getSupportedOSName(C.osName)),this.logger.info("Client info at initialize:",this.clientInfo);const le=this.config;return this.cloudVariableSdk=new _.CloudVariableSdkService({url:le.server,defaultRetries:le.defaultRetries,defaultTimeBetweenRetries:le.defaultTimeBetweenRetries,defaultTimeout:le.defaultTimeout,cacheMaxAge:le.cacheMaxAge,storageConfig:{storageType:_.StorageType.IndexedDB},loggingLevel:_.LoggingLevel.Info,clientInfo:this.clientInfo},this.config.openTracingConfig.exportConfig,this.distributedTracingUtilService.isTracingDisabled(),this.config.storage===f.P6.IndexedDb?void 0:this.readFromSharedStorage,this.config.storage===f.P6.IndexedDb?void 0:this.writeToSharedStorage,this.getSharedStorageKey),this.initGlobalTagsForOpenTracing(Q,c),(0,P.of)(!0)})).subscribe(()=>{this.logger.info("Initialized successfully"),this.isInitialized$.next(!0)},C=>{this.logger.error("Error initializing service",C),this.isInitialized$.next(!1)})}initGlobalTagsForOpenTracing(c,g){this.cloudVariableSdk.updateGlobalTags({[Z.NS.ServiceVersion]:this.clientInfo.clientVer,[Z.NS.ServiceType]:Z.Se.Pc_A7,[Z.NS.SpanKind]:Z.ls.Client,[Z.NS.AppName]:g,[Z.NS.DeviceId]:this.clientInfo.deviceId,[Z.NS.ClientOs]:this.clientInfo.deviceOS,[Z.NS.ClientOsName]:this.deviceOSName,[Z.NS.ClientOsVersion]:this.clientInfo.deviceOSVersion,[Z.NS.CountryCode]:c})}getSupportedOSName(c){var g,d;switch(null===(d=c=null!==(g=c)&&void 0!==g&&g.toLowerCase().includes("windows")?"windows":c)||void 0===d?void 0:d.toLowerCase()){case"windows":return"WINDOWS";case"mac":case"macos":return"MACOS";case"linux":return"LINUX";case"chrome os":case"chromeos":return"CHROMEOS";case"ios":return"IOS";case"ipados":return"IPADOS";case"webos":return"WEBOS";case"tizen":return"TIZEN";case"xbox":return"XBOX";case"android":return"ANDROID";case"visionos":return"VISIONOS";case"steamos":return"STEAMOS";default:return this.logger.info("Cannot get supported OS name for OS: ",c),""}}updateCommonClientParams(c,g){c&&g&&(this.commonClientParams[c]=g)}getCloudVariable(c,g={},d,C,Q,j,le){return this.config.denyListExperiences.includes(c)?this.fetchSingleCloudVariable(c,g,d,C,Q,j,le).pipe((0,s.M)(ge=>this.logger.info("Received requested cloud variable information: ",c,ge))):this.batchCvsFetchedStatus$.pipe((0,L.s)(1),(0,S.ZZ)(()=>this.fetchCloudVariableStream.get$().pipe((0,S.ZZ)(ge=>{const ie=ge.get(c);return ie?null!=ie&&ie.value?(0,P.of)(ie):(0,r.$)(D):this.fetchSingleCloudVariable(c,g,d,C,Q,j)}),(0,s.M)(ge=>{this.logger.info("Received requested cloud variable information: ",c,ge)}),(0,M.W)(ge=>(0,r.$)(ge)))))}fetchSingleCloudVariable(c,g={},d,C,Q,j,le){let ge,ie;return this.logger.info("fetchSingleCloudVariable called for ",c),this.isGxTargetConfiguredCorrectly(j).pipe((0,S.ZZ)(([ce])=>(this.logger.info("cloud variable requested with params",c,g,{...this.clientInfo}),ce?this.fetchCachedData(c):(0,r.$)(`client info not available -> clientId, clientVersion, userId, \n idpId, deviceId, clientVariant, clientType, deviceOS, deviceOSVersion, deviceType, deviceModel, deviceMake:\n ${this.clientInfo.clientId}, ${this.clientInfo.clientVer}, ${this.clientInfo.userId},\n ${this.clientInfo.idpId}, ${this.clientInfo.deviceId}, ${this.clientInfo.clientVariant},\n ${this.clientInfo.clientType}, ${this.clientInfo.deviceOS}, ${this.clientInfo.deviceOSVersion},\n ${this.clientInfo.deviceType}, ${this.clientInfo.deviceModel}, ${this.clientInfo.deviceMake}`))),(0,S.ZZ)(ce=>{ge=ce,ie=ge&&ge[c];const G=this.callGetCloudVariableApi(c,g,ie,ge,C,Q);if(ie){const ue={additionalClientParams:g,commonClientParams:this.commonClientParams},ae=this.cacheIsCurrent(ie,null==d?void 0:d.cacheLifetimeOverride)&&(le||(0,i.isEqual)(ue,ie.clientRequestParams)),Ce=(0,P.of)({name:ie.name,variation:ie.result,value:ie.value,activity:ie.activity,metadata:ie.metadata,isCachedResult:!0,state:_.CloudVariableStatus.Unknown});if(null!=d&&d.useCache){if(ae)return Ce}else if(null!=d&&d.useNetworkTimeoutForCacheFallback)return G.subscribe(l.l,Se=>{this.logger.info(`Error while fetching ${c}`,Se)}),G.pipe((0,u.o)(this.config.networkTimeoutForCacheFallback,Ce))}return G}))}callGetCloudVariableApi(c,g={},d,C,Q,j){const le=this.distributedTracingUtilService.startSpan(Z.pB.ClientGetCloudVariable),ge=this.distributedTracingUtilService.extractContextFromSpan(le);return(0,k.H)(this.cloudVariableSdk.getCloudVariable(c,_.CachePolicy.LIVE,{...this.commonClientParams,...g},ge).catch(ie=>{this.logger.error("Error in getCloudVariable from cloudVariableSdk",ie)})).pipe((0,S.ZZ)(ie=>{if(ie){if(this.sendCloudVariableFetchSuccessTelemetry(ie,Q,j),(0,i.isEmpty)(ie))return(0,r.$)(new D);this.distributedTracingUtilService.closeSpan(le);const ce=ie;return ce.clientRequestParams={commonClientParams:this.commonClientParams,additionalClientParams:g},(0,P.of)({name:ce.name,variation:ce.result,value:ce.value,activity:ce.activity,metadata:ce.metadata,isCachedResult:!1,state:_.CloudVariableStatus.Unknown})}return void 0===ie?(0,r.$)(new te):(this.sendCloudVariableFetchSuccessTelemetry(ie,Q,j),(0,r.$)(new D))}),(0,M.W)(ie=>(this.distributedTracingUtilService.setSpanAttribute(le,Z.NS.Error,!0),this.distributedTracingUtilService.closeSpan(le),ie instanceof D?d?this.cleanupExperienceForCloudVariable(c,C).pipe((0,S.ZZ)(()=>(0,r.$)(ie))):(this.logger.info("Empty cloud variable and no cached response"),(0,r.$)(ie)):d?(this.logger.info(`Applying cached experiment: ${c}`),this.sendCloudVariableFetchFailureTelemetry(ie,Q,j),(0,P.of)({name:d.name,variation:d.result,value:d.value,activity:d.activity,metadata:d.metadata,isCachedResult:!0,state:_.CloudVariableStatus.Unknown})):(this.sendCloudVariableFetchFailureTelemetry(ie,Q,j),(0,r.$)(ie)))),(0,p.t)(1))}cleanupExperienceForCloudVariable(c,g){const Q=this.getSharedStorageKey(g[c].activity.activationType);return this.logger.info(`Empty experiment list clearing the cache for: ${c}`),delete g[c],this.sharedStorageService.writeBlock(Q,g)}fetchCachedData(c){let g=(0,P.of)({});if(this.clientInfo.userId!==f.oX.Undefined){const d=this.getSharedStorageKey(f.CV.USER_ID);g=this.readFromSharedStorage(d)}return(0,A.p)([g,this.readFromSharedStorage(this.getSharedStorageKey(f.CV.DEVICE_ID))]).pipe((0,S.ZZ)(([d,C])=>{let Q;return d&&d[c]?(this.logger.info("found activity in user storage",c,d[c]),Q=d):C&&C[c]?(this.logger.info("found activity in global storage",c,C[c]),Q=C):Q={},(0,P.of)(Q)}))}cacheIsCurrent(c,g=this.cacheMaxAge){return-1===g?!!c:!!(c&&o.Nq.getDifferenceInTime(new Date,this.getExperimentRefreshDate(c),o.yr.MINUTES)<=g)}getExperimentRefreshDate(c){return c.metadata&&c.metadata.refreshDate}isGxTargetConfiguredCorrectly(c){let g=this.isInitialized$;return c&&(g=this.isInitialized$.pipe((0,S.ZZ)(()=>c),(0,S.ZZ)(d=>(this.logger.info("Setting user info"),this.setUserInfo(d),(0,P.of)(d))))),g.pipe((0,L.s)(1),(0,x.T)(()=>[!!(this.clientInfo.clientId&&this.clientInfo.clientVer&&this.clientInfo.deviceId),this.clientInfo.clientId,this.clientInfo.clientVer,this.clientInfo.deviceId,this.clientInfo.userId,this.clientInfo.idpId,this.clientInfo.browserType,this.clientInfo.clientVariant,this.clientInfo.clientType,this.clientInfo.deviceOS,this.clientInfo.deviceOSVersion,this.clientInfo.deviceType,this.clientInfo.deviceModel,this.clientInfo.deviceMake]))}sendCloudVariableFetchFailureTelemetry(c,g,d){if(0===this.config.clientId.localeCompare(q)){var C,Q;const ge=new b({sourceComponent:this.hostClientType||h.Unknown,originalService:W.GxTarget,serviceUseCase:g,serviceSubUseCase:d,url:(null==c||null===(C=c.config)||void 0===C?void 0:C.url)||"",networkErrorCode:String(c&&c.response?c.response.status:0),destinationIp:"",xRequestId:c&&c.xRequestId?c.xRequestId:"",retryCount:0,wasSWCacheBypassed:ne.UNDEFINED,networkErrorMessage:(null==c||null===(Q=c.response)||void 0===Q||null===(Q=Q.message)||void 0===Q?void 0:Q.substring(0,1024))||""});this.telemetryService.push(ge)}else{var j,le;const ge=new F({sourceComponent:this.hostClientType||h.Unknown,originalService:W.GxTarget,serviceUseCase:g,serviceSubUseCase:d,url:(null==c||null===(j=c.config)||void 0===j?void 0:j.url)||"",networkErrorCode:String(c&&c.response?c.response.status:0),destinationIp:"",xRequestId:c&&c.xRequestId?c.xRequestId:"",httpStatus:(null==c||null===(le=c.response)||void 0===le?void 0:le.status)||0,responseData:"",durationMs:0,retryCount:0,wasSWCacheBypassed:ne.UNDEFINED});this.telemetryService.push(ge)}}sendCloudVariableFetchSuccessTelemetry(c,g,d){if(0===this.config.clientId.localeCompare(q)){const C=new w({sourceComponent:this.hostClientType||h.Unknown,originalService:W.GxTarget,serviceUseCase:g,serviceSubUseCase:d,url:(null==c?void 0:c.url)||"",httpStatus:(null==c?void 0:c.httpStatus)||200,durationMs:Math.round(null==c?void 0:c.durationMs)||0,destinationIp:"",responseData:"",xRequestId:(null==c?void 0:c.xRequestId)||"",retryCount:0,wasSWCacheBypassed:ne.UNDEFINED});this.telemetryService.push(C)}else{const C=new F({sourceComponent:this.hostClientType||h.Unknown,originalService:W.GxTarget,serviceUseCase:g,serviceSubUseCase:d,url:(null==c?void 0:c.url)||"",networkErrorCode:"",destinationIp:"",xRequestId:(null==c?void 0:c.xRequestId)||"",httpStatus:(null==c?void 0:c.httpStatus)||200,responseData:"",durationMs:Math.round(null==c?void 0:c.durationMs)||0,retryCount:0,wasSWCacheBypassed:ne.UNDEFINED});this.telemetryService.push(C)}}}return(H=y).\u0275fac=function(c){return new(c||H)(e.KVO(E),e.KVO(o.J6),e.KVO(f.H0),e.KVO(se.yQ),e.KVO(o.zW),e.KVO(Y.mZ),e.KVO(o.iH),e.KVO(Z.Z1))},H.\u0275prov=e.jDH({token:H,factory:H.\u0275fac,providedIn:"root"}),y})()},48852:(xe,de,t)=>{"use strict";t.d(de,{dt:()=>e,bi:()=>i,Oz:()=>X,GJ:()=>E});var e=function(c){return c[c.A=0]="A",c[c.B=1]="B",c[c.X=2]="X",c[c.Y=3]="Y",c[c.LeftBumper=4]="LeftBumper",c[c.RightBumper=5]="RightBumper",c[c.LeftTrigger=6]="LeftTrigger",c[c.RightTrigger=7]="RightTrigger",c[c.Back=8]="Back",c[c.Start=9]="Start",c[c.LeftStick=10]="LeftStick",c[c.RightStick=11]="RightStick",c[c.DpadUp=12]="DpadUp",c[c.DpadDown=13]="DpadDown",c[c.DpadLeft=14]="DpadLeft",c[c.DpadRight=15]="DpadRight",c[c.Center=16]="Center",c}(e||{}),n=t(58527);let E=(()=>{var c;class g{}return(c=g).\u0275fac=function(C){return new(C||c)},c.\u0275prov=n.jDH({token:c,factory:c.\u0275fac}),g})();var O=t(31315),B=t(12532),P=t(16229),k=t(3496),U=t(80583),r=t(26513),A=t(83915),l=t(34593),I=t(8619),S=t(53461),L=t(72147),s=t(10174),M=t(75707),u=t(43848);function x(c){return(0,L.n)(g=>g?(0,k.O)(0,c).pipe((0,s.u)(!0)):(0,u.of)(!1))}var p=t(33367);class i{}var o=function(c){return c.Left="left",c.Right="right",c.Up="up",c.Down="down",c}(o||{}),_=function(c){return c.Vertical="vertical",c.Horizontal="horizontal",c}(_||{}),f=function(c){return c[c.Left=0]="Left",c[c.Right=1]="Right",c}(f||{});const a=32767,D=-32768,te={[o.Down]:_.Vertical,[o.Up]:_.Vertical,[o.Left]:_.Horizontal,[o.Right]:_.Horizontal};var N=function(c){return c[c.NVST_GC_NONE=0]="NVST_GC_NONE",c[c.NVST_GC_BTN_START=1]="NVST_GC_BTN_START",c[c.NVST_GC_BTN_SELECT=2]="NVST_GC_BTN_SELECT",c[c.NVST_GC_BTN_MODE=3]="NVST_GC_BTN_MODE",c[c.NVST_GC_BTN_X=4]="NVST_GC_BTN_X",c[c.NVST_GC_BTN_Y=5]="NVST_GC_BTN_Y",c[c.NVST_GC_BTN_Z=6]="NVST_GC_BTN_Z",c[c.NVST_GC_BTN_A=7]="NVST_GC_BTN_A",c[c.NVST_GC_BTN_B=8]="NVST_GC_BTN_B",c[c.NVST_GC_BTN_C=9]="NVST_GC_BTN_C",c[c.NVST_GC_BTN_THUMBL=10]="NVST_GC_BTN_THUMBL",c[c.NVST_GC_BTN_THUMBR=11]="NVST_GC_BTN_THUMBR",c[c.NVST_GC_BTN_L1=12]="NVST_GC_BTN_L1",c[c.NVST_GC_BTN_R1=13]="NVST_GC_BTN_R1",c[c.NVST_GC_AXIS_DPAD_X=14]="NVST_GC_AXIS_DPAD_X",c[c.NVST_GC_AXIS_DPAD_Y=15]="NVST_GC_AXIS_DPAD_Y",c[c.NVST_GC_AXIS_LSTICK_X=16]="NVST_GC_AXIS_LSTICK_X",c[c.NVST_GC_AXIS_LSTICK_Y=17]="NVST_GC_AXIS_LSTICK_Y",c[c.NVST_GC_AXIS_RSTICK_X=18]="NVST_GC_AXIS_RSTICK_X",c[c.NVST_GC_AXIS_RSTICK_Y=19]="NVST_GC_AXIS_RSTICK_Y",c[c.NVST_GC_TRIGGER_LEFT=20]="NVST_GC_TRIGGER_LEFT",c[c.NVST_GC_TRIGGER_RIGHT=21]="NVST_GC_TRIGGER_RIGHT",c[c.NVST_GC_BTN_TOUCHPAD=22]="NVST_GC_BTN_TOUCHPAD",c[c.NVST_GC_AXIS_TOUCHPAD1_X=23]="NVST_GC_AXIS_TOUCHPAD1_X",c[c.NVST_GC_AXIS_TOUCHPAD1_Y=24]="NVST_GC_AXIS_TOUCHPAD1_Y",c[c.NVST_GC_AXIS_TOUCHPAD2_X=25]="NVST_GC_AXIS_TOUCHPAD2_X",c[c.NVST_GC_AXIS_TOUCHPAD2_Y=26]="NVST_GC_AXIS_TOUCHPAD2_Y",c[c.NVST_GC_NUM_CONTROLS=27]="NVST_GC_NUM_CONTROLS",c}(N||{});const z={[N.NVST_GC_BTN_START]:e.Start,[N.NVST_GC_BTN_SELECT]:e.Back,[N.NVST_GC_BTN_MODE]:e.Center,[N.NVST_GC_BTN_X]:e.X,[N.NVST_GC_BTN_Y]:e.Y,[N.NVST_GC_BTN_A]:e.A,[N.NVST_GC_BTN_B]:e.B,[N.NVST_GC_BTN_THUMBL]:e.LeftStick,[N.NVST_GC_BTN_THUMBR]:e.RightStick,[N.NVST_GC_BTN_L1]:e.LeftBumper,[N.NVST_GC_BTN_R1]:e.RightBumper,[N.NVST_GC_TRIGGER_LEFT]:e.LeftTrigger,[N.NVST_GC_TRIGGER_RIGHT]:e.RightTrigger};class R extends i{get isGamepadConnected$(){return this.connectedGamepadsInfoSubject.asObservable().pipe((0,A.T)(g=>g.length>0))}get isAnyGamepadInUse$(){const g=this.buttonPressedSubject.asObservable().pipe((0,A.T)(j=>j.isPressed),(0,l.Z)(!1)),d=this.joystickMovementSubject.asObservable().pipe((0,I.p)(j=>j.position===f.Right),(0,A.T)(j=>j.value>this.gamepadConfig.joystickMovementThreshold*a||j.valuej.position===f.Left),(0,A.T)(j=>j.value>this.gamepadConfig.joystickMovementThreshold*a||j.valuej||le||ge),(0,S.F)())}getObservableForDirection(g){let d;switch(g){case o.Down:d=e.DpadDown;break;case o.Left:d=e.DpadLeft;break;case o.Right:d=e.DpadRight;break;case o.Up:d=e.DpadUp}return this.isGamepadConnected$.pipe((0,L.n)(C=>C?(0,P.h)(this.buttonPressedSubject.asObservable().pipe((0,I.p)(Q=>Q.name===d),(0,A.T)(Q=>Q.isPressed)),this.getLeftJoystickMovementObservable(g)).pipe((0,S.F)(),x(this.gamepadConfig.continuousNavigationInterval)):B.w))}get leftPressed$(){return this.getObservableForDirection(o.Left)}get rightPressed$(){return this.getObservableForDirection(o.Right)}get upPressed$(){return this.getObservableForDirection(o.Up)}get downPressed$(){return this.getObservableForDirection(o.Down)}get rightStickMoved$(){return this.joystickMovementSubject.asObservable().pipe((0,I.p)(g=>g.position===f.Right),(0,A.T)(g=>g.value>this.gamepadConfig.joystickMovementThreshold*a||g.valueC.name===g),(0,A.T)(C=>C.isPressed))}onButtonLongPressed$(g,d){return this.buttonPressedSubject.asObservable().pipe((0,I.p)(C=>C.name===g),(0,L.n)(C=>C.isPressed?(0,k.O)(null!=d?d:this.gamepadConfig.longPressDuration).pipe((0,s.u)(!0)):B.w))}onButtonComboPressed$(g){const d=g.map(C=>this.buttonPressedSubject.asObservable().pipe((0,I.p)(Q=>Q.name===C),(0,A.T)(Q=>Q.isPressed),(0,l.Z)(!1)));return(0,O.zV)(d).pipe((0,A.T)(C=>!C.some(j=>!1===j)))}hasMovedMoreThanThreshold(g,d){switch(d){case o.Down:case o.Right:return g>this.gamepadConfig.joystickMovementThreshold*a;case o.Up:case o.Left:return gC;case o.Left:case o.Up:return dj.position===f.Left&&j.axis===d),(0,A.T)(j=>{let le=!1;if(void 0===C){if(le=this.hasMovedMoreThanThreshold(j.value,g),le){if(!Q)return!1;C=j.value}return le}return this.hasMovedMoreThanPreviousValue(g,j.value,C)?(C=j.value,!0):(C=void 0,Q=!1,setTimeout(()=>{Q=!0},this.gamepadConfig.cooloffDuration),!1)}))}handleGamepadEvent(g){const d=z[g.control];if(void 0===d)switch(g.control){case N.NVST_GC_AXIS_DPAD_X:g.value===D?this.buttonPressedSubject.next({name:e.DpadLeft,isPressed:!0}):g.value===a?this.buttonPressedSubject.next({name:e.DpadRight,isPressed:!0}):0===g.value&&(this.buttonPressedSubject.next({name:e.DpadLeft,isPressed:!1}),this.buttonPressedSubject.next({name:e.DpadRight,isPressed:!1}));break;case N.NVST_GC_AXIS_DPAD_Y:g.value===D?this.buttonPressedSubject.next({name:e.DpadUp,isPressed:!0}):g.value===a?this.buttonPressedSubject.next({name:e.DpadDown,isPressed:!0}):0===g.value&&(this.buttonPressedSubject.next({name:e.DpadDown,isPressed:!1}),this.buttonPressedSubject.next({name:e.DpadUp,isPressed:!1}));break;case N.NVST_GC_AXIS_LSTICK_X:this.joystickMovementSubject.next({value:g.value,axis:_.Horizontal,position:f.Left});break;case N.NVST_GC_AXIS_LSTICK_Y:this.joystickMovementSubject.next({value:g.value,axis:_.Vertical,position:f.Left});break;case N.NVST_GC_AXIS_RSTICK_X:this.joystickMovementSubject.next({value:g.value,axis:_.Horizontal,position:f.Right});break;case N.NVST_GC_AXIS_RSTICK_Y:this.joystickMovementSubject.next({value:g.value,axis:_.Vertical,position:f.Right});break;default:this.logger.warn(`No handling for gamepad event ${g.control}, ignoring`)}else this.buttonPressedSubject.next({name:d,isPressed:1===g.value||-1===g.value})}constructor(g,d,C,Q){super(),this.bridgeService=d,this.gamepadConfig=C,this.ngZone=Q,this.buttonPressedSubject=new U.B7,this.joystickMovementSubject=new U.B7,this.connectedGamepadsInfoSubject=new r.t([]),this.logger=g.getLogger("GeronimoEventGamepadService"),this.ngZone.runOutsideAngular(()=>{this.bridgeService.executeCommand(p.Ts.Gfn.Streaming.RegisterGamepadChangedCallback).pipe((0,l.Z)(0),(0,M.ZZ)(j=>this.bridgeService.executeCommand(p.Ts.Gfn.Streaming.GetConnectedGamepads))).subscribe(j=>{this.logger.info(`Connected gamepad info post gamepadChangeEvent: ${JSON.stringify(j)}`),this.connectedGamepadsInfoSubject.next(j.connectedGamepadInfoList)}),this.bridgeService.executeCommand(p.Ts.Gfn.Streaming.RegisterGamepadEventCallback,{minPositiveMovement:Math.floor(this.gamepadConfig.joystickTriggeredTolerance*a),maxNegativeMovement:Math.floor(this.gamepadConfig.joystickTriggeredTolerance*D)}).subscribe(j=>{this.handleGamepadEvent(j)})})}}var v=t(47766),h=t(27731),W=t(892),ne=t(36877),ee=t(63997),b=t(65726),w=t(48765),F=t(91384),Z=t(55833),se=t(65770);class Y extends i{get isGamepadConnected$(){return this._isGamepadConnected$}get isAnyGamepadInUse$(){return this.ngZone.runOutsideAngular(()=>this.gamepadsTick$.pipe((0,A.T)(g=>g.some(d=>this.isAnyAxisTriggeredOrButtonPressed(d))),(0,S.F)()))}get leftPressed$(){return this.ngZone.runOutsideAngular(()=>this.gamepadsTick$.pipe((0,A.T)(g=>g.some(d=>this.isAxisTriggeredOrButtonPressed(d,C=>C[0]<-this.gamepadConfig.joystickMovementThreshold,e.DpadLeft))),(0,S.F)(),x(this.gamepadConfig.continuousNavigationInterval)))}get rightPressed$(){return this.ngZone.runOutsideAngular(()=>this.gamepadsTick$.pipe((0,A.T)(g=>g.some(d=>this.isAxisTriggeredOrButtonPressed(d,C=>C[0]>this.gamepadConfig.joystickMovementThreshold,e.DpadRight))),(0,S.F)(),x(this.gamepadConfig.continuousNavigationInterval)))}get upPressed$(){return this.ngZone.runOutsideAngular(()=>this.gamepadsTick$.pipe((0,A.T)(g=>g.some(d=>this.isAxisTriggeredOrButtonPressed(d,C=>C[1]<-this.gamepadConfig.joystickMovementThreshold,e.DpadUp))),(0,S.F)(),x(this.gamepadConfig.continuousNavigationInterval)))}get downPressed$(){return this.ngZone.runOutsideAngular(()=>this.gamepadsTick$.pipe((0,A.T)(g=>g.some(d=>this.isAxisTriggeredOrButtonPressed(d,C=>C[1]>this.gamepadConfig.joystickMovementThreshold,e.DpadDown))),(0,S.F)(),x(this.gamepadConfig.continuousNavigationInterval)))}get rightStickMoved$(){return this.ngZone.runOutsideAngular(()=>this.gamepadsTick$.pipe((0,A.T)(g=>g.some(d=>this.isAxisTriggeredOrButtonPressed(d,C=>C[2]>this.gamepadConfig.joystickTriggeredTolerance||C[3]<-this.gamepadConfig.joystickTriggeredTolerance,e.RightStick))),(0,S.F)()))}onButtonPressed$(g,d){return this.ngZone.runOutsideAngular(()=>this.getButtonPressed$(this.gamepadsTick$,g,d))}onButtonLongPressed$(g,d){return this.ngZone.runOutsideAngular(()=>this.getButtonPressed$(this.gamepadsTick$,g).pipe((0,L.n)(C=>C?(0,u.of)(!0).pipe((0,b.c)(null!=d?d:this.gamepadConfig.longPressDuration)):h.t)))}onButtonComboPressed$(g){return this.ngZone.runOutsideAngular(()=>this.getButtonComboPressed$(this.gamepadsTick$,g))}constructor(g,d,C,Q,j){var le;super(),this.ngZone=C,this.browserSupportService=Q,this.gamepadConfig=j,this.pollForGamepadConnection=!(null===(le=this.gamepadConfig)||void 0===le||!le.pollForGamepadConnection),this.logger=g.getLogger("WebApiGamepadService");const ce=G=>(null==G?void 0:G.connected)&&(!!v.zk.isAndroidPlatform()||(G=>"standard"===(null==G?void 0:G.mapping))(G));C.runOutsideAngular(()=>{let G=this.pollForGamepadConnection;const ue=G?(0,W.Y)(1e3):h.t;this._isGamepadConnected$=(0,P.h)((0,ne.R)(window,"gamepadconnected"),(0,ne.R)(window,"gamepaddisconnected"),ue.pipe((0,w.v)(()=>G))).pipe((0,l.Z)(0),(0,A.T)(Ne=>this.browserSupportService.getGamepads().some(ce)),(0,F.M)(Ne=>{Ne&&this.pollForGamepadConnection&&(G=!1)}),(0,S.F)(),(0,Z.t)(1));const ae=d.leanModeTransitionState.pipe((0,l.Z)(this.gamepadConfig.gamepadTickPeriodDefault),(0,A.T)(Ne=>this.gamepadConfig.gamepadTickPeriodLean),(0,S.F)()),Ce=Q.applicationWindowState$.pipe((0,A.T)(Ne=>"foreground"===Ne)),Se=(0,P.h)((0,ee.v)(()=>(0,u.of)(document.hasFocus())),(0,ne.R)(window,"focus").pipe((0,s.u)(!0)),(0,ne.R)(window,"blur").pipe((0,s.u)(!1)));this.gamepadsTick$=(0,O.zV)([this._isGamepadConnected$,Ce,Se]).pipe((0,A.T)(([Ne,we,ve])=>(this.logger.info("connected=",Ne,", foreground=",we,", windowFocused=",ve),Ne&&we&&ve)),(0,S.F)(),(0,L.n)(Ne=>Ne?(this.logger.info("Start polling gamepad state"),ae.pipe((0,F.M)(we=>{this.logger.info(`Polling gamepad state with period: ${we} ms`)}),(0,L.n)(we=>(0,W.Y)(we)),(0,A.T)(we=>Q.getGamepads().filter(ce)))):(this.logger.info("Stop polling gamepad state"),(0,u.of)([]))),(0,se.u)())})}getButtonComboPressed$(g,d){return g.pipe((0,A.T)(C=>C.some(Q=>d.every(j=>this.isButtonPressed(Q,j)))),(0,S.F)())}getButtonPressed$(g,d,C){const Q=!(null==C||!C.repeat),j=g.pipe((0,A.T)(le=>le.some(ge=>this.isButtonPressed(ge,d,null==C?void 0:C.customButtonIndex))),(0,S.F)());return Q?j.pipe(x(this.gamepadConfig.continuousNavigationInterval)):j}isButtonPressed(g,d,C){return g.buttons[null!=C?C:d].pressed}isAxisTriggeredOrButtonPressed(g,d,C){return d(g.axes)||this.isButtonPressed(g,C)}isAnyAxisTriggeredOrButtonPressed(g){return g.buttons.some(Q=>Q.pressed)||(()=>g.axes.some(Q=>Q>this.gamepadConfig.joystickTriggeredTolerance||Q<-this.gamepadConfig.joystickTriggeredTolerance))()}}class q extends i{get isGamepadConnected$(){return B.w}get isAnyGamepadInUse$(){return B.w}get leftPressed$(){return B.w}get rightPressed$(){return B.w}get upPressed$(){return B.w}get downPressed$(){return B.w}get rightStickMoved$(){return B.w}onButtonPressed$(g,d){return B.w}onButtonLongPressed$(g,d){return B.w}onButtonComboPressed$(g){return B.w}}class T extends q{constructor(g){super(),this.systemInfoService=g}get isGamepadConnected$(){return this.systemInfoService.getSystemInfo([v.Lu.HID]).pipe((0,A.T)(d=>{var C;return(null==d||null===(C=d.HID)||void 0===C||null===(C=C.GamePad)||void 0===C?void 0:C.length)>0}))}}var H=t(54292);const X={provide:i,useFactory:function y(c,g,d){switch(c.implementationType){case"android":const C=d.get(v.zW);return new T(C);case"geronimo":{const Q=d.get(v.J6),j=d.get(v.NZ);return new R(Q,j,c,g)}case"webapi":{const Q=d.get(v.J6),j=d.get(v.rQ),le=d.get(H.vT);return new Y(Q,j,g,le,c)}case"no-op":return new q}},deps:[E,n.SKi,n.zZn]}},33089:(xe,de,t)=>{"use strict";t.d(de,{mi:()=>B,NO:()=>L,WK:()=>M,jZ:()=>A,Qe:()=>s});var e=t(43848),n=t(75707),E=t(20468),O=t(26875);const B={server:"https://telemetry.gfe.nvidia.com",version:"v1.0",schemaVersion:"",defaultRetries:2,defaultTimeBetweenRetries:1e3,defaultTimeout:3e4,msBetweenChunkCreation:3e5,maxBufferSizeInBytes:25600,chunksQueueSize:20,chunkResendRetryLimit:2,clientId:""};var U=function(u){return u.GfcHeadRequest="FeedbackHead",u.GfcAttachmentRequest="FeedbackAttachment",u}(U||{}),r=t(58527);let A=(()=>{var u;class x{}return(u=x).\u0275fac=function(i){return new(i||u)},u.\u0275prov=r.jDH({token:u,factory:u.\u0275fac}),x})();var l=t(70815);const S="gfc/v4.0/attachment";let L=(()=>{var u;class x{constructor(i,o){this.serverConfig=i,this.endpointFactory=o,this.latestOffset=0,this.commonFeedbackEventData={},this.previousChunkDataSize=0,this.prepareCommonFeedbackData(i),this.feedbackEndpointUrl=this.prepareFeedbackEndpoint(),this.feedbackAttachmentEndpointUrl=this.prepareFeedbackAttachmentEndpoint()}generateUrl(i){return this.serverConfig.server+"/"+i}computeSHA256Checksum(i){let o="";return(0,O.isEmpty)(i)||(o=(0,E.sha256)(i)),o}getDataSize(i){return(0,O.isEmpty)(i)?0:new Blob([i]).size}prepareFeedbackEndpoint(){return this.feedbackEndpointUrl=this.endpointFactory.createEndpoint({headers:{"Content-Type":"application/json"},config:{timeout:this.serverConfig.defaultTimeout,timeBetweenRetries:this.serverConfig.defaultTimeBetweenRetries,maxRetries:this.serverConfig.defaultRetries},reportRequestData:{originalService:"Gfc",serviceUseCase:U.GfcHeadRequest,reportSuccessTelemetry:"false"}}),this.feedbackEndpointUrl}prepareFeedbackAttachmentEndpoint(){return this.feedbackAttachmentEndpointUrl=this.endpointFactory.createEndpoint({config:{timeout:this.serverConfig.defaultTimeout,timeBetweenRetries:this.serverConfig.defaultTimeBetweenRetries,maxRetries:this.serverConfig.defaultRetries},reportRequestData:{originalService:"Gfc",serviceUseCase:U.GfcAttachmentRequest,reportSuccessTelemetry:"false"}}),this.feedbackAttachmentEndpointUrl}prepareCommonFeedbackData(i){this.commonFeedbackEventData=(0,O.extend)(this.commonFeedbackEventData,{clientId:i.clientId,feedbackProtocol:"4.4",feedbackSchemaVer:i.schemaVersion,feedbackSysVer:i.version})}buildGFCMultipartData(i,o,_,f,J=0,a=!1){const D=new FormData;return D.append("data2",new Blob([i])),D.append("feedbackId",o),D.append("size",_.toString()),D.append("checksum",this.computeSHA256Checksum(i)),f&&D.append("parameters",JSON.stringify(f.parameters)),D.append("offset",J.toString()),a&&D.append("eob","true"),D}updatePreviousChunkSizeAndBuildMultipartData(i,o,_=!1){return this.previousChunkDataSize=this.getDataSize(i),this.buildGFCMultipartData(i,this.xFeedbackId,this.previousChunkDataSize,o,this.latestOffset,_)}sendFeedbackHeadRequest(i){return i=(0,O.merge)(i,this.commonFeedbackEventData),this.feedbackEndpointUrl.makeRequestEx("POST",this.generateUrl("gfc/v4.0/head"),{body:i,headers:{"Content-Type":"application/json"},withCredentials:!0})}sendFeedbackEvent(i){return this.latestOffset=0,this.xFeedbackId=i.feedbackId,this.sendFeedbackHeadRequest(i)}sendFeedbackChunkEvent(i,o,_=!1,f){if(_){if(null!=f&&f.isBrowserClosing)return this.sendLastFeedbackChunkEvent(i,o),(0,e.of)({});{f.prevChunkInProgress&&this.updateOffsetOnSuccessfulAttachmentRequest();const J=this.updatePreviousChunkSizeAndBuildMultipartData(i,o,!0);return this.latestOffset=0,this.sendFeedbackAttachmentReq(J)}}{const J=this.updatePreviousChunkSizeAndBuildMultipartData(i,o);return this.sendFeedbackAttachmentReq(J)}}sendFeedbackAttachmentReq(i){return this.feedbackAttachmentEndpointUrl.makeRequestEx("POST",this.generateUrl(S),{body:i,withCredentials:!0})}sendLastFeedbackChunkEvent(i,o){const _=this.updatePreviousChunkSizeAndBuildMultipartData(i,o,!0);navigator.sendBeacon(this.generateUrl(S),_),this.latestOffset=0}updateOffsetOnSuccessfulAttachmentRequest(i){this.latestOffset=i||Number(this.latestOffset)+Number(this.previousChunkDataSize)}sendFeedbackBasedOnTechConsent(i,o,_){return i.sentTs=(new Date).toISOString(),this.sendFeedbackHeadRequest(i).pipe((0,n.ZZ)(()=>{if(o){const f=this.buildGFCMultipartData(_,i.feedbackId,this.getDataSize(_),void 0,0,!0);return this.sendFeedbackAttachmentReq(f)}return(0,e.of)(!0)}))}}return(u=x).\u0275fac=function(i){return new(i||u)(r.KVO(A),r.KVO(l.t))},u.\u0275prov=r.jDH({token:u,factory:u.\u0275fac,providedIn:"root"}),x})();const s="undefined";let M=(()=>{var u;class x{static forRoot(i){return{ngModule:x,providers:[{provide:A,useValue:i||B}]}}}return(u=x).\u0275fac=function(i){return new(i||u)},u.\u0275mod=r.$C({type:u}),u.\u0275inj=r.G2t({}),x})()},8789:(xe,de,t)=>{"use strict";t.d(de,{o_:()=>C,Fw:()=>w,EZ:()=>b});var e=t(85735),n=t(43848),E=t(31315),O=t(65706),B=t(75707),P=t(72147),k=t(83915),U=t(14714),r=t(33367),A=t(26814),l=t(47766);const I="desktop",S="browser",L="android",M="selectOtherLayout";var u=function(Q){return Q.WindowsOS="Windows",Q.BrowserChromeOS="ChromeOS",Q.BrowserMacOS="macOS",Q.NativeMacOS="Mac",Q.XboxOS="Xbox",Q.AndroidOS="Android",Q.ShieldOS="Shield",Q}(u||{}),x=function(Q){return Q.Default="default",Q.Mac="mac",Q}(x||{});const p={WindowsOS:x.Default,BrowserChromeOS:x.Default,BrowserMacOS:x.Mac,NativeMacOS:x.Mac,XboxOS:x.Default,AndroidOS:x.Default},i={[I+u.WindowsOS]:"en-US",[I+u.NativeMacOS]:"m-us",[S+u.WindowsOS]:"en-US",[S+u.BrowserMacOS]:"m-us",[S+u.BrowserChromeOS]:"en-US",[S+u.XboxOS]:"en-US",[L+u.AndroidOS]:"en-US",[L+u.ShieldOS]:"en-US"},o=[`${I}${u.WindowsOS}`,`${I}${u.NativeMacOS}`,`${S}${u.WindowsOS}`,`${S}${u.BrowserMacOS}`,`${S}${u.BrowserChromeOS}`,`${S}${u.XboxOS}`,`${L}${u.AndroidOS}`,`${L}${u.ShieldOS}`],_={albanian:{default_keyCode:"sq-AL"},armenianPhonetic:{default_keyCode:"hy-AM"},assameseInscript:{default_keyCode:"as-IN"},azerbaijaniCyrillic:{default_keyCode:"az-Cyrl-AZ"},azerbaijaniLatin:{default_keyCode:"az-Latn-AZ"},banglaIndia:{default_keyCode:"bn-IN"},bashkir:{default_keyCode:"ba-RU"},belarusian:{default_keyCode:"be-BY"},belgianPeriod:{default_keyCode:"nl-BE"},belgianFrench:{default_keyCode:"fr-BE"},bosnianCyrillic:{default_keyCode:"bs-Cyrl-BA"},bulgarian:{default_keyCode:"bg-BG"},canadianEnglish:{default_keyCode:"en-CA"},canadianFrench:{default_keyCode:"fr-CA"},cherokeeNation:{default_keyCode:"chr-Cher-US"},chineseSimplified:{default_keyCode:"zh-CN"},chineseSimplifiedSingapore:{default_keyCode:"zh-SG"},chineseTraditional:{default_keyCode:"zh-TW"},chineseTraditionalHongKongSAR:{default_keyCode:"zh-HK"},chineseTraditionalMacaoSAR:{default_keyCode:"zh-MO"},croatian:{default_keyCode:"hr-HR",mac_keyCode:"m-hr"},czech:{default_keyCode:"cs-CZ",mac_keyCode:"m-cs"},danish:{default_keyCode:"da-DK",mac_keyCode:"m-da"},divehiPhonetic:{default_keyCode:"dv-MV"},dutch:{default_keyCode:"nl-NL",mac_keyCode:"m-nl-NL"},dzongkha:{default_keyCode:"dz-BT"},englishIndia:{default_keyCode:"en-IN"},englishUK:{default_keyCode:"en-GB",mac_keyCode:"m-brit"},englishUS:{default_keyCode:"en-US",mac_keyCode:"m-us"},abcExtended:{mac_keyCode:"en-US"},estonian:{default_keyCode:"et-EE",mac_keyCode:"m-et"},faeroese:{default_keyCode:"fo-FO"},finnish:{default_keyCode:"fi-FI",mac_keyCode:"m-fi"},french:{default_keyCode:"fr-FR",mac_keyCode:"m-fr"},georgianQWERTY:{default_keyCode:"ka-GE"},german:{default_keyCode:"de-DE",mac_keyCode:"m-de"},greek:{default_keyCode:"el-GR",mac_keyCode:"m-el"},greenlandic:{default_keyCode:"kl-GL"},guarani:{default_keyCode:"gn-PY"},gujarati:{default_keyCode:"gu-IN"},hausa:{default_keyCode:"ha-Latn-NG"},hebrew:{default_keyCode:"he-IL"},hindiTraditional:{default_keyCode:"hi-IN"},hungarian:{default_keyCode:"hu-HU",mac_keyCode:"m-hu"},icelandic:{default_keyCode:"is-IS",mac_keyCode:"m-is"},igbo:{default_keyCode:"ig-NG"},inuktitutLatin:{default_keyCode:"iu-Latn-CA"},inuktitutNaqittaut:{default_keyCode:"iu-Cans-CA"},irish:{default_keyCode:"en-IE",mac_keyCode:"m-en-ie"},italian:{default_keyCode:"it-IT"},japanese106:{default_keyCode:"ja-106",mac_keyCode:"m-ja-106"},kannada:{default_keyCode:"kn-IN"},kazakh:{default_keyCode:"kk-KZ"},khmer:{default_keyCode:"km-KH"},korean:{default_keyCode:"ko-KR"},kyrgyzCyrillic:{default_keyCode:"ky-KG"},lao:{default_keyCode:"lo-LA"},latvianStandard:{default_keyCode:"lv-LV"},lithuanian:{default_keyCode:"lt-LT"},luxembourgish:{default_keyCode:"lb-LU"},macedonianStandard:{default_keyCode:"mk-MK"},malayalam:{default_keyCode:"ml-IN"},marathi:{default_keyCode:"mr-IN"},mongolianCyrillic:{default_keyCode:"mn-MN"},mongolianMongolianScriptStandard:{default_keyCode:"mn-Mong-CN"},nepali:{default_keyCode:"ne-NP"},norwegian:{default_keyCode:"nb-NO",mac_keyCode:"m-no"},norwegianSami:{default_keyCode:"se-NO"},odia:{default_keyCode:"or-IN"},pashtoAfghanistan:{default_keyCode:"ps-AF"},persian:{default_keyCode:"fa-IR"},polish:{default_keyCode:"pl-PL"},portuguese:{default_keyCode:"pt-PT",mac_keyCode:"m-pt"},portugueseBrazilianABNT:{default_keyCode:"pt-BR"},punjabiGurumukhi:{default_keyCode:"pa-IN"},russian:{default_keyCode:"ru-RU",mac_keyCode:"m-ru"},sakha:{default_keyCode:"sah-RU"},serbianCyrillic:{default_keyCode:"sr-Cyrl-CS"},serbianLatin:{default_keyCode:"sr-Latn-CS",mac_keyCode:"sr-Latn"},sesothoSaLeboa:{default_keyCode:"nso-ZA"},setswana:{default_keyCode:"tn-ZA"},sinhala:{default_keyCode:"si-LK"},slovak:{default_keyCode:"sk-SK",mac_keyCode:"m-sk"},slovenian:{default_keyCode:"sl-SI",mac_keyCode:"m-sl"},sorbianStandard:{default_keyCode:"hsb-DE"},spanish:{default_keyCode:"es-ES_tradnl",mac_keyCode:"m-es"},spanishLatinAmerican:{default_keyCode:"es-MX"},swedish:{default_keyCode:"sv-SE",mac_keyCode:"m-sv"},swedishSami:{default_keyCode:"se-SE"},swissFrench:{default_keyCode:"fr-CH",mac_keyCode:"m-ch-fr"},swissGerman:{default_keyCode:"de-CH",mac_keyCode:"m-ch-de"},syriac:{default_keyCode:"syr-SY"},tajik:{default_keyCode:"tg-Cyrl-TJ"},tamazightCentral:{default_keyCode:"tzm-Latn-DZ"},tamil:{default_keyCode:"ta-IN"},tatar:{default_keyCode:"tt-RU"},telugu:{default_keyCode:"te-IN"},thaiKedmanee:{default_keyCode:"th-TH"},tibetanPRCStandard:{default_keyCode:"bo-CN"},turkishQ:{default_keyCode:"tr-TR"},turkmen:{default_keyCode:"tk-TM"},urdu:{default_keyCode:"ur-PK"},uyghur:{default_keyCode:"ug-CN"},uzbekCyrillic:{default_keyCode:"uz-Cyrl-UZ"},vietnamese:{default_keyCode:"vi-VN"},wolof:{default_keyCode:"wo-SN"},yoruba:{default_keyCode:"yo-NG"},australian:{mac_keyCode:"m-AU"},austrian:{mac_keyCode:"m-AT"},belgian:{mac_keyCode:"m-nl-be"},brazilian:{mac_keyCode:"m-pt-br"},canadian:{mac_keyCode:"m-en-ca"},canadianCSA:{mac_keyCode:"m-ca-csa"},croatianPC:{default_keyCode:"hr-BA"},dvorak:{mac_keyCode:"m-dv"},englishABC:{mac_keyCode:"m-en-abc"},frenchABCAZERTY:{mac_keyCode:"m-fr-abc"},englishUSInternationalPC:{mac_keyCode:"m-us-int"},faroese:{mac_keyCode:"m-fo"},frenchNumerical:{mac_keyCode:"m-fr-num"},frenchPC:{mac_keyCode:"m-fr-pc"},hawaiian:{default_keyCode:"haw-US"},italianPro:{mac_keyCode:"m-it-pro"},latvian:{mac_keyCode:"m-lv"},maltese:{default_keyCode:"mt-MT"},maori:{default_keyCode:"mi-NZ"},polishPro:{mac_keyCode:"m-pl-pro"},romanian:{mac_keyCode:"m-ro"},romanianStandard:{default_keyCode:"ro-RO"},serbian:{default_keyCode:"sr-Cyrl"},spanishISO:{mac_keyCode:"m-es-ISO"},swedishPro:{mac_keyCode:"m-sv-pro"},turkishQWERTY:{mac_keyCode:"m-tr-qty"},ukrainian:{mac_keyCode:"m-uk"},ukrainianPC:{default_keyCode:"uk-UA"},welsh:{default_keyCode:"cy-GB"},arabic101:{default_keyCode:"ar-SA"},japanese102:{default_keyCode:"ja-JP"},arabic:{mac_keyCode:"m-ar"},russianPC:{mac_keyCode:"m-ru-win"},russianPhonetic:{mac_keyCode:"m-ru-ph"}},f_windowsList=["albanian","arabic101","armenianPhonetic","assameseInscript","azerbaijaniCyrillic","azerbaijaniLatin","banglaIndia","bashkir","belarusian","belgianPeriod","belgianFrench","bosnianCyrillic","bulgarian","canadianEnglish","canadianFrench","cherokeeNation","chineseSimplified","chineseSimplifiedSingapore","chineseTraditional","chineseTraditionalHongKongSAR","chineseTraditionalMacaoSAR","croatian","czech","danish","divehiPhonetic","dutch","dzongkha","englishIndia","englishUK","welsh","englishUS","estonian","faeroese","finnish","french","georgianQWERTY","german","greek","greenlandic","guarani","gujarati","hausa","hebrew","hindiTraditional","hungarian","icelandic","igbo","inuktitutLatin","inuktitutNaqittaut","irish","italian","japanese106","japanese102","kannada","kazakh","khmer","korean","kyrgyzCyrillic","lao","latvianStandard","lithuanian","luxembourgish","macedonianStandard","malayalam","maltese","maori","marathi","mongolianCyrillic","mongolianMongolianScriptStandard","nepali","norwegian","norwegianSami","odia","pashtoAfghanistan","persian","polish","portuguese","portugueseBrazilianABNT","punjabiGurumukhi","romanianStandard","russian","sakha","serbianCyrillic","serbianLatin","sesothoSaLeboa","setswana","sinhala","slovak","slovenian","sorbianStandard","spanish","spanishLatinAmerican","swedish","swedishSami","swissFrench","swissGerman","syriac","tajik","tamazightCentral","tamil","tatar","telugu","thaiKedmanee","tibetanPRCStandard","turkishQ","turkmen","ukrainianPC","urdu","uyghur","uzbekCyrillic","vietnamese","wolof","yoruba"],f_macList=["arabic","australian","austrian","belgian","brazilian","bulgarian","belarusian","canadian","canadianCSA","chineseSimplified","chineseTraditional","croatian","croatianPC","czech","danish","dutch","dvorak","englishABC","frenchABCAZERTY","englishUK","englishUS","englishUSInternationalPC","estonian","faroese","finnish","french","frenchNumerical","frenchPC","georgianQWERTY","german","greek","hawaiian","hebrew","hungarian","icelandic","irish","italian","italianPro","korean","latvian","lithuanian","macedonianStandard","maltese","maori","norwegian","polish","polishPro","portuguese","romanian","romanianStandard","russian","russianPC","russianPhonetic","serbian","serbianLatin","slovak","slovenian","spanish","spanishISO","swedish","swedishPro","swissFrench","swissGerman","turkishQWERTY","ukrainian","ukrainianPC","vietnamese","welsh","japanese106","japanese102","englishIndia","abcExtended"],f_browserWindowsList=["englishUS","spanishLatinAmerican","turkishQ","spanish","portugueseBrazilianABNT","french","englishUK","polish","german","hungarian","italian","romanianStandard","portuguese","czech","canadianEnglish","swedish","englishIndia","bulgarian","hebrew","croatian","dutch","slovak","serbianLatin","russian","chineseSimplified","japanese106","korean","chineseTraditional","japanese102"],f_browserMacList=["englishUS","englishABC","englishUK","spanishISO","canadian","german","french","italianPro","polishPro","frenchNumerical","englishUSInternationalPC","dutch","swedishPro","chineseSimplified","danish","hungarian","canadianCSA","finnish","russian","japanese106","korean","chineseTraditional"],f_browserXboxList=["englishUS","spanishLatinAmerican","turkishQ","russian","spanish","portugueseBrazilianABNT","french","englishUK","polish","german","hungarian","italian","romanianStandard","portuguese","czech","canadianEnglish","swedish","englishIndia","serbianLatin","hebrew","dutch"],f_androidList=["englishUS","spanishLatinAmerican","turkishQ","spanish","portugueseBrazilianABNT","french","englishUK","polish","german","hungarian","italian","romanianStandard","portuguese","czech","canadianEnglish","swedish","englishIndia","bulgarian","hebrew","croatian","dutch","slovak","serbianLatin","russian","chineseSimplified","japanese106","korean","chineseTraditional","japanese102"],J_browserWindowsList=["ru-RU"],J_browserMacList=["m-ru"];var a=function(Q){return Q.Functional="functional",Q.Technical="technical",Q.Behavioral="behavioral",Q}(a||{});class D{constructor(j){this.parameters=j,this.ts=(new Date).toISOString()}}const te={OverrideKeyboardLayout:{name:"OverrideKeyboardLayout",gdprLevel:a.Functional}};class N extends D{constructor(j){super(j),this.name=te.OverrideKeyboardLayout.name,this.gdprLevel=te.OverrideKeyboardLayout.gdprLevel}}var z=t(58527),R=t(37543),v=t(66348),h=t(65240),W=t(78812),ne=r.Or.Share.Shareserver.HotkeyEnum;const ee="keyboardLayout",b="placeholder";let w=(()=>{var Q;class j{constructor(ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve){var Pe;this.idmService=ge,this.loggingService=ie,this.systemInfoService=ce,this.bridgeService=G,this.sharedStorage=ue,this.translateService=ae,this.localeService=Ce,this.experienceControl=Se,this.telemetryService=Ne,this.hotKeyHelper=we,this.config=ve,this.defaultKbLayout$=new e.m(1),this.isPlatformBrowserLike=l.zk.isBrowserLikePlatform(),this.isPlatformBrowser=l.zk.isBrowserPlatform(),this.isPlatformAndroid=l.zk.isAndroidPlatform(),this.keyboardLayoutChange=new e.m(1),this.placeholder=new e.m(1),this.logger=ie.getLogger("KeyboardLayoutService"),this.logger.info("Initializing KeyboardLayoutService"),this.showOtherKeyboardLayout=!(null===(Pe=this.config.featureEnablement)||void 0===Pe||!Pe.showOtherKeyboardLayout),this.registerKBLayoutChange(),this.getKeyboardLayoutsList().subscribe(Oe=>{this.isPlatformBrowserLike?this.setDefaultLayoutAndPlaceholder():this.sendKeyboardLayoutTelemetry()},Oe=>{this.logger.info("Error getting the list of keyboard layouts : ",Oe)}),this.readCachedKeyboardLayout()}sendKeyboardLayoutTelemetry(){this.readCachedKeyboardLayout().pipe((0,O.s)(1),(0,B.ZZ)(ge=>{var ie;const ce=new N({previousKeyboardLayout:"",overrideKeyboardLayout:null!==(ie=null==ge?void 0:ge.code)&&void 0!==ie?ie:"",defaultKeyboardLayout:""});return this.isPlatformBrowserLike?(ce.parameters.defaultKeyboardLayout=this.getDefaultKBLayoutCode(),(0,n.of)(ce)):this.detectKeyboardLayout().pipe((0,O.s)(1),(0,B.ZZ)(G=>(ce.parameters.defaultKeyboardLayout=G,(0,n.of)(ce))))})).subscribe(ge=>{this.logger.info("Sending defaultKeyboardLayout telemetry through OverrideKeyboardLayout event",ge),this.telemetryService.push(ge)})}setDefaultLayoutAndPlaceholder(){this.idmService.accountStatusChanged.pipe((0,P.n)(ge=>ge.isAuthenticated?this.queryGxTargetForDefaultKBLayout():(0,n.of)(!1))).subscribe(ge=>{this.handleDefaultKeyboardLayout(ge),this.sendKeyboardLayoutTelemetry(),this.placeholder.next(this.getBrowserPlaceholder())})}get onKBLayoutChange$(){return this.keyboardLayoutChange.asObservable()}kbLayoutChanged(ge){this.keyboardLayoutChange.next(ge)}queryGxTargetForDefaultKBLayout(){return this.experienceControl.getCloudVariable("defaultKeyboardLayout",{userDefaultUILanguage:this.localeService.getShortLocale()},{useCache:!1},A.Ky.GxTargetGetCloudVariable,A.Id.GxTargetGetKBLayoutsConfig).pipe((0,k.T)(ge=>ge.value),(0,U.W)(ge=>(this.logger.error("Failed to resolve gx-target cloud variable:",ge),(0,n.of)(!1))))}get fetchClientIMEHotkeys(){return this.bridgeService.executeCommand(r.Ts.Share.Shareserver.GetHotkeyShortcut,{hotkey:ne.NativeKeyboardInputDialog}).pipe((0,k.T)(ge=>ge.keys),(0,k.T)(ge=>this.hotKeyHelper.shortcutToString(ge)))}get isOtherDefaultLayout(){return this._isOtherDefaultLayout}initializeKeyboardLayoutsListFromJson(ge,ie){const ce=[];for(const G of ge){const ue=_[G];ce.push({name:this.translateService.instant("common.keyboardLayout.layouts."+G),code:ue[`${ie}_keyCode`]||ue[`${x.Default}_keyCode`]})}return ce.sort((G,ue)=>this.localeService.collator.compare(G.name,ue.name)),this.showOtherKeyboardLayout&&ce.unshift({name:this.translateService.instant("settings.keyboardLayout.other"),code:this.getDefaultKBLayoutCodeForOther(),params:{isOtherLayout:!0,showOnTop:!0}}),ce}getKeyboardLayoutsList(){if(this.keyboardLayoutsList$)return this.keyboardLayoutsList$.asObservable();const ge=new e.m(1);return this.logger.info("Fetching the list of Keyboard Layouts to be displayed"),this.keyboardLayoutsList$=ge,(0,E.zV)([this.systemInfoService.getSystemInfo([l.Lu.OSName,l.Lu.OSVersion,l.Lu.Platform]),this.localeService.localeChanged]).pipe((0,O.s)(1)).subscribe(([ie,ce])=>{var G;this.logger.info("Getting the OS info using System info Service :",ie);let ae,ue=[];this.platform=ie.Platform;const Ce=null===(G=this.platform)||void 0===G?void 0:G.toUpperCase();this.isPlatformBrowser?Ce===u.WindowsOS.toUpperCase()||Ce===u.BrowserChromeOS.toUpperCase()?(ue=f_browserWindowsList,ae=p.BrowserChromeOS):Ce===u.BrowserMacOS.toUpperCase()?(ue=f_browserMacList,ae=p.BrowserMacOS):Ce===u.XboxOS.toUpperCase()&&(ue=f_browserXboxList,ae=p.XboxOS):this.isPlatformAndroid?(ue=f_androidList,ae=p.AndroidOS):Ce===u.WindowsOS.toUpperCase()?(ue=f_windowsList,ae=p.WindowsOS):Ce===u.NativeMacOS.toUpperCase()&&(ue=f_macList,ae=p.NativeMacOS),ue.length>0?(this.defaultKBLayoutCodeForOther=i[this.getPlatformOS()],this.translatedKBLayoutList=this.initializeKeyboardLayoutsListFromJson(ue,ae),ge.next(this.translatedKBLayoutList),ge.complete()):(this.logger.info(`Keyboard Layout feature is not supported on ${Ce}, disabling it`),ge.complete(),this.keyboardLayoutsList$=null)},ie=>{ge.error(ie),this.keyboardLayoutsList$=null}),ge.asObservable()}getPlatformOS(){let ge=I;return this.isPlatformAndroid?ge=L:this.isPlatformBrowser&&(ge=S),`${ge}${this.platform}`}handleDefaultKeyboardLayout(ge){const ie=this.getPlatformOS(),ce=ge||i;this.logger.info("Default keyboard layout for the user :",ce);const G=ce[ie];G&&G!==M?this.defaultKBLayoutCode=G:(this._isOtherDefaultLayout=G===M,this.defaultKBLayoutCode=this.defaultKBLayoutCodeForOther),this.setDefaultKBLayout(this.translatedKBLayoutList,this.defaultKBLayoutCodeForOther)}detectKeyboardLayout(){return this.bridgeService.executeCommand(r.Ts.Gfn.Streaming.GetKeyboardLayout)}onKBLayoutChange(){return this.bridgeService.executeCommand(r.Ts.Gfn.Streaming.OnKBLayoutChange)}isNonEnglishKeyboardLayout(ge,ie){let ce=[];return!(!this.isPlatformBrowserLike||!ge)&&(ie===l.t_.Windows||ie===l.t_.ChromeOS||ie===l.t_.XBox?ce=J_browserWindowsList:ie===l.t_.MacOS&&(ce=J_browserMacList),-1!==ce.indexOf(ge))}saveKeyboardLayoutToSharedStorage(ge){return this.cachedKeyboardLayout$.next(ge),this.sharedStorage.writeBlock(ee,ge)}saveKeyboardLayoutCodeToSharedStorage(ge){const ie=this.translatedKBLayoutList.find(ce=>ce.code===ge);return this.saveKeyboardLayoutToSharedStorage(ie)}readCachedKeyboardLayout(){if(this.cachedKeyboardLayout$)return this.cachedKeyboardLayout$.asObservable();const ge=new e.m(1);return this.logger.info("Fetching the cache value of Keyboard Layout"),this.cachedKeyboardLayout$=ge,this.sharedStorage.readBlock(ee).subscribe(ie=>(this.logger.info("Keyboard Layout cache read reponse",ie),ge.next(ie),(0,n.of)(ie)),ie=>{ge.error(ie),this.cachedKeyboardLayout$=null}),ge}removeCachedKeyboardLayout(){return this.cachedKeyboardLayout$.next({}),this.sharedStorage.removeBlock(ee)}getKeyboardLayoutEnabled(ge){var ie;return(null===(ie=this.config.featureEnablement)||void 0===ie?void 0:ie.showPhysicalKeyboardLayoutSetting)&&o.filter(ce=>ce.toUpperCase()===(null==ge?void 0:ge.toUpperCase())).length>0}getDefaultKBLayoutCodeForOther(){return this.defaultKBLayoutCodeForOther}getTranslatedValueForCurrentKBLayout(ge){return this.translatedKBLayoutList.find(ie=>{var ce,G;return ie.code===ge.code&&(null===(ce=ie.params)||void 0===ce?void 0:ce.isOtherLayout)==(null===(G=ge.params)||void 0===G?void 0:G.isOtherLayout)})}getDefaultKBLayoutCode(){return this.defaultKBLayoutCode}getDefaultKBLayout(){return this.defaultKbLayout}getDefaultKBLayoutObservable(){return this.defaultKbLayout$.asObservable()}setDefaultKBLayout(ge,ie){let ce;ce=ge.filter(G=>{var ue,ae;return this.isOtherDefaultLayout?null===(ue=G.params)||void 0===ue?void 0:ue.isOtherLayout:G.code===this.getDefaultKBLayoutCode()&&!(null!==(ae=G.params)&&void 0!==ae&&ae.isOtherLayout)})[0],ce||(ce=ge.filter(G=>{var ue;return G.code===ie&&!(null!==(ue=G.params)&&void 0!==ue&&ue.isOtherLayout)})[0]),this.defaultKbLayout=ce,this.logger.info("Set default kb layout",this.defaultKbLayout),this.defaultKbLayout$.next(this.defaultKbLayout)}selectKeyboardLayout(ge,ie,ce){this.logger.info("Keyboard layout override event triggered");const G=new N({previousKeyboardLayout:"",overrideKeyboardLayout:"",defaultKeyboardLayout:""});let ue,ae,Ce;const Se=this.getDefaultKBLayout();ge?(ae=ge.code,Ce=this.isPlatformBrowserLike?null==Se?void 0:Se.code:null==ce?void 0:ce.code,ue=(null==ie?void 0:ie.code)||Ce,this.logger.info("Keyboard Layout Override event. Saving to cache. Override Keyboard Layout: ",ge),this.saveKeyboardLayoutToSharedStorage(ge).subscribe(Ne=>{this.logger.info("Keyboard layout cache saved successfully : ",Ne)},Ne=>this.logger.info("Keyboard layout cache save failed : ",Ne))):(this.isPlatformBrowserLike?(ae=null==Se?void 0:Se.code,Ce=null==Se?void 0:Se.code,this.logger.info(`Default (${null==Se?void 0:Se.name}) ${null==Se?void 0:Se.code} keyboard layout selected. Clearing the cache.`)):(ae=null==ce?void 0:ce.code,Ce=null==ce?void 0:ce.code,this.logger.info("Auto keyboard layout selected. Clearing the cache.")),ue=(null==ie?void 0:ie.code)||Ce,this.removeCachedKeyboardLayout().subscribe(Ne=>this.logger.info("Keyboard layout cache cleared : ",Ne),Ne=>this.logger.info("Keyboard layout cache clear failed : ",Ne))),G.parameters.previousKeyboardLayout=ue,G.parameters.overrideKeyboardLayout=ae,G.parameters.defaultKeyboardLayout=Ce,this.logger.info("Sending override keyboard layout event telemetry",G),this.telemetryService.push(G)}isAutoOtherKBLayout(ge){return this.detectKeyboardLayout().pipe((0,O.s)(1),(0,P.n)(ie=>{const ce=ge.find(G=>{var ue;return G.code===ie&&!(null!==(ue=G.params)&&void 0!==ue&&ue.isOtherLayout)});return(0,n.of)(!ce&&this.showOtherKeyboardLayout)}))}getNativePlaceholder(ge){if(this.logger.info("detectedKeyboardLayout : ",ge),this.logger.info("isOtherKeyboardLayoutEnabled : ",this.showOtherKeyboardLayout),ge||this.showOtherKeyboardLayout){var ie;const ce=this.translateService.instant("common.other");return this.translateService.instant("common.autoTemplate",{dataString:null!==(ie=null==ge?void 0:ge.name)&&void 0!==ie?ie:ce})}return this.translateService.instant("common.auto")}get onPlaceholderChange(){return this.placeholder.asObservable()}getBrowserPlaceholder(){var ge;return this.translateService.instant("common.defaultTemplate",{dataString:null===(ge=this.getDefaultKBLayout())||void 0===ge?void 0:ge.name})}registerKBLayoutChange(){this.onKBLayoutChange().subscribe(ge=>{this.logger.info("System keyboard layout changed to: "+ge),this.kbLayoutChanged(ge)})}}return(Q=j).\u0275fac=function(ge){return new(ge||Q)(z.KVO(R.k_2),z.KVO(l.J6),z.KVO(l.zW),z.KVO(l.NZ),z.KVO(v.yQ),z.KVO(h.c$),z.KVO(l.iH),z.KVO(A.BW),z.KVO(W.H0),z.KVO(l.Ho),z.KVO(R.Vk6))},Q.\u0275prov=z.jDH({token:Q,factory:Q.\u0275fac,providedIn:"root"}),j})();var Z=t(61142),se=t(51006),Y=t(31308),q=t(56106),T=t(50599),H=t(12949),y=t(44186),X=t(44224);const c=[T.fS,H.Ve,y.uc,X.w];let g=(()=>{var Q;class j{}return(Q=j).\u0275fac=function(ge){return new(ge||Q)},Q.\u0275mod=z.$C({type:Q}),Q.\u0275inj=z.G2t({imports:[q.YN,c,q.YN,T.fS,H.Ve,y.uc,X.w]}),j})();var d=t(19061);let C=(()=>{var Q;class j{}return(Q=j).\u0275fac=function(ge){return new(ge||Q)},Q.\u0275mod=z.$C({type:Q}),Q.\u0275inj=z.G2t({imports:[Z.MD,se.YF,h.h,g,d.bm,Y.Pd]}),j})()},40996:(xe,de,t)=>{"use strict";t.d(de,{hT:()=>S,DL:()=>s});var e=t(85735),n=t(43848),E=t(43153),O=t(55833),B=t(83915),P=t(14714),k=t(43615),U=t(65706),r=t(26875),A=t(58527),l=t(47766),I=t(66348),S=function(u){return u.JWT="JWT",u.IDM="IDM",u.INVALID="Invalid",u.UNKNOWN="Unknown",u.IDM_FALLBACK="IDM_FALLBACK",u}(S||{});let s=(()=>{var u;class x{constructor(i,o){this.sharedStorage=o,this.telemetryStream=new e.m,this.startupComplete$=new e.m(1),this.logger=i.getLogger("streamer/gfnsdkService"),this.resetAuthConfig()}setSdkClient(i,o){i!==this.sdkClient&&(this.logger.info("SdkClient set to "+i),this.sdkClient=i,this.resetAuthConfig(o),this.getTelemetryData())}getTelemetryData(){return this.sdkClient&&(this.logger.info("Fetching sdk telemetry from shared storage."),this.sharedStorage.readBlock("sdk").subscribe(o=>{if(o)for(const _ in o)if(o[_].telemetry&&Array.isArray(o[_].telemetry)&&o[_].telemetry.length>0){const f={platformName:_,checkGFNItems:[],streamNowButtonClickItems:[]};o[_].telemetry.forEach(J=>{switch(J.eventName){case"CheckGFN":{const te={status:J.status||"",timeTaken:J.timeTaken||0,version:J.version||"",dllVersion:J.dllVersion||"",originalTimestamp:J.originalTimestamp||0,originalCmsId:(J.originalCmsId||"").toString(),originalShortname:J.originalShortname||"",originalAuthMethod:J.originalAuthMethod||"Other"};f.checkGFNItems.push(te);break}case"StreamNowButtonClick":{var a,D;const te={status:J.status||"",timeTaken:J.timeTaken||0,version:J.version||"",dllVersion:J.dllVersion||"",originalTimestamp:J.originalTimestamp||0,originalCmsId:(J.originalCmsId||"").toString(),originalShortname:J.originalShortname||"",originalAuthMethod:J.originalAuthMethod||"Other",timeRemaining:null==J.timeRemaining?-1:J.timeRemaining,hasPartnerData:null==J.hasPartnerData?(null===(a=o[_])||void 0===a||null===(a=a.partnerData)||void 0===a?void 0:a.length)>0:J.hasPartnerData,hasPartnerSecureData:null==J.hasPartnerSecureData?(null===(D=o[_])||void 0===D||null===(D=D.partnerSecureData)||void 0===D?void 0:D.length)>0:J.hasPartnerSecureData};f.streamNowButtonClickItems.push(te);break}default:this.logger.info(`Invalid telemetry event ${null==J?void 0:J.eventName} found in shared storage`)}}),f.checkGFNItems.length+f.streamNowButtonClickItems.length>0?this.telemetryStream.next(f):this.logger.info("Platform "+_+" has no telemetry data to send")}})),this.telemetryStream.pipe((0,E.d)(i=>i.platformName))}clearTelemetryData(i){this.sharedStorage.removeBlock("sdk/"+i.platformName+"/telemetry").subscribe(_=>{this.logger.info(`Cached telemetry for SDK client ${this.sdkClient} was removed from storage ${_?"":"un"}successfully.`)})}parseAuthType(i){if(!i.authType)return S.INVALID;switch(i.authType.toLowerCase()){case"jarvis":case"jwt_gfn":return S.IDM;case"jwt":return!i.token||0===i.token.length||!(0,r.isNil)(i.timeRemaining)&&(i.timeRemaining<=0||i.timeRemaining>3600)?S.IDM_FALLBACK:S.JWT;default:return S.INVALID}}resetAuthConfig(i){this.authConfig$=i?(0,n.of)(i):this.getAuthConfigFromStorage().pipe((0,O.t)(1))}getAuthConfigFromStorage(){if(this.sdkClient){this.logger.info("Fetching auth type from shared storage.");const i="sdk/"+this.sdkClient;return this.sharedStorage.readBlock(i).pipe((0,B.T)(o=>(this.logger.info(`Running in GFN SDK mode for SDK client ${this.sdkClient}, auth type is ${this.parseAuthType(o)}.`),o)),(0,P.W)(()=>(this.logger.error(`Unable to read stored settings for SDK client ${this.sdkClient}`),(0,n.of)({token:void 0}))),(0,k.j)(()=>{this.startupComplete$.asObservable().subscribe(()=>{["token","partnerSecureData","partnerData"].forEach(_=>{this.sharedStorage.removeBlock(`${i}/${_}`).pipe((0,U.s)(1)).subscribe(f=>{this.logger.info(`${_} for SDK client ${this.sdkClient} was removed from storage ${f?"":"un"}successfully.`)})})})}))}return this.logger.info("Running in regular GFN client mode, auth type is IDM."),(0,n.of)({authType:S.IDM,token:void 0})}getAuthType(){return this.authConfig$.pipe((0,B.T)(i=>{const o=this.parseAuthType(i);return this.logger.info(o!==S.INVALID?`Returning cached auth type: ${o}`:"Current auth type is invalid and cannot be used for authentication purposes"),o}))}continueStartup(){this.startupComplete$.next(!0)}getIsAnonymousUser(){return this.getAuthType().pipe((0,B.T)(i=>i===S.JWT))}forceIDMAuthType(){this.originalAuthConfig$=this.authConfig$,this.authConfig$=this.originalAuthConfig$.pipe((0,B.T)(i=>{const o=Object.assign({},i);return o.authType=S.IDM,o.token=void 0,o.delegateToken=void 0,o}))}getAuthToken(){return this.authConfig$.pipe((0,B.T)(i=>{const o=i.token;return this.logger.info(o?"Returning cached auth token":"Current auth token is empty and likely not useful for authentication purposes"),o}))}getAuthInfo(){return this.authConfig$.pipe((0,B.T)(i=>{const o=this.parseAuthType(i);this.logger.info(o!==S.INVALID?`Returning cached auth type: ${o}`:"Current auth type is invalid and cannot be used for authentication purposes for gfn sdk");const _=i.token;this.logger.info(_?"Returning cached auth token.":"Current auth token is empty and likely not useful for authentication purposes for gfn sdk");let f=null,J=null,a=null,D=null;if(_){try{const te=atob(_.split(".")[1]),N=JSON.parse(te);if(Array.isArray(N.options))N.options.forEach(function(z){"uid"===(null==z?void 0:z.key)?f=null==z?void 0:z.value:"external_id"===(null==z?void 0:z.key)?J=null==z?void 0:z.value:"idp_id"===(null==z?void 0:z.key)&&(a=null==z?void 0:z.value)});else{const z=JSON.parse(atob(N.options));f=z.userId,J=z.externalId,a=z.partnerId,D=z.authorizationId}}catch(te){this.logger.error("Got an exception while parsing JWT for user info: ",te)}f?this.logger.info(`Returning userId from JWT ${f}`):this.logger.warn("Current userId is empty and likely not useful for authentication purposes!"),J?this.logger.info(`Returning externalUserId from JWT ${J}.`):this.logger.warn("Current externalUserId is empty and likely not useful for authentication purposes!"),a?this.logger.info(`Returning idpId from JWT ${a}.`):this.logger.warn("Current ipdId is empty and likely not useful for authentication purposes!"),D?this.logger.info("Returning authorizationId from JWT."):this.logger.warn("No authorizationId")}return{authType:o,authToken:_,userId:f,externalUserId:J,idpId:a,timeRemaining:i.timeRemaining,authorizationId:D}}))}getPartnerData(){return this.authConfig$.pipe((0,B.T)(i=>(null==i?void 0:i.partnerData)||""))}getPartnerSecureData(){return this.authConfig$.pipe((0,B.T)(i=>(null==i?void 0:i.partnerSecureData)||""))}isThisAGFNSDKSession(){return this.sdkClient&&this.sdkClient.length>0}isAuthInfoValid(i){var o;return(null===(o=i.authToken)||void 0===o?void 0:o.length)>0&&(null==i.timeRemaining||i.timeRemaining>0&&i.timeRemaining<=3600)}}return(u=x).\u0275fac=function(i){return new(i||u)(A.KVO(l.J6),A.KVO(I.yQ))},u.\u0275prov=A.jDH({token:u,factory:u.\u0275fac,providedIn:"root"}),x})()},24841:(xe,de,t)=>{"use strict";t.d(de,{f:()=>P});var e=t(26537),n=t(16490),E=t(49752),O=t(99564),B=t(29824);class P{constructor(U){this.reference=U}get dialogRef(){return this.reference instanceof e.CP&&this.reference.componentInstance instanceof E.u?this.reference:void 0}get bottomSheetRef(){return this.reference instanceof n.eN&&this.reference.instance instanceof O.G?this.reference:void 0}get threeQuarterSheetRef(){return this.reference instanceof e.CP&&this.reference.componentInstance instanceof B.L?this.reference:void 0}get instance(){var U,r,A,l,I;return null!==(U=null!==(r=null===(A=this.dialogRef)||void 0===A?void 0:A.componentInstance)&&void 0!==r?r:null===(l=this.bottomSheetRef)||void 0===l?void 0:l.instance)&&void 0!==U?U:null===(I=this.threeQuarterSheetRef)||void 0===I?void 0:I.componentInstance}get primaryButtonClick(){var U;return null===(U=this.instance)||void 0===U?void 0:U.primaryButtonClick}get secondaryButtonClick(){var U;return null===(U=this.instance)||void 0===U?void 0:U.secondaryButtonClick}get linkClick(){var U;return null===(U=this.instance)||void 0===U?void 0:U.linkClick}get dialogKeydownEvents(){var U;return null===(U=this.dialogRef)||void 0===U?void 0:U.keydownEvents()}get augmentedButtonClick(){return this.instance instanceof B.L?this.instance.augmentedButtonClick:void 0}get radioButtonClick(){return this.instance instanceof E.u||this.instance instanceof B.L?this.instance.radioButtonClick:void 0}get checkboxState(){var U;return null===(U=this.instance)||void 0===U||null===(U=U.data)||void 0===U?void 0:U.checkboxState}get radioOptionSelected(){var U;return null===(U=this.instance)||void 0===U||null===(U=U.data)||void 0===U?void 0:U.radioOptionSelected}set backToCloseResult(U){this.instance.backToCloseResult=U}close(U){var r,A,l;null===(r=this.dialogRef)||void 0===r||r.close(U),null===(A=this.bottomSheetRef)||void 0===A||A.dismiss(U),null===(l=this.threeQuarterSheetRef)||void 0===l||l.close(U)}afterClosed(){var U,r,A,l,I;return null!==(U=null!==(r=null===(A=this.dialogRef)||void 0===A?void 0:A.afterClosed())&&void 0!==r?r:null===(l=this.bottomSheetRef)||void 0===l?void 0:l.afterDismissed())&&void 0!==U?U:null===(I=this.threeQuarterSheetRef)||void 0===I?void 0:I.afterClosed()}afterOpened(){var U,r,A,l,I;return null!==(U=null!==(r=null===(A=this.dialogRef)||void 0===A?void 0:A.afterOpened())&&void 0!==r?r:null===(l=this.bottomSheetRef)||void 0===l?void 0:l.afterOpened())&&void 0!==U?U:null===(I=this.threeQuarterSheetRef)||void 0===I?void 0:I.afterOpened()}}},37537:(xe,de,t)=>{"use strict";t.d(de,{u:()=>l});var e=t(49752),n=t(99564),E=t(29824),O=t(72818),B=t(24841),P=t(11013),k=t(58527),U=t(26537),r=t(16490),A=t(21684);let l=(()=>{var I;class S{constructor(s,M,u,x){this.matDialog=s,this.matBottomSheet=M,this.focusManager=u,this.tvMode=!!x.tvMode}open(s,M){s.autoFocus=!1;const u=()=>(null==M?void 0:M.preferredDialogType)===O.QO.BottomSheet?n.G.open(this.matBottomSheet,s,this.tvMode):this.tvMode?s.data.checkbox||s.data.radioButtonOptions||(null==M?void 0:M.preferredDialogType)===O.QO.ThreeQuarterSheet?E.L.open(this.matDialog,s):n.G.open(this.matBottomSheet,s,this.tvMode):e.u.open(this.matDialog,s);return null!=M&&M.disableFocusRestore?new B.f(u()):this.focusManager.restoreFocusAfterClosed(()=>new B.f(u()),M)}closeAll(){this.matDialog.closeAll(),this.matBottomSheet.dismiss()}}return(I=S).\u0275fac=function(s){return new(s||I)(k.KVO(U.bZ),k.KVO(r.VK),k.KVO(A.c),k.KVO(P.X,8))},I.\u0275prov=k.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},72818:(xe,de,t)=>{"use strict";t.d(de,{A6:()=>P,QO:()=>E,SN:()=>k});var E=function(U){return U.ThreeQuarterSheet="ThreeQuarterSheet",U.BottomSheet="BottomSheet",U}(E||{});const O=32,B=112;function P(U=!1){return U?B:O}function k(U,r){const A=[];if(r.addOverlayPanelCls&&A.push("nv-overlay-panel"),(r.bottomSheet||r.threeQuarterSheet)&&A.push("nv-hig"),r.threeQuarterSheet&&A.push("nv-three-quarter-sheet"),r.tvMode&&A.push("is-tv"),A.length>0){const l=U.panelClass?U.panelClass instanceof Array?U.panelClass:new Array(U.panelClass):[];A.forEach(I=>{l.includes(I)||l.push(I)}),U.panelClass=l}}},99564:(xe,de,t)=>{"use strict";t.d(de,{G:()=>te});var e=t(58527),n=t(16490),E=t(72818),O=t(11013),B=t(25369),P=t(26537);const k=(N,z)=>({"has-image":N,"only-body":z}),U=N=>({"overflow-wrap-anywhere":N}),r=N=>({"font-tv-error-text":N}),A=N=>({visible:N});function l(N,z){if(1&N&&(e.j41(0,"i",20),e.EFF(1),e.k0s()),2&N){const R=e.XpG(2);e.R7$(),e.JRh(R.data.icon)}}function I(N,z){if(1&N&&e.nrm(0,"img",21),2&N){const R=e.XpG(2);e.Y8G("src",R.data.image.url,e.B4B)}}function S(N,z){if(1&N&&e.nrm(0,"qrcode",22),2&N){const R=e.XpG(2);e.Y8G("qrdata",R.data.link.url)("width",R.tvMode?184:140)("errorCorrectionLevel","M")}}function L(N,z){if(1&N&&(e.j41(0,"div",16),e.DNE(1,l,2,1,"i",17)(2,I,1,1,"img",18)(3,S,1,3,"qrcode",19),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.Y8G("ngIf",R.data.icon),e.R7$(),e.Y8G("ngIf",R.data.image),e.R7$(),e.Y8G("ngIf",R.showQRCode)}}function s(N,z){if(1&N&&(e.j41(0,"div",23),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&N){const R=e.XpG();e.Y8G("ngClass",R.tvMode?"font-header5":"font-header6"),e.R7$(),e.SpI(" ",e.i5U(2,2,R.data.headerText.text,R.data.headerText.placeholders)," ")}}function M(N,z){1&N&&e.nrm(0,"mat-progress-spinner",24)}function u(N,z){if(1&N&&(e.nrm(0,"div",25),e.nI1(1,"translate")),2&N){const R=e.XpG();e.Y8G("ngClass",e.eq3(5,U,R.showQRCode))("innerHTML",R.data.bodyText.translated?R.data.bodyText.text:e.i5U(1,2,R.data.bodyText.text,R.data.bodyText.placeholders),e.npT)}}function x(N,z){if(1&N&&(e.j41(0,"div",26),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&N){const R=e.XpG();e.Y8G("ngClass",e.eq3(5,r,R.tvMode)),e.R7$(),e.SpI(" ",e.i5U(2,2,R.data.errorCodeText.text,R.data.errorCodeText.placeholders)," ")}}function p(N,z){if(1&N&&(e.qex(0),e.eu8(1,27)(2,27),e.bVm()),2&N){e.XpG();const R=e.sdS(15),v=e.sdS(17);e.R7$(),e.Y8G("ngTemplateOutlet",R),e.R7$(),e.Y8G("ngTemplateOutlet",v)}}function i(N,z){if(1&N&&e.eu8(0,27)(1,27),2&N){e.XpG();const R=e.sdS(15),v=e.sdS(17);e.Y8G("ngTemplateOutlet",v),e.R7$(),e.Y8G("ngTemplateOutlet",R)}}function o(N,z){if(1&N){const R=e.RV6();e.j41(0,"button",29),e.bIt("click",function(h){e.eBV(R);const W=e.XpG(2);return e.Njj(W.onPrimaryButtonClick(h))}),e.EFF(1),e.nI1(2,"translate"),e.eu8(3,30),e.k0s()}if(2&N){const R=e.XpG(2),v=e.sdS(19);e.Y8G("ngClass",R.showAccentBtn?"font-button2 mat-flat-button mat-accent":"font-button2")("nvFocusRipple",R.showAccentBtn)("disabled",R.data.primaryButton.isDisabled)("nvAutoFocus",R.autoFocusOnPrimaryButton),e.R7$(),e.SpI(" ",e.bMT(2,7,R.data.primaryButton.text)," "),e.R7$(2),e.Y8G("ngTemplateOutlet",v)("ngTemplateOutletContext",e.eq3(9,A,R.data.primaryButton.spinnerOverlay))}}function _(N,z){if(1&N&&e.DNE(0,o,4,11,"button",28),2&N){const R=e.XpG();e.Y8G("ngIf",R.data.primaryButton)}}function f(N,z){if(1&N){const R=e.RV6();e.j41(0,"button",32),e.bIt("click",function(h){e.eBV(R);const W=e.XpG(2);return e.Njj(W.onSecondaryButtonClick(h))}),e.EFF(1),e.nI1(2,"translate"),e.eu8(3,30),e.k0s()}if(2&N){const R=e.XpG(2),v=e.sdS(19);e.Y8G("disabled",R.data.secondaryButton.isDisabled),e.R7$(),e.SpI(" ",e.bMT(2,4,R.data.secondaryButton.text)," "),e.R7$(2),e.Y8G("ngTemplateOutlet",v)("ngTemplateOutletContext",e.eq3(6,A,R.data.secondaryButton.spinnerOverlay))}}function J(N,z){if(1&N&&e.DNE(0,f,4,8,"button",31),2&N){const R=e.XpG();e.Y8G("ngIf",R.data.secondaryButton)}}function a(N,z){1&N&&(e.j41(0,"div",34),e.nrm(1,"mat-progress-spinner",35),e.k0s()),2&N&&(e.R7$(),e.Y8G("diameter",48))}function D(N,z){1&N&&e.DNE(0,a,2,1,"div",33),2&N&&e.Y8G("ngIf",z.visible)}let te=(()=>{var N;class z extends B.D{get hasImage(){return!!this.data.icon||!!this.data.image||this.showQRCode}get showQRCode(){var v;return this.showQRCodeForLinks&&!(null===(v=this.data.link)||void 0===v||!v.url)}get autoFocusOnPrimaryButton(){var v;return null===(v=this.data.autoFocusOnPrimaryButton)||void 0===v||v}get showAccentBtn(){return this.data.primaryButton.accentColor&&!this.tvMode}static open(v,h,W){return(0,E.SN)(h,{bottomSheet:!0,tvMode:W}),v.open(z,h)}constructor(v,h,W,ne,ee){super(W,ne,v,ee),this.primaryButtonClick=new e.bkB,this.secondaryButtonClick=new e.bkB,this.linkClick=new e.bkB,this.data={},this.data=v.get(n.yj,null),this.tvMode=!!h.tvMode,this.showQRCodeForLinks=!!h.showQRCodeForLinks}ngOnInit(){this.layoutType=this.hasImage||this.tvMode?"row":"column"}onPrimaryButtonClick(v){this.primaryButtonClick.emit(v)}onSecondaryButtonClick(v){this.secondaryButtonClick.emit(v)}onLinkClick(){this.linkClick.emit()}}return(N=z).\u0275fac=function(v){return new(v||N)(e.rXU(e.zZn),e.rXU(O.X,8),e.rXU(P.CP,8),e.rXU(n.eN,8),e.rXU(e.SKi))},N.\u0275cmp=e.VBU({type:N,selectors:[["nv-hig-bottom-sheet"]],inputs:{data:"data"},outputs:{primaryButtonClick:"primaryButtonClick",secondaryButtonClick:"secondaryButtonClick",linkClick:"linkClick"},features:[e.Vt3],decls:20,vars:22,consts:[["nonTvMode",""],["primaryButton",""],["secondaryButton",""],["buttonSpinner",""],["fxLayoutAlign","space-between stretch","nvSpatialNavigationContainer","","nvTrapFocus","",1,"hig-bottom-sheet",3,"fxLayout"],["class","image-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start start",1,"content",3,"fxFlex","ngClass","fxLayoutGap"],["fxFlex","nogrow","class","header-text",3,"ngClass",4,"ngIf"],["fxFlex","","fxLayout","row","fxLayoutGap","24px",3,"fxLayoutAlign"],["fxFlex","none","mode","indeterminate","color","accent","diameter","64",4,"ngIf"],["fxFlex","","fxLayout","column",1,"font-body2"],["fxFlex","auto","class","body-text",3,"ngClass","innerHTML",4,"ngIf"],["fxFlex","auto","class","body-text",3,"ngClass",4,"ngIf"],["fxLayout","column",1,"actions-container",3,"fxFlex","fxFlexAlign"],[1,"buttons-container",3,"fxLayout","fxLayoutAlign","fxLayoutGap"],[4,"ngIf","ngIfElse"],[1,"image-container"],["class","material-icons",4,"ngIf"],[3,"src",4,"ngIf"],[3,"qrdata","width","errorCorrectionLevel",4,"ngIf"],[1,"material-icons"],[3,"src"],[3,"qrdata","width","errorCorrectionLevel"],["fxFlex","nogrow",1,"header-text",3,"ngClass"],["fxFlex","none","mode","indeterminate","color","accent","diameter","64"],["fxFlex","auto",1,"body-text",3,"ngClass","innerHTML"],["fxFlex","auto",1,"body-text",3,"ngClass"],[3,"ngTemplateOutlet"],["mat-button","",3,"ngClass","nvFocusRipple","disabled","nvAutoFocus","click",4,"ngIf"],["mat-button","",3,"click","ngClass","nvFocusRipple","disabled","nvAutoFocus"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["mat-button","","class","font-button2",3,"disabled","click",4,"ngIf"],["mat-button","",1,"font-button2",3,"click","disabled"],["fxLayout","column","fxLayoutAlign","center end","class","spinner-overlay",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center end",1,"spinner-overlay"],["mode","indeterminate",1,"mat-accent",3,"diameter"]],template:function(v,h){if(1&v&&(e.j41(0,"div",4),e.DNE(1,L,4,3,"div",5),e.j41(2,"div",6),e.DNE(3,s,3,5,"div",7),e.j41(4,"div",8),e.DNE(5,M,1,0,"mat-progress-spinner",9),e.j41(6,"div",10),e.DNE(7,u,2,7,"div",11)(8,x,3,7,"div",12),e.k0s()()(),e.j41(9,"div",13)(10,"div",14),e.DNE(11,p,3,2,"ng-container",15)(12,i,2,2,"ng-template",null,0,e.C5r),e.k0s(),e.DNE(14,_,1,1,"ng-template",null,1,e.C5r)(16,J,1,1,"ng-template",null,2,e.C5r)(18,D,1,1,"ng-template",null,3,e.C5r),e.k0s()()),2&v){const W=e.sdS(13);e.AVh("is-tv",h.tvMode),e.Y8G("fxLayout",h.layoutType),e.R7$(),e.Y8G("ngIf",h.hasImage),e.R7$(),e.Y8G("fxFlex",h.tvMode?"":"grow")("ngClass",e.l_i(19,k,h.hasImage,!h.data.headerText))("fxLayoutGap",h.tvMode?"30px":"16px"),e.R7$(),e.Y8G("ngIf",h.data.headerText),e.R7$(),e.Y8G("fxLayoutAlign",h.data.headerText?"start start":"start center"),e.R7$(),e.Y8G("ngIf",h.data.showSpinner),e.R7$(2),e.Y8G("ngIf",h.data.bodyText),e.R7$(),e.Y8G("ngIf",h.data.errorCodeText),e.R7$(),e.Y8G("fxFlex",h.tvMode?"":"initial")("fxFlexAlign",h.tvMode?"start":"end"),e.R7$(),e.Y8G("fxLayout",h.tvMode?"column":"row")("fxLayoutAlign",h.tvMode?"":"end center")("fxLayoutGap",h.tvMode?"16px":"8px"),e.R7$(),e.Y8G("ngIf",h.tvMode)("ngIfElse",W)}},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}.hig-bottom-sheet[_ngcontent-%COMP%]{background-color:#393939;padding:0;width:100vw;min-height:132px;max-height:80vh}@media (orientation: portrait){.hig-bottom-sheet[_ngcontent-%COMP%]{min-height:180px;height:180px}}.isLtr[_nghost-%COMP%] .content[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .content[_ngcontent-%COMP%]{margin:16px max(env(safe-area-inset-right),16px) 0 max(env(safe-area-inset-left),16px)}html[dir=ltr][_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{--dummy: 0;margin:16px max(env(safe-area-inset-right),16px) 0 max(env(safe-area-inset-left),16px)}.isRtl[_nghost-%COMP%] .content[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .content[_ngcontent-%COMP%]{margin:16px max(env(safe-area-inset-left),16px) 0 max(env(safe-area-inset-right),16px)}html[dir=rtl][_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{--dummy: 0;margin:16px max(env(safe-area-inset-left),16px) 0 max(env(safe-area-inset-right),16px)}.actions-container[_ngcontent-%COMP%]{padding:8px max(env(safe-area-inset-right),8px) max(env(safe-area-inset-bottom),8px) max(env(safe-area-inset-left),8px)}.is-tv.hig-bottom-sheet[_ngcontent-%COMP%]{min-height:420px;height:420px}.isLtr[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%]{margin:120px 0 0 120px}html[dir=ltr][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%]{--dummy: 0;margin:120px 0 0 120px}.isRtl[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%]{margin:120px 120px 0 0}html[dir=rtl][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%]{--dummy: 0;margin:120px 120px 0 0}.is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:112px}.is-tv[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:112px;height:112px;object-fit:fill}.is-tv[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%]{padding:0;max-width:606px}.is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{min-width:0}.isLtr[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{margin:120px 90px 0 120px}html[dir=ltr][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{--dummy: 0;margin:120px 90px 0 120px}.isRtl[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{margin:120px 120px 0 90px}html[dir=rtl][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{--dummy: 0;margin:120px 120px 0 90px}.isLtr[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image[_ngcontent-%COMP%]{margin:120px 90px 0 56px}html[dir=ltr][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image[_ngcontent-%COMP%]{--dummy: 0;margin:120px 90px 0 56px}.isRtl[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image[_ngcontent-%COMP%]{margin:120px 56px 0 90px}html[dir=rtl][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image[_ngcontent-%COMP%]{--dummy: 0;margin:120px 56px 0 90px}.is-tv[_ngcontent-%COMP%] .content.only-body[_ngcontent-%COMP%]{align-items:center}.isLtr[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.only-body[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.only-body[_ngcontent-%COMP%]{margin:0 90px 60px 120px}html[dir=ltr][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content.only-body[_ngcontent-%COMP%]{--dummy: 0;margin:0 90px 60px 120px}.isRtl[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.only-body[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.only-body[_ngcontent-%COMP%]{margin:0 120px 60px 90px}html[dir=rtl][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content.only-body[_ngcontent-%COMP%]{--dummy: 0;margin:0 120px 60px 90px}.isLtr[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image.only-body[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image.only-body[_ngcontent-%COMP%]{margin:0 90px 60px 56px}html[dir=ltr][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image.only-body[_ngcontent-%COMP%]{--dummy: 0;margin:0 90px 60px 56px}.isRtl[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image.only-body[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image.only-body[_ngcontent-%COMP%]{margin:0 56px 60px 90px}html[dir=rtl][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .content.has-image.only-body[_ngcontent-%COMP%]{--dummy: 0;margin:0 56px 60px 90px}.is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .font-tv-error-text[_ngcontent-%COMP%]{margin:24px 0 0}.is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.is-tv[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .body-text[_ngcontent-%COMP%]{word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;min-height:45px}.overflow-wrap-anywhere[_ngcontent-%COMP%]{overflow-wrap:anywhere}.buttons-container[_ngcontent-%COMP%]{height:calc(44px + max(env(safe-area-inset-bottom),8px))}.buttons-container[_ngcontent-%COMP%] button[mat-button][_ngcontent-%COMP%]{line-height:36px}.buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;z-index:1;background:transparent}.isLtr[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%]{margin-right:32px}html[dir=ltr][_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%]{--dummy4: 0;margin-right:32px}.isRtl[_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%]{margin-left:32px}html[dir=rtl][_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%]{--dummy4: 0;margin-left:32px}.is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{height:100%;margin-top:120px}.isLtr[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{margin-right:80px}html[dir=ltr][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{--dummy4: 0;margin-right:80px}.isRtl[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{margin-left:80px}html[dir=rtl][_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{--dummy4: 0;margin-left:80px}.is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{align-self:flex-start;height:92px;width:100%;text-align:start;border-radius:5px;--font-sub-shared-font-size: 14px;--font-sub-shared-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-weight:500;font-style:normal;text-transform:none;font-size:var(--font-sub-shared-font-size);line-height:var(--font-sub-shared-line-height);letter-spacing:0}.tv-view[_ngcontent-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .is-tv[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{--font-sub-shared-font-size: 28px;--font-sub-shared-line-height: 40px}.image-container[_ngcontent-%COMP%]{margin:16px}"]}),z})()},19141:(xe,de,t)=>{"use strict";t.d(de,{e:()=>te});var e=t(58527),n=t(65706),E=t(91384),O=t(4208),B=t(80583),P=t(16229),k=t(26784),U=t(37537);const r=N=>({visible:N});function A(N,z){if(1&N&&(e.j41(0,"div",1),e.nrm(1,"mat-icon",2),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.Y8G("svgIcon",R.data.icon)}}function l(N,z){if(1&N){const R=e.RV6();e.j41(0,"div",3)(1,"mat-checkbox",4),e.mxI("ngModelChange",function(h){e.eBV(R);const W=e.XpG();return e.DH7(W.data.toggleState,h)||(W.data.toggleState=h),e.Njj(h)}),e.bIt("change",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.toggleClick(h))}),e.k0s()()}if(2&N){const R=e.XpG();e.R7$(),e.Y8G("disabled",R.data.disabled),e.R50("ngModel",R.data.toggleState)}}function I(N,z){if(1&N){const R=e.RV6();e.j41(0,"div",5)(1,"mat-slide-toggle",4),e.mxI("ngModelChange",function(h){e.eBV(R);const W=e.XpG();return e.DH7(W.data.toggleState,h)||(W.data.toggleState=h),e.Njj(h)}),e.bIt("change",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.toggleClick(h))}),e.k0s()()}if(2&N){const R=e.XpG();e.R7$(),e.Y8G("disabled",R.data.disabled),e.R50("ngModel",R.data.toggleState)}}function S(N,z){if(1&N){const R=e.RV6();e.j41(0,"div",6)(1,"button",7),e.bIt("click",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.primaryButtonClick(h))}),e.nrm(2,"mat-icon",8),e.k0s()()}if(2&N){const R=e.XpG();e.R7$(2),e.Y8G("svgIcon",R.data.icon)}}function L(N,z){if(1&N){const R=e.RV6();e.j41(0,"button",12),e.bIt("click",function(h){e.eBV(R);const W=e.XpG(2);return e.Njj(W.primaryButtonClick(h))}),e.j41(1,"span"),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.eu8(4,13),e.k0s()}if(2&N){const R=e.XpG(2),v=e.sdS(10);e.Y8G("disabled",R.data.primaryButton.isDisabled||R.data.disabled),e.R7$(),e.AVh("primary-button-text",R.data.primaryButton.spinnerOverlay),e.R7$(),e.SpI(" ",e.bMT(3,6,R.data.primaryButton.text)," "),e.R7$(2),e.Y8G("ngTemplateOutlet",v)("ngTemplateOutletContext",e.eq3(8,r,R.data.primaryButton.spinnerOverlay))}}function s(N,z){if(1&N){const R=e.RV6();e.j41(0,"button",14),e.bIt("click",function(h){e.eBV(R);const W=e.XpG(2);return e.Njj(W.secondaryButtonClick(h))}),e.j41(1,"span"),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.eu8(4,13),e.k0s()}if(2&N){const R=e.XpG(2),v=e.sdS(10);e.Y8G("disabled",R.data.secondaryButton.isDisabled||R.data.disabled),e.BMQ("cdkFocusInitial",!R.data.primaryButton),e.R7$(),e.AVh("secondary-button-text",R.data.secondaryButton.spinnerOverlay),e.R7$(),e.SpI(" ",e.bMT(3,7,R.data.secondaryButton.text)," "),e.R7$(2),e.Y8G("ngTemplateOutlet",v)("ngTemplateOutletContext",e.eq3(9,r,R.data.secondaryButton.spinnerOverlay))}}function M(N,z){if(1&N&&(e.j41(0,"div",9),e.DNE(1,L,5,10,"button",10)(2,s,5,11,"button",11),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.vxM(1,R.data.primaryButton?1:-1),e.R7$(),e.vxM(2,R.data.secondaryButton?2:-1)}}function u(N,z){if(1&N){const R=e.RV6();e.j41(0,"div",15)(1,"nv-hig-rotary",16),e.bIt("selectionChanged",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.rotaryChange(h))}),e.k0s()()}if(2&N){const R=e.XpG();e.R7$(),e.Y8G("input",R.rotaryOptions)("initialState",R.rotaryInit)}}function x(N,z){1&N&&e.nrm(0,"mat-divider")}function p(N,z){if(1&N&&(e.j41(0,"mat-option",20),e.EFF(1),e.nI1(2,"translate"),e.k0s(),e.DNE(3,x,1,0,"mat-divider")),2&N){const R=z.$implicit;e.Y8G("value",R)("disabled",R.disabled),e.R7$(),e.SpI(" ",e.bMT(2,4,R.label)," "),e.R7$(2),e.vxM(3,R.divider?3:-1)}}function i(N,z){if(1&N){const R=e.RV6();e.j41(0,"mat-select",19),e.mxI("ngModelChange",function(h){e.eBV(R);const W=e.XpG(2);return e.DH7(W.selection,h)||(W.selection=h),e.Njj(h)}),e.bIt("selectionChange",function(h){e.eBV(R);const W=e.XpG(2);return e.Njj(W.selectionChange(h))}),e.Z7z(1,p,4,6,null,null,e.Vm6),e.k0s()}if(2&N){const R=e.XpG(2);e.FS9("placeholder",R.selection.label),e.R50("ngModel",R.selection),e.Y8G("disabled",R.data.disabled),e.BMQ("disabled",!!R.data.disabled||null),e.R7$(),e.Dyx(R.data.listItems)}}function o(N,z){if(1&N){const R=e.RV6();e.j41(0,"mat-select",21),e.bIt("click",function(){e.eBV(R);const h=e.XpG(2);return e.Njj(h.selectionChange())}),e.k0s()}if(2&N){const R=e.XpG(2);e.FS9("placeholder",R.selection.label),e.Y8G("disabled",R.data.disabled),e.BMQ("disabled",!!R.data.disabled||null)}}function _(N,z){if(1&N&&(e.j41(0,"div",17),e.DNE(1,i,3,4,"mat-select",18)(2,o,1,3),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.vxM(1,R.openDropdownAsPopup?2:1)}}function f(N,z){if(1&N&&(e.j41(0,"div",22),e.nrm(1,"mat-progress-spinner",23),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.Y8G("diameter",R.spinnerDiameter)}}function J(N,z){if(1&N&&(e.j41(0,"div",24),e.nrm(1,"div",25),e.nI1(2,"translate"),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.Y8G("innerHtml",R.data.plaintext.translated?R.data.plaintext.text:e.i5U(2,1,R.data.plaintext.text,R.data.plaintext.placeholders),e.npT)}}function a(N,z){1&N&&(e.j41(0,"div",27),e.nrm(1,"mat-progress-spinner",23),e.k0s()),2&N&&(e.R7$(),e.Y8G("diameter",16))}function D(N,z){1&N&&e.DNE(0,a,2,1,"div",26),2&N&&e.Y8G("ngIf",z.visible)}let te=(()=>{var N;class z{set cardData(v){var h,W;this.data=v,(null===(h=this.data)||void 0===h||null===(h=h.listItems)||void 0===h?void 0:h.length)>0&&(this.initializeListItems(!0),this.objectDifferMap=void 0,this.setupKvDiffer()),null!==(W=this.data)&&void 0!==W&&W.toggleState&&(this.toggleState=this.data.toggleState)}constructor(v,h){this.genericDialog=v,this.differs=h,this.openDropdownAsPopup=!1,this.spinnerDiameter=48,this.dialogPanelClass="",this.useDifferForListItemUpdate=!1,this.primaryButtonClicked=new e.bkB,this.secondaryButtonClicked=new e.bkB,this.toggleClicked=new e.bkB,this.selectionChanged=new e.bkB,this.trailElementType=k.r,this.toggleState=!1,this.rotaryOptions=[],this.rotaryInit=0,this.destroy$=new B.B7}ngOnInit(){this.setupKvDiffer()}ngDoCheck(){var v,h;if(!(this.useDifferForListItemUpdate&&(null===(v=this.data)||void 0===v||null===(v=v.listItems)||void 0===v?void 0:v.length)>0))return;let W=!1;null===(h=this.data)||void 0===h||null===(h=h.listItems)||void 0===h||h.forEach(ne=>{this.objectDifferMap[ne.label].diff(ne)&&(W=!0)}),W&&this.initializeListItems()}primaryButtonClick(v){this.primaryButtonClicked.emit(v)}secondaryButtonClick(v){this.secondaryButtonClicked.emit(v)}toggleClick(v){this.toggleClicked.emit(v.checked)}selectionChange(v){if(this.openDropdownAsPopup){var h;const W={headerText:null!==(h=this.data.dialogHeader)&&void 0!==h?h:{text:""},radioOptionSelected:this.selection.label,radioButtonOptions:this.data.listItems.map(w=>({value:w.label}))},ne=this.genericDialog.open({panelClass:this.dialogPanelClass,disableClose:!1,hasBackdrop:!0,autoFocus:!1,data:W}),ee=ne.radioButtonClick.pipe((0,n.s)(1),(0,E.M)(()=>{const w=W.radioOptionSelected;this.selection=this.data.listItems.find(F=>F.label===w),this.emitSelectionChange(this.selection),ne.close()})),b=ne.afterClosed();(0,P.h)(ee,b).pipe((0,n.s)(1),(0,O.Q)(this.destroy$)).subscribe()}else this.emitSelectionChange(this.selection)}rotaryChange(v){this.selection=this.data.listItems[v],this.emitSelectionChange(this.selection)}emitSelectionChange(v){for(const h of this.data.listItems)h.selected=!1;this.selection.selected=!0,this.selectionChanged.emit(v)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setupKvDiffer(){var v,h;!this.useDifferForListItemUpdate||!((null===(v=this.data)||void 0===v||null===(v=v.listItems)||void 0===v?void 0:v.length)>0)||this.objectDifferMap||(this.objectDifferMap={},null===(h=this.data)||void 0===h||null===(h=h.listItems)||void 0===h||h.forEach(W=>this.objectDifferMap[W.label]=this.differs.find(W).create()))}initializeListItems(v=!1){var h;v&&(this.rotaryOptions=this.data.listItems.map(ne=>ne.label)),this.selection=null!==(h=this.data.listItems.find(ne=>ne.selected))&&void 0!==h?h:this.data.listItems[0];const W=this.data.listItems.findIndex(ne=>ne.selected);this.rotaryInit=-1!==W?W:0}}return(N=z).\u0275fac=function(v){return new(v||N)(e.rXU(U.u),e.rXU(e.MKu))},N.\u0275cmp=e.VBU({type:N,selectors:[["nv-hig-card-trail"]],inputs:{cardData:"cardData",openDropdownAsPopup:"openDropdownAsPopup",spinnerDiameter:"spinnerDiameter",dialogPanelClass:"dialogPanelClass",useDifferForListItemUpdate:[e.Mj6.None,"useDifferForUpdate","useDifferForListItemUpdate"]},outputs:{primaryButtonClicked:"primaryButtonClicked",secondaryButtonClicked:"secondaryButtonClicked",toggleClicked:"toggleClicked",selectionChanged:"selectionChanged"},decls:11,vars:1,consts:[["buttonSpinner",""],[1,"trail-container","trail-icon-container"],[1,"trail-icon","font-color-primary",3,"svgIcon"],[1,"trail-container","trail-checkbox-container"],[3,"ngModelChange","change","disabled","ngModel"],[1,"trail-container","trail-switch-container"],[1,"trail-container","trail-icon-button-container"],["mat-icon-button","",3,"click"],[3,"svgIcon"],[1,"trail-container","trail-buttons-container"],["mat-button","","cdkFocusInitial","",1,"font-button2",3,"disabled"],["mat-button","",1,"font-button2",3,"disabled"],["mat-button","","cdkFocusInitial","",1,"font-button2",3,"click","disabled"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["mat-button","",1,"font-button2",3,"click","disabled"],[1,"trail-container","trail-rotary-container"],[3,"selectionChanged","input","initialState"],[1,"trail-container","trail-dropdown-container"],["color","accent","panelClass","mat-select-dark-background mat-select-font-body2","nvMatSelectKeyboardFixup","","cdkMonitorElementFocus","",1,"trail-dropdown","hig-button-overlay","mat-select-font-body2",3,"ngModel","placeholder","disabled"],["color","accent","panelClass","mat-select-dark-background mat-select-font-body2","nvMatSelectKeyboardFixup","","cdkMonitorElementFocus","",1,"trail-dropdown","hig-button-overlay","mat-select-font-body2",3,"ngModelChange","selectionChange","ngModel","placeholder","disabled"],[1,"font-body2","font-color-tertiary",3,"value","disabled"],["color","accent","nvMatSelectKeyboardFixup","","nvAddKeyboardActivate","","cdkMonitorElementFocus","",1,"trail-dropdown","hig-button-overlay","mat-select-font-body2",3,"click","placeholder","disabled"],[1,"trail-container","trail-spinner-container"],["mode","indeterminate",1,"mat-accent",3,"diameter"],[1,"trail-container","trail-plaintext-container"],[1,"font-body2","font-color-secondary",3,"innerHtml"],["class","trail-button-spinner-overlay",4,"ngIf"],[1,"trail-button-spinner-overlay"]],template:function(v,h){if(1&v&&e.DNE(0,A,2,1)(1,l,2,2)(2,I,2,2)(3,S,3,1)(4,M,3,2)(5,u,2,2)(6,_,3,1)(7,f,2,1)(8,J,3,4)(9,D,1,1,"ng-template",null,0,e.C5r),2&v){let W;e.vxM(0,(W=h.data.elementType)===h.trailElementType.Icon?0:W===h.trailElementType.Checkbox?1:W===h.trailElementType.Switch?2:W===h.trailElementType.IconButton?3:W===h.trailElementType.TextButton?4:W===h.trailElementType.Rotary?5:W===h.trailElementType.Dropdown?6:W===h.trailElementType.Spinner?7:W===h.trailElementType.PlainText?8:-1)}},styles:[".trail-container[_ngcontent-%COMP%]{height:calc(48px * var(--hig-card-length-scaling-factor));box-sizing:border-box;display:flex;align-items:center;width:fit-content}.isLtr[_nghost-%COMP%] .trail-icon-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-icon-container[_ngcontent-%COMP%]{padding:calc(12px * var(--hig-card-length-scaling-factor)) calc(16px * var(--hig-card-length-scaling-factor)) calc(12px * var(--hig-card-length-scaling-factor)) 0px}html[dir=ltr][_ngcontent-%COMP%] .trail-icon-container[_ngcontent-%COMP%]{--dummy: 0;padding:calc(12px * var(--hig-card-length-scaling-factor)) calc(16px * var(--hig-card-length-scaling-factor)) calc(12px * var(--hig-card-length-scaling-factor)) 0px}.isRtl[_nghost-%COMP%] .trail-icon-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-icon-container[_ngcontent-%COMP%]{padding:calc(12px * var(--hig-card-length-scaling-factor)) 0px calc(12px * var(--hig-card-length-scaling-factor)) calc(16px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-icon-container[_ngcontent-%COMP%]{--dummy: 0;padding:calc(12px * var(--hig-card-length-scaling-factor)) 0px calc(12px * var(--hig-card-length-scaling-factor)) calc(16px * var(--hig-card-length-scaling-factor))}.trail-icon[_ngcontent-%COMP%]{width:calc(var(--hig-card-trail-icon-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-trail-icon-size) * var(--hig-card-image-scaling-factor))}.trail-switch-container[_ngcontent-%COMP%]{min-width:calc(var(--hig-card-trail-switch-width) * var(--hig-card-length-scaling-factor));justify-content:center}.isLtr[_nghost-%COMP%] .trail-switch-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-switch-container[_ngcontent-%COMP%]{padding-right:calc(8px * var(--hig-card-length-scaling-factor))}html[dir=ltr][_ngcontent-%COMP%] .trail-switch-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:calc(8px * var(--hig-card-length-scaling-factor))}.isRtl[_nghost-%COMP%] .trail-switch-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-switch-container[_ngcontent-%COMP%]{padding-left:calc(8px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-switch-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:calc(8px * var(--hig-card-length-scaling-factor))}.isLtr[_nghost-%COMP%] .trail-icon-button-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-icon-button-container[_ngcontent-%COMP%]{padding-right:calc(4px * var(--hig-card-length-scaling-factor))}html[dir=ltr][_ngcontent-%COMP%] .trail-icon-button-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:calc(4px * var(--hig-card-length-scaling-factor))}.isRtl[_nghost-%COMP%] .trail-icon-button-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-icon-button-container[_ngcontent-%COMP%]{padding-left:calc(4px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-icon-button-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:calc(4px * var(--hig-card-length-scaling-factor))}.trail-buttons-container[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;gap:calc(var(--hig-card-trail-button-gap) * var(--hig-card-length-scaling-factor))}.isLtr[_nghost-%COMP%] .trail-buttons-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-buttons-container[_ngcontent-%COMP%]{padding:calc(6px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor)) calc(6px * var(--hig-card-length-scaling-factor)) 0px}html[dir=ltr][_ngcontent-%COMP%] .trail-buttons-container[_ngcontent-%COMP%]{--dummy: 0;padding:calc(6px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor)) calc(6px * var(--hig-card-length-scaling-factor)) 0px}.isRtl[_nghost-%COMP%] .trail-buttons-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-buttons-container[_ngcontent-%COMP%]{padding:calc(6px * var(--hig-card-length-scaling-factor)) 0px calc(6px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-buttons-container[_ngcontent-%COMP%]{--dummy: 0;padding:calc(6px * var(--hig-card-length-scaling-factor)) 0px calc(6px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor))}.trail-buttons-container[_ngcontent-%COMP%] .primary-button-text[_ngcontent-%COMP%], .trail-buttons-container[_ngcontent-%COMP%] .secondary-button-text[_ngcontent-%COMP%]{visibility:hidden}.trail-rotary-container[_ngcontent-%COMP%]{justify-content:center}.trail-rotary-container[_ngcontent-%COMP%] nv-hig-rotary[_ngcontent-%COMP%]{--hig-rotary-width: calc(calc(var(--hig-card-trail-rotary-width) * var(--hig-card-length-scaling-factor)) - calc(8px * var(--hig-card-length-scaling-factor)));--hig-rotary-height: calc(var(--hig-card-trail-rotary-height) * var(--hig-card-length-scaling-factor));--hig-rotary-button-size: calc(var(--hig-card-trail-rotary-height) * var(--hig-card-image-scaling-factor));--hig-rotary-chevron-size: calc(24px * var(--hig-card-image-scaling-factor))}.isLtr[_nghost-%COMP%] .trail-rotary-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-rotary-container[_ngcontent-%COMP%]{padding:calc(4px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor)) calc(4px * var(--hig-card-length-scaling-factor)) 0px}html[dir=ltr][_ngcontent-%COMP%] .trail-rotary-container[_ngcontent-%COMP%]{--dummy: 0;padding:calc(4px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor)) calc(4px * var(--hig-card-length-scaling-factor)) 0px}.isRtl[_nghost-%COMP%] .trail-rotary-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-rotary-container[_ngcontent-%COMP%]{padding:calc(4px * var(--hig-card-length-scaling-factor)) 0px calc(4px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-rotary-container[_ngcontent-%COMP%]{--dummy: 0;padding:calc(4px * var(--hig-card-length-scaling-factor)) 0px calc(4px * var(--hig-card-length-scaling-factor)) calc(8px * var(--hig-card-length-scaling-factor))}.isLtr[_nghost-%COMP%] .trail-dropdown-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-dropdown-container[_ngcontent-%COMP%]{padding-right:calc(4px * var(--hig-card-length-scaling-factor))}html[dir=ltr][_ngcontent-%COMP%] .trail-dropdown-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:calc(4px * var(--hig-card-length-scaling-factor))}.isRtl[_nghost-%COMP%] .trail-dropdown-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-dropdown-container[_ngcontent-%COMP%]{padding-left:calc(4px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-dropdown-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:calc(4px * var(--hig-card-length-scaling-factor))}.trail-dropdown[_ngcontent-%COMP%]{width:calc(var(--hig-card-trail-dropdown-width) * var(--hig-card-length-scaling-factor))}.isLtr[_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{padding-left:calc(16px * var(--hig-card-length-scaling-factor))}html[dir=ltr][_ngcontent-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{--dummy1: 0;padding-left:calc(16px * var(--hig-card-length-scaling-factor))}.isRtl[_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{padding-right:calc(16px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{--dummy1: 0;padding-right:calc(16px * var(--hig-card-length-scaling-factor))}.isLtr[_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{padding-right:calc(24px * var(--hig-card-length-scaling-factor))}html[dir=ltr][_ngcontent-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:calc(24px * var(--hig-card-length-scaling-factor))}.isRtl[_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{padding-left:calc(24px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .trail-spinner-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:calc(24px * var(--hig-card-length-scaling-factor))}.trail-plaintext-container[_ngcontent-%COMP%]{padding:0px calc(16px * var(--hig-card-length-scaling-factor))}.trail-button-spinner-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1;background:transparent}"]}),z})()},13267:(xe,de,t)=>{"use strict";t.d(de,{I:()=>te});var e=t(58527),n=t(26784),E=t(29370);function O(N,z){if(1&N&&(e.j41(0,"div",0),e.nrm(1,"mat-icon",1),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.Y8G("svgIcon",R.data.icon)}}function B(N,z){if(1&N&&e.nrm(0,"img",5),2&N){const R=e.XpG(2);e.Y8G("src",R.data.badgeIcon,e.B4B)}}function P(N,z){if(1&N&&(e.j41(0,"div",2)(1,"div",3),e.nrm(2,"img",4),e.DNE(3,B,1,1,"img",5),e.k0s()()),2&N){const R=e.XpG();e.R7$(2),e.Y8G("src",R.data.primaryIcon,e.B4B),e.R7$(),e.vxM(3,R.data.badgeIcon?3:-1)}}function k(N,z){if(1&N&&(e.j41(0,"div",6),e.nrm(1,"img",7),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.Y8G("src",R.data.image,e.B4B)}}function U(N,z){if(1&N&&(e.j41(0,"div",8),e.nrm(1,"img",9),e.k0s()),2&N){const R=e.XpG();e.R7$(),e.Y8G("src",R.data.image,e.B4B)}}let r=(()=>{var N;class z{constructor(){this.checkboxClicked=new e.bkB,this.leadElementType=n.p}set cardData(v){this.data=v}checkBoxClick(v){this.checkboxClicked.emit(v.checked)}}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275cmp=e.VBU({type:N,selectors:[["nv-hig-card-lead"]],inputs:{cardData:"cardData"},outputs:{checkboxClicked:"checkboxClicked"},decls:4,vars:1,consts:[[1,"lead-offset","lead-icon-container"],[1,"lead-icon",3,"svgIcon"],[1,"lead-offset","lead-avatar-container"],[1,"lead-avatar-box"],[1,"lead-avatar-icon",3,"src"],[1,"lead-avatar-badge",3,"src"],[1,"lead-offset","lead-square-image-container"],[1,"lead-square-image",3,"src"],[1,"lead-rectangular-image-container"],[1,"lead-rectangular-image",3,"src"]],template:function(v,h){if(1&v&&e.DNE(0,O,2,1)(1,P,4,2)(2,k,2,1)(3,U,2,1),2&v){let W;e.vxM(0,(W=h.data.elementType)===h.leadElementType.Icon?0:W===h.leadElementType.AvatarIcon?1:W===h.leadElementType.SquareImage?2:W===h.leadElementType.RectangularImage?3:-1)}},dependencies:[E.An],styles:[".isLtr[_nghost-%COMP%] .lead-offset[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .lead-offset[_ngcontent-%COMP%]{padding-left:calc(16px * var(--hig-card-length-scaling-factor))}html[dir=ltr][_ngcontent-%COMP%] .lead-offset[_ngcontent-%COMP%]{--dummy1: 0;padding-left:calc(16px * var(--hig-card-length-scaling-factor))}.isRtl[_nghost-%COMP%] .lead-offset[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .lead-offset[_ngcontent-%COMP%]{padding-right:calc(16px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .lead-offset[_ngcontent-%COMP%]{--dummy1: 0;padding-right:calc(16px * var(--hig-card-length-scaling-factor))}.lead-icon-container[_ngcontent-%COMP%]{padding:calc(12px * var(--hig-card-length-scaling-factor)) 0px}.lead-icon[_ngcontent-%COMP%]{width:calc(var(--hig-card-lead-icon-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-lead-icon-size) * var(--hig-card-image-scaling-factor))}.lead-square-image-container[_ngcontent-%COMP%]{padding:calc(8px * var(--hig-card-length-scaling-factor)) 0px}.lead-square-image[_ngcontent-%COMP%]{width:calc(var(--hig-card-lead-square-image-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-lead-square-image-size) * var(--hig-card-image-scaling-factor))}.lead-rectangular-image-container[_ngcontent-%COMP%]{padding:calc(12px * var(--hig-card-length-scaling-factor)) 0px}.lead-rectangular-image[_ngcontent-%COMP%]{width:calc(var(--hig-card-lead-rectangular-image-width) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-lead-rectangular-image-height) * var(--hig-card-image-scaling-factor))}.lead-avatar-container[_ngcontent-%COMP%]{width:calc(var(--hig-card-lead-avatar-icon-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-lead-avatar-icon-size) * var(--hig-card-image-scaling-factor));padding:calc(8px * var(--hig-card-length-scaling-factor)) 0px}.lead-avatar-box[_ngcontent-%COMP%]{position:relative;width:calc(var(--hig-card-lead-avatar-icon-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-lead-avatar-icon-size) * var(--hig-card-image-scaling-factor))}.lead-avatar-icon[_ngcontent-%COMP%]{width:calc(var(--hig-card-lead-avatar-icon-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-lead-avatar-icon-size) * var(--hig-card-image-scaling-factor))}.lead-avatar-badge[_ngcontent-%COMP%]{position:absolute;width:calc(var(--hig-card-lead-avatar-badge-width) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-lead-avatar-badge-height) * var(--hig-card-image-scaling-factor));bottom:0}.isLtr[_nghost-%COMP%] .lead-avatar-badge[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .lead-avatar-badge[_ngcontent-%COMP%]{right:0}.isRtl[_nghost-%COMP%] .lead-avatar-badge[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .lead-avatar-badge[_ngcontent-%COMP%]{left:0}"]}),z})();var A=t(65240);function l(N,z){if(1&N&&e.nrm(0,"mat-icon",4),2&N){const R=e.XpG().$implicit;e.Y8G("svgIcon",R.matIcon)}}function I(N,z){if(1&N&&(e.j41(0,"div",3),e.DNE(1,l,1,1,"mat-icon",4),e.nrm(2,"div",5),e.nI1(3,"translate"),e.k0s()),2&N){const R=z.$implicit;e.R7$(),e.vxM(1,R.matIcon?1:-1),e.R7$(),e.Y8G("innerHtml",R.translated?R.text:e.i5U(3,2,R.text,R.placeholders),e.npT)}}function S(N,z){if(1&N&&e.Z7z(0,I,4,5,"div",3,e.Vm6),2&N){const R=e.XpG();e.Dyx(null==R.data?null:R.data.supportingText)}}let L=(()=>{var N;class z{constructor(){this.topPadding=!1,this.centerAlign=!1}set cardData(v){var h,W;this.data=v,this.topPadding=!(null===(h=this.data)||void 0===h||!h.supportingText),this.centerAlign=!(null!==(W=this.data)&&void 0!==W&&W.supportingText)}}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275cmp=e.VBU({type:N,selectors:[["nv-hig-card-core"]],inputs:{cardData:"cardData"},decls:5,vars:9,consts:[[1,"core-container","column-layout"],[1,"row-layout"],[1,"headline","font-body1","font-color-primary",3,"innerHtml"],[1,"core-supporting-text-row","font-color-tertiary"],[1,"core-supporting-icon",3,"svgIcon"],[1,"font-body2","font-color-tertiary",3,"innerHtml"]],template:function(v,h){1&v&&(e.j41(0,"div",0)(1,"div",1),e.nrm(2,"div",2),e.nI1(3,"translate"),e.k0s(),e.DNE(4,S,2,0),e.k0s()),2&v&&(e.AVh("conditional-top-padding",h.topPadding)("center-align",h.centerAlign),e.R7$(2),e.Y8G("innerHtml",null!=h.data&&h.data.headline.translated?null==h.data?null:h.data.headline.text:e.i5U(3,6,null==h.data?null:h.data.headline.text,null==h.data?null:h.data.headline.placeholders),e.npT),e.R7$(2),e.vxM(4,(null==h.data||null==h.data.supportingText?null:h.data.supportingText.length)>0?4:-1))},dependencies:[E.An,A.D9],styles:[".headline[_ngcontent-%COMP%]{text-transform:var(--hig-card-core-headline-text-transform)}.core-supporting-text-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:calc(var(--hig-card-core-supporting-text-gap) * var(--hig-card-length-scaling-factor))}.core-supporting-icon[_ngcontent-%COMP%]{width:calc(var(--hig-card-core-supporting-icon-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-core-supporting-icon-size) * var(--hig-card-image-scaling-factor));flex:0 0 auto}.column-layout[_ngcontent-%COMP%]{display:flex;flex-direction:column}.row-layout[_ngcontent-%COMP%]{display:flex;flex-direction:row}.core-container[_ngcontent-%COMP%]{min-height:calc(var(--hig-card-core-min-height) * var(--hig-card-length-scaling-factor));gap:calc(var(--hig-card-core-supporting-text-gap) * var(--hig-card-length-scaling-factor))}.conditional-top-padding[_ngcontent-%COMP%]{padding-top:calc(12px * var(--hig-card-length-scaling-factor))}.center-align[_ngcontent-%COMP%]{justify-content:center}"]}),z})();var s=t(19141);function M(N,z){if(1&N&&e.nrm(0,"mat-icon",1),2&N){const R=e.XpG();e.Y8G("svgIcon",R.data.context.matIcon)}}let u=(()=>{var N;class z{set cardData(v){this.data=v}}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275cmp=e.VBU({type:N,selectors:[["nv-hig-card-context"]],inputs:{cardData:"cardData"},decls:4,vars:5,consts:[[1,"context-text-row","font-body2","font-color-tertiary"],[1,"context-icon",3,"svgIcon"],[3,"innerHtml"]],template:function(v,h){1&v&&(e.j41(0,"div",0),e.DNE(1,M,1,1,"mat-icon",1),e.nrm(2,"div",2),e.nI1(3,"translate"),e.k0s()),2&v&&(e.R7$(),e.vxM(1,h.data.context.matIcon?1:-1),e.R7$(),e.Y8G("innerHtml",h.data.context.translated?h.data.context.text:e.i5U(3,2,h.data.context.text,h.data.context.placeholders),e.npT))},dependencies:[E.An,A.D9],styles:[".context-text-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:calc(var(--hig-card-context-supporting-text-gap) * var(--hig-card-length-scaling-factor));padding:calc(var(--hig-card-context-vertical-padding) * var(--hig-card-length-scaling-factor)) 0px}.context-icon[_ngcontent-%COMP%]{width:calc(var(--hig-card-context-supporting-icon-size) * var(--hig-card-image-scaling-factor));height:calc(var(--hig-card-context-supporting-icon-size) * var(--hig-card-image-scaling-factor));flex:0 0 auto}"]}),z})();var x=t(61142),p=t(47973);function i(N,z){if(1&N){const R=e.RV6();e.j41(0,"button",2),e.bIt("click",function(h){e.eBV(R);const W=e.XpG(2);return e.Njj(W.secondaryButtonClick(h))}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&N){const R=e.XpG(2);e.Y8G("disabled",R.data.secondaryButton.isDisabled),e.R7$(),e.SpI(" ",e.bMT(2,2,R.data.secondaryButton.text)," ")}}function o(N,z){if(1&N){const R=e.RV6();e.j41(0,"div",1)(1,"button",2),e.bIt("click",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.primaryButtonClick(h))}),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.DNE(4,i,3,4,"button",3),e.k0s()}if(2&N){const R=e.XpG();e.R7$(),e.Y8G("disabled",R.data.primaryButton.isDisabled),e.R7$(),e.SpI(" ",e.bMT(3,3,R.data.primaryButton.text)," "),e.R7$(2),e.vxM(4,R.data.secondaryButton?4:-1)}}let _=(()=>{var N;class z{constructor(){this.primaryButtonClicked=new e.bkB,this.secondaryButtonClicked=new e.bkB}set cardData(v){this.data=v}primaryButtonClick(v){this.primaryButtonClicked.emit(v)}secondaryButtonClick(v){this.secondaryButtonClicked.emit(v)}}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275cmp=e.VBU({type:N,selectors:[["nv-hig-card-context-cta"]],inputs:{cardData:"cardData"},outputs:{primaryButtonClicked:"primaryButtonClicked",secondaryButtonClicked:"secondaryButtonClicked"},decls:1,vars:1,consts:[["class","context-cta-container",4,"ngIf"],[1,"context-cta-container"],["mat-button","",1,"font-button2",3,"click","disabled"],["mat-button","",1,"font-button2",3,"disabled"]],template:function(v,h){1&v&&e.DNE(0,o,5,5,"div",0),2&v&&e.Y8G("ngIf",h.data.primaryButton)},dependencies:[x.bT,p.iV,A.D9],styles:[".context-cta-container[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:calc(var(--hig-card-context-cta-button-gap) * var(--hig-card-length-scaling-factor))}.isLtr[_nghost-%COMP%] .context-cta-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .context-cta-container[_ngcontent-%COMP%]{padding-right:calc(8px * var(--hig-card-length-scaling-factor))}html[dir=ltr][_ngcontent-%COMP%] .context-cta-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:calc(8px * var(--hig-card-length-scaling-factor))}.isRtl[_nghost-%COMP%] .context-cta-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .context-cta-container[_ngcontent-%COMP%]{padding-left:calc(8px * var(--hig-card-length-scaling-factor))}html[dir=rtl][_ngcontent-%COMP%] .context-cta-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:calc(8px * var(--hig-card-length-scaling-factor))}"]}),z})();function f(N,z){if(1&N&&e.nrm(0,"nv-hig-card-lead",1),2&N){const R=e.XpG();e.Y8G("cardData",R.data.lead)}}function J(N,z){if(1&N){const R=e.RV6();e.j41(0,"nv-hig-card-trail",6),e.bIt("primaryButtonClicked",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.primaryButtonClick(h))})("secondaryButtonClicked",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.secondaryButtonClick(h))})("toggleClicked",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.toggleClick(h))})("selectionChanged",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.selectionChange(h))}),e.k0s()}if(2&N){const R=e.XpG();e.Y8G("cardData",R.data.trail)("openDropdownAsPopup",R.openDropdownAsPopup)("dialogPanelClass",R.dialogPanelClass)("spinnerDiameter",R.spinnerDiameter)("useDifferForUpdate",R.useDifferForUpdate)}}function a(N,z){if(1&N&&e.nrm(0,"nv-hig-card-context",1),2&N){const R=e.XpG();e.Y8G("cardData",R.data.context)}}function D(N,z){if(1&N){const R=e.RV6();e.j41(0,"nv-hig-card-context-cta",7),e.bIt("primaryButtonClicked",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.primaryContextButtonClick(h))})("secondaryButtonClicked",function(h){e.eBV(R);const W=e.XpG();return e.Njj(W.secondaryContextButtonClick(h))}),e.k0s()}if(2&N){const R=e.XpG();e.Y8G("cardData",R.data.context)}}let te=(()=>{var N;class z{constructor(){this.openDropdownAsPopup=!1,this.spinnerDiameter=48,this.dialogPanelClass="",this.useDifferForUpdate=!1,this.primaryButtonClicked=new e.bkB,this.secondaryButtonClicked=new e.bkB,this.toggleClicked=new e.bkB,this.selectionChanged=new e.bkB,this.primaryContextButtonClicked=new e.bkB,this.secondaryContextButtonClicked=new e.bkB,this.leadElementType=n.p,this.trailElementType=n.r}set cardData(v){this.data=v}primaryButtonClick(v){this.primaryButtonClicked.emit(v)}secondaryButtonClick(v){this.secondaryButtonClicked.emit(v)}toggleClick(v){this.toggleClicked.emit(v)}selectionChange(v){this.selectionChanged.emit(v)}primaryContextButtonClick(v){this.primaryContextButtonClicked.emit(v)}secondaryContextButtonClick(v){this.secondaryContextButtonClicked.emit(v)}}return(N=z).\u0275fac=function(v){return new(v||N)},N.\u0275cmp=e.VBU({type:N,selectors:[["nv-hig-card"]],inputs:{cardData:"cardData",openDropdownAsPopup:"openDropdownAsPopup",spinnerDiameter:"spinnerDiameter",dialogPanelClass:"dialogPanelClass",useDifferForUpdate:"useDifferForUpdate"},outputs:{primaryButtonClicked:"primaryButtonClicked",secondaryButtonClicked:"secondaryButtonClicked",toggleClicked:"toggleClicked",selectionChanged:"selectionChanged",primaryContextButtonClicked:"primaryContextButtonClicked",secondaryContextButtonClicked:"secondaryContextButtonClicked"},decls:9,vars:5,consts:[[1,"card-container"],[3,"cardData"],[1,"card-inner-container"],[1,"core-trail-container"],[3,"cardData","openDropdownAsPopup","dialogPanelClass","spinnerDiameter","useDifferForUpdate"],[1,"context-container"],[3,"primaryButtonClicked","secondaryButtonClicked","toggleClicked","selectionChanged","cardData","openDropdownAsPopup","dialogPanelClass","spinnerDiameter","useDifferForUpdate"],[3,"primaryButtonClicked","secondaryButtonClicked","cardData"]],template:function(v,h){1&v&&(e.j41(0,"div",0),e.DNE(1,f,1,1,"nv-hig-card-lead",1),e.j41(2,"div",2)(3,"div",3),e.nrm(4,"nv-hig-card-core",1),e.DNE(5,J,1,5,"nv-hig-card-trail",4),e.k0s(),e.j41(6,"div",5),e.DNE(7,a,1,1,"nv-hig-card-context",1)(8,D,1,1,"nv-hig-card-context-cta",1),e.k0s()()()),2&v&&(e.R7$(),e.vxM(1,null!=h.data&&h.data.lead?1:-1),e.R7$(3),e.Y8G("cardData",h.data.core),e.R7$(),e.vxM(5,null!=h.data&&h.data.trail?5:-1),e.R7$(2),e.vxM(7,null!=h.data&&h.data.context?7:-1),e.R7$(),e.vxM(8,null!=h.data&&null!=h.data.context&&h.data.context.primaryButton?8:-1))},dependencies:[r,L,s.e,u,_],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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}[_nghost-%COMP%]{display:contents;--hig-card-display: contents;--hig-card-context-display: flex;--hig-card-image-scaling-factor: 1;--hig-card-length-scaling-factor: 1;--hig-card-lead-column: 1 / span 1;--hig-card-core-column: 2 / span 1;--hig-card-trail-column: 3 / span 1;--hig-card-context-column: 2 / span 2;--hig-card-context-text-column: 2 / span 1;--hig-card-context-cta-column: 3 / span 1;--hig-card-core-headline-text-transform: none;--hig-card-core-min-height: 48px;--hig-card-core-supporting-icon-size: 20px;--hig-card-core-supporting-text-gap: 0px;--hig-card-lead-icon-size: 24px;--hig-card-lead-square-image-size: 56px;--hig-card-lead-rectangular-image-width: 100px;--hig-card-lead-rectangular-image-height: 56px;--hig-card-lead-avatar-icon-size: 40px;--hig-card-lead-avatar-badge-width: 20px;--hig-card-lead-avatar-badge-height: 17px;--hig-card-trail-icon-size: 24px;--hig-card-trail-dropdown-width: 148px;--hig-card-trail-rotary-width: 144px;--hig-card-trail-rotary-height: 40px;--hig-card-trail-button-gap: 8px;--hig-card-trail-switch-width: 64px;--hig-card-trail-justify-items: end;--hig-card-context-justify-items: space-between;--hig-card-context-supporting-icon-size: 20px;--hig-card-context-supporting-text-gap: 8px;--hig-card-context-vertical-padding: 8px;--hig-card-context-cta-button-gap: 8px;--hig-card-context-cta-justify-items: end;--hig-card-container-padding: 4px}nv-hig-card-core[_ngcontent-%COMP%]{padding:calc(var(--hig-card-container-padding) * var(--hig-card-length-scaling-factor)) calc(16px * var(--hig-card-length-scaling-factor));min-height:calc(var(--hig-card-core-min-height) * var(--hig-card-length-scaling-factor));grid-column:var(--hig-card-core-column)}nv-hig-card-lead[_ngcontent-%COMP%]{padding:calc(var(--hig-card-container-padding) * var(--hig-card-length-scaling-factor)) 0px;grid-column:var(--hig-card-lead-column)}nv-hig-card-trail[_ngcontent-%COMP%]{display:flex;padding:calc(var(--hig-card-container-padding) * var(--hig-card-length-scaling-factor)) 0px;justify-content:var(--hig-card-trail-justify-items);grid-column:var(--hig-card-trail-column)}nv-hig-card-context[_ngcontent-%COMP%]{padding:0px calc(16px * var(--hig-card-length-scaling-factor)) calc(var(--hig-card-container-padding) * var(--hig-card-length-scaling-factor)) calc(16px * var(--hig-card-length-scaling-factor));grid-column:var(--hig-card-context-text-column)}nv-hig-card-context-cta[_ngcontent-%COMP%]{display:flex;padding-bottom:calc(var(--hig-card-container-padding) * var(--hig-card-length-scaling-factor));justify-content:var(--hig-card-context-cta-justify-items);grid-column:var(--hig-card-context-cta-column)}.card-container[_ngcontent-%COMP%], .card-inner-container[_ngcontent-%COMP%], .core-trail-container[_ngcontent-%COMP%]{display:var(--hig-card-display)}.context-container[_ngcontent-%COMP%]{display:var(--hig-card-context-display);justify-content:var(--hig-card-context-justify-items);grid-column:var(--hig-card-context-column)}"]}),z})()},49752:(xe,de,t)=>{"use strict";t.d(de,{u:()=>ee});var e=t(58527),n=t(26537),E=t(72818),O=t(25369),B=t(16490);const P=(b,w)=>[b,w],k=b=>({visible:b}),U=b=>({"pointer-events":b}),r=b=>({visibility:b});function A(b,w){if(1&b&&(e.j41(0,"i",22),e.EFF(1),e.k0s()),2&b){const F=e.XpG();e.R7$(),e.JRh(F.data.icon)}}function l(b,w){if(1&b&&e.nrm(0,"img",23),2&b){const F=e.XpG();e.Y8G("src",F.data.image.url,e.B4B)}}function I(b,w){if(1&b&&(e.nrm(0,"div",24),e.nI1(1,"translate")),2&b){const F=e.XpG();e.Y8G("innerHTML",e.i5U(1,1,F.data.headerText.text,F.data.translateValues),e.npT)}}function S(b,w){1&b&&(e.j41(0,"div",25),e.nrm(1,"mat-progress-spinner",26),e.k0s())}function L(b,w){if(1&b&&(e.nrm(0,"div",27),e.nI1(1,"translate")),2&b){const F=e.XpG();e.Y8G("innerHTML",F.data.bodyText.translated?F.data.bodyText.text:e.i5U(1,1,F.data.bodyText.text,F.data.bodyText.placeholders),e.npT)}}function s(b,w){if(1&b){const F=e.RV6();e.j41(0,"a",31),e.bIt("click",function(){e.eBV(F);const se=e.XpG(2);return e.Njj(se.onLinkClick())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&b){const F=e.XpG(2);e.Y8G("href",F.data.link.url,e.B4B)("shortUrl",null==F.data.link?null:F.data.link.shortUrl),e.R7$(),e.JRh(e.i5U(2,3,F.data.link.text,F.data.link.placeholders))}}function M(b,w){if(1&b){const F=e.RV6();e.j41(0,"span",32),e.nI1(1,"translate"),e.bIt("click",function(){e.eBV(F);const se=e.XpG(2);return e.Njj(se.onLinkClick())}),e.k0s()}if(2&b){const F=e.XpG(2);e.Y8G("innerHTML",e.i5U(1,1,F.data.link.text,F.data.link.placeholders),e.npT)}}function u(b,w){if(1&b&&(e.j41(0,"div",28),e.DNE(1,s,3,6,"a",29)(2,M,2,4,"span",30),e.k0s()),2&b){const F=e.XpG();e.R7$(),e.Y8G("ngIf",!(null!=F.data.link&&F.data.link.isTextWithHyperlinkTag)),e.R7$(),e.Y8G("ngIf",null==F.data.link?null:F.data.link.isTextWithHyperlinkTag)}}function x(b,w){if(1&b){const F=e.RV6();e.j41(0,"a",31),e.bIt("click",function(){e.eBV(F);const se=e.XpG(2);return e.Njj(se.onLinkClick())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&b){const F=e.XpG(2);e.Y8G("href",F.data.link.url,e.B4B)("shortUrl",F.data.link.shortUrl),e.R7$(),e.JRh(e.bMT(2,3,F.data.link.text))}}function p(b,w){if(1&b&&(e.j41(0,"a",35),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&b){const F=e.XpG(2);e.Y8G("routerLink",F.data.link.routerLink.commands)("skipLocationChange",F.data.link.routerLink.skipLocationChange),e.R7$(),e.SpI(" ",e.bMT(2,3,F.data.link.text)," ")}}function i(b,w){if(1&b){const F=e.RV6();e.j41(0,"a",36),e.bIt("click",function(){e.eBV(F);const se=e.XpG(2);return e.Njj(se.data.link.linkClickedCallback())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&b){const F=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(2,1,F.data.link.text)," ")}}function o(b,w){if(1&b&&(e.j41(0,"div",28),e.DNE(1,x,3,5,"a",29)(2,p,3,5,"a",33)(3,i,3,3,"a",34),e.k0s()),2&b){const F=e.XpG();e.R7$(),e.Y8G("ngIf",F.data.link.url&&!F.data.link.routerLink&&!F.data.link.linkClickedCallback),e.R7$(),e.Y8G("ngIf",F.data.link.routerLink&&!F.data.link.linkClickedCallback),e.R7$(),e.Y8G("ngIf",F.data.link.linkClickedCallback)}}function _(b,w){if(1&b&&(e.j41(0,"div",37),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&b){const F=e.XpG();e.R7$(),e.SpI(" ",e.i5U(2,1,F.data.errorCodeText.text,F.data.errorCodeText.placeholders)," ")}}function f(b,w){if(1&b&&e.nrm(0,"img",44),2&b){const F=e.XpG().$implicit;e.Y8G("src",F.imageUrl,e.B4B)}}function J(b,w){if(1&b&&(e.j41(0,"mat-radio-button",40)(1,"div",41),e.DNE(2,f,1,1,"img",42),e.j41(3,"div",43),e.EFF(4),e.k0s()()()),2&b){const F=w.$implicit;e.Y8G("value",F.value),e.R7$(2),e.Y8G("ngIf",F.imageUrl),e.R7$(2),e.JRh(F.value)}}function a(b,w){if(1&b){const F=e.RV6();e.j41(0,"mat-radio-group",38),e.mxI("ngModelChange",function(se){e.eBV(F);const Y=e.XpG();return e.DH7(Y.data.radioOptionSelected,se)||(Y.data.radioOptionSelected=se),e.Njj(se)}),e.bIt("change",function(){e.eBV(F);const se=e.XpG();return e.Njj(se.onRadioOptionChange())}),e.DNE(1,J,5,3,"mat-radio-button",39),e.k0s()}if(2&b){const F=e.XpG();e.R50("ngModel",F.data.radioOptionSelected),e.R7$(),e.Y8G("ngForOf",F.data.radioButtonOptions)}}function D(b,w){if(1&b&&e.nrm(0,"mat-icon",50),2&b){const F=e.XpG().$implicit;e.Y8G("svgIcon",F.matIcon)}}function te(b,w){if(1&b&&(e.j41(0,"div",47),e.DNE(1,D,1,1,"mat-icon",48),e.j41(2,"div",49),e.EFF(3),e.k0s()()),2&b){const F=w.$implicit;e.R7$(),e.Y8G("ngIf",F.matIcon),e.R7$(2),e.JRh(F.text)}}function N(b,w){if(1&b&&(e.j41(0,"div",45),e.DNE(1,te,4,2,"div",46),e.k0s()),2&b){const F=e.XpG();e.R7$(),e.Y8G("ngForOf",F.data.descriptionList)}}function z(b,w){if(1&b){const F=e.RV6();e.j41(0,"div",51)(1,"div",52)(2,"a",53),e.bIt("click",function(){return e.eBV(F),e.Njj(!1)})("dragstart",function(){e.eBV(F);const se=e.XpG();return e.Njj(se.onImageDragStart())}),e.EFF(3),e.nI1(4,"translate"),e.nrm(5,"img",54),e.k0s(),e.nrm(6,"p",55),e.nI1(7,"translate"),e.k0s(),e.nrm(8,"p",56),e.nI1(9,"translate"),e.k0s()}if(2&b){const F=e.XpG();e.R7$(2),e.Y8G("href",F.data.image.shortcutUrl,e.B4B),e.R7$(),e.JRh(e.i5U(4,6,F.data.image.caption,F.data.image.captionPlaceholder)),e.R7$(2),e.Y8G("src",F.data.image.url,e.B4B)("alt",F.data.image.captionPlaceholder),e.R7$(),e.Y8G("innerHTML",e.i5U(7,9,F.data.image.caption,F.data.image.captionPlaceholder),e.npT),e.R7$(2),e.Y8G("innerHTML",e.bMT(9,12,F.data.image.description),e.npT)}}function R(b,w){if(1&b){const F=e.RV6();e.j41(0,"mat-checkbox",57),e.mxI("ngModelChange",function(se){e.eBV(F);const Y=e.XpG();return e.DH7(Y.data.checkboxState,se)||(Y.data.checkboxState=se),e.Njj(se)}),e.j41(1,"span",58),e.EFF(2),e.nI1(3,"translate"),e.k0s()()}if(2&b){const F=e.XpG();e.R50("ngModel",F.data.checkboxState),e.R7$(2),e.JRh(e.bMT(3,2,F.data.checkbox.text))}}function v(b,w){if(1&b){const F=e.RV6();e.j41(0,"button",59),e.bIt("click",function(se){e.eBV(F);const Y=e.XpG();return e.Njj(Y.onSecondaryButtonClick(se))}),e.EFF(1),e.nI1(2,"translate"),e.eu8(3,60),e.k0s()}if(2&b){const F=e.XpG(),Z=e.sdS(24);e.Y8G("disabled",F.data.secondaryButton.isDisabled),e.R7$(),e.SpI(" ",e.bMT(2,4,F.data.secondaryButton.text)," "),e.R7$(2),e.Y8G("ngTemplateOutlet",Z)("ngTemplateOutletContext",e.eq3(6,k,F.data.secondaryButton.spinnerOverlay))}}function h(b,w){if(1&b){const F=e.RV6();e.j41(0,"button",61),e.bIt("click",function(se){e.eBV(F);const Y=e.XpG();return e.Njj(Y.onPrimaryButtonClick(se))}),e.j41(1,"div",62),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.eu8(4,60),e.k0s()}if(2&b){const F=e.XpG(),Z=e.sdS(24);e.Y8G("ngClass",F.data.primaryButton.accentColor?"font-button2 mat-flat-button mat-accent":"font-button2")("nvFocusRipple",!!F.data.primaryButton.accentColor)("disabled",F.data.primaryButton.isDisabled)("nvAutoFocus",F.autoFocusOnPrimaryButton)("ngStyle",e.eq3(11,U,F.data.primaryButton.spinnerOverlay?"none":"all")),e.R7$(),e.Y8G("ngStyle",e.eq3(13,r,F.data.primaryButton.removeButtonTextOnClick?"hidden":"visible")),e.R7$(),e.SpI(" ",e.bMT(3,9,F.data.primaryButton.text)," "),e.R7$(2),e.Y8G("ngTemplateOutlet",Z)("ngTemplateOutletContext",e.eq3(15,k,F.data.primaryButton.spinnerOverlay))}}function W(b,w){if(1&b&&(e.j41(0,"div",64),e.nrm(1,"mat-progress-spinner",65),e.k0s()),2&b){const F=e.XpG(2);e.R7$(),e.Y8G("ngClass",F.data.spinnerClass?F.data.spinnerClass:"mat-accent")("diameter",16)}}function ne(b,w){1&b&&e.DNE(0,W,2,2,"div",63),2&b&&e.Y8G("ngIf",w.visible)}let ee=(()=>{var b;class w extends O.D{get hasIcon(){return!!this.data.icon||!!this.data.image}get autoFocusOnPrimaryButton(){var Z;return null===(Z=this.data.autoFocusOnPrimaryButton)||void 0===Z||Z}static open(Z,se){return(0,E.SN)(se,{addOverlayPanelCls:!0}),Z.open(w,se)}constructor(Z,se,Y,q){super(se,Y,Z,q),this.primaryButtonClick=new e.bkB,this.secondaryButtonClick=new e.bkB,this.radioButtonClick=new e.bkB,this.linkClick=new e.bkB,this.data={},this.data=Z.get(n.Vh,null)||{showSpinner:!1}}ngOnInit(){var Z,se;this.data.checkboxState=null!==(Z=null===(se=this.data.checkbox)||void 0===se?void 0:se.initialState)&&void 0!==Z&&Z}onPrimaryButtonClick(Z){this.primaryButtonClick.emit(Z)}onSecondaryButtonClick(Z){this.secondaryButtonClick.emit(Z)}onLinkClick(){this.linkClick.emit()}onRadioOptionChange(){this.radioButtonClick.emit()}onImageDragStart(){var Z;null===(Z=this.data.image)||void 0===Z||Z.dragStartCallback()}}return(b=w).\u0275fac=function(Z){return new(Z||b)(e.rXU(e.zZn),e.rXU(n.CP,8),e.rXU(B.eN,8),e.rXU(e.SKi))},b.\u0275cmp=e.VBU({type:b,selectors:[["nv-hig-dialog"]],inputs:{data:"data"},outputs:{primaryButtonClick:"primaryButtonClick",secondaryButtonClick:"secondaryButtonClick",radioButtonClick:"radioButtonClick",linkClick:"linkClick"},features:[e.Vt3],decls:25,vars:28,consts:[["buttonSpinner",""],["nvSpatialNavigationContainer","","nvTrapFocus","",3,"ngClass","forceEnable"],["fxLayout","row","fxLayoutAlign","stretch start",1,"hig-dialog-padding"],["class","hig-dialog-icon material-icons",4,"ngIf"],["class","hig-dialog-img",3,"src",4,"ngIf"],["fxLayout","column","fxLayoutGap","16px",1,"hig-dialog-content-container"],["fxLayout","column","fxLayoutAlign","space-between stretch",1,"hig-dialog-info-container"],["class","font-header6 header-text",3,"innerHTML",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center",1,"hig-dialog-spinner-container",3,"ngClass"],["class","hig-dialog-spinner",4,"ngIf"],["fxLayout","column"],["class","font-body2 body-text",3,"innerHTML",4,"ngIf"],["class","hig-dialog-link-text",4,"ngIf"],["class","font-body2 hig-dialog-error-text",4,"ngIf"],["class","hig-radio-container","nvSpatialNavigationGroup","","navigateAction","focus",3,"ngModel","ngModelChange","change",4,"ngIf"],["class","hig-description-list-container",4,"ngIf"],["class","hig-dialog-image-container","fxLayout","row","fxLayoutAlign","start start",4,"ngIf"],["fxLayout","column","fxLayoutGap","16px",1,"hig-dialog-actions-container"],["class","nv-hig",3,"ngModel","ngModelChange",4,"ngIf"],["fxLayoutAlign","end center","fxLayoutGap","8px",1,"hig-dialog-buttons-container"],["mat-button","","class","hig-dialog-secondary-button font-button2",3,"disabled","click",4,"ngIf"],["mat-button","",3,"ngClass","nvFocusRipple","disabled","nvAutoFocus","ngStyle","click",4,"ngIf"],[1,"hig-dialog-icon","material-icons"],[1,"hig-dialog-img",3,"src"],[1,"font-header6","header-text",3,"innerHTML"],[1,"hig-dialog-spinner"],["mode","indeterminate","diameter","48","color","accent"],[1,"font-body2","body-text",3,"innerHTML"],[1,"hig-dialog-link-text"],["target","_blank","class","font-body2-link",3,"href","shortUrl","click",4,"ngIf"],["cdkMonitorSubtreeFocus","","target","_blank","class","font-body2",3,"innerHTML","click",4,"ngIf"],["target","_blank",1,"font-body2-link",3,"click","href","shortUrl"],["cdkMonitorSubtreeFocus","","target","_blank",1,"font-body2",3,"click","innerHTML"],["class","font-body2-link",3,"routerLink","skipLocationChange",4,"ngIf"],["class","font-body2-link","role","link","tabindex","0",3,"click",4,"ngIf"],[1,"font-body2-link",3,"routerLink","skipLocationChange"],["role","link","tabindex","0",1,"font-body2-link",3,"click"],[1,"font-body2","hig-dialog-error-text"],["nvSpatialNavigationGroup","","navigateAction","focus",1,"hig-radio-container",3,"ngModelChange","change","ngModel"],["nvMatRadioSpatialNavigationFixup","",3,"value",4,"ngFor","ngForOf"],["nvMatRadioSpatialNavigationFixup","",3,"value"],[1,"hig-radio-label-container"],["class","hig-radio-option-image",3,"src",4,"ngIf"],["dir","auto",1,"hig-radio-option-label"],[1,"hig-radio-option-image",3,"src"],[1,"hig-description-list-container"],["class","hig-description-list-item",4,"ngFor","ngForOf"],[1,"hig-description-list-item"],["class","hig-description-icon font-body2",3,"svgIcon",4,"ngIf"],[1,"hig-description-text","font-body2"],[1,"hig-description-icon","font-body2",3,"svgIcon"],["fxLayout","row","fxLayoutAlign","start start",1,"hig-dialog-image-container"],["fxLayout","column",1,"hig-dialog-image-shortcut-container"],[1,"hig-dialog-image-shortcut-link",3,"click","dragstart","href"],[1,"hig-dialog-image",3,"src","alt"],[1,"hig-dialog-image-caption",3,"innerHTML"],[1,"hig-dialog-image-description","font-body2",3,"innerHTML"],[1,"nv-hig",3,"ngModelChange","ngModel"],[1,"font-body2"],["mat-button","",1,"hig-dialog-secondary-button","font-button2",3,"click","disabled"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["mat-button","",3,"click","ngClass","nvFocusRipple","disabled","nvAutoFocus","ngStyle"],[3,"ngStyle"],["fxLayoutAlign","center center","class","spinner-overlay",4,"ngIf"],["fxLayoutAlign","center center",1,"spinner-overlay"],["mode","indeterminate",3,"ngClass","diameter"]],template:function(Z,se){1&Z&&(e.j41(0,"div",1)(1,"div",2),e.DNE(2,A,2,1,"i",3)(3,l,1,1,"img",4),e.j41(4,"div",5)(5,"div",6),e.DNE(6,I,2,4,"div",7),e.j41(7,"div",8),e.DNE(8,S,2,0,"div",9),e.j41(9,"div",10),e.DNE(10,L,2,4,"div",11),e.k0s()(),e.DNE(11,u,3,2,"div",12)(12,o,4,3,"div",12)(13,_,3,4,"div",13)(14,a,2,2,"mat-radio-group",14)(15,N,2,1,"div",15)(16,z,10,14,"div",16),e.k0s(),e.j41(17,"div",17)(18,"div"),e.DNE(19,R,4,4,"mat-checkbox",18),e.k0s(),e.j41(20,"div",19),e.DNE(21,v,4,8,"button",20)(22,h,5,17,"button",21),e.k0s(),e.DNE(23,ne,1,1,"ng-template",null,0,e.C5r),e.k0s()()()()),2&Z&&(e.Y8G("ngClass",se.data.isTransparent?"hig-dialog-transparent":"hig-dialog")("forceEnable",se.data.trapFocus),e.R7$(),e.AVh("no-header-text",!se.data.headerText)("no-body-text",!se.data.bodyText)("no-spinner",!se.data.showSpinner)("has-icon",se.hasIcon),e.R7$(),e.Y8G("ngIf",se.data.icon),e.R7$(),e.Y8G("ngIf",se.data.image&&!se.data.image.isDraggableUrl),e.R7$(3),e.Y8G("ngIf",se.data.headerText),e.R7$(),e.Y8G("ngClass",e.l_i(25,P,se.data.bodyText?"hig-dialog-spinner-content-start":"hig-dialog-spinner-content-center",se.data.showSpinner?"hig-dialog-spinner-group":"")),e.R7$(),e.Y8G("ngIf",se.data.showSpinner),e.R7$(2),e.Y8G("ngIf",se.data.bodyText),e.R7$(),e.Y8G("ngIf",null==se.data.link?null:se.data.link.placeholders),e.R7$(),e.Y8G("ngIf",se.data.link&&!se.data.link.placeholders),e.R7$(),e.Y8G("ngIf",se.data.errorCodeText),e.R7$(),e.Y8G("ngIf",se.data.radioButtonOptions),e.R7$(),e.Y8G("ngIf",se.data.descriptionList),e.R7$(),e.Y8G("ngIf",null==se.data.image?null:se.data.image.isDraggableUrl),e.R7$(3),e.Y8G("ngIf",se.data.checkbox),e.R7$(2),e.Y8G("ngIf",se.data.secondaryButton),e.R7$(),e.Y8G("ngIf",se.data.primaryButton))},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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.hig-dialog[_ngcontent-%COMP%]{background-color:var(--hig-dialog-bg-color);padding:0;width:560px}.hig-dialog-transparent[_ngcontent-%COMP%]{background-color:transparent;padding:0;width:100%}.isLtr[_nghost-%COMP%] .hig-dialog-padding[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-dialog-padding[_ngcontent-%COMP%]{padding:20px 8px 8px 24px}html[dir=ltr][_ngcontent-%COMP%] .hig-dialog-padding[_ngcontent-%COMP%]{--dummy: 0;padding:20px 8px 8px 24px}.isRtl[_nghost-%COMP%] .hig-dialog-padding[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-dialog-padding[_ngcontent-%COMP%]{padding:20px 24px 8px 8px}html[dir=rtl][_ngcontent-%COMP%] .hig-dialog-padding[_ngcontent-%COMP%]{--dummy: 0;padding:20px 24px 8px 8px}.hig-dialog-img[_ngcontent-%COMP%]{min-width:32px}.isLtr[_nghost-%COMP%] .hig-dialog-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-dialog-icon[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .hig-dialog-img[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-dialog-img[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .hig-dialog-icon[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .hig-dialog-img[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .hig-dialog-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-dialog-icon[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .hig-dialog-img[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-dialog-img[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .hig-dialog-icon[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .hig-dialog-img[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}@media (max-width: 479px),(min-width: 480px) and (max-width: 719px){.hig-dialog[_ngcontent-%COMP%]{width:calc(100vw - 32px)}}.hig-dialog-content-container[_ngcontent-%COMP%]{width:100%}.isLtr[_nghost-%COMP%] .hig-dialog-content-container[_ngcontent-%COMP%] .hig-dialog-info-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-dialog-content-container[_ngcontent-%COMP%] .hig-dialog-info-container[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .hig-dialog-content-container[_ngcontent-%COMP%] .hig-dialog-info-container[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .hig-dialog-content-container[_ngcontent-%COMP%] .hig-dialog-info-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-dialog-content-container[_ngcontent-%COMP%] .hig-dialog-info-container[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .hig-dialog-content-container[_ngcontent-%COMP%] .hig-dialog-info-container[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .hig-dialog-spinner[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-dialog-spinner[_ngcontent-%COMP%]{padding-right:15px}html[dir=ltr][_ngcontent-%COMP%] .hig-dialog-spinner[_ngcontent-%COMP%]{--dummy2: 0;padding-right:15px}.isRtl[_nghost-%COMP%] .hig-dialog-spinner[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-dialog-spinner[_ngcontent-%COMP%]{padding-left:15px}html[dir=rtl][_ngcontent-%COMP%] .hig-dialog-spinner[_ngcontent-%COMP%]{--dummy2: 0;padding-left:15px}.hig-dialog-spinner-group[_ngcontent-%COMP%]{margin-top:10px}.hig-dialog-link-text[_ngcontent-%COMP%]{margin:10px 0 0}.isLtr[_nghost-%COMP%] .hig-dialog-buttons-container[_ngcontent-%COMP%] .hig-dialog-secondary-button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-dialog-buttons-container[_ngcontent-%COMP%] .hig-dialog-secondary-button[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .hig-dialog-buttons-container[_ngcontent-%COMP%] .hig-dialog-secondary-button[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .hig-dialog-buttons-container[_ngcontent-%COMP%] .hig-dialog-secondary-button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-dialog-buttons-container[_ngcontent-%COMP%] .hig-dialog-secondary-button[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .hig-dialog-buttons-container[_ngcontent-%COMP%] .hig-dialog-secondary-button[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.hig-dialog-buttons-container[_ngcontent-%COMP%] .spinner-overlay[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;z-index:1;background:transparent}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.hig-dialog-buttons-container[_ngcontent-%COMP%]{flex-flow:row wrap-reverse}}.hig-dialog-spinner-container[_ngcontent-%COMP%]{display:flex;align-items:center}.hig-dialog-spinner-content-start[_ngcontent-%COMP%]{margin-top:10px;place-content:start}.no-header-text.no-spinner[_ngcontent-%COMP%] .hig-dialog-spinner-content-start[_ngcontent-%COMP%]{margin-top:0}.hig-dialog-spinner-content-center[_ngcontent-%COMP%]{place-content:center}.no-body-text.has-icon[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%], .no-header-text.no-spinner.has-icon[_ngcontent-%COMP%] .body-text[_ngcontent-%COMP%]{display:flex;height:32px;align-items:center}.hig-dialog-icon[_ngcontent-%COMP%]{font-size:32px;color:#595959}.hig-radio-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-top:16px}.hig-radio-label-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center}.hig-radio-option-image[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .hig-radio-option-image[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-radio-option-image[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .hig-radio-option-image[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .hig-radio-option-image[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-radio-option-image[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .hig-radio-option-image[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.hig-radio-option-label[_ngcontent-%COMP%]{line-height:24px;font-size:16px}.hig-dialog-image-container[_ngcontent-%COMP%]{width:100%;padding-top:24px}.hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-container[_ngcontent-%COMP%]{width:154px}.isLtr[_nghost-%COMP%] .hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-container[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-container[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-link[_ngcontent-%COMP%]{position:relative;font-size:0;line-height:0;color:transparent;cursor:grab;cursor:-webkit-grab}.hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-shortcut-link[_ngcontent-%COMP%]:active{cursor:grabbing;cursor:-webkit-grabbing}.hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image[_ngcontent-%COMP%]{width:130px;height:130px}.hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-caption[_ngcontent-%COMP%]{text-align:center;margin:12px 0 0;color:#ffffffb3}.hig-dialog-image-container[_ngcontent-%COMP%] .hig-dialog-image-description[_ngcontent-%COMP%]{margin:0}.hig-dialog-error-text[_ngcontent-%COMP%]{margin:24px 0 0}.hig-description-list-container[_ngcontent-%COMP%]{margin-top:16px}.hig-description-list-container[_ngcontent-%COMP%] .hig-description-list-item[_ngcontent-%COMP%]{display:flex}.hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{width:14px;height:14px;margin-top:2px;flex-shrink:0}.isLtr[_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr][_ngcontent-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl[_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl][_ngcontent-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),w})()},77970:(xe,de,t)=>{"use strict";t.d(de,{w:()=>He});var e=t(58527),n=t(76706),E=t(26875),B=t(80583),P=t(36877),k=t(12532),U=t(892),r=t(4208),A=t(8619),l=t(62931),I=t(91384),S=t(14714),L=t(43615),s=t(97363),M=t(73318),u=t(81834),x=t(47766),p=t(94222),i=t(21684),o=t(61142),_=t(3457),f=t(28139),J=t(51394),a=t(47973),D=t(29370),te=t(31308),N=t(13458),z=t(2218),R=t(60990),v=t(40514),h=t(69225),W=t(97888),ne=t(54504),ee=t(65240);const b=["marqueeContainer"],w=["paginator"],F=["marqueeTileContainerList"],Z=["paginatorList"],se=(De,Re,K,ke,Ue,et,gt,vt,Mt)=>({"mobile-view":De,"tv-mode":Re,"phone-marquee":K,"paginator-navigation":ke,"full-bleed-item":Ue,"full-bleed-item-not-first-position":et,"no-bg-overhang":gt,"custom-bg":vt,"fallback-image-item":Mt}),Y=(De,Re,K,ke)=>({fadeInMarquee:De,"padded-image-container":Re,"full-bleed-image-container":K,hidden:ke}),q=De=>({"no-mask":De}),T=(De,Re)=>({fadeInMarqueeDescription:De,hidden:Re}),H=(De,Re)=>({"marquee-tile-background-gradient":De,"marquee-tile-background-fallback-gradient":Re}),y=De=>({"marquee-tile-data":De}),X=De=>({"no-bg-overhang":De});function c(De,Re){if(1&De){const K=e.RV6();e.j41(0,"img",20),e.bIt("load",function(){e.eBV(K);const Ue=e.XpG(3);return e.Njj(Ue.marqueeImageLoadComplete())})("error",function(){e.eBV(K);const Ue=e.XpG(3);return e.Njj(Ue.fallbackToPlaceholderImage())}),e.k0s()}if(2&De){const K=e.XpG(3);e.Y8G("src",K.marqueeImageUrl,e.B4B)("ngClass",e.eq3(2,q,K.imageMaskDisabled))}}function g(De,Re){if(1&De&&(e.j41(0,"div",18),e.DNE(1,c,1,4,"img",19),e.k0s()),2&De){const K=Re.$implicit,ke=e.XpG(2);e.Y8G("ngClass",e.ziG(2,Y,K.isVisible&&ke.enableAnimation,K.imageType===ke.tileOption.PaddedImage&&!ke.tileIsShowingFallbackImage,K.imageType===ke.tileOption.FullBleedImage||ke.tileIsShowingFallbackImage,ke.enableContentVisibilityOptimization&&!K.isVisible)),e.R7$(),e.Y8G("ngIf",K.isVisible)}}function d(De,Re){if(1&De&&(e.j41(0,"div",22),e.nrm(1,"div",23),e.j41(2,"div",24),e.EFF(3),e.k0s()()),2&De){const K=e.XpG().$implicit;e.R7$(3),e.JRh(K.app.promoTag)}}function C(De,Re){if(1&De&&(e.j41(0,"div"),e.DNE(1,d,4,1,"div",21),e.k0s()),2&De){const K=Re.$implicit;e.R7$(),e.Y8G("ngIf",K.isVisible&&K.app.promoTag)}}function Q(De,Re){if(1&De&&e.nrm(0,"div",18),2&De){const K=e.XpG(5);e.Y8G("ngClass",e.l_i(1,H,K.hasMarqueeScrim,!K.hasMarqueeScrim))}}function j(De,Re){1&De&&e.nrm(0,"div",33)}function le(De,Re){1&De&&e.nrm(0,"div",34)}function ge(De,Re){1&De&&e.nrm(0,"div",35)}function ie(De,Re){if(1&De&&(e.j41(0,"div",28),e.DNE(1,Q,1,4,"div",29)(2,j,1,0,"div",30)(3,le,1,0,"div",31)(4,ge,1,0,"div",32),e.k0s()),2&De){const K=e.XpG().$implicit;e.R7$(),e.Y8G("ngIf",K.gradients.background&&!K.isShowingFallbackImage),e.R7$(),e.Y8G("ngIf",K.gradients.leftEdge&&!K.isShowingFallbackImage),e.R7$(),e.Y8G("ngIf",K.gradients.leftMerge&&!K.isShowingFallbackImage),e.R7$(),e.Y8G("ngIf",K.gradients.bottomEdge)}}function ce(De,Re){if(1&De&&(e.j41(0,"div",26),e.DNE(1,ie,5,4,"div",27),e.k0s()),2&De){const K=Re.$implicit,ke=e.XpG(3);e.Y8G("ngClass",e.l_i(2,T,K.isVisible&&ke.enableAnimation,ke.enableContentVisibilityOptimization&&!K.isVisible)),e.R7$(),e.Y8G("ngIf",K.isVisible)}}function G(De,Re){if(1&De&&(e.qex(0),e.DNE(1,ce,2,5,"div",25),e.bVm()),2&De){const K=e.XpG(2);e.R7$(),e.Y8G("ngForOf",K.marqueeData)}}function ue(De,Re){if(1&De&&(e.j41(0,"div",46),e.EFF(1),e.k0s()),2&De){const K=e.XpG(5);e.xc7("color",K.fontColor),e.R7$(),e.SpI(" ",K.appTitle," ")}}function ae(De,Re){if(1&De){const K=e.RV6();e.j41(0,"img",47),e.bIt("error",function(){e.eBV(K);const Ue=e.XpG(5);return e.Njj(Ue.fallbackToAppLogo())}),e.k0s()}if(2&De){const K=e.XpG(5);e.Y8G("src",K.appLogoUrl,e.B4B)}}function Ce(De,Re){if(1&De&&(e.j41(0,"div",48),e.EFF(1),e.k0s()),2&De){const K=e.XpG(5);e.R7$(),e.SpI(" ",K.appSubtitle," ")}}function Se(De,Re){if(1&De&&(e.j41(0,"div",49),e.EFF(1),e.k0s()),2&De){const K=e.XpG(3).$implicit;e.R7$(),e.SpI(" ",K.app.additionalSubtitle," ")}}function Ne(De,Re){if(1&De){const K=e.RV6();e.j41(0,"div",39),e.DNE(1,ue,2,3,"div",40)(2,ae,1,1,"img",41),e.j41(3,"div",42),e.DNE(4,Ce,2,1,"div",43)(5,Se,2,1,"div",44),e.k0s(),e.j41(6,"button",45),e.bIt("click",function(Ue){e.eBV(K);const et=e.XpG(2).$implicit,gt=e.XpG(2);return e.Njj(gt.onViewAppDetails(Ue,et.app))}),e.EFF(7),e.nI1(8,"translate"),e.k0s()()}if(2&De){const K=e.XpG(2).$implicit,ke=e.XpG(2);e.R7$(),e.Y8G("ngIf",!ke.phoneMarqueeEnabled&&ke.appTitle),e.R7$(),e.Y8G("ngIf",!ke.appTitle),e.R7$(),e.xc7("color",ke.fontColor),e.R7$(),e.Y8G("ngIf",ke.appSubtitle),e.R7$(),e.Y8G("ngIf",K.app.additionalSubtitle),e.R7$(2),e.SpI(" ",e.bMT(8,7,"common.viewDetails")," ")}}function we(De,Re){if(1&De){const K=e.RV6();e.j41(0,"button",55),e.bIt("click",function(Ue){e.eBV(K);const et=e.XpG(3).$implicit,gt=e.XpG(2);return e.Njj(gt.onActionClicked(Ue,et.app.action,gt.position,et.app.id))}),e.EFF(1),e.k0s()}if(2&De){const K=e.XpG(3).$implicit;e.R7$(),e.SpI(" ",K.app.action.label," ")}}function ve(De,Re){if(1&De&&(e.j41(0,"div",56),e.EFF(1),e.k0s()),2&De){const K=e.XpG(3).$implicit;e.R7$(),e.SpI(" ",K.app.action.infoText," ")}}function Pe(De,Re){if(1&De&&(e.j41(0,"div",50)(1,"div",51),e.EFF(2),e.k0s(),e.nrm(3,"div",52),e.DNE(4,we,2,1,"button",53)(5,ve,2,1,"div",54),e.k0s()),2&De){const K=e.XpG(2).$implicit;e.R7$(),e.Y8G("isMultiLineEllipsis",!0),e.R7$(),e.SpI(" ",K.app.title," "),e.R7$(),e.Y8G("isMultiLineEllipsis",!0)("innerHTML",null==K.app?null:K.app.body,e.npT),e.R7$(),e.Y8G("ngIf",(null==K.app||null==K.app.action||null==K.app.action.label?null:K.app.action.label.length)>0),e.R7$(),e.Y8G("ngIf",!(null==K.app.action||!K.app.action.infoText))}}function Oe(De,Re){if(1&De&&(e.j41(0,"div",18),e.DNE(1,Ne,9,9,"div",37)(2,Pe,6,6,"div",38),e.k0s()),2&De){const K=e.XpG().$implicit,ke=e.XpG(2);e.Y8G("ngClass",e.eq3(3,y,K.contentOverlayType!==ke.tileOption.FullBleedImage)),e.R7$(),e.Y8G("ngIf",K.contentOverlayType!==ke.tileOption.FullBleedImage),e.R7$(),e.Y8G("ngIf",K.contentOverlayType===ke.tileOption.FullBleedImage)}}function Be(De,Re){if(1&De&&(e.j41(0,"div",36,1),e.DNE(2,Oe,3,5,"div",29),e.k0s()),2&De){const K=Re.$implicit,ke=e.XpG(2);e.Y8G("ngClass",e.l_i(2,T,K.isVisible&&ke.enableAnimation,ke.enableContentVisibilityOptimization&&!K.isVisible)),e.R7$(2),e.Y8G("ngIf",K.isVisible)}}function tt(De,Re){if(1&De){const K=e.RV6();e.j41(0,"button",57,2),e.bIt("click",function(){e.eBV(K);const Ue=e.XpG(2);return e.Njj(Ue.prevSlide())}),e.nrm(2,"mat-icon",58),e.k0s()}}function Ee(De,Re){if(1&De){const K=e.RV6();e.j41(0,"button",59,3),e.bIt("click",function(){e.eBV(K);const Ue=e.XpG(2);return e.Njj(Ue.nextSlide())}),e.nrm(2,"mat-icon",60),e.k0s()}}function ot(De,Re){if(1&De){const K=e.RV6();e.j41(0,"li",63,5),e.bIt("click",function(){const Ue=e.eBV(K).$implicit,et=e.XpG(3);return e.Njj(et.goToSlide(Ue))})("focusin",function(){const Ue=e.eBV(K).$implicit,et=e.XpG(3);return e.Njj(et.goToSlide(Ue))}),e.k0s()}if(2&De){const K=Re.$implicit,ke=e.XpG(3);e.AVh("active",K===ke.position),e.BMQ("tabindex",ke.enablePaginatorNavigation?0:null)}}function We(De,Re){if(1&De&&(e.j41(0,"ul",61,4),e.DNE(2,ot,2,3,"li",62),e.k0s()),2&De){const K=e.XpG(2);e.BMQ("tabindex",K.enablePaginatorNavigation?0:null),e.R7$(2),e.Y8G("ngForOf",K.slideAccessor)}}function Qe(De,Re){1&De&&e.nrm(0,"div",64)}function Fe(De,Re){if(1&De){const K=e.RV6();e.j41(0,"div",9,0),e.bIt("swipeleft",function(){e.eBV(K);const Ue=e.XpG();return e.Njj(Ue.swipeLeft())})("swiperight",function(){e.eBV(K);const Ue=e.XpG();return e.Njj(Ue.swipeRight())})("click",function(){e.eBV(K);const Ue=e.XpG();return e.Njj(Ue.cancelAutoSlide())}),e.DNE(2,g,2,7,"div",10)(3,C,2,1,"div",11)(4,G,2,1,"ng-container",12)(5,Be,3,5,"div",13)(6,tt,3,0,"button",14)(7,Ee,3,0,"button",15)(8,We,3,2,"ul",16)(9,Qe,1,0,"div",17),e.k0s()}if(2&De){const K=e.XpG();e.xc7("--scrim-color",K.scrimColor)("--dismiss-ratio",K.dismissRatio),e.Y8G("ngClass",e.zJS(14,se,[K.mobileMode,K.tvMode,K.phoneMarqueeEnabled,K.enablePaginatorNavigation,K.isTileTypeFullBleedImage,K.isTileTypeFullBleedImageNotAtFirst,!1===K.backgroundOverhangEnabled,K.containerCustomBackground,K.tileIsShowingFallbackImage])),e.BMQ("tabindex",K.enablePaginatorNavigation?0:null),e.R7$(2),e.Y8G("ngForOf",K.marqueeData),e.R7$(),e.Y8G("ngForOf",K.marqueeData),e.R7$(),e.Y8G("ngIf",!K.phoneMarqueeEnabled),e.R7$(),e.Y8G("ngForOf",K.marqueeData),e.R7$(),e.Y8G("ngIf",0!==K.position),e.R7$(),e.Y8G("ngIf",K.position!==K.marqueeData.length-1),e.R7$(),e.Y8G("ngIf",(null==K.marqueeData?null:K.marqueeData.length)>1),e.R7$(),e.Y8G("ngIf",K.useMarqueeScrim)}}function Xe(De,Re){if(1&De&&(e.j41(0,"div",65),e.nrm(1,"nv-hig-progress-circular"),e.k0s()),2&De){const K=e.XpG();e.Y8G("ngClass",e.eq3(1,X,!1===K.backgroundOverhangEnabled))}}function _e(De,Re){if(1&De&&(e.j41(0,"div",66)(1,"span",67),e.EFF(2),e.nI1(3,"translate"),e.nrm(4,"br"),e.EFF(5),e.nI1(6,"translate"),e.k0s()()),2&De){const K=e.XpG();e.Y8G("ngClass",e.eq3(7,X,!1===K.backgroundOverhangEnabled)),e.R7$(2),e.SpI("",e.bMT(3,3,"common.genericLoadError")," "),e.R7$(3),e.JRh(e.bMT(6,5,"common.connectionError"))}}let He=(()=>{var De;class Re{set tileData(ke){this._tileData=ke,this.refreshMarquee(!0)}get tileData(){return this._tileData}set imageOverrides(ke){(0,E.isEqual)(this._imageOverrides,ke)||(this._imageOverrides=ke,this.updateImageOverrides())}get imageOverrides(){return this._imageOverrides}get elementRef(){return this._elementRef}get tileOption(){return s.t}get hasMarqueeScrim(){return this._hasMarqueeScrim}set hasMarqueeScrim(ke){this._hasMarqueeScrim=ke}get hasFocus(){return this.marqueeContainer.nativeElement.contains(this.focusManager.currentFocusedElement)}get hasFocusable(){return!!this.focusManager.getInitialFocusable(this.marqueeContainer.nativeElement)}constructor(ke,Ue,et,gt,vt,Mt,Rt,Ut,ct,Me,bt){this.imageFormatService=et,this.networkStatusService=gt,this.localeService=vt,this.ngZone=Mt,this.breakpointObserver=Rt,this.spatialNavigationService=Ut,this.focusManager=ct,this.changeDetector=Me,this.imageFetcher=bt,this.useMarqueeScrim=!1,this.phoneMarqueeEnabled=!1,this.mobileMode=!1,this.tvMode=!1,this.dismissRatio=0,this.enablePaginatorNavigation=!1,this.enableAnimation=!0,this.enableContentVisibilityOptimization=!1,this.actionClicked=new e.bkB,this.viewAppDetails=new e.bkB,this.imageLoadFailure=new e.bkB,this.marqueeScrolled=new e.bkB,this.paginatorRepositioned=new e.bkB,this.initialized=new e.bkB,this.beforeChangeSlide=new e.bkB,this.marqueeAutoScrollCancelled=new e.bkB,this.slideAccessor=[],this.position=0,this.busyLoadingMarquee=!0,this.errorVisible=!1,this.isTileTypeFullBleedImage=!1,this.isTileTypeFullBleedImageNotAtFirst=!1,this.tileIsShowingFallbackImage=!1,this.globalFallbackImage=s.X,this.globalFallbackImageType=s.t.FullBleedImage,this.formatImages=!0,this.backgroundOverhangEnabled=!0,this.imageMaskDisabled=!1,this.containerCustomBackground=!1,this.contentOverlayType=s.t.FullBleedImage,this.isHandsetPortrait=!1,this.ismarketingTileReloaded=!1,this.autoScrollInterval=5e3,this.autoScroll=!0,this._elementRef=ke,this.logger=Ue.getLogger("hig/MarqueeComponent"),this.destroy$=new B.B7}ngOnInit(){var ke,Ue,et,gt,vt;this.gradientOverrides&&(this.bottomEdgeGradientEnabled=null!==(ke=this.gradientOverrides.bottomEdge)&&void 0!==ke?ke:this.bottomEdgeGradientEnabled,this.leftEdgeGradientEnabled=null!==(Ue=this.gradientOverrides.leftEdge)&&void 0!==Ue?Ue:this.leftEdgeGradientEnabled,this.leftMergeGradientEnabled=null!==(et=this.gradientOverrides.leftMerge)&&void 0!==et?et:this.leftMergeGradientEnabled,this.backgroundGradientEnabled=null!==(gt=this.gradientOverrides.background)&&void 0!==gt?gt:this.backgroundGradientEnabled,this.backgroundOverhangEnabled=null!==(vt=this.gradientOverrides.backgroundOverhang)&&void 0!==vt?vt:this.backgroundOverhangEnabled),this.constructMarquee(),this.switchableImageConfig&&(this.breakpointObserver.observe(`(min-width: ${this.switchableImageConfig.breakpointPx}px)`).pipe((0,r.Q)(this.destroy$)).subscribe(Mt=>{Mt.matches&&(this.overrideImageType(this.switchableImageConfig.alternate),this.changeDetector.detectChanges())}),this.breakpointObserver.observe(`(max-width: ${this.switchableImageConfig.breakpointPx-1}px)`).pipe((0,r.Q)(this.destroy$)).subscribe(Mt=>{Mt.matches&&(this.overrideImageType(this.switchableImageConfig.default),this.changeDetector.detectChanges())})),this.networkStatusService.onlineStatusChanged.pipe((0,A.p)(Mt=>!0===Mt)).pipe((0,r.Q)(this.destroy$)).subscribe(()=>{this.refreshMarquee(),this.changeDetector.detectChanges()}),this.phoneMarqueeEnabled&&(this.breakpointObserver.observe(n.Rp.HandsetPortrait).pipe((0,r.Q)(this.destroy$)).subscribe(Mt=>{this.isHandsetPortrait=Mt.matches,this.updateMarqueeImageUrl(this.tileInFocus.app),this.notifyPaginatorRepositioned(),this.changeDetector.detectChanges()}),u._4.onResize(this.elementRef.nativeElement).pipe((0,l.B)(200),(0,r.Q)(this.destroy$)).subscribe(Mt=>{this.notifyPaginatorRepositioned()}))}updateImageOverrides(){var ke,Ue,et,gt,vt,Mt,Rt,Ut,ct,Me,bt;if(this.globalFallbackImage=null!==(ke=null===(Ue=this.imageOverrides)||void 0===Ue?void 0:Ue.globalFallbackImageUrl)&&void 0!==ke?ke:this.globalFallbackImage,this.globalFallbackImageType=null!==(et=null===(gt=this.imageOverrides)||void 0===gt?void 0:gt.globalFallbackImageType)&&void 0!==et?et:this.globalFallbackImageType,this.formatImages=null!==(vt=null===(Mt=this.imageOverrides)||void 0===Mt?void 0:Mt.formatImages)&&void 0!==vt?vt:this.formatImages,this.imageMaskDisabled=null!==(Rt=null===(Ut=this.imageOverrides)||void 0===Ut?void 0:Ut.disableMask)&&void 0!==Rt?Rt:this.imageMaskDisabled,this.containerCustomBackground=null!==(ct=null===(Me=this.imageOverrides)||void 0===Me?void 0:Me.customBackground)&&void 0!==ct?ct:this.containerCustomBackground,this.switchableImageConfig=null===(bt=this.imageOverrides)||void 0===bt?void 0:bt.switchableImageConfig,!(0,E.isEmpty)(this.marqueeData)&&((0,E.isNil)(this.tileData)||(0,E.isEmpty)(this.tileData))){const kt={fallbackImage:this.globalFallbackImage,type:this.globalFallbackImageType};this.marqueeData=[{...this.marqueeData[0],app:kt}],this.updateImageTypeByIndex(0,kt.type,this.globalFallbackImageType!==s.t.PaddedImage)}}overrideImageType(ke){var Ue;this.marqueeData=null===(Ue=this.marqueeData)||void 0===Ue?void 0:Ue.map(et=>(et.imageType=ke,et)),this.updateImageTypeByIndex(this.position,ke,this.marqueeData[this.position].isShowingFallbackImage)}ngAfterViewInit(){this.spatialNavigationService.enabled&&this.enablePaginatorNavigation&&this.ngZone.runOutsideAngular(()=>{var ke,Ue;(0,P.R)(null===(ke=this.marqueeContainer)||void 0===ke?void 0:ke.nativeElement,"navbeforefocus").pipe((0,r.Q)(this.destroy$)).subscribe(this.onContainerNavBeforeFocus.bind(this)),(0,P.R)(null===(Ue=this.marqueeContainer)||void 0===Ue?void 0:Ue.nativeElement,"navnotarget").pipe((0,A.p)(et=>{var gt;return et.target===(null===(gt=this.marqueeContainer)||void 0===gt?void 0:gt.nativeElement)&&(0,M.o3)(et.detail.dir)}),(0,r.Q)(this.destroy$)).subscribe(this.navigateMarqueeSlide.bind(this))}),this.initialized.emit()}onContainerNavBeforeFocus(ke){this.hasFocus?this.navigateWithinMarquee(ke):this.navigateIntoMarquee(ke)}navigateIntoMarquee(ke){var Ue;let et;switch(ke.detail.dir){case"up":et=null===(Ue=this.paginatorList.get(this.position))||void 0===Ue?void 0:Ue.nativeElement;break;case"down":case"left":case"right":et=this.focusManager.getFirstFocusableChild(this.marqueeTileContainerList.get(this.position).nativeElement)}var gt;et||(et=null===(gt=this.paginatorList.get(this.position))||void 0===gt?void 0:gt.nativeElement),et&&(ke.preventDefault(),this.focusManager.focusViaLastOrigin(et))}navigateWithinMarquee(ke){var Ue;const et=this.marqueeTileContainerList.get(this.position).nativeElement.contains(this.focusManager.currentFocusedElement),gt=this.paginator.nativeElement.contains(ke.target),vt=this.marqueeTileContainerList.get(this.position).nativeElement.contains(ke.target);if(et&>&&(0,M.o3)(ke.detail.dir))this.navigateMarqueeSlide(ke),ke.preventDefault();else if(ke.target===(null===(Ue=this.paginator)||void 0===Ue?void 0:Ue.nativeElement)){var Mt;ke.preventDefault(),this.focusManager.focusViaLastOrigin(null===(Mt=this.paginatorList.get(this.position))||void 0===Mt?void 0:Mt.nativeElement)}else if(vt&&(0,M.o3)(ke.detail.dir)){ke.preventDefault();const Rt=this.spatialNavigationService.findNextTarget(ke.target,ke.detail.dir);Rt&&!this.marqueeContainer.nativeElement.contains(Rt)&&this.focusManager.navigateTo(Rt,ke.detail.dir)}}navigateMarqueeSlide(ke){let Ue=!1;Ue=(this.localeService.isRTLLayoutEnabled?"left"===ke.detail.dir:"right"===ke.detail.dir)?this.nextSlide():this.prevSlide(),Ue&&(ke.preventDefault(),this.ngZone.run(()=>this.changeDetector.detectChanges()))}notifyPaginatorRepositioned(){setTimeout(()=>{var ke,Ue;const et=null===(ke=this.marqueeContainer)||void 0===ke?void 0:ke.nativeElement.getBoundingClientRect().top;let gt,vt;var Mt,Rt;void 0!==(null===(Ue=this.paginator)||void 0===Ue?void 0:Ue.nativeElement)?(gt=null===(Mt=this.paginator)||void 0===Mt?void 0:Mt.nativeElement.getBoundingClientRect().bottom,vt=parseInt(getComputedStyle(null===(Rt=this.paginator)||void 0===Rt?void 0:Rt.nativeElement).getPropertyValue("margin-bottom"),10)):(gt=this.marqueeTileContainerList.get(this.position).nativeElement.getBoundingClientRect().bottom,vt=32),void 0!==gt&&void 0!==et&&this.paginatorRepositioned.next(Math.floor(gt+vt-et))})}constructMarquee(){this.marqueeData=[],this.slideAccessor=[];const ke=(0,E.isNil)(this.tileData)||(0,E.isEmpty)(this.tileData);if(ke){const Ue={heroImage:this.globalFallbackImage,marqueeHeroImage:this.globalFallbackImage,type:this.globalFallbackImageType};this.marqueeData.push({isVisible:!1,app:Ue,gradients:this.getGradientConfig(Ue),contentOverlayType:this.getContentOverlayType(Ue),imageType:Ue.type,isShowingFallbackImage:this.globalFallbackImageType!==s.t.PaddedImage}),this.updateImageTypeByIndex(0,Ue.type,this.marqueeData[0].isShowingFallbackImage)}else this.tileData.forEach((Ue,et)=>{this.marqueeData.push({isVisible:!1,app:Ue,gradients:this.getGradientConfig(Ue),contentOverlayType:this.getContentOverlayType(Ue),imageType:Ue.type,isShowingFallbackImage:ke}),this.slideAccessor.push(et)});this.logger.info("Marquee Initialization"),this.errorVisible=!1,this.marqueeInitialization(),this.busyLoadingMarquee=!1,this.ismarketingTileReloaded=!0}getGradientConfig(ke){var Ue,et,gt,vt,Mt;return{bottomEdge:null!==(Ue=this.bottomEdgeGradientEnabled)&&void 0!==Ue?Ue:ke.type===s.t.FullBleedImage,leftEdge:null!==(et=this.leftEdgeGradientEnabled)&&void 0!==et?et:ke.type===s.t.PaddedImage,leftMerge:null!==(gt=this.leftMergeGradientEnabled)&&void 0!==gt&>,background:null!==(vt=this.backgroundGradientEnabled)&&void 0!==vt?vt:ke.type===s.t.PaddedImage,backgroundOverhang:null===(Mt=this.backgroundOverhangEnabled)||void 0===Mt||Mt}}getContentOverlayType(ke){return this.overlayOverrides?this.overlayOverrides.contentOverlayType:ke.type}updateMetaData(ke){const Ue=ke.app;this.appLogoUrl=Ue.logoImage?this.formatImages?this.imageFormatService.formatImageServiceUrl(Ue.logoImage):Ue.logoImage:null,this.updateMarqueeImageUrl(Ue)}updateMarqueeImageUrl(ke){let Ue,et;if(this.phoneMarqueeEnabled&&this.isHandsetPortrait?(Ue={w:960},et=ke.heroImage):(Ue={w:1920},et=ke.marqueeHeroImage),et){const gt=this.formatImages?this.imageFormatService.formatImageServiceUrl(et,Ue):et;this.imageFetcher?this.fetchImageAndColors(ke,gt):(this.isTileTypeFullBleedImage&&(this.scrimColor="0, 0, 0",this.hasMarqueeScrim=!0),this.marqueeImageUrl=gt,this.changeDetector.detectChanges())}else this.marqueeImageUrl=null,this.changeDetector.detectChanges()}fetchImageAndColors(ke,Ue){var et;this.logger.info("image fetch started "+Ue);let gt,vt=null;null===(et=this.imageFetchSubsciption)||void 0===et||et.unsubscribe(),this.imageFetchSubsciption=this.imageFetcher.fetchImage(Ue).pipe((0,I.M)(Mt=>{var Rt;if(vt=Mt.imageUrl,null!==(Rt=Mt.metadata)&&void 0!==Rt&&Rt.colors){const Ut=Mt.metadata.colors;let ct;ct=this.phoneMarqueeEnabled&&this.isHandsetPortrait&&Ut.bottom?Ut.bottom:this.localeService.isRTLLayoutEnabled&&Ut.right||Ut.left,ct&&(gt=(0,u.iN)(ct))}}),(0,S.W)(Mt=>(this.logger.error("Failed to fetch image:",Mt),k.w)),(0,L.j)(()=>{var Mt;ke==this.tileInFocus.app&&(this.tileInFocus.isShowingFallbackImage=!1,this.updateImageTypeByIndex(this.position,null===(Mt=this.tileInFocus)||void 0===Mt?void 0:Mt.imageType,this.tileInFocus.isShowingFallbackImage),this.marqueeImageUrl=vt,gt=gt||{r:0,g:0,b:0},this.scrimColor=`${gt.r}, ${gt.g}, ${gt.b}`,this.fontColor=(0,u.VP)(gt),this.hasMarqueeScrim=!0,this.changeDetector.detectChanges(),this.logger.info("image loaded "+this.marqueeImageUrl))})).subscribe()}marqueeInitialization(){this.position=0,this.marqueeData[this.position]&&(this.marqueeData[this.position].isVisible=!0),this.setSlideMetaData(0),this.initAutoScroll()}setSlideMetaData(ke){var Ue;this.marqueeData[ke]&&(this.tileInFocus=this.marqueeData[ke],this.updateImageTypeByIndex(ke,null===(Ue=this.tileInFocus)||void 0===Ue?void 0:Ue.imageType,this.tileInFocus.isShowingFallbackImage),this.resetData(),this.updateMetaData(this.tileInFocus),this.isTileTypeFullBleedImage||(this.appSubtitle=this.tileInFocus.app.subtitle))}updateImageTypeByIndex(ke,Ue,et){this.tileIsShowingFallbackImage=et,this.isTileTypeFullBleedImage=Ue===s.t.FullBleedImage,this.isTileTypeFullBleedImageNotAtFirst=this.isTileTypeFullBleedImage&&ke>0}resetData(){this.marqueeImageUrl=null,this.appLogoUrl=null,this.appTitle=null,this.hasMarqueeScrim=!1,this.scrimColor=null,this.fontColor="white",this.appSubtitle=null}initAutoScroll(){var ke;this.autoScroll&&(this.marqueeIterator=(0,U.Y)(this.autoScrollInterval),null===(ke=this.marqueeIteratorSubscription)||void 0===ke||ke.unsubscribe(),this.marqueeIteratorSubscription=this.marqueeIterator.pipe((0,A.p)(()=>{var Ue,et;return(null===(Ue=document)||void 0===Ue?void 0:Ue.hasFocus())&&0==this.dismissRatio&&(null===(et=this.paginator)||void 0===et?void 0:et.nativeElement.getBoundingClientRect().bottom)>0})).subscribe(()=>this.autoScrollNext()))}goToSlide(ke){this.position!==ke&&(this.changeSlide(ke),this.pause(),this.marqueeScrolled.emit({position:this.position,autoScrolled:this.autoScroll}))}changeSlide(ke){this.beforeChangeSlide.emit(ke);const Ue=this.marqueeContainer.nativeElement.contains(this.focusManager.currentFocusedElement),et=this.marqueeTileContainerList.get(this.position).nativeElement.contains(this.focusManager.currentFocusedElement);this.marqueeData.map((vt,Mt)=>{vt.isVisible=Mt===ke});const gt=this.position;if(this.position=ke,this.setSlideMetaData(this.position),this.spatialNavigationService.enabled&&this.enablePaginatorNavigation&&Ue){let vt=this.position-gt;vt*=this.localeService.isRTLLayoutEnabled?-1:1;const Mt=vt>0?u.F0.ArrowRight:u.F0.ArrowLeft;this.ngZone.runOutsideAngular(()=>{const Rt=(0,u.Ms)(window,Mt).pipe((0,r.Q)(this.destroy$)).subscribe();setTimeout(()=>{var Ut;const ct=this.focusManager.getFirstFocusableChild(this.marqueeTileContainerList.get(this.position).nativeElement),Me=et&&ct?ct:null===(Ut=this.paginatorList.get(this.position))||void 0===Ut?void 0:Ut.nativeElement;this.focusManager.focusViaLastOrigin(Me),Rt.closed||Rt.unsubscribe()})})}}prevSlide(){return this.position>0&&(this.goToSlide(this.position-1),!0)}nextSlide(){return this.position{"use strict";t.d(de,{X:()=>n,t:()=>e});var e=function(E){return E.FullBleedImage="FullBleedImage",E.PaddedImage="PaddedImage",E}(e||{});const n="assets/img/Marquee_Hero_Image_Fallback.png"},13458:(xe,de,t)=>{"use strict";t.d(de,{o:()=>B});var e=t(43281),n=t(58527),E=t(3457),O=t(99204);let B=(()=>{var P;class k{constructor(r){this.viewRef=r,this.isTv=!1,this.mode=e.mt.Indeterminate,this.value=0,this.diameter=this.isTv?e._U:e.b5}}return(P=k).\u0275fac=function(r){return new(r||P)(n.rXU(n.c1b))},P.\u0275cmp=n.VBU({type:P,selectors:[["nv-hig-progress-circular"]],inputs:{isTv:"isTv",mode:"mode",value:"value",diameter:"diameter"},decls:2,vars:3,consts:[["fxLayoutAlign","center center",1,"common-overlay"],[1,"mat-accent",3,"mode","diameter","value"]],template:function(r,A){1&r&&(n.j41(0,"div",0),n.nrm(1,"mat-progress-spinner",1),n.k0s()),2&r&&(n.R7$(),n.Y8G("mode",A.mode)("diameter",A.diameter)("value",A.value))},dependencies:[E.sA,O.LG],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;right:0;left:0;display:flex;top:0;bottom:0;z-index:1;background-color:#000000bf}.common-overlay.light-background[_ngcontent-%COMP%]{background-color:#00000080}.common-overlay.no-background[_ngcontent-%COMP%]{background-color:transparent}"]}),k})()},43281:(xe,de,t)=>{"use strict";t.d(de,{_U:()=>n,b5:()=>e,mt:()=>E});const e=16,n=2*e;var E=function(O){return O.Indeterminate="indeterminate",O.Determininate="determinate",O}(E||{})},60688:(xe,de,t)=>{"use strict";t.d(de,{N:()=>L});var e=t(58527),n=t(40262),E=t(47766),O=t(61142),B=t(3457),P=t(47973),k=t(29370),U=t(31308),r=t(65240);const A=["button"],l=["container"],I=["items"];function S(s,M){if(1&s&&(e.j41(0,"div",10),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&s){const u=M.$implicit,x=e.XpG();e.AVh("disabled-opacity",x.disabled),e.R7$(),e.SpI(" ",e.bMT(2,3,u)," ")}}let L=(()=>{var s;class M{set input(x){this._input=x,this.displayList=x.slice()}get input(){return this._input}set initialState(x){this._initialState=x,this.initialized&&x!==this.selectedIndex&&(this.ngOnInit(),this.ngAfterViewInit())}get initialState(){return this._initialState}constructor(x,p){this.animationBuilder=x,this.disabled=!1,this._initialState=0,this.continuous=!0,this.selectionChanged=new e.bkB,this.displayIndex=0,this.selectedIndex=-1,this.initialized=!1,this.isRTLLayout=!1,this.isRTLLayout=p.isRTLLayoutEnabled}moveToLeft(){if(!(!1===this.continuous&&0===this.selectedIndex||this.disabled||0===this.input.length)){if(0===this.displayIndex){const x=this.displayList.pop();this.displayList.unshift(x),this.displayIndex=1,this.animateTo(this.displayIndex,!0)}this.displayIndex--,this.selectedIndex=(this.input.length+this.selectedIndex-1)%this.input.length,this.selectionChanged.emit(this.selectedIndex),this.animateTo(this.displayIndex,!1)}}moveToRight(){if(!(!1===this.continuous&&this.selectedIndex===this.input.length-1||this.disabled||0===this.input.length)){if(this.displayIndex+1===this.displayList.length){const x=this.displayList.shift();this.displayList.push(x),this.displayIndex--,this.animateTo(this.displayIndex,!0)}this.displayIndex++,this.selectedIndex=(this.selectedIndex+1)%this.input.length,this.selectionChanged.emit(this.selectedIndex),this.animateTo(this.displayIndex,!1)}}goLeft(x){null==x||x.preventDefault(),this.isRTLLayout?this.moveToRight():this.moveToLeft()}goRight(x){null==x||x.preventDefault(),this.isRTLLayout?this.moveToLeft():this.moveToRight()}ngOnChanges(x){for(const p of Object.keys(x))"input"===p&&(x[p].currentValue.length-1{"use strict";t.d(de,{_:()=>Y});var e=t(58527),n=t(66253),E=t(80583),O=t(26513),B=t(36877),P=t(4208),k=t(8619),U=t(65706),r=t(40262);const A={[n.Y.Init]:{expand:!1,text:!1,shadow:!1,icon:!1},[n.Y.Expanding]:{expand:!0,text:!0,shadow:!0,icon:!0},[n.Y.Expanded]:{expand:!0,text:!0,shadow:!0,icon:!0},[n.Y.Collapsing]:{expand:!0,text:!1,shadow:!1,icon:!1},[n.Y.Collapsed]:{expand:!1,text:!1,shadow:!1,icon:!1}};var l=t(47766),I=t(94222),S=t(21684),L=t(68868),s=t(61142),M=t(47973),u=t(29370),x=t(2218),p=t(54504),i=t(65240);const o=["higSidebarContainer"],_=["higSidebarHighlight"];function f(q,T){if(1&q){const H=e.RV6();e.j41(0,"div",8),e.bIt("@higSidebarOpacityAnimation.done",function(X){e.eBV(H);const c=e.XpG();return e.Njj(c.onAnimationDone(X))}),e.k0s()}if(2&q){const H=e.XpG();e.Y8G("@.disabled",!H.expandable)("@higSidebarOpacityAnimation",H.sidebarAnimationState)}}function J(q,T){1&q&&e.nrm(0,"div",9,1)}function a(q,T){if(1&q&&e.nrm(0,"img",19),2&q){const H=e.XpG(3);e.FS9("src",H.accountInfoSidebarItem.badgeUrl,e.B4B),e.Y8G("@higSidebarOpacityAnimation",H.sidebarAnimationState)}}function D(q,T){if(1&q&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&q){let H;const y=e.XpG(3);e.HbH(null!==(H=y.accountInfoSidebarItem.fontTypeClass)&&void 0!==H?H:"font-sub2"),e.Y8G("@higSidebarTextAnimation",y.sidebarAnimationState),e.R7$(),e.SpI(" ",e.bMT(2,4,y.accountInfoSidebarItem.text)," ")}}function te(q,T){if(1&q&&(e.j41(0,"span",23),e.EFF(1),e.k0s()),2&q){const H=e.XpG(4);e.R7$(),e.JRh(H.accountInfoSidebarItem.subtext)}}function N(q,T){if(1&q&&(e.j41(0,"div",20)(1,"span",21),e.EFF(2),e.k0s(),e.DNE(3,te,2,1,"span",22),e.k0s()),2&q){const H=e.XpG(3);e.Y8G("@higSidebarTextAnimation",H.sidebarAnimationState),e.R7$(2),e.JRh(H.accountInfoSidebarItem.text),e.R7$(),e.Y8G("ngIf",H.accountInfoSidebarItem.subtext)}}function z(q,T){if(1&q){const H=e.RV6();e.j41(0,"div",12)(1,"button",13),e.bIt("focus",function(X){e.eBV(H);const c=e.XpG(2);return e.Njj(c.onItemFocus(X))})("click",function(X){e.eBV(H);const c=e.XpG(2);return e.Njj(c.onItemClicked(X,c.accountInfoSidebarItem.type))}),e.j41(2,"div",14),e.nrm(3,"mat-icon",15),e.DNE(4,a,1,2,"img",16)(5,D,3,6,"span",17)(6,N,4,3,"div",18),e.k0s()()()}if(2&q){const H=e.XpG(2);e.R7$(),e.AVh("has-badge",null==H.accountInfoSidebarItem?null:H.accountInfoSidebarItem.badgeUrl)("selected",(null==H.currentSelectedItem?null:H.currentSelectedItem.type)===H.accountInfoSidebarItem.type),e.Y8G("hidden",!H.animationStateMap[H.sidebarAnimationState].expand&&H.hideAccountItemWhenCollapsed),e.R7$(2),e.Y8G("svgIcon",H.accountInfoSidebarItem.svgIconId)("@higSidebarOpacityAnimation",H.sidebarAnimationState),e.R7$(),e.Y8G("ngIf",H.accountInfoSidebarItem.badgeUrl&&H.animationStateMap[H.sidebarAnimationState].icon),e.R7$(),e.Y8G("ngIf",!(null!=H.accountInfoSidebarItem&&H.accountInfoSidebarItem.loggedIn)&&H.animationStateMap[H.sidebarAnimationState].text),e.R7$(),e.Y8G("ngIf",(null==H.accountInfoSidebarItem?null:H.accountInfoSidebarItem.loggedIn)&&H.animationStateMap[H.sidebarAnimationState].text)}}function R(q,T){if(1&q&&(e.j41(0,"div",10),e.DNE(1,z,7,10,"div",11),e.k0s()),2&q){const H=e.XpG();e.R7$(),e.Y8G("ngIf",H.accountInfoSidebarItem)}}function v(q,T){1&q&&e.nrm(0,"div",30)}function h(q,T){if(1&q&&(e.j41(0,"span",31),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&q){let H;const y=e.XpG().$implicit,X=e.XpG(2);e.HbH(null!==(H=y.fontTypeClass)&&void 0!==H?H:"font-sub2"),e.Y8G("@higSidebarTextAnimation",X.sidebarAnimationState),e.R7$(),e.SpI(" ",e.bMT(2,4,y.text)," ")}}function W(q,T){if(1&q&&e.nrm(0,"div",32),2&q){const H=e.XpG().$implicit,y=e.XpG(2);e.AVh("selected",(null==y.currentSelectedItem?null:y.currentSelectedItem.type)===H.type)}}function ne(q,T){if(1&q){const H=e.RV6();e.j41(0,"div",12)(1,"button",26),e.bIt("focus",function(X){e.eBV(H);const c=e.XpG(2);return e.Njj(c.onItemFocus(X))})("click",function(X){const c=e.eBV(H).$implicit,g=e.XpG(2);return e.Njj(g.onItemClicked(X,c.type))}),e.j41(2,"div",14),e.DNE(3,v,1,0,"div",27),e.nrm(4,"mat-icon",15),e.DNE(5,h,3,6,"span",28),e.k0s()(),e.DNE(6,W,1,2,"div",29),e.k0s()}if(2&q){const H=T.$implicit,y=e.XpG(2);e.R7$(),e.AVh("selected",(null==y.currentSelectedItem?null:y.currentSelectedItem.type)===H.type),e.R7$(2),e.Y8G("ngIf",H.hasNotificationBadge),e.R7$(),e.Y8G("svgIcon",H.svgIconId),e.R7$(),e.Y8G("ngIf",y.animationStateMap[y.sidebarAnimationState].text||!y.expandable),e.R7$(),e.Y8G("ngIf",y.showBorderOnSelectedItem)}}function ee(q,T){if(1&q&&(e.j41(0,"div",24),e.DNE(1,ne,7,6,"div",25),e.k0s()),2&q){const H=e.XpG();e.R7$(),e.Y8G("ngForOf",H.pageNavSidebarItems)}}function b(q,T){1&q&&e.nrm(0,"div",30)}function w(q,T){if(1&q&&e.nrm(0,"mat-icon",15),2&q){const H=e.XpG().$implicit,y=e.XpG(2);e.Y8G("svgIcon",H.svgIconId)("@higSidebarOpacityAnimation",y.sidebarAnimationState)}}function F(q,T){if(1&q&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&q){let H;const y=e.XpG().$implicit,X=e.XpG(2);e.HbH(null!==(H=y.fontTypeClass)&&void 0!==H?H:"font-sub2"),e.Y8G("@higSidebarTextAnimation",X.sidebarAnimationState),e.R7$(),e.SpI(" ",e.bMT(2,4,y.text)," ")}}function Z(q,T){if(1&q){const H=e.RV6();e.j41(0,"div",12)(1,"button",34),e.bIt("focus",function(X){e.eBV(H);const c=e.XpG(2);return e.Njj(c.onItemFocus(X))})("click",function(X){const c=e.eBV(H).$implicit,g=e.XpG(2);return e.Njj(g.onItemClicked(X,c.type))}),e.j41(2,"div",14),e.DNE(3,b,1,0,"div",27)(4,w,1,2,"mat-icon",35)(5,F,3,6,"span",17),e.k0s()()()}if(2&q){const H=T.$implicit,y=e.XpG(2);e.R7$(),e.AVh("selected",(null==y.currentSelectedItem?null:y.currentSelectedItem.type)===H.type),e.Y8G("hidden",!y.animationStateMap[y.sidebarAnimationState].expand),e.R7$(2),e.Y8G("ngIf",H.hasNotificationBadge&&y.animationStateMap[y.sidebarAnimationState].expand),e.R7$(),e.Y8G("ngIf",y.animationStateMap[y.sidebarAnimationState].icon),e.R7$(),e.Y8G("ngIf",y.animationStateMap[y.sidebarAnimationState].text||!y.expandable)}}function se(q,T){if(1&q&&(e.j41(0,"div",33),e.DNE(1,Z,6,6,"div",25),e.k0s()),2&q){const H=e.XpG();e.R7$(),e.Y8G("ngForOf",H.modalNavSidebarItems)}}let Y=(()=>{var q;class T{get expand(){return this._expand}set expand(y){!this.expandable||y===this._expand||(this._expand=y,this.sidebarAnimationStateSubject.next(y?n.Y.Expanding:n.Y.Collapsing))}set currentSelectedItem(y){var X;this._currentSelectedItem=null!=y?y:null===(X=this.pageNavSidebarItems)||void 0===X?void 0:X[0]}get currentSelectedItem(){return this._currentSelectedItem}get sidebarAnimationState(){return this.sidebarAnimationStateSubject.getValue()}get sidebarAnimationState$(){return this.sidebarAnimationStateSubject.asObservable()}constructor(y,X,c,g,d,C,Q,j){this.builder=y,this.loggingService=X,this.spatialNavigationService=c,this.localeService=g,this.ngZone=d,this.focusManager=C,this.inputModalityService=Q,this.changeDetector=j,this.expandable=!0,this.showBorder=!1,this.enlargeFocusedItem=!1,this.gradientOnFocusedItem=!1,this.showBorderOnSelectedItem=!1,this.hideAccountItemWhenCollapsed=!1,this.restoreFocusOnSelectedItem=!1,this.itemClicked=new e.bkB,this.animationStateMap=A,this.HigSidebarAnimationStateType=n.Y,this.destroy$=new E.B7,this.lastHighlightOffset=0,this.sidebarAnimationStateSubject=new O.t(n.Y.Init),this._expand=!1,this.logger=this.loggingService.getLogger("hig/SidebarComponent"),this.isRtl=this.localeService.isRTLLayoutEnabled}ngOnInit(){this.logger.info(`Init, expandable: ${this.expandable}`),this.localeService.localeChanged.pipe((0,P.Q)(this.destroy$)).subscribe(y=>{this.isRtl=this.localeService.isRTLLayoutEnabled})}ngAfterViewInit(){this.spatialNavigationService.enabled&&this.expandable&&this.ngZone.runOutsideAngular(()=>{(0,B.R)(this.higSidebarContainer.nativeElement,"navbeforefocus").pipe((0,k.p)(y=>!this.expand),(0,P.Q)(this.destroy$)).subscribe(this.onNavigateToInside.bind(this)),(0,B.R)(this.higSidebarContainer.nativeElement,"navnotarget").pipe((0,k.p)(y=>!!this.expand&&(this.isRtl?"left"===y.detail.dir:"right"===y.detail.dir)),(0,P.Q)(this.destroy$)).subscribe(this.onNavigateToOutside.bind(this))})}onAnimationDone(y){"void"===y.toState?this.sidebarAnimationStateSubject.next(n.Y.Collapsed):y.toState===n.Y.Expanding&&this.sidebarAnimationStateSubject.next(n.Y.Expanded)}onSidebarClicked(y){!this.expandable||this.expand||(this.expand=!0,this.moveFocusOnSelectedItem())}onItemClicked(y,X){this.expandable&&!this.expand||(this.expandable&&this.expand&&y.stopPropagation(),this.expandable&&this.currentSelectedItem.type===X&&this.navigateOutToPrevFocused(),this.itemClicked.emit({itemType:X,event:y}))}onItemFocus(y){if(this.higSidebarHighlight){this.higSidebarHighlight.nativeElement.style.height=`${y.target.getBoundingClientRect().height}px`;const X=(0,r.i0)(this.expandable&&this.sidebarAnimationState===n.Y.Expanded&&"keyboard"===this.inputModalityService.lastFocusOrigin?"200ms ease-in":0,(0,r.i7)([(0,r.iF)({transform:`translateY(${this.lastHighlightOffset}px)`}),(0,r.iF)({transform:`translateY(${y.target.getBoundingClientRect().top}px)`})]));this.lastHighlightOffset=y.target.getBoundingClientRect().top,this.builder.build(X).create(this.higSidebarHighlight.nativeElement).play()}}onFocusOut(y){this.expand&&!this.isFocusedElementInSidebar(y.relatedTarget)&&this.expand&&(this.expand=!1,this.changeDetector.detectChanges())}expandSidebarIfNeeded(){!this.expandable||this.expand||"keyboard"!==this.inputModalityService.lastFocusOrigin||(this.expand=!0)}restoreFocusOnSelectedItemIfNeeded(y){this.restoreFocusOnSelectedItem&&!this.isFocusedElementInSidebar(y.relatedTarget)&&this.moveFocusOnSelectedItemImmediate()}onFocusIn(y){this.expandSidebarIfNeeded(),this.restoreFocusOnSelectedItemIfNeeded(y)}moveFocusOnSelectedItem(y){setTimeout(()=>{this.expandable&&this.moveFocusOnSelectedItemImmediate(y)})}moveFocusOnSelectedItemImmediate(y){var X;const c=null===(X=this.higSidebarContainer)||void 0===X?void 0:X.nativeElement.querySelector(".selected");!c||c===this.focusManager.currentFocusedElement||(y?this.focusManager.navigateTo(c,y):this.focusManager.focusViaLastOrigin(c))}onNavigateToInside(y){this.sidebarAnimationState===n.Y.Collapsed||this.sidebarAnimationState===n.Y.Init?(this.prevFocusedElementBeforeExpanding=this.focusManager.currentFocusedElement,y.preventDefault(),this.expand=!0,this.changeDetector.markForCheck(),this.moveFocusOnSelectedItem(y.detail.dir)):y.preventDefault()}onNavigateToOutside(y){y.preventDefault(),this.sidebarAnimationState===n.Y.Expanded&&this.navigateOutToPrevFocused()}navigateOutToPrevFocused(){this.prevFocusedElementBeforeExpanding&&this.prevFocusedElementBeforeExpanding.isConnected?this.focusManager.navigateTo(this.prevFocusedElementBeforeExpanding,this.isRtl?"left":"right"):(this.sidebarAnimationState$.pipe((0,k.p)(X=>X===n.Y.Collapsed),(0,U.s)(1),(0,P.Q)(this.destroy$)).subscribe(X=>{this.navigateToNearby(this.isRtl?"left":"right")}),this.expand=!1,this.changeDetector.markForCheck()),this.prevFocusedElementBeforeExpanding=null}navigateToNearby(y){const c=document.activeElement.getBoundingClientRect(),d=this.higSidebarContainer.nativeElement.parentElement.nextElementSibling,C=this.higSidebarContainer.nativeElement.getBoundingClientRect();this.spatialNavigationService.setStartingPointAt(this.isRtl?C.left:C.right,(c.top+c.bottom)/2);const j=this.spatialNavigationService.getClosestChild(document.body,d,y);this.focusManager.navigateTo(j,y)}isFocusedElementInSidebar(y){return this.higSidebarContainer.nativeElement.contains(y)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return(q=T).\u0275fac=function(y){return new(y||q)(e.rXU(r.S6),e.rXU(l.J6),e.rXU(I.E),e.rXU(l.iH),e.rXU(e.SKi),e.rXU(S.c),e.rXU(L.p),e.rXU(e.gRc))},q.\u0275cmp=e.VBU({type:q,selectors:[["nv-hig-sidebar"]],viewQuery:function(y,X){if(1&y&&(e.GBs(o,5),e.GBs(_,5)),2&y){let c;e.mGM(c=e.lsd())&&(X.higSidebarContainer=c.first),e.mGM(c=e.lsd())&&(X.higSidebarHighlight=c.first)}},inputs:{expandable:"expandable",showBorder:"showBorder",enlargeFocusedItem:"enlargeFocusedItem",gradientOnFocusedItem:"gradientOnFocusedItem",showBorderOnSelectedItem:"showBorderOnSelectedItem",hideAccountItemWhenCollapsed:"hideAccountItemWhenCollapsed",restoreFocusOnSelectedItem:"restoreFocusOnSelectedItem",expand:"expand",currentSelectedItem:"currentSelectedItem",accountInfoSidebarItem:"accountInfoSidebarItem",pageNavSidebarItems:"pageNavSidebarItems",modalNavSidebarItems:"modalNavSidebarItems"},outputs:{itemClicked:"itemClicked"},decls:7,vars:19,consts:[["higSidebarContainer",""],["higSidebarHighlight",""],["class","hig-sidebar-gradient",4,"ngIf"],["nvSpatialNavigationGroup","",1,"hig-sidebar-container",3,"click","focusout","focusin"],["class","hig-sidebar-highlight",4,"ngIf"],["class","account-info-layout",4,"ngIf"],["class","page-nav-layout",4,"ngIf"],["class","modal-nav-layout",4,"ngIf"],[1,"hig-sidebar-gradient"],[1,"hig-sidebar-highlight"],[1,"account-info-layout"],["class","hig-sidebar-item",4,"ngIf"],[1,"hig-sidebar-item"],["mat-button","",1,"account-button",3,"focus","click","hidden"],[1,"hig-sidebar-button-content"],[3,"svgIcon"],["class","avatar-badge",3,"src",4,"ngIf"],[3,"class",4,"ngIf"],["class","account-info",4,"ngIf"],[1,"avatar-badge",3,"src"],[1,"account-info"],[1,"username","font-sub2"],["class","font-body3",4,"ngIf"],[1,"font-body3"],[1,"page-nav-layout"],["class","hig-sidebar-item",4,"ngFor","ngForOf"],["mat-button","",3,"focus","click"],["class","notification-badge",4,"ngIf"],["class","item-text","nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3",3,"class",4,"ngIf"],["class","button-border",3,"selected",4,"ngIf"],[1,"notification-badge"],["nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3",1,"item-text"],[1,"button-border"],[1,"modal-nav-layout"],["mat-button","",3,"focus","click","hidden"],[3,"svgIcon",4,"ngIf"]],template:function(y,X){if(1&y){const c=e.RV6();e.DNE(0,f,1,2,"div",2),e.j41(1,"div",3,0),e.bIt("click",function(d){return e.eBV(c),e.Njj(X.onSidebarClicked(d))})("focusout",function(d){return e.eBV(c),e.Njj(X.onFocusOut(d))})("focusin",function(d){return e.eBV(c),e.Njj(X.onFocusIn(d))}),e.DNE(3,J,2,0,"div",4)(4,R,2,1,"div",5)(5,ee,2,1,"div",6)(6,se,2,1,"div",7),e.k0s()}2&y&&(e.Y8G("ngIf",X.animationStateMap[X.sidebarAnimationState].shadow),e.R7$(),e.HbH(X.animationStateMap[X.sidebarAnimationState].expand&&X.expandable?"expanded":"collapsed"),e.AVh("expandable",X.expandable)("show-border",X.showBorder)("enlarge-focused-item",X.enlargeFocusedItem)("collapsing",X.sidebarAnimationState===X.HigSidebarAnimationStateType.Collapsing)("expand-finished",X.sidebarAnimationState===X.HigSidebarAnimationStateType.Expanded),e.Y8G("@.disabled",!X.expandable),e.BMQ("tabindex",X.expandable&&!X.expand?0:-1),e.R7$(2),e.Y8G("ngIf",X.expandable),e.R7$(),e.Y8G("ngIf",X.expandable),e.R7$(),e.Y8G("ngIf",(null==X.pageNavSidebarItems?null:X.pageNavSidebarItems.length)>0),e.R7$(),e.Y8G("ngIf",X.expandable))},dependencies:[s.Sq,s.bT,M.iV,u.An,x.$,p.a,i.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}[_nghost-%COMP%]{height:100%;--hig-sidebar-expand-width: 256px;--hig-sidebar-collapse-width: 120px;--hig-sidebar-container-padding-top: auto;--hig-sidebar-horizontal-padding: 0;--hig-sidebar-layout-gap-size: 16px;--hig-sidebar-layout-first-item-top-gap: 16px;--hig-sidebar-button-padding-top-bottom-size: 8px;--hig-sidebar-button-padding-left-right-size: 16px;--hig-sidebar-button-left-indent: 0;--hig-sidebar-button-content-layout-direction: column;--hig-sidebar-icon-size: 24px;--hig-sidebar-icon-default-color: var(--primary-contrast-700);--hig-sidebar-icon-padding-right: 0;--hig-sidebar-text-align-self: none;--hig-sidebar-text-last-align-last: none;--hig-sidebar-expanded-icon-gap-size: 24px;--hig-sidebar-collapsed-icon-gap-size: 8px;--hig-sidebar-item-focused-rgba: rgba(255, 255, 255, .32);--hig-sidebar-item-selected-left-border-size: 4px;--hig-sidebar-item-selected-left-border-color: #76b900;--hig-sidebar-item-selected-icon-color: #76b900;--hig-sidebar-item-selected-text-color: var(--primary-contrast-1000);--hig-sidebar-item-selected-border-width: 0;--hig-sidebar-item-selected-border-radius: 0;--hig-sidebar-item-selected-left-position: 0;--hig-notification-badge-width: 9px;--hig-notification-badge-height: 9px;--hig-notification-badge-bg: #76b900;--hig-notification-badge-position-right: 8px;--hig-notification-badge-position-top: -5px;--hig-notification-badge-position-left: initial;--hig-sidebar-border-color-rgba: rgba(255, 255, 255, .16);--hig-sidebar-account-icon-size: 24px;--hig-sidebar-account-layout-margin-top: 28px;--hig-sidebar-expanded-account-icon-gap-size: 16px;--hig-sidebar-expanded-account-with-badge-icon-gap-size: 8px;--hig-sidebar-avatar-badge-img-size: 17px;--hig-sidebar-avatar-badge-img-relative-top: 9px;--hig-sidebar-avatar-badge-img-relative-right: 11px;--hig-sidebar-avatar-badge-img-relative-left: 34px;--hig-sidebar-modal-layout-margin-bottom: 28px;--hig-sidebar-background-linear-gradient-deg: 90deg;--hig-sidebar-container-collasped-overflow: unset}.isRtl [_nghost-%COMP%]{--hig-sidebar-background-linear-gradient-deg: 270deg}.hig-sidebar-container[_ngcontent-%COMP%]{height:100%;background:var(--hig-sidebar-bg);display:flex;flex-direction:column;padding-top:var(--hig-sidebar-container-padding-top)}.hig-sidebar-container[_ngcontent-%COMP%] .account-info-layout[_ngcontent-%COMP%], .hig-sidebar-container[_ngcontent-%COMP%] .page-nav-layout[_ngcontent-%COMP%], .hig-sidebar-container[_ngcontent-%COMP%] .modal-nav-layout[_ngcontent-%COMP%]{display:flex;flex-direction:column}.hig-sidebar-container[_ngcontent-%COMP%] .page-nav-layout[_ngcontent-%COMP%]{padding:0 var(--hig-sidebar-horizontal-padding)}.hig-sidebar-container[_ngcontent-%COMP%] .account-info-layout[_ngcontent-%COMP%]{justify-content:flex-start;margin-top:var(--hig-sidebar-account-layout-margin-top)}.hig-sidebar-container[_ngcontent-%COMP%] .modal-nav-layout[_ngcontent-%COMP%]{justify-content:flex-end;margin-bottom:var(--hig-sidebar-modal-layout-margin-bottom)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%]{width:100%;margin:var(--hig-sidebar-layout-gap-size) 0;position:relative}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%]:first-of-type{margin-top:var(--hig-sidebar-layout-first-item-top-gap)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .button-border[_ngcontent-%COMP%]{position:absolute;top:0;left:var(--hig-sidebar-item-selected-left-position);width:var(--hig-sidebar-item-selected-border-width);height:100%;background-color:var(--hig-sidebar-item-selected-left-border-color);border-radius:var(--hig-sidebar-item-selected-border-radius);display:none}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .button-border.selected[_ngcontent-%COMP%]{display:block}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:relative;width:100%;padding:var(--hig-sidebar-button-padding-top-bottom-size) var(--hig-sidebar-button-padding-left-right-size)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%]{display:flex;align-items:center;position:relative}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{position:absolute;height:var(--hig-notification-badge-width);width:var(--hig-notification-badge-height);background:var(--hig-notification-badge-bg);border-radius:50%;top:var(--hig-notification-badge-position-top)}.isLtr[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{right:var(--hig-notification-badge-position-right)}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{--dummy6: 0;right:var(--hig-notification-badge-position-right)}.isRtl[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{left:var(--hig-notification-badge-position-right)}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{--dummy6: 0;left:var(--hig-notification-badge-position-right)}.isLtr[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{left:var(--hig-notification-badge-position-left, initial)}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{--dummy5: 0;left:var(--hig-notification-badge-position-left, initial)}.isRtl[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{right:var(--hig-notification-badge-position-left, initial)}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{--dummy5: 0;right:var(--hig-notification-badge-position-left, initial)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:var(--hig-sidebar-icon-size);width:var(--hig-sidebar-icon-size);height:var(--hig-sidebar-icon-size);color:var(--hig-sidebar-icon-default-color)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:var(--hig-sidebar-account-icon-size);width:var(--hig-sidebar-account-icon-size);height:var(--hig-sidebar-account-icon-size)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:var(--hig-sidebar-item-hover-rgba)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%], .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]{background-color:var(--hig-sidebar-item-focused-rgba)}.isLtr[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%]{box-shadow:inset var(--hig-sidebar-item-selected-left-border-size) 0 var(--hig-sidebar-item-selected-left-border-color)}.isRtl[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%]{box-shadow:inset calc(var(--hig-sidebar-item-selected-left-border-size) * -1) 0 var(--hig-sidebar-item-selected-left-border-color)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--hig-sidebar-item-selected-icon-color)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--hig-sidebar-item-selected-text-color)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .account-button[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{position:relative;height:var(--hig-sidebar-avatar-badge-img-size);width:auto;top:var(--hig-sidebar-avatar-badge-img-relative-top)}.isLtr[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .account-button[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .account-button[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{right:var(--hig-sidebar-avatar-badge-img-relative-right)}.isRtl[_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .account-button[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .account-button[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{left:var(--hig-sidebar-avatar-badge-img-relative-left)}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .account-button[_ngcontent-%COMP%] .account-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:70%}.hig-sidebar-container[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] .account-button[_ngcontent-%COMP%] .account-info[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hig-sidebar-highlight[_ngcontent-%COMP%]{--hig-linear-gradient-highlight-style-deg: 90deg;background-image:linear-gradient(var(--hig-linear-gradient-highlight-style-deg),rgba(255,255,255,.32) 0%,rgba(255,255,255,.32) 33%,rgba(255,255,255,0) 100%);transition:height .1s ease-in-out,opacity .3s ease-in-out,visibility .3s ease-in-out;left:0;opacity:0;visibility:hidden;position:absolute;top:0;width:100%}.isRtl[_nghost-%COMP%] .hig-sidebar-highlight[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-highlight[_ngcontent-%COMP%]{--hig-linear-gradient-highlight-style-deg: 270deg}.hig-sidebar-container.expandable.expanded[_ngcontent-%COMP%]:not(.collapsing) .hig-sidebar-highlight[_ngcontent-%COMP%]{opacity:1;visibility:visible}.hig-sidebar-container.show-border[_ngcontent-%COMP%]{box-sizing:border-box}.isLtr[_nghost-%COMP%] .hig-sidebar-container.show-border[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.show-border[_ngcontent-%COMP%]{border-left:none;border-right:1px solid var(--hig-sidebar-border-color-rgba)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.show-border[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.show-border[_ngcontent-%COMP%]{border-right:none;border-left:1px solid var(--hig-sidebar-border-color-rgba)}.hig-sidebar-container.expandable[_ngcontent-%COMP%]{transition:width .3s ease-in-out}.hig-sidebar-container.expandable[_ngcontent-%COMP%]:hover{background-color:#ffffff14;cursor:pointer;transition:background-color .3s ease-in-out}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .account-info-layout[_ngcontent-%COMP%], .hig-sidebar-container.expandable[_ngcontent-%COMP%] .modal-nav-layout[_ngcontent-%COMP%]{flex:1 0 0}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .page-nav-layout[_ngcontent-%COMP%]{flex:2 0 0;justify-content:center}.isLtr[_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:calc(var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent))}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{--dummy1: 0;padding-left:calc(var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent))}.isRtl[_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-right:calc(var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent))}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{--dummy1: 0;padding-right:calc(var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent))}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:unset;--hig-linear-gradient-highlight-style-deg: 90deg;background-image:linear-gradient(var(--hig-linear-gradient-highlight-style-deg),rgba(255,255,255,.08) 0%,rgba(255,255,255,.08) 33%,rgba(255,255,255,0) 100%)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, .isRtl [_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{--hig-linear-gradient-highlight-style-deg: 270deg}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%], .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]{background-color:unset}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%], .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff;transition:color .4s ease-in;filter:drop-shadow(0 3px 2px rgba(0,0,0,.5))}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[hidden][_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{display:none}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[hidden][_ngcontent-%COMP%]:hover{--hig-linear-gradient-highlight-style-deg: 90deg;background-image:linear-gradient(var(--hig-linear-gradient-highlight-style-deg),rgba(255,255,255,0) 0%,rgba(255,255,255,0) 33%,rgba(255,255,255,0) 100%)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[hidden][_ngcontent-%COMP%]:hover, .isRtl [_nghost-%COMP%] .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[hidden][_ngcontent-%COMP%]:hover{--hig-linear-gradient-highlight-style-deg: 270deg}.hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[hidden].cdk-focused[_ngcontent-%COMP%], .hig-sidebar-container.expandable[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[hidden].cdk-mouse-focused[_ngcontent-%COMP%]{opacity:0}.hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) mat-icon[_ngcontent-%COMP%]{margin-bottom:var(--hig-sidebar-collapsed-icon-gap-size)}.hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .item-text[_ngcontent-%COMP%]{width:100%}.hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%]{flex-direction:var(--hig-sidebar-button-content-layout-direction);justify-content:center}.isLtr[_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:var(--hig-sidebar-icon-padding-right)}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--hig-sidebar-icon-padding-right)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:var(--hig-sidebar-icon-padding-right)}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--hig-sidebar-icon-padding-right)}.isLtr[_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.hig-sidebar-container.collapsed[_ngcontent-%COMP%]:not(.expandable) .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:var(--hig-sidebar-text-align-self);text-align-last:var(--hig-sidebar-text-last-align-last)}.hig-sidebar-container.collapsed[_ngcontent-%COMP%]{width:var(--hig-sidebar-collapse-width);overflow:var(--hig-sidebar-container-collasped-overflow)}.hig-sidebar-container.collapsed[_ngcontent-%COMP%] .account-info-layout[_ngcontent-%COMP%], .hig-sidebar-container.collapsed[_ngcontent-%COMP%] .page-nav-layout[_ngcontent-%COMP%], .hig-sidebar-container.collapsed[_ngcontent-%COMP%] .modal-nav-layout[_ngcontent-%COMP%]{align-items:center}.hig-sidebar-container.collapsed[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%]{flex-direction:var(--hig-sidebar-button-content-layout-direction);justify-content:center}.hig-sidebar-container.expandable.expand-finished[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .2s ease-in-out}.hig-sidebar-container.expandable.expand-finished[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%]{transition:font-size .2s ease-in-out}.hig-sidebar-container.expanded[_ngcontent-%COMP%]{width:var(--hig-sidebar-expand-width)}.hig-sidebar-container.expanded[_ngcontent-%COMP%] .account-info-layout[_ngcontent-%COMP%], .hig-sidebar-container.expanded[_ngcontent-%COMP%] .page-nav-layout[_ngcontent-%COMP%], .hig-sidebar-container.expanded[_ngcontent-%COMP%] .modal-nav-layout[_ngcontent-%COMP%]{align-items:stretch}.hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:var(--hig-sidebar-expand-width)}.isLtr[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:var(--hig-sidebar-expanded-icon-gap-size)}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--hig-sidebar-expanded-icon-gap-size)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:var(--hig-sidebar-expanded-icon-gap-size)}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--hig-sidebar-expanded-icon-gap-size)}.isLtr[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%]{padding-left:calc(calc(var(--hig-sidebar-icon-size) / 2 + var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent)) - var(--hig-sidebar-account-icon-size) / 2)}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%]{--dummy1: 0;padding-left:calc(calc(var(--hig-sidebar-icon-size) / 2 + var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent)) - var(--hig-sidebar-account-icon-size) / 2)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%]{padding-right:calc(calc(var(--hig-sidebar-icon-size) / 2 + var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent)) - var(--hig-sidebar-account-icon-size) / 2)}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%]{--dummy1: 0;padding-right:calc(calc(var(--hig-sidebar-icon-size) / 2 + var(--hig-sidebar-button-padding-left-right-size) + var(--hig-sidebar-button-left-indent)) - var(--hig-sidebar-account-icon-size) / 2)}.isLtr[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:var(--hig-sidebar-expanded-account-icon-gap-size)}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--hig-sidebar-expanded-account-icon-gap-size)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:var(--hig-sidebar-expanded-account-icon-gap-size)}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--hig-sidebar-expanded-account-icon-gap-size)}.isLtr[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button.has-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button.has-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:var(--hig-sidebar-expanded-account-with-badge-icon-gap-size)}html[dir=ltr][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button.has-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--hig-sidebar-expanded-account-with-badge-icon-gap-size)}.isRtl[_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button.has-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button.has-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:var(--hig-sidebar-expanded-account-with-badge-icon-gap-size)}html[dir=rtl][_ngcontent-%COMP%] .hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.account-button.has-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--hig-sidebar-expanded-account-with-badge-icon-gap-size)}.hig-sidebar-container.expanded[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .hig-sidebar-button-content[_ngcontent-%COMP%]{flex-direction:row;justify-content:start}.hig-sidebar-container.expanded.collapsing[_ngcontent-%COMP%]{width:var(--hig-sidebar-collapse-width)}.hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:calc(var(--hig-sidebar-button-padding-top-bottom-size) + var(--hig-sidebar-icon-size) * 1.5);padding:0 var(--hig-sidebar-button-padding-left-right-size)}.hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%]:not(.account-button) mat-icon[_ngcontent-%COMP%], .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]:not(.account-button) mat-icon[_ngcontent-%COMP%]{transform:scale(1.5);transition:transform .2s ease-in}.hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%], .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%]{--font-body-color: var(--hig-ui-text-secondary-color);--font-body-size: 16px;--font-body-line-height: 24px;font-family:NVIDIA,sans-serif;color:var(--font-body-color);font-weight:400;font-style:normal;text-transform:none;font-size:var(--font-body-size);line-height:var(--font-body-line-height);letter-spacing:0}.tv-view[_ngcontent-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]:not(.account-button) span[_ngcontent-%COMP%]{--font-body-size: 32px;--font-body-line-height: 48px;--font-body-color: rgba(255, 255, 255, .85)}.hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{--font-sub-shared-font-size: 16px;--font-sub-shared-line-height: 24px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-weight:500;font-style:normal;text-transform:none;font-size:var(--font-sub-shared-font-size);line-height:var(--font-sub-shared-line-height);letter-spacing:0}.tv-view[_ngcontent-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-keyboard-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.cdk-program-focused.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{--font-sub-shared-font-size: 32px;--font-sub-shared-line-height: 48px}.hig-sidebar-container.enlarge-focused-item[_ngcontent-%COMP%] .hig-sidebar-item[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transform:scale(1.5)}.hig-sidebar-gradient[_ngcontent-%COMP%]{background:linear-gradient(var(--hig-sidebar-background-linear-gradient-deg),#000000 16.12%,rgba(0,0,0,.99) 18.82%,rgba(0,0,0,.98) 21.45%,rgba(0,0,0,.965) 23.65%,rgba(0,0,0,.5) 100%);height:100vh;position:absolute;top:0;width:100vw}"],data:{animation:[(0,r.hZ)("higSidebarOpacityAnimation",[(0,r.kY)("void => *",[(0,r.iF)({opacity:"0"}),(0,r.i0)("300ms ease-in",(0,r.iF)({opacity:"1"}))]),(0,r.kY)("* => void",[(0,r.iF)({opacity:"1"}),(0,r.i0)("300ms ease-in",(0,r.iF)({opacity:"0"}))])]),(0,r.hZ)("higSidebarTextAnimation",[(0,r.kY)("void => *",[(0,r.iF)({opacity:"0",transform:"translateX(-10px)"}),(0,r.i0)("300ms ease-in",(0,r.iF)({opacity:"1",transform:"translateX(0)"}))]),(0,r.kY)("* => void",[(0,r.iF)({opacity:"1",transform:"translateX(0)"}),(0,r.i0)("300ms ease-in",(0,r.iF)({opacity:"0",transform:"translateX(-10px)"}))])])]}}),T})()},66253:(xe,de,t)=>{"use strict";t.d(de,{Y:()=>e});var e=function(n){return n.Init="Init",n.Expanded="Expanded",n.Expanding="Expanding",n.Collapsed="Collapsed",n.Collapsing="Collapsing",n}(e||{})},5428:(xe,de,t)=>{"use strict";t.d(de,{t:()=>U});var e=t(58527),n=t(6364),E=t(47766);const O=["slider"];function B(r,A){if(1&r){const l=e.RV6();e.j41(0,"input",4),e.mxI("ngModelChange",function(S){e.eBV(l);const L=e.XpG();return e.DH7(L.inputValue,S)||(L.inputValue=S),e.Njj(S)}),e.bIt("focus",function(){e.eBV(l);const S=e.XpG();return e.Njj(S.onTextFocus())})("blur",function(){e.eBV(l);const S=e.XpG();return e.Njj(S.onTextBlur())})("change",function(S){e.eBV(l);const L=e.XpG();return e.Njj(L.textChanged(S))})("input",function(S){e.eBV(l);const L=e.XpG();return e.Njj(L.textInput(S))}),e.k0s()}if(2&r){const l=e.XpG();e.Y8G("disabled",l.disabled),e.R50("ngModel",l.inputValue),e.BMQ("tabindex",l.tabindex)}}var P=function(r){return r.Integer="integer",r.Decimal="decimal",r.Time="time",r.Percent="percent",r}(P||{});const k={[P.Integer]:/^-?\d*$/,[P.Decimal]:/^-?\d*\.*\d*$/,[P.Time]:/^-?\d*[:]?\d*$/,[P.Percent]:/^-?\d*$/};let U=(()=>{var r;class A{get min(){return this._min}set min(I){this._min=(0,n.OE)(I,this._min)}get max(){return this._max}set max(I){this._max=(0,n.OE)(I,this._max)}get step(){return this._step}set step(I){this._step=(0,n.OE)(I,this._step),this.forceSliderTickUpdate()}get default(){return this._default}set default(I){this._default=(0,n.OE)(I,this._default)}get tickInterval(){return this._tickInterval}set tickInterval(I){this._tickInterval="auto"===I?"auto":"number"==typeof I||"string"==typeof I?(0,n.OE)(I,this._tickInterval):0,console.log("tickinterval: ",this._tickInterval),this.forceSliderTickUpdate()}get value(){return this._value}set value(I){this._value=(0,n.OE)(I,this._value),setTimeout(()=>this.sliderMoved({source:this.slider,value:this.value}),0)}set formatTextAs(I){this._formatTextAs=P[I]||P.Integer}get formatTextAs(){return this._formatTextAs}constructor(I,S){this.dateHandlerService=S,this._min=0,this._max=100,this._step=1,this._default=void 0,this.disabled=!1,this.thumbLabel=!1,this.animating=!1,this._tickInterval=0,this._value=0,this.valueChange=new e.bkB,this.valueEntry=!1,this._formatTextAs=P.Integer,this.change=new e.bkB,this.input=new e.bkB,this.tabindex=void 0,this.sliderStep=0,this.inputValue=void 0,this.textFocused=!1,this.mouseDown=!1,this.initializing=!0,this.afterInit=!1,this.textValueValidation="",this.tabindex=parseInt(I,10),Number.isNaN(this.tabindex)&&(this.tabindex=void 0),this.realTabIndex="-1"}ngAfterViewInit(){this.afterInit=!0,setTimeout(()=>{this.forceSliderTickUpdate(),this.sliderMoved({source:this.slider,value:this.value})},0),setTimeout(()=>this.initializing=!1,100)}forceSliderTickUpdate(){this.afterInit&&this.slider&&(this.slider.step=this.step,this.sliderStep=this.step,this.slider._onMouseenter())}onTextFocus(){this.textFocused=!0}onTextBlur(){this.textFocused=!1}textChanged(I){let S=I.target.value;if(this.formatTextAs===P.Time){const s=this.dateHandlerService.parseDate(S,"mm:ss");S=(60*E.Nq.getMinutesFromDate(s)+E.Nq.getSecondsFromDate(s)).toString()}let L=0;this.formatTextAs===P.Decimal?(L=100*(parseFloat(S)||0),this.step&&(L=Math.round((L-100*this.min)/(100*this.step))*this.step+this.min)):(L=parseInt(S,10)||0,this.step&&(L=Math.round((L-this.min)/this.step)*this.step+this.min)),L=Math.min(this.max,Math.max(L,this.min)),this.value=L,this.sliderChanged({source:this.slider,value:this.value}),I.stopImmediatePropagation()}sliderChanged(I){this.valueChange.emit(this.value),this.change.emit(I)}sliderMoved(I){if(I&&void 0!==I.value){if(this.formatTextAs===P.Time){const S=new Date(0).getTimezoneOffset();let L=new Date(60*S*1e3);L=E.Nq.addTime(L,I.value,E.yr.SECONDS),this.inputValue=this.dateHandlerService.formatDate(L,"mm:ss")}else this.inputValue=this.formatTextAs===P.Percent?I.value+" %":I.value+"";this.textValueValidation=this.inputValue,this.input.emit(I)}}textInput(I){const L=I.target;L&&!(k[this.formatTextAs]||k[P.Integer]).test(L.value)?L.value=this.textValueValidation:this.textValueValidation=L.value,I.stopImmediatePropagation()}onKeyDown(I){this.default&&"Period"===I.code&&(this.value=this.default,this.sliderChanged({source:this.slider,value:this.value}))}}return(r=A).\u0275fac=function(I){return new(I||r)(e.kS0("tabindex"),e.rXU(E.I_))},r.\u0275cmp=e.VBU({type:r,selectors:[["nv-hig-slider"]],viewQuery:function(I,S){if(1&I&&e.GBs(O,7),2&I){let L;e.mGM(L=e.lsd())&&(S.slider=L.first)}},hostVars:1,hostBindings:function(I,S){2&I&&e.Mr5("tabindex",S.realTabIndex)},inputs:{min:"min",max:"max",step:"step",default:"default",disabled:"disabled",thumbLabel:"thumbLabel",animating:"animating",tickInterval:"tickInterval",value:"value",valueEntry:"valueEntry",formatTextAs:"formatTextAs"},outputs:{valueChange:"valueChange",change:"change",input:"input"},decls:4,vars:15,consts:[["slider",""],["fxFlex","row","fxLayoutAlign","start start",1,"nv-hig"],["fxFlex","","nvMatSliderKeyboardFixup","",3,"valueChange","input","change","mousedown","mouseup","keydown","min","max","step","disabled","thumbLabel","tickInterval","value","tabIndex"],["type","text","fxFlex","none","class","slider-text-entry font-body2",3,"disabled","ngModel","ngModelChange","focus","blur","change","input",4,"ngIf"],["type","text","fxFlex","none",1,"slider-text-entry","font-body2",3,"ngModelChange","focus","blur","change","input","disabled","ngModel"]],template:function(I,S){if(1&I){const L=e.RV6();e.j41(0,"div",1)(1,"mat-slider",2,0),e.mxI("valueChange",function(M){return e.eBV(L),e.DH7(S.value,M)||(S.value=M),e.Njj(M)}),e.bIt("input",function(M){return e.eBV(L),e.Njj(S.sliderMoved(M))})("change",function(M){return e.eBV(L),e.Njj(S.sliderChanged(M))})("mousedown",function(){return e.eBV(L),e.Njj(S.mouseDown=!0)})("mouseup",function(){return e.eBV(L),e.Njj(S.mouseDown=!1)},!1,e.tSv)("keydown",function(M){return e.eBV(L),e.Njj(S.onKeyDown(M))}),e.k0s(),e.DNE(3,B,1,3,"input",3),e.k0s()}2&I&&(e.R7$(),e.AVh("cdk-mouse-focused",S.textFocused)("nv-mouse-down",S.mouseDown)("hig-slider-no-animation",S.animating||S.initializing),e.Y8G("min",S.min)("max",S.max)("step",S.sliderStep)("disabled",S.disabled)("thumbLabel",S.thumbLabel)("tickInterval",S.tickInterval),e.R50("value",S.value),e.Y8G("tabIndex",S.tabindex),e.R7$(2),e.Y8G("ngIf",S.valueEntry))},styles:[".slider-text-entry[_ngcontent-%COMP%]{width:48px;height:23px;background-color:transparent;border:none;text-align:center;padding-bottom:2px;border-bottom:1px solid var(--hig-slider-border-bottom-color);caret-color:#76b900}.isLtr[_nghost-%COMP%] .slider-text-entry[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .slider-text-entry[_ngcontent-%COMP%]{margin:0 0 0 8px}html[dir=ltr][_ngcontent-%COMP%] .slider-text-entry[_ngcontent-%COMP%]{--dummy: 0;margin:0 0 0 8px}.isRtl[_nghost-%COMP%] .slider-text-entry[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .slider-text-entry[_ngcontent-%COMP%]{margin:0 8px 0 0}html[dir=rtl][_ngcontent-%COMP%] .slider-text-entry[_ngcontent-%COMP%]{--dummy: 0;margin:0 8px 0 0}.slider-text-entry[_ngcontent-%COMP%]:disabled{opacity:.38}.slider-text-entry[_ngcontent-%COMP%]::selection{background-color:#76b900}.slider-text-entry[_ngcontent-%COMP%]:focus, .mat-slider[_ngcontent-%COMP%]:not(.mat-slider-disabled).cdk-focused ~ .slider-text-entry[_ngcontent-%COMP%]{padding-bottom:1px;border-bottom:2px solid #76b900;outline:none}"]}),A})()},29824:(xe,de,t)=>{"use strict";t.d(de,{L:()=>v});var e=t(58527),n=t(26537),E=t(72818),O=t(25369),B=t(13090),P=t(16490);function k(h,W){if(1&h&&e.nrm(0,"div",21),2&h){const ne=e.XpG();e.Y8G("imageUrl",null==ne.data||null==ne.data.threeQuarterSheetData?null:ne.data.threeQuarterSheetData.backgroundImageUrl)}}function U(h,W){if(1&h&&(e.j41(0,"div",22)(1,"span",23),e.EFF(2),e.nI1(3,"translate"),e.k0s()()),2&h){const ne=e.XpG();e.R7$(2),e.JRh(ne.data.threeQuarterSheetData.title.translated?ne.data.threeQuarterSheetData.title.text:e.bMT(3,1,ne.data.threeQuarterSheetData.title.text))}}function r(h,W){if(1&h&&(e.j41(0,"span",24),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&h){const ne=e.XpG();e.R7$(),e.JRh(e.i5U(2,1,ne.data.headerText.text,ne.data.translateValues))}}function A(h,W){1&h&&e.nrm(0,"mat-progress-spinner",25)}function l(h,W){if(1&h&&(e.j41(0,"div",26),e.nrm(1,"qrcode",27),e.k0s()),2&h){const ne=e.XpG();e.R7$(),e.Y8G("qrdata",ne.data.image.url)("width",200)("errorCorrectionLevel","M")}}function I(h,W){if(1&h&&(e.nrm(0,"div",28),e.nI1(1,"translate")),2&h){const ne=e.XpG();e.Y8G("innerHTML",ne.data.bodyText.translated?ne.data.bodyText.text:e.i5U(1,1,ne.data.bodyText.text,ne.data.bodyText.placeholders),e.npT)}}function S(h,W){if(1&h&&e.nrm(0,"mat-icon",34),2&h){const ne=e.XpG().$implicit;e.Y8G("svgIcon",ne.matIcon)}}function L(h,W){if(1&h&&(e.j41(0,"div",31),e.DNE(1,S,1,1,"mat-icon",32),e.j41(2,"div",33),e.EFF(3),e.k0s()()),2&h){const ne=W.$implicit;e.R7$(),e.Y8G("ngIf",ne.matIcon),e.R7$(2),e.JRh(ne.text)}}function s(h,W){if(1&h&&(e.j41(0,"div",29),e.DNE(1,L,4,2,"div",30),e.k0s()),2&h){const ne=e.XpG();e.R7$(),e.Y8G("ngForOf",ne.data.descriptionList)}}function M(h,W){if(1&h&&(e.j41(0,"div",35)(1,"div",36),e.EFF(2),e.nI1(3,"translate"),e.k0s()()),2&h){const ne=e.XpG();e.R7$(2),e.JRh(e.bMT(3,1,ne.data.footerText.text))}}function u(h,W){if(1&h&&e.nrm(0,"img",40),2&h){const ne=e.XpG(2).$implicit;e.Y8G("src",ne.imageUrl,e.B4B)}}function x(h,W){if(1&h){const ne=e.RV6();e.j41(0,"button",38),e.bIt("click",function(){e.eBV(ne);const b=e.XpG().$implicit,w=e.XpG();return e.Njj(w.onRadioButtonClick(b.value))}),e.DNE(1,u,1,1,"img",39),e.EFF(2),e.nI1(3,"translate"),e.k0s()}if(2&h){const ne=e.XpG().$implicit;e.R7$(),e.Y8G("ngIf",ne.imageUrl),e.R7$(),e.SpI(" ",e.bMT(3,2,ne.value)," ")}}function p(h,W){if(1&h&&(e.qex(0),e.DNE(1,x,4,4,"button",37),e.bVm()),2&h){const ne=W.$implicit;e.R7$(),e.Y8G("ngIf",ne)}}function i(h,W){if(1&h){const ne=e.RV6();e.j41(0,"button",41),e.bIt("click",function(){e.eBV(ne);const b=e.XpG();return e.Njj(b.onPrimaryButtonClick())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&h){const ne=e.XpG();e.Y8G("disabled",ne.data.primaryButton.isDisabled)("nvAutoFocus",ne.autoFocusOnPrimaryButton),e.R7$(),e.SpI(" ",e.bMT(2,3,ne.data.primaryButton.text)," ")}}function o(h,W){if(1&h&&(e.qex(0),e.eu8(1,42),e.bVm()),2&h){e.XpG();const ne=e.sdS(23);e.R7$(),e.Y8G("ngTemplateOutlet",ne)}}function _(h,W){if(1&h&&(e.qex(0),e.eu8(1,42)(2,42),e.bVm()),2&h){e.XpG();const ne=e.sdS(21),ee=e.sdS(23);e.R7$(),e.Y8G("ngTemplateOutlet",ne),e.R7$(),e.Y8G("ngTemplateOutlet",ee)}}function f(h,W){1&h&&e.nrm(0,"span",44)}function J(h,W){if(1&h){const ne=e.RV6();e.qex(0),e.j41(1,"button",38),e.bIt("click",function(){const b=e.eBV(ne).$implicit,w=e.XpG();return e.Njj(w.onAugmentedButtonClick(b.id))}),e.DNE(2,f,1,0,"span",43),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.bVm()}if(2&h){const ne=W.$implicit;e.R7$(2),e.Y8G("ngIf",null==ne?null:ne.hasNotificationBadge),e.R7$(),e.SpI(" ",e.bMT(4,2,ne.text)," ")}}function a(h,W){if(1&h){const ne=e.RV6();e.j41(0,"button",38),e.bIt("click",function(){e.eBV(ne);const b=e.XpG(2);return e.Njj(b.onLinkClick(b.data.link.url,b.data.link.shortUrl,b.data.link.shortUrlDescription,b.data.link.linkClickedCallback))}),e.j41(1,"span"),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"i",47),e.EFF(5,"open_in_new"),e.k0s()()}if(2&h){const ne=e.XpG(2);e.R7$(2),e.JRh(e.i5U(3,1,ne.data.link.text,ne.data.link.placeholders))}}function D(h,W){if(1&h&&(e.j41(0,"div",45),e.nrm(1,"md-divider",46),e.DNE(2,a,6,4,"button",37),e.k0s()),2&h){const ne=e.XpG();e.R7$(2),e.Y8G("ngIf",ne.data.link.url||ne.data.link.linkClickedCallback)}}function te(h,W){if(1&h){const ne=e.RV6();e.j41(0,"button",49),e.bIt("click",function(){e.eBV(ne);const b=e.XpG(2);return e.Njj(b.onSecondaryButtonClick())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&h){const ne=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(2,1,ne.data.secondaryButton.text)," ")}}function N(h,W){if(1&h&&e.DNE(0,te,3,3,"button",48),2&h){const ne=e.XpG();e.Y8G("ngIf",ne.data.secondaryButton)}}function z(h,W){if(1&h){const ne=e.RV6();e.j41(0,"button",49),e.bIt("click",function(){e.eBV(ne);const b=e.XpG(2);return e.Njj(b.onCheckboxClick())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&h){const ne=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(2,1,ne.data.checkbox.text)," ")}}function R(h,W){if(1&h&&e.DNE(0,z,3,3,"button",48),2&h){const ne=e.XpG();e.Y8G("ngIf",ne.data.checkbox)}}let v=(()=>{var h;class W extends O.D{get autoFocusOnPrimaryButton(){var ee;return null===(ee=this.data.autoFocusOnPrimaryButton)||void 0===ee||ee}static open(ee,b){return b.maxWidth="100vw",(0,E.SN)(b,{threeQuarterSheet:!0}),ee.open(W,{...b,width:"100%",height:"100%"})}constructor(ee,b,w,F,Z){super(w,F,ee,Z),this.offDeviceLinkService=b,this.primaryButtonClick=new e.bkB,this.secondaryButtonClick=new e.bkB,this.radioButtonClick=new e.bkB,this.augmentedButtonClick=new e.bkB,this.linkClick=new e.bkB,this.data={},this.data=ee.get(n.Vh,null)}onPrimaryButtonClick(ee){this.primaryButtonClick.emit(ee)}onSecondaryButtonClick(ee){this.secondaryButtonClick.emit(ee)}onCheckboxClick(){this.data.checkboxState=!0,(this.data.checkbox.primaryActionInThreeQuarterSheet?this.primaryButtonClick:this.secondaryButtonClick).emit()}onRadioButtonClick(ee){this.data.radioOptionSelected=ee,this.radioButtonClick.emit(),this.primaryButtonClick.emit()}onLinkClick(ee,b,w,F){var Z;ee?this.offDeviceLinkService.open(ee,{shortUrl:b,shortUrlDescription:w,threeQuarterSheetData:null===(Z=this.data)||void 0===Z?void 0:Z.threeQuarterSheetData}):F&&F(),this.linkClick.emit()}onAugmentedButtonClick(ee){this.augmentedButtonClick.emit(ee)}}return(h=W).\u0275fac=function(ee){return new(ee||h)(e.rXU(e.zZn),e.rXU(B.n),e.rXU(n.CP,8),e.rXU(P.eN,8),e.rXU(e.SKi))},h.\u0275cmp=e.VBU({type:h,selectors:[["nv-hig-three-quarter-sheet"]],inputs:{data:"data"},outputs:{primaryButtonClick:"primaryButtonClick",secondaryButtonClick:"secondaryButtonClick",radioButtonClick:"radioButtonClick",augmentedButtonClick:"augmentedButtonClick",linkClick:"linkClick"},features:[e.Vt3],decls:24,vars:19,consts:[["secondaryButton",""],["checkboxButton",""],["fxFlex","","fxLayout","row","nvSpatialNavigationContainer","","nvTrapFocus","",1,"main-dialog-sheet"],["class","image-layer","nvHigBackgroundImageOverlay","",3,"imageUrl",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between start",1,"content-container"],["class","title",4,"ngIf"],["fxLayout","column","fxLayoutGap","32px"],["class","content-header font-header4",4,"ngIf"],["fxLayout","row",1,"content-info"],["mode","indeterminate","diameter","48","color","accent",4,"ngIf"],["class","qrcode-container",4,"ngIf"],["fxFlex","","fxLayout","column","fxLayoutGap","16px"],["class","font-body2",3,"innerHTML",4,"ngIf"],["fxLayout","column","fxLayoutGap","16px","class","hig-description-list-container",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end end",4,"ngIf"],["fxLayout","column","fxLayoutGap","12px",1,"button-container"],[4,"ngFor","ngForOf"],["mat-button","","class","sentence-case",3,"disabled","nvAutoFocus","click",4,"ngIf"],[4,"ngIf"],[4,"ngIf","ngIfElse"],["fxLayout","column","fxLayoutGap","16px",4,"ngIf"],["nvHigBackgroundImageOverlay","",1,"image-layer",3,"imageUrl"],[1,"title"],[1,"title-content"],[1,"content-header","font-header4"],["mode","indeterminate","diameter","48","color","accent"],[1,"qrcode-container"],[3,"qrdata","width","errorCorrectionLevel"],[1,"font-body2",3,"innerHTML"],["fxLayout","column","fxLayoutGap","16px",1,"hig-description-list-container"],["class","hig-description-list-item",4,"ngFor","ngForOf"],[1,"hig-description-list-item"],["class","hig-description-icon font-body2",3,"svgIcon",4,"ngIf"],[1,"hig-description-text","font-body2"],[1,"hig-description-icon","font-body2",3,"svgIcon"],["fxLayout","row","fxLayoutAlign","end end"],[1,"font-body3"],["mat-button","",3,"click",4,"ngIf"],["mat-button","",3,"click"],["class","prefix-image",3,"src",4,"ngIf"],[1,"prefix-image",3,"src"],["mat-button","",1,"sentence-case",3,"click","disabled","nvAutoFocus"],[3,"ngTemplateOutlet"],["class","notification-badge",4,"ngIf"],[1,"notification-badge"],["fxLayout","column","fxLayoutGap","16px"],["role","separator",1,"separator"],[1,"material-icons","link-icon"],["mat-button","","class","sentence-case",3,"click",4,"ngIf"],["mat-button","",1,"sentence-case",3,"click"]],template:function(ee,b){if(1&ee&&(e.j41(0,"div",2),e.DNE(1,k,1,1,"div",3),e.j41(2,"div",4),e.DNE(3,U,4,3,"div",5),e.j41(4,"div",6),e.DNE(5,r,3,4,"span",7),e.j41(6,"div",8),e.DNE(7,A,1,0,"mat-progress-spinner",9)(8,l,2,3,"div",10),e.j41(9,"div",11),e.DNE(10,I,2,4,"div",12)(11,s,2,1,"div",13),e.k0s()()(),e.DNE(12,M,4,3,"div",14),e.k0s(),e.j41(13,"div",15),e.DNE(14,p,2,1,"ng-container",16)(15,i,3,5,"button",17)(16,o,2,1,"ng-container",18)(17,_,3,2,"ng-container",19)(18,J,5,4,"ng-container",16)(19,D,3,1,"div",20)(20,N,1,1,"ng-template",null,0,e.C5r)(22,R,1,1,"ng-template",null,1,e.C5r),e.k0s()()),2&ee){const w=e.sdS(21);e.R7$(),e.Y8G("ngIf",null==b.data||null==b.data.threeQuarterSheetData?null:b.data.threeQuarterSheetData.backgroundImageUrl),e.R7$(),e.AVh("translucent",null==b.data||null==b.data.threeQuarterSheetData?null:b.data.threeQuarterSheetData.backgroundImageUrl),e.R7$(),e.Y8G("ngIf",null==b.data||null==b.data.threeQuarterSheetData?null:b.data.threeQuarterSheetData.title),e.R7$(2),e.Y8G("ngIf",b.data.headerText),e.R7$(2),e.Y8G("ngIf",b.data.showSpinner),e.R7$(),e.Y8G("ngIf",null==b.data.image?null:b.data.image.url),e.R7$(2),e.Y8G("ngIf",b.data.bodyText),e.R7$(),e.Y8G("ngIf",b.data.descriptionList),e.R7$(),e.Y8G("ngIf",b.data.footerText),e.R7$(),e.AVh("translucent",null==b.data||null==b.data.threeQuarterSheetData?null:b.data.threeQuarterSheetData.backgroundImageUrl),e.R7$(),e.Y8G("ngForOf",b.data.radioButtonOptions),e.R7$(),e.Y8G("ngIf",b.data.primaryButton&&!b.data.radioButtonOptions),e.R7$(),e.Y8G("ngIf",null==b.data.checkbox?null:b.data.checkbox.primaryActionInThreeQuarterSheet),e.R7$(),e.Y8G("ngIf",b.data.checkbox&&!b.data.checkbox.primaryActionInThreeQuarterSheet)("ngIfElse",w),e.R7$(),e.Y8G("ngForOf",null==b.data.threeQuarterSheetData?null:b.data.threeQuarterSheetData.augmentedButtons),e.R7$(),e.Y8G("ngIf",b.data.link)}},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}.main-dialog-sheet[_ngcontent-%COMP%]{position:fixed;top:0;left:0;background:#393939;max-height:100%;width:100vw;height:100%}.main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%]{padding:133px 88px 48px;width:1180px}.main-dialog-sheet[_ngcontent-%COMP%] .content-container.translucent[_ngcontent-%COMP%]{background:#000000b3}.main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .content-header[_ngcontent-%COMP%]{height:318px;word-break:break-word;display:flex;align-items:flex-end}.main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .content-header.sentence-case[_ngcontent-%COMP%]{text-transform:lowercase}.main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .content-header.sentence-case[_ngcontent-%COMP%]:first-letter{text-transform:uppercase}.isLtr[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-right:32px}html[dir=ltr][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{--dummy4: 0;margin-right:32px}.isRtl[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-left:32px}html[dir=rtl][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{--dummy4: 0;margin-left:32px}.isLtr[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] div.content-info[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-left:0}.main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .qrcode-container[_ngcontent-%COMP%]{width:200px;height:200px}.main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{top:56px;position:fixed;display:flex;align-items:flex-end}.main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-content[_ngcontent-%COMP%]{--font-sub-shared-font-size: 16px;--font-sub-shared-line-height: 24px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-weight:500;font-style:normal;text-transform:none;font-size:var(--font-sub-shared-font-size);line-height:var(--font-sub-shared-line-height);letter-spacing:0;color:#fff9}.tv-view[_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-content[_ngcontent-%COMP%]{--font-sub-shared-font-size: 32px;--font-sub-shared-line-height: 48px}.main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{width:calc(100vw - 1180px);background:#191919;padding-top:374px}.isLtr[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{padding-left:40px}html[dir=ltr][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{--dummy1: 0;padding-left:40px}.isRtl[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{padding-right:40px}html[dir=rtl][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{--dummy1: 0;padding-right:40px}.isLtr[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{padding-right:88px}html[dir=ltr][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:88px}.isRtl[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{padding-left:88px}html[dir=rtl][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:88px}.main-dialog-sheet[_ngcontent-%COMP%] .button-container.translucent[_ngcontent-%COMP%]{background:#000000e6}.main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{text-align:start;height:96px;border-radius:8px;white-space:normal;--font-sub-shared-font-size: 14px;--font-sub-shared-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-weight:500;font-style:normal;text-transform:none;font-size:var(--font-sub-shared-font-size);line-height:var(--font-sub-shared-line-height);letter-spacing:0}.isLtr[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px}html[dir=ltr][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{--dummy1: 0;padding-left:32px}.isRtl[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-right:32px}html[dir=rtl][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{--dummy1: 0;padding-right:32px}.main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{width:48px;height:48px}.isLtr[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{padding-left:12px}html[dir=ltr][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{--dummy1: 0;padding-left:12px}.isRtl[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{padding-right:12px}html[dir=rtl][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{--dummy1: 0;padding-right:12px}.isLtr[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{padding-right:28px}html[dir=ltr][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{--dummy2: 0;padding-right:28px}.isRtl[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{padding-left:28px}html[dir=rtl][_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .prefix-image[_ngcontent-%COMP%]{--dummy2: 0;padding-left:28px}.main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i.link-icon[_ngcontent-%COMP%]{vertical-align:middle;padding:0 16px}.main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button.sentence-case[_ngcontent-%COMP%]{text-transform:lowercase}.main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button.sentence-case[_ngcontent-%COMP%]:first-letter{text-transform:uppercase}.tv-view[_ngcontent-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{--font-sub-shared-font-size: 28px;--font-sub-shared-line-height: 40px}.main-dialog-sheet[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{margin-top:4px}.image-layer[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:-1;opacity:.8}.hig-description-list-container[_ngcontent-%COMP%]{margin-top:16px}.hig-description-list-container[_ngcontent-%COMP%] .hig-description-list-item[_ngcontent-%COMP%]{display:flex}.hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px;margin-top:4px}.isLtr[_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr][_ngcontent-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl[_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl][_ngcontent-%COMP%] .hig-description-list-container[_ngcontent-%COMP%] .hig-description-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}.notification-badge[_ngcontent-%COMP%]{display:inline-block;width:14px;height:14px;border-radius:50%;background-color:#76b900}.isLtr[_nghost-%COMP%] .notification-badge[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .notification-badge[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .notification-badge[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .notification-badge[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .notification-badge[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}"]}),W})()},22355:(xe,de,t)=>{"use strict";t.d(de,{N:()=>O});var e=t(6364),n=t(58527),E=t(21684);let O=(()=>{var B;class P{constructor(U,r){this.element=U,this.focusManager=r,this.autoFocusPolicy="self",this._focusEnabled=!0}get focusEnabled(){return this._focusEnabled}set focusEnabled(U){this._focusEnabled=(0,e.he)(U)}ngAfterViewInit(){this.focusEnabled&&("initial"===this.autoFocusPolicy?setTimeout(()=>this.focusManager.focusChild(this.element.nativeElement,"initial")):setTimeout(()=>this.focusManager.focusViaLastOrigin(this.element.nativeElement)))}}return(B=P).\u0275fac=function(U){return new(U||B)(n.rXU(n.aKT),n.rXU(E.c))},B.\u0275dir=n.FsC({type:B,selectors:[["","nvAutoFocus",""]],inputs:{autoFocusPolicy:"autoFocusPolicy",focusEnabled:[n.Mj6.None,"nvAutoFocus","focusEnabled"]}}),P})()},25369:(xe,de,t)=>{"use strict";t.d(de,{D:()=>r});var e=t(26537),n=t(16490),E=t(80583),O=t(8619),B=t(65706),P=t(4208),k=t(81834),U=t(58527);let r=(()=>{var A;class l{constructor(S,L,s,M){this.dialogRef=S,this.bottomSheetRef=L,this.injector=s,this.ngZone=M,this.destroy$=new E.B7}ngAfterViewInit(){var S;const L=this.dialogRef?this.injector.get(e.Vh,null):this.bottomSheetRef?this.injector.get(n.yj,null):void 0,s=null!==(S=this.dialogRef)&&void 0!==S?S:this.bottomSheetRef;!s||null!=L&&L.disableBackToClose||this.ngZone.runOutsideAngular(()=>{s.keydownEvents().pipe((0,O.p)(k.Nw),(0,B.s)(1),(0,P.Q)(this.destroy$)).subscribe(M=>{M.stopPropagation(),M.preventDefault(),this.close(M)})})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}close(S){var L,s,M;const u=null!==(L="function"==typeof this.backToCloseResult?this.backToCloseResult():this.backToCloseResult)&&void 0!==L?L:S;null===(s=this.dialogRef)||void 0===s||s.close(u),null===(M=this.bottomSheetRef)||void 0===M||M.dismiss(u)}}return(A=l).\u0275fac=function(S){return new(S||A)(U.rXU(e.CP,8),U.rXU(n.eN,8),U.rXU(U.zZn),U.rXU(U.SKi))},A.\u0275dir=U.FsC({type:A,selectors:[["","nvBackToCloseModal",""]],inputs:{backToCloseResult:"backToCloseResult"}}),l})()},60543:(xe,de,t)=>{"use strict";t.d(de,{f:()=>s});var e=t(6364),n=t(80583),E=t(36877),O=t(15652),B=t(4208),P=t(65706),k=t(87781),U=t(34842),r=t(23500),A=t(58527),l=t(94222),I=t(21684),S=t(47766);let s=(()=>{var M;class u{get enabled(){return this._enabled}set enabled(p){this._enabled=(0,e.he)(p)}get enableKeyThrottle(){return this._enableKeyThrottle}set enableKeyThrottle(p){this._enableKeyThrottle=(0,e.he)(p)}constructor(p,i,o,_,f){this.spatialNavigationService=p,this.elementRef=i,this.focusManager=o,this.ngZone=f,this.spacingTop=0,this.spacingBottom=0,this.spacingLeft=0,this.spacingRight=0,this._enabled=!0,this._enableKeyThrottle=!0,this.cancelScrolling$=new n.B7,this.destroy$=new n.B7,this.navBeforeFocus=J=>{if(!(this.enabled&&J.target instanceof HTMLElement))return;const a=this.scrollerElement,D=this.orientation;if(!a||!D)return;const te=J.target;if(!a.contains(te))return;const N=a.getBoundingClientRect(),z=(0,U.wT)(te);if(this.isVisibleInScroller(z,N,D))return;J.preventDefault();const R=this.calculateRequiredScrollAmount(z,N,D);if(0===R)return;this.focusManager.focusViaLastOrigin(te,{preventScroll:!0});const{x:v,y:h}=this.getDestinationCoordinates(R);this.isScrolling&&this.cancelScrolling$.next();const W=new r.t(this.scrollerElement,v,h,{easingFunction:k.p_,duration:96});this.enableKeyThrottle&&(0,E.R)(te,"keydown",{capture:!0}).pipe((0,B.Q)((0,O.O4)(W.onScrollEnd(),this.cancelScrolling$,this.destroy$))).subscribe(this.swallowKeydownEvent),this.doScrolling(W)},this.logger=_.getLogger("focusThenScrollDirective")}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{this.elementRef.nativeElement.addEventListener("navbeforefocus",this.navBeforeFocus)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete(),this.elementRef.nativeElement.removeEventListener("navbeforefocus",this.navBeforeFocus)}isVisibleInScroller(p,i,o){return"horizontal"===o&&p.left>=i.left&&p.right<=i.right||"vertical"===o&&p.top>=i.top&&p.bottom<=i.bottom}calculateRequiredScrollAmount(p,i,o){let _=0;return _="horizontal"===o?p.left{this.isScrolling=!1}),p.onScrollStart().pipe((0,P.s)(1),(0,B.Q)((0,O.O4)(this.destroy$,this.cancelScrolling$))).subscribe(()=>{this.isScrolling=!0}),p.start().pipe((0,B.Q)((0,O.O4)(this.cancelScrolling$,this.destroy$))).subscribe()}}return(M=u).\u0275fac=function(p){return new(p||M)(A.rXU(l.E),A.rXU(A.aKT),A.rXU(I.c),A.rXU(S.J6),A.rXU(A.SKi))},M.\u0275dir=A.FsC({type:M,inputs:{spacingTop:"spacingTop",spacingBottom:"spacingBottom",spacingLeft:"spacingLeft",spacingRight:"spacingRight",enabled:[A.Mj6.None,"enableFocusThenScroll","enabled"],enableKeyThrottle:"enableKeyThrottle"}}),u})()},49219:(xe,de,t)=>{"use strict";t.d(de,{q:()=>B});var e=t(6364),n=t(22355),E=t(58527),O=t(21684);let B=(()=>{var P;class k{get enabled(){return this._enabled}set enabled(r){this._enabled=(0,e.he)(r)}constructor(r,A){this.element=r,this.focusManager=A,this._enabled=!0,this.restoreFunction=this.focusManager.createRestoreFocusFunction(this.focusManager.currentFocusedElement)}ngAfterViewInit(){this.enabled&&(this.autoFocusChildren.some(A=>A.focusEnabled)||this.focusManager.focusChild(this.element.nativeElement,"initial"))}shouldRestoreFocus(){const r=this.focusManager.currentFocusedElement;return r===document.body||this.element.nativeElement.contains(r)}ngOnDestroy(){this.enabled&&this.shouldRestoreFocus()&&setTimeout(()=>this.restoreFunction())}}return(P=k).\u0275fac=function(r){return new(r||P)(E.rXU(E.aKT),E.rXU(O.c))},P.\u0275dir=E.FsC({type:P,selectors:[["","nvCaptureRestoreFocus",""]],contentQueries:function(r,A,l){if(1&r&&E.wni(l,n.N,5),2&r){let I;E.mGM(I=E.lsd())&&(A.autoFocusChildren=I)}},inputs:{enabled:[E.Mj6.None,"nvCaptureRestoreFocus","enabled"]}}),k})()},54504:(xe,de,t)=>{"use strict";t.d(de,{a:()=>E});var e=t(44186),n=t(58527);let E=(()=>{var O;class B{constructor(k,U,r){this.elementRef=k,this.renderer=U,this.matTooltip=r,this.isTooltipEnabled=!0,this.isMultiLineEllipsis=!1}ngOnInit(){this.domElement=this.elementRef.nativeElement;const k={"text-overflow":"ellipsis",overflow:"hidden","white-space":this.isMultiLineEllipsis?"wrap":"nowrap"};Object.keys(k).forEach(U=>{this.renderer.setStyle(this.domElement,`${U}`,k[U])})}ngAfterViewInit(){this.matTooltip.tooltipClass=this.tooltipClass}onMouseOver(){this.isTooltipEnabled&&(this.isMultiLineEllipsis?this.domElement.offsetHeight{"use strict";t.d(de,{u:()=>A});var e=t(33420),n=t(73318),E=t(80583),O=t(36877),B=t(8619),P=t(4208),k=t(6364),U=t(58527),r=t(94222);let A=(()=>{var l;class I{get enableFastNavigation(){return this._enalbeFastNavigation}set enableFastNavigation(L){this._enalbeFastNavigation=(0,k.he)(L)}get orientation(){return this._orientation}set orientation(L){this._orientation=L}get containFocus(){return this._containFocus}set containFocus(L){this._containFocus=Array.isArray(L)?L:(0,k.he)(L)}get isRTL(){return this._isRTL}set isRTL(L){this._isRTL=(0,k.he)(L)}constructor(L,s,M){this.container=L,this.spatialNavigationService=s,this.ngZone=M,this._enalbeFastNavigation=!0,this._orientation="horizontal",this._containFocus=!1,this._isRTL=!1,this.destroy$=new E.B7}ngAfterViewInit(){this.spatialNavigationService.enabled&&this.ngZone.runOutsideAngular(()=>{(0,O.R)(this.container.nativeElement,"keydown").pipe((0,B.p)(this.checkDirection.bind(this)),(0,P.Q)(this.destroy$)).subscribe(this.onKeydown.bind(this))})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}checkDirection(L){return"horizontal"===this.orientation?"ArrowLeft"===L.key||"ArrowRight"===L.key:"vertical"===this.orientation&&("ArrowUp"===L.key||"ArrowDown"===L.key)}getOffset(L){let s=0;return"horizontal"===this.orientation?(s="ArrowLeft"===L?-1:1,s*=this.isRTL?-1:1):"vertical"===this.orientation&&(s="ArrowDown"===L?1:-1),s}onKeydown(L){if(!this.enableFastNavigation)return;const s=L.key,M=this.getOffset(s),u=this.getCurrentFocusedIndex();if(u<0)return;let x=u+M;const p=(0,n.G2)(s);let i=!1;for(;!this.isOutofBoundary(x)&&!this.items.get(x).focusableElement;)x+=M;!this.isOutofBoundary(x)&&this.items.get(x).focusableElement?(this.items.get(x).focus(p),i=!0):i=this.spatialNavigationService.shouldContainFocus(p,this.containFocus),i&&(L.preventDefault(),L.stopPropagation())}isOutofBoundary(L){return L<0||L>=this.items.length}getCurrentFocusedIndex(){let L=document.activeElement;for(;L&&L!==this.container.nativeElement;){if(L.hasAttribute("nvFastSpatialNavigationItem")){const s=this.items.toArray().findIndex(M=>{var u;return(null==M||null===(u=M.elementRef)||void 0===u?void 0:u.nativeElement)===L});if(-1!==s)return s}L=L.parentElement}return-1}}return(l=I).\u0275fac=function(L){return new(L||l)(U.rXU(U.aKT),U.rXU(r.E),U.rXU(U.SKi))},l.\u0275dir=U.FsC({type:l,selectors:[["","nvFast1DSpatialNavigation",""]],contentQueries:function(L,s,M){if(1&L&&U.wni(M,e.n,5),2&L){let u;U.mGM(u=U.lsd())&&(s.items=u)}},inputs:{enableFastNavigation:"enableFastNavigation",orientation:"orientation",containFocus:"containFocus",isRTL:"isRTL"}}),I})()},33420:(xe,de,t)=>{"use strict";t.d(de,{n:()=>O});var e=t(58527),n=t(21684),E=t(94222);let O=(()=>{var B;class P{get focusableElement(){return this._focusableElement=this.spatialNavigationService.isFocusable(this._elementRef.nativeElement)?this._elementRef.nativeElement:this.focusManager.getFirstFocusableChild(this.elementRef.nativeElement,this.spatialNavigationService.isFocusable.bind(this.spatialNavigationService)),this._focusableElement}get elementRef(){return this._elementRef}constructor(U,r,A){this.focusManager=r,this.spatialNavigationService=A,this._focusableElement=null,this._elementRef=U}focus(U){this.focusManager.navigateTo(this.focusableElement,U)}}return(B=P).\u0275fac=function(U){return new(U||B)(e.rXU(e.aKT),e.rXU(n.c),e.rXU(E.E))},B.\u0275dir=e.FsC({type:B,selectors:[["","nvFastSpatialNavigationItem",""]]}),P})()},14605:(xe,de,t)=>{"use strict";t.d(de,{b:()=>r});var e=t(80583),n=t(36877),E=t(8619),O=t(4208),B=t(6364),P=t(58527),k=t(21684),U=t(64409);let r=(()=>{var A;class l{get enableFocusBack(){return this._enableFocusBack}set enableFocusBack(S){this._enableFocusBack=(0,B.he)(S)}get scrollPosition(){var S;return null===(S=this.scroller)||void 0===S?void 0:S.measureScrollOffset()}constructor(S,L,s,M){this.elementRef=S,this.focusManager=L,this.ngZone=s,this.scroller=M,this._enableFocusBack=!0,this.destroy$=new e.B7}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}ngAfterViewInit(){this.enableFocusBack&&this.ngZone.runOutsideAngular(()=>{(0,n.R)(this.elementRef.nativeElement,"keydown").pipe((0,E.p)(S=>"Escape"===S.key&&!S.defaultPrevented),(0,O.Q)(this.destroy$)).subscribe(this.onKeydownEvent.bind(this))})}onKeydownEvent(S){this.focusInitialFocusable()&&(S.stopPropagation(),S.preventDefault())}focusInitialFocusable(){var S,L,s,M;if(this.scroller&&0!==this.scrollPosition)return this.elementScrolledSub||this.scrollThenFocusInitialFocusable(null===(M=this.scroller)||void 0===M||null===(M=M.elementRef)||void 0===M?void 0:M.nativeElement),!0;const u=null!==(S=null===(L=this.scroller)||void 0===L||null===(L=L.elementRef)||void 0===L?void 0:L.nativeElement)&&void 0!==S?S:null===(s=this.elementRef)||void 0===s?void 0:s.nativeElement,x=this.focusManager.getInitialFocusable(u);return!(x===document.activeElement||null==x||!x.isConnected||(this.focusManager.focusViaLastOrigin(x),0))}scrollThenFocusInitialFocusable(S){let L=this.scrollPosition;this.elementScrolledSub=this.scroller.elementScrolled().pipe((0,O.Q)(this.destroy$)).subscribe(()=>{0===this.scrollPosition||this.scrollPosition>L?(0===this.scrollPosition&&this.focusManager.focusChild(S,"initial"),this.elementScrolledSub.unsubscribe(),this.elementScrolledSub=void 0):L=this.scrollPosition}),this.scroller.scrollToIndex(0,"auto")}}return(A=l).\u0275fac=function(S){return new(S||A)(P.rXU(P.aKT),P.rXU(k.c),P.rXU(P.SKi),P.rXU(U.d6,8))},A.\u0275dir=P.FsC({type:A,selectors:[["","nvFocusBack",""]],inputs:{enableFocusBack:"enableFocusBack"},exportAs:["nvFocusBack"]}),l})()},97888:(xe,de,t)=>{"use strict";t.d(de,{Aq:()=>u});var e=t(58527),n=t(6364),E=t(81834),O=t(11013),B=t(72653),P=t(68868),U=function(x){return x[x.Off=0]="Off",x[x.FocusIn=1]="FocusIn",x[x.On=2]="On",x[x.FocusOut=3]="FocusOut",x}(U||{});const r=["focus"],A=["blur"];function I({rippleRef:x,rectRef:p,targetWidth:i,targetHeight:o,borderWidth:_}){const f=x.nativeElement,J=p.nativeElement,a=function l(x){const p=x.width/2,i=x.height/2;return Math.sqrt(p*p+i*i)}({width:i,height:o});f.style.height=2*a+"px",f.style.width=2*a+"px",J.style.height=o-2*_+"px",J.style.width=i-2*_+"px"}const S={enterDuration:140,exitDuration:140};class M{constructor(p,i,o,_,f,J){this._target=p,this._ngZone=i,this._platform=_,this.borderWidth=f,this.inputModalityService=J,this.eventListeners={},this.focusAnimState=U.Off,this.clearListeners=()=>{var a,D;null===(a=this._currentRippleRef)||void 0===a||a.nativeElement.removeEventListener("transitionend",this.eventListeners.onTransitionEnd),null===(D=this._currentRippleRef)||void 0===D||D.nativeElement.removeEventListener("transitioncancel",this.eventListeners.onTransitionCancel)},_.isBrowser&&(this._containerElement=(0,n.i8)(o))}focusInRipple(p){this.tearDown(),this._containerElement.classList.add("nv-focus-ripple-cta-btn"),this._containerElement.classList.add("focus-green-text");const i=p.animation,o=this.borderWidth,_=this._containerElement.getBoundingClientRect(),f=document.createElement("div");f.classList.add("nv-ripple-center","nv-ripple-element");const J=document.createElement("div");J.classList.add("nv-ripple-center","nv-ripple-rect");const a=new e.aKT(f),D=new e.aKT(J);I({rippleRef:a,rectRef:D,targetWidth:_.width,targetHeight:_.height,borderWidth:o}),J.style.opacity="0.5",f.style.opacity="0",f.style.backgroundColor=p.color,J.style.backgroundColor=p.color,f.style.transitionDuration=`${i.enterDuration}ms`,J.style.transitionDuration=`${i.enterDuration}ms`,this._containerElement.appendChild(f),this._containerElement.appendChild(J),this._containerElement.getBoundingClientRect(),f.style.transform="scale3d(1, 1, 1)",f.style.opacity="0.5",J.style.transform="scale3d(1, 1, 1)",J.style.opacity="1",this.focusAnimState=U.FocusIn,this._currentRippleRef=a,this._currentRectRef=D,this._ngZone.runOutsideAngular(()=>{const te=z=>{"opacity"===z.propertyName&&(this.clearListeners(),this.focusAnimState=U.On,this._currentRectRef.nativeElement.style.border=`${o}px solid ${p.borderColor}`,this.observer=new ResizeObserver(([{borderBoxSize:[{inlineSize:R,blockSize:v}]}])=>{(R!==_.width||v!==_.height)&&I({rippleRef:this._currentRippleRef,rectRef:this._currentRectRef,targetWidth:R,targetHeight:v,borderWidth:o})}),this.observer.observe(this._containerElement))},N=z=>{"opacity"===z.propertyName&&this.tearDown()};this.eventListeners={onTransitionCancel:N,onTransitionEnd:te},this._currentRippleRef.nativeElement.addEventListener("transitionend",te),this._currentRippleRef.nativeElement.addEventListener("transitioncancel",N)})}tearDown(){var p;this.clearListeners(),this._destroyRipples(),null===(p=this.observer)||void 0===p||p.disconnect(),this.observer=null}focusOutRipple(){var p;null===(p=this.observer)||void 0===p||p.disconnect(),this.clearListeners();const i=this._currentRippleRef.nativeElement,o=this._currentRectRef.nativeElement;!o||!i||(o.style.border="none",i.style.transform="scale3d(0, 0, 0)",i.style.opacity="0",o.style.transform="scale3d(0, 0, 0)",o.style.opacity="0.5",this._containerElement.classList.remove("focus-green-text"),this.focusAnimState=U.FocusOut,this._ngZone.runOutsideAngular(()=>{const _=a=>{"opacity"===a.propertyName&&this.tearDown()},f=a=>{_(a)},J=a=>{_(a)};this.eventListeners={onTransitionCancel:J,onTransitionEnd:f},this._currentRippleRef.nativeElement.addEventListener("transitionend",f),this._currentRippleRef.nativeElement.addEventListener("transitioncancel",J)}))}setupTriggerEvents(p){const i=(0,n.i8)(p);!this._platform.isBrowser||!i||i===this._triggerElement||(this.removeTriggerEvents(),this._triggerElement=i,r.forEach(o=>{M._eventManager.addHandler(this._ngZone,o,i,this)}),A.forEach(o=>{M._eventManager.addHandler(this._ngZone,o,i,this)}))}removeTriggerEvents(){const p=this._triggerElement;p&&(r.forEach(i=>M._eventManager.removeHandler(i,p,this)),A.forEach(i=>M._eventManager.removeHandler(i,p,this)))}handleEvent(p){const i=this.inputModalityService.lastFocusOrigin;if(A.includes(p.type)){if(this.focusAnimState===U.Off||this.focusAnimState===U.FocusOut)return;this._onFocusOut()}if(("keyboard"===i||"program"===i)&&r.includes(p.type)){if(this.focusAnimState===U.On||this.focusAnimState===U.FocusIn)return;this._onFocusIn()}}_destroyRipples(){var p,i;this.focusAnimState=U.Off,null===(p=this._currentRippleRef)||void 0===p||null===(p=p.nativeElement)||void 0===p||p.remove(),null===(i=this._currentRectRef)||void 0===i||null===(i=i.nativeElement)||void 0===i||i.remove(),this._currentRippleRef=null,this._currentRectRef=null,this._containerElement.classList.remove("nv-focus-ripple-cta-btn")}_onFocusIn(){const p=this._target.rippleConfig.animation;(p.enterDuration||p.exitDuration)&&this.focusInRipple(this._target.rippleConfig)}_onFocusOut(){const p=this._target.rippleConfig.animation;(p.enterDuration||p.exitDuration)&&this.focusOutRipple()}}M._eventManager=new E.EU;let u=(()=>{var x;class p{get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(o){this._trigger=o,this._setupTriggerEventsIfEnabled()}get flagEnabled(){return this._flagEnabled}set flagEnabled(o){this._flagEnabled=(0,n.he)(o)}get disableRipple(){return!this.focusRippleEnabled||!this._flagEnabled}constructor(o,_,f,J,a){this._elementRef=o,this.animation=S,this.color="#2c3220",this.borderColor="#76b900",this._flagEnabled=!0,this._isInitialized=!1,this.focusRippleEnabled=!!a.focusRippleEnabled,!this.disableRipple&&(this._rippleRenderer=new M(this,_,o,f,null==a?void 0:a.focusRippleBorderWidth,J))}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){var o;null===(o=this._rippleRenderer)||void 0===o||o.removeTriggerEvents()}get rippleConfig(){return{color:this.color,borderColor:this.borderColor,animation:this.animation}}_setupTriggerEventsIfEnabled(){this._isInitialized&&!this.disableRipple&&this._rippleRenderer.setupTriggerEvents(this.trigger)}}return(x=p).\u0275fac=function(o){return new(o||x)(e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(B.OD),e.rXU(P.p),e.rXU(O.X,8))},x.\u0275dir=e.FsC({type:x,selectors:[["button","color","accent"],["button","mat-raised-button",""],["button",8,"mat-accent"],["","nvFocusRipple",""]],inputs:{animation:[e.Mj6.None,"nvRippleAnimation","animation"],color:[e.Mj6.None,"nvRippleColor","color"],borderColor:[e.Mj6.None,"nvRippleBorderColor","borderColor"],trigger:[e.Mj6.None,"nvRippleTrigger","trigger"],flagEnabled:[e.Mj6.None,"nvFocusRipple","flagEnabled"]}}),p})()},40514:(xe,de,t)=>{"use strict";t.d(de,{e:()=>S});var e=t(80583),n=t(36877),E=t(16229),O=t(8619),B=t(91384),P=t(4208),k=t(10174),U=t(65706),r=t(11013),A=t(81834),l=t(58527),I=t(62293);let S=(()=>{var L;class s{constructor(u,x,p,i){var o,_;this.elementRef=u,this.userActivationGuardService=x,this.ngZone=p,this.destroy$=new e.B7,this.enable=!1,this.enable=!(null==i||null===(o=i.userActivationGuardConfig)||void 0===o||!o.link),this.message=null==i||null===(_=i.userActivationGuardConfig)||void 0===_?void 0:_.linkWarningMessage}ngAfterViewInit(){!this.enable||!this.message||this.ngZone.runOutsideAngular(()=>{(0,n.R)(this.elementRef.nativeElement,"click").pipe((0,O.p)(u=>this.isLink(u.target)),(0,O.p)(u=>!(0,A.Ls)(u)),(0,B.M)(()=>{this.displayWarningMessage()}),(0,P.Q)(this.destroy$)).subscribe(u=>{u.preventDefault()})})}isLink(u){return"A"===u.tagName&&u.hasAttribute("href")}displayWarningMessage(){if(this.isWarningDisplayed)return;const u=this.userActivationGuardService.displayWarning(this.message);(0,E.h)(u.afterOpened().pipe((0,k.u)(!0)),u.afterDismissed().pipe((0,k.u)(!1))).pipe((0,U.s)(2),(0,P.Q)(this.destroy$)).subscribe(x=>{this.isWarningDisplayed=x})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return(L=s).\u0275fac=function(u){return new(u||L)(l.rXU(l.aKT),l.rXU(I.g),l.rXU(l.SKi),l.rXU(r.X,8))},L.\u0275dir=l.FsC({type:L,selectors:[["","nvHyperLinkGuard",""],["a","href",""],["","innerHTML",""]]}),s})()},80362:(xe,de,t)=>{"use strict";t.d(de,{i4:()=>A});var e=t(6364),n=t(58527),E=t(64409),O=t(80583),B=t(53461),P=t(26875);class U{constructor(I,S,L){this._scrolledIndexChange=new O.B7,this.scrolledIndexChange=this._scrolledIndexChange.pipe((0,B.F)()),this._viewport=null,this._itemOffsets=I,this._minBufferPx=S,this._maxBufferPx=L}attach(I){this._viewport=I,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(I,S,L){if(L=I&&I>=0&&this._viewport.scrollToOffset(this._itemOffsets[I],S)}_updateTotalContentSize(){!this._viewport||!this._itemOffsets||0===this._itemOffsets.length||this._viewport.setTotalContentSize(this._itemOffsets[this._itemOffsets.length-1])}getIndexFromPosition(I){return Math.max(0,(0,P.sortedIndex)(this._itemOffsets,I)-1)}_updateRenderedRange(){if(!this._viewport||!this._itemOffsets||0===this._itemOffsets.length)return;const I=this._viewport.measureScrollOffset(),S=this.getIndexFromPosition(I),L=this._viewport.getRenderedRange(),s={start:L.start,end:L.end},M=this._viewport.getViewportSize(),u=this._viewport.getDataLength();s.start>this._itemOffsets.length&&(s.start=0,s.end=this._itemOffsets.length-1);const x=I-this._itemOffsets[s.start];if(x0&&(s.end=Math.min(u,s.end+i),s.start=Math.max(0,Math.floor(this.getIndexFromPosition(this._itemOffsets[S]-this._minBufferPx))))}}this._viewport.setRenderedRange(s),this._viewport.setRenderedContentOffset(this._itemOffsets[s.start]),this._scrolledIndexChange.next(Math.floor(S))}}function r(l){return l._scrollStrategy}let A=(()=>{var l;class I{constructor(){this._itemOffsets=[0],this._minBufferPx=200,this._maxBufferPx=300,this._scrollStrategy=new U(this.itemOffsets,this.minBufferPx,this.maxBufferPx)}get itemOffsets(){return this._itemOffsets}set itemOffsets(L){this._itemOffsets=L}get minBufferPx(){return this._minBufferPx}set minBufferPx(L){this._minBufferPx=(0,e.OE)(L)}get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(L){this._maxBufferPx=(0,e.OE)(L)}ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemOffsets,this.minBufferPx,this.maxBufferPx)}}return(l=I).\u0275fac=function(L){return new(L||l)},l.\u0275dir=n.FsC({type:l,selectors:[["cdk-virtual-scroll-viewport","itemOffsets",""]],inputs:{itemOffsets:"itemOffsets",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[n.Jv_([{provide:E.Mr,useFactory:r,deps:[(0,n.Rfq)(()=>l)]}]),n.OA$]}),I})()},79858:(xe,de,t)=>{"use strict";t.d(de,{x:()=>J});var e=t(26513),n=t(80583),E=t(892),O=t(27594),B=t(16229),P=t(36877),k=t(8619),U=t(4208),r=t(73318),A=t(81834),l=t(87781),I=t(6364),S=t(11013),L=t(34842),s=t(58527),M=t(94222),u=t(21684),x=t(31308),p=t(47766),i=t(64409);let J=(()=>{var a;class D{get enableLongPressScroll(){return this._enableLongPressScroll}set enableLongPressScroll(N){this._enableLongPressScroll=(0,I.he)(N)}get repositionFocus(){return this._repositionFocus}set repositionFocus(N){this._repositionFocus=(0,I.he)(N)}get fixFocusAtScroller(){return this._fixFocusAtScroller}set fixFocusAtScroller(N){this._fixFocusAtScroller=(0,I.he)(N)}set scrollerElement(N){this._scrollerElement=N}get scrollerElement(){var N;return null!==(N=this._scrollerElement)&&void 0!==N&&N.isConnected||(this.scrollerElement=this.virtualScrollViewport?this.virtualScrollViewport.getElementRef().nativeElement:(0,L.Bo)(this.elementRef.nativeElement)),this._scrollerElement}constructor(N,z,R,v,h,W,ne,ee){var b;this.elementRef=N,this.spatialNavigationService=z,this.ngZone=R,this.focusManager=v,this.interactivityChecker=h,this.localeService=W,this.virtualScrollViewport=ne,this.orientation="horizontal",this._enableLongPressScroll=!0,this._repositionFocus=!1,this._fixFocusAtScroller=!1,this.reachBoundary="remain",this.isScrollingMode=new e.t(!1),this.firstKeydownTime=-1,this.lastKey="",this.destroy$=new n.B7,this.enabled=!1,this.enabled=!(null==ee||null===(b=ee.spatialNavigationConfig)||void 0===b||!b.longPressScrolling)}ngAfterViewInit(){!this.enabled||!this.spatialNavigationService.enabled||(this.scrollerElement=this.virtualScrollViewport?this.virtualScrollViewport.getElementRef().nativeElement:(0,L.Bo)(this.elementRef.nativeElement),this.ngZone.runOutsideAngular(()=>{(0,P.R)(this.elementRef.nativeElement,"keydown",{capture:!0}).pipe((0,k.p)(N=>this.enableLongPressScroll&&this.filterKeyEvent(N)),(0,U.Q)(this.destroy$)).subscribe(this.onKeydown.bind(this)),(0,P.R)(this.elementRef.nativeElement,"keyup").pipe((0,k.p)(N=>this.enableLongPressScroll&&this.filterKeyEvent(N)),(0,U.Q)(this.destroy$)).subscribe(this.onKeyup.bind(this)),(0,P.R)(this.elementRef.nativeElement,"focusout").pipe((0,k.p)(N=>!this.elementRef.nativeElement.contains(N.relatedTarget))).subscribe(this.clear.bind(this))}))}ngOnDestroy(){this.isScrollingMode.next(!1),this.isScrollingMode.complete(),this.destroy$.next(),this.destroy$.complete()}shouldEnterScrollerMode(N){var z;return!this.isScrollingMode.getValue()&&N.key===this.lastKey&&(new Date).getTime()-this.firstKeydownTime>400&&(null===(z=this.scrollerElement)||void 0===z?void 0:z.isConnected)&&!this.isBoundary((0,r.G2)(N.key))}fixFocusAtScrollerElement(){var N;this.fixFocusAtScroller&&(null!==(N=this.scrollerElement)&&void 0!==N&&N.isConnected||(this.isScrollerFocusable=this.interactivityChecker.isFocusable(this.scrollerElement)),this.isScrollerFocusable||this.scrollerElement.setAttribute("tabindex","-1"),this.scrollerElement.focus())}restoreScrollerElement(){this.fixFocusAtScroller&&(this.isScrollerFocusable||this.scrollerElement.removeAttribute("tabindex"))}onKeydown(N){this.lastKey!==N.key&&(this.firstKeydownTime=(new Date).getTime(),this.lastKey=N.key);const z=(0,r.G2)(N.key);this.shouldEnterScrollerMode(N)&&(this.isScrollingMode.next(!0),this.lastFocusPoint=document.activeElement.getBoundingClientRect(),this.fixFocusAtScrollerElement(),this.doScrolling(z)),this.isScrollingMode.getValue()&&(N.preventDefault(),N.stopPropagation())}clear(){this.firstKeydownTime=-1,this.lastKey=""}onKeyup(){this.clear()}onScrollerKeydown(N){N.preventDefault(),N.stopPropagation()}onScrollerKeyUp(N){if(this.isScrollingMode.getValue()){const z=(0,r.G2)(N.key);setTimeout(()=>{document.activeElement===this.scrollerElement&&this.repositionFocusFrom((0,r.On)(z)),this.leaveScrollingMode()})}}getStartingPoint(N){let z=this.lastFocusPoint.left+this.lastFocusPoint.width/2,R=this.lastFocusPoint.top+this.lastFocusPoint.height/2;const v=this.scrollerElement.getBoundingClientRect();switch(N){case"up":R=v.y;break;case"down":R=v.bottom;break;case"left":z=v.x;break;case"right":z=v.right}return{x:z,y:R}}repositionFocusFrom(N){if(!this.repositionFocus)return;const{x:z,y:R}=this.getStartingPoint(N);this.spatialNavigationService.setStartingPointAt(z,R);const v=this.scrollerElement.spatialNavigationSearch(N);v&&this.focusManager.navigateTo(v,N,{preventScroll:!0}),this.lastFocusPoint=void 0}filterKeyEvent(N){return"horizontal"===this.orientation?N.key===A.F0.ArrowLeft||N.key===A.F0.ArrowRight:"vertical"===this.orientation&&(N.key===A.F0.ArrowUp||N.key===A.F0.ArrowDown)}isBoundary(N){switch(N){case"up":return 0===this.scrollerElement.scrollTop;case"down":return this.scrollerElement.scrollTop+this.scrollerElement.clientHeight>=this.scrollerElement.scrollHeight;case"left":return this.localeService.isRTLLayoutEnabled?this.scrollerElement.scrollLeft-this.scrollerElement.clientWidth<=-this.scrollerElement.scrollWidth:0===this.scrollerElement.scrollLeft;case"right":return this.localeService.isRTLLayoutEnabled?0===this.scrollerElement.scrollLeft:this.scrollerElement.scrollLeft+this.scrollerElement.clientWidth>=this.scrollerElement.scrollWidth}}doScrolling(N){this.ngZone.runOutsideAngular(()=>{const z=(0,E.Y)(0,O.X).pipe((0,U.Q)((0,B.h)(this.destroy$,this.isScrollingMode.pipe((0,k.p)(R=>!R))))).subscribe(R=>{this.isBoundary(N)?(this.repositionFocusFrom((0,r.On)(N)),"end"===this.reachBoundary&&this.leaveScrollingMode(),z.unsubscribe()):this.scroll(R,N)});(0,P.R)(this.scrollerElement,"keydown",{capture:!0}).pipe((0,U.Q)((0,B.h)(this.destroy$,this.isScrollingMode.pipe((0,k.p)(R=>!R))))).subscribe(this.onScrollerKeydown.bind(this)),(0,P.R)(this.scrollerElement,"keyup").pipe((0,U.Q)((0,B.h)(this.destroy$,this.isScrollingMode.pipe((0,k.p)(R=>!R))))).subscribe(this.onScrollerKeyUp.bind(this))})}scroll(N,z){const v=(N<150?(0,l.p2)(N/150):1)*this.getScrollAmount(z);switch(z){case"up":case"down":this.scrollerElement.scrollTop+=v;break;case"left":case"right":this.scrollerElement.scrollLeft+=v}}getScrollAmount(N){return"up"===N||"left"===N?-64:64}leaveScrollingMode(){this.isScrollingMode.next(!1),this.clear(),this.restoreScrollerElement()}}return(a=D).\u0275fac=function(N){return new(N||a)(s.rXU(s.aKT),s.rXU(M.E),s.rXU(s.SKi),s.rXU(u.c),s.rXU(x.Z7),s.rXU(p.iH),s.rXU(i.d6,8),s.rXU(S.X,8))},a.\u0275dir=s.FsC({type:a,selectors:[["","nvLongPressScroller",""]],inputs:{orientation:"orientation",enableLongPressScroll:"enableLongPressScroll",repositionFocus:"repositionFocus",fixFocusAtScroller:"fixFocusAtScroller",reachBoundary:"reachBoundary"}}),D})()},6006:(xe,de,t)=>{"use strict";t.d(de,{F:()=>B});var e=t(6364),n=t(11013),E=t(58527),O=t(44186);let B=(()=>{var P;class k{get disabled(){return this.tooltip.disabled}set disabled(r){this.tooltip.disabled=(0,e.he)(r)||this.shouldDisableTooltip}constructor(r,A){this.tooltip=A,this.shouldDisableTooltip=!1,this.shouldDisableTooltip=!(null==r||!r.mobileMode)||!(null==r||!r.tvMode)}ngOnInit(){this.shouldDisableTooltip&&(this.tooltip.disabled=!0)}}return(P=k).\u0275fac=function(r){return new(r||P)(E.rXU(n.X,8),E.rXU(O.oV))},P.\u0275dir=E.FsC({type:P,selectors:[["","matTooltip","","nvTooltipDisabled",""],["","matTooltip","","nvDisableTooltipIfNeeded","",3,"matTooltipDisabled",""]],inputs:{disabled:[E.Mj6.None,"nvTooltipDisabled","disabled"]}}),k})()},13906:(xe,de,t)=>{"use strict";t.d(de,{Z:()=>E});var e=t(6364),n=t(58527);let E=(()=>{var O;class B{get enabled(){return this._enabled}set enabled(k){this._enabled=(0,e.he)(k)}constructor(k,U){this.el=k,this.renderer=U}setBackgroundStyles(){this.renderer.setStyle(this.el.nativeElement,"background",`url("${this.imageUrl}") 0% 0% / cover no-repeat black`)}removeBackgroundStyles(){["background","background-color","background-repeat","background-size"].forEach(k=>{this.renderer.removeStyle(this.el.nativeElement,k)})}ngOnChanges(k){var U,r,A,l;null!==(U=k.imageUrl)&&void 0!==U&&U.currentValue&&(null===(r=k.imageUrl)||void 0===r?void 0:r.currentValue)!==(null===(A=k.imageUrl)||void 0===A?void 0:A.previousValue)&&this.enabled&&this.setBackgroundStyles(),(null===(l=k.imageUrl)||void 0===l||!l.currentValue||!this.enabled)&&this.removeBackgroundStyles()}}return(O=B).\u0275fac=function(k){return new(k||O)(n.rXU(n.aKT),n.rXU(n.sFG))},O.\u0275dir=n.FsC({type:O,selectors:[["","nvHigBackgroundImageOverlay",""]],inputs:{imageUrl:"imageUrl",enabled:[n.Mj6.None,"nvHigBackgroundImageOverlay","enabled"]},features:[n.OA$]}),B})()},54676:(xe,de,t)=>{"use strict";t.d(de,{It:()=>_,ML:()=>J,PJ:()=>a,Sb:()=>D,V_:()=>te,rs:()=>f,sd:()=>z,tG:()=>o,v4:()=>N});var e=t(58527),n=t(80583),E=t(36877),O=t(17053),B=t(4208),P=t(8619),k=t(81834),U=t(19061),r=t(68868),A=t(49678),l=t(62141),I=t(4418),S=t(51635),L=t(12949),s=t(44296),M=t(94222),u=t(13186),x=t(46906),p=t(26945),i=t(68477);let o=(()=>{var R;class v{constructor(W,ne,ee,b,w,F){this.el=W,this.radio=ne,this.slide=ee,this.check=b,this.inputModalityService=w,this.config=F}keydownEvent(W){var ne,ee,b,w,F,Z;const se=null!==(ne=null!==(ee=null!==(b=null===(w=this.radio)||void 0===w||null===(w=w._inputElement)||void 0===w?void 0:w.nativeElement)&&void 0!==b?b:null===(F=this.slide)||void 0===F?void 0:F._inputElement.nativeElement)&&void 0!==ee?ee:null===(Z=this.check)||void 0===Z?void 0:Z._inputElement.nativeElement)&&void 0!==ne?ne:this.el.nativeElement;if(W.target===se&&("Enter"===W.key||" "===W.key)){if(this.radio)this.radio._onInputInteraction(W);else if(this.slide)this.slide._inputElement.nativeElement.checked=!this.slide.checked,this.slide._onChangeEvent(W);else if(this.check)this.check._onInputClick();else{var Y;null!==(Y=this.config)&&void 0!==Y&&Y.customClickHandler&&this.inputModalityService.lastInputModality===r.M.Gamepad?this.config.customClickHandler(this.el.nativeElement):se.click()}W.preventDefault(),W.stopPropagation()}}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(e.aKT),e.rXU(A._g,8),e.rXU(l.P2,8),e.rXU(I.So,8),e.rXU(r.p),e.rXU(U.Xv,8))},R.\u0275dir=e.FsC({type:R,selectors:[["","nvAddKeyboardActivate",""],["mat-slide-toggle"],["mat-radio-button"],["mat-checkbox"],["a",3,"href",""]],hostBindings:function(W,ne){1&W&&e.bIt("keydown",function(b){return ne.keydownEvent(b)})}}),v})(),_=(()=>{var R;class v{constructor(W){this.matOption=W,this.optionClicked=new e.bkB,this.onClick=ne=>{this.optionClicked.emit(ne)}}ngAfterViewInit(){this.matOption._selectViaInteraction=()=>{},this.matOption._handleKeydown=W=>{("Enter"===W.key||" "===W.key)&&this.onClick(W)},this.matOption._getHostElement().addEventListener("click",this.onClick)}ngOnDestroy(){this.matOption._getHostElement().removeEventListener("click",this.onClick)}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(S.wT))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-option","nvMapOptionNoSelect",""]],outputs:{optionClicked:"optionClicked"}}),v})(),f=(()=>{var R;class v{constructor(W,ne){this.select=W,this.focusManager=ne}ngAfterViewInit(){this.select&&setTimeout(()=>{const W=this.select._handleKeydown.bind(this.select);this.select._handleKeydown=ne=>{if(this.select._elementRef.nativeElement.classList.contains("cdk-keyboard-focused")||this.focusManager.focusViaLastOrigin(this.select._elementRef.nativeElement),(0,k.Nw)(ne)&&this.select.panelOpen)ne.stopPropagation(),this.select.close();else if("ArrowLeft"!==ne.key&&"ArrowRight"!==ne.key||!this.select.panelOpen){if(this.select.panelOpen||"Enter"===ne.key||" "===ne.key){if(this.select.panelOpen&&"Enter"===ne.key&&this.select._keyManager.activeItem._getHostElement().hasAttribute("nvMapOptionNoSelect"))return void this.select._keyManager.activeItem._getHostElement().click();W(ne)}}else ne.stopPropagation(),ne.preventDefault()}},150)}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(L.VO),e.rXU(U.c_))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-select","nvMatSelectKeyboardFixup",""]]}),v})(),J=(()=>{var R;class v{constructor(W){this.menu=W}ngAfterViewInit(){if(!this.menu||!this.menuTrigger)return;const W=this.menu._handleKeydown.bind(this.menu);this.menu._handleKeydown=ne=>{ne.defaultPrevented||((0,k.Nw)(ne)&&this.menuTrigger.menuOpen?(ne.preventDefault(),ne.stopPropagation(),this.menuTrigger.closeMenu()):W(ne))}}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(s.pI))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-menu","nvMatMenuKeyboardFixup","","menuTrigger",""]],inputs:{menuTrigger:"menuTrigger"}}),v})(),a=(()=>{var R;class v{constructor(W,ne){this.menu=W,this.spatialNavigationService=ne}ngAfterViewInit(){if(!this.menu||!this.spatialNavigationService.enabled)return;const W=this.menu._handleKeydown.bind(this.menu);this.menu._handleKeydown=ne=>{"ArrowLeft"===ne.key||"ArrowRight"===ne.key?ne.preventDefault():W(ne)}}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(s.pI),e.rXU(M.E))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-menu","nvMatMenuFocusFixup",""]]}),v})(),D=(()=>{var R;class v{constructor(W){this.slider=W}ngAfterViewInit(){this.slider&&setTimeout(()=>{const W=this.slider._onKeydown.bind(this.slider);this.slider._onKeydown=ne=>{"ArrowUp"!==ne.key&&"ArrowDown"!==ne.key&&W(ne)}},150)}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(u.N$))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-slider","nvMatSliderKeyboardFixup",""]]}),v})(),te=(()=>{var R;class v{constructor(W){this.chipList=W}ngAfterViewInit(){this.chipList&&setTimeout(()=>{const W=this.chipList._keydown.bind(this.chipList);this.chipList._keydown=ne=>{"ArrowUp"!==ne.key&&"ArrowDown"!==ne.key&&"ArrowLeft"!==ne.key&&"ArrowRight"!==ne.key&&W(ne)}},150)}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(x.O_))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-chip-list","nvMatChipListKeyboardFixup",""]]}),v})(),N=(()=>{var R;class v{constructor(W){this.panelHeader=W}ngAfterViewInit(){this.panelHeader&&setTimeout(()=>{const W=this.panelHeader._keydown.bind(this.panelHeader);this.panelHeader._keydown=ne=>{"ArrowUp"!==ne.key&&"ArrowDown"!==ne.key&&"ArrowLeft"!==ne.key&&"ArrowRight"!==ne.key&&W(ne)}},150)}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(p.Z2))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-expansion-panel-header","nvMatExpansionPanelHeaderKeyboardFixup",""]]}),v})(),z=(()=>{var R;class v{constructor(W,ne,ee){this.tabGroup=W,this.ngZone=ne,this.spatialNavigationService=ee,this.destroy$=new n.B7}ngAfterViewInit(){this.spatialNavigationService.enabled&&this.ngZone.runOutsideAngular(()=>{var W;null!==(W=this.tabGroup)&&void 0!==W&&null!==(W=W._elementRef)&&void 0!==W&&W.nativeElement&&(this.updateAllTabIndex(),this.observeTabIndexChanged$().pipe((0,B.Q)(this.destroy$)).subscribe(ne=>{const ee=ne.target;"-1"===ee.getAttribute("tabindex")&&this.updateTabIndex(ee)}),(0,E.R)(this.tabGroup._elementRef.nativeElement,"keydown",{capture:!0}).pipe((0,P.p)(ne=>"ArrowDown"===ne.key||"ArrowUp"===ne.key||"ArrowRight"===ne.key||"ArrowLeft"===ne.key),(0,B.Q)(this.destroy$)).subscribe(ne=>{switch(ne.stopPropagation(),ne.key){case"ArrowDown":this.spatialNavigationService.navigate("down");break;case"ArrowUp":this.spatialNavigationService.navigate("up");break;case"ArrowLeft":this.spatialNavigationService.navigate("left");break;case"ArrowRight":this.spatialNavigationService.navigate("right")}}))})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}updateAllTabIndex(){this.tabGroup._elementRef.nativeElement.querySelectorAll("[tabindex='-1']").forEach(this.updateTabIndex)}observeTabIndexChanged$(){return new O.c(W=>{const ne=new MutationObserver(ee=>{ee.forEach(b=>{W.next(b)})});return ne.observe(this.tabGroup._elementRef.nativeElement,{attributes:!0,subtree:!0,attributeFilter:["tabindex"]}),()=>{ne.disconnect()}})}updateTabIndex(W){W.setAttribute("tabindex","0")}}return(R=v).\u0275fac=function(W){return new(W||R)(e.rXU(i.T8),e.rXU(e.SKi),e.rXU(M.E))},R.\u0275dir=e.FsC({type:R,selectors:[["mat-tab-group","nvMatTabGroupFixUp",""]]}),v})()},98504:(xe,de,t)=>{"use strict";t.d(de,{f3:()=>I,nM:()=>S,s9:()=>L,tH:()=>s});var e=t(6364),n=t(4208),E=t(80583),O=t(58527),B=t(49678),P=t(94222),k=t(31308),U=t(54591),r=t(44296),A=t(42884),l=t(68868);let I=(()=>{var M;class u{constructor(p,i){this.radio=p,this.spatialNavigationService=i}ngAfterViewInit(){if(this.spatialNavigationService.enabled&&this.radio._elementRef.nativeElement){const p=this.radio._inputElement.nativeElement.setAttribute.bind(this.radio._inputElement.nativeElement);this.radio._inputElement.nativeElement.setAttribute=(i,o)=>{p(i,"tabindex"===i?0:o)}}}}return(M=u).\u0275fac=function(p){return new(p||M)(O.rXU(B._g),O.rXU(P.E))},M.\u0275dir=O.FsC({type:M,selectors:[["mat-radio-button","nvMatRadioSpatialNavigationFixup",""]]}),u})(),S=(()=>{var M;class u{constructor(p,i){this.elementRef=p,this.focusMonitor=i}ngOnInit(){this.focusMonitor.monitor(this.elementRef.nativeElement,!0)}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.elementRef.nativeElement)}}return(M=u).\u0275fac=function(p){return new(p||M)(O.rXU(O.aKT),O.rXU(k.FN))},M.\u0275dir=O.FsC({type:M,selectors:[["mat-checkbox"]]}),u})(),L=(()=>{var M;class u{set enabled(p){this._enabled=(0,e.he)(p)}get enabled(){return this._enabled}constructor(p,i){this.matsidenav=p,this.spatialNavigationService=i,this._enabled=!1}ngAfterViewInit(){if(!this.enabled&&!this.spatialNavigationService.enabled||!this.matsidenav)return;const p=this.matsidenav.toggle.bind(this.matsidenav);this.matsidenav.toggle=i=>{var o;return null!==(o=this.matsidenav)&&void 0!==o&&o._container&&!i&&this.matsidenav._container.hasBackdrop&&(this.matsidenav._container.hasBackdrop=!1),p(i)}}}return(M=u).\u0275fac=function(p){return new(p||M)(O.rXU(U.LG),O.rXU(P.E))},M.\u0275dir=O.FsC({type:M,selectors:[["mat-sidenav","nvMatSideNavSpatialNavigationFixup",""]],inputs:{enabled:[O.Mj6.None,"nvMatSideNavSpatialNavigationFixup","enabled"]}}),u})(),s=(()=>{var M;class u{constructor(p,i,o,_){this.matMenuTrigger=p,this.spatialNavigationService=i,this.nvFocusTrapFactory=o,this.inputModality=_,this.destroyed$=new E.B7}ngAfterViewInit(){this.spatialNavigationService.enabled&&(this.matMenuTrigger.menuOpened.pipe((0,n.Q)(this.destroyed$)).subscribe(()=>{const p=document.getElementById(this.matMenuTrigger.menu.panelId);this.focusTrap=this.nvFocusTrapFactory.create(p.parentElement),this.focusTrap.attach(),this.matMenuTrigger.menu.focusFirstItem(this.inputModality.lastFocusOrigin||"keyboard")}),this.matMenuTrigger.menuClosed.pipe((0,n.Q)(this.destroyed$)).subscribe(()=>{var p;null===(p=this.focusTrap)||void 0===p||p.detach()}))}ngOnDestroy(){var p;null===(p=this.focusTrap)||void 0===p||p.detach(),this.destroyed$.next(),this.destroyed$.complete()}}return(M=u).\u0275fac=function(p){return new(p||M)(O.rXU(r.fS),O.rXU(P.E),O.rXU(A.O),O.rXU(l.p))},M.\u0275dir=O.FsC({type:M,selectors:[["","nvMatMenuTriggerSpatialNavigationFixup",""],["","matMenuTriggerFor",""]]}),u})()},60990:(xe,de,t)=>{"use strict";t.d(de,{r:()=>E});var e=t(58527),n=t(13090);let E=(()=>{var O;class B{constructor(k){this.offDeviceLinkService=k}onClick(k){const U=k.target;if(this.offDeviceLinkService.enabled&&U instanceof HTMLAnchorElement&&U.href){var r,A;const l=null!==(r=null!==(A=this.shortUrl)&&void 0!==A?A:U.getAttribute("shortUrl"))&&void 0!==r?r:"";k.preventDefault(),this.offDeviceLinkService.open(U.href,{shortUrl:l})}}}return(O=B).\u0275fac=function(k){return new(k||O)(e.rXU(n.n))},O.\u0275dir=e.FsC({type:O,selectors:[["","nvOffDeviceLink",""],["a","href",""],["","innerHTML",""]],hostBindings:function(k,U){1&k&&e.bIt("click",function(A){return U.onClick(A)})},inputs:{shortUrl:"shortUrl"}}),B})()},69225:(xe,de,t)=>{"use strict";t.d(de,{q:()=>B});var e=t(43281),n=t(13458),E=t(58527),O=t(47766);let B=(()=>{var P;class k{constructor(r,A,l){this.viewcontainerRef=r,this.renderer=A,this.diameter=e.b5,this.spinnerComponentNativeElement=null,this.logger=l.getLogger("nvProgressCircularDirective")}ngOnChanges(r){r&&r.isVisible&&r.isVisible.currentValue!==r.isVisible.previousValue&&(r.isVisible.currentValue?this.createSpinner():this.destroySpinner())}ngOnDestroy(){this.destroySpinner()}createSpinner(){this.spinnerComponentRef=this.viewcontainerRef.createComponent(n.o),this.spinnerComponentNativeElement=this.spinnerComponentRef.injector.get(n.o).viewRef.element.nativeElement,this.renderer.appendChild(this.viewcontainerRef.element.nativeElement,this.spinnerComponentNativeElement)}destroySpinner(){this.spinnerComponentNativeElement&&this.renderer.removeChild(this.viewcontainerRef.element.nativeElement,this.spinnerComponentNativeElement),this.spinnerComponentRef&&this.spinnerComponentRef.destroy(),this.spinnerComponentNativeElement=null}}return(P=k).\u0275fac=function(r){return new(r||P)(E.rXU(E.c1b),E.rXU(E.sFG),E.rXU(O.J6))},P.\u0275dir=E.FsC({type:P,selectors:[["","nvProgressCircular",""]],inputs:{isVisible:"isVisible",diameter:"diameter"},features:[E.OA$]}),k})()},2218:(xe,de,t)=>{"use strict";t.d(de,{$:()=>k,R:()=>P});var e=t(6364),n=t(58527),E=t(94222),O=t(21684),B=t(47766);let P=(()=>{var U;class r{get containFocus(){return this._containFocus}set containFocus(l){this._containFocus=Array.isArray(l)?l.slice():(0,e.he)(l)}get captureFocusForChild(){return this._captureFocusForChild}set captureFocusForChild(l){this._captureFocusForChild=(0,e.he)(l),this.updateTabIndex()}get autoDisableCaptureIfNoChild(){return this._autoDisableCaptureIfNoChild}set autoDisableCaptureIfNoChild(l){this._autoDisableCaptureIfNoChild=(0,e.he)(l)}get enableSmoothScrolling(){return this._enableSmoothScrolling}set enableSmoothScrolling(l){this._enableSmoothScrolling=(0,e.he)(l)}constructor(l,I,S,L,s){this.element=l,this.spatialNavigationService=I,this.focusManager=S,this.ngZone=L,this.navigateFunction="grid",this.navigateAction="auto",this._containFocus=!0,this._captureFocusForChild=!1,this.captureAndTransitFocusPolicy="initial",this._autoDisableCaptureIfNoChild=!1,this._enableSmoothScrolling=!0,this.navBeforeFocus=M=>{if(this.captureFocusForChild){let u=M.target===this.element.nativeElement;if(this.autoDisableCaptureIfNoChild&&!this.spatialNavigationService.isFocusable(this.element.nativeElement)&&(this.updateTabIndex(),u=u||!this.element.nativeElement.contains(document.activeElement)),!u)return;let x=null;if("closest"===this.captureAndTransitFocusPolicy){const p=document.activeElement.contains(this.element.nativeElement)?this.element.nativeElement:document.activeElement;x=this.spatialNavigationService.getClosestChild(p,this.element.nativeElement,M.detail.dir)}else{const p=this.spatialNavigationService.isFocusable.bind(this.spatialNavigationService);x="first"===this.captureAndTransitFocusPolicy?this.focusManager.getFirstFocusableChild(this.element.nativeElement,p):this.focusManager.getInitialFocusable(this.element.nativeElement,p)}if(!x||x===this.element.nativeElement){let p="";x?x===this.element.nativeElement&&(p=`focus is on the container, container=${this.element.nativeElement.tagName}, containerClass=${this.element.nativeElement.className}`):p="target not found",this.logger.info(`possible focus lost. reason=${p}`)}M.preventDefault(),M.stopPropagation(),x&&x!==this.element.nativeElement?this.focusManager.navigateTo(x,M.detail.dir):this.autoDisableCaptureIfNoChild&&(this.updateTabIndex(),this.spatialNavigationService.navigate(M.detail.dir))}},this.navNoTarget=M=>{this.spatialNavigationService.shouldContainFocus(M.detail.dir,this.containFocus)&&M.target===this.element.nativeElement&&M.preventDefault()},this.logger=s.getLogger("SpatialNavigationContainer")}ngAfterContentInit(){this.spatialNavigationService.enabled&&this.spatialNavigationService.setNavigationContainerCssStyles(this.element.nativeElement,this.navigateFunction,this.navigateAction,this.enableSmoothScrolling)}ngAfterViewInit(){this.spatialNavigationService.enabled&&(this.ngZone.runOutsideAngular(()=>{this.element.nativeElement.addEventListener("navbeforefocus",this.navBeforeFocus),this.element.nativeElement.addEventListener("navnotarget",this.navNoTarget)}),this.updateTabIndex())}ngOnDestroy(){this.spatialNavigationService.enabled&&(this.element.nativeElement.removeEventListener("navbeforefocus",this.navBeforeFocus),this.element.nativeElement.removeEventListener("navnotarget",this.navNoTarget))}updateTabIndex(){if(this.spatialNavigationService.enabled&&this.element){const l=this.captureFocusForChild&&this.autoDisableCaptureIfNoChild?!!this.focusManager.getInitialFocusable(this.element.nativeElement,this.spatialNavigationService.isFocusable.bind(this.spatialNavigationService)):this.captureFocusForChild;this.element.nativeElement.tabIndex=l?0:-1}}}return(U=r).\u0275fac=function(l){return new(l||U)(n.rXU(n.aKT),n.rXU(E.E),n.rXU(O.c),n.rXU(n.SKi),n.rXU(B.J6))},U.\u0275dir=n.FsC({type:U,selectors:[["","nvSpatialNavigationContainer",""]],inputs:{navigateFunction:"navigateFunction",navigateAction:"navigateAction",containFocus:"containFocus",captureFocusForChild:"captureFocusForChild",captureAndTransitFocusPolicy:"captureAndTransitFocusPolicy",autoDisableCaptureIfNoChild:"autoDisableCaptureIfNoChild",enableSmoothScrolling:"enableSmoothScrolling"}}),r})(),k=(()=>{var U;class r{get enableSmoothScrolling(){return this._enableSmoothScrolling}set enableSmoothScrolling(l){this._enableSmoothScrolling=(0,e.he)(l)}constructor(l,I){this.element=l,this.spatialNavigationService=I,this.navigateFunction="grid",this.navigateAction="auto",this._enableSmoothScrolling=!0}ngAfterContentInit(){this.spatialNavigationService.enabled&&this.spatialNavigationService.setNavigationContainerCssStyles(this.element.nativeElement,this.navigateFunction,this.navigateAction,this.enableSmoothScrolling)}}return(U=r).\u0275fac=function(l){return new(l||U)(n.rXU(n.aKT),n.rXU(E.E))},U.\u0275dir=n.FsC({type:U,selectors:[["","nvSpatialNavigationGroup",""]],inputs:{navigateFunction:"navigateFunction",navigateAction:"navigateAction",enableSmoothScrolling:"enableSmoothScrolling"}}),r})()},2239:(xe,de,t)=>{"use strict";t.d(de,{W:()=>k});var e=t(60543),n=t(34842),E=t(58527),O=t(94222),B=t(21684),P=t(47766);let k=(()=>{var U;class r extends e.f{get scrollOrientation(){return this.orientation}set scrollOrientation(l){if("horizontal"!==l&&"vertical"!==l)throw new Error("Invalid scroll orientation: "+l);this.orientation=l}get scrollerElement(){var l;return null!==(l=this._scrollerElement)&&void 0!==l&&l.isConnected||(this._scrollerElement=this.getScrollerElement()),this._scrollerElement}constructor(l,I,S,L,s){super(I,l,S,L,s)}ngAfterViewInit(){super.ngAfterViewInit(),this._scrollerElement=this.getScrollerElement()}getScrollerElement(){return this.scroller||(0,n.Bo)(this.elementRef.nativeElement)}refreshScrollerElement(){this._scrollerElement=this.getScrollerElement()}}return(U=r).\u0275fac=function(l){return new(l||U)(E.rXU(E.aKT),E.rXU(O.E),E.rXU(B.c),E.rXU(P.J6),E.rXU(E.SKi))},U.\u0275dir=E.FsC({type:U,selectors:[["","nvSpatialNavigationFocusThenScroll",""]],inputs:{scroller:"scroller",scrollOrientation:"scrollOrientation"},features:[E.Vt3]}),r})()},44753:(xe,de,t)=>{"use strict";t.d(de,{f:()=>i});var e=t(80583),n=t(36877),E=t(15652),O=t(17053),B=t(8619),P=t(4208),k=t(43615),U=t(73318),r=t(34842),A=t(23500),l=t(87781),I=t(6364),S=t(81834),L=t(58527),s=t(21684),M=t(64409),u=function(o){return o[o.Start=0]="Start",o[o.End=1]="End",o}(u||{});let i=(()=>{var o;class _{get enableScrollSnap(){return this._enableScrollSnap}set enableScrollSnap(J){this._enableScrollSnap=(0,I.he)(J)}get scrollerElement(){var J;return this.cdkVirtualScrollViewport?this.cdkVirtualScrollViewport.getElementRef().nativeElement:(null!==(J=this._scrollerElement)&&void 0!==J&&J.isConnected||(this._scrollerElement=(0,r.Bo)(this.elementRef.nativeElement)),this._scrollerElement)}get isScrolling(){var J;return!(!this.scrollingSubscription||null!==(J=this.scrollingSubscription)&&void 0!==J&&J.closed)}constructor(J,a,D,te,N){this.elementRef=J,this.ngZone=a,this.focusManager=D,this.spatialNavigationService=te,this.cdkVirtualScrollViewport=N,this._enableScrollSnap=!1,this.orientation="horizontal",this.containerPadding=0,this.blockSize=0,this.blockPadding=0,this.blockIndexStart="first",this.blockIndexEnd="last",this.alignmentPolicy="default",this.isRTL=!1,this.destroyed$=new e.B7}ngAfterViewInit(){this.spatialNavigationService.enabled&&(this.refreshScrollerElement(),this.ngZone.runOutsideAngular(()=>{(0,n.R)(this.elementRef.nativeElement,"navbeforefocus").pipe((0,B.p)(J=>this.enableScrollSnap&&this.isValidOrientation(J)&&!!this.scrollerElement&&this.shouldScroll(J)),(0,P.Q)(this.destroyed$)).subscribe(this.navBeforeFocus.bind(this))}))}refreshScrollerElement(){this.cdkVirtualScrollViewport||(this._scrollerElement=(0,r.Bo)(this.elementRef.nativeElement))}isValidOrientation(J){return"horizontal"===this.orientation?(0,U.o3)(J.detail.dir):(0,U.yX)(J.detail.dir)}navBeforeFocus(J){var a;let D;J.preventDefault(),J.stopPropagation(),D="horizontal"===this.orientation?this.isRTL?"left"===J.detail.dir?u.End:u.Start:"left"===J.detail.dir?u.Start:u.End:"up"===J.detail.dir?u.Start:u.End;const te=this.getKeylineCoordinateOf(D),N=(0,r.wT)(J.target);let z=this.scrollerElement.scrollLeft,R=this.scrollerElement.scrollTop;"horizontal"===this.orientation?z+=(this.isRTL?N.right:N.left)-te:R+=N.y-te,this.isScrolling&&(this.scrollingSubscription.unsubscribe(),this.scrollingSubscription=void 0),this.keyRepeatSubscription&&(null===(a=this.keyRepeatSubscription)||void 0===a||!a.closed)&&(this.keyRepeatSubscription.unsubscribe(),this.keyRepeatSubscription=void 0);const v=new A.t(this.scrollerElement,z,R,{easingFunction:l.p_,duration:200});this.keyRepeatSubscription=(0,S.Ms)(window,(0,U.zo)(J.detail.dir)).pipe((0,P.Q)((0,E.O4)(this.detectScrollEnd(J.detail.dir,(0,r.XC)(J.target),N,te),this.destroyed$)),(0,k.j)(()=>{this.keyRepeatSubscription=void 0})).subscribe(),this.scrollingSubscription=v.start().pipe((0,k.j)(()=>{this.scrollingSubscription=void 0}),(0,P.Q)(this.destroyed$)).subscribe(),this.focusManager.focusViaLastOrigin(J.target,{preventScroll:!0})}detectScrollEnd(J,a,D,te){const N=this.scrollerElement.getBoundingClientRect();return new O.c(z=>{let R="",v=0;switch(J){case"down":v=N.height-(te+D.height),R=`0px 0px ${-v}px 0px`;break;case"left":v=this.isRTL?te-D.width:te,R=`0px 0px 0px ${-v}px`;break;case"right":v=this.isRTL?N.width-te:N.width-(te+D.width),R=`0px ${-v}px 0px 0px`;break;case"up":v=te,R=-v+"px 0px 0px 0px"}const h=new IntersectionObserver(W=>{for(let ne=0;ne=.95){h.disconnect(),z.next(),z.complete();break}},{root:this.scrollerElement,rootMargin:R,threshold:[.95]});return h.observe(a),()=>{h.disconnect()}})}getIndex(J,a,D,te,N){if(N<=0)throw new Error(`block size should be greater than 0.\n current block size is ${N},\n window.innerHeight = ${window.innerHeight},\n document.documentElement.clientHeight = ${document.documentElement.clientHeight}`);if("number"==typeof J)return J;if("first"===J)return 0;if("last"===J){const z="horizontal"===D?a.width:a.height;return z-te<=N?0:Math.floor((z-te)/N)-1}return 0}getKeylineCoordinateOf(J){const a=this.scrollerElement.getBoundingClientRect(),te=this.computeKeyLineCoordinate(J===u.Start?this.blockIndexStart:this.blockIndexEnd,a,this.orientation,this.blockSize,this.containerPadding,this.blockPadding);return"horizontal"===this.orientation&&this.isRTL?a.width-te:te}computeKeyLineCoordinate(J,a,D,te,N,z){return("horizontal"===D?a.x:a.y)+N+te*this.getIndex(J,a,D,N,te)+z}shouldScroll(J){return"always"===this.alignmentPolicy||this.outOfViewport(J.detail.dir,J.target)}outOfViewport(J,a){const D=a.getBoundingClientRect(),te=this.scrollerElement.getBoundingClientRect();switch(J){case"up":return D.topte.bottom;case"left":return D.leftte.right;default:throw new Error(`${J} is not a valid spatial navigation direction.`)}}getAlignmentBlockSize(J,a){var D,te,N,z,R;if(!this.scrollerElement)return 0;const v=this.scrollerElement.getBoundingClientRect(),W=null!==(D=null==a?void 0:a.keyBlock)&&void 0!==D?D:this.blockIndexStart,ne=null!==(te=null==a?void 0:a.blockSize)&&void 0!==te?te:this.blockSize,ee=null!==(N=null==a?void 0:a.containerPadding)&&void 0!==N?N:this.containerPadding,b=null!==(z=null==a?void 0:a.blockPadding)&&void 0!==z?z:this.blockPadding,w=null!==(R=null==a?void 0:a.orientation)&&void 0!==R?R:this.orientation;return("horizontal"===this.orientation?v.width:v.height)-this.computeKeyLineCoordinate(W,v,w,ne,ee,b)-J+b}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}}return(o=_).\u0275fac=function(J){return new(J||o)(L.rXU(L.aKT),L.rXU(L.SKi),L.rXU(s.c),L.rXU(U.ED),L.rXU(M.d6,8))},o.\u0275dir=L.FsC({type:o,selectors:[["","nvSpatialNavigationScrollSnap",""]],inputs:{enableScrollSnap:"enableScrollSnap",orientation:"orientation",containerPadding:"containerPadding",blockSize:"blockSize",blockPadding:"blockPadding",blockIndexStart:"blockIndexStart",blockIndexEnd:"blockIndexEnd",alignmentPolicy:"alignmentPolicy",isRTL:"isRTL"}}),_})()},16924:(xe,de,t)=>{"use strict";t.d(de,{o:()=>k});var e=t(60543),n=t(58527),E=t(64409),O=t(94222),B=t(21684),P=t(47766);let k=(()=>{var U;class r extends e.f{constructor(l,I,S,L,s,M){super(I,L,S,s,M),this.scroller=l}get orientation(){return this.scroller.orientation}get scrollerElement(){return this.scroller.getElementRef().nativeElement}}return(U=r).\u0275fac=function(l){return new(l||U)(n.rXU(E.d6),n.rXU(O.E),n.rXU(B.c),n.rXU(n.aKT),n.rXU(P.J6),n.rXU(n.SKi))},U.\u0275dir=n.FsC({type:U,selectors:[["","nvSpatialNavigationVirtualScroll",""],["cdk-virtual-scroll-viewport","nvSpatialNavigationContainer","","navigateAction","focus"],["cdk-virtual-scroll-viewport","nvSpatialNavigationGroup","","navigateAction","focus"]],features:[n.Vt3]}),r})()},81247:(xe,de,t)=>{"use strict";t.d(de,{D:()=>B});var e=t(6364),n=t(58527),E=t(94222),O=t(42884);let B=(()=>{var P;class k{get forceEnable(){return this._forceEnable}set forceEnable(r){this._forceEnable=(0,e.he)(r)}constructor(r,A,l){this.elementRef=r,this.spatialNavigationService=A,this.nvTrapFocusFactory=l,this._forceEnable=!1}ngAfterViewInit(){this.elementRef&&(this.forceEnable||this.spatialNavigationService.enabled)&&(this.focusTrap=this.nvTrapFocusFactory.create(this.elementRef.nativeElement),this.focusTrap.attach())}ngOnDestroy(){var r,A;null!==(r=this.focusTrap)&&void 0!==r&&r.isAttached&&(null===(A=this.focusTrap)||void 0===A||A.detach())}}return(P=k).\u0275fac=function(r){return new(r||P)(n.rXU(n.aKT),n.rXU(E.E),n.rXU(O.O))},P.\u0275dir=n.FsC({type:P,selectors:[["","nvTrapFocus",""]],inputs:{forceEnable:"forceEnable"}}),k})()},11013:(xe,de,t)=>{"use strict";t.d(de,{X:()=>E});const E=new(t(58527).nKC)("NV_HIG_CONFIG")},27583:(xe,de,t)=>{"use strict";t.d(de,{bm:()=>j});var e=t(61142),n=t(94485),E=t(58527),O=t(51006),B=t(26537),P=t(16490),k=t(29370),U=t(44224),r=t(74150),A=t(65240),l=t(36243),I=t(14354),S=t(64409),L=t(99564),s=t(49752),M=t(5428),u=t(29824),x=t(2218),p=t(54676),i=t(56106),o=t(13186),_=t(47973),f=t(62141),J=t(99204),a=t(4418),D=t(49678),te=t(12949),N=t(31308),R=(t(9193),t(44186));const v=[o.Lq,_.wG,f.jm,i.YN,J.D6,k.m_,D.Wk,a.g7,P.vF,B.hM,te.Ve,R.uc,N.Pd];let h=(()=>{var le;class ge{}return(le=ge).\u0275fac=function(ce){return new(ce||le)},le.\u0275mod=E.$C({type:le}),le.\u0275inj=E.G2t({imports:[v,o.Lq,_.wG,f.jm,i.YN,J.D6,k.m_,D.Wk,a.g7,P.vF,B.hM,te.Ve,R.uc,N.Pd]}),ge})();var W=t(60990),ne=t(81247),ee=t(22355),b=t(98504);var F=t(40514),Z=t(97888),se=t(33668),Y=t(13906),q=t(19141),T=t(60688),H=t(3457),y=t(28139),X=t(51394),c=t(51635);const C={provide:E.hnV,useFactory:function d(le,ge){return()=>function g(le,ge){return le.addSvgIconSetLiteral(ge.bypassSecurityTrustHtml('>')),Promise.resolve()}(le,ge)},deps:[k.tp,r.up],multi:!0},Q={showDelay:0,hideDelay:0,touchendHideDelay:1500,disableTooltipInteractivity:!0};let j=(()=>{var le;class ge{}return(le=ge).\u0275fac=function(ce){return new(ce||le)},le.\u0275mod=E.$C({type:le}),le.\u0275inj=E.G2t({providers:[C,{provide:B.di,useValue:{...new B.ru,restoreFocus:!1}},{provide:P.Ox,useValue:{...new P.J3,restoreFocus:!1}},{provide:R.sM,useValue:Q}],imports:[e.MD,O.YF,n.q1,h,A.h,l.f,U.w,I.iI,se.Cn,S.E9,O.YF]}),ge})();E.wjB(M.t,[e.bT,H.sA,H.UI,o.N$,i.me,i.BC,i.vS,p.Sb],[]),E.wjB(s.u,[e.YU,e.Sq,e.bT,e.T3,e.B3,H.DJ,H.BO,H.sA,y.PW,y.eI,X.ig,_.iV,i.BC,i.vS,J.LG,k.An,D.VT,D._g,a.So,N.vR,I.Wk,x.R,x.$,p.tG,W.r,ne.D,ee.N,b.f3,b.nM,F.e,Z.Aq],[A.D9]),E.wjB(L.G,[e.YU,e.bT,e.T3,H.DJ,H.BO,H.sA,H.R$,H.UI,y.PW,_.iV,J.LG,l.c,x.R,W.r,ne.D,ee.N,F.e,Z.Aq],[A.D9]),E.wjB(u.L,[e.Sq,e.bT,e.T3,H.DJ,H.BO,H.sA,H.UI,_.iV,J.LG,k.An,l.c,x.R,W.r,ne.D,ee.N,F.e,Y.Z],[A.D9]),E.wjB(q.e,[e.bT,e.T3,_.iV,f.P2,i.BC,i.vS,J.LG,k.An,a.So,te.VO,c.wT,N.vR,U.q,T.N,p.rs,p.tG,b.nM],[A.D9])},26784:(xe,de,t)=>{"use strict";t.d(de,{p:()=>e,r:()=>n});var e=function(E){return E[E.Icon=0]="Icon",E[E.AvatarIcon=1]="AvatarIcon",E[E.SquareImage=2]="SquareImage",E[E.RectangularImage=3]="RectangularImage",E}(e||{}),n=function(E){return E[E.Icon=0]="Icon",E[E.Checkbox=1]="Checkbox",E[E.Switch=2]="Switch",E[E.IconButton=3]="IconButton",E[E.TextButton=4]="TextButton",E[E.Rotary=5]="Rotary",E[E.Dropdown=6]="Dropdown",E[E.Spinner=7]="Spinner",E[E.PlainText=8]="PlainText",E}(n||{})},87781:(xe,de,t)=>{"use strict";function n(k){return 1-Math.cos(k*Math.PI/2)}function B(k){return k}function P(k){return 1-Math.pow(1-k,3)}t.d(de,{p2:()=>n,p_:()=>P,sn:()=>B})},23500:(xe,de,t)=>{"use strict";t.d(de,{t:()=>s});var e=t(87781),n=t(27594),E=t(63997),O=t(892),B=t(80583),P=t(83915),k=t(48765),U=t(80412),r=t(8619),A=t(91384),l=t(43615);class s{constructor(u,x,p,i){var o,_;if(this.container=u,this.onScrollStatusChanged=new B.B7,this.isComplete=!1,this.isStarted=!1,!(u&&u instanceof HTMLElement))throw new Error(`${u.tagName} is not a valid container`);if(this.easingFunction=null!==(o=null==i?void 0:i.easingFunction)&&void 0!==o?o:e.sn,null!=i&&i.duration&&i.duration<0)throw new Error(`${i.duration} is not a valid duration. the duration must greater or equal than 0.`);this.duration=null!==(_=null==i?void 0:i.duration)&&void 0!==_?_:200,this.startX=u.scrollLeft,this.startY=u.scrollTop,this.scrollAmountX=x-this.startX,this.scrollAmountY=p-this.startY}onScrollStart(){return this.onScrollStatusChanged.pipe((0,r.p)(u=>u))}onScrollEnd(){return this.onScrollStatusChanged.pipe((0,r.p)(u=>!u))}start(){if(this.isComplete||this.isStarted)throw new Error(`the scrolling is ${this.isComplete?"completed":"started"}.`);return function L(M,u=n.X){return function S(M=n.X){return(0,E.v)(()=>{const u=M.now();return(0,O.Y)(0,M).pipe((0,P.T)(()=>M.now()-u))})}(u).pipe((0,P.T)(x=>x/M),(0,k.v)(x=>x<1),(0,U.q)(1))}(this.duration).pipe((0,A.M)(()=>{this.isStarted||(this.isStarted=!0,this.onScrollStatusChanged.next(!0))}),(0,P.T)(u=>this.easingFunction(u)),(0,P.T)(u=>(this.container.scrollLeft=this.startX+this.scrollAmountX*u,this.container.scrollTop=this.startY+this.scrollAmountY*u,u)),(0,l.j)(()=>{this.isComplete=!0,this.onScrollStatusChanged.next(!1)}))}}},34842:(xe,de,t)=>{"use strict";function e(B){var P;const k=window.__spatialNavigation__;return null!==(P=null==k?void 0:k.isScrollContainer(B))&&void 0!==P&&P}function n(B){if(null==B||!B.isConnected)return null;let P=B;for(;P&&!e(P);)P=P.parentElement;return P}function E(B){var P,k;return null!==(P=null==B||null===(k=B.getScrollSnapTarget)||void 0===k?void 0:k.call(B))&&void 0!==P?P:B}function O(B){return E(B).getBoundingClientRect()}t.d(de,{Bo:()=>n,XC:()=>E,wT:()=>O})},21684:(xe,de,t)=>{"use strict";t.d(de,{c:()=>S});var e=t(26537),n=t(16490),E=t(65706),O=t(24841),B=t(73318),P=t(81834),k=t(58527),U=t(47766),r=t(94222),A=t(68868),l=t(31308);let S=(()=>{var L;class s{get currentFocusedElement(){return document.activeElement instanceof HTMLElement?document.activeElement:void 0}constructor(u,x,p,i,o){this.spatialNavigationService=x,this.inputModalityService=p,this.checker=i,this.focusMonitor=o,this.logger=u.getLogger("FocusManager")}canFocusElement(u,x){return!(!u||(u.isConnected?this.currentFocusedElement===u&&u.classList.contains(`.cdk-${x}-focused`)&&(this.logger.warn(`cdk-${x}-focused is existing in ${u.nodeName}.`),1):(this.logger.warn(`${u.nodeName} is not connected to DOM.`),1)))}getFirstFocusableChild(u,x){const p=null!=x?x:this.checker.isFocusable.bind(this.checker),i=u.children;for(let o=0;o{const o="initial"===x?this.getInitialFocusable(u,p):this.getFirstFocusableChild(u,p);this.focusViaLastOrigin(o,i)},0)}getInitialFocusable(u,x){const p=null!=x?x:this.checker.isFocusable.bind(this.checker);let i=u.querySelector("[cdkFocusInitial]");return(!i||!p(i))&&(i=this.getFirstFocusableChild(u,p)),i}focusViaLastOrigin(u,x){var p;const i=null!==(p=this.inputModalityService.lastFocusOrigin)&&void 0!==p?p:"keyboard";this.focusVia(u,i,x)}focusVia(u,x,p){this.canFocusElement(u,x)&&(this.spatialNavigationService.enabled&&this.spatialNavigationService.setStartingPoint(null),this.focusMonitor.focusVia(u,x,p))}navigateTo(u,x,p){!u||!(0,B.UH)(u,"navbeforefocus",x)||this.focusViaLastOrigin(u,p)}getFocusRestorationTargetAt(u,x){const p=(0,P.EL)(u,x);if(!p||this.checker.isFocusable(p))return p;if(!Element.prototype.spatialNavigationSearch||!Element.prototype.focusableAreas)return;const o=p.getSpatialNavigationContainer().focusableAreas({mode:"visible"});let _,f=Number.POSITIVE_INFINITY;return o.forEach(J=>{if(!(J instanceof HTMLElement)||window.__spatialNavigation__.isContainer(J)&&o.some(z=>J.contains(z)))return;const a=J.getBoundingClientRect(),N=function I(L,s,M,u){return Math.abs(L-M)+Math.abs(s-u)}(u,x,(a.left+a.right)/2,(a.top+a.bottom)/2);N{this.logger.warn("restoreTarget cannot be BODY. The focus might have already been lost before focus restoration")};const x=u.getBoundingClientRect();return()=>{if(u.isConnected&&this.checker.isFocusable(u))this.focusViaLastOrigin(u);else{const o=this.getFocusRestorationTargetAt((x.left+x.right)/2,(x.top+x.bottom)/2);o?this.focusViaLastOrigin(o):this.logger.warn("Potential focus loss (failed to restore focus) - target cannot be focused and no other focusable element is found")}}}restoreFocusAfterClosed(u,x){var p;const i=null!==(p=null==x?void 0:x.restoreFocusTarget)&&void 0!==p?p:this.currentFocusedElement,o=u();if(i){const _=this.createRestoreFocusFunction(i);let f;if(o instanceof e.CP)f=o.afterClosed();else if(o instanceof n.eN)f=o.afterDismissed();else{if(!(o instanceof O.f))throw new Error("not a supported type.");f=o.afterClosed()}if(!f)throw new Error("afterClosed$ is not assigned.");f.pipe((0,E.s)(1)).subscribe(()=>{_()})}return o}}return(L=s).\u0275fac=function(u){return new(u||L)(k.KVO(U.J6),k.KVO(r.E),k.KVO(A.p),k.KVO(l.Z7),k.KVO(l.FN))},L.\u0275prov=k.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})()},42884:(xe,de,t)=>{"use strict";t.d(de,{O:()=>B});var e=t(58527),n=t(21684),E=t(31308),O=t(73318);let B=(()=>{var U;class r{constructor(l,I,S,L,s){this.focusManager=l,this.focusMonitor=I,this.ngZone=S,this.spatialNavigationService=L,this.nvFocusTrapManager=s}create(l){return new k(l,this.nvFocusTrapManager,this.focusManager,this.focusMonitor,this.ngZone,this.spatialNavigationService)}}return(U=r).\u0275fac=function(l){return new(l||U)(e.KVO(n.c),e.KVO(E.FN),e.KVO(e.SKi),e.KVO(O.ED),e.KVO(P))},U.\u0275prov=e.jDH({token:U,factory:U.\u0275fac,providedIn:"root"}),r})(),P=(()=>{var U;class r{constructor(){this.focusTraps=[]}get topFocusTrap(){const l=this.focusTraps,I=l.length;return I>0?l[I-1]:void 0}register(l){var I;if(!l)return;const S=this.focusTraps.indexOf(l);S>=0&&(this.focusTraps=this.focusTraps.splice(S,1)),null===(I=this.topFocusTrap)||void 0===I||I.disable(),l.enable(),this.focusTraps.push(l)}remove(l){var I;if(!l)return;const S=this.focusTraps.indexOf(l);-1!==S&&(this.focusTraps.splice(S,1),l.isAttached&&l.disable(),null===(I=this.topFocusTrap)||void 0===I||I.enable())}}return(U=r).\u0275fac=function(l){return new(l||U)},U.\u0275prov=e.jDH({token:U,factory:U.\u0275fac,providedIn:"root"}),r})();class k{get isAttached(){return this._isAttached}constructor(r,A,l,I,S,L){this.container=r,this.nvFocusTrapManager=A,this.focusManager=l,this.focusMonitor=I,this.ngZone=S,this.spatialNavigationService=L,this._isAttached=!1,this.containerMutated=!1}attach(){this.nvFocusTrapManager.register(this)}detach(){this.nvFocusTrapManager.remove(this)}enable(){return!!this._isAttached||(this.spatialNavigationService.isFocusable(this.container)||(this.containerOldTabIndexVal=this.container.tabIndex,this.container.tabIndex=0,this.containerMutated=!0),this.container.contains(document.activeElement)||this.focusManager.focusViaLastOrigin(this.container),this.monitorFocusOn(this.container,document.activeElement),this._isAttached=!0,this._isAttached)}disable(){var r;if(!this._isAttached)throw new Error("invoked detach when the focus trap is not attached");this.containerMutated&&(this.container.tabIndex=this.containerOldTabIndexVal,this.containerMutated=void 0,this.containerOldTabIndexVal=void 0),null===(r=this.monitorSubscription)||void 0===r||r.unsubscribe(),this.monitorSubscription=void 0,this._isAttached=!1}monitorFocusOn(r,A){let l=A;this.ngZone.runOutsideAngular(()=>{this.monitorSubscription=this.focusMonitor.monitor(r,!0).subscribe(I=>{I?l=this.focusManager.currentFocusedElement:setTimeout(()=>{var S;if(!this._isAttached)return;const L=this.focusManager.currentFocusedElement!==document.body||null!==(S=l)&&void 0!==S&&S.isConnected?l:r;this.focusManager.focusViaLastOrigin(L)})})})}}},13090:(xe,de,t)=>{"use strict";t.d(de,{n:()=>S});var e=t(99564),n=t(29824),E=t(11013),O=t(12532),B=t(80583),P=t(16229),k=t(10174),U=t(47766),r=t(58527),A=t(16490),l=t(26537),I=t(21684);let S=(()=>{var L;class s{get isModalSheetOpened(){return this._isModalSheetOpened}get enabled(){return this._enabled}get isModalSheetOpened$(){return this.isModalSheetOpenSubject?this.isModalSheetOpenSubject.asObservable():O.w}constructor(u,x,p,i){this.matBottomSheet=x,this.matDialog=p,this.focusManager=i,this._isModalSheetOpened=!1,this._enabled=!1,this.config=null==u?void 0:u.offDeviceLinkConfig,this.tvMode=!(null==u||!u.tvMode)}enable(){window.open=(u,x,p,i)=>(u&&this.open(u),null),this._enabled=!0,this.isModalSheetOpenSubject||(this.isModalSheetOpenSubject=new B.B7)}open(u,x){if(!this.config)throw new Error("Off device link configuration is missing!");if(this._enabled){let p=!1;if(this.matDialog.openDialogs.length>0&&this.matDialog.openDialogs[this.matDialog.openDialogs.length-1].componentInstance instanceof n.L&&(p=!0),p){const i=this.focusManager.restoreFocusAfterClosed(()=>{var o;return n.L.open(this.matDialog,{data:{headerText:{text:null==x?void 0:x.shortUrl},bodyText:{text:null!==(o=null==x?void 0:x.shortUrlDescription)&&void 0!==o?o:this.config.title},primaryButton:{text:this.config.primaryButtonText},image:{url:u},threeQuarterSheetData:null==x?void 0:x.threeQuarterSheetData},autoFocus:!1})});i.componentInstance.primaryButtonClick.subscribe(()=>{i.close()}),(0,P.h)(i.afterOpened().pipe((0,k.u)(!0)),i.afterClosed().pipe((0,k.u)(!1))).subscribe(o=>{this._isModalSheetOpened=o,this.isModalSheetOpenSubject.next(o)})}else{const i=this.focusManager.restoreFocusAfterClosed(()=>e.G.open(this.matBottomSheet,{data:{headerText:{text:this.config.title},bodyText:null!=x&&x.shortUrl?{text:null==x?void 0:x.shortUrl}:void 0,primaryButton:{text:this.config.primaryButtonText},link:{url:u,text:null==x?void 0:x.shortUrl}}},this.tvMode));i.instance.primaryButtonClick.subscribe(()=>{i.dismiss()}),(0,P.h)(i.afterOpened().pipe((0,k.u)(!0)),i.afterDismissed().pipe((0,k.u)(!1))).subscribe(o=>{this._isModalSheetOpened=o,this.isModalSheetOpenSubject.next(o)})}return!0}{const p=window.open(u,"_blank");return!!U.zk.isCefPlatform()||null!==p}}}return(L=s).\u0275fac=function(u){return new(u||L)(r.KVO(E.X,8),r.KVO(A.VK),r.KVO(l.bZ),r.KVO(I.c))},L.\u0275prov=r.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})()},73318:(xe,de,t)=>{"use strict";t.d(de,{ED:()=>n.E,G2:()=>e.G2,On:()=>e.On,UH:()=>e.UH,le:()=>e.le,o3:()=>e.o3,yX:()=>e.yX,zo:()=>e.zo});var e=t(66221),n=t(94222)},94222:(xe,de,t)=>{"use strict";t.d(de,{E:()=>S});var e=t(17053),n=t(63997),E=t(16229),O=t(36877),B=t(43848),P=t(75707),k=t(11013),U=t(66221),r=t(58527),A=t(68868),l=t(47766);let I=(()=>{var L;class s{constructor(u,x,p,i){this.ngZone=u,this.inputModalityService=i,this.maxLength=0,this.focusIn=o=>{const _=this.queue.length>0&&this.queue[this.queue.length-1].fl,f={fo:null,fi:this.buildFocusEventData(o),fl:!1};o.target!==document.activeElement&&(f.ae=this.buildElementData(document.activeElement)),this.enqueue(f),_&&this.logger.info("Focus regained. Focus on: ",JSON.stringify(f.fi))},this.focusOut=o=>{const _=this.buildFocusEventData(o);let f;var J;0===this.queue.length||null!==this.queue[this.queue.length-1].fo?(f={fo:_,fl:this.shouldCheckFocusLoss(o.target),fi:null},this.enqueue(f)):(f=this.queue[this.queue.length-1],f.fo=_,f.fl=this.shouldCheckFocusLoss(o.target)&&(null===o.relatedTarget||!(null!==(J=o.relatedTarget)&&void 0!==J&&J.isConnected))),f.fl&&this.logger.warn("Potential focus loss. Focus history: ",JSON.stringify(this.queue))},this.logger=x.getLogger("FocusHistoryQueueService"),this.window=p.window}enqueue(u){this.queue.push(u)>this.maxLength&&this.queue.shift()}buildElementData(u,x=0){var p,i;if(!u)return null;const o={nn:null===(p=u.nodeName)||void 0===p||null===(i=p.toUpperCase)||void 0===i?void 0:i.call(p)};var _;return"BUTTON"===o.nn?o.it=u.textContent||(null===(_=u.querySelector("mat-icon[data-mat-icon-name]"))||void 0===_?void 0:_.getAttribute("data-mat-icon-name")):!u.textContent||"A"!==o.nn&&"MAT-SELECT"!==o.nn?u.textContent&&("DIV"===o.nn||"MAT-DIALOG-CONTAINER"===o.nn)&&(o.it=u.textContent.substring(0,50)):o.it=u.textContent,o.it||(o.cn=u.className,0===x&&(o.sc=this.buildElementData(u.getSpatialNavigationContainer(),x+1))),o}buildFocusEventData(u){return{ts:u.timeStamp,t:this.buildElementData(u.target),rt:this.buildElementData(u.relatedTarget),i:this.lastInputType}}shouldCheckFocusLoss(u){return this.lastInputType!==A.M.Touch&&this.lastInputType!==A.M.Mouse&&!(null!=u&&u.hasAttribute("data-focus-loss-exempt"))}start(u){this.logger.info("Starting Focus History Queue Service"),this.lastInputType=null,this.maxLength=u,this.queue=[],this.ngZone.runOutsideAngular(()=>{this.window.addEventListener("focusin",this.focusIn),this.window.addEventListener("focusout",this.focusOut),this.inputModalitySubscription=this.inputModalityService.inputModalityChanged$.subscribe(x=>{this.lastInputType=x})})}stop(){this.logger.info("Stopping Focus History Queue Service"),this.ngZone.runOutsideAngular(()=>{var u;this.window.removeEventListener("focusin",this.focusIn),this.window.removeEventListener("focusout",this.focusOut),null===(u=this.inputModalitySubscription)||void 0===u||u.unsubscribe()})}}return(L=s).\u0275fac=function(u){return new(u||L)(r.KVO(r.SKi),r.KVO(l.J6),r.KVO(l.s7),r.KVO(A.p))},L.\u0275prov=r.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})(),S=(()=>{var L;class s{get enabled(){return this._enabled}constructor(u,x,p){var i;this.focusHistoryQueueService=x,this.logginService=p,this.spatialNavigation=void 0,this._navigate=void 0,this._enabled=!1,this.config=null!==(i=null==u?void 0:u.spatialNavigationConfig)&&void 0!==i?i:{},this.spatialNavigation=window.__spatialNavigation__,this.logger=this.logginService.getLogger("SpatialNavigationService"),this.spatialNavigation&&(this._navigate=window.navigate,this.spatialNavigation.keyMode="NONE"),this.logger.info(`Constructor: this.spatialNavigation=${!!this.spatialNavigation}, window.__spatialNavigation__=${!!window.__spatialNavigation__}`)}setNavigationContainerCssStyles(u,x,p,i=!0){this.enabled&&(u.setAttribute("data-spatial-navigation-contain","contain"),u.setAttribute("data-spatial-navigation-action",p),u.style.setProperty("--spatial-navigation-function",x),"focus"===p&&i&&u.style.setProperty("scroll-behavior","smooth"))}enable(u){var x,p;this._enabled=u,this.activated=u,this.enabled?(null===(x=this.config)||void 0===x?void 0:x.focusHistoryQueueSize)>0&&this.focusHistoryQueueService.start(this.config.focusHistoryQueueSize):(null===(p=this.config)||void 0===p?void 0:p.focusHistoryQueueSize)>0&&this.focusHistoryQueueService.stop()}get activated(){return!(!this.spatialNavigation||"NONE"===this.spatialNavigation.keyMode)}set activated(u){!this.enabled||!this.spatialNavigation||(this.spatialNavigation.keyMode=u?"ARROW":"NONE")}setStartingPoint(u){if(!this.enabled||!this.spatialNavigation)return;if(!u)return void this.spatialNavigation.setStartingPoint(null);const x=u.getBoundingClientRect();this.spatialNavigation.setStartingPoint(x.x+x.width/2,x.y+x.height/2)}setStartingPointAt(u,x){!this.enabled||!this.spatialNavigation||this.spatialNavigation.setStartingPoint(u,x)}getClosestChild(u,x,p,i){const o=x.focusableAreas({mode:"all"});let _=this.getClosestChildInternal(u,x,p,o);if(!_&&(null==i?void 0:i.length)>0)for(const f of i)if(_=this.getClosestChildInternal(u,x,f,o),_)break;return _}getClosestChildInternal(u,x,p,i){return u.spatialNavigationSearch(p,{container:x,candidates:i})}isFullyInViewport(u){return new e.c(x=>{const p=new IntersectionObserver(i=>{var o;const _=null===(o=i.filter(f=>f.intersectionRatio<1))||void 0===o?void 0:o[0];x.next(!_)});return p.observe(u),function(){p.disconnect()}})}onClick(u){return(0,n.v)(()=>(u instanceof HTMLAnchorElement&&(u.tabIndex=0),(0,E.h)((0,O.R)(u,"click"),(0,O.R)(u,"keydown")).pipe((0,P.ZZ)(x=>x instanceof MouseEvent||"Enter"===x.key||" "===x.key?(0,B.of)(x):(0,B.of)(void 0)))))}isDefaultFocusRequired(){return this.enabled&&!!this.config.isDefaultFocusRequired}navigate(u){var x;null===(x=this._navigate)||void 0===x||x.call(this,u)}isFocusable(u){if(!this.spatialNavigation||!this.spatialNavigation.isFocusable){const x=window.__spatialNavigation__;this.logger.info(`this.spatialNavigation=${!!this.spatialNavigation}, this.spatialNavigation.isFocusable=${!!this.spatialNavigation.isFocusable}`),this.logger.info(`window.__spatialNavigation__=${!!x}, window.__spatialNavigation__.isFocusable=${!!x.isFocusable}`),this.logger.info(`this.spatialNavigation===window.__spatialNavigation__ ? ${this.spatialNavigation===x}`)}return this.spatialNavigation.isFocusable(u)}findNextTarget(u,x,p=document.body){let i,o;const _=u.getBoundingClientRect();return(0,U.o3)(x)?(i="left"===x?_.left-1:_.right+1,o=(_.top+_.bottom)/2):(i=(_.left+_.right)/2,o="up"===x?_.top-1:_.bottom+1),this.setStartingPointAt(i,o),this.getClosestChild(document.body,p,x)}shouldContainFocus(u,x){return Array.isArray(x)?x.includes(u):x}}return(L=s).\u0275fac=function(u){return new(u||L)(r.KVO(k.X,8),r.KVO(I),r.KVO(l.J6))},L.\u0275prov=r.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})()},66221:(xe,de,t)=>{"use strict";t.d(de,{G2:()=>E,On:()=>B,UH:()=>n,le:()=>U,o3:()=>P,yX:()=>k,zo:()=>O});var e=t(81834);function n(r,A,l){const I=new CustomEvent(A,{bubbles:!0,cancelable:!0,detail:{dir:l}});return r.dispatchEvent(I)}function E(r){switch(r){case"ArrowUp":return"up";case"ArrowDown":return"down";case"ArrowLeft":return"left";case"ArrowRight":return"right";default:throw new Error(`${r} is not a valid navigation key value`)}}function O(r){switch(r){case"up":return e.F0.ArrowUp;case"down":return e.F0.ArrowDown;case"left":return e.F0.ArrowLeft;case"right":return e.F0.ArrowRight;default:throw new Error(`${r} is not a valid spatial navigation direction`)}}function B(r){switch(r){case"up":return"down";case"down":return"up";case"left":return"right";case"right":return"left"}}function P(r){return"left"===r||"right"===r}function k(r){return"up"===r||"down"===r}const U=40},62293:(xe,de,t)=>{"use strict";t.d(de,{H:()=>l,g:()=>I});var e=t(11013),n=t(10174),E=t(65706),O=t(8619),B=t(81834),P=t(16229),k=t(58527),U=t(47766),r=t(65597),A=t(65240),l=function(S){return S[S.Link=0]="Link",S[S.Share=1]="Share",S[S.Input=2]="Input",S[S.PlayMedia=3]="PlayMedia",S}(l||{});let I=(()=>{var S;class L{get enabled(){return this._enabled}set enabled(M){this._enabled=M,this.logger.info(`Set UserActivationGuardService enabled: ${M}`)}constructor(M,u,x,p){var i,o,_,f,J;this.snackbarService=u,this.translateService=x,this._enabled=!1,this.guardedTypes=[],this.snackBarOpened=!1,this.logger=M.getLogger("UserActivationGuard"),this.defaultWarningMessage=null==p||null===(i=p.userActivationGuardConfig)||void 0===i?void 0:i.buttonWarningMessage,null!=p&&p.userActivationGuardConfig&&this.logger.info(`UserActivationGuardConfig by HIG injection: ${JSON.stringify(p.userActivationGuardConfig)}`),null!=p&&null!==(o=p.userActivationGuardConfig)&&void 0!==o&&o.link&&this.guardedTypes.push(l.Link),null!=p&&null!==(_=p.userActivationGuardConfig)&&void 0!==_&&_.input&&this.guardedTypes.push(l.Input),null!=p&&null!==(f=p.userActivationGuardConfig)&&void 0!==f&&f.playMedia&&this.guardedTypes.push(l.PlayMedia),null!=p&&null!==(J=p.userActivationGuardConfig)&&void 0!==J&&J.share&&this.guardedTypes.push(l.Share)}displayWarning(M,u){return this.snackbarService.open(this.translateService.instant(M,u))}isGuarded(M){return this.guardedTypes.includes(M)}guard(M,u,x,p){return this.isGuarded(M)?(i,...o)=>{(0,B.Ls)(i)?u(i,...o):this.triggerWarningMsg(i,x,p)}:u}triggerWarningMsg(M,u,x){if(!this.snackBarOpened){const o=this.displayWarning(null!=u?u:this.defaultWarningMessage,null!=x&&x.interpolationKey?{[x.interpolationKey]:null!=x&&x.useInnerText?M.target.innerText:null==x?void 0:x.text}:void 0);(0,P.h)(o.afterOpened().pipe((0,n.u)(!0)),o.afterDismissed().pipe((0,n.u)(!1))).pipe((0,E.s)(2)).subscribe(_=>{this.snackBarOpened=_})}}guardObservable(M,u,x,p){return this.isGuarded(M)?u.pipe((0,O.p)(i=>{const o=!(0,B.Ls)(i);return o&&this.triggerWarningMsg(i,x,p),!o})):u}}return(S=L).\u0275fac=function(M){return new(M||S)(k.KVO(U.J6),k.KVO(r.UG),k.KVO(A.c$),k.KVO(e.X,8))},S.\u0275prov=k.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},19061:(xe,de,t)=>{"use strict";t.d(de,{r:()=>q,le:()=>W.le,c_:()=>y.c,rX:()=>d,t4:()=>U.t,bm:()=>e.bm,Xv:()=>n.X,uh:()=>ne.u,GR:()=>B.G,pf:()=>Rt.p,rG:()=>Rt.r,Vm:()=>et,Oi:()=>Ue,f$:()=>b.f,wN:()=>k.w,_m:()=>A._,Lb:()=>P.L,nO:()=>Z.n,QO:()=>ee.QO,Oh:()=>g,ti:()=>gt.t,RM:()=>L.R,WF:()=>R.W,f3:()=>Mt.f,ED:()=>h.E,pX:()=>X,fj:()=>c,gE:()=>T.g,HK:()=>T.H,A6:()=>ee.A6,zo:()=>W.zo,On:()=>W.On,Bo:()=>vt.Bo,G2:()=>W.G2});var e=t(27583),n=t(11013),B=(t(5428),t(49752),t(99564)),P=t(29824),k=t(77970),U=t(97363),A=(t(66253),t(80282)),I=(t(94329),t(81834)),S=t(47766),L=t(2218),u=(t(16924),t(14605),t(69996)),x=t(33420);t(80362);var R=t(2239),h=(t(54676),t(94222)),W=t(73318),ne=t(37537),ee=t(72818),b=t(24841),F=(t(60990),t(81247)),Z=t(13090),se=t(44968),Y=t(58527);let q=(()=>{var ct;class Me{constructor(Tt,kt,At,mn){this.ngZone=At,this.applicationLifetimeService=mn,this.backToExitAppEnabled=!1,this.backToExitAppListener=rn=>{"Escape"!==rn.key&&"GoBack"!==rn.key||rn.defaultPrevented||this.ngZone.run(()=>{this.logger.info("Requesting application exit"),this.applicationLifetimeService.shutdownApplication(se.pu.ApplicationRequestedExit)})},this.logger=Tt.getLogger("BackNavigationService"),this.window=kt.window}enableBackToExitApp(){this.backToExitAppEnabled||(this.logger.info("Enabling back to exit app"),this.ngZone.runOutsideAngular(()=>{this.window.addEventListener("keydown",this.backToExitAppListener)}),this.backToExitAppEnabled=!0)}disableBackToExitApp(){this.backToExitAppEnabled&&(this.logger.info("Disabling back to exit app"),this.window.removeEventListener("keydown",this.backToExitAppListener),this.backToExitAppEnabled=!1)}translateSystemBackTo(Tt){this.logger.info("System back will be translated to",Tt),this.translateTizenBackTo(Tt),this.translateShiftedEscapeTo(Tt)}translateTizenBackTo(Tt){(0,I.mI)()&&this.ngZone.runOutsideAngular(()=>{this.window.addEventListener("tizenhwkey",kt=>{if("back"===kt.keyName){const At=(0,I.Qt)();(0,I.m1)(At,"keydown",Tt),(0,I.m1)(At,"keyup",Tt)}})})}translateShiftedEscapeTo(Tt){const kt=At=>{"Escape"===At.key&&At.shiftKey&&(At.preventDefault(),At.stopImmediatePropagation(),(0,I.m1)(At.target,At.type,Tt))};this.ngZone.runOutsideAngular(()=>{this.window.addEventListener("keydown",kt,{capture:!0}),this.window.addEventListener("keyup",kt,{capture:!0})})}}return(ct=Me).\u0275fac=function(Tt){return new(Tt||ct)(Y.KVO(S.J6),Y.KVO(S.s7),Y.KVO(Y.SKi),Y.KVO(se.lM))},ct.\u0275prov=Y.jDH({token:ct,factory:ct.\u0275fac,providedIn:"root"}),Me})();var T=t(62293),y=(t(40514),t(21684));const X=2,c=1.5,g=480,d={MaxS1Width:479,MaxS2Width:719,MinS3Width:720,MaxS3Width:959,MaxS4Width:1439,MaxS5Width:1919,MinS6Width:1920};var C=t(26537),Q=t(25369),j=t(16490),le=t(61142),ge=t(3457),ie=t(28139),ce=t(47973),G=t(29370),ue=t(36243),ae=t(22355),Ce=t(13906),Se=t(65240);const Ne=["selectorCardElements"],we=ct=>({visibility:ct});function ve(ct,Me){if(1&ct&&(Y.j41(0,"span",8),Y.EFF(1),Y.nI1(2,"translate"),Y.k0s()),2&ct){const bt=Y.XpG();Y.R7$(),Y.JRh(Y.i5U(2,1,bt.data.subtitle.text,null==bt.data.subtitle?null:bt.data.subtitle.placeholders))}}function Pe(ct,Me){1&ct&&Y.eu8(0)}function Oe(ct,Me){if(1&ct&&Y.nrm(0,"img",16),2&ct){const bt=Y.XpG(2);Y.Y8G("src",bt.choiceChip.choiceChipIcon.text,Y.B4B)}}function Be(ct,Me){if(1&ct&&Y.nrm(0,"qrcode",25),2&ct){const bt=Y.XpG().$implicit,Tt=Y.XpG(3);Y.Y8G("qrdata",bt.stepImage.url)("width",Tt.qrCodeWidth)("errorCorrectionLevel","M")}}function tt(ct,Me){if(1&ct&&Y.nrm(0,"mat-icon",26),2&ct){const bt=Y.XpG().$implicit;Y.Y8G("svgIcon",bt.stepImage.matIcon)}}function Ee(ct,Me){if(1&ct&&(Y.j41(0,"div",19)(1,"div",20),Y.DNE(2,Be,1,3,"qrcode",21)(3,tt,1,1,"mat-icon",22),Y.k0s(),Y.j41(4,"span",23),Y.EFF(5),Y.nI1(6,"translate"),Y.k0s(),Y.j41(7,"span",24),Y.EFF(8),Y.nI1(9,"translate"),Y.k0s()()),2&ct){const bt=Me.$implicit;Y.R7$(2),Y.Y8G("ngIf",null==bt||null==bt.stepImage?null:bt.stepImage.url),Y.R7$(),Y.Y8G("ngIf",null==bt||null==bt.stepImage?null:bt.stepImage.matIcon),Y.R7$(2),Y.JRh(Y.bMT(6,4,bt.stepTitle.text)),Y.R7$(3),Y.JRh(Y.bMT(9,6,bt.stepDescription.text))}}function ot(ct,Me){if(1&ct&&(Y.j41(0,"div",17),Y.DNE(1,Ee,10,8,"div",18),Y.k0s()),2&ct){const bt=Y.XpG(2);Y.R7$(),Y.Y8G("ngForOf",bt.choiceChip.choiceChipContent)}}function We(ct,Me){if(1&ct){const bt=Y.RV6();Y.j41(0,"button",27),Y.bIt("click",function(){const kt=Y.eBV(bt).$implicit,At=Y.XpG(2);return Y.Njj(At.onButtonClick(kt))}),Y.EFF(1),Y.nI1(2,"translate"),Y.k0s()}if(2&ct){const bt=Me.$implicit;Y.Y8G("disabled",null==bt?null:bt.isDisabled),Y.R7$(),Y.SpI(" ",Y.bMT(2,2,bt.text)," ")}}function Qe(ct,Me){if(1&ct&&(Y.j41(0,"span",28),Y.EFF(1),Y.nI1(2,"translate"),Y.k0s()),2&ct){const bt=Y.XpG(2);Y.R7$(),Y.JRh(Y.bMT(2,1,bt.choiceChip.choiceChipStatusText.title.text))}}function Fe(ct,Me){if(1&ct&&(Y.j41(0,"div",9)(1,"div",10),Y.DNE(2,Oe,1,1,"img",11),Y.j41(3,"span"),Y.EFF(4),Y.nI1(5,"translate"),Y.k0s()(),Y.DNE(6,ot,2,1,"div",12),Y.j41(7,"div",13),Y.DNE(8,We,3,4,"button",14),Y.k0s(),Y.DNE(9,Qe,3,3,"span",15),Y.k0s()),2&ct){const bt=Y.XpG();Y.R7$(2),Y.Y8G("ngIf",null==bt.choiceChip.choiceChipIcon?null:bt.choiceChip.choiceChipIcon.text),Y.R7$(2),Y.JRh(bt.choiceChip.choiceChipTitle.translated?bt.choiceChip.choiceChipTitle.text:Y.bMT(5,5,bt.choiceChip.choiceChipTitle.text)),Y.R7$(2),Y.Y8G("ngIf",bt.choiceChip.choiceChipContent),Y.R7$(2),Y.Y8G("ngForOf",null==bt.choiceChip?null:bt.choiceChip.choiceChipButtons),Y.R7$(),Y.Y8G("ngIf",null==bt.choiceChip||null==bt.choiceChip.choiceChipStatusText?null:bt.choiceChip.choiceChipStatusText.title)}}function Xe(ct,Me){if(1&ct&&(Y.j41(0,"span",41),Y.EFF(1),Y.nI1(2,"translate"),Y.k0s()),2&ct){const bt=Y.XpG().$implicit;Y.R7$(),Y.JRh(Y.bMT(2,1,bt.secondaryInfo.text))}}function _e(ct,Me){if(1&ct&&Y.nrm(0,"mat-icon",42),2&ct){const bt=Y.XpG().$implicit;Y.Y8G("svgIcon",bt.secondaryInfo.matIcon)}}function He(ct,Me){if(1&ct&&(Y.j41(0,"span",43),Y.EFF(1),Y.nI1(2,"translate"),Y.k0s()),2&ct){const bt=Y.XpG().$implicit;Y.R7$(),Y.JRh(Y.bMT(2,1,bt.selectorCardStatusText.text))}}function De(ct,Me){if(1&ct){const bt=Y.RV6();Y.j41(0,"button",46),Y.bIt("click",function(){const kt=Y.eBV(bt).$implicit,At=Y.XpG(4);return Y.Njj(At.onButtonClick(kt))}),Y.EFF(1),Y.nI1(2,"translate"),Y.k0s()}if(2&ct){const bt=Me.$implicit;Y.Y8G("disabled",null==bt?null:bt.isDisabled),Y.R7$(),Y.SpI(" ",Y.bMT(2,2,bt.text)," ")}}function Re(ct,Me){if(1&ct&&(Y.j41(0,"div",44),Y.DNE(1,De,3,4,"button",45),Y.k0s()),2&ct){const bt=Y.XpG().$implicit;Y.R7$(),Y.Y8G("ngForOf",bt.selectorCardButtons)}}function K(ct,Me){if(1&ct){const bt=Y.RV6();Y.j41(0,"div",31,2),Y.bIt("focus",function(){const kt=Y.eBV(bt).index,At=Y.XpG(2);return Y.Njj(At.expandSelectorCard(kt))})("mousemove",function(){const kt=Y.eBV(bt).index,At=Y.XpG(2);return Y.Njj(At.expandSelectorCard(kt))}),Y.j41(2,"div",32),Y.nrm(3,"img",33),Y.j41(4,"span",34),Y.EFF(5),Y.k0s()(),Y.j41(6,"div",35)(7,"div",36),Y.DNE(8,Xe,3,3,"span",37)(9,_e,1,1,"mat-icon",38),Y.k0s(),Y.DNE(10,He,3,3,"span",39),Y.k0s(),Y.DNE(11,Re,2,1,"div",40),Y.k0s()}if(2&ct){const bt=Me.$implicit,Tt=Me.index,kt=Y.XpG(2);Y.HbH(Tt===kt.expandedSelectorCardIndex?"expanded":Tt>kt.expandedSelectorCardIndex?"next-card":"previous-card"),Y.R7$(3),Y.Y8G("ngStyle",Y.eq3(9,we,null!=bt.selectorCardIcon&&bt.selectorCardIcon.url?"visible":"hidden"))("src",bt.selectorCardIcon.url,Y.B4B),Y.R7$(2),Y.JRh(bt.selectorCardIcon.caption),Y.R7$(3),Y.Y8G("ngIf",null==bt||null==bt.secondaryInfo?null:bt.secondaryInfo.text),Y.R7$(),Y.Y8G("ngIf",null==bt||null==bt.secondaryInfo?null:bt.secondaryInfo.matIcon),Y.R7$(),Y.Y8G("ngIf",null==bt?null:bt.selectorCardStatusText),Y.R7$(),Y.Y8G("ngIf",null==bt?null:bt.selectorCardButtons)}}function ke(ct,Me){if(1&ct&&(Y.j41(0,"div",29),Y.DNE(1,K,12,11,"div",30),Y.k0s()),2&ct){const bt=Y.XpG();Y.Y8G("isRTL",bt.isRTL),Y.R7$(),Y.Y8G("ngForOf",bt.data.content)}}let Ue=(()=>{var ct;class Me extends Q.D{expandSelectorCard(Tt,kt=!0){var At;kt&&Tt===this.expandedSelectorCardIndex&&null!==(At=this.selectorCardElements.get(this.expandedSelectorCardIndex))&&void 0!==At&&null!==(At=At.nativeElement)&&void 0!==At&&At.contains(document.activeElement)||(this.expandedSelectorCardIndex=Tt,setTimeout(()=>{this.focusManager.focusChild(this.selectorCardElements.get(this.expandedSelectorCardIndex).nativeElement,"initial")}))}constructor(Tt,kt,At,mn,rn,Tn){super(kt,At,Tt,mn),this.focusManager=rn,this.localeService=Tn,this.buttonClick=new Y.bkB,this.qrCodeWidth=200,this.isRTL=!1,this.expandedSelectorCardIndex=0,this.data=Tt.get(C.Vh,null),this.isRTL=this.localeService.isRTLLayoutEnabled,this.data.content&&this.setContentData(this.data.content)}onButtonClick(Tt){this.buttonClick.emit(Tt)}setContentData(Tt){Tt.choiceChipTitle?this.choiceChip=Tt:this.selectorCards=Tt}ngAfterViewInit(){this.selectorCardElements.length>0&&this.expandSelectorCard(this.expandedSelectorCardIndex,!1)}}return(ct=Me).\u0275fac=function(Tt){return new(Tt||ct)(Y.rXU(Y.zZn),Y.rXU(C.CP,8),Y.rXU(j.eN,8),Y.rXU(Y.SKi),Y.rXU(y.c),Y.rXU(S.iH))},ct.\u0275cmp=Y.VBU({type:ct,selectors:[["nv-hig-fullpage-dialog"]],viewQuery:function(Tt,kt){if(1&Tt&&Y.GBs(Ne,5),2&Tt){let At;Y.mGM(At=Y.lsd())&&(kt.selectorCardElements=At)}},inputs:{data:"data"},outputs:{buttonClick:"buttonClick"},features:[Y.Vt3],decls:13,vars:11,consts:[["choiceChipTemplate",""],["selectorCardsTemplate",""],["selectorCardElements",""],["nvHigBackgroundImageOverlay","","fxFlex","","fxLayout","column","nvTrapFocus","",1,"fullpage-dialog",3,"imageUrl"],[1,"header","font-sub1"],[1,"title","font-header4"],["class","subtitle font-body2",4,"ngIf"],[4,"ngIf","ngIfThen","ngIfElse"],[1,"subtitle","font-body2"],["fxLayout","column",1,"choice-chip-container"],[1,"choice-chip","font-sub2"],["class","chip-icon",3,"src",4,"ngIf"],["fxLayout","row","class","steps",4,"ngIf"],["nvAutoFocus","","autoFocusPolicy","initial",1,"buttons"],["mat-button","","class","font-button2",3,"disabled","click",4,"ngFor","ngForOf"],["class","status-text font-sub3",4,"ngIf"],[1,"chip-icon",3,"src"],["fxLayout","row",1,"steps"],["fxLayout","column","class","step",4,"ngFor","ngForOf"],["fxLayout","column",1,"step"],[1,"icon-container"],[3,"qrdata","width","errorCorrectionLevel",4,"ngIf"],["class","icon font-body2",3,"svgIcon",4,"ngIf"],[1,"step-title","font-body2"],[1,"step-description","font-body3"],[3,"qrdata","width","errorCorrectionLevel"],[1,"icon","font-body2",3,"svgIcon"],["mat-button","",1,"font-button2",3,"click","disabled"],[1,"status-text","font-sub3"],["nvFast1DSpatialNavigation","","fxLayout","row",1,"selector-cards",3,"isRTL"],["class","selector-card","nvFastSpatialNavigationItem","","tabindex","0",3,"class","focus","mousemove",4,"ngFor","ngForOf"],["nvFastSpatialNavigationItem","","tabindex","0",1,"selector-card",3,"focus","mousemove"],[1,"card-icon"],[1,"icon",3,"ngStyle","src"],[1,"font-body3"],[1,"card-text"],[1,"selector-card-secondary-info"],["class","font-sub3 selector-card-secondary-info-text",4,"ngIf"],["class","selector-card-secondary-info-icon icon font-body2",3,"svgIcon",4,"ngIf"],["class","card-status-text font-body3",4,"ngIf"],["class","card-buttons",4,"ngIf"],[1,"font-sub3","selector-card-secondary-info-text"],[1,"selector-card-secondary-info-icon","icon","font-body2",3,"svgIcon"],[1,"card-status-text","font-body3"],[1,"card-buttons"],["mat-button","","class","font-button2 card-button",3,"disabled","click",4,"ngFor","ngForOf"],["mat-button","",1,"font-button2","card-button",3,"click","disabled"]],template:function(Tt,kt){if(1&Tt&&(Y.j41(0,"div",3)(1,"span",4),Y.EFF(2),Y.nI1(3,"translate"),Y.k0s(),Y.j41(4,"span",5),Y.EFF(5),Y.nI1(6,"translate"),Y.k0s(),Y.DNE(7,ve,3,4,"span",6)(8,Pe,1,0,"ng-container",7),Y.k0s(),Y.DNE(9,Fe,10,7,"ng-template",null,0,Y.C5r)(11,ke,2,2,"ng-template",null,1,Y.C5r)),2&Tt){const At=Y.sdS(10),mn=Y.sdS(12);Y.Y8G("imageUrl",null==kt.data?null:kt.data.backgroundImageUrl),Y.R7$(2),Y.JRh(Y.bMT(3,7,kt.data.header.text)),Y.R7$(3),Y.JRh(Y.bMT(6,9,kt.data.title.text)),Y.R7$(2),Y.Y8G("ngIf",null==kt.data?null:kt.data.subtitle),Y.R7$(),Y.Y8G("ngIf",kt.choiceChip)("ngIfThen",At)("ngIfElse",mn)}},dependencies:[le.Sq,le.bT,le.B3,ge.DJ,ge.UI,ie.eI,ce.iV,G.An,ue.c,F.D,ae.N,u.u,x.n,Ce.Z,Se.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}.fullpage-dialog[_ngcontent-%COMP%]{position:fixed;top:0;left:0;max-height:100%;width:100%;height:100%;align-items:center;padding:56px 88px}.fullpage-dialog[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:-1;background:linear-gradient(to top,#000000f2 7.22%,#000000b3)}.header[_ngcontent-%COMP%]{align-self:self-start;color:#fff9}.title[_ngcontent-%COMP%], .subtitle[_ngcontent-%COMP%]{text-align:center}.subtitle[_ngcontent-%COMP%]{margin-top:16px;max-width:1152px}.choice-chip-container[_ngcontent-%COMP%]{align-items:center}.choice-chip[_ngcontent-%COMP%]{display:flex;margin-top:96px}.chip-icon[_ngcontent-%COMP%]{width:32px;height:32px;color:#fff}.isLtr[_nghost-%COMP%] .chip-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .chip-icon[_ngcontent-%COMP%]{margin:auto 16px auto 0}html[dir=ltr][_ngcontent-%COMP%] .chip-icon[_ngcontent-%COMP%]{--dummy: 0;margin:auto 16px auto 0}.isRtl[_nghost-%COMP%] .chip-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .chip-icon[_ngcontent-%COMP%]{margin:auto 0 auto 16px}html[dir=rtl][_ngcontent-%COMP%] .chip-icon[_ngcontent-%COMP%]{--dummy: 0;margin:auto 0 auto 16px}.choice-chip-content[_ngcontent-%COMP%]{display:flex;flex-direction:column}.steps[_ngcontent-%COMP%]{flex-direction:row;justify-content:center;margin:84px 0}.step[_ngcontent-%COMP%]{flex-direction:column;margin:0 48px;text-align:center;width:300px}.icon-container[_ngcontent-%COMP%]{height:200px;margin-bottom:56px}.icon[_ngcontent-%COMP%]{color:#fff;height:200px;width:238px}.step-title[_ngcontent-%COMP%]{align-items:center;border:#ffffff 2px solid;border-radius:24px;color:#fff;display:flex;font-weight:500;height:44px;justify-content:center;margin:0 auto 24px;width:44px}.step-description[_ngcontent-%COMP%]{margin:0;max-width:300px}.buttons[_ngcontent-%COMP%]{display:flex;gap:24px}.status-container[_ngcontent-%COMP%]{text-align:center}.status[_ngcontent-%COMP%]{margin:0}.selector-cards[_ngcontent-%COMP%]{margin-top:96px}.selector-card[_ngcontent-%COMP%]{width:264px;height:544px;margin:20px 16px;text-align:center}.selector-card[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#494949;opacity:0}.selector-card[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{transform:translateY(188px)}.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:24px;align-items:center;opacity:.7}.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:64px;height:64px}.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{min-height:80px}.selector-card[_ngcontent-%COMP%] .card-text[_ngcontent-%COMP%]{box-sizing:border-box;height:110px}.selector-card[_ngcontent-%COMP%] .selector-card-secondary-info[_ngcontent-%COMP%]{height:30px;margin-top:16px;display:inline-flex;flex-direction:row;gap:16px}.selector-card[_ngcontent-%COMP%] .selector-card-secondary-info-icon[_ngcontent-%COMP%]{height:32px;width:32px;color:#76b900}.selector-card[_ngcontent-%COMP%] .card-status-text[_ngcontent-%COMP%], .selector-card[_ngcontent-%COMP%] .card-buttons[_ngcontent-%COMP%]{opacity:0}.selector-card.next-card[_ngcontent-%COMP%]{transform:translate(74px)}.selector-card.previous-card[_ngcontent-%COMP%]{transform:translate(-74px)}.isRtl[_nghost-%COMP%] .selector-card.next-card[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .selector-card.next-card[_ngcontent-%COMP%]{transform:translate(-74px)}.isRtl[_nghost-%COMP%] .selector-card.previous-card[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .selector-card.previous-card[_ngcontent-%COMP%]{transform:translate(74px)}.expanded.selector-card[_ngcontent-%COMP%]{transform:scale(1.6818181818,1.0735294118)}.expanded.selector-card[_ngcontent-%COMP%]:before{opacity:.8}.expanded.selector-card[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{transform:scale(.5945945946,.9315068493) translateZ(0) translateY(96px)}.expanded.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%]{opacity:1}.expanded.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{transform:scale(1.25)}.expanded.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:700}.tv-view[_ngcontent-%COMP%] .expanded.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .expanded.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .expanded.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.expanded.selector-card[_ngcontent-%COMP%] .card-status-text[_ngcontent-%COMP%], .expanded.selector-card[_ngcontent-%COMP%] .card-buttons[_ngcontent-%COMP%]{opacity:1}.expanded.selector-card[_ngcontent-%COMP%] .card-buttons[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px;width:100%;min-height:160px}.expanded.selector-card[_ngcontent-%COMP%] .card-buttons[_ngcontent-%COMP%] .card-button[_ngcontent-%COMP%]{height:72px}.selector-card[_ngcontent-%COMP%]{--transition-duration: .2s;transition-property:transform;transition-duration:var(--transition-duration);transition-timing-function:ease-out}.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%], .selector-card[_ngcontent-%COMP%] .card-text[_ngcontent-%COMP%]{transition-property:transform;transition-duration:var(--transition-duration);transition-timing-function:ease-out}.selector-card[_ngcontent-%COMP%]:before{transition-property:opacity;transition-duration:var(--transition-duration);transition-timing-function:ease-out}.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%]{transition-property:transform,opacity;transition-duration:var(--transition-duration);transition-timing-function:ease-out}.selector-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{transition-property:font-size,font-weight;transition-duration:var(--transition-duration);transition-timing-function:ease-out}.selector-card.expanded[_ngcontent-%COMP%]{--transition-duration: .25s}.selector-card.expanded[_ngcontent-%COMP%] .card-buttons[_ngcontent-%COMP%]{transition-property:opacity;transition-duration:var(--transition-duration);transition-timing-function:ease-out;transition-delay:.2s}']}),Me})(),et=(()=>{var ct;class Me{constructor(Tt,kt){this.matDialog=Tt,this.focusManager=kt}open(Tt,kt){return this.focusManager.restoreFocusAfterClosed(()=>this.matDialog.open(Ue,{data:Tt,autoFocus:!1,maxWidth:"100vw",panelClass:"dialogPaddingRemove",height:"100%",width:"100%"}),kt)}}return(ct=Me).\u0275fac=function(Tt){return new(Tt||ct)(Y.KVO(C.bZ),Y.KVO(y.c))},ct.\u0275prov=Y.jDH({token:ct,factory:ct.\u0275fac,providedIn:"root"}),Me})();var gt=t(23500),vt=t(34842),Mt=t(44753),Rt=t(26784);t(13267)},68868:(xe,de,t)=>{"use strict";t.d(de,{p:()=>u,M:()=>S});var e=t(80583),n=t(36877),E=t(43848),O=t(27731),B=t(16229),P=t(8619),k=t(72147),U=t(10174),r=t(73180),A=t(83915),l=t(55833),I=t(53461),S=function(x){return x.Keyboard="Keyboard",x.Gamepad="Gamepad",x.Mouse="Mouse",x.Touch="Touch",x}(S||{}),L=t(58527),s=t(47766),M=t(48852);let u=(()=>{var x;class p{get lastFocusOrigin(){return this.focusOriginModality.focusOrigin}get lastInputModality(){return this.focusOriginModality.inputModality}get inputModalityChanged$(){return this.inputModalityChangedSubject.asObservable().pipe((0,P.p)(o=>this.monitoringActivated))}constructor(o,_,f){this.gamepadService=_,this.ngZone=f,this.focusOriginModality={},this.monitoringActivated=!1,this.inputModalityChangedSubject=new e.B7,this.logger=o.getLogger("InputModalityService"),this.ngZone.runOutsideAngular(()=>{const J=(0,n.R)(document,"keydown",{capture:!0}).pipe((0,k.n)(N=>"GoBack"===N.key?(0,E.of)(S.Touch):N.isTrusted?(0,E.of)(S.Keyboard):O.t)),a=this.gamepadService.isAnyGamepadInUse$.pipe((0,P.p)(N=>!0===N),(0,U.u)(S.Gamepad)),D=(0,n.R)(document,"mousemove",{capture:!0}).pipe((0,r.c)(50),(0,U.u)(S.Mouse)),te=(0,n.R)(document,"pointerdown",{capture:!0}).pipe((0,P.p)(N=>"mouse"===N.pointerType||"touch"===N.pointerType),(0,A.T)(N=>"mouse"===N.pointerType?S.Mouse:S.Touch));this.updateMonitoringActivationState(!0),(0,B.h)(J,a,te,D).pipe((0,l.t)(1),(0,I.F)()).subscribe(N=>this.inputModalityChangedSubject.next(N))})}startMonitoring(){var o;this.logger.info("start monitoring"),null===(o=this.focusOriginModalitySubscription)||void 0===o||o.unsubscribe(),this.focusOriginModalitySubscription=this.ngZone.runOutsideAngular(()=>this.inputModalityChanged$.pipe((0,A.T)(_=>{let f;switch(_){case S.Keyboard:case S.Gamepad:f="keyboard";break;case S.Mouse:f="mouse";break;case S.Touch:f="touch"}return{focusOrigin:f,inputModality:_}})).subscribe(_=>this.focusOriginModality=_))}stopMonitoring(){var o;this.logger.info("stop monitoring"),null===(o=this.focusOriginModalitySubscription)||void 0===o||o.unsubscribe(),this.focusOriginModalitySubscription=void 0,this.focusOriginModality={}}updateMonitoringActivationState(o){this.monitoringActivated=o}}return(x=p).\u0275fac=function(o){return new(o||x)(L.KVO(s.J6),L.KVO(M.bi),L.KVO(L.SKi))},x.\u0275prov=L.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},68082:(xe,de,t)=>{"use strict";t.d(de,{Yb:()=>ne,M4:()=>i,Uz:()=>Ee,bb:()=>ee});var e=t(85735),n=t(43848),E=t(83915);const P={userId:"",core:{displayName:"",primaryEmail:"",birthdate:"",preferredLocale:"",primaryEmailVerified:"",created:"",lastLogin:"",passwordLastChanged:"",linkedAccounts:{}},privacySettings:{},isAuthenticated:!1};class k{constructor(){}}var U=t(75707),r=t(26875);class A{static encode(We){const Qe=new A;return Qe.data=window.btoa(encodeURIComponent(JSON.stringify(We))),Qe}static decode(We){return JSON.parse(decodeURIComponent(window.atob(We.data)))}}class l{static loadFrom(We,Qe){const Fe=(0,r.isEmpty)(Qe)?"session":`sdk/${Qe}/session`;return We.readBlock(Fe).pipe((0,U.ZZ)(Xe=>(0,n.of)(new l(A.decode(Xe)))))}constructor(We){this.data=(0,r.isNil)(We)?{userToken:null,user:P}:We}get user(){return this.data.user}set user(We){this.data.user=We}get sessionToken(){return this.sessionTokenString}set sessionToken(We){this.sessionTokenString=We}get userToken(){return this.data.userToken}set userToken(We){this.data.userToken=We}hasUserToken(){return!(0,r.isNil)(this.data.userToken)}hasSessionToken(){return!(0,r.isNil)(this.sessionToken)}writeTo(We,Qe){const Fe=(0,r.isEmpty)(Qe)?"session":`sdk/${Qe}/session`;return We.writeBlock(Fe,A.encode(this.data))}get affiliateStatus(){return this.data.isAffiliated}set affiliateStatus(We){this.data.isAffiliated=We}get expiry(){return this.data.expiry}set expiry(We){this.data.expiry=We}}var M=t(33367),x=function(ot){return ot.ShowLoginDialogStarted="Showing Login Dialog",ot.ShowLoginDialogCompleted="Login Dialog Shown",ot.LoginStarted="Login Started",ot.LoginCompleted="Login Completed",ot.LoginAbortedByUser="Login Aborted: User Cancelled Login",ot.LoginAbortedAlreadyLoggedIn="Login Aborted: Already Logged In",ot.LoginFailed="Login Failed",ot.LogoutStarted="Logout Started",ot.LogoutCompleted="Logout Complted",ot.LogoutFailed="Logout Failed",ot}(x||{}),p=t(58527);let i=(()=>{var ot;class We{}return(ot=We).\u0275fac=function(Fe){return new(Fe||ot)},ot.\u0275prov=p.jDH({token:ot,factory:ot.\u0275fac}),We})();var o=function(ot){return ot.Browser="Browser",ot.Cef="Cef",ot.Android="Android",ot}(o||{}),_=t(61142),f=t(94485),J=t(35146),a=t(59859),D=t(99047),te=t(10174),N=t(91384),z=t(14714),R=t(8619),v=t(43615),h=t(81834),W=t(21333);class ne extends W.yN{constructor(We){super("Could not fetch delegate token",We)}}class ee extends W.yN{constructor(){super("invalid or missing userSession parameter",null)}}var b=t(40996),w=t(47766),F=t(27731),Z=t(15652),se=t(93181),Y=t(65706),q=t(70815),T=t(76449),H=t(29567);const y="JARVIS",X=".com",g=3e4,C=2,Q=1e3;let j=(()=>{var ot;class We{constructor(Fe,Xe,_e,He,De,Re,K,ke){this.jarvisConfig=Fe,this.endpointFactory=Xe,this.bridgeService=_e,this.systemInfoService=He,this.distributedtracingUtilService=De,this.appConfig=Re;const{defaultRetries:Ue=C,defaultTimeBetweenRetries:et=Q,defaultTimeout:gt=g}=Fe,Rt={config:{maxRetries:Ue,timeout:gt,timeBetweenRetries:et}},Ut={config:{timeout:1e4,maxRetries:Ue,timeBetweenRetries:et}};this.endpointDelegateRequest=this.endpointFactory.createEndpoint(Rt),this.endpointDelegateRedeem=this.endpointFactory.createEndpoint(Rt),this.endpointUserLogin=this.endpointFactory.createEndpoint(Rt),this.endpointClientLogin=this.endpointFactory.createEndpoint(Rt),this.endpointClientChain=this.endpointFactory.createEndpoint(Rt),this.endpointProfileUser=this.endpointFactory.createEndpoint(Rt),this.endpointThirdPartyProvider=this.endpointFactory.createEndpoint(Rt),this.endpointRequestVerify=this.endpointFactory.createEndpoint(Rt),this.endpointProxyCall=this.endpointFactory.createEndpoint(Rt),this.endpointPingServer=this.endpointFactory.createEndpoint(Ut),this.logger=K.getLogger("libraries/jarvis-http.service"),this.fastestDomainStream=ke.createStream(this.getFastestJarvisDomain.bind(this))}get accountsUrl$(){return this.fastestDomainStream.get$().pipe((0,Y.s)(1),(0,E.T)(Fe=>this.jarvisConfig.accountsUrl.replace(X,Fe)))}get serverUrl$(){return this.fastestDomainStream.get$().pipe((0,Y.s)(1),(0,E.T)(Fe=>this.jarvisConfig.url.replace(X,Fe)))}getFastestJarvisDomain(){const Fe={reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Ping"}};let Xe=0;const _e=this.distributedtracingUtilService.startSpan(T.pB.GetFastestDomain),He=[],De=Date.now();return this.jarvisConfig.urlDomains.forEach(Re=>{const K=this.jarvisConfig.url.replace(`${X}/api/1`,`${Re}/ping`),ke=this.endpointPingServer.get(K,Fe).pipe((0,N.M)(()=>this.logger.info("url",K,"response time",Date.now()-De)));He.push(this.distributedtracingUtilService.handleHttpEndpointSpan(ke,Fe,T.pB.JarvisPing,_e).pipe((0,te.u)(Re),(0,N.M)(()=>{this.logger.info(`Jarvis domain set to ${Re}`),_e&&this.distributedtracingUtilService.setSpanAttribute(_e,T.NS.Error,!1)}),(0,z.W)(Ue=>(this.logger.error(`Ping request to ${K} failed with error ${Ue}`),Xe++,Xe>=this.jarvisConfig.urlDomains.length?(this.logger.error("All pings to jarvis servers failed, selecting default"),_e&&this.distributedtracingUtilService.setSpanAttribute(_e,T.NS.Error,!0),(0,n.of)(X)):F.t))))}),(0,Z.O4)(He).pipe((0,N.M)(Re=>{_e&&this.distributedtracingUtilService.setSpanAttribute(_e,T.NS.FastestJarvisDomain,Re),this.distributedtracingUtilService.closeSpan(_e)}))}getLoginToken(Fe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing accessCode parameter");const _e={body:{grant_type:"authorization_code",scope:"Any",code:Fe,redirect_uri:this.jarvisConfig.redirectUrl,client_id:this.jarvisConfig.clientId},reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Get_Login_Token"}};return this.serverUrl$.pipe((0,U.ZZ)(He=>this.endpointDelegateRequest.post(`${He}/oauth/resource`,_e)))}getDelegateToken(Fe,Xe,_e){if((0,r.isNil)(Fe)||0===Fe.trim().length)return(0,a.$)(new ee);const De={body:{clientId:Xe},headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Get_Delegate_Token"}},Re=this.serverUrl$.pipe((0,U.ZZ)(K=>this.endpointUserLogin.post(`${K}/authentication/delegate/request`,De)));return this.distributedtracingUtilService.handleHttpEndpointSpan(Re,De,T.pB.DelegateToken,_e)}proxyPost(Fe,Xe,_e,He){const De={body:He,headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),params:_e};return this.serverUrl$.pipe((0,U.ZZ)(Re=>this.endpointProxyCall.post(`${Re}/proxy/${Xe}`,De)))}redeemDelegateToken(Fe,Xe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing delegateToken parameter");return(0,se.p)([this.systemInfoService.getSystemInfo([w.Lu.DeviceId]),this.serverUrl$]).pipe((0,U.ZZ)(([_e,He])=>{const Re={body:{clientId:this.jarvisConfig.clientId,clientDescription:this.jarvisConfig.clientDescription,deviceId:_e.DeviceId,scope:Xe||"session_token"},headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Redeem_Delegate_Token"}};return this.endpointDelegateRedeem.post(`${He}/authentication/delegate/redeem`,Re)}))}getUserToken(Fe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing loginToken parameter");return(0,se.p)([this.systemInfoService.getSystemInfo([w.Lu.SystemName,w.Lu.DeviceId]),this.serverUrl$]).pipe((0,U.ZZ)(([Xe,_e])=>{const De={body:{clientId:this.jarvisConfig.clientId,clientDescription:this.jarvisConfig.clientDescription,deviceDescription:Xe.SystemName,deviceId:Xe.DeviceId},headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Get_User_Token"}};return this.endpointUserLogin.post(`${_e}/authentication/user/login`,De)}),(0,z.W)(Xe=>(this.logger.error("Error while accessing the endpoint",Xe),(0,a.$)(Xe))))}getSessionToken(Fe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing userToken parameter");return(0,se.p)([this.systemInfoService.getSystemInfo([w.Lu.DeviceId]),this.serverUrl$]).pipe((0,U.ZZ)(([Xe,_e])=>{const De={body:{clientCapabilities:["OAuthPortal"],clientId:this.jarvisConfig.clientId,clientDescription:this.jarvisConfig.clientDescription.replace("{VERSION}",this.appConfig.get().build.version),deviceId:Xe.DeviceId},headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Get_Session_Token"}};return this.endpointClientLogin.post(`${_e}/authentication/client/login`,De)}))}chainSession(Fe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing userSession parameter");return(0,se.p)([this.systemInfoService.getSystemInfo([w.Lu.DeviceId]),this.serverUrl$]).pipe((0,U.ZZ)(([Xe,_e])=>{const De={body:{clientId:this.jarvisConfig.clientId,deviceId:Xe.DeviceId},headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Chain_Session"}};return this.endpointClientChain.post(`${_e}/authentication/client/chain`,De)}))}getUserInfo(Fe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing sessionToken parameter");const Xe={headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Get_User_Info"}};return this.serverUrl$.pipe((0,U.ZZ)(_e=>this.endpointProfileUser.get(`${_e}/profile/user`,Xe)))}getProviderInfo(Fe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing sessionToken parameter");const Xe={headers:this.getJarvisAuthorizeHeaders(`${Fe}:`),reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Get_Third_Party_Provider_Info"}};return this.serverUrl$.pipe((0,U.ZZ)(_e=>this.endpointThirdPartyProvider.get(`${_e}/authentication/hints/token/linkedaccount`,Xe)))}requestEmailVerify(Fe){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing emailAddress parameter");const Xe={body:{email:Fe},reportRequestData:{originalService:y,serviceUseCase:"JARVIS_Request_Email_Verify"}};return this.serverUrl$.pipe((0,U.ZZ)(_e=>this.endpointRequestVerify.post(`${_e}/profile/user/email/requestverify`,Xe)))}getJarvisAuthorizeHeaders(Fe){const Xe=window.btoa(Fe);return{[q.SA.authorization]:`Basic ${Xe}`}}getDeviceId(){return this.bridgeService.executeCommand(M.Od.GenericCommand("QUERY_DEVICE_ID","",""),{})}getSharedUserData(Fe,Xe,_e){if((0,r.isNil)(Fe)||0===Fe.trim().length)throw new Error("invalid or missing userSession parameter");const He={headers:this.getJarvisAuthorizeHeaders(`${Fe}:`)};return this.serverUrl$.pipe((0,U.ZZ)(De=>this.endpointUserLogin.get(`${De}/datastore/user/shared/${Xe}/client/${_e}`,He)))}}return(ot=We).\u0275fac=function(Fe){return new(Fe||ot)(p.KVO(i),p.KVO(q.t),p.KVO(w.NZ),p.KVO(w.zW),p.KVO(T.Z1),p.KVO(H.oO),p.KVO(w.J6),p.KVO(h.mZ))},ot.\u0275prov=p.jDH({token:ot,factory:ot.\u0275fac,providedIn:"root"}),We})();var le=t(26513),ge=t(36877),ie=t(892),ce=t(72147),G=t(28653),ue=t(25590),ae=t(34593);let Se=(()=>{var ot;class We{constructor(Fe,Xe,_e,He){this.bridgeService=Fe,this.nativeEventService=_e,this.distributedTracingUtilService=He,this.checkWindowOpenInterval=200,this.loginWindow=null,this.isWindowOpen=new le.t(!1),this.logger=Xe.getLogger("jarvis/o-auth")}oAuthLogin(Fe,Xe){if(!Fe||0===Fe.trim().length)throw new Error("invalid or missing Login Url");if(!Xe)throw new Error("invalid or missing OAuth Config");const _e=this.getWindowParamsString(Xe.windowParams),He=this.distributedTracingUtilService.startSpan(T.pB.JarvisOAuth);Fe=this.distributedTracingUtilService.getFormattedUrlForHttpPopupSpan(Fe,He);const De=(0,ge.R)(window,"message").pipe((0,R.p)(K=>this.validateMessageEvent(K)),(0,E.T)(K=>(this.logger.info("Captured OAuth data via post message:",K.data),K.data.error?this.distributedTracingUtilService.closeHttpPopupSpan(He,!0,K.data.error):this.distributedTracingUtilService.closeHttpPopupSpan(He,!1,{failedUrl:Fe,errorCode:"",errorText:""}),this.loginWindow.close(),this.isWindowOpen.next(!1),this.getMessageAccessCode(K))),(0,D.$)());this.loginWindow=window.open(Fe,Xe.popUpWindowName,_e),this.logger.info("login window opened with url",Fe),this.isWindowOpen.next(!0);const Re=(0,ge.R)(window,"focus").pipe((0,ce.n)(K=>(K&&K.preventDefault(),this.bridgeService.executeCommand(M.Ts.Common.Windowcontrol.Focus,{name:"app_oauth_window_with_back_button"})))).subscribe(K=>{},K=>{this.logger.error("Failed to set focus with error: ",K)});if(Xe.useAppUrl){const K=(0,ie.Y)(this.checkWindowOpenInterval).pipe((0,G.j)(()=>!this.loginWindow.closed),(0,E.T)(Ue=>(this.isWindowOpen.next(!1),Re.unsubscribe(),null)),(0,D.$)()),ke=this.nativeEventService.getNativeEvent$(w.D4.RouteChange).pipe((0,R.p)(Ue=>Ue.newRoute.startsWith("oauth/")),(0,E.T)(Ue=>(this.isWindowOpen.next(!1),Re.unsubscribe(),this.loginWindow.close(),this.getUrlAccessCode(Ue.newRoute))),(0,D.$)());return(0,Z.O4)(K,ke)}return(0,ie.Y)(this.checkWindowOpenInterval).pipe((0,G.j)(()=>!this.loginWindow.closed),(0,ue.E)(De.pipe((0,ae.Z)(null))),(0,E.T)(([K,ke])=>(this.isWindowOpen.next(!1),Re.unsubscribe(),ke)),(0,D.$)())}checkIsWindowOpen(){return this.isWindowOpen.asObservable()}tryCloseOAuthWindow(){null!==this.loginWindow&&!this.loginWindow.closed&&this.loginWindow.close()}getWindowParamsString(Fe={}){let Xe="";Fe.toolbar&&(Xe+=`toolbar=${Fe.toolbar},`),Fe.location&&(Xe+=`location=${Fe.location},`),Fe.menubar&&(Xe+=`menubar=${Fe.menubar},`),Fe.fullscreen&&(Xe+=`fullscreen=${Fe.fullscreen},`),Fe.resizable&&(Xe+=`resizable=${Fe.resizable},`),Fe.scrollbars&&(Xe+=`scrollbars=${Fe.scrollbars},`);const _e=Fe.width?Fe.width:window.innerWidth,He=Fe.height?Fe.height:window.innerHeight,De=Fe.top?Fe.top:window.screenY+window.innerHeight/2-He/2;return Xe+=`width=${_e},`,Xe+=`height=${He},`,Xe+=`left=${Fe.left?Fe.left:window.screenX+window.innerWidth/2-_e/2},`,Xe+=`top=${De},`,Xe}validateMessageEvent(Fe){let Xe=Fe&&Fe.data;return w.zk.isBrowserPlatform()&&(Xe=Xe&&Fe.origin===window.location.origin&&"oauth"===Fe.data.key),!!Xe}getCodeFromLocalStorage(Fe){const Xe=window.localStorage.getItem(Fe);window.localStorage.removeItem(Fe);try{return JSON.parse(Xe)}catch{return this.logger.error("malformed access code object",Xe),null}}getMessageAccessCode(Fe){let Xe;return Xe=w.zk.isBrowserPlatform()?this.getCodeFromLocalStorage((0,r.get)(Fe,"data.key")):Fe.data,(0,r.get)(Xe,"code")}getUrlAccessCode(Fe){const Xe=Fe.indexOf("?")>-1?Fe.split("?"):Fe.split("#/");if(Xe.length>1){let _e=new URLSearchParams(Xe[1]).get("code");const He=new URLSearchParams(Xe[1]).get("access_token");return _e?_e=_e.split("#/")[0]:He&&(_e=He),_e}return""}}return(ot=We).\u0275fac=function(Fe){return new(Fe||ot)(p.KVO(w.NZ),p.KVO(w.J6),p.KVO(w.dU),p.KVO(T.Z1))},ot.\u0275prov=p.jDH({token:ot,factory:ot.\u0275fac,providedIn:"root"}),We})();var Ne=t(66348),we=function(ot){return ot.ALREADY_LOGGED_IN="Already logged in",ot.USER_ABORTED_LOGIN="User aborted login",ot}(we||{});let ve=(()=>{var ot;class We extends k{constructor(Fe,Xe,_e,He,De,Re,K,ke,Ue,et){super(),this.config=Fe,this.jarvisHttpService=_e,this.oAuthService=He,this.sharedStorage=De,this.bridgeService=Re,this.localeService=K,this.networkStatus=Ue,this.gfnSdkService=et,this.SAFE_RETRY_COUNT=5,this.activelyRenewingsession=!1,this.loginTransitionSubject=new e.m(1),this.logger=Xe.getLogger("jarvis/desktop"),this.logger.info("initialize"),Fe.sdkClient&&this.logger.info("Running in GFN SDK mode for SDK client",Fe.sdkClient),window.name!==Fe.appWindowName&&(window.name=Fe.appWindowName),this.sessionTokenSubscription=ke.createStream(this.getSession.bind(this)),this.jarvisUserSubscription=ke.createStream(this.getCurrentUser.bind(this)),this.refreshUser()}get sessionToken(){return this.sessionTokenSubscription.get$().pipe((0,D.$)())}handleError(Fe,Xe){this.logger.error(Fe),Xe.next(!1),Xe.complete()}clearCookies(){const Fe=this.bridgeService.executeCommand(M.Ts.Common.Applicationcontrol.DeleteCookies,{url:".facebook.com",cookiename:""}),Xe=this.bridgeService.executeCommand(M.Ts.Common.Applicationcontrol.DeleteCookies,{url:".google.com",cookiename:""});return(0,J.yU)(Fe,Xe)}updateTransitionState(Fe,Xe,_e){const He=Fe?"loading":"not loading";(0,r.isNil)(_e)?(this.logger.info(`Jarvis state has changed to [${Xe}] and is now ${He}`),this.loginTransitionSubject.next({state:Xe,isLoading:Fe})):(this.logger.error(`Jarvis state has changed to [${Xe}] and is now ${He} with error: ${_e}`),this.loginTransitionSubject.next({state:Xe,isLoading:Fe,error:_e}))}login(Fe=!1,Xe){this.updateTransitionState(!0,x.ShowLoginDialogStarted);const _e=new e.m(1);return(0,J.yU)(this.jarvisUserSubscription.get$(),this.localeService.localeChanged).pipe((0,D.$)(),(0,U.ZZ)(([He,De])=>He.userId===P.userId||Fe?(this.authServiceSubscription&&this.authServiceSubscription.unsubscribe(),this.buildJarvisUrl(this.config,De,Xe)):(this.updateTransitionState(!1,x.ShowLoginDialogCompleted),(0,a.$)(we.ALREADY_LOGGED_IN))),(0,U.ZZ)(He=>this.clearCookies().pipe((0,te.u)(He))),(0,N.M)(()=>this.updateTransitionState(!1,x.ShowLoginDialogCompleted)),(0,U.ZZ)(He=>this.oAuthService.oAuthLogin(He,this.config.oAuthConfig)),(0,U.ZZ)(He=>(0,r.isNil)(He)?(0,a.$)(we.USER_ABORTED_LOGIN):(0,n.of)(He)),(0,N.M)(()=>this.updateTransitionState(!0,x.LoginStarted)),(0,U.ZZ)(He=>this.attemptLogin(He))).subscribe(()=>{_e.next(!0),_e.complete(),this.updateTransitionState(!1,x.LoginCompleted)},He=>{switch(He){case we.ALREADY_LOGGED_IN:_e.next(!0),_e.complete(),this.updateTransitionState(!1,x.LoginAbortedAlreadyLoggedIn);break;case we.USER_ABORTED_LOGIN:_e.next(!0),_e.complete(),this.updateTransitionState(!1,x.LoginAbortedByUser);break;default:this.updateTransitionState(!1,x.LoginFailed,He),this.handleError(He,_e)}}),_e.asObservable()}logout(){this.updateTransitionState(!0,x.LogoutStarted);const Fe=new e.m(1);return this.storeSession(new l).subscribe(Xe=>{this.sessionTokenSubscription.refresh().pipe((0,U.ZZ)(()=>this.jarvisUserSubscription.refresh())).subscribe(()=>{this.logger.info("Logging out user."),Fe.next(!0),Fe.complete(),this.updateTransitionState(!1,x.LogoutCompleted)})},Xe=>(this.updateTransitionState(!1,x.LogoutFailed,Xe),this.handleError(Xe,Fe))),Fe.asObservable()}refreshUser(){return this.refreshSession().pipe((0,U.ZZ)(Fe=>this.jarvisUserSubscription.refresh()))}refreshSession(){return this.activelyRenewingsession?this.sessionToken:(this.activelyRenewingsession=!0,this.sessionTokenSubscription.refresh().pipe((0,N.M)(()=>this.activelyRenewingsession=!1)))}requestVerificationEmail(Fe){return this.jarvisHttpService.requestEmailVerify(Fe).pipe((0,te.u)(!0),(0,z.W)(Xe=>(this.logger.error(Xe),(0,n.of)(!1))))}getDelegateToken(Fe,Xe=!1,_e){return this.safelyFetchData(He=>He.hasSessionToken()?this.jarvisHttpService.getDelegateToken(He.sessionToken,Fe,_e).pipe((0,E.T)(De=>({delegateToken:De.delegateToken,expiration:new Date(De.expiration)})),(0,z.W)((De,Re)=>(this.logger.warn("Could not get delegate token.",De),(0,a.$)(De)))):(0,n.of)(null),null,Xe).pipe((0,z.W)(He=>(0,a.$)(He instanceof ee?He:new ne(He))))}proxyPost(Fe,Xe,_e,He){return this.safelyFetchData(De=>De.hasSessionToken()?this.jarvisHttpService.proxyPost(De.sessionToken,Fe+"/"+Xe,_e,He):(0,n.of)(null),null,!0)}get accountsUrl$(){return this.jarvisHttpService.accountsUrl$}get accountStatusChanged(){let Fe;return this.jarvisUserSubscription.get$().pipe((0,R.p)(Xe=>(0,r.isNil)(Fe)||!(0,r.isEqual)(Fe.userId,Xe.userId)||!(0,r.isEqual)(Fe.core.primaryEmailVerified,Xe.core.primaryEmailVerified)),(0,N.M)(Xe=>{Fe=Xe}))}getThirdPartyProviderInfo(){return this.safelyFetchData(Fe=>Fe.hasSessionToken()?this.jarvisHttpService.getProviderInfo(Fe.sessionToken).pipe((0,E.T)(Xe=>(this.logger.info("Provider received: ",Xe),Xe)),(0,z.W)(Xe=>(this.logger.error("Error to fetch Provider: ",Xe),404===Xe.status?(this.logger.info("Handling as user logged in through native provider"),(0,n.of)(null)):(0,a.$)(Xe)))):(0,a.$)("Has no session token"),null,!0)}get jarvisUserDataChanged(){let Fe;return this.jarvisUserSubscription.get$().pipe((0,R.p)(Xe=>!(0,r.isEqual)(Fe,Xe)),(0,E.T)(Xe=>(Fe=Xe,{newJarvisUser:Xe,oldJarvisUser:Fe})))}get loginTransitionState(){return this.loginTransitionSubject.asObservable()}get isUserTokenAvailable(){return(0,r.isNil)(this.session)?(this.logger.info("Loading session object from shared storage to check if user token is present"),l.loadFrom(this.sharedStorage,this.config.sdkClient).pipe((0,E.T)(Fe=>Fe.hasUserToken()),(0,z.W)(()=>(0,n.of)(!1)))):(0,n.of)(this.session.hasUserToken())}getSharedUserData(Fe,Xe,_e=!1){return this.safelyFetchData(He=>He.hasSessionToken()?this.jarvisHttpService.getSharedUserData(He.sessionToken,Fe,Xe):(0,n.of)(null),null,_e)}getStoredSessionProperty(Fe){let Xe;return(0,r.isNil)(this.session)?(this.logger.info("Reading session from sharedstorage"),Xe=l.loadFrom(this.sharedStorage,this.config.sdkClient).pipe((0,z.W)(()=>(0,n.of)(new l)))):(this.logger.info("Session Info available in memory"),Xe=(0,n.of)(this.session)),Xe.pipe((0,E.T)(_e=>{const He=Fe(_e);let De=!1;const Re=new Date;return De=!(!(0,r.isNil)(_e.expiry)&&!(0,r.isNil)(He))||new Date(_e.expiry)<=Re,{data:He,expired:De}}))}get cachedUser(){return this.logger.info("Fetching the cached user"),this.getStoredSessionProperty(Fe=>Fe.user)}get cachedUserAndAffiliateStatus(){return this.logger.info("Fetching the cached user and affiliate status"),this.getStoredSessionProperty(Fe=>[Fe.user,Fe.affiliateStatus])}get cachedAffiliateStatus(){return this.logger.info("Fetching cached affiliate status"),this.getStoredSessionProperty(Fe=>Fe.affiliateStatus)}setCachedAffiliateStatus(Fe){return Fe!==this.session.affiliateStatus?(this.logger.info("Updating the affiliate status to:",Fe),this.session.affiliateStatus=Fe,this.storeSession(this.session).pipe((0,te.u)(Fe))):(this.logger.info("Skipping the affiliate status update shared storage"),(0,n.of)(Fe))}attemptLogin(Fe){const Xe=new l;return this.jarvisHttpService.getLoginToken(Fe).pipe((0,U.ZZ)(_e=>this.jarvisHttpService.getUserToken(_e.loginToken)),(0,U.ZZ)(_e=>(Xe.userToken=_e.userToken,this.logger.info("Storing session containing only userToken to sharedStorage"),this.storeSession(Xe))),(0,U.ZZ)(_e=>this.sessionTokenSubscription.refresh()),(0,U.ZZ)(_e=>(Xe.sessionToken=_e.sessionToken,Xe.expiry=_e.expiry,this.session=Xe,this.jarvisUserSubscription.refresh())),(0,U.ZZ)(_e=>(Xe.user=_e,this.logger.info("Storing complete session to sharedStorage"),this.storeSession(Xe))))}fetchSession(){return this.activelyRenewingsession=!0,this.jarvisHttpService.getSessionToken(this.session.userToken).pipe((0,N.M)(()=>this.activelyRenewingsession=!1),(0,U.ZZ)(Fe=>(this.session.sessionToken=Fe.sessionToken,this.session.expiry=Fe.expiration,(0,n.of)(this.session))),(0,z.W)(Fe=>(this.logger.info("Error refreshing session with jarvis:",Fe),(0,h.gX)(Fe)?(this.logger.info("The session refresh failed due to timeout or connection issues. So, will not log out the user"),(0,n.of)(this.session)):(this.logger.info("Error thrown from server. Hence, logging the user out"),(0,n.of)(new l)))))}buildJarvisUrl(Fe,Xe,_e){return this.jarvisHttpService.serverUrl$.pipe((0,E.T)(He=>{let De=":server/oauth/authorize?response_type=code&scope=user_token&client_id=:clientId&redirect_uri=:redirectUri&prompt=login&locale=:locale";return De=De.replace(":server",He),De=De.replace(":clientId",Fe.clientId),De=De.replace(":redirectUri",encodeURIComponent(Fe.redirectUrl)),De=De.replace(":locale",Xe),!(0,r.isNil)(_e)&&!(0,r.isEmpty)(_e)&&(De+="&preferred_auth=:preferredAuth",De=De.replace(":preferredAuth",_e.toString())),De}))}safelyFetchData(Fe,Xe,_e=!1){return this.sessionToken.pipe((0,U.ZZ)(He=>(0,r.isNil)(this.session)||this.session.hasSessionToken()||!this.session.hasUserToken()?(0,n.of)(He):this.sessionTokenSubscription.refresh()),(0,U.ZZ)(He=>Fe(He)),(0,z.W)(He=>401===He.status?this.refreshSession().pipe((0,z.W)(De=>(this.logger.error("Failed to fetchSession",De),this.logoutAndReturnObservable(Xe))),(0,U.ZZ)(De=>this.safelyFetchData(Fe,Xe,_e))):_e?(0,a.$)(He):(this.logger.error(He),(0,n.of)(Xe))))}logoutAndReturnObservable(Fe){return this.logout(),(0,n.of)(Fe)}getCurrentUser(){return this.safelyFetchData(Fe=>{if(this.logger.info("Getting current user"),this.logger.info(`hasSessionToken: ${Fe.hasSessionToken()}, hasUserToken: ${Fe.hasUserToken()}`),!this.networkStatus.isOnline&&Fe.hasUserToken())return this.logger.info("User is offline and session has user token. So returning cached user"),(0,n.of)(Fe.user);if(Fe.hasSessionToken()){const Xe=!(0,r.isNil)(Fe.user)&&!(0,r.isNil)(Fe.user.core.primaryEmailVerified);return this.jarvisHttpService.getUserInfo(Fe.sessionToken).pipe((0,E.T)(_e=>(_e.isAuthenticated=!0,_e)),(0,U.ZZ)(_e=>(Fe.user=_e,(0,r.isNil)(_e.core.primaryEmailVerified)||Xe?(0,n.of)(Fe):(this.logger.info("Primary Email Verified Info Updated. Hence saving userInfo to shared storage"),this.storeSession(Fe)))),(0,z.W)(_e=>(this.logger.info("Error fetching userInfo from jarvis:",_e),(0,h.gX)(_e)?(this.logger.info("UserInfo refresh failed due to timeout or connection issue. So, will not log out the user"),(0,n.of)(Fe.user)):(this.logger.info("Error to is thrown by jarvis server. Will rethrow this error"),(0,a.$)(_e)))),(0,E.T)(_e=>Fe.user))}return Fe.hasUserToken()&&!(0,r.isNil)(Fe.user)?(this.logger.info("Session fetch failed due to timeout or connection issue, not logging out the user"),(0,n.of)(Fe.user)):(0,n.of)(P)},P)}getSession(){return!this.config.sdkClient||!(0,r.isNil)(this.session)&&this.session.hasUserToken()?this.networkStatus.isOnline?this.renewSession():this.loadSessionFromSharedStorage():this.getSessionFromSdk()}renewSession(){return this.activelyRenewingsession=!0,this.loadSessionFromSharedStorage().pipe((0,U.ZZ)(Fe=>Fe.hasUserToken()?this.fetchSession():(0,n.of)(Fe)),(0,U.ZZ)(Fe=>this.storeSession(Fe)),(0,z.W)(Fe=>(this.logger.info("Error saving session to shared storage:",Fe),(0,n.of)(new l))),(0,v.j)(()=>this.activelyRenewingsession=!1))}loadSessionFromSharedStorage(Fe){return l.loadFrom(this.sharedStorage,Fe?void 0:this.config.sdkClient).pipe((0,U.ZZ)(Xe=>(this.logger.info("Loaded session successfully from shared storage"),this.session=Xe,Xe.hasUserToken()?(0,n.of)(Xe):Fe||(0,r.isEmpty)(this.config.sdkClient)?(this.logger.info("Stored session does not have user token. Hence, logging the user out"),(0,n.of)(new l)):this.loadSessionFromSharedStorage(!0))),(0,z.W)(Xe=>(this.logger.info("Error loading session from shared storage. Hence logging out the user.",Xe),this.session=new l,(0,n.of)(this.session))))}storeSession(Fe){return this.session=Fe,this.session.writeTo(this.sharedStorage,this.config.sdkClient).pipe((0,U.ZZ)(Xe=>(0,n.of)(this.session)),(0,z.W)(Xe=>(this.logger.info("Error saving session to shared storage:",Xe),(0,a.$)(Xe))))}getSessionFromSdk(){if(!this.networkStatus.isOnline||!(0,r.isNil)(this.session)&&this.session.hasSessionToken())return(0,n.of)(this.session);this.activelyRenewingsession=!0;const Fe="sdk/"+this.config.sdkClient;return this.sharedStorage.removeBlock(`${Fe}/session`).pipe((0,U.ZZ)(Xe=>(this.logger.info("Cleared the stored session for SDK node",Fe,Xe),this.gfnSdkService.getAuthInfo())),(0,U.ZZ)(Xe=>(this.logger.info("Reading delegate token passed by SDK client",this.config.sdkClient),Xe.authType===b.hT.IDM?this.jarvisHttpService.redeemDelegateToken(Xe.authToken):(0,a.$)("Token was an authN JWT, could not redeem"))),(0,U.ZZ)(Xe=>(this.session=new l,this.session.sessionToken=Xe.sessionToken,this.storeSession(this.session))),(0,z.W)(()=>(this.logger.error("Unable to redeem delegate token from SDK client",this.config.sdkClient),this.renewSession())),(0,v.j)(()=>{this.activelyRenewingsession=!1}))}}return(ot=We).\u0275fac=function(Fe){return new(Fe||ot)(p.KVO(i),p.KVO(w.J6),p.KVO(j),p.KVO(Se),p.KVO(Ne.yQ),p.KVO(w.NZ),p.KVO(w.iH),p.KVO(h.mZ),p.KVO(w.CF),p.KVO(b.DL))},ot.\u0275prov=p.jDH({token:ot,factory:ot.\u0275fac,providedIn:"root"}),We})();const Oe={provide:k,useFactory:function Pe(ot,We,Qe,Fe,Xe,_e,He,De,Re,K){switch(ot.platformType){case o.Browser:case o.Cef:return ot.redirectUrl=ot.redirectUrlIsRelative?window.location.origin+ot.redirectUrl:ot.redirectUrl,new ve(ot,We,Fe,Xe,_e,Qe,De,He,Re,K);default:return void We.getLogger("jarvisServiceCreator").error("Cannot create JarvisService for unknown platform type: "+ot.platformType)}},deps:[i,w.J6,w.NZ,j,Se,Ne.yQ,h.mZ,w.iH,w.CF,b.DL]};var Be=t(99204);const tt=[Be.D6];let Ee=(()=>{var ot;class We{static configure(Fe){return{ngModule:We,providers:[{provide:i,useValue:Fe},Oe,Se]}}}return(ot=We).\u0275fac=function(Fe){return new(Fe||ot)},ot.\u0275mod=p.$C({type:ot}),ot.\u0275inj=p.G2t({providers:[Oe],imports:[f.q1,_.MD,tt,Be.D6]}),We})()},78812:(xe,de,t)=>{"use strict";t.d(de,{P6:()=>x,Rg:()=>I,XZ:()=>R,CV:()=>u,bC:()=>D,wx:()=>f,Xj:()=>te,FE:()=>J,EU:()=>S,Op:()=>i,zK:()=>se,i1:()=>ne,YH:()=>p,H0:()=>T,_Y:()=>h,oX:()=>s});var e=t(85735),n=t(3496),E=t(93181),O=t(43848),B=t(12532),P=t(75707),k=t(83915),U=t(14714),r=t(91384),A=t(26875),l=t(47766),I=function(H){return H.Full="Full",H.None="None",H.Temp="Temp",H}(I||{}),S=function(H){return H.Required="required",H.Functional="functional",H.Technical="technical",H.Behavioral="behavioral",H}(S||{}),L=function(H){return H.Anonymous="anonymous",H.DeviceOnly="deviceOnly",H.DevicePreferred="devicePreferred",H.UserPreferred="userPreferred",H.UserRequired="userRequired",H}(L||{}),s=function(H){return H.Undefined="undefined",H}(s||{}),M=function(H){return H.EventsCommonStore="eventsCommonStore",H.EventsDetailStore="eventsDetailStore",H.EventsDetailStoreRequired="eventsDetailStoreRequired",H.EventsDetailStoreTechnical="eventsDetailStoreTechnical",H.EventsDetailStoreBehavioral="eventsDetailStoreBehavioral",H.UserDataConsentStore="userDataConsentStore",H}(M||{}),u=function(H){return H.USER_ID="USER_ID",H.DEVICE_ID="DEVICE_ID",H.SESSION_ID="SESSION_ID",H}(u||{}),x=function(H){return H.SharedStorage="SharedStorage",H.LocalStorage="LocalStorage",H.AbHub="AbHub",H.IndexedDb="IndexedDb",H}(x||{});class p{constructor(y){this.parameters=y,this.ts=(new Date).toISOString()}}const i={server:"https://events.gfe.nvidia.com",version:"v1.0",schemaVersion:"1.0",defaultRetries:2,defaultTimeBetweenRetries:1e3,defaultTimeout:3e4,msBetweenSendRequest:5e3,maxEventsPerRequest:128,clientId:"",systemInfoEventDelay:1e4,productName:"GFN"},o=new p({}),_={clientId:"{CLIENTID}",clientVer:"{CLIENTVER}",eventSchemaVer:"{EVENTSCHEMAVER}",eventSysVer:"0.17.0",deviceId:s.Undefined,userId:s.Undefined,externalUserId:s.Undefined,idpId:s.Undefined,sessionId:s.Undefined,deviceOS:s.Undefined,deviceOSVersion:s.Undefined,deviceType:s.Undefined,deviceModel:s.Undefined,deviceMake:s.Undefined,clientType:s.Undefined,clientVariant:s.Undefined,sentTs:"",events:[o],integrationId:s.Undefined,browserType:s.Undefined,productName:s.Undefined,productVersion:s.Undefined},f={required:I.None,functional:I.None,technical:I.None,behavioral:I.None},J={required:I.Temp,functional:I.Temp,technical:I.None,behavioral:I.None},D={required:I.Full,functional:I.Full,technical:I.None,behavioral:I.None},te={required:I.Full,functional:I.Full,technical:I.Full,behavioral:I.None};var N=function(H){return H.Ok="OK",H.InvalidInfoForEventType="INVALID_INFO_FOR_EVENT_TYPE",H.UnknownEventType="UNKNOWN_EVENT_TYPE",H.UnProcessed="UNPROCESSED",H.ExperimentAlreadyActive="EXPERIMENT_ALREADY_ACTIVE",H.FunctionalConsentNotReceived="FUNCTIONAL_CONSENT_NOT_RECEIVED",H.LocaleSwitchInProgress="LOCALE_SWITCH_INPROGRESS",H}(N||{});const R={userConsent:f,userId:"",externalUserId:"",idpId:""},h=1e3;var W=t(58527);let ne=(()=>{var H;class y{}return(H=y).\u0275fac=function(c){return new(c||H)},H.\u0275prov=W.jDH({token:H,factory:H.\u0275fac}),y})();var ee=t(76449),b=t(70815);let w=(()=>{var H;class y{constructor(c,g,d){this.sdkConfig=c,this.endpointFactory=g,this.distributedTracingUtilService=d,this.eventServerEndpoint=this.endpointFactory.createEndpoint({headers:{"Content-Type":"application/json"},config:{timeout:this.sdkConfig.defaultTimeout,timeBetweenRetries:this.sdkConfig.defaultTimeBetweenRetries,maxRetries:this.sdkConfig.defaultRetries},reportRequest:!1})}generateUrl(c){return this.sdkConfig.server+"/"+this.sdkConfig.version+c}sendEvent(c,g,d,C){null!==c&&c.hasOwnProperty("sync")&&delete c.sync;const j={body:g,headers:{"Content-Type":"application/json"},params:{immediateRequest:JSON.stringify(d)}},le=this.eventServerEndpoint.makeRequestEx("POST",this.generateUrl("/events/json"),j);return this.distributedTracingUtilService.handleHttpEndpointSpan(le,j,ee.pB.SendTelemetryEvent,C)}sendEventviaBeacon(c,g,d,C){null!=c&&c.hasOwnProperty("sync")&&delete c.sync;const Q=new Blob([g],{type:"text/plain"});return navigator.sendBeacon(this.generateUrl("/events/json"),Q),(0,O.of)(!0)}setServer(c){return this.sdkConfig.server=c,this.getServerLocale(null)}getServerLocale(c){const g=c||this.sdkConfig.server;return g&&""!==g?g.endsWith(".cn")?"china":"global":"unknown"}}return(H=y).\u0275fac=function(c){return new(c||H)(W.KVO(ne),W.KVO(b.t),W.KVO(ee.Z1))},H.\u0275prov=W.jDH({token:H,factory:H.\u0275fac,providedIn:"root"}),y})(),F=(()=>{var H;class y{constructor(){this.windowLocalStorage=null,l.zk.isBrowserPlatform()&&(this.windowLocalStorage=window.localStorage)}getWlsItem(c,g){return this.windowLocalStorage&&JSON.parse(this.windowLocalStorage.getItem(c+g))}setWlsItem(c,g,d){return this.windowLocalStorage&&this.windowLocalStorage.setItem(c+g,JSON.stringify(d))}removeWlsItem(c,g){return this.windowLocalStorage&&this.windowLocalStorage.removeItem(c+g)}getLength(){return this.windowLocalStorage&&this.windowLocalStorage.length}getKey(c){return this.windowLocalStorage&&this.windowLocalStorage.key(c)}clearall(c){var g;this.windowLocalStorage&&(null===(g=Object.keys(this.windowLocalStorage))||void 0===g||g.forEach(d=>{null!=d&&d.startsWith(c)&&this.windowLocalStorage.removeItem(d)}))}}return(H=y).\u0275fac=function(c){return new(c||H)},H.\u0275prov=W.jDH({token:H,factory:H.\u0275fac,providedIn:"root"}),y})(),Z=(()=>{var H;class y{getCommonData$(){return this.commonDataSubject.asObservable()}get registeredErrorCallbackVal(){return this.registeredErrorCallback}get defaultErrorCallbackVal(){return this.defaultErrorCallback}get cleanUpBacklogEventsVal(){return this.cleanUpBacklogEvents}get currentUserConsentUpdatedVal(){return this.currentUserConsentUpdated}setDefaultConsentVal(c){this.defaultConsent=c,this.deviceConsent=c}setSendEventsInProgressVal(c){this.sendEventsInProgress=c}constructor(c,g,d,C,Q,j,le){this.config=c,this.eventSdkService=g,this.logService=d,this.dbCacheService=C,this.dbService=Q,this.networkStatusService=j,this.windowLocalStorage=le,this.commonData=_,this.defaultConsent=f,this.deviceConsent=f,this.deviceConsentUpdated=!1,this.currentUserConsent=f,this.currentUserConsentUpdated=!1,this.currentUserId=s.Undefined,this.syncedUserConsentInfo=!1,this.registeredErrorCallback=this.defaultErrorCallback,this.cleanUpBacklogEvents=!1,this.sendBacklogEventsInitiated=!1,this.sendEventsInProgress=!1,this.eventsInBatch=!1,this.newEventInDb=!1,this.sendBatchEventsInProgress={functional:!1,technical:!1,behavioral:!1,required:!1},this.cleanBacklogEventsInProgress=[],this.cleanWlsBacklogEventsInProgress=[],this.customParams={platform:!1},this.browserPlatform=!1,this.isTelemetryDisabled=!1,this.commonDataSubject=new e.m(1),this.serverLocale="unknown",this.purgeInitiated=!1,this.purgeInProgress={commonDbIsClear:!1,functionalDbIsClear:!1,technicalDbIsClear:!1,behavioralDbIsClear:!1,requiredDbIsClear:!1,wlsDbIsClear:!1},this.setErrorCallback=ge=>{this.registeredErrorCallback=ge},this.logger=this.logService.getLogger("JsEventsService"),this.commonData.clientId=this.config.clientId,this.commonData.eventSchemaVer=this.config.schemaVersion,this.sendInterval$=(0,n.O)(0,this.config.msBetweenSendRequest),this.logger.info("initialize",c),this.networkStatusService.onlineStatusChanged.subscribe(this.onOnlineStateChanged.bind(this)),this.browserPlatform=l.zk.isBrowserPlatform(),this.serverLocale=this.eventSdkService.getServerLocale(null)}defaultErrorCallback(c){this.logger.error("message:",c&&c.message?c.message:"Unknown error")}updateServer(c){const g=this.eventSdkService.setServer(c);this.onLocationStateChanged(g)}sendToServerEndpoint(c,g){const d=c.events.slice(0);c.eventsToBeSent=c.events.length;const C=[];for(;0!==c.eventsToBeSent;){let Q;this.logger.event("eventsToBeSent",c.eventsToBeSent.toString()),c.eventsToBeSent>this.config.maxEventsPerRequest?(Q=d.slice(0,this.config.maxEventsPerRequest),d.splice(0,this.config.maxEventsPerRequest)):Q=d,c.eventsToBeSent=c.eventsToBeSent-Q.length;const j=c.commonData;j.events=Q,j.sentTs=(new Date).toISOString();const le=JSON.stringify(j);this.logger.info("events request",le),C.push(this.eventSdkService.sendEvent(this.customParams,le,g))}return(0,E.p)(C)}updateCleanupState(c,g,d){let C=!1,Q=0;this.cleanBacklogEventsInProgress.forEach(j=>{j.recordKey===c&&(C=!0,j.functionalDbIsClear=g===S.Functional?d:j.functionalDbIsClear,j.technicalDbIsClear=g===S.Technical?d:j.technicalDbIsClear,j.behavioralDbIsClear=g===S.Behavioral?d:j.behavioralDbIsClear,j.requiredDbIsClear=g===S.Required?d:j.requiredDbIsClear,j.functionalDbIsClear&&j.technicalDbIsClear&&j.behavioralDbIsClear&&j.requiredDbIsClear&&(this.dbService.getGlobalStore(M.EventsCommonStore).removeItem(c).subscribe(),this.cleanBacklogEventsInProgress.splice(Q,1)),Q++)}),!1===C&&this.cleanBacklogEventsInProgress.push({recordKey:c,functionalDbIsClear:g===S.Functional&&d,technicalDbIsClear:g===S.Technical&&d,behavioralDbIsClear:g===S.Behavioral&&d,requiredDbIsClear:g===S.Required&&d})}getConsentedEvents(c,g,d,C){const Q=[];return C&&C.events&&C.events.length>0&&C.events.forEach(j=>{const le=this.eventHasConsent(j.personalization,c,g,d);if(le===I.Full||le===I.Temp){const ge=(0,A.extend)({},this.updatePersonalizationQualifiers(j));Q.push(ge)}else this.logger.event("Event excluded from send due to no consent (to be discarded later): ",j,c)}),Q}sendBacklogEventsDetailToServer(c,g,d,C,Q,j){return this.logger.event("attempting to send backlog events for dbName:",d," userconsent: ",g,"key: ",Q),this.dbService.getGlobalStore(d).getItem(Q).pipe((0,P.ZZ)(le=>{let ge={commonData:{},events:[],eventsToBeSent:0};const ie=G=>{if(this.logger.event("jsEvents backlog response",G,ge.eventsToBeSent),0===ge.eventsToBeSent)return this.dbService.getGlobalStore(d).removeItem(Q).subscribe(),(0,O.of)(!0)},ce=G=>{this.logger.error("Failed to send backlog events",G.status),this.logger.event("Failed to send backlog events for :",Q,d,".ErrorInfo: status",G.status)};return ge={commonData:(0,A.merge)({},j.common),events:this.getConsentedEvents(C,c,g,le),eventsToBeSent:0},ge.commonData&&ge.events&&ge.events.length>0?this.sendToServerEndpoint(ge,!1).pipe((0,k.T)(G=>{G.forEach(ue=>{ie(ue)})}),(0,U.W)(G=>(ce(G),B.w))):(this.updateCleanupState(Q,C,!0),this.dbService.getGlobalStore(d).removeItem(Q).subscribe(),(0,O.of)(!0))}),(0,U.W)(le=>(this.logger.event("detail data not available for backlog key",Q),this.dbService.getGlobalStore(d).removeItem(Q).subscribe(),(0,O.of)(!0))))}updateWlsCleanupState(c,g,d){let C=!1,Q=0;this.cleanWlsBacklogEventsInProgress.forEach(j=>{j.recordKey===c&&(C=!0,j.functionalDbIsClear=g===S.Functional?d:j.functionalDbIsClear,j.technicalDbIsClear=g===S.Technical?d:j.technicalDbIsClear,j.behavioralDbIsClear=g===S.Behavioral?d:j.behavioralDbIsClear,j.requiredDbIsClear=g===S.Required?d:j.requiredDbIsClear,j.functionalDbIsClear&&j.technicalDbIsClear&&j.behavioralDbIsClear&&j.requiredDbIsClear&&(this.windowLocalStorage.removeWlsItem(M.EventsCommonStore,c),this.cleanWlsBacklogEventsInProgress.splice(Q,1)),Q++)}),!1===C&&this.cleanWlsBacklogEventsInProgress.push({recordKey:c,functionalDbIsClear:g===S.Functional&&d,technicalDbIsClear:g===S.Technical&&d,behavioralDbIsClear:g===S.Behavioral&&d,requiredDbIsClear:g===S.Required&&d})}sendWlsBacklogEventsDetailToServer(c,g,d,C,Q,j){this.logger.event("attempting to send wls backlog events for dbName:",d," userconsent: ",g,"key: ",Q);const le=this.windowLocalStorage.getWlsItem(d,Q);if(le){let ge={commonData:{},events:[],eventsToBeSent:0};const ie=G=>{if(this.logger.event("jsEvents wls backlog response",G,ge.eventsToBeSent),0===ge.eventsToBeSent)return this.windowLocalStorage.removeWlsItem(d,Q)},ce=G=>{this.logger.error("Failed to send wls backlog events :",G.status),this.logger.event("Failed to send wls backlog events for :",Q,d,".ErrorInfo: status",G.status)};return ge={commonData:(0,A.merge)({},j.common),events:this.getConsentedEvents(C,c,g,le),eventsToBeSent:0},ge.commonData&&ge.events&&ge.events.length>0?this.sendToServerEndpoint(ge,!1).pipe((0,k.T)(G=>{G.forEach(ue=>{ie(ue)})}),(0,U.W)(G=>(ce(G),B.w))):(this.updateWlsCleanupState(Q,C,!0),(0,O.of)(this.windowLocalStorage.removeWlsItem(d,Q)))}return this.updateWlsCleanupState(Q,C,!0),this.logger.event("detail data not available for wls backlog key",Q),(0,O.of)(this.windowLocalStorage.removeWlsItem(d,Q))}attemptSendFromAllEventStores(c,g,d,C,Q){return(0,E.p)([c.call(this,g,d,M.EventsDetailStore,S.Functional,C,Q),c.call(this,g,d,M.EventsDetailStoreTechnical,S.Technical,C,Q),c.call(this,g,d,M.EventsDetailStoreBehavioral,S.Behavioral,C,Q),c.call(this,g,d,M.EventsDetailStoreRequired,S.Required,C,Q)])}sendBacklogEvents(c){try{this.dbService.getGlobalStore(M.EventsCommonStore).getItem(c).pipe((0,P.ZZ)(g=>{if(this.logger.event("testCommonData",g),g&&g.common){const d=JSON.parse(c);return this.getUserConsentFromCache(d.userId||"undefined",!1).pipe((0,P.ZZ)(C=>(this.logger.event("userConsentFromCache",C),g.common.gdprFuncOptIn=this.getString(C.functional),g.common.gdprTechOptIn=this.getString(C.technical),g.common.gdprBehOptIn=this.getString(C.behavioral),g.common.deviceGdprFuncOptIn=this.getString(this.deviceConsent.functional),g.common.deviceGdprTechOptIn=this.getString(this.deviceConsent.technical),g.common.deviceGdprBehOptIn=this.getString(this.deviceConsent.behavioral),this.attemptSendFromAllEventStores(this.sendBacklogEventsDetailToServer,this.deviceConsent,C,c,g))))}return this.logger.event("common data not available for backlog key",c),this.dbService.getGlobalStore(M.EventsCommonStore).removeItem(c).subscribe(),(0,O.of)(!0)}),(0,U.W)(g=>(this.logger.event("common data not available for backlog key",c),this.dbService.getGlobalStore(M.EventsCommonStore).removeItem(c).subscribe(),(0,O.of)(!0)))).subscribe()}catch(g){this.logger.error("catch backlog::",g)}}sendWlsBacklogEvents(c){try{const g=this.windowLocalStorage.getWlsItem(M.EventsCommonStore,c);if(this.logger.event("wlsCommonData",g),g){const d=JSON.parse(c);this.getUserConsentFromCache(d.userId||"undefined",!1).pipe((0,P.ZZ)(C=>{this.logger.event("userConsentFromCache",C);const Q={common:g};return Q.common.gdprFuncOptIn=this.getString(C.functional),Q.common.gdprTechOptIn=this.getString(C.technical),Q.common.gdprBehOptIn=this.getString(C.behavioral),Q.common.deviceGdprFuncOptIn=this.getString(this.deviceConsent.functional),Q.common.deviceGdprTechOptIn=this.getString(this.deviceConsent.technical),Q.common.deviceGdprBehOptIn=this.getString(this.deviceConsent.behavioral),this.attemptSendFromAllEventStores(this.sendWlsBacklogEventsDetailToServer,this.deviceConsent,C,c,Q)})).subscribe()}else this.logger.event("wls common data not available for backlog key",c),this.windowLocalStorage.removeWlsItem(M.EventsCommonStore,c)}catch(g){this.logger.error("catch wls backlog:",g)}}setInProgressState(c,g){this.sendBatchEventsInProgress.functional=c===S.Functional?g:this.sendBatchEventsInProgress.functional,this.sendBatchEventsInProgress.technical=c===S.Technical?g:this.sendBatchEventsInProgress.technical,this.sendBatchEventsInProgress.behavioral=c===S.Behavioral?g:this.sendBatchEventsInProgress.behavioral,this.sendBatchEventsInProgress.required=c===S.Required?g:this.sendBatchEventsInProgress.required,this.eventsInBatch=this.getInProgressState()}getInProgressState(){return this.sendBatchEventsInProgress.functional||this.sendBatchEventsInProgress.technical||this.sendBatchEventsInProgress.behavioral||this.sendBatchEventsInProgress.required}sendBatchedEventsDetailToServer(c,g,d,C,Q,j){this.logger.event("attempting to send batched events for dbName:",d," userconsent: ",g,"key: ",Q);const le=this.dbCacheService.getCachedGlobalItem(d,Q);let ge={commonData:{},events:[],eventsToBeSent:0};const ie=G=>{this.logger.event("jsEvents batched response",G);const ue=JSON.parse(G.config.data);this.cleanUpSentEvents(ue.events,d,Q),this.setInProgressState(C,!1),this.sendEventsInProgress=!1},ce=G=>{this.setInProgressState(C,!1),this.sendEventsInProgress=!1,this.logger.error("Failed to send events for :",Q,".ErrorInfo: status",G.status)};return ge={commonData:(0,A.merge)({},j.common),events:this.getConsentedEvents(C,c,g,le),eventsToBeSent:0},ge.commonData&&ge.events&&ge.events.length>0?(this.setInProgressState(C,!0),this.sendEventsInProgress=!0,this.sendToServerEndpoint(ge,!1).subscribe(G=>{G.forEach(ue=>{ie(ue)})},G=>{ce(G)})):(le&&le.events&&(le.events.splice(0,le.events.length),le.persist_().subscribe()),this.setInProgressState(C,!1),this.sendEventsInProgress=!1),B.w}sendEvents(){const c=this.getRecordKey(),g=this.dbCacheService.getCachedGlobalItem(M.EventsCommonStore,c);if(g&&g.common)this.getUserConsentFromCache(this.currentUserId||s.Undefined,!0).pipe((0,P.ZZ)(d=>(g.common.gdprFuncOptIn=this.getString(d.functional),g.common.gdprTechOptIn=this.getString(d.technical),g.common.gdprBehOptIn=this.getString(d.behavioral),g.common.deviceGdprFuncOptIn=this.getString(this.deviceConsent.functional),g.common.deviceGdprTechOptIn=this.getString(this.deviceConsent.technical),g.common.deviceGdprBehOptIn=this.getString(this.deviceConsent.behavioral),this.attemptSendFromAllEventStores(this.sendBatchedEventsDetailToServer,this.deviceConsent,d,c,g)))).subscribe();else{if(this.logger.event("common data not available for key",c),g&&(0,A.isUndefined)(g.common))try{this.registeredErrorCallback("common data not set before starting to send events")}catch(d){this.logger.error(d),this.defaultErrorCallback("Invalid callback. Original Error: common data not set before starting to send events")}this.sendEventsInProgress=!1}}startTimeBasedSendToServer(){this.stopTimeBasedSendToServer(),this.sendEventSubscription=this.sendInterval$.subscribe(()=>{this.logger.event("events in batch:",this.eventsInBatch),this.logger.event("new event in db:",this.newEventInDb),(!0===this.eventsInBatch||!0===this.newEventInDb)&&!1===this.sendEventsInProgress&&!1===this.getInProgressState()&&!1===this.getPurgeInProgressState()&&(this.newEventInDb=!1,this.sendEventsInProgress=!0,this.sendEvents())}),this.logger.event("send interval request made")}stopTimeBasedSendToServer(){this.sendEventSubscription&&(this.sendEventSubscription.unsubscribe(),this.sendEventSubscription=null,this.logger.event("send interval stopped"))}onOnlineStateChanged(c){this.isOnline=c,this.isOnline?this.deviceConsent!==f&&(this.logger.info("jsEvents turns into online"),this.startTimeBasedSendToServer()):(this.logger.info("jsEvents turns into offline"),this.stopTimeBasedSendToServer())}onLocationStateChanged(c){"unknown"!==this.serverLocale&&this.serverLocale!==c&&(this.logger.info("purge stored events"),this.purgeInitiated=!0,this.purgeEventStoreRecords()),this.serverLocale=c}purgeEventStoreRecords(){this.purgeInProgress={commonDbIsClear:!1,functionalDbIsClear:!1,technicalDbIsClear:!1,behavioralDbIsClear:!1,requiredDbIsClear:!1,wlsDbIsClear:!1},this.dbService.getGlobalStore(M.EventsDetailStore).clear().subscribe(()=>{this.purgeInProgress.functionalDbIsClear=!0}),this.dbService.getGlobalStore(M.EventsDetailStoreTechnical).clear().subscribe(()=>{this.purgeInProgress.technicalDbIsClear=!0}),this.dbService.getGlobalStore(M.EventsDetailStoreBehavioral).clear().subscribe(()=>{this.purgeInProgress.behavioralDbIsClear=!0}),this.dbService.getGlobalStore(M.EventsDetailStoreRequired).clear().subscribe(()=>{this.purgeInProgress.requiredDbIsClear=!0}),this.dbService.getGlobalStore(M.EventsCommonStore).clear().subscribe(()=>{this.purgeInProgress.commonDbIsClear=!0}),this.windowLocalStorage.clearall(M.EventsDetailStore),this.windowLocalStorage.clearall(M.EventsDetailStoreTechnical),this.windowLocalStorage.clearall(M.EventsDetailStoreBehavioral),this.windowLocalStorage.clearall(M.EventsDetailStoreRequired),this.windowLocalStorage.clearall(M.EventsCommonStore),this.purgeInProgress.wlsDbIsClear=!0}getPurgeInProgressState(){let c=!1;return this.purgeInitiated&&(c=!(this.purgeInProgress.wlsDbIsClear&&this.purgeInProgress.functionalDbIsClear&&this.purgeInProgress.technicalDbIsClear&&this.purgeInProgress.behavioralDbIsClear&&this.purgeInProgress.requiredDbIsClear&&this.purgeInProgress.commonDbIsClear),this.purgeInitiated=c),c}getUserConsentFromCache(c,g){const C={required:this.deviceConsent.required,functional:this.deviceConsent.functional,technical:I.None,behavioral:I.None},Q=this.dbCacheService.getOrCreateCachedGlobalItem(M.UserDataConsentStore,c||s.Undefined);return Q?Q.sync_().pipe((0,k.T)(()=>{const j=Q&&Q.userConsent;return!0===g&&((0,A.isNil)(j)?this.currentUserId===s.Undefined&&(this.currentUserConsent=C,this.currentUserConsentUpdated=!0):(this.currentUserConsent=j,this.currentUserConsentUpdated=!0)),j||C}),(0,U.W)(j=>(0,O.of)(C))):(0,O.of)(C)}syncUserConsentInfo(c){const g=c.find(d=>d.userId===this.currentUserId);g&&(this.currentUserConsent=g.userConsent,this.currentUserConsentUpdated=!0),c.forEach(d=>{const C=this.dbCacheService.getOrCreateCachedGlobalItem(M.UserDataConsentStore,d.userId);this.logger.event("previously cached consent",C.userConsent),C.userConsent=d.userConsent,C.persist_().subscribe(),this.logger.event("updated consent",d.userConsent)}),this.syncedUserConsentInfo=!0,this.startSendingEvents()}setDefaultConsent(c){this.defaultConsent=c,this.deviceConsent=c,(this.currentUserId===s.Undefined||(0,A.isUndefined)(this.currentUserId))&&(this.currentUserConsent={required:this.deviceConsent.required,functional:this.deviceConsent.functional,technical:I.None,behavioral:I.None},this.currentUserConsentUpdated=!0),this.startSendingEvents()}setDeviceConsent(c){this.deviceConsent=c,this.deviceConsentUpdated=!0,this.logger.event("device consent",c),this.startSendingEvents()}eventHasConsent(c,g,d,C){let Q;return Q=c===L.Anonymous||c===L.DeviceOnly||c===L.DevicePreferred?d:c===L.UserRequired?this.currentUserId===s.Undefined||(0,A.isUndefined)(this.currentUserId)?f:C:this.currentUserId===s.Undefined||(0,A.isUndefined)(this.currentUserId)?{required:this.deviceConsent.required,functional:this.deviceConsent.functional,technical:I.None,behavioral:I.None}:C,g===S.Required?Q.required:g===S.Functional?Q.functional:g===S.Technical?Q.technical:g===S.Behavioral?Q.behavioral:I.None}cleanUpDbStore(){if(this.isTelemetryDisabled)return;const c=this;if(this.commonData.sessionId===s.Undefined)return void c.logger.info("Cleanup cannot proceed, this.commonData.sessionId is undefined");this.sendBacklogEventsInitiated=!0;const g=JSON.parse(this.getRecordKey());this.logger.info("cleanUpDbStore excluding session for",g);try{c.dbService.getGlobalStore(M.EventsCommonStore).keys().pipe((0,r.M)(d=>{d.forEach((C,Q)=>{try{if(c.logger.event("Key#",Q,"key ",C),"_version"===C)c.logger.info("_version to be skipped",C);else{const j=JSON.parse(C);""===j.sessionId||j.sessionId===g.sessionId?c.logger.info("key not to be processed",j):c.sendBacklogEvents(C)}}catch(j){c.logger.error("Json parsing failed for key:",C,"error:",null==j?void 0:j.message)}})})).subscribe()}catch(d){c.logger.error("encountered failure, error:",null==d?void 0:d.message)}}cleanUpWlsStore(){this.sendBacklogEventsInitiated=!0;const c=JSON.parse(this.getRecordKey());this.logger.info("cleanUpWlsStore excluding session for",c);for(let g=0;g{if(C&&C.events.length>0){const j=C.events.find(le=>le.ts===Q.ts);if(j&&(0,A.isEqual)(j.parameters,Q.parameters)){const le=C.events.indexOf(j);this.logger.event("matching event found",Q),C.events.splice(le,1),C.persist_().subscribe()}else this.logger.event("matching event not found")}else this.logger.event("events seem to be already cleared")}),C.persist_().subscribe()}startSendingEvents(){this.isOnline&&this.deviceConsent!==f&&"unknown"!==this.serverLocale?(this.startTimeBasedSendToServer(),!1===this.sendBacklogEventsInitiated&&(this.cleanUpDbStore(),this.cleanUpBacklogEvents=!1)):this.logger.info("Device offline or No Functional consent. No clean job happened.",this.deviceConsent)}updateGdprQualifiers(c){return(0,A.omit)(c,"gdprLevel")}updatePersonalizationQualifiers(c){return(0,A.omit)(c,"personalization")}updateGdprAndPersonalizationQualifiers(c){return(0,A.omit)(c,["gdprLevel","personalization"])}getString(c){return c&&"string"!=typeof c?JSON.stringify(c):c||""}getRecordKey(){return JSON.stringify({sessionId:this.commonData.sessionId||s.Undefined,userId:this.currentUserId||s.Undefined})}getFormattedInputData(c,g){const d=(0,A.extend)({},this.commonData);!0===g.anonymize&&(d.deviceId="undefined",d.userId="undefined",d.sessionId="undefined",d.externalUserId="undefined",d.idpId="undefined");const C=(0,A.extend)({},this.updateGdprAndPersonalizationQualifiers(c));this.logger.event("eventDetail",C);const Q=[];return Q.push(C),d.events=Q,d.sentTs=(new Date).toISOString(),d.gdprFuncOptIn=this.getString(this.currentUserConsent.functional),d.gdprTechOptIn=this.getString(this.currentUserConsent.technical),d.gdprBehOptIn=this.getString(this.currentUserConsent.behavioral),d.deviceGdprFuncOptIn=this.getString(this.deviceConsent.functional),d.deviceGdprTechOptIn=this.getString(this.deviceConsent.technical),d.deviceGdprBehOptIn=this.getString(this.deviceConsent.behavioral),JSON.stringify(d)}setFormattedEventsDetailData(c,g,d){const C=this.getRecordKey();let j,Q=M.EventsDetailStore;if(c.gdprLevel===S.Technical&&(Q=M.EventsDetailStoreTechnical),c.gdprLevel===S.Behavioral&&(Q=M.EventsDetailStoreBehavioral),c.gdprLevel===S.Required&&(Q=M.EventsDetailStoreRequired),g){j=this.windowLocalStorage.getWlsItem(Q,C)||{},j.events=j.events||[];const le=(0,A.extend)({},this.updateGdprQualifiers(c));this.logger.event("eventDetail wls",le),j.events.push(le),this.logger.event("details list wls",j.events),this.windowLocalStorage.setWlsItem(Q,C,j),(0,A.isFunction)(d)&&d(),this.logger.event("request to batch an exit time event")}else{j=this.dbCacheService.getOrCreateCachedGlobalItem(Q,C);let le=j.events;const ge=(0,A.extend)({},this.updateGdprQualifiers(c));if(this.logger.event("eventDetail IDb",ge),le)le.push(ge);else{const ie=[];ie.push(ge),le=ie}this.logger.event("details list indexed db",le),j.events=le,j.persist_().subscribe(()=>{(0,A.isFunction)(d)&&d(),this.logger.event("request to batch an event"),this.newEventInDb=!0})}}storeEventDetail(c,g){this.setFormattedEventsDetailData(c,this.browserPlatform&&g.appExit||!1,g.afterDone||null)}checkIfEventIsSendable(c,g){return(0,A.isEqual)(this.deviceConsent,f)||c&&(0,A.isUndefined)(c.gdprLevel)?(this.logger.info("No consent available, discarding event",c.name,c.gdprLevel),(0,A.isFunction)(g.afterDone)&&g.afterDone(),N.FunctionalConsentNotReceived):this.getPurgeInProgressState()?N.LocaleSwitchInProgress:N.Ok}sendEventDetail(c,g){if(c){g=(0,A.merge)({},g),this.isValidPersonalization(c.personalization)||(c.personalization=L.UserPreferred);const d=this.checkIfEventIsSendable(c,g);if(d!==N.Ok)return d;if("unknown"===this.serverLocale||!0!==g.immediateRequest&&!0!==g.useBeacon||!0!==this.isOnline)this.storeEventDetail(c,g);else{const C=this.eventHasConsent(c.personalization,c.gdprLevel,this.deviceConsent,this.currentUserConsent);if(this.logger.event("attempting to send immediate event for userId:",this.currentUserId," userconsent: ",this.currentUserConsent,"deviceconsent: ",this.deviceConsent),C!==I.Full&&C!==I.Temp)return this.currentUserId&&this.currentUserId!==s.Undefined&&!1===this.currentUserConsentUpdated?(this.storeEventDetail(c,g),this.logger.event("Event stored as userConsent not synced yet",C,this.currentUserConsentUpdated)):((0,A.isFunction)(g.afterDone)&&g.afterDone(),this.logger.error("Event cannot be sent due to consent level:",C)),C;{const Q=this.getFormattedInputData(c,g);this.logger.info("jsonString request to send:",Q);let j=this.eventSdkService.sendEvent,le=!0;g.useBeacon&&(j=this.eventSdkService.sendEventviaBeacon,le=!1),j.call(this.eventSdkService,this.customParams,Q,le).subscribe(ge=>{this.logger.event("jsevents response",ge),(0,A.isFunction)(g.afterDone)&&g.afterDone()},ge=>{this.logger.error("Failed to send eventdata for:",c.name,".ErrorInfo: status",ge.status,", data",ge.config&&ge.config.data),this.storeEventDetail(c,g)})}}return N.Ok}return this.logger.error("Empty request"),N.UnProcessed}sendEventDetailWithPromise(c,g){return new Promise((d,C)=>{if(c){if(g=(0,A.merge)({},g),(0,A.isEqual)(this.deviceConsent,f)||c&&(0,A.isUndefined)(c.gdprLevel))return this.logger.info("Functional consent not received, discarding event",c.name,c.gdprLevel),(0,A.isFunction)(g.afterDone)&&g.afterDone(),void C(N.FunctionalConsentNotReceived);if(this.getPurgeInProgressState())return void C(N.LocaleSwitchInProgress);if("unknown"===this.serverLocale||!0!==g.immediateRequest&&!0!==g.useBeacon||!0!==this.isOnline)this.storeEventDetail(c,g),d(N.Ok);else{const Q=this.eventHasConsent(c.personalization,c.gdprLevel,this.deviceConsent,this.currentUserConsent);if(this.logger.event("attempting to send immediate event for userId:",this.currentUserId," userconsent: ",this.currentUserConsent,"deviceconsent: ",this.deviceConsent),Q===I.Full||Q===I.Temp){const j=this.getFormattedInputData(c,g);let le=this.eventSdkService.sendEvent,ge=!0;g.useBeacon&&(le=this.eventSdkService.sendEventviaBeacon,ge=!1),le.call(this.eventSdkService,this.customParams,j,ge).subscribe(ie=>{this.logger.event("jsevents response",ie),(0,A.isFunction)(g.afterDone)&&g.afterDone(),d(N.Ok)},ie=>{this.logger.error("Failed to send eventdata for:",c.name,".ErrorInfo: status",ie.status,", data",ie.config&&ie.config.data),this.storeEventDetail(c,g),d(N.UnProcessed)})}else this.currentUserId&&this.currentUserId!==s.Undefined&&!1===this.currentUserConsentUpdated?(this.storeEventDetail(c,g),this.logger.event("Event stored as userConsent not synced yet",Q,this.currentUserConsentUpdated)):((0,A.isFunction)(g.afterDone)&&g.afterDone(),this.logger.error("Event cannot be sent due to consent level:",Q)),d(Q)}}else this.logger.error("Empty request"),d(N.Ok)})}isValidPersonalization(c){return c===L.Anonymous||c===L.DeviceOnly||c===L.DevicePreferred||c===L.UserPreferred||c===L.UserRequired}setEventsCommonData(c){if(!c)return this.logger.error("Undefined common data sent by client"),(0,O.of)(void 0);this.cleanUpBacklogEvents=!1,this.commonData.sessionId===s.Undefined&&c.sessionId&&(this.cleanUpBacklogEvents=!0),this.commonData=(0,A.merge)({},this.commonData,c),this.logger.info("client user data",c.userId,c.externalUserId,c.idpId),this.logger.info("this.commonData user data",this.commonData.userId,this.commonData.externalUserId,this.commonData.idpId),this.commonData.eventProtocol="1.5",this.currentUserId=this.commonData.idpId!==s.Undefined?this.commonData.userId:this.commonData.externalUserId,this.currentUserConsentUpdated=!1,this.logger.info("Device Id:",this.commonData.deviceId,"set for client:",this.commonData.clientId);const g=this.getUserConsentFromCache(this.currentUserId,!0);this.logger.event(this.commonData);const d=this.getRecordKey(),C=this.dbCacheService.getOrCreateCachedGlobalItem(M.EventsCommonStore,d);if(C.common=this.commonData,C.persist_().subscribe(),this.browserPlatform){let Q=this.windowLocalStorage.getWlsItem(M.EventsCommonStore,d)||{};Q=this.commonData,this.windowLocalStorage.setWlsItem(M.EventsCommonStore,d,Q)}return this.isOnline&&this.deviceConsent!==f&&"unknown"!==this.serverLocale?(this.startTimeBasedSendToServer(),this.cleanUpBacklogEvents&&!1===this.sendBacklogEventsInitiated&&(this.cleanUpDbStore(),this.cleanUpBacklogEvents=!1),this.browserPlatform&&this.cleanUpWlsStore()):this.logger.info("Device offline or No Functional consent. No clean job happened.",this.deviceConsent),this.commonDataSubject.next(this.commonData),g}setOverrideToolTelemetryState(c){this.isTelemetryDisabled=c}ngOnDestroy(){this.sendEventSubscription&&(this.sendEventSubscription.unsubscribe(),this.sendEventSubscription=void 0)}}return(H=y).\u0275fac=function(c){return new(c||H)(W.KVO(ne),W.KVO(w),W.KVO(l.J6),W.KVO(l.sc),W.KVO(l.at),W.KVO(l.CF),W.KVO(F))},H.\u0275prov=W.jDH({token:H,factory:H.\u0275fac,providedIn:"root"}),y})(),se=(()=>{var H;class y{static forRoot(c){return{ngModule:y,providers:[{provide:ne,useValue:c||i}]}}}return(H=y).\u0275fac=function(c){return new(c||H)},H.\u0275mod=W.$C({type:H}),H.\u0275inj=W.G2t({}),y})();var Y=t(33367),q=t(99047);let T=(()=>{var H;class y{constructor(c,g,d){this.loggingService=c,this.bridgeService=g,this.jsEventsService=d,this.clientVersion="undefined",this.currentScreen="",this.deviceId="undefined",this.isUIRefreshed=!1,this.launchUiEventSent=!1,this.sessionId="undefined",this.sync=!1,this.userId="undefined",this.externalUserId="undefined",this.idpId="undefined",this.deviceOS=null,this.deviceOSVersion=null,this.deviceType=null,this.deviceModel=null,this.deviceMake=null,this.clientType=null,this.clientVariant=null,this.integrationId=null,this.browserType=null,this.productName=null,this.productVersion=null,this.isTelemetryDisabled=!1,this.defaultConsentListener$=new e.m(1),this.deviceConsentListener$=new e.m(1),this.commonDataListener$=new e.m(1),this.validUserIdResetListener$=new e.m(1),this.consentUpdatedPromise=new Promise(C=>{C(null)}),this.logEvaluatorCallback=C=>!0,this.logger=this.loggingService.getLogger("telemetryService"),this.getUIRefreshState(),this.sessionId=this.generateSessionId()}updateTelemetrySessionId(c){this.sessionId=c}initialize(c){this.isTelemetryDisabled=c,this.jsEventsService.setOverrideToolTelemetryState(this.isTelemetryDisabled)}getCommonData$(){return this.jsEventsService.getCommonData$()}setLaunchUiEventSent(c){this.launchUiEventSent=c,this.logger.info("Launch UI event sent: ",this.launchUiEventSent)}getLaunchUiEventSent(){return this.launchUiEventSent}setLoggingEvaluator(c){this.logEvaluatorCallback=c}getUIRefreshState(){this.logger.info("Getting UI Refreshed state"),this.bridgeService.executeCommand(Y.Ts.Common.Applicationinfo.GetIsUIRefreshed).subscribe(c=>{this.isUIRefreshed=c,this.logger.info("Refreshed state",this.isUIRefreshed)},()=>{this.logger.error("Failed to get UI Refreshed state")})}generateSessionId(){let c=Date.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(d){const C=(c+16*Math.random())%16|0;return c=Math.floor(c/16),("x"===d?C:3&C|8).toString(16)})}get telemetrySessionId(){return this.sessionId}setEventsCommonData(c,g=!1,d=!1){this.logger.info("telemetry sessionId is ",this.sessionId),!this.deviceId&&c&&c.deviceId&&this.logger.info("telemetry deviceId",c.deviceId),(g&&c&&c.userId||c&&c.externalUserId)&&(this.logger.info("telemetry userId ",c.userId),this.logger.info("telemetry externalUserId ",c.externalUserId),this.logger.info("telemetry idpId ",c.idpId)),this.deviceId=c&&c.deviceId?c.deviceId:this.deviceId,this.clientVersion=c&&c.clientVer||this.clientVersion,g&&(this.userId=c.userId||"undefined",this.externalUserId=c.externalUserId||"undefined",this.idpId=c.idpId||"undefined"),this.deviceOS=this.deviceOS||c.deviceOS,this.deviceOSVersion=this.deviceOSVersion||c.deviceOSVersion,this.deviceType=this.deviceType||c.deviceType,this.deviceModel=this.deviceModel||c.deviceModel,this.deviceMake=this.deviceMake||c.deviceMake,this.clientType=this.clientType||c.clientType,this.clientVariant=this.clientVariant||c.clientVariant,this.integrationId=this.integrationId||c.integrationId,this.browserType=this.browserType||c.browserType,this.productName=this.productName||c.productName,this.productVersion=this.productVersion||c.productVersion,d&&(this.integrationId=c.integrationId||"undefined"),this.logger.info("Setting common events data: ",{clientVer:this.clientVersion,sessionId:this.sessionId,deviceId:this.deviceId,userId:this.userId,externalUserId:this.externalUserId,idpId:this.idpId,deviceOS:this.deviceOS,deviceOSVersion:this.deviceOSVersion,deviceType:this.deviceType,deviceModel:this.deviceModel,deviceMake:this.deviceMake,clientType:this.clientType,clientVariant:this.clientVariant,integrationId:this.integrationId,browserType:this.browserType,productName:this.productName,productVersion:this.productVersion}),this.consentUpdatedPromise=this.jsEventsService.setEventsCommonData({clientVer:this.clientVersion,sessionId:this.sessionId,deviceId:this.deviceId,userId:this.userId,externalUserId:this.externalUserId,idpId:this.idpId,deviceOS:this.deviceOS||s.Undefined,deviceOSVersion:this.deviceOSVersion||s.Undefined,deviceType:this.deviceType||s.Undefined,deviceModel:this.deviceModel||s.Undefined,deviceMake:this.deviceMake||s.Undefined,clientType:this.clientType||s.Undefined,clientVariant:this.clientVariant||s.Undefined,integrationId:this.integrationId||s.Undefined,browserType:this.browserType||s.Undefined,productName:this.productName||s.Undefined,productVersion:this.productVersion||s.Undefined}).toPromise(),this.userId&&this.deviceId&&this.deviceId!==s.Undefined&&this.commonDataListener$.next(!0),this.validUserIdResetListener$.next(g&&this.userId&&this.userId!==s.Undefined)}setScreen(c){this.currentScreen=c}getScreen(){return this.currentScreen}changeSync(c){this.sync=c}setDefaultClientConsent(c){this.logger.event("Set client consent: ",c),this.jsEventsService.setDefaultConsent(c),this.defaultConsentListener$.next(!0)}setDeviceConsent(c){this.logger.event("Set device consent: ",c),this.jsEventsService.setDeviceConsent(c),this.defaultConsentListener$.next(!0),this.deviceConsentListener$.next(!0)}setUserConsent(c){this.logger.event("Set user consent: ",c),this.jsEventsService.syncUserConsentInfo(c)}getDefaultClientConsentObserable(){return this.defaultConsentListener$.pipe((0,q.$)())}getDeviceConsentObservable(){return this.deviceConsentListener$.pipe((0,q.$)())}getCommonDataObservable(){return this.commonDataListener$.pipe((0,q.$)())}getValidUserIdResetObservable(){return this.validUserIdResetListener$.asObservable()}setServerConfig(c){this.jsEventsService.updateServer(c)}push(c,g,d){if(this.isUIRefreshed||this.isTelemetryDisabled)this.logger.info("Disabled telemetry",c.name);else if(c){if(d=(0,A.merge)({},d),d=(0,A.extend)(d,{appExit:this.sync}),g&&c.parameters.hasOwnProperty("totalMs")){const C=Date.now(),Q=C-g;this.logger.info("Started ",c.name,"at ",g,"and ended at ",C,"Time elapsed(ms)",Q),c.parameters=(0,A.merge)(c.parameters,{totalMs:Q})}this.logEvaluatorCallback(c)&&this.logger.event("Event detail: ",c),this.consentUpdatedPromise.then(()=>{this.logger.info("Sending event "+c.name),this.jsEventsService.sendEventDetail(c,d)})}else this.logger.error("Empty event.")}pushWithPromise(c,g,d){if(this.isUIRefreshed||this.isTelemetryDisabled)return this.logger.info("Disabled telemetry",c.name),new Promise((C,Q)=>{C("Disabled telemetry")});if(c){if(d=(0,A.merge)({},d),d=(0,A.extend)(d,{appExit:this.sync}),g&&c.parameters.hasOwnProperty("totalMs")){const C=Date.now(),Q=C-g;this.logger.info("Started ",c.name,"at ",g,"and ended at ",C,"Time elapsed(ms)",Q),c.parameters=(0,A.merge)(c.parameters,{totalMs:Q})}return this.logEvaluatorCallback(c)&&this.logger.event("Event detail: ",c),new Promise(C=>{this.consentUpdatedPromise.then(()=>this.jsEventsService.sendEventDetailWithPromise(c,d)).then(Q=>{C(Q)})})}return this.logger.error("Empty event."),new Promise((C,Q)=>{Q("Empty event.")})}}return(H=y).\u0275fac=function(c){return new(c||H)(W.KVO(l.J6),W.KVO(l.NZ),W.KVO(Z))},H.\u0275prov=W.jDH({token:H,factory:H.\u0275fac,providedIn:"root"}),y})()},70815:(xe,de,t)=>{"use strict";t.d(de,{fu:()=>M,SA:()=>p,E$:()=>n,sl:()=>_,t:()=>f,jm:()=>s});var e=t(58527);let n=(()=>{var J;class a{}return(J=a).\u0275fac=function(te){return new(te||J)},J.\u0275mod=e.$C({type:J}),J.\u0275inj=e.G2t({}),a})();var E=t(94485),O=t(40198),B=t(75707),P=t(83915),k=t(86447),U=t(59859),r=t(3496),A=t(80583),l=t(26875);const I={timeBetweenRetries:0,maxRetries:0,retryOnTimeout:!1,exponentialBackoffMaxDelay:3e4},S="TimeoutError";var s=function(J){return J[J.UnknownError=0]="UnknownError",J[J.RequestTimeout=-100]="RequestTimeout",J[J.RequestCancelled=-101]="RequestCancelled",J[J.NetworkStatusOffline=-102]="NetworkStatusOffline",J[J.DNSLookupFailed=-103]="DNSLookupFailed",J}(s||{});const M=36e5;var x,u=t(81834);const p={authorization:"Authorization",xRequestId:"x-request-id"};class _{static httpErrorEvents$(){return _.httpErrorEventsSubject.asObservable()}static httpSuccessEvents$(){return _.httpSuccessEventsSubject.asObservable()}static httpStartEvents$(){return _.httpStartEventsSubject.asObservable()}constructor(a,D,te={}){this.http=a,this.networkStatusService=D,this.configOptions=te,(0,l.isNil)(this.configOptions.config)&&(this.configOptions.config=I),(0,l.isNil)(this.configOptions.config.retryOnTimeout)&&(this.configOptions.config.retryOnTimeout=I.retryOnTimeout),(0,l.isNil)(this.configOptions.config.exponentialBackoffMaxDelay)&&(this.configOptions.config.exponentialBackoffMaxDelay=I.exponentialBackoffMaxDelay)}static replaceTemplateKey(a,D,te,N){let z=a;if("string"==typeof te){const R=":"+D;-1!==a.indexOf(R)&&(z=a.replace(new RegExp(R,"g"),encodeURIComponent(te)),N(D))}return z}static formatUrl(a,D){let te=a;return te=Object.keys(D).reduce((N,z)=>_.replaceTemplateKey(N,z,D[z],R=>delete D[R]),te),te}static isRetryableError(a,D,te){let N=!0;return a instanceof E.yz?0!==a.status||te.isOnline?429===a.status?N=!0:0!==a.status&&(a.status<500||a.status>=600)&&(N=!1):N=!1:a instanceof Error&&a.name===S&&!D.retryOnTimeout&&(N=!1),N}static formatError(a,D,te,N){const z=_.getFullUrl(a,D);let R,v;te instanceof E.yz?(R=te,v=te.status):te&&te.name===S&&(v=s.RequestTimeout);const h={url:z,status:v,rawResponse:R};return(0,l.isNil)(N.headers[p.xRequestId])||(h.xRequestId=N.headers[p.xRequestId]),h}static getFullUrl(a,D){const te=Object.keys(D);if(te.length>0){a+="?";for(const N of te)a+=`${N}=${D[N]}&`;a=a.substring(0,a.length-1)}return a}static applyTimeout(a,D){return(0,l.isNil)(D.timeout)?a:a.pipe((0,O.w)(D.timeout))}static isReportRequest(a){return(0,l.isNil)(a.reportRequest)||!0===a.reportRequest}genericRetryStrategy(a,D,te){return te.pipe((0,B.ZZ)((N,z)=>{const R=z+1,v=_.formatError(a,D.params,N,D);if(_.isReportRequest(D)&&(D.reportRequestData={...D.reportRequestData,retryCount:String(R)},_.httpErrorEventsSubject.next({response:v,options:D})),R>D.config.maxRetries||!_.isRetryableError(N,D.config,this.networkStatusService))return(0,U.$)(v);let h;if(D.config.timeBetweenRetries)h=D.config.timeBetweenRetries;else{var W;const ne=null===(W=D.config)||void 0===W?void 0:W.exponentialBackoffMaxDelay;h=1e3,R>1&&(h=Math.min(1e3*Math.pow(2,R-1),ne))}if(N instanceof E.yz&&(429===N.status||503===N.status)){const ne=+(N.headers.get("retry-after")||0);isNaN(ne)||(h=Math.max(h,1e3*ne))}return(0,r.O)(h)}))}initRequest(a,D){const te=D;return te.params={...this.configOptions.params,...D.params},te.headers={...this.configOptions.headers,...D.headers},te.config={...this.configOptions.config,...D.config},te.reportRequestData={...this.configOptions.reportRequestData,...D.reportRequestData},te.reportRequest=this.configOptions.reportRequest&&D.reportRequest,te.includeRequestId&&(te.headers[p.xRequestId]=(0,u.bz)()),[te,_.formatUrl(a,te.params)]}makeRequest(a,D,te={}){return this.makeRequestEx(a,D,te).pipe((0,P.T)(N=>null!=te&&te.includeFullResponse?N:N.body))}get(a,D={}){return this.makeRequest("GET",a,D)}delete(a,D={}){return this.makeRequest("DELETE",a,D)}post(a,D={}){return this.makeRequest("POST",a,D)}patch(a,D={}){return this.makeRequest("PATCH",a,D)}put(a,D={}){return this.makeRequest("PUT",a,D)}makeRequestEx(a,D,te={}){const[N,z]=this.initRequest(D,te);_.isReportRequest(N)&&_.httpStartEventsSubject.next({method:a,url:z,options:N}),N.reportRequestData.requestStartTime=Date.now().toString();const R=this.http.request(a,z,{body:N.body,params:N.params,headers:N.headers,responseType:N.responseType,observe:"response",withCredentials:!!N.withCredentials&&N.withCredentials});return _.applyTimeout(R,this.configOptions.config).pipe((0,k.l)(v=>this.genericRetryStrategy(z,N,v)),(0,P.T)(v=>{const h=(0,l.extend)(v,{config:{data:N.body}});return N.reportRequestData.requestEndTime=Date.now().toString(),_.isReportRequest(N)&&"false"!==N.reportRequestData.reportSuccessTelemetry&&_.httpSuccessEventsSubject.next({response:h,options:N}),h}))}getResponse(a,D={}){return this.makeRequestEx("GET",a,D)}}(x=_).httpErrorEventsSubject=new A.B7,x.httpSuccessEventsSubject=new A.B7,x.httpStartEventsSubject=new A.B7;let f=(()=>{var J;class a{constructor(te,N){this.http=te,this.networkStatusService=N}createEndpoint(te){return new _(this.http,this.networkStatusService,te)}}return(J=a).\u0275fac=function(te){return new(te||J)(e.KVO(E.Qq),e.KVO(u.A5))},J.\u0275prov=e.jDH({token:J,factory:J.\u0275fac,providedIn:"root"}),a})()},17669:(xe,de,t)=>{"use strict";t.d(de,{FY:()=>E,PK:()=>e,QC:()=>O,qW:()=>n});var e=function(B){return B.Space="Space",B.CapsLock="CapsLock",B.Backspace="Backspace",B.ArrowLeft="ArrowLeft",B.ArrowRight="ArrowRight",B.Enter="Enter",B.Escape="Escape",B.PrimaryType="abc",B.SecondaryType="*&$",B}(e||{}),n=function(B){return B[B.Off=0]="Off",B[B.Once=1]="Once",B[B.Always=2]="Always",B}(n||{});const E=new Map([[["0",")"],"Digit0"],[["1","!"],"Digit1"],[["2","@"],"Digit2"],[["3","#"],"Digit3"],[["4","$"],"Digit4"],[["5","%"],"Digit5"],[["6","^"],"Digit6"],[["7","&"],"Digit7"],[["8","*"],"Digit8"],[["9","("],"Digit9"],[[";",":"],"Semicolon"],[["/","?"],"Slash"],[["`","~"],"Backquote"],[["[","{"],"BracketLeft"],[["\\","|"],"Backslash"],[["]","}"],"BracketRight"],[["'",'"'],"Quote"],[[".",">"],"Period"],[[",","<"],"Comma"],[["-","_"],"Minus"],[["=","+"],"Equal"]]),O=new Map([[[";",":"],186],[["=","+"],187],[[",","<"],188],[["-","_"],189],[[".",">"],190],[["/","?"],191],[["`","~"],192],[["[","{"],219],[["\\","|"],220],[["]","}"],221],[["'",'"'],222]])},93012:(xe,de,t)=>{"use strict";t.d(de,{i1:()=>Ne,me:()=>A,RF:()=>Se});var e=t(61142),n=t(29370),E=t(47973),O=t(16490),B=t(65240),P=t(61904),k=t(51006),U=t(19061),r=t(58527);let A=(()=>{var we;class ve{}return(we=ve).\u0275fac=function(Oe){return new(Oe||we)},we.\u0275mod=r.$C({type:we}),we.\u0275inj=r.G2t({imports:[e.MD,E.wG,O.vF,n.m_,U.bm,P.z_,k.YF,B.h.forChild()]}),ve})();var l=t(76614),I=t(80583),S=t(16229),L=t(36877),s=t(28653),M=t(83915),u=t(4208),x=t(48852),p=t(17669),i=t(2218),o=t(81247),_=t(28139);const f=["container"],J=(we,ve)=>({"caps-lock-always":we,"caps-lock-once":ve}),a=()=>["1","2","3","4","5","6","7","8","9","0"],D=we=>({keys:we}),te=()=>["q","w","e","r","t","y","u","i","o","p"],N=()=>["a","s","d","f","g","h","j","k","l","@"],z=()=>["z","x","c","v","b","n","m",",",".","?"],R=we=>({text:we}),v=()=>["`","~","!","@","#","$","%","^","&","*"],h=()=>["=","+","(",")","[","]","{","}","-","_"],W=()=>["\xa3","\u20ac","'",'"',"|",";",":",",",".","?"],ne=()=>["\u2122","\xa9","\xa2","\xa5","\xa1","\xbf","<",">","\\","/"],ee=we=>({name:we,svgIcon:"space_bar"}),b=(we,ve)=>({text:we,key:ve,class:"text-capitalize"}),w=(we,ve,Pe)=>({key:we,class:"caps-lock-button",name:ve,svgIcon:Pe}),F=we=>({name:we,svgIcon:"keyboard_arrow_left"}),Z=we=>({name:we,svgIcon:"keyboard_arrow_right"}),se=(we,ve)=>({name:we,key:ve,svgIcon:"backspace"}),Y=we=>({name:we,text:"Hide",class:"text-capitalize"}),q=(we,ve)=>({text:we,key:ve,class:"text-lower-case"});function T(we,ve){if(1&we&&(r.qex(0),r.j41(1,"tr",null,11),r.eu8(3,14),r.j41(4,"td",15),r.eu8(5,16),r.k0s()(),r.j41(6,"tr"),r.eu8(7,14),r.j41(8,"td",17),r.eu8(9,16),r.k0s(),r.j41(10,"td",17),r.eu8(11,16),r.k0s()(),r.j41(12,"tr"),r.eu8(13,14),r.j41(14,"td",18),r.eu8(15,16),r.k0s()(),r.j41(16,"tr"),r.eu8(17,14),r.k0s(),r.j41(18,"tr")(19,"td",17),r.eu8(20,16),r.k0s(),r.j41(21,"td",19),r.eu8(22,16),r.k0s(),r.j41(23,"td",17),r.eu8(24,14),r.k0s(),r.j41(25,"td",20),r.eu8(26,16),r.k0s()(),r.bVm()),2&we){const Pe=r.XpG(),Oe=r.sdS(5),Be=r.sdS(9),tt=r.sdS(11),Ee=r.sdS(13),ot=r.sdS(15),We=r.sdS(17),Qe=r.sdS(19),Fe=r.sdS(21),Xe=r.sdS(23);r.R7$(3),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(18,D,r.lJ4(17,a))),r.R7$(2),r.Y8G("ngTemplateOutlet",Qe),r.R7$(2),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(21,D,r.lJ4(20,te))),r.R7$(2),r.Y8G("ngTemplateOutlet",ot),r.R7$(2),r.Y8G("ngTemplateOutlet",We),r.R7$(2),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(24,D,r.lJ4(23,N))),r.R7$(2),r.Y8G("ngTemplateOutlet",tt),r.R7$(2),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(27,D,r.lJ4(26,z))),r.R7$(3),r.Y8G("ngTemplateOutlet",Ee),r.R7$(2),r.Y8G("ngTemplateOutlet",Be),r.R7$(2),r.Y8G("ngTemplateOutlet",Xe)("ngTemplateOutletContext",r.eq3(29,R,Pe.inputSymbol.SecondaryType)),r.R7$(2),r.Y8G("ngTemplateOutlet",Fe)}}function H(we,ve){if(1&we&&(r.qex(0),r.j41(1,"tr"),r.eu8(2,14),r.j41(3,"td",15),r.eu8(4,16),r.k0s()(),r.j41(5,"tr"),r.eu8(6,14),r.j41(7,"td",17),r.eu8(8,16),r.k0s(),r.j41(9,"td",17),r.eu8(10,16),r.k0s()(),r.j41(11,"tr"),r.eu8(12,14),r.j41(13,"td",18),r.eu8(14,16),r.k0s()(),r.j41(15,"tr"),r.eu8(16,14),r.k0s(),r.j41(17,"tr")(18,"td",17),r.eu8(19,16),r.k0s(),r.j41(20,"td",19),r.eu8(21,16),r.k0s(),r.j41(22,"td",17),r.eu8(23,14),r.k0s(),r.j41(24,"td",20),r.eu8(25,16),r.k0s()(),r.bVm()),2&we){const Pe=r.XpG(),Oe=r.sdS(5),Be=r.sdS(9),tt=r.sdS(11),Ee=r.sdS(13),ot=r.sdS(15),We=r.sdS(17),Qe=r.sdS(19),Fe=r.sdS(21),Xe=r.sdS(23);r.R7$(2),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(18,D,r.lJ4(17,v))),r.R7$(2),r.Y8G("ngTemplateOutlet",Qe),r.R7$(2),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(21,D,r.lJ4(20,h))),r.R7$(2),r.Y8G("ngTemplateOutlet",ot),r.R7$(2),r.Y8G("ngTemplateOutlet",We),r.R7$(2),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(24,D,r.lJ4(23,W))),r.R7$(2),r.Y8G("ngTemplateOutlet",tt),r.R7$(2),r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(27,D,r.lJ4(26,ne))),r.R7$(3),r.Y8G("ngTemplateOutlet",Ee),r.R7$(2),r.Y8G("ngTemplateOutlet",Be),r.R7$(2),r.Y8G("ngTemplateOutlet",Xe)("ngTemplateOutletContext",r.eq3(29,R,Pe.inputSymbol.PrimaryType)),r.R7$(2),r.Y8G("ngTemplateOutlet",Fe)}}function y(we,ve){if(1&we&&(r.qex(0),r.j41(1,"td")(2,"button",22),r.EFF(3),r.k0s()(),r.bVm()),2&we){const Pe=ve.$implicit;r.R7$(2),r.FS9("name",Pe),r.R7$(),r.JRh(Pe)}}function X(we,ve){1&we&&r.DNE(0,y,4,2,"ng-container",21),2&we&&r.Y8G("ngForOf",ve.keys)}function c(we,ve){if(1&we&&(r.j41(0,"div",26),r.EFF(1),r.k0s()),2&we){const Pe=r.XpG().key;r.R7$(),r.JRh(Pe)}}function g(we,ve){if(1&we&&r.nrm(0,"mat-icon",27),2&we){const Pe=r.XpG().svgIcon;r.Y8G("svgIcon",Pe)}}function d(we,ve){if(1&we&&(r.j41(0,"div",23),r.DNE(1,c,2,1,"div",24),r.j41(2,"button",22),r.EFF(3),r.DNE(4,g,1,1,"mat-icon",25),r.k0s()()),2&we){let Pe;const Oe=ve.key,Be=ve.svgIcon,tt=ve.text,Ee=ve.name,ot=ve.class;r.R7$(),r.Y8G("ngIf",Oe),r.R7$(),r.HbH(ot),r.FS9("name",null!==(Pe=Ee)&&void 0!==Pe?Pe:tt),r.R7$(),r.SpI(" ",tt," "),r.R7$(),r.Y8G("ngIf",Be)}}function C(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=r.XpG(),Oe=r.sdS(7);r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(2,ee,Pe.inputSymbol.Space))}}function Q(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=r.XpG(),Oe=r.sdS(7);r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.l_i(2,b,Pe.inputSymbol.Enter,Pe.gamepadKey.LT))}}function j(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=r.XpG(),Oe=r.sdS(7);r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.sMw(2,w,Pe.gamepadKey.LB,Pe.inputSymbol.CapsLock,Pe.capsLockOff?"thick_arrow_up":"thick_arrow_dash_up"))}}function le(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=r.XpG(),Oe=r.sdS(7);r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(2,F,Pe.inputSymbol.ArrowLeft))}}function ge(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=r.XpG(),Oe=r.sdS(7);r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(2,Z,Pe.inputSymbol.ArrowRight))}}function ie(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=r.XpG(),Oe=r.sdS(7);r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.l_i(2,se,Pe.inputSymbol.Backspace,Pe.gamepadKey.X))}}function ce(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=r.XpG(),Oe=r.sdS(7);r.Y8G("ngTemplateOutlet",Oe)("ngTemplateOutletContext",r.eq3(2,Y,Pe.inputSymbol.Escape))}}function G(we,ve){if(1&we&&r.eu8(0,14),2&we){const Pe=ve.text,Oe=r.XpG(),Be=r.sdS(7);r.Y8G("ngTemplateOutlet",Be)("ngTemplateOutletContext",r.l_i(2,q,Pe,Oe.gamepadKey.RB))}}let ue=(()=>{var we;class ve{get capsLockAlways(){return this.capsLockState===p.qW.Always}get capsLockOnce(){return this.capsLockState===p.qW.Once}get capsLockOff(){return this.capsLockState===p.qW.Off}constructor(Oe,Be,tt){this.focusManager=Oe,this.nvKeyboardService=Be,this.gamepadService=tt,this.primaryType=!0,this.inputSymbol=p.PK,this.gamepadKey={X:"X",LT:"LT",LB:"LB",RB:"RB"},this.capsLockState=p.qW.Off,this.destroy$=new I.B7,this.pressedKeys=new Set}ngAfterViewInit(){const Oe=(tt,Ee,ot)=>this.gamepadService.onButtonPressed$(tt,ot).pipe((0,s.j)(We=>!We),(0,M.T)(We=>[Ee,We]));let Be;(0,S.h)(Oe(x.dt.X,p.PK.Backspace,{repeat:!0}),Oe(x.dt.LeftTrigger,p.PK.Enter,{repeat:!0}),Oe(x.dt.LeftBumper,p.PK.CapsLock),Oe(x.dt.RightBumper,p.PK.PrimaryType),Oe(x.dt.B,p.PK.Escape)).pipe((0,u.Q)(this.destroy$)).subscribe(([tt,Ee])=>{this.processEvent(this.newKeyboardEvent(Ee?"keydown":"keyup",tt))}),(0,S.h)((0,L.R)(this.container.nativeElement,"mousedown"),(0,L.R)(this.container.nativeElement,"mouseup")).pipe((0,u.Q)(this.destroy$)).subscribe(tt=>{if(tt.target instanceof HTMLButtonElement){const Ee="mousedown"===tt.type?"keydown":"keyup";tt.preventDefault(),("keydown"===Ee||tt.target===Be)&&this.processEvent(this.newKeyboardEvent(Ee,tt.target.name)),Be=tt.target}}),this.focusCentralButton()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}toggleKeyboardType(){this.primaryType=!this.primaryType,this.focusCentralButton()}focusCentralButton(){setTimeout(()=>{const Oe=this.container.nativeElement,Be=Oe.rows[Math.floor(Oe.rows.length/2)],tt=Be.cells[Math.floor(Be.cells.length/2)];this.focusManager.focusChild(tt,"initial")})}toggleCapsLock(){this.capsLockState=this.capsLockOff?p.qW.Once:this.capsLockOnce?p.qW.Always:p.qW.Off}escapeKeyDown(Oe){Oe.stopPropagation()}keyDown(Oe){Oe.isTrusted?(this.nvKeyboardService.sendInput(Oe),(Oe.key.includes("Arrow")||"Tab"===Oe.key)&&Oe.preventDefault()):Oe.target instanceof HTMLButtonElement&&"Enter"===Oe.key&&(this.processEvent(Oe,Oe.target.name),this.lastKeydownEvent=Oe)}keyUp(Oe){if(Oe.isTrusted)this.nvKeyboardService.sendInput(Oe);else if(Oe.target instanceof HTMLButtonElement&&"Enter"===Oe.key){var Be;this.processEvent(Oe,Oe.target.name),(null===(Be=this.lastKeydownEvent)||void 0===Be?void 0:Be.target)===Oe.target&&(this.lastKeydownEvent=void 0)}}focusOut(){var Oe;(null===(Oe=this.lastKeydownEvent)||void 0===Oe?void 0:Oe.target)instanceof HTMLButtonElement&&(this.processEvent(this.lastKeydownEvent,this.lastKeydownEvent.target.name,"keyup"),this.lastKeydownEvent=void 0)}processEvent(Oe,Be,tt){const Ee=null!=Be?Be:Oe.key,ot=this.newKeyboardEvent(null!=tt?tt:Oe.type,Ee),We=1===Ee.length,Qe="keyup"===ot.type;Ee===p.PK.PrimaryType||Ee===p.PK.SecondaryType?Qe&&this.toggleKeyboardType():Ee===p.PK.CapsLock?Qe&&this.toggleCapsLock():We?(this.nvKeyboardService.sendInput(ot),this.capsLockOnce&&(this.capsLockState=p.qW.Off)):this.nvKeyboardService.sendInput(ot)}getKeyCode(Oe){for(const[tt,Ee]of p.FY.entries())if(tt.includes(Oe))return Ee;return[p.PK.Escape,p.PK.Backspace,p.PK.ArrowLeft,p.PK.ArrowRight,p.PK.Enter,p.PK.Space,p.PK.CapsLock].includes(Oe)?Oe:1===Oe.length&&/^[A-Za-z]+$/.test(Oe)?"Key"+Oe.toUpperCase():void 0}newKeyboardEvent(Oe,Be){const tt=this.nvKeyboardService.needShiftKey(Be);let Ee=!1;const ot=this.pressedKeys.has(Be);return"keydown"===Oe?(ot||this.pressedKeys.add(Be),Ee="Shift"!==Be&&ot):"keyup"===Oe&&ot&&this.pressedKeys.delete(Be),new KeyboardEvent(Oe,{key:Be,code:this.getKeyCode(Be),shiftKey:tt,repeat:Ee,modifierCapsLock:!this.capsLockOff,view:window,bubbles:!0,cancelable:!0})}}return(we=ve).\u0275fac=function(Oe){return new(Oe||we)(r.rXU(U.c_),r.rXU(Se),r.rXU(x.bi))},we.\u0275cmp=r.VBU({type:we,selectors:[["nv-keyboard"]],viewQuery:function(Oe,Be){if(1&Oe&&r.GBs(f,5),2&Oe){let tt;r.mGM(tt=r.lsd())&&(Be.container=tt.first)}},hostBindings:function(Oe,Be){1&Oe&&r.bIt("keydown.escape",function(Ee){return Be.escapeKeyDown(Ee)})("keydown",function(Ee){return Be.keyDown(Ee)})("keyup",function(Ee){return Be.keyUp(Ee)})("focusout",function(){return Be.focusOut()})},decls:24,vars:6,consts:[["container",""],["keyList",""],["composite",""],["spaceBar",""],["enter",""],["capsLock",""],["arrowLeft",""],["arrowRight",""],["backspace",""],["hide",""],["keyboardType",""],["row1",""],["nvTrapFocus","","nvSpatialNavigationContainer","",3,"ngClass"],[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["colspan","4",1,"top-right-cell"],[3,"ngTemplateOutlet"],["colspan","2"],["rowspan","2","colspan","4"],["colspan","6"],["colspan","4"],[4,"ngFor","ngForOf"],["mat-button","",3,"name"],[1,"key-container"],["class","keypad-circle",4,"ngIf"],[3,"svgIcon",4,"ngIf"],[1,"keypad-circle"],[3,"svgIcon"]],template:function(Oe,Be){1&Oe&&(r.j41(0,"table",12,0),r.DNE(2,T,27,31,"ng-container",13)(3,H,26,31,"ng-container",13),r.k0s(),r.DNE(4,X,1,1,"ng-template",null,1,r.C5r)(6,d,5,7,"ng-template",null,2,r.C5r)(8,C,1,4,"ng-template",null,3,r.C5r)(10,Q,1,5,"ng-template",null,4,r.C5r)(12,j,1,6,"ng-template",null,5,r.C5r)(14,le,1,4,"ng-template",null,6,r.C5r)(16,ge,1,4,"ng-template",null,7,r.C5r)(18,ie,1,5,"ng-template",null,8,r.C5r)(20,ce,1,4,"ng-template",null,9,r.C5r)(22,G,1,5,"ng-template",null,10,r.C5r)),2&Oe&&(r.Y8G("ngClass",r.l_i(3,J,Be.capsLockAlways,Be.capsLockOnce)),r.R7$(2),r.Y8G("ngIf",Be.primaryType),r.R7$(),r.Y8G("ngIf",!Be.primaryType))},dependencies:[e.YU,e.Sq,e.bT,e.T3,E.iV,n.An,i.R,o.D,_.PW],styles:['table[_ngcontent-%COMP%]{width:100vw;height:23.4vw;border-spacing:0;direction:ltr}table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{height:20%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}table[_ngcontent-%COMP%] td.top-right-cell[_ngcontent-%COMP%]{width:20%}table[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;width:100%;height:100%;font-size:max(1.5vw,14px);font-weight:400;text-transform:lowercase;place-content:center;align-items:center;border:1px solid rgba(0,0,0,.5);background-color:#29292980}table[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{display:flex;width:unset;height:unset;font-size:max(1.5vw,14px)}table[_ngcontent-%COMP%] button.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize}table[_ngcontent-%COMP%] button.cdk-keyboard-focused[_ngcontent-%COMP%], table[_ngcontent-%COMP%] button.cdk-program-focused[_ngcontent-%COMP%]{border:1px solid #ffffff}table[_ngcontent-%COMP%] .key-container[_ngcontent-%COMP%]{position:relative;height:100%}table[_ngcontent-%COMP%] .key-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:max(1.5vw,14px)}table[_ngcontent-%COMP%] .key-container[_ngcontent-%COMP%] .caps-lock-button[_ngcontent-%COMP%]:before{position:absolute;background-color:#fff;border-radius:50%;width:calc(max(1.5vw,14px)/2);height:calc(max(1.5vw,14px)/2);top:10px;left:10px;content:""}table[_ngcontent-%COMP%] .key-container[_ngcontent-%COMP%] .keypad-circle[_ngcontent-%COMP%]{display:table-cell;position:absolute;background-color:#0b8abc;width:max(1.5vw,14px);height:max(1.5vw,14px);border-radius:50%;line-height:max(1.5vw,14px);font-size:max(.8vw,6px);color:#fff;text-align:center;vertical-align:middle;top:calc(50% - (max(1.5vw,14px)/2));right:10px;z-index:1;pointer-events:none}table.caps-lock-always[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(.text-capitalize):not(.text-lower-case), table.caps-lock-once[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(.text-capitalize):not(.text-lower-case){text-transform:uppercase}table.caps-lock-always[_ngcontent-%COMP%]:not(.caps-lock-once) .key-container[_ngcontent-%COMP%] .caps-lock-button[_ngcontent-%COMP%]:before, table.caps-lock-once[_ngcontent-%COMP%]:not(.caps-lock-once) .key-container[_ngcontent-%COMP%] .caps-lock-button[_ngcontent-%COMP%]:before{background-color:#76b900}']}),ve})();var ae=t(3457);let Ce=(()=>{var we;class ve{}return(we=ve).\u0275fac=function(Oe){return new(Oe||we)},we.\u0275cmp=r.VBU({type:we,selectors:[["nv-keyboard-hint"]],decls:6,vars:3,consts:[["fxLayout","row","fxLayoutAlign","start center"],[1,"fab-hint"]],template:function(Oe,Be){1&Oe&&(r.j41(0,"div",0)(1,"div",1),r.EFF(2,"Y"),r.k0s(),r.j41(3,"p"),r.EFF(4),r.nI1(5,"translate"),r.k0s()()),2&Oe&&(r.R7$(4),r.JRh(r.bMT(5,1,Be.hint)))},dependencies:[ae.DJ,ae.sA,B.D9],styles:[".fab-hint[_ngcontent-%COMP%]{--font-header-font-size: 18px;--font-header-line-height: 64px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:700;display:flex;background-color:#0b8abc;border-radius:50%;color:#fff;justify-content:center;align-items:center;width:64px;height:64px}.tv-view[_ngcontent-%COMP%] .fab-hint[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .fab-hint[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .fab-hint[_ngcontent-%COMP%]{--font-header-font-size: 36px;--font-header-line-height: 128px}.isLtr[_nghost-%COMP%] .fab-hint[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .fab-hint[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .fab-hint[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .fab-hint[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .fab-hint[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .fab-hint[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}p[_ngcontent-%COMP%]{--font-header-font-size: 20px;--font-header-line-height: 23px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:400;white-space:nowrap;margin:0}.tv-view[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] p[_ngcontent-%COMP%]{--font-header-font-size: 40px;--font-header-line-height: 46px}"]}),ve})(),Se=(()=>{var we;class ve{get enabled(){return this._enabled}set enabled(Oe){this._enabled=Oe}get onInput$(){return this.onInput.asObservable()}constructor(Oe,Be){this.matBottomSheet=Oe,this.overlay=Be,this.onInput=new I.B7,this.shiftKeyPressed=!1,this._enabled=!1}open(){if(!this.enabled)throw new Error("NvKeyboard is not enabled");return this.matBottomSheet.open(ue,{panelClass:["nv-hig","nv-keyboard"],hasBackdrop:!1,disableClose:!1,autoFocus:!1,restoreFocus:!1})}sendShiftKeyEvent(Oe,Be){this.onInput.next(new KeyboardEvent(Oe,{key:"Shift",code:"ShiftLeft",shiftKey:Be,view:window,bubbles:!0,cancelable:!0}))}needShiftKey(Oe){return'!@#$%^&*()~_+{}|:"<>?'.includes(Oe)}sendInput(Oe){if(!this.enabled)throw new Error("NvKeyboard is not enabled");const Be=this.needShiftKey(Oe.key);Be&&!this.shiftKeyPressed&&"keydown"===Oe.type&&(this.shiftKeyPressed=!0,this.sendShiftKeyEvent(Oe.type,!0)),this.onInput.next(Oe),Be&&this.shiftKeyPressed&&"keyup"===Oe.type&&(this.shiftKeyPressed=!1,this.sendShiftKeyEvent(Oe.type,!1))}createHintOverlay(Oe){const tt=this.overlay.position().flexibleConnectedTo(Oe).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:24}]),Ee=this.overlay.create(new P.rR({positionStrategy:tt})),ot=Ee.attach(new l.A8(Ce)).instance;return{updateHint:We=>ot.hint=We,dispose:()=>Ee.dispose()}}}return(we=ve).\u0275fac=function(Oe){return new(Oe||we)(r.KVO(O.VK),r.KVO(P.hJ))},we.\u0275prov=r.jDH({token:we,factory:we.\u0275fac,providedIn:"root"}),ve})();var Ne=function(we){return we.SystemKeyboard="keyboardType.system",we.AppKeyboard="keyboardType.app",we}(Ne||{})},42088:(xe,de,t)=>{"use strict";t.d(de,{cK:()=>z,bq:()=>R,Kq:()=>te,PZ:()=>N,Ev:()=>i,GU:()=>S,Tg:()=>o,Xt:()=>h,XU:()=>v});var e=t(70650),n=t(26513),E=t(19392),O=t(8619),B=t(65706),P=t(26875),k=t(78812),U=t(47766);const r=["portable","laptop","sub notebook","convertible","detachable","notebook"];var l=function(W){return W.Unknown="-1",W.Disabled="0",W.Enabled="1",W}(l||{}),I=function(W){return W.Locale="Locale",W.SystemInfo="SystemInfo",W.User="User",W.Init="Init",W.Geo="Geo",W}(I||{}),S=function(W){return W.GfeContent="nvidia_web_services/controller.gfeclientcontent.NG.php",W.Installer="nvidia_web_services/controller.driverinstallercontent.NG.php",W.Profile="nvidia_web_services/controller.gfeclientaffinity.php",W.Vrs="nvidia_web_services/controller.gfeclientvrs.php",W}(S||{});const L={hasGeoInfo:!0,hasLocaleInfo:!0,hasSystemInfo:!0,hasUserInfo:!1},s={additionalHwInfo:!1,geo:!1},M=[{LCID:[1029],code:"cs-CZ",name:"\u010ce\u0161tina (Czech)",isoThreeLetter:"ces",countryCode:"CZ"},{LCID:[1030],code:"da-DK",name:"Dansk (Danish)",isoThreeLetter:"dan",countryCode:"DK"},{LCID:[1031,3079,5127,4103,2055],code:"de-DE",name:"Deutsch (German)",isoThreeLetter:"deu",countryCode:"DE"},{LCID:[1032],code:"el-GR",name:"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac (Greek)",isoThreeLetter:"ell",countryCode:"GR"},{LCID:[1033],code:"en-US",name:"English - United States",isoThreeLetter:"eng",countryCode:"US"},{LCID:[2057,1078,1052,1118,1067,1101,1068,5146,1026,1109,1050,4122,1125,2067,1126,3081,10249,6153,5129,7177,12297,1061,1127,1071,2108,1084,1079,1129,1039,1136,1137,2144,1120,1087,1153,2128,2068,1048,2074,1091,1093,2117,16393,1081,1121,2145,1094,2118,1113,2137,1115,2080,3081,15369,14345,17417,5129,13321,18441],code:"en-GB",name:"English - United Kingdom",isoThreeLetter:"eng",countryCode:"GB"},{LCID:[3082,1069,1027,1034],code:"es-ES",name:"Espa\xf1ol - Espa\xf1a (Spanish - Spain)",isoThreeLetter:"spa",countryCode:"ES"},{LCID:[2058,11274,16394,13322,9226,5130,7178,12298,17418,4106,18442,58378,19466,6154,15370,10250,20490,21514,14346,8202],code:"es-MX",name:"Espa\xf1ol - M\xe9xico (Spanish - Mexico)",isoThreeLetter:"spa",countryCode:"MX"},{LCID:[1035],code:"fi-FI",name:"Suomi (Finnish)",isoThreeLetter:"fin",countryCode:"FI"},{LCID:[1036,2060,11276,3084,9228,12300,15372,5132,13324,6156,14348,58380,8204,10252,4108,7180,1122],code:"fr-FR",name:"Fran\xe7ais (French)",isoThreeLetter:"fra",countryCode:"FR"},{LCID:[1038],code:"hu-HU",name:"Magyar (Hungarian)",isoThreeLetter:"hun",countryCode:"HU"},{LCID:[1040,2064],code:"it-IT",name:"Italiano (Italian)",isoThreeLetter:"ita",countryCode:"IT"},{LCID:[1041],code:"ja-JP",name:"\u65e5\u672c\u8a9e (Japanese)",isoThreeLetter:"jpn",countryCode:"JP"},{LCID:[1042],code:"ko-KR",name:"\ud55c\uad6d\uc5b4 (Korean)",isoThreeLetter:"kor",countryCode:"KR"},{LCID:[1043],code:"nl-NL",name:"Nederlands (Dutch)",isoThreeLetter:"nld",countryCode:"NL"},{LCID:[1044,14],code:"nb-NO",name:"Norsk (Norwegian)",isoThreeLetter:"nor",countryCode:"NO"},{LCID:[1045],code:"pl-PL",name:"Polski (Polish)",isoThreeLetter:"pol",countryCode:"PL"},{LCID:[2070],code:"pt-PT",name:"Portugu\xeas - Portugal (Portuguese - Portugal)",isoThreeLetter:"por",countryCode:"PT"},{LCID:[1046,2070],code:"pt-BR",name:"Portugu\xeas - Brasil (Portuguese - Brazil)",isoThreeLetter:"por",countryCode:"BR"},{LCID:[1049,2092,1059,1088,1104,2073,3098,2115],code:"ru-RU",name:"\u0420\u0443\u0441\u0441\u043a\u0438\u0439 (Russian)",isoThreeLetter:"rus",countryCode:"RU"},{LCID:[1051],code:"sk-SK",name:"Sloven\u010dina (Slovak)",isoThreeLetter:"slk",countryCode:"SK"},{LCID:[1060],code:"sl-SI",name:"Sloven\u0161\u010dina (Slovenian)",isoThreeLetter:"slv",countryCode:"SI"},{LCID:[1053],code:"sv-SE",name:"Svenska (Swedish)",isoThreeLetter:"swe",countryCode:"SE"},{LCID:[1054],code:"th-TH",name:"\u0e44\u0e17\u0e22 (Thai)",isoThreeLetter:"tha",countryCode:"TH"},{LCID:[1055],code:"tr-TR",name:"T\xfcrk\xe7e (Turkish)",isoThreeLetter:"tur",countryCode:"TR"},{LCID:[1058],code:"uk-UA",name:"Ukrainian (Ukraine)",isoThreeLetter:"ukr",countryCode:"UA"},{LCID:[2052,804,4],code:"zh-CHS",cmsCode:"zh_CN",name:"\u7b80\u4f53\u4e2d\u6587 (Chinese - Simplified)",isoThreeLetter:"zho",countryCode:"CN"},{LCID:[3076,1028,4100,404,5124,31748],code:"zh-CHT",cmsCode:"zh_TW",name:"\u7e41\u9ad4\u4e2d\u6587 (Chinese - Traditional)",isoThreeLetter:"zho",countryCode:"CN"}];var x=t(33367).Or.Nvapp.Driverupdaterecommendation.DriverTypeEnum,p=t(58527);let i=(()=>{var W;class ne{}return(W=ne).\u0275fac=function(b){return new(b||W)},W.\u0275prov=p.jDH({token:W,factory:W.\u0275fac}),ne})(),o=(()=>{var W;class ne{constructor(b,w,F,Z,se){this.config=w,this.systemInfoService=F,this.localeService=Z,this.injector=se,this.logger=b.getLogger("crimson/sdk/gfwsl/GfwslParamsService"),this.config.includedParams=this.config.includedParams||s,this.params={gcV:this.config.appVersion},this.hasGeneralSystemInfo=!1,this.hasGenericSystemInfo=!1,this.hasGpuInfo=!1,this.hasLocaleInfo=!1,this.hasUserInfo=!1,this.hasGeoInfo=!1,this.gfwslParamsUpdated$=new n.t(this.getParamEventData(I.Init))}digestMessage(b){return(0,e.A)(function*(){const w=(new TextEncoder).encode(b),F=yield crypto.subtle.digest("SHA-256",w);return Array.from(new Uint8Array(F)).map(Y=>Y.toString(16).padStart(2,"0")).join("")})()}getParamEventData(b){return{type:b,hasSystemInfo:this.isSystemInfoComplete(),hasLocaleInfo:this.hasLocaleInfo,hasUserInfo:this.hasUserInfo,hasGeoInfo:this.hasGeoInfo,params:this.params}}isSystemInfoComplete(){return this.hasGeneralSystemInfo&&this.config.includedParams.additionalHwInfo===this.hasGenericSystemInfo&&this.config.includedParams.additionalHwInfo===this.hasGpuInfo}get gfwslParamsUpdated(){return this.gfwslParamsUpdated$}initialize(){this.processSystemInfo(),this.processLocaleInfo(),this.config.includedParams.additionalHwInfo&&(this.hardwareService=this.injector.get(U.SQ),this.hardwareService||this.logger.error("ERROR:: Failed to obtain HardwareInformationService"),this.processGenericInfo(),this.processGpuInfo()),this.config.includedParams.geo&&this.initGeoService(),(0,E.H)(this.digestMessage(this.config.userAgent+"/"+this.params.gcV)).subscribe(b=>{this.params.aiD=b})}onAccountStatusChanged(b,w,F,Z,se){this.params.jUid=w?btoa(b):b,this.hasUserInfo=w,this.params.uCst=[F===k.Rg.Full?l.Enabled:l.Disabled,Z===k.Rg.Full?l.Enabled:l.Disabled,se===k.Rg.Full?l.Enabled:l.Disabled],this.gfwslParamsUpdated$.next(this.getParamEventData(I.User))}onGfwslParamsReady(b=L){return this.gfwslParamsUpdated$.pipe((0,O.p)(w=>this.checkAvailableGfwslParams(b,w)),(0,B.s)(1))}initGeoService(){this.processGeoInfo()}checkAvailableGfwslParams(b,w){for(const F of Object.keys(b))if(b[F]!==w[F])return!1;return!0}processSystemInfo(){this.systemInfoService.getSystemInfo([U.Lu.OSName,U.Lu.OSVersion,U.Lu.ProcessorArchitecture,U.Lu.UserDefaultUILanguage,U.Lu.PhysicalMemoryCapacity]).subscribe(b=>{this.params.is6="x64"===b.ProcessorArchitecture?l.Enabled:l.Disabled,({ProcessorArchitecture:this.params.pArch,CPUName:this.params.cID}=b),[this.params.osC,this.params.osB]=this.getOSInfo(b.OSName,b.OSVersion),this.params.sM=this.computeMemory(b),this.params.IsB=l.Disabled,this.params.gIsB=l.Disabled,this.params.apRT="802.11a",this.userDefaultUILanguage=b.UserDefaultUILanguage,this.params.sdWmfp=l.Enabled,this.params.O=`${this.params.pArch}/${this.params.osC}`,this.hasGeneralSystemInfo=!0,this.gfwslParamsUpdated$.next(this.getParamEventData(I.SystemInfo))},b=>{this.logger.error("System info errored out",b)})}processGenericInfo(){this.hardwareService.getGenericInfo(!1).subscribe(b=>{var w;(0,P.isEqual)(b,this.genericInfo)||(this.genericInfo=b,this.params.iLp=r.includes(null===(w=b.MoboType)||void 0===w?void 0:w.toLowerCase())?l.Enabled:l.Disabled,this.params.isCRD=(b.DriverType?b.DriverType:x.GameReadyDriver).toString(),this.params.sM=this.computeMemory(b),({DriverVersion:this.params.GFPV,CurrentResolution:this.params.cSR,IsDCHDriverInstalled:this.params.dch}=b),this.params.GFPV=this.params.GFPV?this.params.GFPV:"0.00",this.hasGenericSystemInfo=!0,this.gfwslParamsUpdated$.next(this.getParamEventData(I.SystemInfo)))},b=>{this.logger.error("Generic info errored out",b)})}computeMemory(b){const w=b.TotalPhysicalMemory&&parseInt(b.TotalPhysicalMemory,10)>.1?b.TotalPhysicalMemory:b.PhysicalMemoryCapacity;return`${(parseInt(w,10)/1024**3).toFixed()}GB`}getOSInfo(b,w){const F=null==w?void 0:w.split(".");let Z="";return null!=b&&b.match(/windows/i)&&(Z=null==F?void 0:F.pop()),[null==F?void 0:F.join("."),Z]}processGpuInfo(){this.hardwareService.getGpuInfo(!1).subscribe(b=>{if(0===(0,P.size)(b.GPU))return void this.logger.error("Empty GPU list in gpu hardware info",b);const w=b.GPU.find(F=>F.IsPrimary===l.Enabled)||b.GPU[0];this.params.IsQ=w.IsQuadro,this.params.D=JSON.parse(`{"VEN_${w.VendorId}&DEV_${w.DeviceId}":"DISPLAY"}`),this.params.dIDa=this.getGpuDeviceIdArray(b),this.params.dFma=this.getGpuDeviceFamilyArray(b),this.params.isO=b.IsOptimus,this.params.isSLI=this.computeSliStatus(b.SLI),this.params.pgpuId=this.getPrimaryGpuId(b),this.hasGpuInfo=!0,this.gfwslParamsUpdated$.next(this.getParamEventData(I.SystemInfo))},b=>{this.logger.error("GPU info errored out",b)})}getPrimaryGpuId(b){let w=null;return b.GPU.every(F=>!F.IsPrimary||(w=F.GpuHandle,!1)),w}getGpuDeviceIdArray(b){return Array.from(this.getSortedGpuArray(b),(w,F)=>this.buildGpuDeviceId(w,F))}getSortedGpuArray(b){return Array.from(b.GPU).sort(w=>w.IsPrimary===l.Enabled?-1:1)}buildGpuDeviceId(b,w){let F="";return b.DeviceId&&b.VendorId?(F=`${b.DeviceId}_${b.VendorId}`,F=b.SubSystemId&&b.SubVendorId?`${F}_${b.SubSystemId}_${b.SubVendorId}`:`${F}_FFFF_FFFF`):(this.logger.error("GPU info has invalid DeviceId and/or VendorId",b),F="FFFF_FFFF_FFFF_FFFF"),`${F}_${++w}`}getGpuDeviceFamilyArray(b){return Array.from(this.getSortedGpuArray(b),w=>parseInt(w.GPUArchitecture,10).toString(16))}computeSliStatus(b){return b.SLISupported===l.Enabled&&b.HasActiveSLITopology===l.Enabled?b.ActiveTopologyGPUCount:b.SLISupported}processGeoInfo(){this.params.go="",this.hasGeoInfo=!0,this.gfwslParamsUpdated$.next(this.getParamEventData(I.Geo))}onUserConsentUpdated(b){this.params.uCst=[this.getFunctionalConsent(b),this.getGfwslConsent(b,"trackTechnicalData"),this.getGfwslConsent(b,"trackBehavioralData")]}getFunctionalConsent(b){return this.formatConsentForGfwsl(b.consentSettings?b.consentSettings.trackFunctionalData:{level:k.Rg.None})}formatConsentForGfwsl(b){return b.level===k.Rg.Full?l.Enabled:l.Disabled}getGfwslConsent(b,w){return b.consentSettings?this.formatConsentForGfwsl(b.consentSettings[w]):b.privacySettings&&b.privacySettings.dataTracking?this.formatConsentForGfwsl(b.privacySettings.dataTracking[w]):l.Unknown}processLocaleInfo(){this.localeService.localeChanged.subscribe(b=>{this.setGfwslLocaleParams(b),this.hasLocaleInfo=!0,this.gfwslParamsUpdated$.next(this.getParamEventData(I.Locale))},b=>{this.logger.error("Locale info errored out",b)})}setGfwslLocaleParams(b){const w=M.find(Z=>{var se;return Z.code===(null===(se=null!=b?b:this.userDefaultUILanguage)||void 0===se?void 0:se.replace("_","-"))||Z.cmsCode===b}),F=null==w?void 0:w.LCID[0].toString();this.params.gLg=null==w?void 0:w.code,this.params.lg=F,this.params.L={CC:null==w?void 0:w.isoThreeLetter,LCID:F}}getParams(b={},w){b=(0,P.omitBy)(b,Z=>"string"==typeof Z&&"CTP_"===Z.slice(0,4));let F=(0,P.assignIn)({},this.params,b);return w&&(F=(0,P.pick)(F,w)),F}getServer(){return this.config.server}}return(W=ne).\u0275fac=function(b){return new(b||W)(p.KVO(U.J6),p.KVO(i),p.KVO(U.zW),p.KVO(U.iH),p.KVO(p.zZn))},W.\u0275prov=p.jDH({token:W,factory:W.\u0275fac,providedIn:"root"}),ne})();var _=t(81834),f=t(76449),J=t(70815),D=t(59859);let te=(()=>{var W;class ne{}return(W=ne).\u0275fac=function(b){return new(b||W)},W.\u0275prov=p.jDH({token:W,factory:W.\u0275fac}),ne})(),N=(()=>{var W;class ne{constructor(b,w,F,Z,se){this.endpointFactory=w,this.gfwslParamsService=F,this.config=Z,this.distributedtracingUtilService=se,this.logger=b.getLogger("crimson/sdk/aem/AemService"),this.endpointMap=new Map,this.endpointDefinitionMap=new Map,this.endpointRetryConfig={},({defaultRetries:this.endpointRetryConfig.maxRetries,defaultTimeBetweenRetries:this.endpointRetryConfig.timeBetweenRetries,defaultTimeout:this.endpointRetryConfig.timeout}=this.config)}setUrlGenerator(b,w,F){let Z;const se=JSON.stringify(this.gfwslParamsService.getParams(F,w.paramMask));return Z=(0,_.l2)([b,w.classPath,w.clientPath,w.endpointPath]),(0,P.isEmpty)(se)||(Z=Z+"?"+se),Z}addEndpointDefinitions(b){b.forEach(w=>{const F=w.name;this.endpointDefinitionMap.set(F,w),this.endpointMap.set(F,this.endpointFactory.createEndpoint(w))})}callAemEndpoint(b,w,F,Z={},se={},Y){const q=this.endpointMap.get(b),T=this.endpointDefinitionMap.get(b);if(!q)return(0,D.$)(`No endpoint found for ${b}. Add this definition with the initialize call.`);w=this.gfwslParamsService.getParams(w,T.paramMask);const H=this.setUrlGenerator(this.config.server,T,w);this.logger.info("Going to call AEM URL:",H,"with dynamic headers:",se);const y={config:this.endpointRetryConfig,body:Z,headers:{...T.headers,...se},includeRequestId:!1,reportRequestData:(0,P.isNil)(F)?{}:{...F}},X=q.makeRequestEx(T.method,H,y);return this.distributedtracingUtilService.handleHttpEndpointSpan(X,y,f.pB.GetAemReleaseHighlights,Y)}setConfigServer(b){this.config.server=b}}return(W=ne).\u0275fac=function(b){return new(b||W)(p.KVO(U.J6),p.KVO(J.t),p.KVO(o),p.KVO(te),p.KVO(f.Z1))},W.\u0275prov=p.jDH({token:W,factory:W.\u0275fac,providedIn:"root"}),ne})();var z=function(W){return W.services="services/com.nvidia.services/",W}(z||{}),R=function(W){return W.GfeClient="AEMGFEClientContent",W}(R||{});let v=(()=>{var W;class ne{static forRoot(b){return{ngModule:ne,providers:[{provide:i,useValue:b.gfwsl},{provide:te,useValue:b.aem}]}}}return(W=ne).\u0275fac=function(b){return new(b||W)},W.\u0275mod=p.$C({type:W}),W.\u0275inj=p.G2t({}),ne})();var h=function(W){return W.Get="GET",W.Post="POST",W}(h||{})},25172:(xe,de,t)=>{"use strict";t.d(de,{YQ:()=>B,ds:()=>E,ry:()=>O});var e=t(33367),n=t(58527),E=e.Or.Common.Applicationcontrol.State1;let O=(()=>{var P;class k{}return(P=k).\u0275fac=function(r){return new(r||P)},P.\u0275prov=n.jDH({token:P,factory:P.\u0275fac}),k})();const B=e.Ts.Common.Systeminfo.GetSystemInfo.module},21172:(xe,de,t)=>{"use strict";t.d(de,{P:()=>I});var e=t(85735),n=t(43848),E=t(16229),O=t(3496),B=t(25172),P=t(11909),k=t(53461),U=t(10174),r=t(47766),A=t(58527),l=t(3678);let I=(()=>{var S;class L{constructor(M,u){var x,p;this.plugins=u,this.defualtMandatoryPluginTimeout=3e4,this.pluginsActivationMap=new Map,this.hasMandatoryPluginActivationNotificationTimedOut=new e.m(1),this.pluginsLoadInfo=[],this.pluginsLoadInfoSub$=new e.m(1),this.mandatoryPluginNames=[],this.optionalPluginNames=[],this.logger=M.getLogger("PluginsNotificationService"),this.mandatoryPluginsLoaded=new e.m(1),this.optionalPluginLoaded=new e.m(1),this.mandatoryPluginNames=null!==(x=u.mandatoryModuleNames.map(i=>i.toLowerCase()))&&void 0!==x?x:[],this.optionalPluginNames=null!==(p=u.optionalModulesNames.map(i=>i.toLowerCase()))&&void 0!==p?p:[],this.logger.info(`Mandatory plugins list ${this.mandatoryPluginNames} \n optional plugins list ${this.optionalPluginNames}`)}isMandatoryPlugin(M){var u;const x=M.toLowerCase();return!(null===(u=this.mandatoryPluginNames)||void 0===u||!u.find(p=>p===x))}isOptionalPlugin(M){var u;const x=M.toLowerCase();return!(null===(u=this.optionalPluginNames)||void 0===u||!u.find(p=>p===x))}getCurrentPluginsLoadinfo(){return this.pluginsLoadInfo}getPluginsLoadInfo$(){return this.pluginsLoadInfoSub$.asObservable().pipe((0,k.F)())}handleModuleActivationNotification(M){let u=new Set,x=new Set,p=new Set;for(const o of M.modules){const _=o.module,f=this.isMandatoryPlugin(_),J=this.isOptionalPlugin(_),a=o.state===B.ds.active,D=_.toLowerCase();this.pluginsActivationMap.has(D)||this.pluginsActivationMap.set(D,new e.m(1)),this.pluginsActivationMap.get(D).next(a);const te=this.pluginsLoadInfo.find(N=>N.pluginName===_);(!te||te&&!te.isLoaded&&a)&&(this.pluginsLoadInfo=this.pluginsLoadInfo.filter(N=>N.pluginName!==_),this.pluginsLoadInfo.push({pluginName:_,isLoaded:a,loadDurationMs:Date.now()-this.pluginLoadStartTime})),f?a?u.add(_):(this.mandatoryPluginsLoaded.next({loaded:!1,name:_}),this.timerSub&&this.timerSub.unsubscribe()):J&&(a?x.add(_):p.add(_))}if(u.size!==this.plugins.mandatoryModuleNames.length)return;this.mandatoryPluginsLoaded.next({loaded:!0}),this.timerSub&&this.timerSub.unsubscribe();const i=x.size+p.size;if(x.size===this.plugins.optionalModulesNames.length)this.optionalPluginLoaded.next({loaded:!0});else if(p.size>0)if(1===p.size){const[o]=p;this.optionalPluginLoaded.next({loaded:!1,name:o})}else this.optionalPluginLoaded.next({loaded:!1});i+u.size===this.plugins.mandatoryModuleNames.length+this.plugins.optionalModulesNames.length&&this.pluginsLoadInfoSub$.next(this.pluginsLoadInfo)}get mandatoryPluginsLoaded$(){return this.mandatoryPluginsLoaded.asObservable().pipe((0,k.F)())}get optionalPluginsLoaded$(){return this.optionalPluginLoaded.asObservable().pipe((0,k.F)())}registerForModulesActiveNotification(){this.modulesActivationNotificationSub=this.bridgeCommandCefExecuteCommand(P.T.Common.Applicationcontrol.ModulesActiveNotification).subscribe(M=>{this.logger.info("ModuleActiveNotification state ",M),M.modules.length>0&&(this.handleModuleActivationNotification(M),this.logger.info("plugins loaded",M.modules))},M=>{this.logger.error("MandatoryPluginsHandlerService failed with error: ",M),this.mandatoryPluginsLoaded.next({loaded:!1,name:""}),this.modulesActivationNotificationSub.unsubscribe()})}isPluginLoaded$(M){if(!r.zk.isCefPlatform())return(0,n.of)(!0);const u=M.toLocaleLowerCase();return this.pluginsActivationMap.has(u)||this.pluginsActivationMap.set(u,new e.m(1)),this.isMandatoryPlugin(u)?(0,E.h)(this.pluginsActivationMap.get(u).asObservable(),this.hasMandatoryPluginActivationNotificationTimedOut.asObservable().pipe((0,U.u)(!1))).pipe((0,k.F)()):this.pluginsActivationMap.get(u).asObservable().pipe((0,k.F)())}init(M){this.bridgeCommandCefExecuteCommand=M,this.pluginLoadStartTime=Date.now(),this.registerForModulesActiveNotification(),this.plugins.mandatoryPluginTimeout&&this.triggerLoadingIndicator(!0)}triggerLoadingIndicator(M){var u;M?(this.timerSub&&this.timerSub.unsubscribe(),this.timerSub=(0,O.O)(null!==(u=this.plugins.mandatoryPluginTimeout)&&void 0!==u?u:this.defualtMandatoryPluginTimeout).subscribe(()=>{this.mandatoryPluginsLoaded.next({loaded:!1}),this.hasMandatoryPluginActivationNotificationTimedOut.next(!0),this.modulesActivationNotificationSub.unsubscribe(),this.timerSub.unsubscribe(),this.timerSub=null})):this.timerSub&&this.timerSub.unsubscribe()}}return(S=L).\u0275fac=function(M){return new(M||S)(A.KVO(l.J6),A.KVO(B.ry))},S.\u0275prov=A.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},17716:(xe,de,t)=>{"use strict";t.d(de,{YF:()=>E,Rc:()=>I,Kw:()=>S,Pd:()=>U});var e=t(26875),n=t(76449);const E={server:"",version:"v1",defaultRetries:2,exponentialBackoffMaxDelay:3e4,defaultTimeout:3e4,clientId:""},B="application/json";var P=function(L){return L.Register="PNS_Registrations",L.Unregister="PNS_Unregister",L}(P||{}),k=t(58527);let U=(()=>{var L;class s{}return(L=s).\u0275fac=function(u){return new(u||L)},L.\u0275prov=k.jDH({token:L,factory:L.\u0275fac}),s})();var r=t(70815);let I=(()=>{var L;class s{constructor(u,x,p){this.serverConfig=u,this.endpointFactory=x,this.distributedTracingUtilService=p,this.commonHeaders={"Content-Type":B,Accept:B,"NV-Client-ID":u.clientId},this.endpointConfig={timeout:this.serverConfig.defaultTimeout,exponentialBackoffMaxDelay:this.serverConfig.exponentialBackoffMaxDelay,maxRetries:this.serverConfig.defaultRetries},this.pnsRegisterEndpointUrl=this.preparePnsRegisterEndpoint(),this.pnsUnregisterEndpointUrl=this.preparePnsUnregisterEndpoint()}generateUrl(u){return this.serverConfig.server+"/"+this.serverConfig.version+"/"+u}preparePnsRegisterEndpoint(){return this.endpointFactory.createEndpoint({headers:this.commonHeaders,config:this.endpointConfig,reportRequestData:{originalService:"PNS",serviceUseCase:P.Register,reportSuccessTelemetry:"true"}})}preparePnsUnregisterEndpoint(){return this.endpointFactory.createEndpoint({headers:this.commonHeaders,config:this.endpointConfig,reportRequestData:{originalService:"PNS",serviceUseCase:P.Unregister,reportSuccessTelemetry:"true"}})}pnsRegister(u,x,p){return this.commonHeaders=(0,e.merge)(this.commonHeaders,x),this.pnsRegistrationRequest(u,this.commonHeaders,p)}pnsUnregister(u,x){return this.commonHeaders=(0,e.merge)(this.commonHeaders,x),this.pnsUnregistrationRequest(u,this.commonHeaders)}getCommonHeaders(){return this.commonHeaders}pnsRegistrationRequest(u,x,p){const i={body:u,headers:x},o=this.pnsRegisterEndpointUrl.post(this.generateUrl("registrations"),i);return this.distributedTracingUtilService.handleHttpEndpointSpan(o,i,n.pB.PnsRegistration,p)}pnsUnregistrationRequest(u,x){const p={body:u,headers:x},i=this.pnsUnregisterEndpointUrl.post(this.generateUrl("unregister"),p);return this.distributedTracingUtilService.handleHttpEndpointSpan(i,p,n.pB.PnsUnregister)}}return(L=s).\u0275fac=function(u){return new(u||L)(k.KVO(U),k.KVO(r.t),k.KVO(n.Z1))},L.\u0275prov=k.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})(),S=(()=>{var L;class s{static forRoot(u){return{ngModule:s,providers:[{provide:U,useValue:u||E}]}}}return(L=s).\u0275fac=function(u){return new(u||L)},L.\u0275mod=k.$C({type:L}),L.\u0275inj=k.G2t({}),s})()},50801:(xe,de,t)=>{"use strict";t.d(de,{CQ:()=>ne,EO:()=>_,xI:()=>k,qQ:()=>B});var e=t(26513),n=t(80583),E=t(58527),O=t(47766);let B=(()=>{var ee;class b{constructor(F){this.enableListenerSubject=new e.t(!0),this.exitStreamerFlowNotify$=new n.B7,this.logger=F.getLogger("ProjectInterfaceService"),this.closeOSC$=new n.B7,this.openIGOSystemSettings$=new n.B7,this.quitStreaming$=new n.B7,this.sendCustomMessage$=new n.B7,this.onCustomMessage$=new n.B7,this.isNonEnglishKeyboardLayout$=new n.B7,this._streamingBegin$=new n.B7,this._streamingEnd$=new n.B7,this._streamingSessionSetupSuccess$=new n.B7}get streamingSessionSetupSuccess$(){return this._streamingSessionSetupSuccess$.asObservable()}get streamingBegin$(){return this._streamingBegin$.asObservable()}get streamingEnd$(){return this._streamingEnd$.asObservable()}notifyStreamingSessionSetupSuccess(F){this._streamingSessionSetupSuccess$.next(F)}notifyStreamingBegin(F){this._streamingBegin$.next(F)}notifyStreamingEnd(F){this._streamingEnd$.next(F)}get triggerCloseIGO(){return this.closeOSC$.asObservable()}get triggerOpenIGOSystemSettings(){return this.openIGOSystemSettings$.asObservable()}get triggerQuitStreaming(){return this.quitStreaming$.asObservable()}get enableListener(){return this.enableListenerSubject.asObservable()}get sendCustomMessage(){return this.sendCustomMessage$.asObservable()}get onCustomMessageReceived(){return this.onCustomMessage$.asObservable()}get isNonEnglishKeyboardLayout(){return this.isNonEnglishKeyboardLayout$.asObservable()}get exitStreamerFlowNotify(){return this.exitStreamerFlowNotify$.asObservable()}notifyStreamerFlowExit(){this.exitStreamerFlowNotify$.next(!0)}setNotificationAllowedCallBack(F){this.logger.verbose("Setting isNotificationAllowed Callback"),this.isNotificationAllowedCallBack=F}setShortcutCheckCallBacks(F){this.logger.verbose("Setting checkIfShortcutIsPresent Callback"),this.checkIfShortcutIsPresentCallback=F}setExitStreamerCallBack(F){this.logger.verbose("Setting exitStreamer Callback"),this.exitStreamerCallBack=F}resumeListening(){this.enableListenerSubject.next(!0)}pauseListening(){this.enableListenerSubject.next(!1)}quitStreaming(){this.quitStreaming$.next(!0)}closeIGO(){this.closeOSC$.next(!0)}openIGOSystemSettings(){this.openIGOSystemSettings$.next(!0)}setForceTouchModeCallback(F){this.logger.verbose("Setting force touch mode callback"),this.getForceTouchMode=F}postCustomMessage(F,Z,se){const Y={messageType:se||"customMessage",messageRecipient:Z,data:F};this.logger.verbose("CustomMessage being sent:",Y),this.sendCustomMessage$.next(Y)}onCustomMessage(F){F.data=F.data.replace("\0",""),this.onCustomMessage$.next(F)}setIsNonEnglishKeyboardLayout(F){this.isNonEnglishKeyboardLayout$.next(F)}}return(ee=b).\u0275fac=function(F){return new(F||ee)(E.KVO(O.J6))},ee.\u0275prov=E.jDH({token:ee,factory:ee.\u0275fac,providedIn:"root"}),b})();const k=new E.nKC("NV_PROJECTINTERFACE_CONFIG");var U=t(43848),r=t(93181),A=t(31315),l=t(75707),I=t(65706),S=t(14714),L=t(83915),s=t(79539),M=t(4208),u=t(10174),x=t(91384),p=t(26875),i=t(33367),o=t(37543),_=function(ee){return ee.PermissionPending="PermissionPending",ee.PermissionDenied="PermissionDenied",ee.Muted="Muted",ee.Unmuted="Unmuted",ee.NoMicFound="NoMicFound",ee}(_||{}),f=function(ee){return ee.PerformaceWarning="microphone.performanceWarning",ee.PermissionBlocked="microphone.micBlockedWarning",ee.PermissionBlockedMacOS="microphone.micBlockedWarningMacOS",ee.PermissionBlockedWindows="microphone.micBlockedWarningWindows",ee}(f||{});const J="undefined",a={startState:J,requestedState:J,streamSessionId:J,subSessionId:J,resultState:J};var D=t(81834),te=function(ee){return ee.Start="Start",ee.Stop="Stop",ee.Initializing="Initializing",ee.Muted="Muted",ee.Unmuted="Unmuted",ee.PermissionPending="PermissionPending",ee.PermissionDenied="PermissionDenied",ee.NoMicFound="NoMicFound",ee}(te||{}),N=function(ee){return ee.Initialize="Initialize",ee.UnmuteMic="UnmuteMic",ee.MuteMic="MuteMic",ee.AwaitPermssion="AwaitPermssion",ee.DenyPermission="DenyPermission",ee.LookForMic="LookForMic",ee.StopMic="StopMic",ee}(N||{});const z=new Map([[_.Unmuted,N.UnmuteMic],[_.Muted,N.MuteMic],[_.PermissionPending,N.AwaitPermssion],[_.PermissionDenied,N.DenyPermission],[_.NoMicFound,N.LookForMic]]);var R=t(65597),v=t(65240),h=t(66348),W=t(78812);let ne=(()=>{var ee;class b{constructor(F,Z,se,Y,q,T,H,y){var X;this.snackbar=se,this.bridgeService=Y,this.translateService=q,this.sharedStorageService=T,this.telemetryService=H,this.systemInfoService=y,this.blockName="gfnMicState",this.isInitialized=!1,this.currentMicState=new e.t(_.PermissionPending),this.micInfo=a,this.isMicToggled=!1,this.stopSubject=new n.B7,this.micStateMachine=new D.Z3({tag:D.A6.MicrophoneStateMachine,states:{[te.Start]:{onExit:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.applyUserPreference(g)))},[te.Initializing]:{onEnter:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.completeInitialization(g)),(0,l.ZZ)(g=>this.updateStateValue(g))),onExit:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.sendInitTelemetry(g)))},[te.Unmuted]:{onEnter:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.showToastMessage(g)),(0,l.ZZ)(g=>this.writeUserPreference(g)),(0,l.ZZ)(g=>this.sendToggleTelemetry(g)),(0,l.ZZ)(g=>this.updateStateValue(g)))},[te.Muted]:{onEnter:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.writeUserPreference(g)),(0,l.ZZ)(g=>this.sendToggleTelemetry(g)),(0,l.ZZ)(g=>this.updateStateValue(g)))},[te.PermissionPending]:{onEnter:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.sendToggleTelemetry(g)),(0,l.ZZ)(g=>this.updateStateValue(g)))},[te.PermissionDenied]:{onEnter:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.showToastMessage(g)),(0,l.ZZ)(g=>this.sendToggleTelemetry(g)),(0,l.ZZ)(g=>this.updateStateValue(g)))},[te.NoMicFound]:{onEnter:c=>(0,U.of)(c).pipe((0,l.ZZ)(g=>this.sendToggleTelemetry(g)),(0,l.ZZ)(g=>this.updateStateValue(g)))},[te.Stop]:{}},transitions:{[N.Initialize]:[{from:te.Start,to:te.Initializing}],[N.UnmuteMic]:[{from:te.Initializing,to:te.Unmuted},{from:te.Muted,to:te.Unmuted},{from:te.PermissionPending,to:te.Unmuted},{from:te.NoMicFound,to:te.Unmuted},{from:te.PermissionDenied,to:te.Unmuted},{from:te.Unmuted,to:te.Unmuted}],[N.MuteMic]:[{from:D.cL,to:te.Muted}],[N.AwaitPermssion]:[{from:te.Initializing,to:te.PermissionPending},{from:te.NoMicFound,to:te.PermissionPending}],[N.DenyPermission]:[{from:te.Initializing,to:te.PermissionDenied},{from:te.PermissionPending,to:te.PermissionDenied},{from:te.PermissionDenied,to:te.PermissionDenied},{from:te.Muted,to:te.PermissionDenied}],[N.LookForMic]:[{from:D.cL,to:te.NoMicFound}],[N.StopMic]:[{from:D.cL,to:te.Stop}]},startState:te.Start,endState:te.Stop}),this.logger=F.getLogger("MicrophoneService"),this.shouldApplyPreference=null===(X=null==Z?void 0:Z.saveMicPreference)||void 0===X||X}toggleMicrophone(){this.isMicToggled=!0,this.currentMicState$.pipe((0,I.s)(1)).subscribe(F=>{(0,p.set)(this.micInfo,"startState",F),F===_.Unmuted?(this.setMicrophoneState(!1),(0,p.set)(this.micInfo,"requestedState",_.Muted),this.logger.info(`Mic button pressed, current state: ${F}, requested state: Muted`)):(this.setMicrophoneState(!0),(0,p.set)(this.micInfo,"requestedState",_.Unmuted),this.logger.info(`Mic button pressed, current state: ${F}, requested state: Unmuted`))})}get currentMicState$(){return this.currentMicState.asObservable()}getMicEvent(){this.logger.info("Get microphone event called"),this.bridgeService.executeCommand(i.Ts.Gfn.Streaming.GetMicState).subscribe()}setMicrophoneState(F){this.bridgeService.executeCommand(i.Ts.Gfn.Streaming.SetMicState,{enable:F}).subscribe()}start(F,Z,se=!1){this.logger.info("Started"),(0,p.set)(this.micInfo,"streamSessionId",F||J),(0,p.set)(this.micInfo,"subSessionId",Z||J),this.setupCallback(F,Z,this.shouldApplyPreference,se),this.getMicEvent()}stop(){this.logger.info("Stopped"),this.isInitialized=!1,this.stopSubject.next(),this.micStateMachine.on(N.StopMic,null).subscribe(F=>this.micStateMachine.reset(),F=>this.micStateMachine.reset())}willBeEnabledOnStreamStart(){return(0,r.p)([this.sharedStorageService.readBlock(this.blockName).pipe((0,S.W)(F=>(0,U.of)(null))),this.bridgeService.executeCommand(i.Ts.Gfn.Streaming.ShouldDefaultEnableMic)]).pipe((0,L.T)(([F,Z])=>Z&&((0,p.isEmpty)(F)||(null==F?void 0:F.preference)===_.Unmuted)),(0,I.s)(1))}setupCallback(F,Z,se,Y=!1){this.logger.info("Microphone callback is set up"),(0,A.zV)([this.bridgeService.executeCommand(i.Ts.Gfn.Streaming.RegisterMicCallback),this.sharedStorageService.readBlock(this.blockName).pipe((0,S.W)(q=>(0,U.of)(null))),Y?(0,U.of)(!0):this.bridgeService.executeCommand(i.Ts.Gfn.Streaming.ShouldDefaultEnableMic),this.systemInfoService.getDeviceOSType(),(0,U.of)(F),(0,U.of)(Z)]).pipe((0,L.T)(([q,T,H,y,X,c])=>this.getActionAndStateData({...q,blockData:T,shouldDefaultEnableMic:H,osType:y,streamSessionId:X,streamSubSessionId:c,shouldApplyPreference:se})),(0,s.H)(([q,T])=>this.micStateMachine.on(q,T).pipe((0,S.W)(H=>(this.logger.info("error occurred:",H.code,H.message,H.data),(0,U.of)(H))))),(0,M.Q)(this.stopSubject)).subscribe({next:q=>this.logger.info("Current mic state:",this.micStateMachine.currentState),error:q=>this.logger.info("Unexpected error occurred:",q),complete:()=>this.logger.info("Observable stream terminated")})}getActionAndStateData(F){return this.logger.info("getActionAndStateData",F),[this.isInitialized?z.get(F.uiMicState):N.Initialize,F]}updateStateValue(F){return this.logger.info("updateStateValue",F),this.currentMicState.next(F.uiMicState),(0,U.of)(F)}applyUserPreference(F){this.logger.info("applyUserPreference",F);let Z=!1;return F.shouldApplyPreference&&((0,p.isEmpty)(F.blockData)&&F.shouldDefaultEnableMic?(this.logger.info("No preference set, unmuting microphone"),this.setMicrophoneState(!0),Z=!0):(0,p.isEmpty)(F.blockData)||(this.logger.info("Not initialized, applying stored user preference:",F.blockData.preference),F.blockData.preference===_.Unmuted?(this.setMicrophoneState(!0),Z=!0):F.blockData.preference===_.Muted&&(this.setMicrophoneState(!1),Z=!0))),Z||this.getMicEvent(),(0,U.of)(F)}sendInitTelemetry(F){return this.logger.info("sendInitTelemetry",F),this.telemetryService.push(new o.Yjq({uiMicState:F.uiMicState,internalMicState:F.internalMicState,streamSessionId:F.streamSessionId||J,streamSubSessionId:F.streamSubSessionId||J})),(0,U.of)(F)}completeInitialization(F){return this.logger.info("completeInitialization",F),this.isInitialized=!0,(0,U.of)(F)}sendToggleTelemetry(F){return this.logger.info("sendToggleTelemetry",F),this.isMicToggled&&((0,p.set)(this.micInfo,"resultState",F.uiMicState),this.logger.info("Sending telemetry:",this.micInfo),this.isMicToggled=!1,this.telemetryService.push(new o.uxn(this.micInfo))),(0,U.of)(F)}writeUserPreference(F){return this.logger.info("writeUserPreference",F),this.isMicToggled&&F.shouldApplyPreference?this.sharedStorageService.writeBlock(this.blockName,{preference:F.uiMicState}).pipe((0,u.u)(F)):(0,U.of)(F)}showToastMessage(F){this.logger.info("showToastMessage",F);let Z=null;return F.uiMicState!==_.Unmuted||F.osType!==O.t_.ChromeOS||F.shouldDefaultEnableMic?F.uiMicState===_.PermissionDenied&&(O.zk.isBrowserPlatform()?Z=f.PermissionBlocked:O.zk.isCefPlatform()&&this.isMicToggled&&(F.osType===O.t_.MacOS?Z=f.PermissionBlockedMacOS:F.osType===O.t_.Windows&&(Z=f.PermissionBlockedWindows))):Z=f.PerformaceWarning,Z?this.showToastMessageInternal(Z).pipe((0,u.u)(F)):(0,U.of)(F)}showToastMessageInternal(F){return this.logger.info("Showing toast notification"),this.translateService.get(F).pipe((0,x.M)(Z=>{this.snackbar.open(Z,"",{duration:7e3,horizontalPosition:"left",verticalPosition:"bottom",panelClass:"nv-hig"})}))}}return(ee=b).\u0275fac=function(F){return new(F||ee)(E.KVO(O.J6),E.KVO(k,8),E.KVO(R.UG),E.KVO(O.NZ),E.KVO(v.c$),E.KVO(h.yQ),E.KVO(W.H0),E.KVO(O.zW))},ee.\u0275prov=E.jDH({token:ee,factory:ee.\u0275fac,providedIn:"root"}),b})()},12664:(xe,de,t)=>{"use strict";t.d(de,{S:()=>j});var e=t(58527),n=t(47766),E=t(93012),O=t(48852),B=t(26513),P=t(80583),k=t(43848),U=t(16229),r=t(36877),A=t(12532),l=t(91384),I=t(75707),S=t(8619),L=t(83915),s=t(4208),M=t(10174),u=t(62931),x=t(72147),p=t(65706),i=t(43615),o=t(81262),_=t(26875),f=t(76438),J=t(81834),a=t(19061),D=t(68868),te=t(56409),N=t(76706),z=t(55269),R=t(8427),v=t(26537),h=t(65240),W=t(56106),ne=t(61142),ee=t(3457),b=t(47973),w=t(44224),F=t(29370),Z=t(6364);let se=(()=>{var le;class ge{get caretEnabled(){return this._caretEnabled}set caretEnabled(ce){this._caretEnabled=(0,Z.he)(ce),this._caretEnabled?(this.initCaret(),setTimeout(()=>this.moveCaret())):this.stopCaret()}constructor(ce,G){this.render=G,this._caretEnabled=!1,this.destroy$=new P.B7,this.blinkingInterval=1e3,this.inputElement=ce.nativeElement}initCaret(){const ce=getComputedStyle(this.inputElement),G=ce.getPropertyValue("font-size"),ue=ce.getPropertyValue("padding-left"),ae=ce.getPropertyValue("caret-color"),Ce=parseInt(ue,10),Se=parseInt(G,10)+Ce;this.subTextElement=this.render.createElement("div"),this.render.setStyle(this.subTextElement,"visibility","hidden"),this.render.setStyle(this.subTextElement,"width","fit-content"),this.render.setStyle(this.subTextElement,"position","fixed"),this.render.setStyle(this.subTextElement,"font-size",G),this.inputElementParent=this.inputElement.parentElement,this.inputElementParent.appendChild(this.subTextElement),this.caretElement=this.render.createElement("div"),this.render.setStyle(this.caretElement,"position","absolute"),this.render.setStyle(this.caretElement,"width","1px"),this.render.setStyle(this.caretElement,"height",`${Se}px`),this.render.setStyle(this.caretElement,"border-left",`1px solid ${ae}`),this.render.setStyle(this.caretElement,"opacity","0"),this.inputElementParent.appendChild(this.caretElement);const Ne=this.inputElement.getBoundingClientRect(),we=this.inputElementParent.getBoundingClientRect();this.caretOffset={x:Ne.left-we.left+Ce,y:(Ne.height-Se)/2},this.caretAnimation=this.caretElement.animate([{opacity:"0"},{opacity:"1"}],{duration:this.blinkingInterval,iterations:1/0,easing:"steps(2, end)"});const ve=this.inputElement.value.length;this.inputElement.setSelectionRange(ve,ve),(0,U.h)((0,r.R)(this.inputElement,"input"),(0,r.R)(window,"resize")).pipe((0,s.Q)(this.destroy$)).subscribe(()=>{this.moveCaret()})}moveCaret(){this.subTextElement&&(this.subTextElement.innerHTML=this.inputElement.value.substring(0,this.inputElement.selectionStart).replace(/\s/g,"\xa0"),this.animateCaret(this.subTextElement.clientWidth{var le;class ge{set activated(ce){this._inputFieldActivated!==ce&&(this._inputFieldActivated=ce,this.activatedChange.emit(this.activated))}get activated(){return this._inputFieldActivated}set searchDebounceTime(ce){this._searchDebounceTime=ce}get searchDebounceTime(){return this._searchDebounceTime}get nvKeyboardOpened(){var ce,G;return null!==(ce=null===(G=this.nvKeyboardOpenedSubject)||void 0===G?void 0:G.getValue())&&void 0!==ce&&ce}get nvKeyboardOpened$(){return this.nvKeyboardOpenedSubject.asObservable()}get currentSearchAction(){return this.searchActivationSubject.getValue().action}get searchActivation$(){return this.searchActivationSubject.asObservable()}get searchCommitted$(){return this.commitSearchSubject.asObservable()}constructor(ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee){var ot;this.searchService=ue,this.indexService=ae,this.ngZone=Ce,this.windowService=Se,this.nvKeyboardService=Ne,this.matDialogService=we,this.injector=ve,this.focusManager=Pe,this.inputModalityService=Be,this.translateService=tt,this.breakpointObserver=Ee,this.autoFocusOnInputContainer=!1,this.displayClearIcon=!0,this.inputType="text",this.isWebSearch=!0,this._inputFieldActivated=!1,this.activatedChange=new e.bkB,this.searchInputInteraction=new e.bkB,this.searchInputFocusOut=new e.bkB,this.useNvKeyboard=!1,this.query="",this.clearTextButtonFocused=!1,this.searchResultState=o.z1.None,this.categorizedResult=null,this.currentCategory="",this.recentSearchesCache=[],this.searchActivationSubject=new B.t(Q),this.destroy$=new P.B7,this.commitSearchSubject=new P.B7,this._searchDebounceTime=200,this.searchStateMachine=new J.Z3({tag:"SearchStateMachine",states:{[C.Start]:{},[C.Stop]:{},[C.Initialized]:{onEnter:We=>(0,k.of)(We).pipe((0,l.M)(Qe=>this.onSearchStateChanged(Qe)))},[C.Search]:{onEnter:We=>(0,k.of)(We).pipe((0,l.M)(Qe=>this.onSearchStateChanged(Qe)))},[C.NvKeyboardSearch]:{onEnter:We=>(0,k.of)(We).pipe((0,l.M)(Qe=>{this.onSearchStateChanged(Qe),this.activateNvKeyboard(!0)}),(0,I.ZZ)(Qe=>this.nvKeyboardOpened$.pipe((0,S.p)(Fe=>Fe),(0,L.T)(Fe=>Qe))),(0,I.ZZ)(Qe=>this.onKeyboardOpenWithHint(Qe))),onExit:We=>this.onExitKeyboardSearch(We)},[C.SystemKeyboardSearch]:{onEnter:We=>(0,k.of)(We).pipe((0,l.M)(Qe=>this.onSearchStateChanged(Qe)),(0,I.ZZ)(Qe=>this.systemVirtualKeyboardService.keyboardVisible$.pipe((0,S.p)(Fe=>Fe),(0,L.T)(Fe=>Qe))),(0,I.ZZ)(Qe=>this.onKeyboardOpenWithHint(Qe))),onExit:We=>this.onExitKeyboardSearch(We)},[C.CommittingSearch]:{onEnter:We=>(0,k.of)(We).pipe((0,l.M)(Qe=>this.onSearchStateChanged(Qe)))},[C.SwitchingKeyboard]:{onEnter:We=>(0,k.of)(We).pipe((0,l.M)(Qe=>this.onSearchStateChanged(Qe)),(0,I.ZZ)(Qe=>this.onKeyboardSwitch(Qe)))}},transitions:{[d.Init]:[{from:C.Start,to:C.Initialized}],[d.InvokeInput]:[{from:C.Initialized,to:C.Search}],[d.InvokeSystemKeyboard]:[{from:C.Initialized,to:C.SystemKeyboardSearch},{from:C.SwitchingKeyboard,to:C.SystemKeyboardSearch}],[d.InvokeNvKeyboard]:[{from:C.Initialized,to:C.NvKeyboardSearch},{from:C.SwitchingKeyboard,to:C.NvKeyboardSearch}],[d.SwitchKeyboard]:[{from:C.SystemKeyboardSearch,to:C.SwitchingKeyboard},{from:C.NvKeyboardSearch,to:C.SwitchingKeyboard}],[d.CommitSearch]:[{from:C.Search,to:C.CommittingSearch},{from:C.NvKeyboardSearch,to:C.Initialized},{from:C.SystemKeyboardSearch,to:C.CommittingSearch},{from:C.CommittingSearch,to:C.CommittingSearch}],[d.DeactivateSearch]:[{from:C.Search,to:C.Initialized},{from:C.NvKeyboardSearch,to:C.Initialized},{from:C.SystemKeyboardSearch,to:C.Initialized},{from:C.CommittingSearch,to:C.Initialized}],[d.StopSearch]:[{from:J.cL,to:C.Stop}]},startState:C.Start,endState:C.Stop}),this.logger=ce.getLogger("SearchComponent"),null!=G&&G.searchInputType&&(this.inputType=G.searchInputType),this.useNvKeyboard=Ne.enabled,this.disableGamepadHintsOnSystemKBOpened=null!==(ot=null==G?void 0:G.disableGamepadHintsOnSystemKBOpened)&&void 0!==ot&&ot,this.isWebSearch||this.indexService.isConnectedToServer().pipe((0,s.Q)(this.destroy$)).subscribe(We=>{this.serverConnectivityStatus=We,this.serverConnectivityStatus||this.updateSearchResultState(o.z1.FailedToConnect)}),this.activateSearch=Oe.guard(a.HK.Input,this.activateSearch.bind(this),"search.requireTapOnSearchBar")}getInputPlaceholder(){return this.inputPlaceholder||this.translateService.instant("search.searchGames")}ngOnInit(){this.breakpointObserver.observe([N.Rp.Handset]).pipe((0,s.Q)(this.destroy$)).subscribe(ce=>{this.isHandSet=ce.matches}),this.isWebSearch||(this.indexService.getSearchIndexAvailability().pipe((0,s.Q)(this.destroy$)).subscribe(ce=>{this.isSearchIndexAvailable=ce,this.isSearchIndexAvailable?(this.updateSearchResultState(o.z1.None),this.performSearch()):this.updateSearchResultState(o.z1.IndexNotAvailable)}),this.indexService.getRecentSearches().pipe((0,s.Q)(this.destroy$)).subscribe(ce=>{this.recentSearchesCache=ce})),this.indexService.onSearchTriggered.pipe((0,s.Q)(this.destroy$)).subscribe(()=>{this.performSearch()}),this.useNvKeyboard&&(this.gamepadService=this.injector.get(O.bi),this.systemVirtualKeyboardService=this.injector.get(n.zH),this.nvKeyboardOpenedSubject=new B.t(!1)),this.indexService.onClearSearchQuery().pipe((0,s.Q)(this.destroy$)).subscribe(ce=>{var G;this.query="",null!==(G=this.inputField)&&void 0!==G&&G.nativeElement&&(this.inputField.nativeElement.value="")})}ngAfterViewInit(){this.startSearchStateMachine(),this.inputField&&(0,U.h)((0,r.R)(this.inputField.nativeElement,"input").pipe((0,M.u)(!1)),this.searchCommitted$.pipe((0,M.u)(!0))).pipe((0,u.B)(this.searchDebounceTime),(0,S.p)(ce=>this.activated),(0,s.Q)(this.destroy$)).subscribe(ce=>{this.query!==this.inputField.nativeElement.value?(this.query=this.inputField.nativeElement.value,""===this.query&&this.updateSearchResultState(o.z1.EmptyQuery),this.searchInputInteraction.emit({currentQuery:this.query,interactionType:o.BE.Input}),this.performSearch(ce)):ce&&this.searchActivationSubject.next({action:d.CommitSearch,data:{focusAction:"firstTile"}})}),this.indexService.onAutoSearchTriggered$.pipe((0,s.Q)(this.destroy$)).subscribe(ce=>{this.indexService.savedSearchQuery&&setTimeout(()=>{this.query=this.indexService.savedSearchQuery,this.inputField.nativeElement.value=this.query,this.indexService.savedSearchQuery=""},0)}),this.ngZone.runOutsideAngular(()=>{this.windowService.getKeydownEvent().pipe((0,S.p)(ce=>(ce.metaKey||ce.ctrlKey)&&("f"===ce.key||"F"===ce.key)),(0,s.Q)(this.destroy$)).subscribe(ce=>{var G;0===(null===(G=this.matDialogService)||void 0===G||null===(G=G.openDialogs)||void 0===G?void 0:G.length)&&this.onInputContainerClick(ce)}),(0,r.R)(document,"touchstart").pipe((0,s.Q)(this.destroy$)).subscribe(ce=>{ce.target!==this.inputField.nativeElement&&this.activated&&this.isInputFocused&&this.inputField.nativeElement.blur()})}),!this.isWebSearch&&!this.indexService.wasSearchIndexingTriggered&&this.indexService.isLazySearchIndexingEnabled().pipe((0,x.n)(ce=>ce?this.activatedChange.pipe((0,S.p)(G=>!0===G)):A.w),(0,p.s)(1)).subscribe(()=>{this.indexService.triggerBuildingSearchIndex()})}startSearchStateMachine(){this.searchActivation$.pipe((0,I.ZZ)(ce=>this.searchStateMachine.on(ce.action,ce.data)),(0,s.Q)(this.destroy$)).subscribe()}onSearchStateChanged(ce){switch(this.searchStateMachine.currentState){case C.Search:case C.NvKeyboardSearch:case C.SystemKeyboardSearch:this.activated=!0;break;case C.Initialized:case C.Stop:this.activated=!1}if(null!=ce&&ce.focusAction)switch(ce.focusAction){case"inputField":this.focusInputField();break;case"inputContainer":this.focusInputContainer();break;case"firstTile":this.indexService.focusFirstTile()}}onExitKeyboardSearch(ce){return this.disposeGamepadOverlay(),this.currentSearchAction===d.CommitSearch&&this.nvKeyboardOpened?(this.activateNvKeyboard(!1),this.nvKeyboardOpened$.pipe((0,S.p)(G=>!G),(0,L.T)(G=>ce))):(0,k.of)(ce)}openNvKeyboard(){this.nvKeyboardRef=this.nvKeyboardService.open(),(0,U.h)(this.nvKeyboardRef.afterOpened().pipe((0,p.s)(1),(0,M.u)(!0)),this.nvKeyboardRef.afterDismissed().pipe((0,p.s)(1),(0,M.u)(!1))).pipe((0,l.M)(ce=>{this.nvKeyboardOpenedSubject.next(ce)}),(0,x.n)(ce=>ce?this.nvKeyboardService.onInput$:A.w),(0,s.Q)(this.destroy$),(0,i.j)(()=>{this.nvKeyboardOpened&&this.nvKeyboardOpenedSubject.next(!1)})).subscribe(ce=>{this.sendNvKeyboardEventToInputField(ce)})}onKeyboardOpenWithHint(ce){const G=this.searchStateMachine.currentState===C.NvKeyboardSearch,ue=G?E.i1.SystemKeyboard:E.i1.AppKeyboard,ae=this.disableGamepadHintsOnSystemKBOpened&&!G;var Ce;ae?this.disposeGamepadOverlay():(this.gamepadHintOverlay=null!==(Ce=this.gamepadHintOverlay)&&void 0!==Ce?Ce:this.nvKeyboardService.createHintOverlay(this.inputContainer.nativeElement),this.gamepadHintOverlay.updateHint(ue));const Ne=(G?this.nvKeyboardOpened$:this.systemVirtualKeyboardService.keyboardVisible$).pipe((0,S.p)(Pe=>!Pe),(0,L.T)(Pe=>(this.searchActivationSubject.next({action:d.DeactivateSearch,data:{focusAction:"inputContainer"}}),ce))),we=ae?A.w:this.gamepadService.onButtonPressed$(O.dt.Y).pipe((0,S.p)(Pe=>Pe),(0,L.T)(Pe=>(this.searchActivationSubject.next({action:d.SwitchKeyboard,data:{currentKeyboard:G?"nvKeyboard":"systemKeyboard"}}),ce))),ve=this.searchCommitted$.pipe((0,L.T)(Pe=>ce));return(0,U.h)(Ne,we,ve)}onKeyboardSwitch(ce){return"nvKeyboard"===(null==ce?void 0:ce.currentKeyboard)?(this.activateNvKeyboard(!1),this.nvKeyboardOpened$.pipe((0,S.p)(ue=>!ue),(0,L.T)(ue=>(this.searchActivationSubject.next({action:d.InvokeSystemKeyboard,data:{focusAction:"inputField"}}),ce)))):(this.searchActivationSubject.next({action:d.InvokeNvKeyboard}),(0,k.of)(ce))}disposeGamepadOverlay(){this.gamepadHintOverlay&&(this.gamepadHintOverlay.dispose(),this.gamepadHintOverlay=void 0)}activateNvKeyboard(ce){ce&&!this.nvKeyboardOpened?this.openNvKeyboard():!ce&&this.nvKeyboardOpened&&this.nvKeyboardRef.dismiss()}sendNvKeyboardEventToInputField(ce){const G=this.inputField.nativeElement;if("keydown"===ce.type){switch(ce.key){case"Backspace":G.selectionStart===G.selectionEnd?G.selectionStart>0&&G.setRangeText("",G.selectionStart-1,G.selectionStart):G.setRangeText("",G.selectionStart,G.selectionEnd);break;case"ArrowLeft":G.selectionStart>0&&(G.selectionEnd=--G.selectionStart);break;case"ArrowRight":G.selectionStartthis.indexService.processSearchedResultsCallback(G)),(0,s.Q)(this.destroy$)).subscribe(G=>{var ue;G.resultsLength>0?(this.categorizedResult=G.categorizedResult,this.categories=Object.keys(this.categorizedResult),this.currentCategory=(null===(ue=this.categories)||void 0===ue?void 0:ue.length)>0?this.categories[0]:"",this.updateSearchResultState(o.z1.ResultAvailable)):(this.categorizedResult=null,this.updateSearchResultState(o.z1.ResultNotAvailable)),this.notifySearchResultChanged(G),ce&&this.searchActivationSubject.next({action:d.CommitSearch,data:{focusAction:"firstTile"}})},G=>{this.logger.error("Error in processing search Results"+G)})):this.updateSearchResultState(o.z1.IndexNotAvailable):this.updateSearchResultState(o.z1.FailedToConnect)}updateSearchResultState(ce){this.searchResultState=ce,this.indexService.notifySearchResultStateChanged(this.searchResultState)}notifySearchResultChanged(ce){this.indexService.notifySearchResultChanged({processedSearchResult:ce,query:this.query})}onKeydownInputField(ce){let G=!1;const ue="Enter"===ce.key||ce.keyCode===J.O4.Done;(0,J.Nw)(ce)&&this.activated?(this.searchStateMachine.currentState!==C.SystemKeyboardSearch&&this.searchActivationSubject.next({action:d.DeactivateSearch,data:{focusAction:"inputContainer"}}),G=!0):ue&&(this.commitSearchSubject.next(),G=!0),G&&(ce.stopPropagation(),ce.preventDefault())}focusInputContainer(){document.activeElement!==this.inputContainer.nativeElement&&this.focusManager.focusViaLastOrigin(this.inputContainer.nativeElement)}focusInputField(){this.isInputFocused||this.focusManager.focusViaLastOrigin(this.inputField.nativeElement)}onInputBlur(ce){(0,_.isNil)(ce.relatedTarget)&&!this.isWebSearch&&this.indexService.sendTextSearchTelemetry({searchType:f.nX.PausedSearch,searchQuery:this.query},this.categorizedResult&&this.categorizedResult[this.currentCategory]||[]),this.searchInputFocusOut.emit({currentQuery:this.query}),(this.searchStateMachine.currentState===C.Search||this.searchStateMachine.currentState===C.CommittingSearch)&&this.searchActivationSubject.next({action:d.DeactivateSearch})}setQueryAndSelectText(ce){this.query=ce,this.inputField&&this.inputField.nativeElement?(this.inputField.nativeElement.value=ce,this.inputField.nativeElement.select(),this.inputField.nativeElement.focus()):this.logger.warn("Cannot set query text - input field not available")}ngOnDestroy(){var ce;this.activated=!1,this.activateNvKeyboard(!1),this.disposeGamepadOverlay(),this.commitSearchSubject.complete(),null===(ce=this.nvKeyboardOpenedSubject)||void 0===ce||ce.complete(),this.searchActivationSubject.next({action:d.StopSearch}),this.searchActivationSubject.complete(),this.indexService.savedSearchQuery=this.query,this.destroy$.next(!0),this.destroy$.complete()}}return(le=ge).\u0275fac=function(ce){return new(ce||le)(e.rXU(n.J6),e.rXU(te.b,8),e.rXU(z.S),e.rXU(R.G),e.rXU(e.SKi),e.rXU(n.s7),e.rXU(E.RF),e.rXU(v.bZ),e.rXU(e.zZn),e.rXU(a.c_),e.rXU(a.gE),e.rXU(D.p),e.rXU(h.c$),e.rXU(N.QP))},le.\u0275cmp=e.VBU({type:le,selectors:[["nv-search"]],viewQuery:function(ce,G){if(1&ce&&(e.GBs(T,5),e.GBs(H,5)),2&ce){let ue;e.mGM(ue=e.lsd())&&(G.inputContainer=ue.first),e.mGM(ue=e.lsd())&&(G.inputField=ue.first)}},inputs:{smallWidthMode:"smallWidthMode",autoFocusOnInputContainer:"autoFocusOnInputContainer",displayClearIcon:"displayClearIcon",inputType:"inputType",isWebSearch:"isWebSearch",inputPlaceholder:"inputPlaceholder",searchDebounceTime:"searchDebounceTime"},outputs:{activatedChange:"activatedChange",searchInputInteraction:"searchInputInteraction",searchInputFocusOut:"searchInputFocusOut"},decls:10,vars:17,consts:[["inputContainer",""],["inputElement",""],[1,"search-container"],["fxLayout","column"],["fxLayout","row"],["nvAddKeyboardActivate","",1,"search-input-container",3,"click","tabindex","nvAutoFocus"],["class","material-icons search-icon",4,"ngIf"],["maxlength","80","autocomplete","off","spellcheck","false",1,"search-input",3,"blur","keydown","ngModel","type","nvCaret"],["mat-icon-button","","class","clear-icon-button",3,"click","focus","blur",4,"ngIf"],[4,"ngIf"],[1,"material-icons","search-icon"],["mat-icon-button","",1,"clear-icon-button",3,"click","focus","blur"],[1,"material-icons"]],template:function(ce,G){if(1&ce){const ue=e.RV6();e.j41(0,"div",2)(1,"div",3)(2,"div",4)(3,"div",5,0),e.bIt("click",function(Ce){return e.eBV(ue),e.Njj(G.onInputContainerClick(Ce))}),e.DNE(5,y,2,0,"mat-icon",6),e.j41(6,"input",7,1),e.bIt("blur",function(Ce){return e.eBV(ue),e.Njj(G.onInputBlur(Ce))})("keydown",function(Ce){return e.eBV(ue),e.Njj(G.onKeydownInputField(Ce))}),e.k0s(),e.DNE(8,X,3,1,"button",8),e.k0s()(),e.DNE(9,c,1,0,"mat-divider",9),e.k0s()()}2&ce&&(e.AVh("handset",G.isHandSet)("nv-keyboard",G.nvKeyboardOpened),e.R7$(3),e.Y8G("tabindex",G.activated?-1:0)("nvAutoFocus",G.autoFocusOnInputContainer),e.R7$(2),e.Y8G("ngIf",!G.smallWidthMode),e.R7$(),e.HbH(G.smallWidthMode?"font-body1":"font-body2"),e.FS9("type",G.inputType),e.Y8G("ngModel",G.query)("nvCaret",G.nvKeyboardOpened&&!G.isInputFocused),e.BMQ("inputmode","text")("placeholder",G.getInputPlaceholder())("tabindex",G.activated||G.clearTextButtonFocused?null:-1),e.R7$(2),e.Y8G("ngIf",G.displayClearIcon&&G.query.length>0),e.R7$(),e.Y8G("ngIf",G.smallWidthMode))},dependencies:[W.me,W.BC,W.tU,W.vS,ne.bT,ee.DJ,b.iV,w.q,F.An,se,Y.tG,q.N],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}.constants-position-relative[_ngcontent-%COMP%]{position:relative}.constants-display-none[_ngcontent-%COMP%]{display:none}.search-container[_ngcontent-%COMP%]{position:relative;z-index:100;white-space:initial;min-width:320px}.isLtr[_nghost-%COMP%] .search-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .search-container[_ngcontent-%COMP%]{margin-left:auto}html[dir=ltr][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:auto}.isRtl[_nghost-%COMP%] .search-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .search-container[_ngcontent-%COMP%]{margin-right:auto}html[dir=rtl][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:auto}.isLtr[_nghost-%COMP%] .search-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .search-container[_ngcontent-%COMP%]{margin-right:auto}html[dir=ltr][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{--dummy4: 0;margin-right:auto}.isRtl[_nghost-%COMP%] .search-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .search-container[_ngcontent-%COMP%]{margin-left:auto}html[dir=rtl][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{--dummy4: 0;margin-left:auto}.search-container[_ngcontent-%COMP%] .no-focus-outline[_ngcontent-%COMP%]:focus{outline:0;border:0}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{display:flex;position:relative;padding:0!important;height:42px;background-color:#292929;margin:auto}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:before{position:absolute;width:100%;height:100%;border-radius:0;border-style:solid;border-color:#fff3;border-width:1px;box-sizing:border-box;pointer-events:none;z-index:1;content:""}mat-icon[_ngcontent-%COMP%]{color:#fff9;font-size:18px}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{color:#fff9;background-color:#292929;transition:opacity .2s ease-in-out;padding:0;min-width:0;width:40px;flex-shrink:0;line-height:40px;display:flex;justify-content:center;align-items:center}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%]{height:auto}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .active-search-icon[_ngcontent-%COMP%]{color:#fffc}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{visibility:visible;opacity:1;width:100%;transition:width .2s ease-in-out;max-width:484px;min-width:320px;border-color:#fff3}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{opacity:1}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-shadow:none;border-radius:0;border-style:solid;border-width:0;width:100%;background-color:#292929;padding-top:2px;padding-bottom:2px;margin:0;outline:none;color:#fffc}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:focus{outline:none}.search-container[_ngcontent-%COMP%]:not(.nv-keyboard) .search-input-container[_ngcontent-%COMP%]:hover:not(:focus-within){outline:none}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:focus input[_ngcontent-%COMP%], .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:focus .search-icon[_ngcontent-%COMP%], .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:focus .clear-icon-button[_ngcontent-%COMP%]{background-color:#ffffff52;transition:background-color .75s ease}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:hover:not(:focus-within) input[_ngcontent-%COMP%], .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:hover:not(:focus-within) .search-icon[_ngcontent-%COMP%], .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:hover:not(:focus-within) .clear-icon-button[_ngcontent-%COMP%]{background-color:#ffffff14}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:active input[_ngcontent-%COMP%], .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:active .search-icon[_ngcontent-%COMP%], .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:active .clear-icon-button[_ngcontent-%COMP%]{background-color:#fff6}.search-container[_ngcontent-%COMP%]:not(.nv-keyboard) .search-input-container[_ngcontent-%COMP%]:not(:focus):focus-within:after, .search-container.nv-keyboard[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:after{position:absolute;width:100%;height:100%;border-bottom:2px solid #76b900;background-clip:padding-box;box-sizing:border-box;pointer-events:none;content:""}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{caret-color:#fff}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]::placeholder{color:#fff9}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%]{color:#fff9;background-color:#292929}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] input[type=search][_ngcontent-%COMP%]::-webkit-search-cancel-button{display:none}.search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{width:40px}.isLtr[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{padding-left:8px}html[dir=ltr][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{--dummy1: 0;padding-left:8px}.isRtl[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{padding-right:8px}html[dir=rtl][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{--dummy1: 0;padding-right:8px}.isLtr[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{padding-right:8px}html[dir=ltr][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{--dummy2: 0;padding-right:8px}.isRtl[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{padding-left:8px}html[dir=rtl][_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-toggle-button[_ngcontent-%COMP%]{--dummy2: 0;padding-left:8px}.selected-search-item[_ngcontent-%COMP%]{background-color:#282828cc!important}.search-container.handset[_ngcontent-%COMP%]{min-width:0}.isLtr[_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .search-container.handset[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .search-container.handset[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .search-container.handset[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .search-container.handset[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{max-width:none;min-width:0;background-color:transparent;border-width:0}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:hover:not(:focus-within), .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:hover:not(:focus-within) input[_ngcontent-%COMP%], .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:hover:not(:focus-within) .clear-icon-button[_ngcontent-%COMP%], .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:focus .clear-icon-button[_ngcontent-%COMP%]{background-color:transparent}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:focus{background-color:#ffffff52;transition:background-color .75s ease}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{caret-color:#ffffffb3}.isLtr[_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]::placeholder{color:#ffffffb3}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;color:#ffffff4d;background-color:transparent}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{color:#ffffffe6}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] input.search-input[_ngcontent-%COMP%]::placeholder{color:#ffffff4d}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%]{background-color:transparent}.search-container.handset[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ffffffb3}.search-container.handset[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{border-top-width:2px;border-top-color:#76b900}.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%]{width:fit-content;margin-top:56px;margin-bottom:32px}.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{height:64px;width:800px;max-width:800px}.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:32px;height:32px;width:32px}.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:before, .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:before{border-width:2px}.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{height:inherit}.isLtr.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr] .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl] .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr] .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl] .tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%]{width:64px}.tv-view[_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .clear-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{height:inherit}']}),ge})()},76438:(xe,de,t)=>{"use strict";t.d(de,{Z6:()=>P,bv:()=>k,nX:()=>O});var e=t(78812);const n={Click:{name:"Click",gdprLevel:e.EU.Technical},TextSearch:{name:"TextSearch",gdprLevel:e.EU.Behavioral}};var O=function(U){return U.RecentSearchResult="RecentSearchResult",U.NewSearchResult="NewSearchResult",U.AbandonedSearch="AbandonedSearch",U.PausedSearch="PausedSearch",U}(O||{});class P extends e.YH{constructor(r){super(r),this.name=n.TextSearch.name,this.gdprLevel=n.TextSearch.gdprLevel}}const k=1e3},81262:(xe,de,t)=>{"use strict";t.d(de,{BE:()=>n,JM:()=>E,z1:()=>e});var e=function(l){return l[l.None=0]="None",l[l.RecentSearches=1]="RecentSearches",l[l.ResultAvailable=2]="ResultAvailable",l[l.ResultNotAvailable=3]="ResultNotAvailable",l[l.FailedToConnect=4]="FailedToConnect",l[l.IndexNotAvailable=5]="IndexNotAvailable",l[l.EmptyQuery=6]="EmptyQuery",l}(e||{}),n=function(l){return l[l.Click=0]="Click",l[l.Input=1]="Input",l[l.Clear=2]="Clear",l}(n||{}),E=function(l){return l.RecentSearchesStore="recentSearchesStore",l}(E||{});!function U(l){for(const I of Object.keys(l)){const S=I.split(/\|/g),L=l[I];delete l[I],S.forEach(s=>{l[s]=L})}}({"en_US|en_GB|da_DK|de_DE|es_ES|es_MX|fi_FI|fr_FR|hu_HU|it_IT|nb_NO|nl_NL|pl_PL|pt_BR|pt_PT|sk_SK|sl_SI|sv_SE|tr_TR|ro_RO|cs_CZ|hr_HR":"Latin","ru_RU|bg_BG|uk_UA":"Cyrillic",th_TH:"Thai",el_GR:"Greek",ko_KR:"Hangul","zh_CHT|zh_CHS|zh_CN|zh_TW":"Chinese",ja_JP:"Japanese",all_locales:"AllSupportedLocales"})},56409:(xe,de,t)=>{"use strict";t.d(de,{b:()=>E});const E=new(t(58527).nKC)("NV_SEARCH_CONFIG")},35770:(xe,de,t)=>{"use strict";t.d(de,{t:()=>u});var e=t(56106),n=t(61142),E=t(51006),O=t(97979),B=t(99204),P=t(29370),k=t(50599),U=t(47973),r=t(96501),A=t(44186),l=t(58527);const I=[e.YN,U.wG,O.ic,r.Wh,B.D6,P.m_,k.fS,A.uc];let S=(()=>{var x;class p{}return(x=p).\u0275fac=function(o){return new(o||x)},x.\u0275mod=l.$C({type:x}),x.\u0275inj=l.G2t({imports:[e.YN,I,e.YN,U.wG,O.ic,r.Wh,B.D6,P.m_,k.fS,A.uc]}),p})();var L=t(47766),s=t(93012),M=t(19061);let u=(()=>{var x;class p{}return(x=p).\u0275fac=function(o){return new(o||x)},x.\u0275mod=l.$C({type:x}),x.\u0275inj=l.G2t({imports:[e.YN,n.MD,E.YF,S,(0,L.BU)(),L._N,s.me,M.bm]}),p})()},8427:(xe,de,t)=>{"use strict";t.d(de,{G:()=>_});var e=t(47766),n=t(81262),E=t(76438),O=t(26513),B=t(85735),P=t(80583),k=t(31315),U=t(43848),r=t(56237),A=t(63997),l=t(26875),S=t(72147),L=t(91384),s=t(14714),M=t(10174),u=t(75707),x=t(65706),p=t(58527),i=t(55269),o=t(78812);let _=(()=>{var f;class J{constructor(D,te,N,z){this.searchService=te,this.dbCacheService=N,this.telemetryService=z,this.searchIndexAvailableSubject=new O.t(!1),this.serverConnectivityStatusSubject=new B.m(1),this.lazySearchIndexingEnabledSubject=new B.m(1),this.maxRecentSearchesCount=5,this.recentSearchesSubject=new B.m(1),this.recentSearches=null,this.recentSearchesStore=null,this.searchResultChangedSubject=new B.m(1),this.searchResultStateChangedSubject=new B.m(1),this.strSearch="SEARCH",this.strRecent="RECENT",this.strNew="NEW",this.clearSearchSub=new P.B7,this.autoSearchTriggerSubject$=new B.m(1),this.logger=D.getLogger("IndexService"),this.triggerSearch$=new P.B7,this.triggerRecentSearchUpdate$=new P.B7,this.triggerBuildSearchIndex$=new P.B7,this.searchActiveState$=new P.B7,this.focusFirstTile$=new P.B7,this._savedSearchQuery="",this._wasSearchIndexingTriggered=!1}get onSearchTriggered(){return this.triggerSearch$.asObservable()}get savedSearchQuery(){return this._savedSearchQuery}set savedSearchQuery(D){this._savedSearchQuery=D}get localSearchResultState(){return this.searchResultState}get wasSearchIndexingTriggered(){return this._wasSearchIndexingTriggered}get onSearchActiveStateChanged(){return this.searchActiveState$.asObservable()}get onFocusFirstTile$(){return this.focusFirstTile$.asObservable()}get onAutoSearchTriggered$(){return this.autoSearchTriggerSubject$.asObservable()}getSearchHierarchy(){return`${this.strSearch}/${this.localSearchResultState===n.z1.RecentSearches?this.strRecent:this.strNew}`}isSearchHierarchy(D){return(null==D?void 0:D.startsWith(this.strSearch))||!1}init(D,te,N){return this.searchIndexAvailableSubject.next(!1),this.serverConnectivityStatusSubject.next(!0),this.lazySearchIndexingEnabledSubject.next(N),this.lazySearchIndexingEnabledSubject.complete(),this.searchService.initialize(D,te)}triggerSearch(){this.triggerSearch$.next(!0)}triggerRecentSearchesUpdateIfSearching(D){this.triggerRecentSearchUpdate$.next(D)}focusFirstTile(){this.focusFirstTile$.next()}triggerAutoSearch(D){this.savedSearchQuery=D,this.autoSearchTriggerSubject$.next()}get onRecentSearchesUpdateTriggered(){return this.triggerRecentSearchUpdate$.asObservable()}updateSearchActiveState(D){this.searchActiveState$.next(D)}setLocalSearchConfig(D){return this.searchService.setSearchConfig(D)}buildStateIndex(D,te,N){return this.searchService.buildStateIndex(D,te,N)}setWebSearchCallback(D){this.performWebSearch=D}performWebSearchOperation(D){this.performWebSearch&&this.performWebSearch(D)}setCallbacks(D,te){this.processSearchedResultsCallback=D,this.processRecentResultsCallback=te}setSearchIndexAvailable(D){this.searchIndexAvailableSubject.next(D)}getSearchIndexAvailability(){return this.searchIndexAvailableSubject.asObservable()}isSearchIndexAvailable(){return this.searchIndexAvailableSubject.value}setServerConnectivityStatus(D){this.serverConnectivityStatusSubject.next(D)}isConnectedToServer(){return this.serverConnectivityStatusSubject.asObservable()}isLazySearchIndexingEnabled(){return this.lazySearchIndexingEnabledSubject.asObservable()}isDBUpgradeRequired(D){return!!(D.length>0&&(0,l.isNil)(D[0].telemetryTitle))}loadRecentSearchesCacheFromDB(D){return this.recentSearchesStore=this.dbCacheService.getOrCreateCachedGlobalItem(n.JM.RecentSearchesStore,D),this.recentSearchesStore.sync_().pipe((0,S.n)(()=>{const te=this.recentSearchesStore.recentSearches||[],N=this.isDBUpgradeRequired(te);return(0,k.zV)([this.processRecentResultsCallback(te),(0,U.of)(N)])}),(0,L.M)(([te,N])=>{this.recentSearches=te,this.recentSearchesSubject.next(this.recentSearches)}),(0,S.n)(([te,N])=>N&&this.recentSearchesStore.status_===e.tO.Saved?(this.recentSearchesStore.recentSearches=te,this.recentSearchesStore.persist_()):(0,U.of)(!0)),(0,s.W)(te=>(this.logger.error("Error in getting recent searches"+te),this.resetRecentSearches(),(0,U.of)(!1))),(0,M.u)(!0))}getRecentSearches(){return this.recentSearchesSubject.asObservable()}onSearchResultChanged(){return this.searchResultChangedSubject.asObservable()}notifySearchResultChanged(D){this.searchResultChangedSubject.next(D)}onSearchResultStateChanged(){return this.searchResultStateChangedSubject.asObservable()}notifySearchResultStateChanged(D){this.searchResultState=D,this.searchResultStateChangedSubject.next(D)}onTriggerBuildingSearchIndex(){return this.triggerBuildSearchIndex$.asObservable()}triggerBuildingSearchIndex(){return this._wasSearchIndexingTriggered=!0,this.triggerBuildSearchIndex$.next(!0)}resetRecentSearches(){this.recentSearchesSubject.next([]),this.recentSearches=null}loadCurrentUserRecentSearches(D){return D?this.loadRecentSearchesCacheFromDB(D).pipe((0,u.ZZ)(te=>(0,r.T)(()=>!!this.pendingRecentSearchUpdate$,(0,A.v)(()=>this.pendingRecentSearchUpdate$.pipe((0,M.u)(te))),(0,U.of)(te)))):(0,U.of)(!1)}updateCurrentUserRecentSearches(D){if(!this.recentSearches)return void(this.pendingRecentSearchUpdate$=(0,A.v)(()=>this.updateCurrentUserRecentSearches(D)));this.pendingRecentSearchUpdate$=void 0;let te=[];D.isRecentSearch=!0,te=(0,l.filter)(this.recentSearches,function(N){return N.ref!==D.ref}),te.unshift(D),te.length>this.maxRecentSearchesCount&&te.pop(),this.recentSearches=te,this.recentSearchesSubject.next(this.recentSearches),this.recentSearchesStore&&this.recentSearchesStore.status_===e.tO.Saved&&(this.recentSearchesStore.recentSearches=te,this.recentSearchesStore.persist_().subscribe())}onUserLoggedOut(){this.recentSearchesSubject.pipe((0,x.s)(1)).subscribe(()=>{setTimeout(()=>this.triggerSearch())}),this.resetRecentSearches()}onUserLoggedIn(D){return this.loadCurrentUserRecentSearches(D)}sendTextSearchTelemetry(D,te){this.initializeTextSearchInfo(D),this.updateTextSearchInfoTopResults(te),this.telemetryService.push(new E.Z6(this.textSearchInfo))}updateRecentSearchesAndSendTelemetry(D,te,N){const z={searchType:D.isRecentSearch?E.nX.RecentSearchResult:E.nX.NewSearchResult,searchQuery:N,selectedResult:D.telemetryTitle,selectedPreview:"",selectedRank:D.indexInCategory};this.updateCurrentUserRecentSearches(D),this.sendTextSearchTelemetry(z,te)}initializeTextSearchInfo(D){this.textSearchInfo={searchType:"",searchQuery:"",selectedResult:"",selectedPreview:"",selectedRank:0,aggregatedPreviews:"",rank0Result:"",rank1Result:"",rank2Result:"",rank3Result:"",rank4Result:""},this.textSearchInfo=(0,l.merge)(this.textSearchInfo,D)}updateTextSearchInfoTopResults(D){let te=[];(0,l.each)((0,l.range)(0,5),N=>{D[N]&&(this.textSearchInfo["rank"+N+"Result"]=D[N].telemetryTitle,te.push.apply(te,(0,l.keys)(D[N].preview)))}),te=(0,l.uniq)(te),this.textSearchInfo.aggregatedPreviews=this.formatAggregatedPreviews(te)}formatAggregatedPreviews(D){let te="";for(const N of D){const z=N+", "+te;if(!(z.length{"use strict";t.d(de,{S:()=>P});var e=t(19392),n=t(75707),E=t(10174),O=t(58527),B=t(47766);let P=(()=>{var k;class U{constructor(A){this.workerLoggingService=A}initialize(A,l){const I=this.workerLoggingService.getLoggerSettings();return this.searchHelper=l,this.initialize$=(0,e.H)(this.searchHelper.initialize(A,I)),this.initialize$}setSearchConfig(A){return this.initialize$.pipe((0,n.ZZ)(()=>this.searchHelper.setSearchConfig(A)),(0,E.u)(!0))}applyPipeline(A){return this.initialize$.pipe((0,n.ZZ)(()=>this.searchHelper.applyPipeline(A)))}buildStateIndex(A,l,I){return this.initialize$.pipe((0,n.ZZ)(()=>this.searchHelper.buildStateIndex(A,l,I)))}performSearch(A){return this.initialize$.pipe((0,n.ZZ)(()=>this.searchHelper.performSearch(A)))}}return(k=U).\u0275fac=function(A){return new(A||k)(O.KVO(B.To))},k.\u0275prov=O.jDH({token:k,factory:k.\u0275fac,providedIn:"root"}),U})()},70521:(xe,de,t)=>{"use strict";t.d(de,{tD:()=>u,fR:()=>ne,_F:()=>i,lS:()=>a,oY:()=>x});var e=t(80583),n=t(16229),E=t(43848),O=t(19392),B=t(55833),P=t(72147),k=t(10174),U=t(65706),r=t(83915),A=t(75707),l=t(8619),I=t(14714);t(57643);var s=function(T){return T.Gfn="geforcenow",T.Nvapp="nvidiaapplication",T}(s||{}),M=function(T){return T.FetchSuccess="SW_FETCH_SUCCESS",T.RuntimeCacheUpdated="SW_RUNTIME_CACHE_UPDATED",T}(M||{}),u=function(T){return T.ETag="etag",T.SwCacheBypass="x-sw-cachebypass",T.XRequestId="x-request-id",T.SwCacheKeyAppendString="sw-cache-key-append-string",T.SwCache="sw-cache",T.SwNotifyFetch="sw-notify-fetch",T.SwNoDataUpdate="sw-no-data-update",T}(u||{}),x=function(T){return T.SkipWaiting="SKIP_WAITING",T.GameLaunched="GAME_LAUNCHED",T.GameExit="GAME_EXIT",T.CloseStreamerSession="CLOSE_STREAM_SESSION",T.PushNotification="BROWSER_PUSH_NOTIFICATION",T.IpcPushNotification="IPC_PUSH_NOTIFICATION",T.PushNotificationTelemetry="PUSH_NOTIFICATION_TELEMETRY",T.UiPushNotification="BROWSER_VISIBLE_PUSH_NOTIFICATION",T.PushNotificationTracing="PUSH_NOTIFICATION_TRACING",T.SharedStorageUpdate="SHARED_STORAGE_UPDATE",T.LoggerNotification="LOGGER_NOTIFICATION",T.GetClientVersion="GET_CLIENT_VERSION",T.SetLoggerSettings="SET_LOGGING_SETTINGS",T.GetClientVersionWaitingSW="GET_CLIENT_VERSION_FROM_WAITING_SW",T}(x||{}),p=function(T){return T.INSTALLING="installing",T.INSTALLED="installed",T.ACTIVATING="activating",T.ACTIVATED="activated",T.REDUNDANT="redundant",T}(p||{}),i=function(T){return T.PushNotificationReceived="PushNotificationReceived",T.PushNotificationError="PushNotificationError",T}(i||{}),f=t(58527),J=t(47766);let a=(()=>{var T;class H{constructor(X){this.swSharedStorageUpdate=new e.B7,this.swLoggingUpdate=new e.B7,this.swActivationRequested$=new e.B7,this.swClientVersion=new e.B7,this.logger=X.getLogger("libraries/service-worker.service"),this.swCacheUpdate$=new e.B7,this.networkFetchSucceeded$=new e.B7,this.swActivated$=new e.B7,this.swUpdateReady$=new e.B7,this.resetSwUpdateCache$=new e.B7,this.swNotifyListener$=new e.B7,this.swPushNotificationListener$=new e.B7,this.swPushNotificationTelemetryListener$=new e.B7,this.swPushNotificationTracing=new e.B7,this.swUpdateReadyCached$=(0,n.h)(this.swUpdateReady$.asObservable(),this.resetSwUpdateCache$).pipe((0,B.t)(1))}get swCacheUpdated(){return this.swCacheUpdate$.asObservable()}get networkResponseReceived(){return this.networkFetchSucceeded$.asObservable()}get swUpdateReady(){return this.swUpdateReady$.asObservable()}get swUpdateReadyCached(){return this.swUpdateReadyCached$}get swActivated(){return this.swActivated$.asObservable()}get swNotifyListener(){return this.swNotifyListener$.asObservable()}get swPushNotificationListener(){return this.swPushNotificationListener$.asObservable()}get swPushNotificationTelemetryListener(){return this.swPushNotificationTelemetryListener$.asObservable()}get swPushNotificationTracingListener(){return this.swPushNotificationTracing.asObservable()}get swSharedStorageUpdate$(){return this.swSharedStorageUpdate.asObservable()}get swLoggingUpdate$(){return this.swLoggingUpdate.asObservable()}get swAssociatedClientVersion(){return this.swClientVersion.asObservable()}initialize(){this.serviceWorkerSupported()?(this.swHandleMessages(),this.swHandleControllerChanges(),this.swHandleUpdates()):this.logger.info("Service worker not supported")}willGFNServiceWorkerHandleRequest(X,c){if(c&&c===JSON.stringify(!0))return!1;for(const g in ne.staleWhileRevalidate)if(ne.staleWhileRevalidate.hasOwnProperty(g)&&ne.staleWhileRevalidate[g].routePattern.test(X))return!0;return!1}serviceWorkerSupported(){return"serviceWorker"in navigator}getSWRegistrationInfo(){var X,c;return this.serviceWorkerSupported()?{isSuccess:null===(X=window)||void 0===X||null===(X=X.SWRegistrationInfo)||void 0===X?void 0:X.isSuccess,error:null===(c=window)||void 0===c||null===(c=c.SWRegistrationInfo)||void 0===c?void 0:c.error}:null}clearSwUpdateCache(){this.logger.info("SW Update Cache: Cleared"),this.resetSwUpdateCache$.next(null)}checkForUpdates(){return this.serviceWorkerSupported()?navigator.serviceWorker.getRegistration().then(X=>X?this.swHasUpdate(X)?(this.logger.info(`Update available. SW in installing state = ${X.installing}, SW in waiting state = ${X.waiting}`),X):(this.logger.info("Explicitly checking for SW update at same location"),X.update()):Promise.reject("Registration does not exist")).then(X=>{const c={updateAvailable:this.swHasUpdate(X),error:null};return this.logger.info(`SW updateAvailable: ${c.updateAvailable}`),c}).catch(X=>(this.logger.error("SW Update Check: Error",X.toString()),Promise.resolve({updateAvailable:!1,error:X}))):Promise.reject("SW Update Check: Browser does not support service workers")}activateServiceWorker(){return this.serviceWorkerSupported()?(0,O.H)(navigator.serviceWorker.getRegistration()).pipe((0,P.n)(X=>X?this.swHasUpdate(X)?X.installing?(this.logger.info("SW Activate: Waiting for new service worker to be installed"),this.swUpdateReady.pipe((0,k.u)(X),(0,U.s)(1))):(0,E.of)(X):(this.logger.info("SW Activate: Nothing to activate"),(0,E.of)(null)):(this.logger.info("SW Activate: No service worker registration"),(0,E.of)(null))),(0,r.T)(X=>null!=X&&X.waiting?(this.logger.info("SW Activate: Requested to activate."),X.waiting.postMessage({type:x.SkipWaiting}),this.swActivationRequested$.next(),!0):(this.logger.info("SW Activate: No service worker waiting."),!1)),(0,U.s)(1)):(this.logger.info("SW Activate: Browser does not support service workers"),(0,E.of)(!1))}get swActivationRequested(){return this.swActivationRequested$.asObservable()}postMessageSw(X){this.serviceWorkerSupported()?navigator.serviceWorker.ready.then(c=>{var g;X.type===x.SharedStorageUpdate?this.logger.verbose("Calling SW postMessage with: ",X):this.logger.info("Calling SW postMessage with: ",X),null===(g=c.active)||void 0===g||g.postMessage({type:X.type,content:X.content})}):this.logger.info("SW PostMsg: Browser does not support service workers")}swHasUpdate(X){return!(!X.installing&&!X.waiting)}swHandleMessages(){navigator.serviceWorker.addEventListener("message",X=>{if(X.data.type===M.RuntimeCacheUpdated){var c;this.logger.info("CacheUpdated event received from Service Worker: ",null===(c=X.data.payload)||void 0===c?void 0:c.requestUrl);const{cacheName:d,requestUrl:C,noDataUpdate:Q}=X.data.payload;(0,O.H)(caches.open(d)).pipe((0,A.ZZ)(j=>j.match(C)),(0,l.p)(j=>!!j),(0,A.ZZ)(j=>j.json()),(0,I.W)(j=>(this.logger.info("error while checking for cache update",j.toString()),(0,E.of)(null)))).subscribe(j=>{j&&(this.logger.info("SW cache updated",d),this.swCacheUpdate$.next({name:d,url:C,data:j,noDataUpdate:Q}))})}else if((null==X?void 0:X.data.type)===x.CloseStreamerSession)this.logger.info("Msg received from another tab: ",X.data.type),this.swNotifyListener$.next(X.data);else if((null==X?void 0:X.data.type)===x.PushNotification)this.logger.info("Firebase Token received from Service Worker: ",X.data.type),this.swPushNotificationListener$.next(X.data);else if((null==X?void 0:X.data.type)===x.PushNotificationTelemetry)this.logger.info("Telemetry Event received from Service Worker: ",X.data.type),this.swPushNotificationTelemetryListener$.next(X.data);else if((null==X?void 0:X.data.type)===x.PushNotificationTracing)this.logger.info("Telemetry Event received from Service Worker: ",X.data.type),this.swPushNotificationTracing.next(X.data);else if((null==X?void 0:X.data.type)===x.SharedStorageUpdate)this.logger.info("SharedStorageUpdate event received from Service Worker: ",X.data.type),this.swSharedStorageUpdate.next(X.data);else if((null==X?void 0:X.data.type)===M.FetchSuccess){var g;this.logger.info("FetchSuccess event received from Service Worker: ",null===(g=X.data.payload)||void 0===g?void 0:g.requestUrl),this.networkFetchSucceeded$.next(X.data.payload)}else(null==X?void 0:X.data.type)===x.LoggerNotification?(this.logger.info("Logger event received from Service Worker: ",X.data.type),this.swLoggingUpdate.next(X.data)):(null==X?void 0:X.data.type)===x.GetClientVersion?(this.logger.info("Received client version is ",X.data),this.swClientVersion.next(X.data.content)):this.logger.info("Unhandled event received from Service Worker ",X.data)})}swHandleUpdates(){return this.serviceWorkerSupported()?(this.logger.info("SW Updates: Init"),navigator.serviceWorker.getRegistration().then(X=>{if(!X)return Promise.reject("SW Updates: Registration does not exist");let c=this.swIsActive();return this.logger.info(`SW Updates: Registration Exists, First Installation: ${!c}`),this.swOnUpdateInstalled(X,g=>{this.logger.info("SW Updates: Update installed"),this.logger.info("SW Updates: Notifying"),g.firstInstallation=!c,this.swUpdateReady$.next(g),c=!0}),Promise.resolve()}).catch(X=>this.logger.error("SW Updates: Error",X.toString()))):Promise.reject("SW Updates: Browser does not support service workers")}swOnUpdateInstalled(X,c){const g=C=>{C.state===p.INSTALLED&&c({state:C.state,ts:Date.now()})},d=C=>{C&&(this.logger.info("SW Update Listener: Update found"),g(C),C.addEventListener("statechange",()=>{this.logger.info("SW Update Listener: New worker state change:",C.state),g(C)}))};this.logger.info(`SW registration state: active = ${X.active}, waiting = ${X.waiting}, installed = ${X.installing}`),X?(X.waiting?(this.logger.info("SW Update Listener: An update is ready"),c({state:p.INSTALLED,ts:Date.now()})):X.installing&&d(X.installing),X.onupdatefound||(this.logger.info("SW Update Listener: Waiting for any updates to current worker"),X.addEventListener("updatefound",()=>d(X.installing)))):this.logger.info("SW Update Listener: No service worker registration")}swIsActive(){var X;return!(null===(X=navigator.serviceWorker)||void 0===X||!X.controller)}swHandleControllerChanges(){if(!this.serviceWorkerSupported()||navigator.serviceWorker.oncontrollerchange)return;this.logger.info("SW Ctrl Change: Init");let X=this.swIsActive();this.logger.info("SW Ctrl Change: has active service worker -",X),navigator.serviceWorker.addEventListener("controllerchange",()=>{if(this.logger.info("SW Ctrl Change: New service worker activated"),this.swActivated$.next({firstInstallation:!X,ts:Date.now()}),!X)return this.logger.info("SW Ctrl Change: First activation"),void(X=!0)})}}return(T=H).\u0275fac=function(X){return new(X||T)(f.KVO(J.J6))},T.\u0275prov=f.jDH({token:T,factory:T.\u0275fac,providedIn:"root"}),H})();const D=s.Gfn,N=86400;var R=function(T){return T.LCARS="lcars",T.LCARSStatic="lcarsStatic",T.LCARSUserAccount="lcarsUserAccount",T.LCARSClientStrings="lcarsClientStrings",T.ServiceUrls="service",T.ServerInfo="server",T.RConfig="rconfig",T.GxTarget="gxtarget",T.Subscriptions="subscriptions",T.Telemetry="telemetry",T.Offline="offline",T.GfcFeedbacks="gfcFeedbacks",T.PNSNotifications="pnsNotifications",T.LoginWallData="loginwalldata",T.LoginWallStrings="loginwallstrings",T.OverallGfnSupportedLanguages="overallGfnSupportedLanguages",T}(R||{});const ne={staleWhileRevalidate:{lcars:{name:R.LCARS,cacheName:`${D}-${R.LCARS}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+\/graphql\?requestType=panels/,expiry:{maxEntries:10,maxAgeSeconds:14*N,purgeOnQuotaError:!0}},lcarsStatic:{name:R.LCARSStatic,cacheName:`${D}-${R.LCARSStatic}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+\/graphql\?requestType=staticAppData/,expiry:{maxEntries:5,maxAgeSeconds:14*N,purgeOnQuotaError:!0}},lcarsUserAccount:{name:R.LCARSUserAccount,cacheName:`${D}-${R.LCARSUserAccount}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+\/graphql\?requestType=userAccount/,expiry:{maxEntries:2,maxAgeSeconds:14*N,purgeOnQuotaError:!0}},lcarsClientStrings:{name:R.LCARSClientStrings,cacheName:`${D}-${R.LCARSClientStrings}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+\/graphql\?requestType=clientStrings/,expiry:{maxEntries:2,maxAgeSeconds:14*N,purgeOnQuotaError:!0}},serviceUrls:{name:R.ServiceUrls,cacheName:`${D}-${R.ServiceUrls}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+(\/v1\/serviceUrls)/,expiry:{maxEntries:10,maxAgeSeconds:14*N,purgeOnQuotaError:!0}},server:{name:R.ServerInfo,cacheName:`${D}-${R.ServerInfo}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+(\/v2\/serverInfo)/,expiry:{maxEntries:10,maxAgeSeconds:14*N,purgeOnQuotaError:!0}},subscriptions:{name:R.Subscriptions,cacheName:`${D}-${R.Subscriptions}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+(\/v4\/subscriptions)/,expiry:{maxEntries:20,maxAgeSeconds:7*N,purgeOnQuotaError:!0},flushCacheOnResponseCodes:[404]},loginwall:{name:R.LoginWallData,cacheName:`${D}-${R.LoginWallData}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+\/graphql\?requestType=loginWallData/,expiry:{maxEntries:2,maxAgeSeconds:7*N,purgeOnQuotaError:!0}},loginwallstrings:{name:R.LoginWallStrings,cacheName:`${D}-${R.LoginWallStrings}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+\/graphql\?requestType=loginWallStrings/,expiry:{maxEntries:2,maxAgeSeconds:7*N,purgeOnQuotaError:!0}},overallGfnSupportedLanguages:{name:R.OverallGfnSupportedLanguages,cacheName:`${D}-${R.OverallGfnSupportedLanguages}-v1`,routePattern:/https:\/\/([a-zA-Z0-9_.-])+\/graphql\?requestType=overallGfnSupportedLanguages/,expiry:{maxEntries:1,maxAgeSeconds:14*N,purgeOnQuotaError:!0}}},networkFirst:{},networkOnly:{telemetry:{name:R.Telemetry,cacheName:`${D}-${R.Telemetry}-v1`,routePattern:/https:\/\/events\.gfe(stage)?\.nvidia\.com\/v1\.0\/events\/json\?immediateRequest=true/,maxRetentionTime:1440},gfcFeedbacks:{name:R.GfcFeedbacks,cacheName:`${D}-${R.GfcFeedbacks}-v1`,routePattern:/https:\/\/telemetry\.gfe(stage)?\.nvidia\.com\/gfc\/v4\.0\//,maxRetentionTime:1440},pnsNotifications:{name:R.PNSNotifications,cacheName:`${D}-${R.PNSNotifications}-v1`,routePattern:/https:\/\/(stg.pns.nvidiagrid.net)?(pns.geforcenow.com)?\/v1\/unregister/,maxRetentionTime:1440}}}},81111:(xe,de,t)=>{"use strict";t.d(de,{Il:()=>O,lO:()=>B});var e=t(58527),O=function(P){return P.NOT_ATTEMPTED="NOT_ATTEMPTED",P.NOT_APPLICABLE="NOT_APPLICABLE",P.SUCCESS="SUCCESS",P.FAILED="FAILED",P}(O||{});const B=new e.nKC("StorageConfig")},56197:(xe,de,t)=>{"use strict";t.d(de,{y:()=>J});var e=t(26875),n=t(85735),E=t(26513),O=t(43848),B=t(93181),P=t(31315),k=t(59859),U=t(14714),r=t(65706),A=t(8619),l=t(75707),I=t(83915),S=t(72147),L=t(91384),s=t(10174),M=t(47766),u=t(33367),x=t(81111),p=t(58527),i=u.Or.Common.Sharedstorage.OperationType;const o="sharedStore";let _=(()=>{var a;class D{constructor(N,z){this.dbService=N,this.bridgeService=z}readFromSharedStorage(N){return this.dbService.getGlobalStore(o).getItem(N[0]).pipe((0,l.ZZ)(z=>{if(!z)return this.makeError(204,"Data not found");if(1===N.length)return(0,O.of)(z);{const R=(0,e.get)(z,N.slice(1),null);return null!==R?(0,O.of)(R):this.makeError(204,"Data not found")}}),(0,U.W)(z=>this.makeError(500,"IndexedDB Error: "+z.toString())))}writeToSharedStorage(N,z){return this.dbService.getGlobalStore(o).getItem(N[0]).pipe((0,I.T)(R=>1===N.length?z:(0,e.setWith)(R||{},N.slice(1),z,Object)),(0,l.ZZ)(R=>this.executePostCacheUpdateCommand(i.Write,N,R).pipe((0,I.T)(()=>R))),(0,l.ZZ)(R=>this.dbService.getGlobalStore(o).setItem(N[0],R)),(0,l.ZZ)(()=>(0,O.of)(!0)),(0,U.W)(R=>this.makeError(500,"IndexedDB Error during write: "+R.toString())))}removeFromSharedStorage(N){return this.dbService.getGlobalStore(o).getItem(N[0]).pipe((0,l.ZZ)(z=>{let v,R=z||{};return 1===N.length?v=this.dbService.getGlobalStore(o).removeItem(N[0]):(R=(0,e.unset)(R,N.slice(1)),v=this.dbService.getGlobalStore(o).setItem(N[0],R)),v}),(0,l.ZZ)(()=>this.executePostCacheUpdateCommand(i.Remove,N)),(0,U.W)(z=>this.makeError(500,"IndexedDB Error during remove: "+z.toString())))}getCacheOfSharedStorage(){return this.dbService.getGlobalStore(o).getAllItemsByCursor().pipe((0,l.ZZ)(N=>this.executePostCacheUpdateCommand(i.Cache,[],N).pipe((0,I.T)(()=>N))),(0,U.W)(N=>this.makeError(500,"IndexedDB Error during cache operation: "+N.toString())))}executePostCacheUpdateCommand(N,z,R){return M.zk.isBrowserPlatform()?this.bridgeService.executeCommand(u.Ts.Common.Sharedstorage.PostCacheUpdate,{operationType:N,path:z,cacheUpdateData:null!=R?R:{}}).pipe((0,r.s)(1),(0,s.u)(!0),(0,U.W)(v=>this.makeError(500,"Error during execution of post-cache update command"+v.toString()))):(0,O.of)(!0)}makeError(N,z){return(0,k.$)({success:!1,code:N,error:z})}}return(a=D).\u0275fac=function(N){return new(N||a)(p.KVO(M.at),p.KVO(M.NZ))},a.\u0275prov=p.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),D})();const f=["migrationState"];let J=(()=>{var a;class D{constructor(N,z,R,v,h){this.bridgeService=N,this.nativeEventService=R,this.indexedDBUtilService=v,this.persistToJSONKeys=[],this.shouldUseJSON=!1,this.migrationStateSubject=new n.m(1),this.initialReadDoneSubject=new E.t(!1),this.logger=z.getLogger("libraries/shared-storage"),this.cachedSharedStorage$=new n.m(1),this.isInitialized=!1,this.isCEFPlatform=M.zk.isCefPlatform(),this.isCEFPlatform?(this.shouldUseJSON=null==h?void 0:h.shouldUseJSON,this.persistToJSONKeys=null==h?void 0:h.keysToPersistInJSON):this.setMigrationState(x.Il.NOT_APPLICABLE)}initialize(){this.logger.info("init");const N=this.indexedDBUtilService.getCacheOfSharedStorage().pipe((0,U.W)(R=>(this.logger.error(`Error while reading IndexedDB, ${R}`),(0,O.of)({})))),z=this.isCEFPlatform?this.bridgeService.executeCommand(u.Ts.Common.Sharedstorage.Cache).pipe((0,U.W)(R=>(this.logger.error("Error getting cached JSON data",R),(0,O.of)({})))):(0,O.of)({});this.isCEFPlatform?(0,B.p)([z,N]).subscribe(([R,v])=>{this.cachedSharedStorage$.next(this.mergeStorageData(R,v)),this.initialReadDoneSubject.next(!0)}):N.pipe((0,r.s)(1)).subscribe(R=>{this.cachedSharedStorage$.next(R),this.initialReadDoneSubject.next(!0)}),this.initialReadDoneSubject.asObservable().pipe((0,A.p)(R=>R),(0,l.ZZ)(R=>this.nativeEventService.get$(M.D4.SharedStorageUpdate,M.Jm.Types.HandlerEventType.StructuredWindowEvent)),(0,I.T)(R=>JSON.parse(R)),(0,S.n)(R=>this.isCEFPlatform?(0,P.zV)([(0,O.of)(R),N]).pipe((0,I.T)(([v,h])=>this.mergeStorageData(v,h))):(0,O.of)(R)),(0,U.W)(R=>(this.logger.error("error receiving native event",R),this.cachedSharedStorage$.pipe((0,r.s)(1))))).subscribe(R=>{this.logger.info("shared storage cache updated"),this.cachedSharedStorage$.next(R)}),this.isInitialized=!0}mergeStorageData(N,z){var R;let v=null!=N?N:{};return(null==z||null===(R=z.migrationState)||void 0===R?void 0:R.state)===x.Il.SUCCESS&&(v={...v,...z}),v}setMigrationState(N){this.migrationStateSubject.next(N)}getMigrationState$(){return this.migrationStateSubject.asObservable()}readBlock(N){return this.isInitialized||this.initialize(),this.cachedSharedStorage$.pipe((0,r.s)(1),(0,l.ZZ)(z=>{const R=(0,e.get)(z,N.split("/"));return R?(0,O.of)(R):(0,k.$)({code:204})}),(0,U.W)(z=>(this.logReadError(N,z),(0,O.of)({}))))}logReadError(N,z){switch(z.code){case 404:this.logger.info("No shared storage file found, creating a new one.");break;case 204:this.logger.info(`No entry for ${N} exists. Defaulting to empty object.`);break;default:this.logger.error(`Error (${z.code}) ${z.message}. Defaulting to empty object for path ${N}.`)}}writeBlock(N,z,R){const v=this.writeBlockInternal(N,z).pipe((0,r.s)(1),(0,L.M)(h=>{this.logger.info("write status to shared storage for path",N,h)}),(0,U.W)(h=>(this.logger.error("error writing to shared storage for path",N,h),(0,O.of)(!1))));return this.isInitialized||this.initialize(),this.cachedSharedStorage$.pipe((0,r.s)(1),(0,l.ZZ)(h=>(this.cachedSharedStorage$.next((0,e.setWith)(h,N.split("/"),z,Object)),R?v:(v.subscribe(),(0,O.of)(!0)))))}writeBlockInternal(N,z){return this.getMigrationState$().pipe((0,r.s)(1),(0,l.ZZ)(R=>{const v=N.split("/");return this.shouldUseJSONStorage(v,R)?this.bridgeService.executeCommand(u.Ts.Common.Sharedstorage.Write,{path:v,data:z}):this.indexedDBUtilService.writeToSharedStorage(v,z)}))}removeBlock(N){return this.isInitialized||this.initialize(),this.cachedSharedStorage$.pipe((0,r.s)(1),(0,I.T)(z=>{const R=(0,e.unset)(z,N);return this.cachedSharedStorage$.next(z),this.removeBlockInternal(N).subscribe(),R}))}removeBlockInternal(N){return this.getMigrationState$().pipe((0,r.s)(1),(0,l.ZZ)(z=>{const R=N.split("/");return this.shouldUseJSONStorage(R,z)?this.executeRemoveFromJSONSharedStore(N):this.indexedDBUtilService.removeFromSharedStorage(R)}))}executeRemoveFromJSONSharedStore(N){return this.bridgeService.executeCommand(u.Ts.Common.Sharedstorage.Remove,{path:N.split("/")}).pipe((0,s.u)(!0),(0,U.W)(z=>(204===z.code?this.logger.warn(`No entry for ${N} exists. Removal failed.`):this.logger.error(`Error (${z.code}) ${z.message}.`),(0,O.of)(!1))))}getSharedStorageKeys(){return this.isInitialized||this.initialize(),this.cachedSharedStorage$.pipe((0,r.s)(1),(0,I.T)(N=>Object.keys(N)))}loadMigrationState(){return this.indexedDBUtilService.readFromSharedStorage(f).pipe((0,I.T)(N=>N&&N.state?N.state:x.Il.NOT_ATTEMPTED),(0,U.W)(N=>(this.logger.error("Error loading migration state",N),(0,O.of)(x.Il.NOT_ATTEMPTED))))}saveMigrationStateToIndexedDB(N){return this.indexedDBUtilService.writeToSharedStorage(f,{state:N}).pipe((0,U.W)(z=>(this.logger.error("Error saving migration state",z),(0,O.of)(!1))))}initializeMigration(){return this.isCEFPlatform?this.loadMigrationState().pipe((0,S.n)(N=>N===x.Il.NOT_ATTEMPTED||N===x.Il.FAILED?this.performMigration():(this.setMigrationState(N),(0,O.of)(void 0)))):(this.logger.info("Skipping shared storage migration as its not applicable for NON-CEF platforms"),(0,O.of)(void 0))}performMigration(){return this.logger.info("Running Shared Storage Migration ..."),this.migrateKeys().pipe((0,S.n)(N=>{const z=N?x.Il.SUCCESS:x.Il.FAILED;return N||this.logger.error("Migration failed. Continuing with JSON file for shared storage..."),this.setMigrationState(z),this.saveMigrationStateToIndexedDB(z)}),(0,U.W)(N=>(this.logger.error("Error during shared storage migration",N),this.setMigrationState(x.Il.FAILED),this.saveMigrationStateToIndexedDB(x.Il.FAILED))),(0,I.T)(()=>{}))}migrateKeys(){const N=Date.now();return this.bridgeService.executeCommand(u.Ts.Common.Sharedstorage.Cache).pipe((0,S.n)(z=>{const R=[];return Object.keys(z).forEach(v=>{this.persistToJSONKeys.includes(v)||R.push(this.indexedDBUtilService.writeToSharedStorage(v.split("/"),z[v]).pipe((0,I.T)(h=>({key:v,result:h})),(0,U.W)(h=>(this.logger.error(`Failed writing key '${v}' to IndexedDB`,h),(0,O.of)({key:v,result:!1})))))}),0===R.length?(0,O.of)(!0):(0,P.zV)(R).pipe((0,r.s)(1),(0,I.T)(v=>{const h=v.every(W=>!0===W.result);return h&&v.forEach(({key:W})=>{this.executeRemoveFromJSONSharedStore(W).subscribe()}),this.logger.info("Execution time for migration script (ms): ",Date.now()-N),this.isInitialized=!1,h}))}),(0,U.W)(z=>(this.logger.error("Error migrating shared storage to IndexedDB",z),(0,O.of)(!1))))}shouldUseJSONStorage(N,z){return this.shouldUseJSON&&(z===x.Il.FAILED||z===x.Il.NOT_ATTEMPTED||z===x.Il.SUCCESS&&this.persistToJSONKeys.includes(N[0]))}}return(a=D).\u0275fac=function(N){return new(N||a)(p.KVO(M.NZ),p.KVO(M.J6),p.KVO(M.dU),p.KVO(_),p.KVO(x.lO,8))},a.\u0275prov=p.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),D})()},66348:(xe,de,t)=>{"use strict";t.d(de,{lO:()=>P.lO,o7:()=>l,bT:()=>E,yQ:()=>e.y});var e=t(56197),n=t(58527);let E=(()=>{var I;class S{}return(I=S).\u0275fac=function(s){return new(s||I)},I.\u0275mod=n.$C({type:I}),I.\u0275inj=n.G2t({}),S})();t(33367);var P=t(81111),k=t(43848),U=t(10174),r=t(83915),A=t(14714);class l{constructor(S,L,s,M){this.hostLogger=S,this.sharedStorageService=L,this.cacheKey=s,this.maxCacheSize=M}set(S,L){return this.promoteItem({key:S,value:L}).pipe((0,U.u)(void 0))}get(S){return this.promoteItem({key:S,value:null}).pipe((0,r.T)(L=>(null==L?void 0:L.value)||null))}promoteItem(S){return this.getCache().pipe((0,r.T)(L=>{let s=!1;const M=L.findIndex(u=>u.key===S.key);return M>=0?([S]=L.splice(M,1),s=!0):this.hostLogger.info("LRU:item not found in cache: "+S.key),null!==S.value&&(L.push(S),s=!0),L.length>this.maxCacheSize&&(L.shift(),s=!0),s&&this.updateCache(L).subscribe({error:u=>this.hostLogger.error("LRU:Error updating cache:",u)}),S}),(0,A.W)(L=>(this.hostLogger.error("LRU:Error promoting item:",L),(0,k.of)(S))))}getCache(){return this.sharedStorageService.readBlock(this.cacheKey).pipe((0,r.T)(S=>Array.isArray(S)?S:[]))}updateCache(S){return this.sharedStorageService.writeBlock(this.cacheKey,S)}}},54786:(xe,de,t)=>{"use strict";t.d(de,{EK:()=>U,Jo:()=>e,O6:()=>k,Pq:()=>E,RH:()=>P,Td:()=>n,eL:()=>r,ie:()=>A,sm:()=>O});const e=":server/authorize?response_mode=query&response_type=id_token+token&device_id=:deviceId&scope=:scope&client_id=:clientId&redirect_uri=:redirectUri&ui_locales=:locale&nonce=:nonce&prompt=select_account",n=":server/authorize?response_type=code&device_id=:deviceId&scope=:scope&client_id=:clientId&redirect_uri=:redirectUri&ui_locales=:locale&nonce=:nonce&prompt=select_account&code_challenge=:codeChallenge&code_challenge_method=S256",E=":server/logout?id_token_hint=:idToken&ui_locales=:locale",O=":server/logout?id_token_hint=:idToken&ui_locales=:locale&post_logout_redirect_uri=:redirect_uri",P={clientToken:null,accessToken:null,idToken:null,user:{sub:"",idp_name:"",idp_id:"",external_id:"",preferred_username:"",consent:{trackTechnicalData:!1,trackBehavioralData:!1},isAuthenticated:!1},clientTokenExpiry:null,accessTokenExpiry:null,idTokenExpiry:null},k="starfleet";var U=function(l){return l.DBName="starfleet",l.DBKey="starfleetSession",l}(U||{}),r=function(l){return l.SharedStorage="sharedStorage",l.IndexedDB="indexedDB",l}(r||{}),A=function(l){return l[l.Failure=0]="Failure",l[l.Success=1]="Success",l[l.Cancel=2]="Cancel",l[l.CloseOnFailure=3]="CloseOnFailure",l}(A||{})},71927:(xe,de,t)=>{"use strict";t.d(de,{e:()=>r});var e=t(43848),n=t(75707),E=t(83915),O=t(54786),B=t(56197),P=t(26875);class U{static encode(l){const I=new U;return I.data=window.btoa(encodeURIComponent(JSON.stringify(l))),I.authProvider=O.O6,I}static decode(l){return JSON.parse(decodeURIComponent(window.atob(l.data)))}}class r{constructor(l,I,S=O.eL.SharedStorage){this.idTokenRefreshUnderDuration=l,this.data=(0,P.isNil)(I)?Object.assign({},O.RH):I,this.setStorageType(S)}static loadFrom(l,I){let L;return L=l?l instanceof B.y?O.eL.SharedStorage:O.eL.IndexedDB:O.eL.SharedStorage,(L===O.eL.IndexedDB?l.getItem(O.EK.DBKey):l.readBlock("starfleetSession")).pipe((0,n.ZZ)(M=>{const u=(null==M?void 0:M.authProvider)===O.O6?U.decode(M):null,x=new r(I,u,L);return(0,P.isEmpty)(u)?L===O.eL.IndexedDB?x.writeToDb(l):x.writeTo(l):(0,e.of)(x)}))}setStorageType(l){this.storageType=l===O.eL.IndexedDB?O.eL.IndexedDB:O.eL.SharedStorage}writeTo(l){return this.storageType===O.eL.IndexedDB?this.writeToDb(l):l.writeBlock("starfleetSession",U.encode(this.data),!0).pipe((0,E.T)(()=>this))}writeToDb(l){return l.setItem(O.EK.DBKey,U.encode(this.data)).subscribe(),(0,e.of)(this)}hasClientToken(){return!(0,P.isNil)(this.data.clientToken)}isClientTokenValid(){return this.hasClientToken()&&this.data.clientTokenExpiry>Date.now()}hasClientTokenExpired(){return this.hasClientToken()&&this.data.clientTokenExpiry<=Date.now()}hasAccessToken(){return!(0,P.isNil)(this.data.accessToken)}isAccessTokenValid(){return this.hasClientToken()&&this.data.accessTokenExpiry>Date.now()}isIdTokenValid(){return 0===this.data.idTokenExpiry||this.hasClientToken()&&this.data.idTokenExpiry>Date.now()+this.idTokenRefreshUnderDuration}}},46356:(xe,de,t)=>{"use strict";t.d(de,{gH:()=>B,ie:()=>z.ie,X$:()=>E,BF:()=>ue,hr:()=>e,EK:()=>z.EK,l4:()=>O,eL:()=>z.eL});class e{constructor(){}}var n=t(58527);let E=(()=>{var Se;class Ne{}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)},Se.\u0275prov=n.jDH({token:Se,factory:Se.\u0275fac}),Ne})();var O=function(Se){return Se.LoginAlreadyInProgress="Login Already In Progress",Se.OpenOAuthUrlStarted="Open OAuth url started",Se.OpenOAuthUrlCompleted="Open OAuth url completed",Se.LoginStarted="Login Started",Se.LoginCompleted="Login Completed",Se.LoginRedirectCompleted="Login redirect completed",Se.LoginAbortedByUser="Login Aborted: User Cancelled Login",Se.LoginAbortedAlreadyLoggedIn="Login Aborted: Already Logged In",Se.LoginFailed="Login Failed",Se.LoginFailedNoRetry="Login Failed No Retry",Se.LoginFailedToStart="Login failed to Start",Se.LogoutStarted="Logout Started",Se.LogoutCompleted="Logout Completed",Se.LogoutFailed="Logout Failed",Se.LoginInProgressNeedDisplayCode="Login Started Need Display Code",Se.LoginNotReturningFromLoginPage="Login not returning from login page",Se}(O||{}),B=function(Se){return Se.NOT_LOGGED_IN="Not Logged In, Must login",Se.USER_OFFLINE="User is Offline",Se.ALREADY_LOGGED_IN="Already logged in",Se.AUTH_ERROR="Auth Error",Se.AGE_RESTRICTED="age_restricted",Se.ACCOUNT_LOCKED="account_locked",Se.HTTP_START_FAILED="Http Server start failed",Se.CLIENT_TOKEN_FAIL="Client token url access failed",Se.OAUTH_DATA_EMPTY="JSON parsing fialed for OAUTH Data",Se.STARFLEET_REDIRECT_FAIL="Failure on Starfleet Redirect Page",Se.REDEEM_AUTHCODE_FAILED="Failuer in redeeming auth code",Se.NONCE_VALIDATION_FAILED="Nonce validation failed",Se.ACCOUNT_INACTIVE="account_inactive",Se.LOGIN_CANCELLED_BY_USER="User pressed back from login page",Se.LOGOUT_NOT_SUPPORTED="logout_not_supported",Se.LOGOUT_GENERIC_ERROR="logout_generic_error",Se.LOGIN_SILENT_LOGIN_FAILED="silent_login_failed",Se}(B||{}),P=function(Se){return Se.Browser="Browser",Se.Cef="Cef",Se.Android="Android",Se}(P||{}),k=t(61142),U=t(94485),r=t(85735),A=t(43848),l=t(59859),I=t(36466),S=t(3496),L=t(91384),s=t(75707),M=t(65706),u=t(83915),x=t(99047),p=t(14714),i=t(55833),o=t(86447),_=t(8619),f=t(43615),J=t(26875),a=t(33367),D=t(47766),te=t(81834),N=t(71927),z=t(54786),R=t(70815),v=t(76449),h=t(29567);const W="Starfleet",ne="KVStore",ee=3e4,b=2,w=1e3;let F=(()=>{var Se;class Ne{constructor(ve,Pe,Oe,Be,tt,Ee,ot){this.starfleetConfig=ve,this.endpointFactory=Pe,this.bridgeService=Oe,this.systemInfoService=Be,this.appConfig=tt,this.distributedtracingUtilService=ot;const{defaultRetries:We=b,defaultTimeBetweenRetries:Qe=w,defaultTimeout:Fe=ee}=ve,_e={config:{maxRetries:We,timeout:Fe,timeBetweenRetries:Qe}};this.endpointAccessToken=this.endpointFactory.createEndpoint(_e),this.endpointClientToken=this.endpointFactory.createEndpoint(_e),this.endpointUserInfo=this.endpointFactory.createEndpoint(_e),this.endpointKVStore=this.endpointFactory.createEndpoint(_e),this.logger=Ee.getLogger("libraries/starfleet-http.service")}requestDeviceAuthorize(ve,Pe,Oe,Be){let tt=(new U.Nl).set("client_id",this.starfleetConfig.clientId).set("scope",this.starfleetConfig.scope).set("device_id",ve).set("display_name",Pe);Oe&&(tt=tt.set("idp_id",Oe));const Ee={headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:tt.toString(),reportRequestData:{originalService:W,serviceUseCase:"Device_Authorization"}},We=this.endpointAccessToken.post(`${this.starfleetConfig.url}/device/authorize`,Ee);return this.distributedtracingUtilService.handleHttpEndpointSpan(We,Ee,v.pB.StarfleetGetAccessToken,Be)}getAccessToken(ve,Pe,Oe){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing clientToken parameter"));if((0,J.isNil)(Pe)||0===Pe.trim().length)return(0,l.$)(new Error("invalid or missing sub parameter"));const tt={headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:(new U.Nl).set("grant_type","urn:ietf:params:oauth:grant-type:client_token").set("client_token",ve).set("client_id",this.starfleetConfig.clientId).set("sub",Pe).toString(),reportRequestData:{originalService:W,serviceUseCase:"Get_Access_Token"}},Ee=this.endpointAccessToken.post(`${this.starfleetConfig.url}/token`,tt);return this.distributedtracingUtilService.handleHttpEndpointSpan(Ee,tt,v.pB.StarfleetGetAccessToken,Oe)}getAccessTokenFromDeviceCode(ve,Pe){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing clientToken parameter"));const Be={headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:(new U.Nl).set("grant_type","urn:ietf:params:oauth:grant-type:device_code").set("device_code",ve).set("client_id",this.starfleetConfig.clientId).toString(),reportRequestData:{originalService:W,serviceUseCase:"Get_Access_Token"}},tt=this.endpointAccessToken.post(`${this.starfleetConfig.url}/token`,Be);return this.distributedtracingUtilService.handleHttpEndpointSpan(tt,Be,v.pB.StarfleetGetAccessToken,Pe)}getUserInfo(ve,Pe){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing accessToken parameter"));const Oe={headers:this.getStarfleetAuthorizeHeaders(ve),reportRequestData:{originalService:W,serviceUseCase:"Get_User_Info"}},Be=this.endpointUserInfo.get(`${this.starfleetConfig.url}/userinfo`,Oe);return this.distributedtracingUtilService.handleHttpEndpointSpan(Be,Oe,v.pB.StarfleetGetUserInfo,Pe)}getClientToken(ve,Pe){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing accessToken parameter"));const Oe={headers:this.getStarfleetAuthorizeHeaders(ve),reportRequestData:{originalService:W,serviceUseCase:"Get_Client_Token"}},Be=this.endpointClientToken.get(`${this.starfleetConfig.url}/client_token`,Oe);return this.distributedtracingUtilService.handleHttpEndpointSpan(Be,Oe,v.pB.StarfleetGetClientToken,Pe)}redeemAuthCode(ve,Pe,Oe,Be){var tt,Ee,ot;if(null==ve||null===(tt=ve.trim())||void 0===tt||!tt.length)return(0,l.$)(new Error("invalid or missing auth code parameter"));if(null==Pe||null===(Ee=Pe.trim())||void 0===Ee||!Ee.length)return(0,l.$)(new Error("invalid or missing redirectUri parameter"));if(null==Oe||null===(ot=Oe.trim())||void 0===ot||!ot.length)return(0,l.$)(new Error("invalid or missing codeVerifier parameter"));const Qe={headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:(new U.Nl).set("grant_type","authorization_code").set("code",ve).set("redirect_uri",Pe).set("code_verifier",Oe).toString(),reportRequestData:{originalService:W,serviceUseCase:"Get_Access_Token"}},Fe=this.endpointAccessToken.post(`${this.starfleetConfig.url}/token`,Qe);return this.distributedtracingUtilService.handleHttpEndpointSpan(Fe,Qe,v.pB.StarfleetGetAccessToken,Be)}deleteClientTokens(ve,Pe){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing accessToken parameter"));const Oe={params:{level:"client"},headers:this.getStarfleetAuthorizeHeaders(ve),reportRequestData:{originalService:W,serviceUseCase:"Delete_Client_Data"}},Be=this.endpointClientToken.delete(`${this.starfleetConfig.url}/assets/v2/Tokens`,Oe);return this.distributedtracingUtilService.handleHttpEndpointSpan(Be,Oe,v.pB.StarfleetDeleteClientToken,Pe)}getStarfleetAuthorizeHeaders(ve){return{[R.SA.authorization]:`Bearer ${ve}`}}getClientData(ve,Pe,Oe){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing idToken parameter"));const Be={headers:this.getKVStoreAuthorizeHeaders(ve),reportRequestData:{originalService:ne,serviceUseCase:"Get_Client_Data"}},tt=this.formatKeyValStoreUrl(`${this.starfleetConfig.keyValueServiceUrl}/clientData`,Pe),Ee=this.endpointKVStore.get(tt,Be);return this.distributedtracingUtilService.handleHttpEndpointSpan(Ee,Be,v.pB.KVStoreGetClientData,Oe)}deleteClientData(ve,Pe,Oe,Be){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing idToken parameter"));const tt={headers:this.getKVStoreAuthorizeHeaders(ve),reportRequestData:{originalService:ne,serviceUseCase:"Delete_Client_Data"}},Ee=this.formatKeyValStoreUrl(`${this.starfleetConfig.keyValueServiceUrl}/clientData`,[Pe],Oe),ot=this.endpointKVStore.delete(Ee,tt);return this.distributedtracingUtilService.handleHttpEndpointSpan(ot,tt,v.pB.KVStoreDeleteClientData,Be)}setClientData(ve,Pe,Oe,Be){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing idToken parameter"));const tt={headers:this.getKVStoreAuthorizeHeaders(ve),reportRequestData:{originalService:ne,serviceUseCase:"Set_Client_Data"},body:{key:Pe,value:Oe}},Ee=this.endpointKVStore.post(`${this.starfleetConfig.keyValueServiceUrl}/clientData`,tt);return this.distributedtracingUtilService.handleHttpEndpointSpan(Ee,tt,v.pB.KVStoreSetClientData,Be)}appendClientData(ve,Pe,Oe,Be){if((0,J.isNil)(ve)||0===ve.trim().length)return(0,l.$)(new Error("invalid or missing idToken parameter"));const tt={headers:this.getKVStoreAuthorizeHeaders(ve),reportRequestData:{originalService:ne,serviceUseCase:"Set_Client_Data"},body:{key:Pe,value:Oe}},Ee=this.endpointKVStore.put(`${this.starfleetConfig.keyValueServiceUrl}/clientData`,tt);return this.distributedtracingUtilService.handleHttpEndpointSpan(Ee,tt,v.pB.KVStoreAppendClientData,Be)}formatKeyValStoreUrl(ve,Pe,Oe){if((0,J.isEmpty)(Pe))return ve;const Be=[];return Pe.forEach(tt=>{Be.push(`key=${tt}`)}),Oe&&Oe.forEach(tt=>{Be.push(`value=${tt}`)}),encodeURI(`${ve}?${Be.join("&")}`)}getKVStoreAuthorizeHeaders(ve){return{[R.SA.authorization]:`GFNJWT ${ve}`}}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(n.KVO(E),n.KVO(R.t),n.KVO(D.NZ),n.KVO(D.zW),n.KVO(h.oO),n.KVO(D.J6),n.KVO(v.Z1))},Se.\u0275prov=n.jDH({token:Se,factory:Se.\u0275fac,providedIn:"root"}),Ne})();var Z=t(36877),se=t(56237),Y=t(80583),q=t(19392),T=t(10174),H=t(40198);const y="oauth",c="GfnOauthUrlData";let g=(()=>{var Se;class Ne{constructor(ve,Pe,Oe,Be){this.bridgeService=Pe,this.distributedTracingUtilService=Be,this.isBrowserPlatform=!1,this.httpSubscription=null,this.authWindow=null,this.isSameTabLoginFeatureEnabled=!1,this.authSaveDataNotifySubject=new r.m(1),this.logger=Oe.getLogger("starfleet/o-auth"),this.isBrowserPlatform=D.zk.isBrowserPlatform(),this.isSameTabLoginFeatureEnabled=ve.sameTabLogin}sameTabAuthStarted(){return this.authSaveDataNotifySubject.asObservable()}emitAuthStartNotification(ve){this.authSaveDataNotifySubject.next(ve)}oAuthLogin(ve,Pe,Oe,Be,tt,Ee,ot,We,Qe){if(this.isBrowserPlatform)return this.browserClientOAuthLogin(ve,Pe,Oe,Be,tt,Ee,ot,We,Qe);let Fe,Xe;if(Qe)Fe=(0,A.of)(Qe.url),Xe=Qe.observable;else{let _e;[_e,Xe]=this.startHttpServer(ve,Pe),Fe=_e.pipe((0,u.T)(He=>ve.redirectUrl.replace("{portnumber}",He.toString())))}return Fe.pipe((0,s.ZZ)(_e=>this.openOAuthUrl(ve,Pe,Oe,Be,_e,tt,null,null,We)),(0,s.ZZ)(_e=>Xe.pipe((0,u.T)(He=>this.handleHttpRequest(He)),(0,u.T)(He=>(He.oAuthUrl=_e,He)))),(0,L.M)(_e=>{this.closeHttpSpan(_e,_e.oAuthUrl.span,_e.oAuthUrl.url)}))}browserClientOAuthLogin(ve,Pe,Oe,Be,tt,Ee,ot,We,Qe){const Fe=!(!We||!We.silentLoginHelperInstance),Xe=this.openOAuthUrl(ve,Pe,Oe,Be,null,tt,Ee,ot,We);return this.isSameTabLoginFeatureEnabled&&!Fe?Xe.pipe((0,T.u)(null)):Xe.pipe((0,s.ZZ)(_e=>{this.logger.info("Received response");const He=(0,Z.R)(window,"message");return(0,se.T)(()=>Fe,He.pipe((0,H.w)(ve.maxWaitTimeSSO)),He).pipe((0,u.T)(De=>({event:De,oAuthUrl:_e})),(0,p.W)(De=>(this.logger.info("Error occurred during silent login:",De),(0,l.$)(De))))}),(0,_.p)(_e=>this.validateMessageEvent(_e.event)),(0,u.T)(_e=>{const He=this.getOAuthLoginData(_e.event);if(!He)throw this.logger.error("oAuthLoing Data is null ",He),B.OAUTH_DATA_EMPTY;if(He.oAuthUrl=_e.oAuthUrl,this.logger.info("Captured OAuth data via post message: ",He.error),this.closeHttpSpan(He,_e.oAuthUrl.span,_e.oAuthUrl.url),Fe)We.silentLoginHelperInstance.closeIframe(He.oAuthUrl.ifrmEl);else if(null==Qe||!Qe.skipSuccessRedirect){const De=new URL(ve.onCompleteRedirectUrl);ve.redirectParams&&ve.redirectParams.forEach(Re=>{Re in He&&De.searchParams.append(Re,He[Re])}),_e.oAuthUrl.oAuthWindow.location.href=De.href}return He}),(0,M.s)(1))}openOAuthUrl(ve,Pe,Oe,Be,tt,Ee,ot,We,Qe){const Fe=!(!Qe||!Qe.silentLoginHelperInstance);let Xe=(0,A.of)(null);return this.buildStarfleetUrl(ve,Pe,Oe,tt,Ee,Qe).pipe((0,s.ZZ)(_e=>{let He;const De=this.distributedTracingUtilService.startSpan(v.pB.StarfleetOAuth);return He=ve.addLogintracer?this.distributedTracingUtilService.getFormattedUrlForHttpPopupSpan(_e.url,De):_e.url,ot?(this.authWindow=ot,this.authWindow.location.href=He):!Fe&&this.isSameTabLoginFeatureEnabled?(We||this.logger.error("returnLocationUrl Argument is empty ",this.isSameTabLoginFeatureEnabled,We),this.logger.info("overwriting login URL"),this.emitAuthStartNotification(O.LoginStarted),this.authSaveDataNotifySubject.pipe((0,M.s)(1)).subscribe(Re=>{this.logger.info("Received notification for ",Re),_e.returnUrl=We,window.sessionStorage.setItem(c,JSON.stringify(_e)),window.open(He,"_self")})):Fe?Xe=Qe.silentLoginHelperInstance.openIframe(He):ve.useNativeAuthCommands?this.bridgeService.executeCommand(a.Ts.Common.Nativeauth.initiateLogIn,{url:He}).pipe((0,M.s)(1)).subscribe():this.authWindow=window.open(He,"_blank"),this.logger.info("login window opened with url",He),Be&&Be.next(O.OpenOAuthUrlCompleted),_e.url=He,_e.span=De,_e.oAuthWindow=this.authWindow,Fe?Xe.pipe((0,u.T)(Re=>(_e.ifrmEl=Re,_e))):(0,A.of)(_e)}))}closeHttpSpan(ve,Pe,Oe){ve&&ve.error?this.distributedTracingUtilService.closeHttpPopupSpan(Pe,!0,{errorCode:ve.error,errorText:ve.error,failedUrl:Oe}):this.distributedTracingUtilService.closeHttpPopupSpan(Pe,!1,{errorCode:"",errorText:"",failedUrl:Oe})}startHttpServer(ve,Pe,Oe=[]){const Be=new Y.B7,tt=new Y.B7;return this.httpSubscription=this.bridgeService.executeCommand(a.Ts.Common.Httpserver.StartHttpServer,{ports:ve.portNumbers,redirectUrl:ve.onCompleteRedirectUrl,redirectParams:this.getRedirectParams(Oe,ve.redirectParams,Pe)}).subscribe(Ee=>{switch(this.logger.info("httpresponse recieved"),(0,J.get)(Ee,"callbackReason")){case"serverCreated":Be.next((0,J.get)(Ee,"portNumber")),Be.complete();break;case"httpRequest":tt.next(Ee.url),tt.complete(),this.stopHttpServer();break;case"httpRequestAborted":tt.error(B.LOGIN_CANCELLED_BY_USER),this.stopHttpServer()}},Ee=>{this.logger.error("error starting httpserver",Ee),Be.error(B.HTTP_START_FAILED),tt.error(B.HTTP_START_FAILED)}),[Be,tt]}getRedirectParams(ve,Pe,Oe){const Be=ve,tt=[];return ve.forEach(Ee=>tt.push(Ee.split("=")[0])),Pe.forEach(Ee=>{Ee.split("=")[0]in tt||Be.push(Ee)}),Be.push(`ui_locales=${Oe}`),Be}handleHttpRequest(ve){const Pe={};return ve&&new URL(ve).searchParams.forEach((Be,tt)=>{Pe[tt]=Be}),Pe}b64url(ve){return btoa(String.fromCharCode.apply(null,ve)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}buildStarfleetUrl(ve,Pe,Oe,Be,tt,Ee){let ot=ve.useAuthorizationCodeFlow?z.Td:z.Jo;ot=ot.replace(":server",ve.url),ot=ot.replace(":clientId",ve.clientId),ot=ot.replace(":scope",encodeURIComponent(ve.scope));let We="";We=Be||ve.redirectUrl,ot=ot.replace(":redirectUri",encodeURIComponent(We)),ot=ot.replace(":locale",Pe),ot=ot.replace(":deviceId",Oe);const Qe=this.generateNonce();if(ot=ot.replace(":nonce",Qe),Ee){var Fe,Xe;if(null===(Fe=Ee.ssoSharedPageData)||void 0===Fe||!Fe.idp_id||null===(Xe=Ee.ssoSharedPageData)||void 0===Xe||!Xe.login_hint)return this.logger.error("Missing login hints for silent login"),(0,l.$)("Missing login hints for silent login");Ee.silentLoginHelperInstance&&(ot=ot.replace("select_account","none")),ot+="&idp_id="+encodeURIComponent(Ee.ssoSharedPageData.idp_id),ot+="&login_hint="+encodeURIComponent(Ee.ssoSharedPageData.login_hint)}let _e=null,He=null;if(ve.useAuthorizationCodeFlow){const De=window.crypto.getRandomValues(new Uint8Array(32));He=this.b64url(De);const Re=(new TextEncoder).encode(He);_e=(0,q.H)(window.crypto.subtle.digest("SHA-256",Re)).pipe((0,u.T)(K=>{const ke=this.b64url(new Uint8Array(K));return ot=ot.replace(":codeChallenge",ke),ot}))}else _e=(0,A.of)(ot);return _e.pipe((0,u.T)(De=>(!(0,J.isNil)(tt)&&!ot.includes("idp_id")&&(ot=ot+"&idp_id="+tt),{url:ot,codeVerifier:He,redirectUrl:We,nonce:Qe})))}generateNonce(){let ve=Date.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(Oe){const Be=(ve+16*Math.random())%16|0;return ve=Math.floor(ve/16),("x"===Oe?Be:3&Be|8).toString(16)})}cancelOAuthLogin(ve,Pe,Oe){let Be=null,tt=null;return Oe?(this.stopHttpServer(),tt=(0,A.of)("")):[Be,tt]=this.startHttpServer(ve,Pe,["error=cancelled"]),this.authWindow&&(this.authWindow.close(),this.authWindow=null),tt.pipe((0,u.T)(Ee=>this.handleHttpRequest(Ee)))}stopHttpServer(){this.httpSubscription&&(this.httpSubscription.unsubscribe(),this.httpSubscription=null,this.bridgeService.executeCommand(a.Ts.Common.Httpserver.StopHttpServer).subscribe(ve=>this.logger.info("success stopping httpserver",ve),ve=>this.logger.error("error stopping httpserver",ve)))}validateMessageEvent(ve){if("no_localstorage_supported"===ve.data.key)throw this.logger.error("Starfleet Redirect page failure ",ve),B.STARFLEET_REDIRECT_FAIL;return!(!ve||!ve.data||ve.data.key!==y||ve.origin!==window.location.origin)}getOAuthLoginData(ve){const Pe=this.isSameTabLoginFeatureEnabled?y:(0,J.get)(ve,"data.key"),Oe=window.localStorage.getItem(Pe);if(window.localStorage.removeItem(Pe),this.logger.info("Extracted key for reading oAuthLogin data ",Pe),!Oe)return null;try{return JSON.parse(Oe).data}catch{return this.logger.error("malformed access code object",Oe),null}}readAndValidateoAuthLoginData(){const ve=this.getOAuthLoginData();if(ve){const Pe=window.sessionStorage.getItem(c);if(window.sessionStorage.removeItem(c),Pe)try{ve.oAuthUrl=JSON.parse(Pe)}catch{this.logger.error("malformed access code object",Pe)}}return this.logger.info("Received oAuth Data on return from login ",ve),ve}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(n.KVO(E),n.KVO(D.NZ),n.KVO(D.J6),n.KVO(v.Z1))},Se.\u0275prov=n.jDH({token:Se,factory:Se.\u0275fac,providedIn:"root"}),Ne})();var d=t(66348);const C="markLogoutInitiated",Q="Logout Initiated",j="logoutNotSupportedUrl";let le=(()=>{var Se;class Ne extends e{constructor(ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e){var He,De;super(),this.config=ve,this.starfleetHttpService=Oe,this.oAuthService=Be,this.sharedStorage=tt,this.localeService=Ee,this.networkStatus=We,this.systemInfoService=Qe,this.errorHandler=Fe,this.bridgeService=Xe,this.dbService=_e,this.storageType=z.eL.SharedStorage,this.SAFE_RETRY_COUNT=5,this.initSub=new r.m(1),this.authStatusSubject=new r.m(1),this.loginSubscription=null,this.deviceIdSub=null,this.useCachedUser=!1,this.firstRefreshDone=!1,this.errorInfo={error_code:"",error_description:"",error_uri:""},this.isSessionRefreshable=!0,this.isNextClientTokenRefreshAllowed=!0,this.deviceDisplayCode=null,this.skipOpeningLogoutUrl=!1,this.isSameTabLoginFeatureEnabled=!1,this.idTokenRefreshUnderDuration=0,this.logger=Pe.getLogger("starfleet/desktop"),this.logger.info("constructing"),this.useDeviceAuthLogin=!(null==ve||!ve.useDeviceAuthLogin),this.skipOpeningLogoutUrl=!(null==ve||!ve.skipOpeningLogoutUrl),this.starfleetUserSubscription=ot.createStream(this.getCurrentUser.bind(this)),this.isSameTabLoginFeatureEnabled=this.config.sameTabLogin,this.idTokenRefreshUnderDuration=null!==(He=this.config.idTokenRefreshUnderDuration)&&void 0!==He?He:0,this.storageType=null!==(De=this.config.storageType)&&void 0!==De?De:z.eL.SharedStorage,this.idTokenRefreshUnderDuration<0&&(this.idTokenRefreshUnderDuration=0),this.storageType===z.eL.IndexedDB&&(this.globalStore=this.dbService.getGlobalStore(z.EK.DBName))}getAuthStatus(){return this.authStatusSubject.asObservable()}initialize(ve=!1,Pe=!1,Oe){this.logger.info(`initializing session: ${ve}, user: ${Pe}, id_token?: ${!!Oe}`),this.useCachedUser=Pe;const Be=this.oAuthService.readAndValidateoAuthLoginData();Be?this.attemptLoginAtInit(Be):this.loadSessionFromStorage().pipe((0,L.M)(()=>this.initSub.next(!0)),(0,s.ZZ)(()=>this.getOrRefreshSession(!ve,!0,Oe))).subscribe(()=>this.logger.info("initialized success")),this.checkIfReturnFromLogout(),this.deviceIdSub=this.getDeviceId(),this.deviceIdSub.subscribe(),this.accountStatusChanged.pipe((0,M.s)(1)).subscribe()}getDeviceId(){return this.systemInfoService.getSystemInfo([D.Lu.DeviceId]).pipe((0,u.T)(ve=>ve.DeviceId),(0,x.$)(),(0,p.W)(ve=>(this.logger.error("failed to get deviceId",ve),(0,A.of)(""))),(0,i.t)())}handleLoginError(ve){switch(ve){case B.ALREADY_LOGGED_IN:this.logger.info("user already logged in"),this.loginSubject.next(O.LoginAbortedAlreadyLoggedIn),this.loginSubject.complete();break;case B.AUTH_ERROR:this.logger.info("Auth error in login"),this.loginSubject.next(O.LoginFailed),this.loginSubject.complete();break;case B.ACCOUNT_LOCKED:case B.AGE_RESTRICTED:this.logger.info("Auth error in login: ",ve),this.loginSubject.next(O.LoginFailedNoRetry),this.loginSubject.complete();break;case B.HTTP_START_FAILED:this.logger.info("Http Start in error Login"),this.loginSubject.next(O.LoginFailedToStart),this.loginSubject.complete();break;case B.CLIENT_TOKEN_FAIL:this.logger.info("Client token url access failed"),this.errorInfo.error_description=B.CLIENT_TOKEN_FAIL,this.loginSubject.next(O.LoginFailed),this.loginSubject.complete();break;case B.OAUTH_DATA_EMPTY:this.logger.info("JSON parsing fialed for OAUTH Data"),this.errorInfo.error_description=B.OAUTH_DATA_EMPTY,this.loginSubject.next(O.LoginFailed),this.loginSubject.complete();break;case B.STARFLEET_REDIRECT_FAIL:this.logger.info("JSON parsing fialed for OAUTH Data"),this.errorInfo.error_description=B.STARFLEET_REDIRECT_FAIL,this.loginSubject.next(O.LoginFailed),this.loginSubject.complete();break;case B.LOGIN_CANCELLED_BY_USER:this.logger.info("canceled by user"),this.errorInfo.error_description=B.LOGIN_CANCELLED_BY_USER,this.loginSubject.next(O.LoginAbortedByUser),this.loginSubject.complete();break;default:this.logger.info("unknown error in login",ve),this.loginSubject.next(O.LoginFailed),this.loginSubject.complete()}}cancelLogin(ve=!0){return this.logger.info("cancelling login"),this.loginSubject&&!1===this.loginSubject.isStopped&&(this.loginSubject.next(O.LoginAbortedByUser),this.loginSubject.complete()),this.loginSubscription&&(this.loginSubscription.unsubscribe(),this.loginSubscription=null),this.oAuthService.cancelOAuthLogin(this.config,this.localeService.getLocale(),ve)}sameTabAuthStarted(){return this.oAuthService.sameTabAuthStarted()}login(ve){return this.loginSubject&&!this.loginSubject.isStopped?(0,l.$)(O.LoginAlreadyInProgress):(this.loginSubject=new r.m(1),this.logger.info("login started"),this.loginSubject.next(O.LoginStarted),this.loginSubscription=this.getOrRefreshSession().pipe((0,s.ZZ)(Pe=>!ve.force&&Pe.isAccessTokenValid()?(0,l.$)(B.ALREADY_LOGGED_IN):this.deviceIdSub),(0,s.ZZ)(Pe=>this.useDeviceAuthLogin?(ve.deviceName||(this.logger.error("Missing device name in off-device login flow, falling back to default value"),ve.deviceName="unknown"),this.performDeviceLogin(Pe,ve.deviceName,ve.idpId)):(this.loginSubject.next(O.OpenOAuthUrlStarted),this.oAuthService.oAuthLogin(this.config,this.localeService.getLocale(),Pe,this.loginSubject,ve.idpId,ve.preCreatedWindow,ve.returnLocationUrl,ve.silentLoginInfo,ve.redirect))),(0,x.$)(),(0,s.ZZ)(Pe=>!Pe||(0,J.isEmpty)(Pe)?(this.logger.info("received empty oauth login data ",this.isSameTabLoginFeatureEnabled),(0,A.of)(null)):(this.loginSubject.next(O.LoginRedirectCompleted),this.logger.info("OAuth login complete, starting to retrive token"),this.loginSubject.next(O.LoginStarted),this.attemptLogin(Pe))),(0,s.ZZ)(Pe=>Pe?this.refreshUser():(0,A.of)(Pe)),(0,L.M)(Pe=>{Pe?this.loginSubject.next(O.LoginCompleted):this.isSameTabLoginFeatureEnabled||this.logger.error("session is null"),this.loginSubject.complete()})).subscribe(I.l,this.handleLoginError.bind(this)),this.loginSubject.asObservable())}updatePiplConfigUrls(ve){this.logger.info("Updating PIPL config urls: ",ve),Object.assign(this.config,ve)}checkIfReturnFromLogout(){let Pe,ve=null;if(window.sessionStorage.getItem(C)===Q){window.sessionStorage.removeItem(C),this.logger.info("Returning from logout");const Oe=new URL(window.location.href).searchParams.get("error");Pe=window.sessionStorage.getItem(j),window.sessionStorage.removeItem(j),Oe&&(this.logger.info("Logout failed with error ",Oe),ve=Oe===B.LOGOUT_NOT_SUPPORTED?B.LOGOUT_NOT_SUPPORTED:B.LOGOUT_GENERIC_ERROR),this.authStatusSubject.next({authReturnState:O.LogoutCompleted,error:ve,logoutNotSupportedRedirectUrl:Pe})}else this.logger.info("Not returning from logout")}completeLoginAtInit(ve,Pe){ve===O.LoginFailed&&(this.session=new N.e(this.idTokenRefreshUnderDuration,null,this.storageType)),this.initSub.next(!0),this.authStatusSubject.next({authReturnState:ve,error:Pe}),this.refreshUser(),this.loginSubject.next(ve),this.loginSubject.complete()}attemptLoginAtInit(ve){!this.loginSubject||this.loginSubject.isStopped?(this.loginSubject=new r.m(1),this.logger.info("OAuth login complete, starting to retrive token"),this.loginSubject.next(O.LoginStarted),this.attemptLogin(ve).pipe((0,L.M)(Pe=>{this.completeLoginAtInit(O.LoginCompleted,null)},Pe=>{this.completeLoginAtInit(O.LoginFailed,Pe)})).subscribe()):this.logger.info("Login already in progress")}retryDeviceLogin(ve,Pe,Oe){return Oe.pipe((0,s.ZZ)((Be,tt)=>{var Ee,ot;const We=tt+1;return console.log("attempt number: ",We),We>ve?(0,l.$)(Be):"authorization_pending"===(null==Be||null===(Ee=Be.rawResponse)||void 0===Ee||null===(Ee=Ee.error)||void 0===Ee?void 0:Ee.error)?(0,S.O)(1e3*Pe):"slow_down"===(null==Be||null===(ot=Be.rawResponse)||void 0===ot||null===(ot=ot.error)||void 0===ot?void 0:ot.error)?(0,S.O)(1e3*(Pe+5)):(0,l.$)(Be)}))}waitForDeviceLogin(ve){const Pe=Math.max(1,Math.floor(ve.expires_in/ve.interval)-1);return(0,S.O)(1e3*ve.interval).pipe((0,s.ZZ)(()=>this.starfleetHttpService.getAccessTokenFromDeviceCode(ve.device_code)),(0,o.l)(Oe=>this.retryDeviceLogin(Pe,ve.interval,Oe)),(0,u.T)(Oe=>({error:"",error_description:"",access_token:Oe.access_token,token_type:Oe.token_type,expires_in:Oe.expires_in,id_token:Oe.id_token})))}performDeviceLogin(ve,Pe,Oe){return this.starfleetHttpService.requestDeviceAuthorize(ve,Pe,Oe).pipe((0,x.$)(),(0,s.ZZ)(Be=>(this.deviceDisplayCode={url:Be.verification_uri,url_complete:Be.verification_uri_complete,user_code:Be.user_code},this.loginSubject.next(O.LoginInProgressNeedDisplayCode),(!Be.interval||Be.interval<=0)&&(Be.interval=5),this.waitForDeviceLogin(Be))))}getStarfleetLogoutURL(ve,Pe){return z.Pq.replace(":server",this.config.url).replace(":idToken",ve).replace(":locale",Pe)}getStarfleetLogoutURLSameTab(ve,Pe,Oe){return z.sm.replace(":server",this.config.logoutUrl).replace(":idToken",ve).replace(":locale",Pe).replace(":redirect_uri",Oe)}saveRequiredDataAndOpenLogoutUrl(ve,Pe,Oe){return this.oAuthService.sameTabAuthStarted().subscribe(Be=>{this.logger.info("Received notification for ",Be),window.sessionStorage.setItem(C,Q),window.sessionStorage.setItem(j,Pe),window.open(this.getStarfleetLogoutURLSameTab(ve,this.localeService.getLocale(),Oe),"_self")}),this.oAuthService.emitAuthStartNotification(O.LogoutStarted),(0,A.of)(!0)}logout(ve,Pe,Oe,Be=!1){var tt;if(!1===this.session.isClientTokenValid())return this.logger.info("already logged out, completing the logout process"),(0,A.of)(O.LogoutCompleted);if(this.logoutSubject&&!this.logoutSubject.isStopped)return this.logger.info("logout already in progress"),this.logoutSubject.asObservable();this.logoutSubject=new r.m(1),this.logger.info("Logging out user."),this.logoutSubject.next(O.LogoutStarted);const Ee=null===(tt=this.session)||void 0===tt||null===(tt=tt.data)||void 0===tt?void 0:tt.idToken;if(!(ve||this.skipOpeningLogoutUrl||this.isSameTabLoginFeatureEnabled||Be)){const Qe=this.getStarfleetLogoutURL(Ee,this.localeService.getLocale());this.config.useNativeAuthCommands?this.bridgeService.executeCommand(a.Ts.Common.Nativeauth.initiateLogOut,{url:Qe}).pipe((0,M.s)(1)).subscribe():window.open(Qe,"_blank")}return this.deleteClientToken(!1,ve).pipe((0,p.W)(Qe=>(this.logger.error("delete token failed with error: ",Qe),(0,A.of)(null))),(0,s.ZZ)(()=>this.storeSession(new N.e(this.idTokenRefreshUnderDuration,null,this.storageType))),(0,s.ZZ)(()=>this.skipOpeningLogoutUrl||Be||!this.isSameTabLoginFeatureEnabled?this.refreshUser():this.saveRequiredDataAndOpenLogoutUrl(Ee,Pe,Oe))).subscribe(()=>{this.logger.info("log out complete."),this.logoutSubject.next(O.LogoutCompleted),this.logoutSubject.complete()},Qe=>{this.logger.error("log out failed with error:",Qe),this.logoutSubject.next(O.LogoutFailed),this.logoutSubject.complete(),this.skipOpeningLogoutUrl||Be||!this.isSameTabLoginFeatureEnabled?this.refreshUser():this.saveRequiredDataAndOpenLogoutUrl(Ee,Pe,Oe)}),this.logoutSubject.asObservable()}deleteClientToken(ve=!1,Pe){return(Pe?(0,A.of)(Pe):this.getAccessToken(ve)).pipe((0,s.ZZ)(Oe=>this.starfleetHttpService.deleteClientTokens(Oe)),(0,p.W)(Oe=>(this.logger.error("Got error while deleting client token.",Oe),this.handleAuthError(Oe,ve,this.deleteClientToken.bind(this)))))}refreshUser(){return this.firstRefreshDone=!0,this.starfleetUserSubscription.refresh()}get accountStatusChanged(){let ve;return this.starfleetUserSubscription.get$().pipe((0,_.p)(Pe=>{var Oe,Be,tt,Ee,ot,We;return(0,J.isNil)(ve)||!(0,J.isEqual)(ve.sub,Pe.sub)||!(0,J.isEqual)(null===(Oe=ve.consent)||void 0===Oe?void 0:Oe.trackBehavioralData,null===(Be=Pe.consent)||void 0===Be?void 0:Be.trackBehavioralData)||!(0,J.isEqual)(null===(tt=ve.consent)||void 0===tt?void 0:tt.trackTechnicalData,null===(Ee=Pe.consent)||void 0===Ee?void 0:Ee.trackTechnicalData)||!(0,J.isEqual)(null===(ot=ve.consent)||void 0===ot?void 0:ot.targetedAdsOptIn,null===(We=Pe.consent)||void 0===We?void 0:We.targetedAdsOptIn)||!(0,J.isNil)(null==Pe?void 0:Pe.age)}),(0,L.M)(Pe=>{ve=Pe}))}getStarfleetSession(){return this.sessionSubject.asObservable()}get isUserLoggedIn(){return this.initSub.pipe((0,u.T)(()=>this.session.isClientTokenValid()))}attemptLogin(ve){if(this.errorInfo.error_code=ve.error?ve.error:"",this.errorInfo.error_description=ve.error_description?ve.error_description:"",this.errorInfo.error_uri=ve.error_uri?ve.error_uri:"",ve.error||ve.error_description)return this.logger.error("failed to login user with error",ve.error,ve.error_description),(0,l.$)(ve.error);let Pe=null;return Pe=ve.code&&ve.oAuthUrl.codeVerifier?this.starfleetHttpService.redeemAuthCode(ve.code,ve.oAuthUrl.redirectUrl,ve.oAuthUrl.codeVerifier).pipe((0,u.T)(Oe=>(ve.access_token=Oe.access_token,ve.id_token=Oe.id_token,ve.expires_in=Oe.expires_in,ve.token_type=Oe.token_type,ve)),(0,p.W)(Oe=>{throw this.logger.error("error in redeeming auth code",Oe),B.REDEEM_AUTHCODE_FAILED})):(0,A.of)(ve),Pe.pipe((0,s.ZZ)(Oe=>this.completeLogin(ve)))}validateRedirectResponse(ve){if(this.useDeviceAuthLogin)return!0;const Pe=this.parseIdToken(ve.id_token);if(Pe&&Pe.nonce!==ve.oAuthUrl.nonce)throw B.NONCE_VALIDATION_FAILED;return!0}completeLogin(ve){const Pe=new N.e(this.idTokenRefreshUnderDuration,null,this.storageType);return this.starfleetHttpService.getClientToken(ve.access_token).pipe((0,p.W)(Oe=>{throw this.logger.error("Client Token url failure ",Oe),B.CLIENT_TOKEN_FAIL}),(0,u.T)(Oe=>(Pe.data.accessToken=ve.access_token,Pe.data.accessTokenExpiry=Date.now()+1e3*ve.expires_in,Pe.data.idToken=ve.id_token,Pe.data.clientToken=Oe.client_token,Pe.data.clientTokenExpiry=Date.now()+1e3*Oe.expires_in,Pe.data.clientTokenExpiryLength=1e3*Oe.expires_in,Pe.data.idTokenExpiry=this.getIdTokenExpiry(Pe.data.idToken),this.session=Pe,this.session)))}syncSession(ve){var Pe;return null!=ve&&ve.isClientTokenValid()?null!==(Pe=this.session)&&void 0!==Pe&&Pe.isClientTokenValid()?this.updateUserTokens(ve):this.migrateUser(ve):(0,A.of)(this.session)}migrateUser(ve){return this.session=ve,this.logger.info("migrateUser"),this.refreshUser().pipe((0,u.T)(Pe=>this.session))}updateUserTokens(ve){return this.session.data.idTokenExpiry=ve.data.idTokenExpiry,this.session.data.clientTokenExpiry=ve.data.clientTokenExpiry,this.session.data.accessTokenExpiry=ve.data.accessTokenExpiry,this.session.data.idToken=ve.data.idToken,this.session.data.clientToken=ve.data.clientToken,this.session.data.accessToken=ve.data.accessToken,(0,A.of)(this.session)}getIdTokenExpiry(ve){let Pe=0;const Oe=this.parseIdToken(ve);return Oe&&(Pe=Date.now()+1e3*(+Oe.exp-+Oe.iat)),Pe}parseIdToken(ve){try{const Oe=ve.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(decodeURIComponent(escape(atob(Oe))))}catch(Pe){return this.errorHandler.handleError(new Error(`idToken parse failed with error '${Pe}'`)),this.logger.error("failed to parse idToken",Pe),null}}isClientTokenRefreshRequired(){let ve=!1;if(this.session.isClientTokenValid()){const Pe=this.session.data.clientTokenExpiry-Date.now();ve=this.session.data.clientTokenExpiryLength?Pe(this.session.data.accessToken=Oe.access_token,this.session.data.clientToken=Oe.client_token,this.session.data.idToken=Oe.id_token,this.session.data.accessTokenExpiry=Date.now()+1e3*Oe.expires_in,this.session.data.idTokenExpiry=this.getIdTokenExpiry(this.session.data.idToken),this.isSessionRefreshable=!0,(0,A.of)(this.session))),(0,s.ZZ)(()=>{const Oe=this.session.data.clientTokenExpiry-Date.now();return this.isClientTokenRefreshRequired()&&this.isNextClientTokenRefreshAllowed?(this.logger.info("Refreshing Client Token"),this.starfleetHttpService.getClientToken(this.session.data.accessToken,Pe).pipe((0,u.T)(Be=>(this.logger.info("Client Token refreshed Successfully"),this.session.data.clientToken=Be.client_token,this.session.data.clientTokenExpiry=Date.now()+1e3*Be.expires_in,this.session.data.clientTokenExpiryLength=1e3*Be.expires_in,this.isNextClientTokenRefreshAllowed=Oe(this.logger.info("Error refreshing access token with starfleet:",Oe),(0,te.gX)(Oe)?(this.logger.info("The session refresh failed due to timeout or connection issues. So, will not log out the user"),(0,A.of)(this.session)):(this.logger.info("Error thrown from server. Hence, logging the user out"),this.storeSession(new N.e(this.idTokenRefreshUnderDuration,null,this.storageType))))),(0,f.j)(()=>{ve||this.refreshUser()}))}getCurrentUser(ve=!1){return this.getOrRefreshSession(ve,!0).pipe((0,s.ZZ)(Pe=>(this.logger.info("Getting current user"),this.useCachedUser?(this.useCachedUser=!1,(0,l.$)("using cached user at initialize")):!this.networkStatus.isOnline&&Pe.isClientTokenValid()?(this.logger.info("User is offline and session has client token. So returning cached user"),(0,l.$)(B.USER_OFFLINE)):Pe.isAccessTokenValid()?Pe.data.user&&!this.firstRefreshDone?(this.firstRefreshDone=!0,this.refreshUser(),(0,l.$)("using deferred refresh for user")):this.starfleetHttpService.getUserInfo(Pe.data.accessToken).pipe((0,u.T)(Oe=>(Oe.isNetworkCall=!0,Oe))):(0,l.$)(B.NOT_LOGGED_IN))),(0,s.ZZ)(Pe=>(Pe.isAuthenticated=!0,this.session.data.user=Pe,this.storeSession(this.session))),(0,u.T)(()=>this.session.data.user),(0,p.W)(Pe=>this.handleAuthError(Pe,ve,this.getCurrentUser.bind(this))),(0,p.W)(Pe=>(this.logger.error("Error fetching userInfo from starfleet:",Pe.toString()),(0,te.gX)(Pe)&&this.logger.info("UserInfo refresh failed due to timeout or connection issue"),(0,A.of)(this.session.data.user))))}createNewSessionFromIdToken(ve){return this.getOrRefreshSession(!1,!1,ve).pipe((0,L.M)(()=>this.refreshUser()))}getOrRefreshSession(ve,Pe,Oe,Be){return this.sessionSubject&&!1===this.sessionSubject.isStopped||(this.sessionSubject=new r.m(1),this.initSub.pipe((0,s.ZZ)(()=>{const tt=this.session.isClientTokenValid();return(ve||!this.session.isAccessTokenValid())&&tt&&this.networkStatus.isOnline&&this.isSessionRefreshable?(this.logger.info("refreshing session. Force Refresh: ",ve),this.fetchSession(Pe,Be)):tt?(this.logger.info("Using existing client token "),(0,A.of)(this.session)):Oe&&0!==Oe.length?this.createSessionFromIdToken(Oe):(this.logger.info(`Loading session from ${this.storageType}`),this.loadSessionFromStorage())})).subscribe(tt=>{this.sessionSubject.next(tt),this.sessionSubject.complete()},tt=>{this.sessionSubject.error(tt),this.logger.error("failed to refersh session",tt)})),this.sessionSubject.asObservable()}createSessionFromIdToken(ve){let Pe;this.logger.info("Building session from sdk id token");try{let Be=ve.split(".")[1];Be=JSON.parse(window.atob(Be)),Pe={sub:Be.sub,idp_name:Be.idp_name,idp_id:Be.idp_id,external_id:Be.external_id,preferred_username:Be.preferred_username,consent:Be.consent,isAuthenticated:!0}}catch{return this.logger.error("Failed to parse id token to get expiry"),this.logger.info(`Loading session from ${this.storageType}`),this.loadSessionFromStorage()}const Oe={clientToken:"This is required for the session object to validate, but is not used",accessToken:"This is required for the session object to validate, but is not used",idToken:ve,user:Pe,clientTokenExpiry:Date.now()+1728e5,accessTokenExpiry:Date.now()+1728e5,idTokenExpiry:this.getIdTokenExpiry(ve)};return this.isSessionRefreshable=!1,this.session=new N.e(this.idTokenRefreshUnderDuration,Oe,this.storageType),(0,A.of)(this.session)}loadSessionFromStorage(){return N.e.loadFrom(this.storageType===z.eL.SharedStorage?this.sharedStorage:this.globalStore,this.idTokenRefreshUnderDuration).pipe((0,s.ZZ)(Pe=>(this.logger.info(`Loaded session successfully from ${this.storageType}`),this.session=Pe,Pe.isClientTokenValid()?(0,A.of)(Pe):(this.logger.info("Stored session does not have user token. Hence, logging the user out"),this.session=new N.e(this.idTokenRefreshUnderDuration,null,this.storageType),this.isSessionRefreshable=!0,(0,A.of)(this.session)))),(0,p.W)(Pe=>(this.logger.info(`Error loading session from ${this.storageType}. Hence logging out the user.`,Pe),this.session=new N.e(this.idTokenRefreshUnderDuration,null,this.storageType),(0,A.of)(this.session))))}storeSession(ve){var Pe,Oe;return this.session=(0,J.cloneDeep)(ve),null===(Pe=ve.data.user)||void 0===Pe||delete Pe.age,null===(Oe=ve.data.user)||void 0===Oe||delete Oe.isNetworkCall,ve.writeTo(this.storageType===z.eL.SharedStorage?this.sharedStorage:this.globalStore).pipe((0,s.ZZ)(()=>(0,A.of)(ve)),(0,p.W)(tt=>(this.logger.info(`Error saving session to ${this.storageType}:`,tt),(0,l.$)(tt))))}getAuthToken(ve,Pe){return this.initSub.pipe((0,s.ZZ)(Oe=>ve||!this.session.isIdTokenValid()?this.session.hasClientTokenExpired()?(this.refreshUser(),(0,A.of)(new N.e(this.idTokenRefreshUnderDuration,null,this.storageType))):this.getOrRefreshSession(!0,null,null,Pe):(0,A.of)(this.session)),(0,u.T)(Oe=>Oe.data.idToken))}getAccessToken(ve,Pe){return this.initSub.pipe((0,s.ZZ)(Oe=>ve||!this.session.isAccessTokenValid()?this.getOrRefreshSession(!0,null,null,Pe):(0,A.of)(this.session)),(0,u.T)(Oe=>Oe.data.accessToken))}getClientData(ve,Pe,Oe=!1){return this.getAuthToken(Oe,Pe).pipe((0,s.ZZ)(Be=>this.starfleetHttpService.getClientData(Be,ve,Pe)),(0,p.W)(Be=>this.handleAuthError(Be,Oe,this.getClientData.bind(this),ve)))}setClientData(ve,Pe,Oe,Be=!1){return this.getAuthToken(Be,Oe).pipe((0,s.ZZ)(tt=>this.starfleetHttpService.setClientData(tt,ve,Pe,Oe)),(0,p.W)(tt=>this.handleAuthError(tt,Be,this.setClientData.bind(this),ve,Pe)))}appendClientData(ve,Pe,Oe,Be=!1){return this.getAuthToken(Be,Oe).pipe((0,s.ZZ)(tt=>this.starfleetHttpService.appendClientData(tt,ve,Pe,Oe)),(0,p.W)(tt=>this.handleAuthError(tt,Be,this.appendClientData.bind(this),ve,Pe)))}deleteClientData(ve,Pe,Oe,Be=!1){return this.getAuthToken(Be,Oe).pipe((0,s.ZZ)(tt=>this.starfleetHttpService.deleteClientData(tt,ve,Pe,Oe)),(0,p.W)(tt=>this.handleAuthError(tt,Be,this.deleteClientData.bind(this),ve)))}handleAuthError(ve,Pe,Oe,...Be){return 401===ve.status?Pe?(0,l.$)(B.NOT_LOGGED_IN):(this.logger.info("refershing auth token for fn: ",null==Oe?void 0:Oe.name),Be.push(!0),Oe(...Be)):(0,l.$)(ve)}get lastError(){return this.errorInfo}getDeviceDisplayCode(){return this.deviceDisplayCode}cancel(){var ve,Pe;!1===(null===(ve=this.loginSubject)||void 0===ve?void 0:ve.isStopped)&&this.loginSubject.complete(),null===(Pe=this.loginSubscription)||void 0===Pe||Pe.unsubscribe(),this.loginSubscription=null}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(n.KVO(E),n.KVO(D.J6),n.KVO(F),n.KVO(g),n.KVO(d.yQ),n.KVO(D.iH),n.KVO(te.mZ),n.KVO(D.CF),n.KVO(D.zW),n.KVO(n.zcH),n.KVO(D.NZ),n.KVO(D.at))},Se.\u0275prov=n.jDH({token:Se,factory:Se.\u0275fac,providedIn:"root"}),Ne})();const ie={provide:e,useFactory:function ge(Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe){switch(Se.platformType){case P.Browser:case P.Cef:return Se.redirectUrl=Se.redirectUrlIsRelative?window.location.origin+Se.redirectUrl:Se.redirectUrl,new le(Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe);default:return void Ne.getLogger("starfleetServiceCreator").error("Cannot create StarfleetService for unknown platform type: "+Se.platformType)}},deps:[E,D.J6,F,g,d.yQ,D.iH,te.mZ,D.CF,D.zW,n.zcH,D.NZ,D.at]};var ce=t(99204);const G=[ce.D6];let ue=(()=>{var Se;class Ne{static configure(ve){return{ngModule:Ne,providers:[{provide:E,useValue:ve},ie,g]}}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)},Se.\u0275mod=n.$C({type:Se}),Se.\u0275inj=n.G2t({providers:[ie],imports:[U.q1,k.MD,G,ce.D6]}),Ne})();t(21333)},49600:(xe,de,t)=>{"use strict";t.d(de,{u:()=>L});var e=t(58527),n=t(70494),E=t(47766),O=t(61142),B=t(3457),P=t(28139),k=t(99204),U=t(49752),r=t(81247);const A=["surveyFrame"];function l(s,M){if(1&s){const u=e.RV6();e.j41(0,"div",5)(1,"iframe",6,0),e.bIt("load",function(p){e.eBV(u);const i=e.XpG();return e.Njj(i.onLoad(p))})("error",function(){e.eBV(u);const p=e.XpG();return e.Njj(p.onError())}),e.k0s()()}if(2&s){const u=e.XpG();e.Y8G("hidden",u.loadingFrame)("ngStyle",u.nvContainerSize),e.R7$(),e.Y8G("src",u.getSource(),e.f$h)("ngStyle",u.nvSize)}}function I(s,M){if(1&s){const u=e.RV6();e.j41(0,"div")(1,"nv-hig-dialog",7),e.bIt("primaryButtonClick",function(){e.eBV(u);const p=e.XpG();return e.Njj(p.dismiss())}),e.k0s()()}if(2&s){const u=e.XpG();e.R7$(),e.Y8G("data",u.dialogData)}}function S(s,M){if(1&s&&(e.j41(0,"div",8)(1,"div"),e.nrm(2,"mat-progress-spinner",9),e.k0s()()),2&s){const u=e.XpG();e.Y8G("ngStyle",u.nvContainerSize),e.R7$(2),e.Y8G("diameter",35)}}let L=(()=>{var s;class M{get state(){return this._state}set state(x){this.logger.info("state updated:",x),this._state=x}constructor(x,p){this.networkStatusService=p,this.continue=new e.bkB,this.nvOnClose=new e.bkB,this.nvOnSend=new e.bkB,this.loadingFrame=!0,this.firstLoad=!0,this.isLoading=!1,this.loadEvent=null,this._state=n.aA.SurveyMain,this.errorText="",this.errorTitle="",this.buttonText="",this.dialogData={},this.logger=x.getLogger("survey-feedback/surveyComponent"),this.logger.info("Attempting to open survey form")}ngOnInit(){this.isLoading=!1,this.loadEvent=null,this.activateOnlineSubscription(),this.isSurveyError&&(this.loadingFrame=!1),this.errorTitle=this.isSurveyError?"feedback.feedbackErrorTitle":"",this.errorText=this.isSurveyError?"feedback.feedbackErrorMessage":"feedback.problemConnectingToNvidia",this.buttonText="feedback.dismiss",this.dialogData={headerText:{text:this.errorTitle},bodyText:{text:this.errorText},primaryButton:{text:this.buttonText}}}onKeyUp(){this.dismiss()}getSource(){return this.nvSource}onError(){this.state=n.aA.SurveyError,this.loadingFrame=!1,this.firstLoad=!1}dismiss(){this.loadEvent&&!this.isSurveyError&&!this.loadingFrame&&this.nvOnClose.emit("escape"),this.nvOnClose.emit("closed")}onLoad(x){this.loadEvent=x,this.isLoading=!0,this.loadEvent&&this.loadEvent.target&&this.loadEvent.target.src&&(this.state!==n.aA.SurveyMain&&(this.state=n.aA.SurveyMain),this.firstLoad=!1,this.logger.info("survey form opened"),this.loadingFrame=!1,setTimeout(()=>{var p;return null===(p=this.surveyFrame)||void 0===p?void 0:p.nativeElement.focus()}),this.isSurveyError&&this.onError())}eventListener(x){switch(x.data){case"surveyengine.error":this.logger.error("invalid survey response",x.data),this.checkIfFailSilently(),this.onError();break;case"surveyengine.nosurvey":case"surveyengine.cancel":this.dismiss();break;case"surveyengine.thanks":this.nvOnSend.emit("sent")}}checkIfFailSilently(){this.failSilently&&this.firstLoad&&(this.firstLoad=!1,this.logger.error("failing silently .."),this.continue.emit("continue"))}activateOnlineSubscription(){this.onlineSubscription=this.networkStatusService.onlineStatusChanged.subscribe(x=>{this.state!==n.aA.SurveyMain&&(this.state=n.aA.SurveyMain),this.loadingFrame=!this.isSurveyError,x?this.isLoading||window.addEventListener("message",p=>{this.eventListener(p)}):(this.isLoading||this.checkIfFailSilently(),this.logger.info("showing survey error"),this.onError())},x=>{this.logger.error("Error fetching online status at load",x),this.onError()})}ngOnDestroy(){this.onlineSubscription&&this.onlineSubscription.unsubscribe()}}return(s=M).\u0275fac=function(x){return new(x||s)(e.rXU(E.J6),e.rXU(E.CF))},s.\u0275cmp=e.VBU({type:s,selectors:[["nv-survey"]],viewQuery:function(x,p){if(1&x&&e.GBs(A,5),2&x){let i;e.mGM(i=e.lsd())&&(p.surveyFrame=i.first)}},hostBindings:function(x,p){1&x&&e.bIt("keyup.esc",function(){return p.onKeyUp()},!1,e.tSv)},inputs:{nvSize:"nvSize",nvContainerSize:"nvContainerSize",nvErrorSize:"nvErrorSize",nvSource:"nvSource",failSilently:"failSilently",isSurveyError:"isSurveyError"},outputs:{continue:"continue",nvOnClose:"nvOnClose",nvOnSend:"nvOnSend"},decls:4,vars:3,consts:[["surveyFrame",""],["nvTrapFocus","",1,"survey-container-parent",3,"ngSwitch"],["class","survey-container",3,"hidden","ngStyle",4,"ngSwitchDefault"],[4,"ngSwitchCase"],["class","survey-loading-dialog-pane","fxLayoutAlign","center center",3,"ngStyle",4,"ngIf"],[1,"survey-container",3,"hidden","ngStyle"],["data-focus-loss-exempt","","id","survey-frame","allow","gamepad",1,"survey-iframe",3,"load","error","src","ngStyle"],[3,"primaryButtonClick","data"],["fxLayoutAlign","center center",1,"survey-loading-dialog-pane",3,"ngStyle"],["mode","indeterminate",1,"mat-accent",3,"diameter"]],template:function(x,p){1&x&&(e.j41(0,"div",1),e.DNE(1,l,3,4,"div",2)(2,I,2,1,"div",3),e.k0s(),e.DNE(3,S,3,2,"div",4)),2&x&&(e.Y8G("ngSwitch",p.state),e.R7$(2),e.Y8G("ngSwitchCase","error"),e.R7$(),e.Y8G("ngIf",p.loadingFrame))},dependencies:[O.bT,O.B3,O.ux,O.e1,O.fG,B.sA,P.eI,k.LG,U.u,r.D],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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.survey-loading-dialog-pane[_ngcontent-%COMP%]{background-color:#1f2224;height:610px;width:472px;border:0;overflow-y:overlay;overflow-x:hidden;max-height:80vh}.survey-loading-pane[_ngcontent-%COMP%]{margin:24px}.survey-bottom-filler[_ngcontent-%COMP%]{height:64px}.survey-iframe[_ngcontent-%COMP%]{border:0;max-height:80vh}button.survey-mat-raised-button.mat-accent[_ngcontent-%COMP%]:not([disabled]):hover{background-color:#6ba800}button.survey-mat-raised-button.mat-accent[_ngcontent-%COMP%]:not([disabled]):focus{background-color:#6ba800}button.survey-mat-raised-button.mat-accent[_ngcontent-%COMP%]:not([disabled]):active{background-color:#619900}.survey-nav-icon-container[_ngcontent-%COMP%]{display:block;text-align:center;line-height:48px;font-size:48px;height:48px;width:48px}.isLtr[_nghost-%COMP%] .survey-nav-icon-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .survey-nav-icon-container[_ngcontent-%COMP%]{margin-left:25px}html[dir=ltr][_ngcontent-%COMP%] .survey-nav-icon-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:25px}.isRtl[_nghost-%COMP%] .survey-nav-icon-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .survey-nav-icon-container[_ngcontent-%COMP%]{margin-right:25px}html[dir=rtl][_ngcontent-%COMP%] .survey-nav-icon-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:25px}.survey-container[_ngcontent-%COMP%]{overflow-y:hidden;overflow-x:hidden;max-height:80vh;background:#1f2224}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.survey-container[_ngcontent-%COMP%]{overflow-y:hidden;background:#393939}.survey-iframe[_ngcontent-%COMP%]{width:inherit!important;height:inherit!important;min-height:inherit!important;max-height:inherit;padding-bottom:inherit}}@media (max-width: 599.98px) and (orientation: portrait) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape) and (orientation: portrait){.survey-iframe[_ngcontent-%COMP%]{height:-webkit-fill-available!important}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.survey-container[_ngcontent-%COMP%], .survey-loading-dialog-pane[_ngcontent-%COMP%]{width:100vw!important;height:calc(100% - env(safe-area-inset-bottom))!important;min-height:unset!important;max-height:100%;padding-bottom:env(safe-area-inset-bottom)}.survey-container-parent[_ngcontent-%COMP%]{height:100%}}.tv-view[_nghost-%COMP%] .survey-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .survey-container[_ngcontent-%COMP%]{overflow-y:hidden;background:#393939}.tv-view[_nghost-%COMP%] .survey-iframe[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .survey-iframe[_ngcontent-%COMP%]{width:inherit!important;height:inherit!important;min-height:inherit!important;max-height:inherit;padding-bottom:inherit}@media (orientation: portrait){.tv-view[_nghost-%COMP%] .survey-iframe[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .survey-iframe[_ngcontent-%COMP%]{height:-webkit-fill-available!important}}.tv-view[_nghost-%COMP%] .survey-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .survey-container[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .survey-loading-dialog-pane[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .survey-loading-dialog-pane[_ngcontent-%COMP%]{width:100vw!important;height:calc(100% - env(safe-area-inset-bottom))!important;min-height:unset!important;max-height:100%;padding-bottom:env(safe-area-inset-bottom)}.tv-view[_nghost-%COMP%] .survey-container-parent[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .survey-container-parent[_ngcontent-%COMP%]{height:100%}"]}),M})()},70494:(xe,de,t)=>{"use strict";t.d(de,{Mw:()=>l,Np:()=>A,V8:()=>U,aA:()=>O,iK:()=>r});const O={SurveyMain:"main",SurveyError:"error"},U={width:"477px",height:"700px"},r={width:"477px",height:"700px"},A={width:"472px",height:"610px"},l={width:"472px",height:"610px"}},33204:(xe,de,t)=>{"use strict";t.d(de,{n1:()=>N,_K:()=>S});var e=t(47973),n=t(26537),E=t(29370),O=t(99204),B=t(65597),P=t(51006),k=t(61142),U=t(56106),r=t(65240),A=t(44186),l=t(19061),I=t(58527);let S=(()=>{var z;class R{}return(z=R).\u0275fac=function(h){return new(h||z)},z.\u0275mod=I.$C({type:z}),z.\u0275inj=I.G2t({imports:[k.MD,U.YN,P.YF,n.hM,B._T,E.m_,O.D6,e.wG,A.uc,r.h.forChild(),l.bm,k.MD,U.YN]}),R})();var L=t(49600),s=t(70494),M=t(26875),u=t(26513),x=t(85735),p=t(43848),i=t(75707),o=t(65706),_=t(83915),f=t(1794),J=t(81834),a=t(47766),D=t(74150);let N=(()=>{var z;class R{constructor(h,W,ne,ee,b,w){this.sanitizer=W,this.dialog=ne,this.translateService=ee,this.snackbar=b,this.focusManager=w,this.feedbackUrl="",this.feedbackUrlLoaded=new u.t(!1),this.logger=h.getLogger("FeedbackService"),this.userInfo$=new x.m(1)}getUserInfoUpdated(){return this.userInfo$.asObservable()}onAccountStatusChanged(h){this.userInfo$.next(h)}initializeFeedback(h,W,ne,ee){return this.isAdminHubSurvey=!1,this.isAdminHubSurveyError=!1,ne().pipe((0,i.ZZ)(b=>b?W().pipe((0,o.s)(1),(0,_.T)(w=>(w?(this.logger.info("AdminHub Feedback Survey feature is enabled and survey found"),this.setFeedbackUrl(w.surveyContainerUrl),this.feedbackUrlLoaded.next(!0),this.isAdminHubSurvey=!0,this.subscribeToSurveyEvents(w)):(this.logger.info("initializeFeedback - AdminHub Feedback Survey is not availanble"),this.isAdminHubSurveyError=!0,this.setFeedbackUrl("")),!0))):(this.logger.info("Surveys Feature rollout is disabled, show error dialog"),this.isAdminHubSurveyError=!0,this.setFeedbackUrl(""),(0,p.of)(!1))))}setFeedbackUrl(h){this.feedbackUrl=this.sanitizer.bypassSecurityTrustResourceUrl(h)}closeFeedbackDialog(){this.logger.trace(J.N_.UserGesture,J.YD.Feedback,J.PC.close," by clicking dismiss"),this.isFeedbackDialogOpen()&&this.globalDialogref.close()}isFeedbackDialogOpen(){return!(0,M.isNil)(this.globalDialogref)&&0===this.globalDialogref.getState()}setUpToastContainer(h){this.tc=h}onOpenFeedbackDialog(h){if(this.logger.trace(J.N_.UserGesture,J.YD.Feedback,J.PC.open,"feedback option"),!this.isFeedbackDialogOpen())return this.globalDialogref=this.focusManager.restoreFocusAfterClosed(()=>{const W=["dialogPaddingRemove","survey-cdk-overlay-pane"];return this.isAdminHubSurveyError&&W.push("survey-cdk-overlay-error-pane"),this.dialog.open(L.u,{panelClass:W,autoFocus:!1,hasBackdrop:!0,disableClose:!0,maxWidth:"100vw"})}),this.globalDialogref.componentInstance.nvSource=this.feedbackUrl,this.globalDialogref.componentInstance.nvContainerSize={width:this.isAdminHubSurvey?s.V8.width:s.Np.width,height:this.isAdminHubSurvey?s.V8.height:s.Np.height},this.globalDialogref.componentInstance.nvSize={width:this.isAdminHubSurvey?s.iK.width:s.Mw.width,height:this.isAdminHubSurvey?s.iK.height:s.Mw.height},this.globalDialogref.componentInstance.isSurveyError=this.isAdminHubSurveyError,this.globalDialogref.componentInstance.nvOnSend.pipe((0,o.s)(1)).subscribe(W=>{this.onSurveySent(),this.globalDialogref.close()}),this.globalDialogref.componentInstance.nvOnClose.pipe((0,o.s)(1)).subscribe(W=>{"escape"===W&&h(),this.globalDialogref.close()}),this.globalDialogref;this.logger.info("Feedback Dialog is already open")}feedbackUrlInitialized(){return this.feedbackUrlLoaded.asObservable()}onSurveySent(){this.logger.trace(J.N_.UserGesture,J.YD.Feedback,J.PC.close," by clicking send"),this.translateService.get("feedback.thanksMessage").subscribe(h=>{this.snackbar.open(h,"",{duration:7e3,horizontalPosition:"left",verticalPosition:"bottom",panelClass:["nv-hig"]})}),this.logger.info("survey sent")}subscribeToSurveyEvents(h){h?(this.surveyEventReferenceSubmitted=(0,f.subscribeToIFrameEvents)({surveyId:h.surveyId,type:f.SurveyEventType.Submitted},this.surveyEventListenerSubmitted.bind(this)),this.surveyEventReferenceDismissed=(0,f.subscribeToIFrameEvents)({surveyId:h.surveyId,type:f.SurveyEventType.Dismissed},this.surveyEventListenerDismissed.bind(this)),this.surveyEventReferenceCloseDialog=(0,f.subscribeToIFrameEvents)({surveyId:h.surveyId,type:f.SurveyEventType.CloseDialog},this.surveyEventListenerCloseDialog.bind(this))):this.logger.info("Error subscribing to survey events since survey result is empty")}surveyEventListenerSubmitted(){this.logger.info("Feedback Service - Survey Submitted, close Modal Dialog..."),this.onSurveySent(),this.closeFeedbackDialog(),this.surveyEventReferenceSubmitted.unsubscribe()}surveyEventListenerDismissed(){this.logger.info("Feedback Service - Survey Dismissed, close Modal Dialog..."),this.closeFeedbackDialog(),this.surveyEventReferenceDismissed.unsubscribe()}surveyEventListenerCloseDialog(){this.logger.info("Feedback Service - closing Modal Dialog..."),this.closeFeedbackDialog(),this.surveyEventReferenceCloseDialog.unsubscribe()}}return(z=R).\u0275fac=function(h){return new(h||z)(I.KVO(a.J6),I.KVO(D.up),I.KVO(n.bZ),I.KVO(r.c$),I.KVO(B.UG),I.KVO(l.c_))},z.\u0275prov=I.jDH({token:z,factory:z.\u0275fac,providedIn:"root"}),R})()},52299:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{AA:()=>getString,AF:()=>toBool,GC:()=>convertMapToObject,It:()=>isValidType4UUID,KA:()=>base64Encode,PI:()=>getDomainWithProtocol,Q2:()=>isBase64,RL:()=>invalidPipeArgumentError,Up:()=>pick,VP:()=>mapScrimRGBToFontColor,ab:()=>shallowCompare,bz:()=>generateUuid,eJ:()=>cloneOrNull,gX:()=>isTimeoutOrConnectivityError,iN:()=>hexToRGB,l2:()=>normalizeUrl,tO:()=>formatLogString});var lodash__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(26875),lodash__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);function normalizeUrl(xe){let de="";return xe.forEach((t,e)=>{!t.startsWith("/")&&0!==e&&(de+="/"),t.endsWith("/")?de+=t.slice(0,t.length-1):de+=t}),de}function toLowerCaseOrEmpty(xe){return xe&&xe.toLowerCase()||""}let CachedUuid=(()=>{class de{static getUuid(){return de.uuid}static refreshUuid(){de.uuid=generateUuidInternal()}}return de.uuid=null,de})();function generateUuidInternal(){let xe=Date.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=(xe+16*Math.random())%16|0;return xe=Math.floor(xe/16),("x"===t?e:3&e|8).toString(16)})}function generateUuid(xe=!1){return xe?CachedUuid.getUuid():generateUuidInternal()}function invalidPipeArgumentError(xe,de){return Error(`InvalidPipeArgument: '${de}' for pipe '${xe.toString()}'`)}function getString(xe,de){let t=xe&&"string"!=typeof xe?JSON.stringify(xe):xe||"";return de&&(t=t.substr(0,de)),t}function isTimeoutOrConnectivityError(xe){return!((0,lodash__WEBPACK_IMPORTED_MODULE_0__.isNil)(xe)||(0,lodash__WEBPACK_IMPORTED_MODULE_0__.isNil)(xe.status)||0!==xe.status&&-100!==xe.status)}function formatLogString(xe,de,t,e){let n="";for(const B of e)try{n+="string"==typeof B?B:JSON.stringify(B,null,"\t"),n+=" "}catch{}return`${t.transform(new Date,"yyyy-MM-dd HH:mm:ss.SSS")} ${[de]} ${xe} ${n}`}function base64Encode(xe,de,t){return t&&(xe=window.encodeURIComponent(xe)),de&&(xe=window.unescape(xe)),window.btoa(xe)}function isBase64(xe){if(""===xe||""===xe.trim())return!1;try{return btoa(atob(xe))===xe}catch{return!1}}function isValidType4UUID(xe){return!!/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-4[a-f0-9]{3}\b-[89aAbB][a-f0-9]{3}\b-[0-9a-fA-F]{12}$/gi.test(xe)}function cloneOrNull(xe){return xe?{...xe}:null}function pick(xe,...de){const t={};for(const e of de)e in xe&&(t[e]=xe[e]);return t}function evalCss(expr){return eval(expr.trim().replace(/calc/g,"").replace(/px/g,"").replace(/100vw/g,window.innerWidth.toString()).replace(/100vh/g,window.innerHeight.toString()).replace(/[^-()\d/*+.]/g,""))}function shallowCompare(xe,de){const t=Object.keys(xe),e=Object.keys(de);if(t.length!==e.length)return!1;for(const n of t)if(xe[n]!==de[n])return!1;return!0}function getDomainWithProtocol(xe){try{return`${new URL(xe).origin}`}catch{return""}}function toBool(xe){if((0,lodash__WEBPACK_IMPORTED_MODULE_0__.isNil)(xe))return!1;switch(typeof xe){case"boolean":return xe;case"string":return"true"===xe.toLowerCase()||"on"===xe.toLowerCase()||"1"===xe;case"number":return!!xe;default:return!1}}function mapScrimRGBToFontColor(xe){return xe?.299*xe.r+.587*xe.g+.114*xe.b>150?"black":"white":null}function hexToRGB(xe){if(!new RegExp("^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$").test(xe))return null;let de,t,e;return 4===xe.length?(de=parseInt(xe[1]+xe[1],16),t=parseInt(xe[2]+xe[2],16),e=parseInt(xe[3]+xe[3],16)):(de=parseInt(xe.substring(1,3),16),t=parseInt(xe.substring(3,5),16),e=parseInt(xe.substring(5,7),16)),{r:de,g:t,b:e}}function convertMapToObject(xe){const de={};return xe.forEach((t,e)=>{de[e]=t}),de}CachedUuid.refreshUuid()},81834:(xe,de,t)=>{"use strict";t.d(de,{EU:()=>I,F0:()=>Ne,x5:()=>Se,PC:()=>te,YD:()=>D,N_:()=>N,V$:()=>r,_d:()=>s,A5:()=>_,Au:()=>Be,_4:()=>ot,TE:()=>U,mZ:()=>L,Z3:()=>le,A6:()=>ge,Iu:()=>h,O4:()=>R,cL:()=>j,KA:()=>M.KA,eJ:()=>M.eJ,Ms:()=>Oe,GC:()=>M.GC,nK:()=>ue,m1:()=>G,v4:()=>b,tO:()=>M.tO,pQ:()=>a,qU:()=>Pe,bz:()=>M.bz,PI:()=>M.PI,iK:()=>ne,EL:()=>Ee,D$:()=>ee,Qt:()=>ce,AA:()=>M.AA,NX:()=>w,s0:()=>Z,op:()=>se,IT:()=>Y,iN:()=>M.iN,RL:()=>M.RL,Pn:()=>ve,Nw:()=>we,Q2:()=>M.Q2,Zm:()=>tt,Ls:()=>ae,gX:()=>M.gX,mI:()=>W,It:()=>M.It,VP:()=>M.VP,l2:()=>M.l2,hH:()=>q,Up:()=>M.Up,ab:()=>M.ab,AF:()=>M.AF,bm:()=>T});var e=t(85735),n=t(43848),E=t(63997),O=t(3496),B=t(35146),P=t(91384);class k extends e.m{constructor(Qe){super(Qe),this.lastValue=null}getValue(){return this.lastValue}setValue(Qe){this.lastValue=Qe}next(Qe){this.lastValue=Qe,super.next(Qe)}clear(){this.lastValue=null}}class U{constructor(Qe,Fe=!0,Xe=!0,_e=!0,He=-1){this.workerFn=Qe,this.cacheLastResult=Xe,this.clearCacheOnRefresh=_e,this.cacheLifeTime=He,this.internalSubject=null,this.subscription=null,Fe||this.get$()}refresh(){const Qe=new e.m(1);this.cacheLastResult&&this.internalSubject instanceof k&&this.clearCacheOnRefresh&&this.internalSubject.clear();const Fe=this.ensureEntryIsInitialized(!0);return Fe&&this.pipeNewDataToReplaySubject(Fe,Qe),Qe.asObservable()}setData(Qe,Fe=!1){this.internalSubject instanceof k&&this.internalSubject.setValue(Qe),Fe&&(this.ensureEntryIsInitialized(!1),this.pipeNewDataToReplaySubject((0,n.of)(Qe),null))}getData(){return this.internalSubject instanceof k?this.internalSubject.getValue():null}get$(){const Qe=this.ensureEntryIsInitialized(!1);return Qe&&this.pipeNewDataToReplaySubject(Qe,null),this.internalSubject.asObservable()}getRefreshObservable(){return(0,E.v)(()=>this.refresh())}pipeNewDataToReplaySubject(Qe,Fe){(0,O.O)(0).pipe((0,P.M)(Xe=>this.subscription=Qe.subscribe(_e=>{Fe&&Fe.next(_e),this.internalSubject&&this.internalSubject.next(_e),this.cacheLastResult&&this.cacheLifeTime>=0&&(0,O.O)(this.cacheLifeTime).subscribe(()=>{this.internalSubject=null})},_e=>{const He=this.internalSubject;this.subscription&&this.subscription.unsubscribe(),this.internalSubject=null,Fe&&Fe.error(_e),He&&He.error(_e)}))).subscribe()}ensureEntryIsInitialized(Qe){if(Qe||!this.internalSubject)return this.subscription&&this.subscription.unsubscribe(),this.internalSubject||(this.internalSubject=this.createNewSubject()),this.workerFn()}createNewSubject(){return this.cacheLastResult?new k(1):new e.m(1)}}class r{constructor(Qe,Fe=!0,Xe=!0,_e=!0,He=-1){this.workerFn=Qe,this.lazyInit=Fe,this.cacheLastResult=Xe,this.clearCacheOnRefresh=_e,this.cacheLifeTime=He,this.eventStreamMap=new Map}refresh(Qe){return this.ensureMapEntryExists(Qe),this.eventStreamMap.get(Qe).refresh()}refreshAll(){const Qe=[];return this.eventStreamMap.forEach((Fe,Xe)=>{Qe.push(Fe.refresh())}),(0,B.yU)(...Qe)}setData(Qe,Fe,Xe=!1){this.ensureMapEntryExists(Qe),this.eventStreamMap.get(Qe).setData(Fe,Xe)}getData(Qe){return this.ensureMapEntryExists(Qe),this.eventStreamMap.get(Qe).getData()}get$(Qe){return this.ensureMapEntryExists(Qe),this.eventStreamMap.get(Qe).get$()}ensureMapEntryExists(Qe){this.eventStreamMap.has(Qe)||this.eventStreamMap.set(Qe,new U(()=>this.workerFn(Qe),this.lazyInit,this.cacheLastResult,this.clearCacheOnRefresh,this.cacheLifeTime))}}var A=t(72653);const l=(0,A.BQ)({passive:!0,capture:!0});class I{constructor(){this._events=new Map,this._delegateEventHandler=Qe=>{var Fe;const Xe=(0,A.Fb)(Qe);Xe&&(null===(Fe=this._events.get(Qe.type))||void 0===Fe||Fe.forEach((_e,He)=>{(He===Xe||He.contains(Xe))&&_e.forEach(De=>De.handleEvent(Qe))}))}}addHandler(Qe,Fe,Xe,_e){const He=this._events.get(Fe);if(He){const De=He.get(Xe);De?De.add(_e):He.set(Xe,new Set([_e]))}else this._events.set(Fe,new Map([[Xe,new Set([_e])]])),Qe.runOutsideAngular(()=>{document.addEventListener(Fe,this._delegateEventHandler,l)})}removeHandler(Qe,Fe,Xe){const _e=this._events.get(Qe);if(!_e)return;const He=_e.get(Fe);He&&(He.delete(Xe),0===He.size&&_e.delete(Fe),0===_e.size&&(this._events.delete(Qe),document.removeEventListener(Qe,this._delegateEventHandler,l)))}}var S=t(58527);let L=(()=>{var We;class Qe{createStream(Xe,_e=!0,He=!0,De=!0,Re=-1){return new U(Xe,_e,He,De,Re)}}return(We=Qe).\u0275fac=function(Xe){return new(Xe||We)},We.\u0275prov=S.jDH({token:We,factory:We.\u0275fac,providedIn:"root"}),Qe})(),s=(()=>{var We;class Qe{createStream(Xe){return new r(Xe)}}return(We=Qe).\u0275fac=function(Xe){return new(Xe||We)},We.\u0275prov=S.jDH({token:We,factory:We.\u0275fac,providedIn:"root"}),Qe})();var M=t(52299),u=t(36877),x=t(16229),p=t(10174),i=t(34593),o=t(53461);let _=(()=>{var We;class Qe{constructor(){}onlineStatusChanged(){const Xe=(0,u.R)(window,"online").pipe((0,p.u)(!0)),_e=(0,u.R)(window,"offline").pipe((0,p.u)(!1));return(0,x.h)(Xe,_e).pipe((0,i.Z)(window.navigator.onLine),(0,o.F)())}isOnline(){return window.navigator.onLine}}return(We=Qe).\u0275fac=function(Xe){return new(Xe||We)},We.\u0275prov=S.jDH({token:We,factory:We.\u0275fac,providedIn:"root"}),Qe})();const f=[];function J(We,Qe,Fe){for(;0!==f.length;){const Xe=`${Qe.transform(new Date,"yyyy-MM-dd HH:mm:ss.SSS")} ${[We]} ${Fe[0]} ${f[f.length-1]} ${te.close}`;console.log(Xe),f.pop()}}function a(We,Qe,Fe,Xe){if(Xe.length>=3&&Xe[1].toString().includes("Tracer"))if(f[f.length-1]!==Xe[1]){if(Xe[2]===te.close){const He=`${Fe.transform(new Date,"yyyy-MM-dd HH:mm:ss.SSS")} ${[Qe]} ${Xe[0]} ${f[f.length-1]} ${Xe[2]}`;f.pop(),console.log(He),f.length&&f.pop()}else Xe[2]===te.open&&f.includes(Xe[1])&&J(Qe,Fe,Xe);f.push(Xe[1])}else f[f.length-1]===Xe[1]&&f.pop();else if("Clicked on Back button"===Xe[1])return void J(Qe,Fe,Xe);return(0,M.tO)(We,Qe,Fe,Xe)}var D=function(We){return We.EvidencePanel="EvidencePanelTracer",We.Search="SearchTracer",We.SeeMore="SeeMoreTracer",We.UserInfo="UserDetails",We.Login="LoginTracer",We.Settings="SettingsTracer",We.Feedback="FeedbackTracer",We}(D||{}),te=function(We){return We.open="Opened",We.close="Closed",We}(te||{}),N=function(We){return We.UserGesture="UserGesture",We.Endpoint="EndPoint",We.Errormessage="ErrorMessage",We.PushNotification="PushNotification",We.UserDetails="UserDetails",We}(N||{}),z=t(17053);const R={Done:65376};var v=function(We){return We.EdenResume="http://samsung.com/appcontrol/operation/eden_resume",We}(v||{}),h=function(We){return We.PlatformCoreCpuArch="http://tizen.org/feature/platform.core.cpu.arch",We.ModelName="http://tizen.org/system/model_name",We}(h||{});function W(){return"tizen"in window}function ne(We){var Qe;if(We.operation===v.EdenResume)return null===(Qe=We.data.find(Fe=>"PAYLOAD"===Fe.key))||void 0===Qe?void 0:Qe.value[0]}function ee(){var We;return null===(We=tizen)||void 0===We?void 0:We.application.getCurrentApplication().getRequestedAppControl()}function b(){var We;null===(We=tizen)||void 0===We||We.application.getCurrentApplication().exit()}function w(We){var Qe;return null===(Qe=tizen)||void 0===Qe?void 0:Qe.systeminfo.getCapability(We)}function F(){return window.webapis}function Z(){var We,Qe;const Fe=null===(We=F())||void 0===We||null===(We=We.productinfo)||void 0===We?void 0:We.getModelCode();return null==Fe||null===(Qe=Fe.split("_"))||void 0===Qe?void 0:Qe[1]}function se(){var We;return null===(We=F())||void 0===We||null===(We=We.productinfo)||void 0===We?void 0:We.isUdPanelSupported()}function Y(){var We;return null===(We=F())||void 0===We||null===(We=We.productinfo)||void 0===We?void 0:We.getSmartTVServerVersion()}function q(We){var Qe;if(!We)return{};const[Fe,Xe]=null===(Qe=We.split("T-INFOLINK")[1])||void 0===Qe?void 0:Qe.split("-");return{year:Fe,version:Xe}}function T(We,Qe){let Fe=null;return new z.c(_e=>{let He=!0;return Fe=tizen.filesystem.openFile(We,"w"),Fe.writeStringNonBlocking(Qe,De=>{var Re;He&&(_e.next(De),_e.complete(),null===(Re=Fe)||void 0===Re||Re.closeNonBlocking())},De=>{var Re;He&&(_e.error(De.name),_e.complete(),null===(Re=Fe)||void 0===Re||Re.closeNonBlocking())}),()=>{var De;He=!1,null===(De=Fe)||void 0===De||De.closeNonBlocking()}})}var H=t(80583),y=t(59859),X=t(65706),c=t(79539),g=t(14714),d=t(4208),C=function(We){return We.InvalidStates="InvalidStates",We.InvalidTransitions="InvalidTransitions",We.InvalidStartState="InvalidStartState",We.InvalidEndState="InvalidEndState",We.InvalidWildcardState="InvalidWildcardState",We.TransitionFromEndState="TransitionFromEndState",We.TransitionNotFound="TransitionNotFound",We.TransitionError="TransitionError",We.UnreachableState="UnreachableState",We.InvalidStateName="InvalidStateName",We.AmbiguousTransition="AmbiguousTransition",We.WildcardTargetState="WildcardTargetState",We.MultipleWildcardTransitions="MultipleWildcardTransitions",We}(C||{});class Q extends Error{constructor(Qe,Fe,Xe,_e){super(`${Qe} - ${Fe} - ${Xe}`),this.name="StateMachineError",this.tag=Qe,this.code=Fe,this.data=_e}}const j="**";class le{get currentState(){return this._currentState}constructor(Qe,Fe){this._serializer=new H.B7,this._reset=new H.B7,this.setupStateMachine(Qe),Fe&&this.validateStateMachine(),this.setupSerializer()}on(Qe,Fe){return(0,E.v)(()=>{const Xe={action:Qe,stateData:Fe,response:new e.m(1)};return this._serializer.next(Xe),Xe.response.asObservable()})}reset(){this._reset.next(),this._currentState=this._startState,this.setupSerializer()}executeTransition(Qe,Fe){var Xe,_e,He;if(this._currentState===this._endState)return(0,y.$)(this.createStateMachineError(C.TransitionFromEndState,"Cannot transition from end state"));const De=null===(Xe=this._transitions[Qe])||void 0===Xe||null===(Xe=Xe.find(et=>et.from===this._currentState||et.from===j))||void 0===Xe?void 0:Xe.to;if(!De)return(0,y.$)(this.createStateMachineError(C.TransitionNotFound,`Could not find a valid targetState from currentState ${this.currentState} on action ${Qe}`));const Re=this._states[this._currentState],K=this._states[De],ke=null!==(_e=null==Re?void 0:Re.onExit)&&void 0!==_e?_e:et=>(0,n.of)(et),Ue=null!==(He=null==K?void 0:K.onEnter)&&void 0!==He?He:et=>(0,n.of)(et);return ke(Fe).pipe((0,X.s)(1),(0,P.M)(()=>this._currentState=De),(0,c.H)(et=>Ue(et)),(0,X.s)(1),(0,g.W)(et=>(0,y.$)(this.createStateMachineError(C.TransitionError,`Error transitioning to ${De}`,et))))}setupStateMachine(Qe){if(this._tag=Qe.tag,this._states=Qe.states,!this._states)throw this.createStateMachineError(C.InvalidStates,"State list cannot be nullish");if(this._transitions=Qe.transitions,!this._transitions)throw this.createStateMachineError(C.InvalidTransitions,"Transitions list cannot be nullish");if(this._startState=Object.keys(this._states).find(Fe=>Fe===Qe.startState),!this._startState)throw this.createStateMachineError(C.InvalidStartState,`Could not find valid start state with name ${Qe.startState}`);if(this._endState=Object.keys(this._states).find(Fe=>Fe===Qe.endState),!this._endState)throw this.createStateMachineError(C.InvalidEndState,`Could not find valid end state with name ${Qe.endState}`);if(Object.keys(this._states).includes(j))throw this.createStateMachineError(C.InvalidWildcardState,"Wildcard state name cannot be specified manually in state definitions");this._currentState=Qe.startState}setupSerializer(){this._serializer.pipe((0,c.H)(Qe=>this.executeTransition(Qe.action,Qe.stateData).pipe((0,c.H)(Fe=>(Qe.response.next(Fe),Qe.response.complete(),(0,n.of)(Fe))),(0,g.W)(Fe=>(Qe.response.error(Fe),(0,n.of)(Fe))))),(0,d.Q)(this._reset)).subscribe()}createStateMachineError(Qe,Fe,Xe){return new Q(this._tag,Qe,Fe,Xe)}validateStateMachine(){const Qe=new Map;Object.keys(this._states).forEach(Fe=>Qe.set(Fe,!1)),Qe.set(this._startState,!0),Object.keys(this._transitions).forEach(Fe=>{const Xe=new Map;Object.keys(this._states).forEach(_e=>Xe.set(_e,0)),this._transitions[Fe].forEach(_e=>{if(_e.from===this._endState)throw this.createStateMachineError(C.TransitionFromEndState,"Cannot transition from end state");if(_e.to===j)throw this.createStateMachineError(C.WildcardTargetState,`Wildcard state cannot be targetState on action ${Fe}`);if(_e.from===j&&1!==this._transitions[Fe].length)throw this.createStateMachineError(C.MultipleWildcardTransitions,`Cannot specify multiple transitions on action ${Fe} if one of them is a Wildcard`);if(![...Object.keys(this._states),j].includes(_e.from))throw this.createStateMachineError(C.InvalidStateName,`Invalid currentState ${_e.from} on action ${Fe} to state ${_e.to}`);if(!Object.keys(this._states).includes(_e.to))throw this.createStateMachineError(C.InvalidStateName,`Invalid targetState ${_e.to} on action ${Fe} from state ${_e.from}`);Xe.set(_e.from,Xe.get(_e.from)+1),Qe.set(_e.to,!0)}),Xe.forEach((_e,He)=>{if(_e>1)throw this.createStateMachineError(C.AmbiguousTransition,`Ambiguous transition on action ${Fe} from state ${He}`)})}),Qe.forEach((Fe,Xe)=>{if(!Fe)throw this.createStateMachineError(C.UnreachableState,`State ${Xe} is unreachable`)})}}var ge=function(We){return We.MicrophoneStateMachine="MicrophoneStateMachine",We}(ge||{});function ie(We){let Qe;switch(We){case"ArrowUp":Qe=38;break;case"ArrowDown":Qe=40;break;case"ArrowLeft":Qe=37;break;case"ArrowRight":Qe=39;break;case"Enter":Qe=13;break;case"Escape":Qe=27}return{key:We,keyCode:Qe}}function ce(){var We;return null!==(We=document.activeElement)&&void 0!==We?We:document}function G(We,Qe,Fe){We instanceof HTMLIFrameElement||We.dispatchEvent(new KeyboardEvent(Qe,{...ie(Fe),view:window,bubbles:!0,cancelable:!0}))}function ue(We){We instanceof HTMLIFrameElement||We.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))}function ae(We){return null==We?void 0:We.isTrusted}var Ce=t(8619),Se=function(We){return We.Escape="Escape",We.GoBack="GoBack",We}(Se||{}),Ne=function(We){return We.ArrowUp="ArrowUp",We.ArrowDown="ArrowDown",We.ArrowLeft="ArrowLeft",We.ArrowRight="ArrowRight",We}(Ne||{});function we(We){return"Escape"===We.key||"GoBack"===We.key}function ve(We){return"ArrowUp"===We.key||"ArrowDown"===We.key||"ArrowLeft"===We.key||"ArrowRight"===We.key}function Pe(We,Qe,Fe){const Xe=(0,u.R)(We,Qe);return Fe?Xe.pipe((0,Ce.p)(_e=>_e.key===Fe)):Xe}function Oe(We,Qe){const Fe=(0,u.R)(We,"keyup",{capture:!0}).pipe((0,Ce.p)(Xe=>Xe.key===Qe),(0,X.s)(1));return(0,u.R)(We,"keydown",{capture:!0}).pipe((0,Ce.p)(Xe=>Xe.key===Qe),(0,P.M)(Xe=>{Xe.stopPropagation(),Xe.preventDefault()}),(0,d.Q)(Fe))}var Be=function(We){return We.Mouse="mouse",We.Pen="pen",We.Touch="touch",We}(Be||{});function tt(We,Qe){return(null==We?void 0:We.pointerType)===Qe}function Ee(We,Qe,Fe){const Xe=document.elementFromPoint(We,Qe)||void 0;if(!Xe)return;const _e=De=>De instanceof HTMLElement&&(!Fe||Fe(De));return _e(Xe)?Xe:document.elementsFromPoint(We,Qe).slice(1).find(De=>_e(De))}class ot{static resizeObserver(Qe,Fe){let Xe=null;return new z.c(He=>{let De=!0;return Xe=new ResizeObserver(Re=>{const K=Re[0].contentRect.width;De&&He.next(Re[0].contentRect.height<=Fe.maxHeight&&K<=Fe.maxWidth&&K>Fe.minWidth)}),Xe.observe(Qe),()=>{var Re;De=!1,null===(Re=Xe)||void 0===Re||Re.unobserve(Qe)}})}static onResize(Qe){return new z.c(Fe=>{let Xe=!0;const _e=new ResizeObserver(He=>{Xe&&Fe.next(He[0])});return _e.observe(Qe),()=>{Xe=!1,null==_e||_e.unobserve(Qe)}})}}},84187:(xe,de,t)=>{"use strict";t.d(de,{B5:()=>N,BE:()=>L,CW:()=>l,MM:()=>z,OS:()=>i,Oo:()=>P,Rd:()=>k,SD:()=>te,VF:()=>f,WO:()=>B,YI:()=>U,_7:()=>u,aL:()=>J,dS:()=>O,o7:()=>I,rr:()=>p,un:()=>S,x$:()=>s,xN:()=>D,z$:()=>r,zP:()=>a});var E,e=t(37543),n=t(21333),O=function(R){return R[R.GameItem=0]="GameItem",R[R.FilterItem=1]="FilterItem",R[R.MarketingItem=2]="MarketingItem",R}(O||{}),B=function(R){return R[R.Loading=0]="Loading",R[R.Ready=1]="Ready",R[R.Error=2]="Error",R[R.Login=3]="Login",R[R.EmptyLibrary=4]="EmptyLibrary",R}(B||{}),P=function(R){return R.GenericError="common.genericLoadError",R.ConnectionError="common.connectionError",R.LoginRequired="layout.myLibraryLoginRequiredMessage",R.EmptyLibrary="layout.emptyLibraryMessage",R}(P||{});class k{constructor(v,h){this.pointOfFailure=v,this.err=h}get failurePoint(){return this.pointOfFailure}get error(){return this.err}}(E=k).ErrorPlaceholder=new E;var U=function(R){return R.AppsFetch="AppsListFetch",R.AppMetadataFetch="AppMetadataFetch",R.LayoutFetch="LayoutFetch",R.FilterGroupListFetch="FilterGroupListFetch",R}(U||{});class r extends n.yN{constructor(){super("Got Empty layout for non-personalized data:",{})}}const l={GameTileWidth:154,GameTileHeight:218,WideTileWidth:272,WideTileHeight:153,TvGameTileWidth:230,TvGameTileHeight:328,TvWideTileWidth:408,TvWideTileHeight:230,MobileRenderingWidth:256};var I=function(R){return R.WideTileImageFallback="assets/img/DefaultGameArt.svg",R.GameTileImageFallback="assets/img/DefaultGameArt-BoxArt.svg",R}(I||{});const S=500,L=9/16;var s=function(R){return R.FadeIn="FadeIn",R.BottomSlideIn="BottomSlideIn",R}(s||{});const u=300,p=7500,i=400;var f=function(R){return R[R.Wide=0]="Wide",R[R.Tall=1]="Tall",R[R.Filter=2]="Filter",R}(f||{});const J={[e.HPU.Favorites]:e.MPU.FAVORITES_CHANGE,[e.HPU.Library]:e.MPU.LIBRARY_CHANGE,[e.HPU.Main]:e.MPU.LAYOUT_CHANGE},a=[e.HPU.Favorites],D=[e.HPU.Library,e.HPU.Favorites];var te=function(R){return R[R.None=0]="None",R[R.ErrorEmptyLanguageList=1]="ErrorEmptyLanguageList",R[R.ErrorDefaultMultiLanguage=2]="ErrorDefaultMultiLanguage",R}(te||{}),N=function(R){return R.S1="S1",R.S2="S2",R.S3="S3",R.S4="S4",R.S5="S5",R.S6="S6",R}(N||{});const z=3},5495:(xe,de,t)=>{"use strict";t.d(de,{l:()=>z});var te,e=t(47766),n=t(37543),E=t(80583),O=t(59859),B=t(43848),P=t(31315),k=t(36466),U=t(64971),r=t(34593),A=t(83915),l=t(53461),I=t(75707),S=t(91384),L=t(65706),s=t(14714),M=t(43615),u=t(55833),x=t(72147),p=t(99047),i=t(10174),o=t(8619),_=t(26875),J=t(84187),a=t(40996),D=t(33367);const N="QuitActiveSessionsAndProceed: failed or canceled";class z{constructor(v,h,W,ne,ee,b,w,F,Z,se,Y,q,T,H,y,X,c,g,d,C,Q,j,le,ge,ie,ce){var G,ue,ae,Ce;this.metaData=v,this.loggingService=h,this.networkStatusService=W,this.launchService=ne,this.idmService=ee,this.idmLoginService=b,this.ecomService=w,this.dialogService=F,this.lcarsService=Z,this.telemetryUtilService=se,this.gameShareUrlService=Y,this.ownershipSyncService=q,this.appConfig=T,this.gfnSdkService=H,this.unsupportedBrowserService=y,this.routerService=X,this.settingsService=c,this.systemInfoService=g,this.bridgeService=d,this.gamepadService=C,this.ratingService=Q,this.browseUxService=j,this.refreshUiService=le,this.imageFormatService=ge,this.localeService=ie,this.resumeUiService=ce,this.visible=!0,this.clientSupportsKBMouseGames=!0,this.clientSupportsTouchGames=!1,this.isGameLanguageSupportEnabled=!1,this.checkMobileDataUsage=!1,this.prioritizeGamepadWarning=!1,this.metaDataUpdated=new E.B7,this.metaDataUpdated$=this.metaDataUpdated.asObservable(),this.campaignDataUpdated=new E.B7,this.campaignDataUpdated$=this.campaignDataUpdated.asObservable(),this.updatedPostLibraryRefresh=!1,this.logger=this.loggingService.getLogger("ApplicationClass"),this.metaData.variants&&this.setPlatformPreference(),this.clientSupportsKBMouseGames=!(null===(G=T.client)||void 0===G||!G.supportsKeyboardMouseGames),this.clientSupportsTouchGames=!(null===(ue=T.client)||void 0===ue||!ue.supportsTouchGames),this.checkMobileDataUsage=!(null===(ae=T.client)||void 0===ae||!ae.checkMobileDataUsage),this.prioritizeGamepadWarning=!(null==T||null===(Ce=T.featureEnablement)||void 0===Ce||!Ce.prioritizeGamepadWarning),this.isGameLanguageSupportEnabled=!!T.isGameLanguageSupportEnabled}static onIsInLibraryChanged(){return this.isInLibraryChangedSubject.asObservable()}static onIsInFavoriteChanged(){return this.isInFavoriteChangedSubject.asObservable()}get data(){return this.metaData}get id(){return this.metaData.id}get visibility(){return this.visible}set visibility(v){this.visible=v}get appStore(){return this.getAppStoreForVariant(this.selectedPlatformVariant)}getAppStoreForVariant(v){return(null==v?void 0:v.appStore)||this.metaData.appStore}get appStoreInfo(){return this.getAppStoreInfoForVariant(this.selectedPlatformVariant)}getAppStoreInfoForVariant(v){return n.X9O.getStoreInfoForAppstore(this.getAppStoreForVariant(v))}get streetDate(){var v,h;return(null===(v=this.selectedPlatformVariant)||void 0===v?void 0:v.streetDate)||(null===(h=this.metaData)||void 0===h||null===(h=h.computedValues)||void 0===h?void 0:h.earliestStreetDate)}get digitalStoresInfo(){return this.fetchMultiPlatformDigitalStores()}get combinedLabel(){return this.digitalStoresInfo.map(v=>{var h;return(null==v?void 0:v.label)!==n.$fW?null==v?void 0:v.label:null===(h=this.metaData)||void 0===h?void 0:h.publisherName}).filter(Boolean).join(", ")}get contentRatings(){return this.metaData.contentRatings}get developerName(){var v;return(null===(v=this.selectedPlatformVariant)||void 0===v?void 0:v.developerName)||this.metaData.developerName}get displaysOwnRatingDuringGameplay(){var v;return(null===(v=this.selectedPlatformVariant)||void 0===v?void 0:v.displaysOwnRatingDuringGameplay)||this.metaData.displaysOwnRatingDuringGameplay}get genres(){const v=[];var W,h;return(0,_.isEmpty)(n.X9O.genreDefinitionsMap)?null!==(W=this.metaData)&&void 0!==W&&W.genres?this.metaData.genres:[]:(null===(h=this.metaData)||void 0===h||null===(h=h.genres)||void 0===h||h.forEach(ne=>{n.X9O.genreDefinitionsMap.has(ne)&&v.push(n.X9O.genreDefinitionsMap.get(ne))}),v)}get images(){return this.metaData.images}get boxArtImage(){var v,h,W;return null!==(v=null===(h=this._activeCampaignInfo)||void 0===h||null===(h=h.images)||void 0===h?void 0:h.GAME_BOX_ART)&&void 0!==v?v:null===(W=this.metaData)||void 0===W||null===(W=W.images)||void 0===W?void 0:W.GAME_BOX_ART}get tvBannerImage(){var v,h,W;return null!==(v=null===(h=this._activeCampaignInfo)||void 0===h||null===(h=h.images)||void 0===h?void 0:h.TV_BANNER)&&void 0!==v?v:null===(W=this.metaData)||void 0===W||null===(W=W.images)||void 0===W?void 0:W.TV_BANNER}get heroImage(){var v,h,W;return null!==(v=null===(h=this._activeCampaignInfo)||void 0===h||null===(h=h.images)||void 0===h?void 0:h.HERO_IMAGE)&&void 0!==v?v:null===(W=this.metaData)||void 0===W||null===(W=W.images)||void 0===W?void 0:W.HERO_IMAGE}get logoImage(){var v,h,W;return null!==(v=null===(h=this._activeCampaignInfo)||void 0===h||null===(h=h.images)||void 0===h?void 0:h.GAME_LOGO)&&void 0!==v?v:null===(W=this.metaData)||void 0===W||null===(W=W.images)||void 0===W?void 0:W.GAME_LOGO}get marqueeHeroImage(){var v,h,W;return null!==(v=null===(h=this._activeCampaignInfo)||void 0===h||null===(h=h.images)||void 0===h?void 0:h.MARQUEE_HERO_IMAGE)&&void 0!==v?v:null===(W=this.metaData)||void 0===W||null===(W=W.images)||void 0===W?void 0:W.MARQUEE_HERO_IMAGE}get longDescription(){return this.metaData.longDescription}get maxOnlinePlayers(){return this.metaData.maxOnlinePlayers}get maxLocalPlayers(){return this.metaData.maxLocalPlayers}get publisherName(){var v;return(null===(v=this.selectedPlatformVariant)||void 0===v?void 0:v.publisherName)||this.metaData.publisherName||""}get campaignIds(){var v,h;return null!==(v=null===(h=this.metaData)||void 0===h||null===(h=h.itemMetadata)||void 0===h?void 0:h.campaignIds)&&void 0!==v?v:[]}get activeCampaignInfo(){return this._activeCampaignInfo}get shortName(){return this.getShortNameForVariant(this.selectedPlatformVariant)}getShortNameForVariant(v){return(null==v?void 0:v.shortName)||this.metaData.id}get telemetryId(){var v,h;return null!==(v=null===(h=this.selectedPlatformVariant)||void 0===h?void 0:h.id)&&void 0!==v?v:this.metaData.id}get sortName(){return this.metaData.sortName}get supportedControls(){return this.getSupportedControlsForVariant(this.selectedPlatformVariant)}getSupportedControlsForVariant(v){var h;return null!==(h=null==v?void 0:v.supportedControls)&&void 0!==h?h:this.metaData.supportedControls}get shortDescription(){return this.metaData.shortDescription}get title(){return this.metaData.title}get itemType(){return J.dS.GameItem}get type(){return this.metaData.type}get fencedStatus(){return this.getFencedStatusForVariant(this.selectedPlatformVariant)}getFencedStatusForVariant(v){var h;return(null==v||null===(h=v.gfn)||void 0===h?void 0:h.status)||n.jv9.UNAVAILABLE}get variants(){return this.metaData.variants}getAppStoreVariant(v){return this.metaData.variants.find(h=>h.appStore===v)}get selectedPlatformVariant(){var v;return null!==(v=this.getResumablePlatformVariant())&&void 0!==v?v:this._selectedPlatformVariant}set selectedPlatformVariant(v){const h=this.getResumablePlatformVariant();h&&h.id!==v.id&&this.logger.warn("Selected platform variant will not be user-visible while another variant is active"),this._selectedPlatformVariant=v}get selectedPlatformVariantOnServer(){var v;return null!==(v=this.metaData.variants.find(h=>{var W;return null==h||null===(W=h.gfn)||void 0===W||null===(W=W.library)||void 0===W?void 0:W.selected}))&&void 0!==v?v:null}get isInLibrary(){const v=(0,n.A$m)(this.selectedPlatformVariant);return v===n.E8c.OwnedManual||v===n.E8c.OwnedPlatformSync}get isInputControlsSupported(){return this.isInputControlsSupportedForVariant(this.selectedPlatformVariant)}isInputControlsSupportedForVariant(v){return(0,n.VCb)(this.getSupportedControlsForVariant(v),this.clientSupportsKBMouseGames)}get selectedPlatformVariantGameType(){return this.getGameTypeForVariant(this.selectedPlatformVariant)}getGameTypeForVariant(v){var h,W;const ne=null!==(h=null==v?void 0:v.paymentModels)&&void 0!==h?h:null===(W=this.metaData)||void 0===W||null===(W=W.computedValues)||void 0===W?void 0:W.paymentModels;return null!=ne&&ne.find(ee=>(null==ee?void 0:ee.__typename)===n.yNE.DemoPaymentModel)?n.ZFx.Demo:null!=ne&&ne.find(ee=>(null==ee?void 0:ee.__typename)===n.yNE.FreeToPlayPaymentModel)?n.ZFx.Free:n.ZFx.Paid}get favorited(){var v;return(null===(v=this.metaData)||void 0===v||null===(v=v.library)||void 0===v?void 0:v.favorited)||!1}get isGamePlayable(){var v;return(null===(v=this.metaData)||void 0===v||null===(v=v.gfn)||void 0===v?void 0:v.playabilityState)===n.DSb.Playable}get isGameLaunchable(){var v,h;return(null===(v=this.metaData)||void 0===v||null===(v=v.gfn)||void 0===v?void 0:v.playabilityState)===n.DSb.Playable||(null===(h=this.metaData)||void 0===h||null===(h=h.gfn)||void 0===h?void 0:h.playabilityState)===n.DSb.UnplayableDueToTimeCapLimit}get isGameUnplayableDueToTimeCapLimit(){var v;return(null===(v=this.metaData)||void 0===v||null===(v=v.gfn)||void 0===v?void 0:v.playabilityState)===n.DSb.UnplayableDueToTimeCapLimit}get isGameUnplayableDueToUpgrade(){var v;return(null===(v=this.metaData)||void 0===v||null===(v=v.gfn)||void 0===v?void 0:v.playabilityState)===n.DSb.UnplayableDueToUpgrade}get minimumMembershipTier(){var v;return null===(v=this.metaData)||void 0===v||null===(v=v.gfn)||void 0===v?void 0:v.minimumMembershipTierLabel}updateFavoritedStatus(v,h){var W;this.logger.info("Updating favorited status for game id: ",v),null!==(W=this.metaData)&&void 0!==W&&W.library||(this.metaData.library={}),this.metaData.library.favorited=h}updateFencedStatus(v,h){this.metaData.variants.map(W=>{W.id===v&&(W.gfn.status=h)}),this.metaDataUpdated.next(),this.logger.info(`Update patching info for id: ${this.metaData.id} cmsId:[${v}] as ${h}`)}get isResumable(){return!!this.getResumablePlatformVariant()}get isResumable$(){return this.resumeUiService.resumableStateChanged$.pipe((0,r.Z)(0),(0,A.T)(v=>this.isResumable),(0,l.F)())}quit(){var v;return this.resumeUiService.quitGame(+(null===(v=this.selectedPlatformVariant)||void 0===v?void 0:v.id))}getResumablePlatformVariant(){var v;return null===(v=this.variants)||void 0===v?void 0:v.find(h=>this.resumeUiService.isResumable(+h.id))}updateCampaignData(v,h){this._activeCampaignInfo=h?v:null,this.campaignDataUpdated.next()}get promoTag(){var v;return(null===(v=this._activeCampaignInfo)||void 0===v||null===(v=v.promoText)||void 0===v?void 0:v.tag)||null}get promoSummary(){var v;return(null===(v=this._activeCampaignInfo)||void 0===v||null===(v=v.promoText)||void 0===v?void 0:v.summary)||null}get activeCampaignId(){var v;return(null===(v=this._activeCampaignInfo)||void 0===v?void 0:v.id)||null}get promoAction(){var v;return(null===(v=this._activeCampaignInfo)||void 0===v?void 0:v.action)||null}get threeQuarterSheetOption(){var v;return null!==(v=this.appConfig)&&void 0!==v&&null!==(v=v.featureEnablement)&&void 0!==v&&v.tvMode?{backgroundImageUrl:this.imageFormatService.formatImageServiceUrl(this.heroImage,{w:n.$0t}),title:{text:this.title,translated:!0}}:void 0}get supportedLanguages(){return this.isGameLanguageSupportEnabled&&!this._supportedLanguages&&(this._supportedLanguages=this.getGfnSupportedLanguagesData()),this._supportedLanguages}updateData(v){var h,W,ne;const ee=[];this.metaData.variants.forEach(w=>{ee.push({id:w.id})}),v.variants.forEach(w=>{const F=ee.findIndex(Z=>Z.id===w.id);-1!==F?ee[F]=w:ee.push(w)}),v.variants=ee,null!==(h=this.metaData)&&void 0!==h&&h.itemMetadata&&(this.metaData.itemMetadata.campaignIds=[]);const b=this.metaData.variants&&(!this._selectedPlatformVariant||(null===(W=this.selectedPlatformVariantOnServer)||void 0===W?void 0:W.id)===(null===(ne=this._selectedPlatformVariant)||void 0===ne?void 0:ne.id));this._supportedLanguages=null,this.metaData.variants.forEach(w=>{var F,Z;null!==(F=w.gfn)&&void 0!==F&&F.supportedLanguages&&null!==(Z=v.variants)&&void 0!==Z&&null!==(Z=Z.find(se=>se.id===w.id))&&void 0!==Z&&null!==(Z=Z.gfn)&&void 0!==Z&&Z.supportedLanguages&&(w.gfn.supportedLanguages=void 0)}),this.metaData=(0,_.merge)(this.metaData,v),b&&this.setPlatformPreference(),this.metaDataUpdated.next()}launch(v,h){if(this.gameLaunch$)return this.logger.info(`Launch game already in progress, returning: ${this.metaData.title} [${this.metaData.id}]`),this.gameLaunch$;this.logger.info(`Launch game ${this.metaData.title} [${this.metaData.id}]`);let W=Date.now(),ne=!1;const ee=this.selectedPlatformVariant,b=new E.B7;return this.dialogService.threeQuarterSheetBackgroundData=this.threeQuarterSheetOption,this.gameLaunch$=this.checkNetworkStatus().pipe((0,I.ZZ)(w=>this.pwaGuardCheck()),(0,I.ZZ)(w=>this.unsupportedBrowserCheck()),(0,I.ZZ)(w=>this.checkAuthentication(v)),(0,S.M)(w=>{ne=ne||w.dialogShown}),(0,I.ZZ)(w=>this.entitlementCheck(h)),(0,L.s)(1),(0,I.ZZ)(w=>this.checkFencedStatus(ee)),(0,I.ZZ)(w=>{var F;const se=this.appConfig.pathToPurchase.isEnabled?ee.storeUrl:void 0,Y=this.getAppStoreInfoForVariant(ee),q={accountLinkingStoreLabel:null==Y||null===(F=Y.accountLinkingMetadata)||void 0===F?void 0:F.label,appStore:this.getAppStoreForVariant(ee),appStoreLabel:null==Y?void 0:Y.label,storeUrlClickedCallback:()=>{},storeUrl:se,variant:ee};return this.checkAndOpenAccountLinkingDialog(q).pipe((0,I.ZZ)(T=>T.returnValue?(0,B.of)(T):(0,O.$)("User canceled game launch because account not linked.")))}),(0,I.ZZ)(w=>(ne=ne||w.dialogShown,this.checkForRequiredInput(ee))),(0,I.ZZ)(w=>(ne=ne||w.dialogShown,this.checkLowTimeRemaining(v,h))),(0,A.T)(w=>(ne=ne||w.dialogShown,this.telemetryUtilService.sendClickEvent(n.EBD.LaunchGame,ee.id,h,!0,this.activeCampaignId,(0,n.A$m)(ee)),this.gameShareUrlService.updateShareUrlInfo(this.metaData.id,this.metaData.images.TV_BANNER))),(0,I.ZZ)(w=>(W=ne?Date.now():W,this.launchVariantGame(ee,W))),(0,S.M)(w=>{b.next(w)}),(0,s.W)(w=>{var F;const Z=`Error while launching ${null===(F=this.metaData)||void 0===F?void 0:F.title} cmsID: ${ee.id}`;return w.isIntentionalAbort?this.logger.info(Z,w):this.logger.error(Z,w),b.next(!1),(0,B.of)(w)}),(0,L.s)(1),(0,M.j)(()=>{this.gameLaunch$=null,this.dialogService.threeQuarterSheetBackgroundData=void 0,b.complete()}),(0,u.t)(1)),this.gameLaunch$.subscribe(),b.asObservable()}checkAndOpenAccountLinkingDialog(v){return this.ownershipSyncService.getAccountLinkingStateForGame(v.appStore,v.variant.id).pipe((0,I.ZZ)(h=>h.isEnabled?this.ownershipSyncService.openAccountLinkingDialog(v,h.isRequired,!0,!1):(0,B.of)({returnValue:!0,dialogShown:!1})))}checkFencedStatus(v){const h=this.getFencedStatusForVariant(v);return h===n.jv9.SERVER_MAINTENANCE||h===n.jv9.PATCHING?(this.dialogService.openFencedStatusErrorDialog(h),(0,O.$)(`Game is under ${h}`)):(0,B.of)(!0)}returnTrueWithoutDialog(){return(0,B.of)(this.getLaunchStepResult(!0,!1))}showGamepadWarning(){return this.dialogService.openGamepadRequiredDialog().pipe((0,I.ZZ)(v=>v?(0,B.of)(this.getLaunchStepResult(!0,!0)):(0,O.$)({errorString:"User canceled the launch from requires a gamepad dialog.",isIntentionalAbort:!0})))}showKeyboardMouseWarning(){return this.dialogService.openKeyboardMouseRequiredDialog().pipe((0,I.ZZ)(v=>v?(0,B.of)(this.getLaunchStepResult(!0,!0)):(0,O.$)({errorString:"User canceled the launch from a keyboard/mouse required dialog.",isIntentionalAbort:!0})))}isKeyboardMouseConnected(){return e.zk.isAndroidPlatform()?this.bridgeService.executeCommand(D.Ts.Common.Connectionstate.KeyboardAndMouseConnected):(0,B.of)(!0)}checkForRequiredInput(v){const h=this.getSupportedControlsForVariant(v);return this.getLaunchMode(v).pipe((0,x.n)(W=>{if(W===n.NGk.TouchFriendly)return this.returnTrueWithoutDialog();{const ne=(0,n.$wn)(h,this.clientSupportsKBMouseGames),ee=(0,n._ri)(h)||(0,n.xYq)(h),b=ne?this.isKeyboardMouseConnected():(0,B.of)(!1),w=ee?this.gamepadService.isGamepadConnected$:(0,B.of)(!1);return(0,P.zV)([b,w]).pipe((0,x.n)(([F,Z])=>{let se=this.returnTrueWithoutDialog();return ne&&ee?!F&&!Z&&(se=this.prioritizeGamepadWarning?this.showGamepadWarning():this.showKeyboardMouseWarning()):ne&&!F?se=this.showKeyboardMouseWarning():ee&&!Z&&(se=this.showGamepadWarning()),se}))}}))}updateShortcutLaunchMetaData(){this.isMultiPlatformGame()&&this.browseUxService.readLaunchMetaData(this.id).pipe((0,I.ZZ)(v=>{if(null!=v&&v.selectedVariantCmsId){const h={selectedVariantCmsId:this.selectedPlatformVariant.id};return this.logger.info("Writing new plaform selection data in shared storage"),this.browseUxService.writeLaunchMetaData(this.id,h)}return(0,B.of)(null)}),(0,L.s)(1)).subscribe(()=>{},v=>{this.logger.error("Error writing launchMetaData in shared storage",v)})}checkLowTimeRemaining(v,h){return this.ecomService.checkIfNearingExpiry().pipe((0,L.s)(1),(0,I.ZZ)(W=>W?this.dialogService.showTimeAlertDialog(v,h,this.isGameUnplayableDueToTimeCapLimit).pipe((0,I.ZZ)(ne=>ne?(0,B.of)(this.getLaunchStepResult(!0,!0)):(0,O.$)({errorString:"User canceled the launch low playtime dialog.",isIntentionalAbort:!0}))):this.returnTrueWithoutDialog()))}getLaunchMode(v){return this.appConfig.featureEnablement.preferGamepadFriendlyAppLaunchMode?(0,B.of)(n.NGk.GamepadFriendly):this.systemInfoService.getSystemInfo([e.Lu.CurrentUiMode]).pipe((0,A.T)(h=>h.CurrentUiMode===D.Or.Common.Systeminfo.UiModeEnum.Mobile?(0,n.yd9)(this.getSupportedControlsForVariant(v),!!this.clientSupportsTouchGames)?n.NGk.TouchFriendly:n.NGk.GamepadFriendly:n.NGk.Default))}launchVariantGame(v,h){const W=parseInt(v.id,10),ne=this.getShortNameForVariant(v);return this.launchService.setGameLaunchData(h,ne),this.hasFullMetaData()?this.lcarsService.setMetadataForCmsId(W,this.metaData):this.fetchMissingFields().subscribe(ee=>{ee&&this.lcarsService.setMetadataForCmsId(W,this.metaData)},k.l),(0,P.zV)([this.ownershipSyncService.isAccountLinkEnabledForGame(this.getAppStoreForVariant(v),W),this.getLaunchMode(v)]).pipe((0,I.ZZ)(([ee,b])=>this.launchService.launchStreamer(W,ne,b,h,ee,void 0,void 0,void 0,void 0,this.metaData.title)),(0,A.T)(ee=>(this.logger.info("Launched status - ",ee),this.telemetryUtilService.sendUserSessionEvent(n.ay7.LaunchGame,ee?n.fbu.Success:n.fbu.Failure,h),ee)),(0,s.W)(ee=>(this.logger.error("Launch failed:",ee),this.telemetryUtilService.sendUserSessionEvent(n.ay7.LaunchGame,n.fbu.Failure,h,ee),(0,O.$)(ee))))}setPlatformPreference(){this._selectedPlatformVariant=this.isMultiPlatformGame()?this.metaData.variants.find(v=>{var h;return null==v||null===(h=v.gfn)||void 0===h||null===(h=h.library)||void 0===h?void 0:h.selected}):this.metaData.variants[0]}getStoresLabel(v){const h=v.appStoreInfo.label;return h===n.$fW?v.publisherName:h}isVariantOwnedThroughPlatformSync(){const v=this.ownershipSyncService.isAccountSyncedOrLinkComplete(this.selectedPlatformVariant.appStore),h=(0,n.A$m)(this.selectedPlatformVariant)===n.E8c.OwnedPlatformSync;return v&&h}quitActiveSessionsAndProceed(){var v,h;const W=null!==(v=null===(h=this.variants)||void 0===h?void 0:h.map(ne=>+ne.id))&&void 0!==v?v:[];return this.resumeUiService.requestToQuitActiveSessionsIfNeeded(W,this.title).pipe((0,p.$)(),(0,s.W)(ne=>(0,O.$)(ne instanceof U.G?N:ne)))}addToLibrary(v,h){if(this.addToLibrary$)return this.logger.info(`Add game to library for ${this.metaData.title} [${this.metaData.id}], already in progress, returning`),this.addToLibrary$;this.logger.info(`Add game to library for ${this.metaData.title} [${this.metaData.id}]`);const W=Date.now(),ne=this.selectedPlatformVariant;let ee=!1;const b=new E.B7;this.dialogService.threeQuarterSheetBackgroundData=this.threeQuarterSheetOption;let w,F="";const Z=()=>{var se;this.dialogService.openGetGameFullPageDialog({gameName:this.title,variants:[ne],heroImageURL:null===(se=this.threeQuarterSheetOption)||void 0===se?void 0:se.backgroundImageUrl,isInputSupported:this.isInputControlsSupportedForVariant(ne),selectedPlatformVariant:ne}).subscribe()};return this.addToLibrary$=this.checkNetworkStatus().pipe((0,I.ZZ)(se=>this.showBuyProtectionDialogAndContinue()),(0,I.ZZ)(se=>this.checkAuthentication(v)),(0,I.ZZ)(se=>{var Y;if(this.getGameTypeForVariant(ne)===n.ZFx.Demo)return(0,B.of)({checkIfGamesAutoSynced:!1});const q=this.appConfig.pathToPurchase.isEnabled,T=this.getAppStoreInfoForVariant(ne),H=q?ne.storeUrl:void 0,y={accountLinkingStoreLabel:null==T||null===(Y=T.accountLinkingMetadata)||void 0===Y?void 0:Y.label,appStore:this.getAppStoreForVariant(ne),appStoreLabel:null==T?void 0:T.label,storeUrlClickedCallback:H?Z:void 0,storeUrl:H,variant:ne};return this.ownershipSyncService.checkForConnection(y)}),(0,I.ZZ)(se=>{var Y;return ee=se.checkIfGamesAutoSynced,se.syncSupported&&ee&&(null===(Y=ne.gfn)||void 0===Y||null===(Y=Y.library)||void 0===Y?void 0:Y.status)===n.E8c.NotOwned?this.fetchMissingFields().pipe((0,i.u)(se)):(0,B.of)(se)}),(0,I.ZZ)(se=>{var Y;const q=se.syncSupported;return ee=se.checkIfGamesAutoSynced,w=se.markAsOwnedTrigger,q&&ee&&(null===(Y=ne.gfn)||void 0===Y||null===(Y=Y.library)||void 0===Y?void 0:Y.status)===n.E8c.NotOwned?(0,O.$)("GAME_NOT_FOUND"):q&&ee?(F="GAME_FOUND_IN_STORE_LIBRARY",(0,B.of)(!1)):(F=q?"STORE_SYNC_NOT_ATTEMPTED":"STORE_SYNC_NOT_APPLICABLE",(0,B.of)(!0))}),(0,I.ZZ)(se=>{var Y;return se?(this.refreshUiService.startNotificationTimerRace(n.MPU.LIBRARY_CHANGE,this.appConfig.lcars.libraryChangeNotificationWaitTime),this.addVariantToLibrary(ne,W)):null!==(Y=ne.gfn)&&void 0!==Y&&null!==(Y=Y.library)&&void 0!==Y&&Y.selected?(0,B.of)(!0):this.lcarsService.selectOwnedVariant(ne.id)}),(0,S.M)(se=>{this.telemetryUtilService.sendClickEvent(n.EBD.AddGameToLibrary,ne.id,`${h}/${w}`,!0,this.activeCampaignId,F),ee||(this.fetchMissingFields().subscribe(),this.updateLibraryStatus(ne.id,n.E8c.OwnedManual),z.isInLibraryChangedSubject.next(this)),b.next(!0)}),(0,s.W)(se=>(this.logger.error(`Error while adding game to library for ${this.metaData.title} cmsID: ${ne.id}`,se),this.telemetryUtilService.sendClickEvent(n.EBD.AddGameToLibrary,ne.id,`${h}/${w}`,!0,this.activeCampaignId,JSON.stringify(se)),b.next(!1),(0,B.of)(se))),(0,L.s)(1),(0,M.j)(()=>{this.addToLibrary$=null,this.dialogService.threeQuarterSheetBackgroundData=void 0,b.complete()}),(0,u.t)(1)),this.addToLibrary$.subscribe(),b.asObservable()}removeFromLibrary(v,h){if(this.removefromLibrary$)return this.logger.info(`Remove desktop shortcut already in progress for ${this.metaData.title} [${this.metaData.id}], returning`),this.removefromLibrary$;this.logger.info(`Remove game from library for ${this.metaData.title} [${this.metaData.id}]`);const W=Date.now(),ne=this.selectedPlatformVariant,ee=ne.id;this.telemetryUtilService.sendClickEvent(n.EBD.UninstallGame,ee,h,!0,this.activeCampaignId);const b=new E.B7;return this.dialogService.threeQuarterSheetBackgroundData=this.threeQuarterSheetOption,this.removefromLibrary$=this.checkNetworkStatus().pipe((0,I.ZZ)(w=>this.quitActiveSessionsAndProceed()),(0,I.ZZ)(w=>(this.refreshUiService.startNotificationTimerRace(n.MPU.LIBRARY_CHANGE,this.appConfig.lcars.libraryChangeNotificationWaitTime),this.removeVariantFromLibrary(ne,W))),(0,I.ZZ)(w=>this.lcarsService.getAppdata(this.metaData.id,{isCmsId:!1,includeLibraryFields:!0},!0)),(0,S.M)(w=>{this.updateData(w[0]),this.updateLibraryStatus(ee,n.E8c.NotOwned),z.isInLibraryChangedSubject.next(this),b.next(!0)}),(0,s.W)(w=>(this.logger.error(`Error while removing game from library for ${this.metaData.title} cmsID: ${ee}`,w),w!==N&&(this.updateLibraryStatus(ee,n.E8c.NotOwned),this.isMultiPlatformGame()&&(this.selectedPlatformVariant=null),z.isInLibraryChangedSubject.next(this)),b.next(!1),(0,B.of)(w))),(0,L.s)(1),(0,M.j)(()=>{this.removefromLibrary$=null,this.dialogService.threeQuarterSheetBackgroundData=void 0,this.browseUxService.deleteLaunchMetaData(this.id).subscribe(k.l,k.l),b.complete()}),(0,u.t)(1)),this.removefromLibrary$.subscribe(),b.asObservable()}addDesktopShortCut(v,h,W){if(this.addDesktopShortcut$)return this.logger.info(`Add desktop shortcut already in progress for for parentGameId:${this.metaData.id}, returning`),this.addDesktopShortcut$;const ne=this.selectedPlatformVariant;this.logger.info(`Adding Desktop Shortcut for parentGameId:${this.metaData.id}, cmsId: ${ne.id}`);const ee=new E.B7;return this.addDesktopShortcut$=this.checkAuthentication(v).pipe((0,I.ZZ)(b=>{const w={cmsId:ne.id,parentGameId:this.isMultiPlatformGame()?this.metaData.id:"",title:this.metaData.title,shortName:this.getShortNameForVariant(ne),keyArtUrl:this.metaData.images.KEY_ART,appStore:this.getAppStoreForVariant(ne)};return this.launchService.addDesktopShortcut(w,h,W)}),(0,A.T)(b=>b.installed),(0,S.M)(b=>{ee.next(!0)}),(0,s.W)(b=>(this.logger.error("error while adding desktop shortcut platform",b),ee.next(!1),(0,B.of)(b))),(0,L.s)(1),(0,M.j)(()=>{this.addDesktopShortcut$=null,ee.complete()}),(0,u.t)(1)),this.addDesktopShortcut$.subscribe(),ee.asObservable()}addToFavorite(v,h){if(this.addToFavorite$)return this.logger.info(`Add game to favorites for ${this.metaData.title} [${this.metaData.id}], already in progress, returning`),this.addToFavorite$;this.logger.info(`Add game to favorites for ${this.metaData.title} [${this.metaData.id}]`);const W=new E.B7;return this.dialogService.threeQuarterSheetBackgroundData=this.threeQuarterSheetOption,this.addToFavorite$=this.checkNetworkStatus().pipe((0,I.ZZ)(ne=>(this.refreshUiService.startNotificationTimerRace(n.MPU.FAVORITES_CHANGE,this.appConfig.lcars.favoriteChangeNotificationWaitTime),this.lcarsService.addFavoriteApp(this.metaData.id))),(0,S.M)(ne=>{this.fetchMissingFields().subscribe(),this.updateFavoritedStatus(this.metaData.id,!0),this.telemetryUtilService.sendClickEvent(n.EBD.AddToFavorite,this.id,h,!0,this.activeCampaignId),z.isInFavoriteChangedSubject.next(this),W.next(!0)}),(0,s.W)(ne=>(this.logger.error(`Error while adding game to favorites for ${this.metaData.title} id: ${this.metaData.id}`,ne),this.updateFavoritedStatus(this.metaData.id,!1),W.next(!1),(0,B.of)(ne))),(0,L.s)(1),(0,M.j)(()=>{this.addToFavorite$=null,this.dialogService.threeQuarterSheetBackgroundData=void 0,W.complete()}),(0,u.t)(1)),this.addToFavorite$.subscribe(),W.asObservable()}removeFromFavorite(v,h){if(this.removefromFavorite$)return this.logger.info(`Remove Favorite already in progress for ${this.metaData.title} [${this.metaData.id}], returning`),this.removefromFavorite$;this.logger.info(`Remove game from favorites list for ${this.metaData.title} [${this.metaData.id}]`),this.telemetryUtilService.sendClickEvent(n.EBD.RemoveFromFavorite,this.id,h,!0,this.activeCampaignId);const W=new E.B7;return this.dialogService.threeQuarterSheetBackgroundData=this.threeQuarterSheetOption,this.removefromFavorite$=this.checkNetworkStatus().pipe((0,I.ZZ)(ne=>(this.refreshUiService.startNotificationTimerRace(n.MPU.FAVORITES_CHANGE,this.appConfig.lcars.favoriteChangeNotificationWaitTime),this.lcarsService.removeFavoriteApp(this.metaData.id))),(0,S.M)(ne=>{this.updateFavoritedStatus(this.metaData.id,!1),z.isInFavoriteChangedSubject.next(this),W.next(!0)}),(0,s.W)(ne=>(this.logger.error(`Error while removing game from favorites list for ${this.metaData.title} id : ${this.metaData.id}`,ne),this.updateFavoritedStatus(this.metaData.id,!0),W.next(!1),(0,B.of)(ne))),(0,L.s)(1),(0,M.j)(()=>{this.removefromFavorite$=null,this.dialogService.threeQuarterSheetBackgroundData=void 0,W.complete()}),(0,u.t)(1)),this.removefromFavorite$.subscribe(),W.asObservable()}isMultiPlatformGame(){var v;return(null===(v=this.metaData.variants)||void 0===v?void 0:v.length)>1}fetchMultiPlatformDigitalStores(){return[...this.metaData.variants.map(v=>v.appStoreInfo)]}fetchMultiPlatformCMSIds(){return[...this.metaData.variants.map(v=>v.id)]}updateLibraryStatus(v,h){var W;const ne=this.metaData.variants.findIndex(ee=>ee.id===v);null!==(W=this.metaData.variants[ne].gfn)&&void 0!==W&&W.library||(this.metaData.variants[ne].gfn.library={}),this.metaData.variants[ne].gfn.library.status=h}resetLibraryStatusForAllVariants(){var v;null===(v=this.metaData.variants)||void 0===v||v.forEach(h=>{var W;null!==(W=h.gfn)&&void 0!==W&&W.library&&(h.gfn.library.status=n.E8c.NotOwned)}),this.metaDataUpdated.next()}hasFullMetaData(){return this.metaData.hasOwnProperty("developerName")}fetchMissingFields(){return this.hasFullMetaData()&&this.updatedPostLibraryRefresh?(0,B.of)(!1):this.lcarsService.getAppdata(this.metaData.id,{includeLibraryFields:!0},!this.updatedPostLibraryRefresh).pipe((0,I.ZZ)(h=>(this.updatedPostLibraryRefresh=!0,this.updateData(h[0]),(0,B.of)(!0))),(0,s.W)(h=>(this.logger.error(`Error encountered while fetching app data : ${h}`),(0,B.of)(!1))))}checkNetworkStatus(){return this.networkStatusService.isOnline?this.checkMobileDataUsage?this.systemInfoService.getSystemInfo([e.Lu.Network]).pipe((0,x.n)(v=>{var h;return(null===(h=v.Network)||void 0===h?void 0:h.NetworkType)===e.Sd.Mobile?this.settingsService.getSettingsData().pipe((0,I.ZZ)(W=>W.playWithMobileNetwork?(0,B.of)(!0):this.dialogService.openMobileDataWarningDialog()),(0,I.ZZ)(W=>W?(this.settingsService.setPlayWithMobileNetworkEnabled(!0),(0,B.of)(!0)):(0,O.$)("User canceled game launch."))):(this.logger.info("User is Online"),(0,B.of)(!0))})):(this.logger.info("User is Online"),(0,B.of)(!0)):(this.dialogService.openConnectionErrorDialog(),(0,O.$)("User is offline"))}showBuyProtectionDialogAndContinue(){return this.isGameUnplayableDueToUpgrade&&this.minimumMembershipTier?this.dialogService.showBuyProtectionDialog(this.minimumMembershipTier,this.viewAccountClicked.bind(this),this.upgradeAccountClicked.bind(this),!1).pipe((0,I.ZZ)(v=>v?(0,B.of)(!0):(0,O.$)("User cancelled from buy protection dialog"))):(0,B.of)(!0)}pwaGuardCheck(){return e.zk.isNativeLikePlatform()?this.returnTrueWithoutDialog():this.unsupportedBrowserService.shouldDisplayPWAGuidance$().pipe((0,L.s)(1),(0,I.ZZ)(v=>v?(this.routerService.navigate([n.V6C.PwaWall],{skipLocationChange:!1}),(0,O.$)("Gameplay is only allowed within PWA mode in this browser")):this.returnTrueWithoutDialog()))}unsupportedBrowserCheck(){return e.zk.isNativeLikePlatform()?this.returnTrueWithoutDialog():this.idmService.accountStatusChanged.pipe((0,L.s)(1),(0,I.ZZ)(v=>v.isAuthenticated?(0,B.of)({unsupportedState:n.B_w.None}):this.unsupportedBrowserService.getUnsupportedBrowserState$(!0)),(0,I.ZZ)(v=>this.unsupportedBrowserService.isStreamingUnsupported(v)?(this.dialogService.openUnsupportedBrowserDialog(v),(0,O.$)("Gameplay is not allowed on unsupported system")):this.unsupportedBrowserService.shouldShowPermissionUnsupportedWarning$()),(0,I.ZZ)(v=>v?this.unsupportedBrowserService.openPermissionWebAPIUnsupportedDialog():(0,B.of)(!0)),(0,I.ZZ)(v=>v?this.returnTrueWithoutDialog():(0,O.$)({errorString:"User canceled the launch from permission warning dialog.",isIntentionalAbort:!0})))}checkAuthentication(v){return this.idmService.accountStatusChanged.pipe((0,L.s)(1),(0,I.ZZ)(h=>h.isAuthenticated?(this.logger.info("User is LoggedIn"),this.returnTrueWithoutDialog()):this.gfnSdkService.getAuthType().pipe((0,I.ZZ)(W=>{if(W===a.hT.JWT)return this.logger.info("Skipping login dialog because this is an sdk session with provided credentials, but an anonymous user"),(0,B.of)(this.getLaunchStepResult(!0,!0));this.logger.info("User not logged in, opening alert dialog");const ne=this.telemetryUtilService.getJoinTodayAlertDialogHierarchy(v,this.id);return this.dialogService.openJoinTodayAlertDialog(v,ne).pipe((0,I.ZZ)(ee=>ee===n.oaC.Login?this.idmLoginService.login(n.MCB.ScreenAccountMenu).pipe((0,I.ZZ)(b=>b?(this.logger.info("Login successful"),(0,B.of)(this.getLaunchStepResult(b,!0))):(0,O.$)("Login was not successful."))):(0,O.$)("Login cancelled")))}))))}getLaunchStepResult(v,h){return{returnValue:v,dialogShown:h}}entitlementCheck(v){return this.ecomService.getUserMembership().pipe((0,o.p)(h=>h.membershipStatus!==n.OON.LoggedOut&&h.membershipStatus!==n.OON.UnKnown),(0,L.s)(1),(0,I.ZZ)(h=>h.eComFeatureEnabled&&h.membershipStatus===n.OON.UnEntitled?(this.ecomService.openJoinNowDialog(v),(0,O.$)("User is not entitled")):(this.logger.info("User is entitled"),(0,B.of)(!0))))}addVariantToLibrary(v,h){const W=this.getShortNameForVariant(v),ne=v.id;return this.lcarsService.addOwnedVariant(v.id).pipe((0,I.ZZ)(ee=>(this.logger.info(`Successfully added ${W}[${ne}]`),this.telemetryUtilService.sendUserSessionEvent(n.ay7.AddGameToLibrary,n.fbu.Success,h),(0,B.of)(!0))),(0,s.W)(ee=>(this.telemetryUtilService.sendUserSessionEvent(n.ay7.AddGameToLibrary,n.fbu.Failure,h,ee),this.logger.error(`Error encountered while adding ${W}[${ne}] - ${ee}`),(0,B.of)(!0))))}removeVariantFromLibrary(v,h){const W=this.getShortNameForVariant(v),ne=v.id;return this.lcarsService.removeOwnedVariant(ne).pipe((0,A.T)(ee=>(this.logger.info(`Successfully uninstalled ${W}[${ne}]`),this.telemetryUtilService.sendUserSessionEvent(n.ay7.UninstallGame,n.fbu.Success,h),!0)),(0,s.W)(ee=>(this.logger.error(`Error encountered while removing ${W}[${ne}]`,ee),this.telemetryUtilService.sendUserSessionEvent(n.ay7.UninstallGame,n.fbu.Failure,h,ee),this.logger.error(`Error while removing ${W}[${ne}]`),(0,O.$)(ee))))}addPlatformPreference(v,h=!1){if(this.addPlatformPreference$)return this.logger.info(`Add Platform Preference already in progress for: ${v}, returning`),this.addPlatformPreference$;this.logger.info("Add Platform Preference:",v);const W=new E.B7;return this.addPlatformPreference$=this.quitActiveSessionsAndProceed().pipe((0,I.ZZ)(ne=>(this.selectedPlatformVariant=this.metaData.variants.find(ee=>ee.id===v),this.lcarsService.selectOwnedVariant(v))),(0,S.M)(ne=>{W.next(!0)}),(0,s.W)(ne=>(this.logger.error("Error saving the game variant preference."+ne),W.next(!1),(0,B.of)(ne))),(0,L.s)(1),(0,M.j)(()=>{this.addPlatformPreference$=null,W.complete()}),(0,u.t)(1)),this.addPlatformPreference$.subscribe(),W.asObservable()}fetchCurrentRating(){return this.contentRatings?this.ratingService.getCurrentRating(this.contentRatings.type,this.contentRatings.categoryKey).pipe((0,S.M)(v=>{(0,_.isNil)(v)||(this.ratingSystemName=v.ratingSystem,this.ratingCategoryTitle=v.rating.label)})):(0,B.of)(null)}getGfnLanguageDetails(v){var h,W,ne,ee,b,w;return{locale:v.language,label:(0,n.r21)(this.localeService,v.language),audio:null!==(h=null===(W=v.availableFeatures)||void 0===W?void 0:W.includes(n.kKh.Speech))&&void 0!==h&&h,interface:null!==(ne=null===(ee=v.availableFeatures)||void 0===ee?void 0:ee.includes(n.kKh.Ux))&&void 0!==ne&&ne,subtitles:null!==(b=null===(w=v.availableFeatures)||void 0===w?void 0:w.includes(n.kKh.Subtitles))&&void 0!==b&&b,setMethod:v.setMethod,isSetManually:v.setMethod===n.BGm.ManualByUser,isPartiallySupported:!1}}computeVariantLanguagesData(v){var h,W;const ne={id:v.id,languages:null!==(h=null===(W=v.gfn)||void 0===W||null===(W=W.supportedLanguages)||void 0===W?void 0:W.map(ee=>this.getGfnLanguageDetails(ee)))&&void 0!==h?h:[],isAnyLanguageSetManually:!1,error:J.SD.None};return 1===ne.languages.length&&ne.languages[0].setMethod===n.BGm.AutoByGfnBackend&&ne.languages[0].locale===n.WIN?ne.error=J.SD.ErrorDefaultMultiLanguage:0===ne.languages.length&&(ne.error=J.SD.ErrorEmptyLanguageList),ne.isAnyLanguageSetManually=ne.languages.some(ee=>ee.isSetManually),ne}computePartiallySupportedLanguages(v){v.languages.forEach(h=>{v.variantLanguages.forEach(W=>{const ne=W.languages.findIndex(ee=>ee.locale===h.locale);if(-1===ne)h.isPartiallySupported=!0;else{const ee=W.languages[ne];if(ee.audio===h.audio&&ee.interface===h.interface&&ee.subtitles===h.subtitles)return;h.audio=ee.audio||h.audio,h.interface=ee.interface||h.interface,h.subtitles=ee.subtitles||h.subtitles,h.isPartiallySupported=!0}}),v.isAnyVariantLanguagePartiallySupported=h.isPartiallySupported||v.isAnyVariantLanguagePartiallySupported})}getGfnSupportedLanguagesData(){var v,h;if(!this.isGameLanguageSupportEnabled)return null;const W={languages:[],variantLanguages:null!==(v=null===(h=this.variants)||void 0===h?void 0:h.map(b=>this.computeVariantLanguagesData(b)))&&void 0!==v?v:[],isAnyVariantLanguagePartiallySupported:!1,error:J.SD.None};let ne=!0,ee=!0;return W.variantLanguages.forEach(b=>{ee=ee&&b.error===J.SD.ErrorEmptyLanguageList,ne=ne&&b.error===J.SD.ErrorDefaultMultiLanguage}),ne?W.error=J.SD.ErrorDefaultMultiLanguage:ee&&(W.error=J.SD.ErrorEmptyLanguageList),W.error===J.SD.ErrorDefaultMultiLanguage||W.error===J.SD.ErrorEmptyLanguageList?(this.logger.info("Gfn Language error:",W.error),W):(W.variantLanguages.forEach(b=>{b.languages.forEach(w=>{-1===W.languages.findIndex(F=>F.locale===w.locale)&&W.languages.push({...w})})}),this.computePartiallySupportedLanguages(W),W)}viewAccountClicked(){this.ecomService.openAccountManagementPage(n.MCB.ScreenEvidencePanel,n.U3S.GameDetailComponent,this.id)}upgradeAccountClicked(){this.ecomService.openUpgradeMembershipPageAndProgressDialog(n.MCB.ScreenEvidencePanel,n.U3S.GameDetailComponent,this.id)}}(te=z).isInLibraryChangedSubject=new E.B7,te.isInFavoriteChangedSubject=new E.B7},67785:(xe,de,t)=>{"use strict";t.d(de,{Y:()=>F});var e=t(26875),n=t(85735),E=t(80583),O=t(36466),B=t(43848),P=t(27731),k=t(31315),U=t(12532),r=t(59859),A=t(8619),l=t(14749),I=t(83915),S=t(34593),L=t(65726),s=t(91384),M=t(65706),u=t(75707),x=t(98651),p=t(14714),i=t(72147),o=t(47766),_=t(37543),f=t(68082),J=t(81834),a=t(5495),D=t(84187),z=t(76449);class R{constructor(se,Y){this.filterItem=se,this.loggingService=Y,this.visible=!0,this.logger=this.loggingService.getLogger("FilterTile")}get filterIds(){return this.filterItem.filterIds}get itemType(){return D.dS.FilterItem}get boxArtImage(){return this.filterItem.image}get id(){return this.filterItem.id}get visibility(){return this.visible}set visibility(se){this.visible=se}get title(){return this.filterItem.title}updateData(se){this.filterItem=se}}var v=t(14913),h=t(58527),W=t(78812),ne=t(92632),ee=t(65240),b=t(40996),w=t(48852);let F=(()=>{var Z;class se{get onLocalMyLibraryChanged(){return this.localMyLibraryChangedSubject.asObservable()}get onLocalMyFavoriteChanged(){return this.localMyFavoriteChangedSubject.asObservable()}get enforceGameTileRestore$(){return this.enforceGameTileRestore}get onRemoveFromLibraryChanged(){return this.removeGameFromLibrarySubject.asObservable()}get onRemoveFromFavoriteChanged(){return this.removeGameFromFavoriteSubject.asObservable()}get onShowLayoutLoading(){return this.showLayoutLoading$.asObservable()}get onAppsFetchComplete(){return this.appsFetchInProgress$.pipe((0,A.p)(q=>!1===q))}get onAppsRefreshRequested(){return this.requestAppsRefresh$.asObservable()}get isPhoneMarqueeEnabled(){return this._phoneMarqueeEnabled}notifyGameSectionEvidencePanelChange(q,T,H){this.selectedGameSectionEvidencePanelChange$.next([q,T,H])}notifyGameGridEvidencePanelChange(q,T,H){this.selectedGameGridGameDetailsChange$.next([q,T,H])}updateAppFetchStatus(q){this.appsFetchInProgress$.next(q)}constructor(q,T,H,y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe){var Xe;this.idmService=q,this.gridService=T,this.localeService=H,this.networkStatusService=y,this.telemetryService=X,this.loggingService=c,this.dialogService=g,this.idmLoginService=d,this.launchService=C,this.telemetryUtilService=Q,this.ecomService=j,this.translateService=le,this.ownershipSyncService=ge,this.appConfig=ie,this.lcarsService=ce,this.gameShareUrlService=G,this.errorHandler=ue,this.gfnSdkService=ae,this.distributedTracingUtilService=Ce,this.unsupportedBrowserService=Se,this.refreshUiService=Ne,this.browseUxService=we,this.routerService=ve,this.settingsService=Pe,this.systemInfoService=Oe,this.bridgeService=Be,this.gamepadService=tt,this.campaignHelperService=Ee,this.appLaunchPerformanceService=ot,this.ratingService=We,this.imageFormatService=Qe,this.resumeUiService=Fe,this.accountChangeVpcIdChangeSub=new n.m(1),this.requestAppsRefresh$=new E.B7,this.libraryRefreshReceived=new E.B7,this.favoritesRefreshReceived=new E.B7,this.currentProcessedLayoutData=null,this.getPanelError=null,this.isMarqueeDisabled=!1,this._phoneMarqueeEnabled=!1,this.triggerLayoutInteraction={name:_.jG.InitialFetch},this.localMyLibraryChangedSubject=new E.B7,this.localMyFavoriteChangedSubject=new E.B7,this.enforceGameTileRestore=new E.B7,this.removeGameFromLibrarySubject=new E.B7,this.removeGameFromFavoriteSubject=new E.B7,this.appsListMap=new Map,this.marketingTilesMap=new Map,this.shouldBypassSwCache=!1,this.panelList=[_.HPU.Marquee,_.HPU.Favorites,_.HPU.Library,_.HPU.Main],this.reapplyExistingLibraryFilter=new E.B7,this.reapplyExistingLibraryFilter$=this.reapplyExistingLibraryFilter.asObservable(),this.selectedGameSectionEvidencePanelChange$=new E.B7,this.selectedGameGridGameDetailsChange$=new E.B7,this.logger=c.getLogger("LayoutService"),this.showLayoutLoading$=new n.m(1),this.appsFetchInProgress$=new n.m(1),this.layoutState=D.WO.Loading,this.enableSeeMoreTile=this.appConfig.featureEnablement.seeMoreTile,this.isMarqueeDisabled=null===(Xe=this.appConfig)||void 0===Xe||null===(Xe=Xe.featureEnablement)||void 0===Xe?void 0:Xe.marqueeDisabled,this.layoutEventStreams=new J.TE(()=>this.fetchLayout(),!0,!0,!1),this.removeGameFromLibrarySubject.next(null),this.removeGameFromFavoriteSubject.next(null),this.initializeAccountChangeVpcIdChangeObservable(),this.triggerAccountStatusVpcIdChange$={createObservable:()=>this.accountChangeVpcIdChangeSub.asObservable(),name:_.jG.LoginStatusChange},this.idmService.accountStatusChanged.subscribe(_e=>{this.isUserAuthenticated=_e.isAuthenticated,this.layoutState=D.WO.Loading,this.showLayoutLoading$.next(!0)}),this.gridService.vpcId$.subscribe(_e=>{this.vpcId=_e},_e=>{this.logger.error("Cannot fetch vpcId",_e)}),this.triggerUserSKUChange$={createObservable:()=>this.ecomService.getUserMembership().pipe((0,l.J)(),(0,I.T)(([_e,He])=>{var De,Re;const K=null==_e||null===(De=_e.product)||void 0===De?void 0:De.id,ke=null==He||null===(Re=He.product)||void 0===Re?void 0:Re.id;return void 0!==K&&void 0!==ke&&K!==ke}),(0,A.p)(_e=>_e),(0,S.Z)(!0)),name:_.jG.UserSKUChanged},this.triggerLocale$={createObservable:()=>this.localeService.localeChanged,name:_.jG.LocaleChange},this.triggerLayoutRefreshOnDataExpiry$={createObservable:()=>this.refreshUiService.layoutRefresh$.pipe((0,L.c)(5e3),(0,s.M)(_e=>this.logger.info(`LayoutRefreshOnDataExpiry, refreshing layout on ${null==_e?void 0:_e.source}`)),(0,S.Z)(!1)),name:_.jG.RefreshOnDataExpiry},this.triggerLayoutRefreshOnCampaignChange$={createObservable:()=>this.campaignHelperService.refetchGameCampaignIds$.pipe((0,s.M)(_e=>this.logger.info("LayoutRefreshOnCampaignChange")),(0,S.Z)(!1)),name:_.jG.RefreshOnCampaignChange},this.initPushNotifications(),this.initLibraryChangedNotification(),this.initFavoritesChangedNotification(),this.initPhoneMarqueeEnablement(),this.setShouldBypassSwCache(),this.initLayoutDataUpdatedListener(),this.listenStreamingTerminatedEvent(),this.listenLibraryRefreshNotification(),this.listenPanelRefreshNotification(),this.listenAssetChangePushNotification(),this.listenOwnershipChangeNotification(),this.listenFavoritesRefreshNotification(),this.removeCampaignUIForGame(),this.updateCampaignUI()}initialize(){this.initializeLayoutFetchSubscription()}initializeLayoutFetchSubscription(){this.browseUxService.startLayoutFetch$.pipe((0,M.s)(1),(0,u.ZZ)(q=>(this.appLaunchPerformanceService.onLayoutDataFetchStart(),this.getLayout()))).subscribe(O.l,O.l)}initializeAccountChangeVpcIdChangeObservable(){this.idmService.accountStatusChanged.pipe((0,x.r)(this.gridService.vpcId$.pipe((0,p.W)(()=>(0,B.of)(this.vpcId?this.vpcId:null)),(0,s.M)(q=>{this.vpcId=q}))),(0,s.M)(q=>{this.logger.info("accountChangeVpcIdChange tap after buffer and before filter with users.lenght of ",q.length)}),(0,A.p)(q=>0!==q.length),(0,s.M)(q=>{this.logger.info("emitting accountChangeVpcIdChange"),this.accountChangeVpcIdChangeSub.next({vpcId:this.vpcId,isUserAuthenticated:this.isUserAuthenticated})})).subscribe(O.l,O.l)}listenOwnershipChangeNotification(){this.ownershipSyncService.onLibraryRefreshRequested().pipe((0,u.ZZ)(q=>{var T;if(!this.isUserAuthenticated)return P.t;const H=null===(T=this.currentProcessedLayoutData)||void 0===T||null===(T=T.data)||void 0===T?void 0:T.findIndex(c=>c.name===_.HPU.Library);let y=null;var X;return-1!==H&&(y=null===(X=this.currentProcessedLayoutData)||void 0===X?void 0:X.data[H]),(0,k.zV)([(0,B.of)(y),this.fetchPanelAndUpdateLayoutStream(_.HPU.Library,_.diF.LibraryRefresh)]).pipe((0,M.s)(1))})).subscribe(([q,T])=>{this.handleLibraryUpdates(q,T),this.ownershipSyncService.notifyLibraryUpdated()},O.l)}conditionallyUpdatePanel(q){const T=D.aL[q];if(!T)return void this.logger.error(`No entry for ${q} found in PanelNameToNotificationMap`);const H=D.zP.includes(q);this.refreshUiService.isPushNotificationEnabled$().pipe((0,u.ZZ)(y=>y?this.refreshUiService.getNotificationTimerRaceResult(T):(this.logger.info("Push notifications not enabled/available. Will go for explicit refresh"),(0,B.of)(!1))),(0,M.s)(1),(0,u.ZZ)(y=>{if(y)return this.logger.info("Received push notification in time"),U.w;this.logger.info("Did not receive push notification in time, going for explicit refresh");const c={currentSpan:this.distributedTracingUtilService.startSpan(z.pB.ClientGetPanel),triggerName:_.diF.SilentRefresh};return this.getPanelData(c,q)}),(0,s.M)(y=>{this.updateLayoutStream(y,H)})).subscribe(O.l,O.l)}fetchPanelAndUpdateLayoutStream(q,T){const H={},y=this.distributedTracingUtilService.startSpan(z.pB.ClientGetPanel);H.currentSpan=y,H.triggerName=T;const X=D.zP.includes(q);return this.getPanelData(H,q).pipe((0,s.M)(c=>{this.updateLayoutStream(c,X)}))}listenLibraryRefreshEvent(q){q.pipe((0,i.n)(()=>{var T;this.libraryRefreshReceived.next();const H=null===(T=this.currentProcessedLayoutData)||void 0===T||null===(T=T.data)||void 0===T?void 0:T.findIndex(c=>c.name===_.HPU.Library);let y=null;var X;return-1!==H&&(y=null===(X=this.currentProcessedLayoutData)||void 0===X?void 0:X.data[H]),(0,k.zV)([(0,B.of)(y),this.fetchPanelAndUpdateLayoutStream(_.HPU.Library,_.diF.LibraryRefresh)]).pipe((0,M.s)(1))})).subscribe(([T,H])=>{H&&(this.handleLibraryUpdates(T,H),this.ownershipSyncService.notifyLibraryUpdated())})}listenLibraryRefreshNotification(){this.listenLibraryRefreshEvent(this.refreshUiService.libraryRefresh$)}listenFavoritesRefreshNotification(){this.refreshUiService.favoritesRefresh$.pipe((0,i.n)(()=>(this.favoritesRefreshReceived.next(),this.fetchPanelAndUpdateLayoutStream(_.HPU.Favorites,_.diF.FavoritesRefresh)))).subscribe()}listenStreamingTerminatedEvent(){const q=this.browseUxService.streamingTerminated$.pipe((0,u.ZZ)(T=>this.refreshUiService.isPushNotificationEnabled$()),(0,A.p)(T=>!T));this.listenLibraryRefreshEvent(q)}handleLibraryUpdates(q,T){if(T&&q){var H,y,X,c,g,d;this.logger.info("Updating Library Panel UI");const C=null==q||null===(H=q.sections)||void 0===H?void 0:H.find(ge=>(null==ge?void 0:ge.type)===_.qqX.MyLibrary),Q=null===(y=T[0])||void 0===y||null===(y=y.sections)||void 0===y?void 0:y.find(ge=>(null==ge?void 0:ge.type)===_.qqX.MyLibrary);this.logger.info(`oldLibraySection items length : ${null==C||null===(X=C.items)||void 0===X?void 0:X.length} , newLibrarySection items length : ${null==Q||null===(c=Q.items)||void 0===c?void 0:c.length}`);const j=null==C||null===(g=C.items)||void 0===g?void 0:g.filter(ge=>{var ie;return!(null!=Q&&null!==(ie=Q.items)&&void 0!==ie&&ie.some(ce=>(null==ge?void 0:ge.id)===(null==ce?void 0:ce.id)))});this.logger.info("on LIBRARY_REFRESH , Fully Removed Games count: ",null==j?void 0:j.length),null==j||j.forEach(ge=>{ge.resetLibraryStatusForAllVariants()});const le=null==Q||null===(d=Q.items)||void 0===d?void 0:d.filter(ge=>{var ie;return!(null!=C&&null!==(ie=C.items)&&void 0!==ie&&ie.some(ce=>(null==ge?void 0:ge.id)===(null==ce?void 0:ce.id)))});this.logger.info("on LIBRARY_REFRESH , Added Games count: ",null==le?void 0:le.length),((null==j?void 0:j.length)>0||(null==le?void 0:le.length)>0)&&this.reapplyExistingLibraryFilter.next()}}listenPanelRefreshNotification(){this.refreshUiService.panelRefresh$.pipe((0,i.n)(q=>{const T=[],H=[_.HPU.Main,_.HPU.Marquee];var y,X;return(null==q?void 0:q.source)===_.x4T.OnPushNotification?(null==q||null===(y=q.metadata)||void 0===y?void 0:y.changeIdType)===_.Abi.PANEL?null==q||null===(X=q.metadata)||void 0===X||X.changedIds.forEach(c=>{T.push(this.fetchPanelAndUpdateLayoutStream(c,_.diF.PanelRefresh))}):H.forEach(c=>{T.push(this.fetchPanelAndUpdateLayoutStream(c,_.diF.PanelRefresh))}):H.forEach(c=>{this.refreshUiService.isContentExpired(_.BOh[c])&&T.push(this.fetchPanelAndUpdateLayoutStream(c,_.diF.PanelRefresh))}),(0,k.zV)(T).pipe((0,M.s)(1))})).subscribe(q=>{this.logger.info("Updating Panels in the UI")})}listenAssetChangePushNotification(){this.refreshUiService.assetRefresh$.pipe((0,u.ZZ)(q=>{var T,H,y;const X=null===(T=q.metadata)||void 0===T?void 0:T.changedIds,c=(null===(H=q.metadata)||void 0===H?void 0:H.changeIdType)===_.Abi.CMSID||!(null!==(y=q.metadata)&&void 0!==y&&y.changeIdType);return(0,e.isArray)(X)&&(null==X?void 0:X.length)>0?this.lcarsService.getAppdata(X,{isCmsId:c}):(this.requestAppsRefresh$.next(),U.w)})).subscribe(q=>{this.logger.info("Apps metadata updated after ASSET_CHANGE notification"),null==q||q.forEach(T=>{const H=this.fetchApplication(T.id);H&&H.updateData(T)})})}initLayoutDataUpdatedListener(){this.lcarsService.onLayoutDataUpdated$.subscribe(q=>{this.updateLayoutStream(null==q?void 0:q.panels)},q=>{this.logger.error("Error while processing updated layout data."+q)})}initLibraryChangedNotification(){a.l.onIsInLibraryChanged().pipe((0,A.p)(q=>!(0,e.isNil)(q)),(0,I.T)(q=>{var T;this.logger.info(`Update library row for Parent-id:${q.id}`);const H=null===(T=q.variants)||void 0===T?void 0:T.filter(y=>(0,_.A$m)(y)!==_.E8c.NotOwned);0!==(null==H?void 0:H.length)?this.conditionallyUpdatePanel(_.HPU.Library):this.removeGameFromLocalSection(q.id,_.HPU.Library,this.myLibrarySection)})).subscribe()}initFavoritesChangedNotification(){a.l.onIsInFavoriteChanged().pipe((0,A.p)(q=>!(0,e.isNil)(q)),(0,I.T)(q=>{this.logger.info(`Update favorite row for Parent-id:${q.id}`),q.favorited?this.conditionallyUpdatePanel(_.HPU.Favorites):this.removeGameFromLocalSection(q.id,_.HPU.Favorites,this.myFavoritesSection)})).subscribe()}triggerGameRemoval(q,T,H){T===_.HPU.Library?this.removeGameFromLibrarySubject.next({id:q,sectionItems:[...H.items]}):T===_.HPU.Favorites&&this.removeGameFromFavoriteSubject.next({id:q,sectionItems:[...H.items]})}triggerLocalGameRemoval(q,T){q===_.HPU.Library?this.localMyLibraryChangedSubject.next(T):q===_.HPU.Favorites&&this.localMyFavoriteChangedSubject.next(T)}removeGameFromLocalSection(q,T,H){H?(this.triggerGameRemoval(q,T,H),setTimeout(()=>{if(H){const y=H.items.findIndex(X=>X.id===q);-1!==y?(this.logger.info(`Remove game ${q} from panel ${T}`),H.items.splice(y,1),this.enableSeeMoreTile&&this.manageSeeMoreTile(H)):this.logger.info(`Game not present in ${T}`),this.triggerLocalGameRemoval(T,H),this.conditionallyUpdatePanel(T)}},D.un)):this.logger.info(`${T} section not present`)}getLayout(){return this.layoutEventStreams.get$()}refreshLayout(q){this.triggerLayoutInteraction.name=q,this.layoutEventStreams.refresh()}updateRenderDirectiveMetadata(q){return null==q||q.forEach(T=>{((null==T?void 0:T.name)===_.HPU.Main||(null==T?void 0:T.name)===_.HPU.Library||(null==T?void 0:T.name)===_.HPU.Favorites)&&T.sections.forEach(H=>{try{const y=JSON.parse(H.renderDirectives);H.type=null==y?void 0:y.tileRenderType,H.renderTitle=null==y?void 0:y.renderTitle}catch{this.logger.error(`Failed to parse section.renderDirectives ${null==H?void 0:H.renderDirectives} for section ${H.id}, ${H.title}`),this.logger.info(`Section type is ${H.type}`),H.renderTitle=!0}})}),q}updateLayoutStream(q,T=!1){var H;if(!q||this.emptySectionsCheck(q))return;const y=null===(H=this.currentProcessedLayoutData)||void 0===H||null===(H=H.data)||void 0===H?void 0:H.findIndex(X=>{var c;return X.name===(null===(c=q[0])||void 0===c?void 0:c.name)});if(-1!==y&&this.currentProcessedLayoutData){this.updateRenderDirectiveMetadata(q);const X=this.mapToLcarsApplication(q,T);this.currentProcessedLayoutData.data[y]=X[0],this.layoutEventStreams.setData(this.currentProcessedLayoutData,!0)}}mapExceptionToLayoutError(q){let T;return T=q instanceof _.enm?new D.Rd(_.Dz.VpcId,q.error):q instanceof f.Yb?new D.Rd(_.Dz.DelegateTokenFetch,q.error):q instanceof _.iCI?new D.Rd(_.Dz.LayoutFetch,q.error):q instanceof _.iD4?new D.Rd(_.Dz.AppsListFetch,q.error):q instanceof _.WX8?new D.Rd(_.Dz.AppMetadataFetch,q.error):q instanceof D.z$?new D.Rd(_.Dz.EmptyLayout,null):q instanceof f.bb?new D.Rd(_.Dz.SessionToken,null):new D.Rd(_.Dz.Unknown,q),T}handleLayoutException(q,T,H){const y=this.mapExceptionToLayoutError(q);return(0,e.isNil)(y.error)||(0,e.isNil)(y.error.status),(0,e.isNil)(y.error)||(0,e.isNil)(y.error.rawResponse)||(0,e.isNil)(y.error.rawResponse.statusText),{data:null,error:y,metaData:T,cacheKey:H}}getLiveData(q,T,H){return q(H).pipe((0,I.T)(y=>({data:y,metaData:H,cacheKey:T})),(0,p.W)(y=>(0,B.of)(this.handleLayoutException(y,H,T))),(0,I.T)(y=>y))}getData(q,T,H,y,X){return function N(Z,se,Y){let q;const T=[];return se.forEach(H=>{const y=(0,e.isNil)(H.createObservable)?(0,B.of)(void 0):H.createObservable();let X=!0;T.push(y.pipe((0,I.T)(c=>(X&&(X=!1,Y.info("Trigger "+H.name+" initialized.")),{trigger:H,data:c,timestamp:Date.now()})),(0,p.W)(c=>(0,B.of)({trigger:H,data:void 0,timestamp:Date.now(),error:c}))))}),(0,k.zV)(T).pipe((0,I.T)(H=>{const y=(0,e.merge)({},Z),X={baseTrigger:y,trigger:y,responses:new Map};return q!==y.name?q=y.name:(H=(0,e.sortBy)(H,[c=>c.timestamp]),X.trigger=H[H.length-1].trigger),H.forEach(c=>{X.responses.set(c.trigger.name,c)}),X}))}(H,[this.triggerLocale$,...y],X).pipe((0,i.n)(g=>this.getLiveData(q,T,g).pipe((0,s.M)(d=>{d.metaData=g,d.cacheKey=T}),(0,p.W)(d=>(g.trigger.name===_.jG.LoginStatusChange&&this.showLayoutLoading$.next(!1),(0,r.$)(d))))))}emptySectionsCheck(q){if((0,e.isEmpty)(q)||(0,e.isNil)(q)||0===q.length)return!0;let T=0,H=0;return(1!==q.length||!D.xN.includes(q[0].name))&&(q.forEach(X=>{var c;H+=null==X||null===(c=X.sections)||void 0===c?void 0:c.length,X.sections.forEach(g=>{const d=null==g?void 0:g.items;((0,e.isNil)(d)||0===d.length)&&T++})}),T===H)}checkForEmptyLayout(q){return!q.data||this.emptySectionsCheck(q.data)}createApplication(q){return new a.l(q,this.loggingService,this.networkStatusService,this.launchService,this.idmService,this.idmLoginService,this.ecomService,this.dialogService,this.lcarsService,this.telemetryUtilService,this.gameShareUrlService,this.ownershipSyncService,this.appConfig,this.gfnSdkService,this.unsupportedBrowserService,this.routerService,this.settingsService,this.systemInfoService,this.bridgeService,this.gamepadService,this.ratingService,this.browseUxService,this.refreshUiService,this.imageFormatService,this.localeService,this.resumeUiService)}fetchApplication(q){return this.appsListMap.has(q)?this.appsListMap.get(q):null}updateAndFetchApp(q){var T,H;_.X9O.sortVariants(q.variants),q.variants.forEach(X=>{X.appStoreInfo=_.X9O.getStoreInfoForAppstore(X.appStore)});let y=this.fetchApplication(q.id);return y?y.updateData(q):(y=this.createApplication(q),this.appsListMap.set(q.id,y)),this.campaignHelperService.updateCampaignIdToGameListMap(null!==(T=null===(H=y)||void 0===H?void 0:H.campaignIds)&&void 0!==T?T:[],y.id),y}mapToLcarsAppsData(q){const T=[];return null==q||q.forEach(H=>{T.push(this.updateAndFetchApp(H))}),this.campaignHelperService.triggerCampaignUIRefresh(_.Jwh.AppsRefresh),T}getPanelData(q,T){return T===_.HPU.Marquee&&this.isMarqueeDisabled?(0,B.of)(null):this.lcarsService.getPanel(q,T).pipe((0,I.T)(H=>this.updateRenderDirectiveMetadata(H)),(0,s.M)(()=>{this.refreshUiService.setContentExpiryInfo(_.BOh[T])}),(0,p.W)(H=>(this.logger.error(`Error in fetching panel: ${T} `,H),this.getPanelError=H,(0,B.of)(null))))}getLibraryPanelData(q){return this.idmService.accountStatusChanged.pipe((0,M.s)(1),(0,u.ZZ)(T=>T.isAuthenticated?this.getPanelData(q,_.HPU.Library):(0,B.of)([_.DaX])))}getFavoritesPanelData(q){return this.idmService.accountStatusChanged.pipe((0,M.s)(1),(0,u.ZZ)(T=>T.isAuthenticated?this.getPanelData(q,_.HPU.Favorites):(0,B.of)([_.$6u])))}getLayoutData(q){const T=this.distributedTracingUtilService.startSpan(z.pB.ClientGetLayout);return q.parentSpan=T,(0,k.zV)([this.getFavoritesPanelData(q),this.getLibraryPanelData(q),this.getPanelData(q,_.HPU.Main),this.getPanelData(q,_.HPU.Marquee),this.lcarsService.ensureLatestStaticAppData$()]).pipe((0,I.T)(([H,y,X,c,g])=>{var d;let C=[];if(C[0]=c&&c[0]?c[0]:null,C[1]=H&&H[0]?H[0]:null,C[2]=y&&y[0]?y[0]:null,C[3]=X&&X[0]?X[0]:null,C=C.filter(Q=>null!=Q),(null===(d=C)||void 0===d?void 0:d.length)>0)return this.getPanelError=null,this.distributedTracingUtilService.setSpanAttribute(T,z.NS.Error,!1),this.distributedTracingUtilService.closeSpan(T),C;throw this.distributedTracingUtilService.setSpanAttribute(T,z.NS.Error,!0),this.distributedTracingUtilService.closeSpan(T),this.showLayoutLoading$.next(!1),new Error(this.getPanelError)}),(0,s.M)(H=>this.resetShouldBypassSwCache()))}setShouldBypassSwCache(){this.shouldBypassSwCache=!!window.location.hash.match(_.faX.Deeplink)}resetShouldBypassSwCache(){this.shouldBypassSwCache=!1}hasValidLayoutData(){var q;return(null===(q=this.currentProcessedLayoutData)||void 0===q||null===(q=q.data)||void 0===q?void 0:q.length)>0}fetchLayout(){const q=this.loggingService.getLogger("LayoutService:LF/");return this.getData(T=>this.getLayoutData({triggerName:null==T?void 0:T.trigger.name,bypassSwCache:this.shouldBypassSwCache}),D.YI.LayoutFetch,this.triggerLayoutInteraction,[this.triggerAccountStatusVpcIdChange$,this.triggerUserSKUChange$,this.triggerLayoutRefreshOnDataExpiry$,this.triggerLayoutRefreshOnCampaignChange$],q).pipe((0,s.M)(T=>{const H=this.networkStatusService.isOnline;let c=`${T.cacheKey} refreshed by ${T.metaData.trigger.name}`;(0,e.isNil)(T.error)?!H&&!T.data&&(c+=" and had no cache while offline.",T.error=new D.Rd(_.Dz.OfflineNoCache)):c=c+" and got error "+T.error.failurePoint,this.sendTelemetry(T,q),this.logger.info(c)}),(0,u.ZZ)(T=>{if(this.checkForEmptyLayout(T)){if(this.hasValidLayoutData())return P.t;this.currentProcessedLayoutData=this.handleLayoutException(new D.z$,T.metaData,T.cacheKey),this.currentProcessedLayoutData.data=[]}else this.processLayoutResponse(T);return(0,B.of)(this.currentProcessedLayoutData)}),(0,p.W)(T=>(this.logger.error("Error while processing layout. "+T),this.errorHandler.handleError(new Error("Error while processing layout. "+T)),this.hasValidLayoutData()?P.t:(0,B.of)(null))))}processLayoutResponse(q){this.refreshUiService.setContentExpiryInfo(_.sD.Layout);const T={...q,data:this.mapToLcarsApplication(q.data)};if(this.hasValidLayoutData()){let H=0;this.panelList.forEach(y=>{const X=T.data.find(g=>g.name===y),c=this.currentProcessedLayoutData.data.findIndex(g=>g.name===y);-1!==c?(X&&(this.currentProcessedLayoutData.data[c]=X),H++):X&&(this.currentProcessedLayoutData.data.splice(H,0,X),H++)})}else this.currentProcessedLayoutData=T;this.layoutState=D.WO.Ready,this.showLayoutLoading$.next(!1)}mapToLcarsApplication(q,T=!1){const H=q.map(y=>(y.sections.map(X=>(X.items=X.items.reduce((c,g)=>{let d=!1;if(g.__typename===_.nbT.Filter)return g.visibility=!0,c.push(new R(g,this.loggingService)),c;if(g.__typename===_.nbT.Marketing){try{const C=this.mapItemToMarketingTile(g);c.push(C)}catch(C){this.logger.error("Error while mapping LCARS item to MarketingTile. "+C),d||(this.errorHandler.handleError(new Error(`Error while mapping LCARS item to MarketingTile: ${g.id}`)),d=!0)}return c}if(g.__typename===_.nbT.Game){try{const C=this.mapItemToApplication(g);c.push(C)}catch(C){this.logger.error("Error while mapping LCARS item to Application. "+C),d||(this.errorHandler.handleError(new Error(`Error while mapping LCARS item to Application: ${g.id}`)),d=!0)}return c}return c},[]),X.type===_.qqX.MyLibrary?(this.updateMyLibrary(X),this.myLibrarySection=X,this.appsListMap.forEach(c=>{c.updatedPostLibraryRefresh=!1}),this.myLibrarySection.items.forEach(c=>{c.updatedPostLibraryRefresh=!0})):X.type===_.qqX.MyFavorites&&(this.myFavoritesSection=X),X)),y));return T||this.campaignHelperService.triggerCampaignUIRefresh(_.Jwh.PanelRefresh),H}fetchMarketingTileFromMap(q){return this.marketingTilesMap.has(q)?this.marketingTilesMap.get(q):null}updateAndFetchMarketingTile(q){let T=this.fetchMarketingTileFromMap(q.id);return T?T.updateData(q):(T=new v.D(q,this.loggingService),this.marketingTilesMap.set(q.id,T)),T}mapItemToMarketingTile(q){return this.updateAndFetchMarketingTile(q)}mapItemToApplication(q){return q.app.type=q.__typename,this.updateAndFetchApp(q.app)}getTelemetryNameForTrigger(q){return q}sendTelemetry(q,T){const H=q.metaData.responses;let y=!1,X="undefined";if(H.has(_.jG.LoginStatusChange)){const g=H.get(_.jG.LoginStatusChange).data;g&&(y=g.isUserAuthenticated,X=g.vpcId)}const c={layoutKey:q.cacheKey,trigger:this.getTelemetryNameForTrigger(q.metaData.trigger.name),failurePoint:_.Dz.NA,errorCode:"",vpcId:X||"undefined",isUserOnline:this.networkStatusService.isOnline?_.T80.TRUE:_.T80.FALSE,isUserLoggedIn:y?_.T80.TRUE:_.T80.FALSE,cachedDataSuccessful:_.T80.UNDEFINED,liveDataSuccessful:(0,e.isNil)(q.error)?_.T80.TRUE:_.T80.FALSE,error:""};!q.error&&q.cacheKey.includes(D.YI.LayoutFetch)&&this.emptySectionsCheck(q.data)&&(this.logger.error("Server response successful, but received EmptyLayout"),c.liveDataSuccessful=_.T80.FALSE,c.failurePoint=_.Dz.EmptyLayout),(0,e.isNil)(q.error)||(c.failurePoint=q.error.failurePoint||_.Dz.Unknown,(0,e.isNil)(q.error.error)||(c.errorCode=""+q.error.error.status),(0,e.isNil)(q.error.error)||(c.error=(0,e.isNil)(q.error.error.rawResponse)?q.error.error.toString():q.error.error.rawResponse.statusText)),T.info("Layout Telemetry Data:",c),this.telemetryService.push(new _.HVs(c))}updateMyLibrary(q){if(!(0,e.isNil)(q)){var T;const H=this.createApplication(_.Sx9),y=null===(T=this.myLibrarySection)||void 0===T?void 0:T.items.find(X=>X.id===_.Sx9.id);void 0!==(null==y?void 0:y.visibility)&&(H.visibility=y.visibility),q.items.unshift(H),q.title=this.translateService.instant("layout.myLibrary")}}initPushNotifications(){this.refreshUiService.patchingInfoRefresh$.pipe((0,u.ZZ)(q=>(this.logger.info("Refresh patchingInfo",null==q?void 0:q.source),this.handlePatchingEvent(null==q?void 0:q.metadata)))).subscribe(()=>{},q=>{this.logger.error("Error handling push notification for patching event",q)})}handlePatchingEvent(q){if(null==q?void 0:q.patchingInfo){var H;const y=this.getAppFencedStateBasedByPatchingPushMessage(q);return((null==q?void 0:q.changeIdType)===_.Abi.CMSID||!(null!=q&&q.changeIdType))&&null!=q&&null!==(H=q.changedIds)&&void 0!==H&&H.length&&q.changedIds.forEach(c=>{this.updateFencedStatusForApp(c,y)}),(0,B.of)(!0)}return(0,B.of)(!1)}updateFencedStatusForApp(q,T){const H=this.getApplicationClassByCmsId(q);null==H||H.updateFencedStatus(q,T)}getApplicationClassByCmsId(q){const T=Array.from(this.appsListMap.values()).find(H=>H.variants.some(y=>y.id===q));return this.logger.info(`App meta data parent-id for cmsID: ${q} is `,null==T?void 0:T.id),T}getAppFencedStateBasedByPatchingPushMessage(q){let T;switch(q.patchingInfo.patchingState){case _.AZq.PATCHING_STARTED:T=_.jv9.PATCHING;break;case _.AZq.SERVER_MAINTENANCE_STARTED:T=_.jv9.SERVER_MAINTENANCE;break;default:T=_.jv9.UNAVAILABLE}return T}manageSeeMoreTile(q){var T,H,y;const X=Array.isArray(null==q||null===(T=q.seeMoreInfo)||void 0===T?void 0:T.filterIds)&&(null==q||null===(H=q.items)||void 0===H?void 0:H.length)>(null==q||null===(y=q.seeMoreInfo)||void 0===y?void 0:y.minTiles),c=q.items.findIndex(g=>g.id===_.kG8.id);if(X){if(-1===c){const g=this.createApplication(_.kG8);g.data.title=q.seeMoreInfo.title,q.items.push(g)}}else-1!==c&&q.items.splice(c,1)}removeCampaignUIForGame(){this.campaignHelperService.removeGameFromCampaign$.subscribe(q=>{var T;null===(T=this.fetchApplication(q))||void 0===T||T.updateCampaignData(null,!1)})}updateCampaignUI(){this.campaignHelperService.refreshCampaignUI$.pipe((0,i.n)(q=>(0,k.zV)([(0,B.of)(q),this.campaignHelperService.getChangedCampaigns()]).pipe((0,M.s)(1))),(0,s.M)(([q,T])=>{var H,y;if((null==T||null===(H=T.activatedCampaigns)||void 0===H?void 0:H.length)>0||(null==T||null===(y=T.deactivatedCampaigns)||void 0===y?void 0:y.length)>0){var X;this.logger.info("Updating Campaign UI because of trigger ",q),T.activatedCampaigns.forEach(g=>{const d=this.campaignHelperService.getGameListForCampaignId(null==g?void 0:g.id);null==d||d.forEach(C=>{var Q;null===(Q=this.fetchApplication(C))||void 0===Q||Q.updateCampaignData(g,!0)})}),null===(X=T.deactivatedCampaigns)||void 0===X||X.forEach(g=>{const d=this.campaignHelperService.getGameListForCampaignId(null==g?void 0:g.id);null==d||d.forEach(C=>{var Q;null===(Q=this.fetchApplication(C))||void 0===Q||Q.updateCampaignData(g,!1)})});const c=new _.e13({trigger:_.Lbi[q],activeCampaignIds:T.activatedCampaigns.map(g=>g.id),deActiveCampaignIds:T.deactivatedCampaigns.map(g=>g.id)});this.telemetryService.push(c)}})).subscribe(O.l,q=>this.logger.error("Error in updateCampaignUI",q))}initPhoneMarqueeEnablement(){this.isMarqueeDisabled||this.systemInfoService.getSystemInfo([o.Lu.DeviceType]).pipe((0,M.s)(1)).subscribe(q=>{this._phoneMarqueeEnabled=q.DeviceType===o.Y0.Phone})}filterActiveSectionItems(q,T=null,H){const y=this.lcarsService.nvPreviewTime?new Date(this.lcarsService.nvPreviewTime):new Date,X=null==q?void 0:q.filter(c=>{const g=null==c?void 0:c.schedule;if(null!=g&&g.startTime&&null!=g&&g.endTime){const d=new Date(g.startTime),C=new Date(g.endTime);return d<=y&&C>y}return H(c)});return T?X.slice(0,T):X}}return(Z=se).\u0275fac=function(q){return new(q||Z)(h.KVO(_.k_2),h.KVO(_.Gip),h.KVO(o.iH),h.KVO(o.CF),h.KVO(W.H0),h.KVO(o.J6),h.KVO(_.o3x),h.KVO(_.naM),h.KVO(ne.XP),h.KVO(_.jgD),h.KVO(_.yJU),h.KVO(ee.c$),h.KVO(_.Itz),h.KVO(_.Vk6),h.KVO(_.Br4),h.KVO(_.uBn),h.KVO(h.zcH),h.KVO(b.DL),h.KVO(z.Z1),h.KVO(_.Lki),h.KVO(_.F4T),h.KVO(_.Tzh),h.KVO(_.HMi),h.KVO(_.h$Q),h.KVO(o.zW),h.KVO(o.NZ),h.KVO(w.bi),h.KVO(_.WTI),h.KVO(_.apq),h.KVO(_.FFI),h.KVO(o.Pl),h.KVO(ne.Dq))},Z.\u0275prov=h.jDH({token:Z,factory:Z.\u0275fac,providedIn:"root"}),se})()},14913:(xe,de,t)=>{"use strict";t.d(de,{D:()=>n});var e=t(84187);class n{constructor(O,B){this.marketingItem=O,this.loggingService=B,this.visible=!0,this.logger=this.loggingService.getLogger("MarketingTile")}get itemType(){return e.dS.MarketingItem}get boxArtImage(){var O;return null===(O=this.marketingItem.images)||void 0===O?void 0:O.HERO_IMAGE}get id(){return this.marketingItem.id}get visibility(){return this.visible}set visibility(O){this.visible=O}get title(){return this.marketingItem.title}get body(){return this.marketingItem.body||null}get action(){return this.marketingItem.action}get marqueeHeroImage(){var O;return(null===(O=this.marketingItem.images)||void 0===O?void 0:O.MARQUEE_HERO_IMAGE)||null}get heroImage(){var O;return(null===(O=this.marketingItem.images)||void 0===O?void 0:O.HERO_IMAGE)||null}get schedule(){var O;return(null===(O=this.marketingItem)||void 0===O?void 0:O.schedule)||null}updateData(O){this.marketingItem=O}}},16039:(xe,de,t)=>{"use strict";t.d(de,{e:()=>U});var e=t(80583),n=t(58527),E=t(47766),O=t(14354),B=t(7850),P=t(3457),k=t(99204);let U=(()=>{var r;class A{constructor(I,S,L){this.loggingService=I,this.activatedRoute=S,this.deeplinkService=L,this.destroy$=new e.B7}ngOnInit(){this.deeplinkService.handlePath(this.activatedRoute.snapshot.queryParamMap)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(r=A).\u0275fac=function(I){return new(I||r)(n.rXU(E.J6),n.rXU(O.nX),n.rXU(B.q))},r.\u0275cmp=n.VBU({type:r,selectors:[["gfn-deeplink"]],decls:3,vars:0,consts:[["fxLayout","column","fxFlexFill","",1,"common-window",2,"background-image","url('./assets/img/spotlight-bg.webp')","background-repeat","no-repeat","background-position","center top"],["fxLayoutAlign","center center","fxFlexFill","",1,"layout-spinner-container"],["mode","indeterminate","color","accent","diameter","48","strokeWidth","4",1,"layout-spinner"]],template:function(I,S){1&I&&(n.j41(0,"div",0)(1,"div",1),n.nrm(2,"mat-progress-spinner",2),n.k0s()())},dependencies:[P.DJ,P.sA,P.G2,k.LG],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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}html[_ngcontent-%COMP%], body[_ngcontent-%COMP%]{background:transparent;height:100%}html.cdk-global-scrollblock[_ngcontent-%COMP%]{overflow-y:hidden}body[_ngcontent-%COMP%]{margin:0;overflow:hidden!important;height:100%;max-width:100%;-webkit-touch-callout:none}body[_ngcontent-%COMP%] [_ngcontent-%COMP%]:focus{outline:none}.common-window[_ngcontent-%COMP%] .common-container-overflow[_ngcontent-%COMP%]{overflow-y:overlay;overflow-x:hidden;max-height:100%}.common-window[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%]{background:#33333380;border-radius:0}.common-window[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%]:not(.mat-card-no-hover):hover{box-shadow:0 3px 15px 1px #000000bf}[_ngcontent-%COMP%]::selection{background:#478b06}[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px}[_ngcontent-%COMP%]::-webkit-scrollbar-track{border-radius:0;box-shadow:inset 0 0 1px #ffffff40}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border-radius:0;background:#343434;box-shadow:inset 0 0 6px #33333380}[_ngcontent-%COMP%]::-webkit-scrollbar-corner{background:transparent}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#cdcdcd}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:active{background:#888}[_ngcontent-%COMP%]:not(:hover)::-webkit-scrollbar-track{background:transparent;box-shadow:none}.tv-view[_ngcontent-%COMP%] .common-window-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.dialog-background[_ngcontent-%COMP%], .final-black-gradient[_ngcontent-%COMP%], .gray-overlay[_ngcontent-%COMP%], .black-gradient[_ngcontent-%COMP%], .white-gradient[_ngcontent-%COMP%], .ext-background-fill[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.center-content[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}@supports (-webkit-touch-callout: none) or (font: -apple-system-body){@media (display-mode: standalone){.gfn-viewport-fill[_ngcontent-%COMP%]{height:100vh}}}.gfn-background-plain[_ngcontent-%COMP%]{background-color:#000}.gfn-background-plain[_ngcontent-%COMP%] .splash-gfn-logo[_ngcontent-%COMP%]{z-index:1;display:none}.gfn-background[_ngcontent-%COMP%]{background-color:#000;background-image:url(assets/hashed/DefaultStreamerBackgroundArt.a079e7d7fdd1ed01.jpg);background-repeat:no-repeat;background-size:cover}.gfn-background[_ngcontent-%COMP%] .splash-gfn-logo[_ngcontent-%COMP%]{z-index:1;display:none}@media screen and (max-width: 599px){.splash-gfn-logo[_ngcontent-%COMP%]{width:84px;height:64px;margin-bottom:16px}}@media screen and (min-width: 600px){.splash-gfn-logo[_ngcontent-%COMP%]{width:174px;height:131px;margin-bottom:24px}}@media screen and (width: 1024px) and (height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait),screen and (width: 834px) and (height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait),screen and (width: 820px) and (height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait){.splash-gfn-logo[_ngcontent-%COMP%]{margin-bottom:24px}}@media screen and (width: 834px) and (height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait),screen and (width: 810px) and (height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait),screen and (width: 768px) and (height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait),screen and (width: 414px) and (height: 736px) and (-webkit-device-pixel-ratio: 3),screen and (width: 375px) and (height: 667px) and (-webkit-device-pixel-ratio: 2),screen and (width: 320px) and (height: 568px) and (-webkit-device-pixel-ratio: 2){.splash-gfn-logo[_ngcontent-%COMP%]{margin-bottom:20px}}@media screen and (width: 428px) and (height: 926px) and (-webkit-device-pixel-ratio: 3),screen and (width: 390px) and (height: 844px) and (-webkit-device-pixel-ratio: 3),screen and (width: 414px) and (height: 896px) and (-webkit-device-pixel-ratio: 2){.splash-gfn-logo[_ngcontent-%COMP%]{margin-bottom:48px}}@media screen and (width: 375px) and (height: 812px) and (-webkit-device-pixel-ratio: 3){.splash-gfn-logo[_ngcontent-%COMP%]{margin-bottom:50px}}@media screen and (width: 414px) and (height: 896px) and (-webkit-device-pixel-ratio: 3){.splash-gfn-logo[_ngcontent-%COMP%]{margin-bottom:44px}}.white-gradient[_ngcontent-%COMP%]{background-image:radial-gradient(circle closest-corner at top,#fff3,#ffffff0d 50%,#fff0)}.black-gradient[_ngcontent-%COMP%]{background-image:linear-gradient(to right,#000c,#0006 25%,#0003 35% 65%,#0006 75%,#000c)}.gray-overlay[_ngcontent-%COMP%]{background-color:#0000002e}.final-black-gradient[_ngcontent-%COMP%]{background-image:linear-gradient(180deg,#0000,#000 50% 100%)}.dialog-background[_ngcontent-%COMP%]{flex-direction:column!important}.common-window[_ngcontent-%COMP%] .common-window-content[_ngcontent-%COMP%]{background:#191919;background-attachment:fixed}.common-window[_ngcontent-%COMP%] .mat-accent.foreground[_ngcontent-%COMP%]{color:#76b900}.common-window[_ngcontent-%COMP%] div.mat-right-section[_ngcontent-%COMP%]{position:absolute;right:28px;bottom:20px}mat-icon.mat-16[_ngcontent-%COMP%]{font-size:16px!important}@keyframes _ngcontent-%COMP%_createBox{0%{transform:scale(0)}to{transform:scale(1)}}div[aria-label][_ngcontent-%COMP%]:hover:after{content:attr(aria-label);position:absolute;left:-50%;right:-50%;margin-top:15px;background-color:#464646;text-align:center;padding:5px 10px;z-index:100;animation:_ngcontent-%COMP%_createBox .25s}.isLtr[_nghost-%COMP%] .settings-streaming-profile-details-container[_ngcontent-%COMP%] .mat-mdc-select-value[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .settings-streaming-profile-details-container[_ngcontent-%COMP%] .mat-mdc-select-value[_ngcontent-%COMP%]{padding-right:8px}html[dir=ltr][_ngcontent-%COMP%] .settings-streaming-profile-details-container[_ngcontent-%COMP%] .mat-mdc-select-value[_ngcontent-%COMP%]{--dummy2: 0;padding-right:8px}.isRtl[_nghost-%COMP%] .settings-streaming-profile-details-container[_ngcontent-%COMP%] .mat-mdc-select-value[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .settings-streaming-profile-details-container[_ngcontent-%COMP%] .mat-mdc-select-value[_ngcontent-%COMP%]{padding-left:8px}html[dir=rtl][_ngcontent-%COMP%] .settings-streaming-profile-details-container[_ngcontent-%COMP%] .mat-mdc-select-value[_ngcontent-%COMP%]{--dummy2: 0;padding-left:8px}.settings-streaming-profile-details-container[_ngcontent-%COMP%] .mdc-line-ripple[_ngcontent-%COMP%]{height:0}.loading-ui-container[_ngcontent-%COMP%] .mdc-linear-progress__buffer[_ngcontent-%COMP%], .loading-ui-container-with-opportunity[_ngcontent-%COMP%] .mdc-linear-progress__buffer[_ngcontent-%COMP%], .nes-auth-ui-container[_ngcontent-%COMP%] .mdc-linear-progress__buffer[_ngcontent-%COMP%], .queue-progress-container[_ngcontent-%COMP%] .mdc-linear-progress__buffer[_ngcontent-%COMP%], .loading-ui-progress-bar-with-opportunity[_ngcontent-%COMP%] .mdc-linear-progress__buffer[_ngcontent-%COMP%], .small-landscape-loader-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer[_ngcontent-%COMP%], .analyzer-ui-container[_ngcontent-%COMP%] .mdc-linear-progress__buffer[_ngcontent-%COMP%]{background-color:#ffffff3d}a.font-link-state[_ngcontent-%COMP%]:focus:not(:hover){border-bottom:0}.text-button-icon[_ngcontent-%COMP%]{padding:0 12px}.text-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{height:20px;font-size:18px;line-height:18px;width:20px}.isLtr[_nghost-%COMP%] .text-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .text-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{padding-right:4px}html[dir=ltr][_ngcontent-%COMP%] .text-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-right:4px}.isRtl[_nghost-%COMP%] .text-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .text-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{padding-left:4px}html[dir=rtl][_ngcontent-%COMP%] .text-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-left:4px}.mat-mdc-tooltip.custom-tooltip[_ngcontent-%COMP%]{margin:8px;overflow-wrap:break-word;text-align:center;pointer-events:none!important}.mat-mdc-tooltip.custom-tooltip[_ngcontent-%COMP%] .mdc-tooltip__surface[_ngcontent-%COMP%]{background-color:#464646}.mat-menu-panel.games-sort-dropdown[_ngcontent-%COMP%], .mat-menu-panel.toolbar-dropdown[_ngcontent-%COMP%], .mat-menu-panel.game-details-actions-menu-dropdown[_ngcontent-%COMP%]{border-radius:0}.mat-menu-panel.games-sort-dropdown[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .mat-menu-panel.toolbar-dropdown[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .mat-menu-panel.game-details-actions-menu-dropdown[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ffffffb3}.tv-view[_ngcontent-%COMP%] .mat-menu-panel.game-details-actions-menu-dropdown[_ngcontent-%COMP%]{background-color:#000000e6}.mat-menu-panel.game-details-actions-menu-dropdown[_ngcontent-%COMP%]{max-width:450px}.scroll-view[_ngcontent-%COMP%] .cdk-virtual-scroll-content-wrapper[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%]{flex:1 1 0%;width:100%;height:100%;box-sizing:border-box}"]}),A})()},93577:(xe,de,t)=>{"use strict";t.r(de),t.d(de,{DeeplinkModule:()=>r});var e=t(61142),n=t(51006),E=t(37543),O=t(14354),B=t(7395),P=t(47766),k=t(48364),U=t(58527);let r=(()=>{var A;class l{}return(A=l).\u0275fac=function(S){return new(S||A)},A.\u0275mod=U.$C({type:A}),A.\u0275inj=U.G2t({imports:[e.MD,E.RHK,n.YF,k.i,P._N,(0,P.BU)(),O.iI.forChild(B.N)]}),l})()},7395:(xe,de,t)=>{"use strict";t.d(de,{N:()=>n});const n=[{path:"",component:t(16039).e,runGuardsAndResolvers:"paramsOrQueryParamsChange"}]},7850:(xe,de,t)=>{"use strict";t.d(de,{q:()=>te,z:()=>N});var e=t(58527),n=t(47766),E=t(33367),O=t(37543),B=t(80583),P=t(43848),k=t(19392),U=t(59859),r=t(27731),A=t(31315),l=t(56237),I=t(35146),S=t(75707),L=t(10174),s=t(83915),M=t(65706),u=t(14714),x=t(72147),p=t(91384),i=t(8619),o=t(14354),_=t(67785),f=t(92632),J=t(78812),a=t(67237),D=t(76449);let te=(()=>{var z;class R{constructor(h,W,ne,ee,b,w,F,Z,se,Y,q,T,H,y,X,c,g,d,C,Q,j,le,ge,ie,ce){var G,ue;this.appConfig=h,this.loggingService=W,this.router=ne,this.routerService=ee,this.layoutService=b,this.lcarsService=w,this.gameShareUrlService=F,this.oobeService=Z,this.launchService=se,this.gameLaunchAnalyticsService=Y,this.ownershipSyncService=q,this.redirectService=T,this.deeplinkHelperService=H,this.gridService=y,this.telemetryUtilService=X,this.telemetryService=c,this.guestModeService=g,this.nativeEventService=d,this.playtestLiveService=C,this.bridgeService=Q,this.systemInfoService=j,this.gameSearchFilterService=le,this.guestModeHelperService=ge,this.streamerConfigService=ie,this.distributedTracingUtilService=ce,this.hideDeeplinkOverlay$=new B.B7,this.viewGameQueryParams={[O.ajQ.GameId]:"",[O.ajQ.ShowEvidencePanel]:!1,[O.ajQ.SectionId]:""},this.isViewGameInProgress=!1,this.deeplinkedGameChangeSubject=new B.B7,this.clientSupportsTouchGames=!1,this.logger=this.loggingService.getLogger("DeeplinkService"),this.isGDNDomain=null===(G=window)||void 0===G?void 0:G.isGDNDomain,this.handlerMap=new Map([[O.pyK.PlayGame,{handle:this.handlePlayGame.bind(this)}],[O.pyK.ViewGame,{handle:this.handleViewGame.bind(this)}]]),this.registerURLRouteChangeEvent(),this.clientSupportsTouchGames=!(null===(ue=h.client)||void 0===ue||!ue.supportsTouchGames)}removeDeeplinkOverlay(){this.hideDeeplinkOverlay$.next(!0)}markViewGameComplete(){this.isViewGameInProgress=!1}getViewGameDeeplinkInfo(){return this.viewGameQueryParams[O.ajQ.ShowEvidencePanel]=this.isViewGameInProgress,this.viewGameQueryParams}setViewGameDeeplinkInfo(h,W,ne,ee){this.viewGameQueryParams={[O.ajQ.GameId]:h,[O.ajQ.SectionId]:ne,[O.ajQ.ShowEvidencePanel]:W,[O.ajQ.Store]:ee}}get deeplinkedGameChanged$(){return this.deeplinkedGameChangeSubject.asObservable()}navigateToGameDeeplink(h,W){this.getDeeplinkLandingInfo(h).pipe((0,S.ZZ)(ne=>this._navigateToGameDeeplink(ne,W))).subscribe()}_navigateToGameDeeplink(h,W,ne){var ee;return h.isGameFound?(this.isViewGameInProgress=!0,this.setViewGameDeeplinkInfo(h.gameId,!0,h.sectionId,ne),this.deeplinkedGameChangeSubject.next(!0),h.landingPageUrl===O.faX.GamesGrid&&this.gameSearchFilterService.triggerAutoSearch(h.gameTitle,W,!0),(0,k.H)(this.routerService.navigateByUrl(h.landingPageUrl,{skipLocationChange:!0})).pipe((0,L.u)(O.LQP.None))):(0,P.of)(null!==(ee=h.errorInfo)&&void 0!==ee?ee:O.LQP.Unknown)}registerURLRouteChangeEvent(){this.nativeEventService.get$(n.D4.RouteChange,n.Jm.Types.HandlerEventType.StructuredWindowEvent).pipe((0,S.ZZ)(h=>{const W=JSON.parse(h);if(!(W&&W.hasOwnProperty("new-route")&&W["new-route"].includes(O.IxP)))return(0,U.$)("Invalid game change data given, ignoring");const ee=W["new-route"].substring(1),b=ee.split("?")[1],w=new URLSearchParams(b);if(!w.has(O.ajQ.GameId)||!w.has(O.ajQ.Action)||w.get(O.ajQ.Action)!==O.pyK.PlayGame||!(0,O.tEe)(this.router.url))return(0,P.of)(ee);const Z=w.get(O.ajQ.GameId);this.logger.info(`Deeplink play-game query gameId: ${Z}`);const se=this.streamerConfigService.activeConfig;return this.lcarsService.getMetadataByCmsId(se.cmsId).pipe((0,s.T)(Y=>(this.logger.info(`Current game in streaming: ${Y.title}, gameId: ${Y.id}, cmsId: ${se.cmsId}`),Z===Y.id?null:ee)))}),(0,S.ZZ)(h=>null===h?(this.logger.info("Target game is being launched, ignoring route change"),r.t):(this.logger.info(`Navigating to ${h}`),(0,k.H)(this.routerService.navigateByUrl(h))))).subscribe(h=>{h||this.logger.error("NativeEvents.RouteChange fails to navigate")},h=>{this.logger.error("Error while processing url-route change event, error: ",h)})}getDeeplinkLandingInfo(h){let W=O.LQP.Unknown;const ne=this.layoutService.getLayout().pipe((0,M.s)(1),(0,S.ZZ)(b=>{var w,F,Z;const se=null==b||null===(w=b.data)||void 0===w?void 0:w.find(y=>y.name===O.HPU.Main);if(!se)return this.logger.error("Error while fetching layout data, redirecting to default"),W=O.LQP.ServerError,(0,P.of)({gameId:h,isGameFound:!1,errorInfo:O.LQP.ServerError});const Y=(null==b||null===(F=b.data)||void 0===F||null===(F=F.find(y=>y.name===O.HPU.Favorites))||void 0===F?void 0:F.sections)||[],q=(null==b||null===(Z=b.data)||void 0===Z||null===(Z=Z.find(y=>y.name===O.HPU.Library))||void 0===Z?void 0:Z.sections)||[],T=(null==se?void 0:se.sections)||[],H=Y.concat(q).concat(T);for(let y=0;yb[0]),(0,S.ZZ)(b=>(0,P.of)(b.id===h?{gameId:h,isGameFound:!0,errorInfo:O.LQP.None,landingPageUrl:O.faX.GamesGrid,gameTitle:b.title}:null)));return ne.pipe((0,S.ZZ)(b=>b?(0,P.of)(b):ee),(0,S.ZZ)(b=>b?(0,P.of)(b):(0,U.$)("Error getting deeplink landing info")),(0,u.W)(b=>(this.logger.error("Deeplinked game not present in layout data, redirecting to default. ",b),W=O.LQP.GameNotFound,(0,P.of)({gameId:h,isGameFound:!1,errorInfo:O.LQP.GameNotFound}))))}handleViewGame(h){const W=h.get(O.ajQ.GameId),ne=h.get(O.ajQ.Store);return this.getDeeplinkLandingInfo(W).pipe((0,S.ZZ)(ee=>this._navigateToGameDeeplink(ee,O.O3b.Deeplink,ne)),(0,s.T)(ee=>({success:ee===O.LQP.None,error:ee})))}handlePlayGame(h){let W,ne,ee,b,w,F,Z,se;const Y=Date.now();if(h.has(O.ajQ.GameId))W=h.get(O.ajQ.GameId),ne=!1;else{if(!h.has(O.ajQ.CmsId))return(0,P.of)({success:!1,error:O.LQP.BadRequest});W=h.get(O.ajQ.CmsId),ne=!0}const q=h.get(O.ajQ.PartnerData),T=h.get(O.ajQ.ExtraData),H=this.deeplinkHelperService.getUpdatedPartnerId(h.get(O.ajQ.PartnerId))||"";let y=(0,P.of)(!1),X=null;if(h.has(O.ajQ.Nonce)){this.guestModeHelperService.isGuestMode=!0,X=h.get(O.ajQ.Nonce),H||(this.logger.error("partnerId is missing in guest flow"),y=(0,U.$)(O.LQP.BadRequest));const g=h.get(O.ajQ.Redirect)||"",d=h.get(O.ajQ.State)||"",C=this.systemInfoService.getSystemInfo([n.Lu.OSName,n.Lu.BrowserName]).pipe((0,M.s)(1));y=this.guestModeService.setAuthDataUsingNonceAndUpdateGuestFlowConfig(X,H,W,ne,g,d).pipe((0,x.n)(Q=>C),(0,S.ZZ)(Q=>{var j;const le=null===(j=this.guestModeHelperService.getGuestModeConfig())||void 0===j||null===(j=j.igoSettings)||void 0===j?void 0:j.shortcutControls;return this.logger.info("Hotkey overrides: ",le),this.bridgeService.executeCommand(E.Ts.Share.Shareserver.Init,{osType:Q.OSName,browserType:Q.BrowserName,areHotkeysOverridden:!!le,overriddenHotkeysList:null!=le?le:[]})}),(0,L.u)(!0))}if(T){F=atob(T);try{JSON.parse(F)[0].id===O.mYR.VDKPlayTest?w=JSON.parse(F)[0].data:this.logger.error("opaqueData data for unknown client ",JSON.parse(F)[0].id)}catch(g){this.logger.error("invalid opaqueData ",g)}}return y.pipe((0,S.ZZ)(g=>w?this.playtestLiveService.initiatePlaytestLive(W,w):(0,P.of)(!0)),(0,p.M)(()=>{q&&this.deeplinkHelperService.setDeeplinkPartnerData(q)}),(0,S.ZZ)(g=>this.lcarsService.getAppdata(W,{isCmsId:ne}).pipe((0,u.W)(d=>(this.logger.error("Error while fetching appdata",d),(0,U.$)("serverError")))))).pipe((0,S.ZZ)(g=>{if(null!=g&&g.length){var d,C,Q,j,le;ne&&(ee=null===(Q=g[0].variants.find(ce=>ce.id===W))||void 0===Q?void 0:Q.shortName,b=g[0].title,Z=null!==(j=null===(le=g[0].images)||void 0===le?void 0:le.HERO_IMAGE)&&void 0!==j?j:"");const ge=null===(d=g[0])||void 0===d?void 0:d.supportedControls,ie=(this.clientSupportsTouchGames||(null===(C=this.guestModeHelperService.getForceTouchModeSettings())||void 0===C?void 0:C.launchStreamInTouchFriendlyMode))&&(null==ge?void 0:ge.includes(O.f$1.TOUCHSCREEN));return(0,A.zV)([(0,P.of)(this.gameShareUrlService.updateShareUrlInfo(g[0].id,g[0].images.TV_BANNER)),this.systemInfoService.getSystemInfo([n.Lu.CurrentUiMode]),(0,P.of)(ie)])}return this.logger.error("Empty/null response in appmetadata"),(0,U.$)("serverError")}),(0,p.M)(([g,d,C])=>{se=this.appConfig.featureEnablement.preferGamepadFriendlyAppLaunchMode?O.NGk.GamepadFriendly:d.CurrentUiMode===E.Or.Common.Systeminfo.UiModeEnum.Mobile?C?O.NGk.TouchFriendly:O.NGk.GamepadFriendly:O.NGk.Default}),(0,S.ZZ)(g=>this.oobeService.oobeDialogClosedState),(0,i.p)(g=>!0===g),(0,S.ZZ)(g=>{if(this.gameLaunchAnalyticsService.setGameLaunchMetadata(void 0,Y,!1),h.has(O.ajQ.WindowedMode)){const d=JSON.parse(h.get(O.ajQ.WindowedMode))||!1;this.deeplinkHelperService.windowedMode=d}return this.deeplinkHelperService.isDeeplinkGameLaunch=!0,this.launchService.launchStreamer(ne?parseInt(W,10):void 0,ne?ee:void 0,se,Y,void 0,this.guestModeHelperService.isGuestMode?O.vhU.Deeplink:O.vhU.GeForceNOW,this.guestModeHelperService.isGuestMode||this.deeplinkHelperService.isSpecialAffiliatePartner(H)?H:void 0,ne?void 0:W,this.guestModeHelperService.isGuestMode?this.guestModeService.getGuestModeExitUrl():null,b)}),(0,s.T)(g=>(g||(this.deeplinkHelperService.isDeeplinkGameLaunch=!1),{success:g,error:g?O.LQP.None:O.LQP.Unknown})),(0,u.W)(g=>{this.deeplinkHelperService.isDeeplinkGameLaunch=!1;let d=O.LQP.Unknown;switch(this.deeplinkHelperService.resetDeeplinkPartnerData(),g){case"serverError":d=O.LQP.ServerError;break;case O.LQP.Unauthorized:d=O.LQP.Unauthorized;break;case O.LQP.PartnerAuthFailed:d=O.LQP.PartnerAuthFailed;break;case O.LQP.RedirectURLNotAllowed:d=O.LQP.RedirectURLNotAllowed}return(0,P.of)({success:!1,error:d})}))}handlePath(h){const W=h.get(O.ajQ.Action)||O.eL_;this.handlerMap.get(W).handle(h).pipe((0,p.M)(ne=>{this.sendTelemetry(h,ne)})).subscribe(ne=>{if(this.logger.info(ne),!ne.success)if(this.isGDNDomain&&(ne.redirectPath=O.r7g.GdnInvalidDeeplink,ne.redirectOptions={replace:!0}),ne.error===O.LQP.Unauthorized||ne.error===O.LQP.PartnerAuthFailed||ne.error===O.LQP.RedirectURLNotAllowed)this.oobeService.oobeDialogClosedState.pipe((0,x.n)(()=>ne.error!==O.LQP.RedirectURLNotAllowed?this.distributedTracingUtilService.commitAnyPendingSpans():(0,P.of)(!1)),(0,p.M)(()=>{if(this.logger.info("Redirecting ..."),ne.error===O.LQP.RedirectURLNotAllowed){if(null!=ne&&ne.redirectPath)return this.redirectService.redirectTo(ne.redirectPath,ne.redirectOptions);window.location.replace(document.baseURI),window.location.reload()}else this.redirectService.redirectToExternalUrl(this.guestModeService.getGuestModeExitUrl(),{replace:!0})})).subscribe();else{if(null!=ne&&ne.redirectPath)return this.redirectService.redirectTo(ne.redirectPath,ne.redirectOptions);this.routerService.navigateByUrl(O.V6C.DefaultRedirect)}},ne=>{if(this.isGDNDomain)return this.logger.error("Error while handling GDN deeplink, redirecting to GDN Invalid Deeplink",ne),this.redirectService.redirectTo(O.r7g.GdnInvalidDeeplink,{replace:!0});this.logger.error("Error while handling deeplink, redirecting to mall",ne),this.routerService.navigateByUrl(O.V6C.DefaultRedirect)})}canActivate(h,W){const ne=h.queryParamMap;return this.deeplinkHelperService.performHandlingCheck(ne).pipe((0,s.T)(ee=>(this.isGDNDomain&&(ee.redirectPath=O.r7g.GdnInvalidDeeplink,ee.redirectOptions={replace:!0}),ee.isBadRequest&&this.sendTelemetry(ne,{success:!1,error:O.LQP.BadRequest}),ee)),(0,s.T)(ee=>!!ee.canHandle||(null!=ee&&ee.redirectLink?this.router.createUrlTree([ee.redirectLink]):null!=ee&&ee.redirectPath?(this.redirectService.redirectTo(ee.redirectPath,ee.redirectOptions),!1):this.router.createUrlTree([O.V6C.DefaultRedirect]))))}sendTelemetry(h,W){if((h.get(O.ajQ.UtmSource)||"")!==O.mBZ.Application){const ee=O.Xey[h.get(O.ajQ.Action)]||O.Xey[O.eL_],b=h.get(O.ajQ.GameId)||"",w=parseInt(h.get(O.ajQ.CmsId),10)||0,F=[W.error||O.LQP.None],Z=h.get(O.ajQ.Store)||"",se=h.get(O.ajQ.Zone)||"",Y=h.get(O.ajQ.UtmSource)||"",q=h.get(O.ajQ.UtmCampaign)||"",T=h.get(O.ajQ.UtmMedium)||"",H=h.get(O.ajQ.UtmTerm)||"",y=h.get(O.ajQ.UtmContent)||"";let X="";(null==W?void 0:W.error)===O.LQP.RedirectURLNotAllowed&&(X=`Redirect URL: ${h.get(O.ajQ.Redirect)}`);const c=this.deeplinkHelperService.getUpdatedPartnerId(h.get(O.ajQ.PartnerId))||"";this.deeplinkHelperService.getFeatureToggle().pipe((0,i.p)(g=>g.sendDeeplinkTelemetry),(0,S.ZZ)(g=>(0,l.T)(()=>!!se,this.gridService.deeplinkZoneOverrideStatus,(0,P.of)(!1))),(0,M.s)(1),(0,S.ZZ)(g=>(g&&F.push(O.LQP.ZoneNotFound),(0,I.yU)(this.telemetryService.getDefaultClientConsentObserable(),this.telemetryService.getCommonDataObservable())))).subscribe(([g,d])=>{if(g&&d){const C=this.guestModeHelperService.isGuestMode||this.deeplinkHelperService.isSpecialAffiliatePartner(c)?{useBeacon:!0}:null;this.telemetryUtilService.sendDeeplinkSourceEvent({gameId:b,cmsId:w,action:ee,source:"",store:Z,zone:se,errors:F,utmSource:Y,utmCampaign:q,utmMedium:T,utmTerm:H,utmContent:y,partnerId:c,additionalErrorInfo:X},C)}})}}}return(z=R).\u0275fac=function(h){return new(h||z)(e.KVO(O.Vk6),e.KVO(n.J6),e.KVO(o.Ix),e.KVO(O.HMi),e.KVO(_.Y),e.KVO(O.Br4),e.KVO(O.uBn),e.KVO(O.ZSB),e.KVO(f.XP),e.KVO(O.$w$),e.KVO(O.Itz),e.KVO(O.Q5Y),e.KVO(O.wCY),e.KVO(O.Gip),e.KVO(O.jgD),e.KVO(J.H0),e.KVO(O.NPJ),e.KVO(n.dU),e.KVO(O.CC_),e.KVO(n.NZ),e.KVO(n.zW),e.KVO(a.SU),e.KVO(O.xDS),e.KVO(O.zi2),e.KVO(D.Z1))},z.\u0275prov=e.jDH({token:z,factory:z.\u0275fac,providedIn:"root"}),R})();const N=(z,R)=>(0,e.WQX)(te).canActivate(z,R)},58357:(xe,de,t)=>{"use strict";t.d(de,{qB:()=>O.q,zU:()=>O.z}),t(16039),t(7395),t(93577);var O=t(7850)},67237:(xe,de,t)=>{"use strict";t.d(de,{SU:()=>w,kZ:()=>P,k0:()=>E});var e=t(37543),n=function(F){return F[F.None=0]="None",F[F.NetworkOffline=1]="NetworkOffline",F[F.FetchError=2]="FetchError",F}(n||{}),E=function(F){return F[F.Default=0]="Default",F[F.Concealed=1]="Concealed",F}(E||{}),O=function(F){return F.OnlySearch="OnlySearch",F.OnlyFilter="OnlyFilter",F.SearchFilter="SearchFilter",F.AllGames="AllGames",F}(O||{});const B={filterIds:[],sortOrderId:null,operationTrigger:e.O3b.None};var P=function(F){return F[F.InitialFetchInProgress=0]="InitialFetchInProgress",F[F.PartialFetchInProgress=1]="PartialFetchInProgress",F[F.InitialFetchComplete=2]="InitialFetchComplete",F[F.FetchComplete=3]="FetchComplete",F[F.PartialFetchComplete=4]="PartialFetchComplete",F[F.InitialFetchError=5]="InitialFetchError",F[F.PartialFetchError=6]="PartialFetchError",F[F.InitialFetchNetworkOffline=7]="InitialFetchNetworkOffline",F[F.PartialFetchNetworkOffline=8]="PartialFetchNetworkOffline",F}(P||{}),A=t(26513),l=t(80583),I=t(36466),S=t(16229),L=t(31315),s=t(43848),M=t(39184),u=t(55833),x=t(83915),p=t(72147),i=t(8619),o=t(65706),_=t(75707),f=t(65726),J=t(91384),a=t(14714),D=t(76706),te=t(5495),N=t(84187),z=t(76449),R=t(58527),v=t(47766),h=t(8427),W=t(40401),ne=t(67785),ee=t(65240),b=t(78812);let w=(()=>{var F;class Z{get gameFilterSubject$(){return this.gameFilterSubject.asObservable()}get updateSortOrderSelection$(){return this.updateSortOrderSelection.asObservable()}get isFirstPage(){return this._isFirstPage}set isFirstPage(Y){this._isFirstPage=Y,this._isFirstPage&&(this.endCursor=void 0)}get hasSearchQuery(){var Y;return(null===(Y=this.searchString)||void 0===Y?void 0:Y.length)>0}get hasFilters(){return Object.keys(this.filters).length>0}get isSortOrderDirty(){return this._isSortOrderDirty}set isSortOrderDirty(Y){this._isSortOrderDirty=Y}constructor(Y,q,T,H,y,X,c,g,d,C,Q,j,le,ge,ie){var ce;this.indexService=q,this.breakpointObserver=T,this.appBarService=H,this.customLocationService=y,this.routerService=X,this.lcarsService=c,this.layoutService=g,this.translateService=d,this.refreshUIService=C,this.networkStatusService=Q,this.appConfig=j,this.browseUxService=le,this.distributedTracingUtilService=ge,this.telemetryService=ie,this.filters={},this.gameFilterSubject=new A.t(B),this._isSortOrderDirty=!1,this.updateSortOrderSelection=new l.B7,this.hasNextPage=!1,this.logger=Y.getLogger("gfn/GameSearchFilterService"),this.forceRefreshSubject=new l.B7,this.searchFilterDataSubject=new l.B7,this.viewStateSubject=new l.B7,this.focusFirstTileSubject=new l.B7,this.tvMode=!(null===(ce=this.appConfig)||void 0===ce||null===(ce=ce.featureEnablement)||void 0===ce||!ce.tvMode),this.isGamesGridViewActive$=this.routerService.getRouteActivatedState(e.faX.GamesGrid).pipe((0,u.t)())}isMyLibraryFilterApplied(){const Y=JSON.stringify(this.filters);return(null==Y?void 0:Y.includes("library"))&&(null==Y?void 0:Y.includes("status"))}isMyFavoriteFilterApplied(){const Y=JSON.stringify(this.filters);return(null==Y?void 0:Y.includes("library"))&&(null==Y?void 0:Y.includes("favorited"))}removeAppFromSearchResults(Y){const q=this.lastSearchFilterData.resultItems.findIndex(T=>T.id===Y.id);-1!==q&&setTimeout(()=>{this.lastSearchFilterData.resultItems.splice(q,1),this.totalMatchCount=this.totalMatchCount-1,this.translateService.get("layout.listViewData.games").subscribe(T=>{const H=`${this.totalMatchCount} / ${this.totalGameCount} ${T}`;this.lastGameCountString=H,this.viewStateSubject.next({queryState:this.lastQueryState,gameCountString:H,countFetchInProgress:!1}),this.searchFilterDataSubject.next(this.lastSearchFilterData)})},N.un)}initializeLibraryItemRemovedListener(){this.libraryItemRemovedSubscription=te.l.onIsInLibraryChanged().subscribe(Y=>{if(this.isMyLibraryFilterApplied()){var q;const T=null===(q=Y.variants)||void 0===q?void 0:q.filter(H=>(0,e.A$m)(H)!==e.E8c.NotOwned);0===(null==T?void 0:T.length)&&this.removeAppFromSearchResults(Y)}},I.l)}initializeFavoritesItemRemovedListener(){this.favoriteItemRemovedSubscription=te.l.onIsInFavoriteChanged().subscribe(Y=>{this.isMyFavoriteFilterApplied()&&this.removeAppFromSearchResults(Y)},I.l)}initializePunctualUIListener(){this.punctualUISubscription=(0,S.h)(this.refreshUIService.appsRefresh$.pipe((0,x.T)(Y=>e.O3b.AppsRefresh)),this.layoutService.reapplyExistingLibraryFilter$.pipe((0,x.T)(Y=>e.O3b.LibraryRefresh)),this.layoutService.onAppsRefreshRequested.pipe((0,x.T)(Y=>e.O3b.AppsRefresh))).pipe((0,p.n)(Y=>{const q=this.browseUxService.gridSectionGameDetailslOpenStatus$.pipe((0,i.p)(T=>!T),(0,o.s)(1));return(0,L.zV)([q,(0,s.of)(Y)])}),(0,i.p)(([Y,q])=>!(q===e.O3b.LibraryRefresh&&!this.isMyLibraryFilterApplied())),(0,_.ZZ)(([Y,q])=>q===e.O3b.LibraryRefresh?(0,s.of)(q):(0,s.of)(!0).pipe((0,f.c)(5e3),(0,x.T)(()=>q)))).subscribe(Y=>{this.operationTrigger=Y,this.refreshSearchFilterGames()},I.l)}mapErrorTypeToQueryState(Y,q=!0){switch(Y){case n.NetworkOffline:return q?P.InitialFetchNetworkOffline:P.PartialFetchNetworkOffline;case n.FetchError:return q?P.InitialFetchError:P.PartialFetchError;default:return}}initializeDataFetchSubscription(){this.dataFetchSubscription=this.forceRefreshSubject.pipe((0,J.M)(Y=>{this.layoutService.updateAppFetchStatus(!0),this.updateState(this.isFirstPage?P.InitialFetchInProgress:P.PartialFetchInProgress)}),(0,p.n)(Y=>this.fetchGames()),(0,J.M)(Y=>{if(this.layoutService.updateAppFetchStatus(!1),!Y.errorType)return void this.updateState(this.isFirstPage?P.InitialFetchComplete:P.PartialFetchComplete);const q=this.mapErrorTypeToQueryState(Y.errorType,this.isFirstPage);this.updateState(q)})).subscribe(Y=>{this.lastSearchFilterData=Y,this.searchFilterDataSubject.next(Y),this.sendGameSearchFilterEvent(!Y.errorType)})}get onFocusFirstTile$(){return this.focusFirstTileSubject.asObservable()}updateState(Y){this.lastQueryState=Y;let q="";const T={gameCountString:"",queryState:Y,countFetchInProgress:!0};switch(Y){case P.InitialFetchNetworkOffline:return T.errorMessage="common.connectionError",T.countFetchInProgress=!1,void this.viewStateSubject.next(T);case P.InitialFetchError:return T.errorMessage="common.genericLoadError",T.countFetchInProgress=!1,void this.viewStateSubject.next(T);case P.InitialFetchInProgress:return this.totalGameCount?this.operationTrigger===e.O3b.SortOrderChanged?(T.gameCountString=this.lastGameCountString,T.countFetchInProgress=!1,void this.viewStateSubject.next({gameCountString:this.lastGameCountString,queryState:Y,countFetchInProgress:!1})):void this.translateService.get("layout.listViewData.games").subscribe(X=>{var c;this.searchString||this.filters&&null!==(c=Object.keys(this.filters))&&void 0!==c&&c.length?(T.countFetchInProgress=!0,T.gameCountString=` / ${this.totalGameCount} ${X}`):(T.countFetchInProgress=!1,T.gameCountString=`${this.totalGameCount} ${X}`),this.lastGameCountString=T.gameCountString,this.viewStateSubject.next(T)}):void this.viewStateSubject.next(T);case P.InitialFetchComplete:return this.totalGameCount!==this.totalMatchCount&&(q=`${this.totalMatchCount} / `),q+=`${this.totalGameCount}`,void this.translateService.get(1===this.totalMatchCount?"layout.listViewData.game":"layout.listViewData.games").subscribe(X=>{T.gameCountString=`${q} ${X}`,T.countFetchInProgress=!1,this.lastGameCountString=T.gameCountString,this.viewStateSubject.next(T)});case P.PartialFetchNetworkOffline:return void this.viewStateSubject.next({gameCountString:this.lastGameCountString,queryState:Y,countFetchInProgress:!1,errorMessage:"common.connectionError"});case P.PartialFetchError:return void this.viewStateSubject.next({gameCountString:this.lastGameCountString,queryState:Y,countFetchInProgress:!1,errorMessage:"common.genericLoadError"});case P.PartialFetchInProgress:case P.PartialFetchComplete:return void this.viewStateSubject.next({gameCountString:this.lastGameCountString,queryState:Y,countFetchInProgress:!1})}}refreshSearchFilterGames(){this.isFirstPage=!0,this.forceRefreshSubject.next()}getSortStringForQuery(){var Y;return this.selectedSortOption?this.selectedSortOption.orderBy:(null===(Y=this.defaultSortOrderDefinition)||void 0===Y?void 0:Y.orderBy)||""}getCursorForQuery(){return this.endCursor}fetchGames(){const Y=this.getSortStringForQuery(),q=this.getCursorForQuery(),T=this.appConfig.gameSearchFilterConfig.pageSize;if(!this.networkStatusService.isOnline)return(0,s.of)({resultItems:[],errorType:n.NetworkOffline,isFirstPage:this.isFirstPage,hasNextPage:this.hasNextPage});const H=this.distributedTracingUtilService.startSpan(z.pB.SearchFilterGames);return this.distributedTracingUtilService.setSpanAttribute(H,z.NS.HasFilters,this.hasFilters),this.distributedTracingUtilService.setSpanAttribute(H,z.NS.HasSearchQuery,this.hasSearchQuery),this.distributedTracingUtilService.setSpanAttribute(H,z.NS.IsFirstPage,this.isFirstPage),this.lcarsService.getSearchFilterResults(Y,this.searchString,this.filters,q,T,H).pipe((0,x.T)(y=>{var X,c,g,d,C;const Q=this.layoutService.mapToLcarsAppsData(null==y||null===(X=y.data)||void 0===X||null===(X=X.apps)||void 0===X?void 0:X.items);this.hasNextPage=null==y||null===(c=y.data)||void 0===c||null===(c=c.apps)||void 0===c||null===(c=c.pageInfo)||void 0===c?void 0:c.hasNextPage,this.totalGameCount=null==y||null===(g=y.data)||void 0===g||null===(g=g.apps)||void 0===g?void 0:g.numberSupported,this.totalMatchCount=null==y||null===(d=y.data)||void 0===d||null===(d=d.apps)||void 0===d||null===(d=d.pageInfo)||void 0===d?void 0:d.totalCount,this.endCursor=null==y||null===(C=y.data)||void 0===C||null===(C=C.apps)||void 0===C||null===(C=C.pageInfo)||void 0===C?void 0:C.endCursor;const j={resultItems:Q,isFirstPage:this.isFirstPage,hasNextPage:this.hasNextPage};return this.refreshUIService.setContentExpiryInfo(e.sD.Apps),this.distributedTracingUtilService.setSpanAttribute(H,z.NS.Error,!1),this.distributedTracingUtilService.closeSpan(H),j}),(0,a.W)(y=>(this.logger.error("Error while getting response for search/filter: ",y),this.distributedTracingUtilService.setSpanAttribute(H,z.NS.Error,!0),this.distributedTracingUtilService.closeSpan(H),(0,s.of)({resultItems:[],errorType:n.FetchError,isFirstPage:this.isFirstPage,hasNextPage:this.hasNextPage}))))}searchMode(){return this.breakpointObserver.observe([D.Rp.Handset]).pipe((0,x.T)(Y=>Y.matches?E.Concealed:E.Default))}get isGamesGridViewActive(){return this.routerService.isRouteActive(e.faX.GamesGrid)}navigateToGamesGridIfNeeded(Y){this.isGamesGridViewActive||this.routerService.navigateByUrl(e.faX.GamesGrid,Y)}performWebSearch(Y,q=e.O3b.Search){var T;this.operationTrigger=q,this.updateSortOrderForSearch(),this.searchString=null==Y||null===(T=Y.replace(/\\/g,"\\\\"))||void 0===T?void 0:T.replace(/"/g,'\\"'),this.refreshSearchFilterGames(),this.navigateToGamesGridIfNeeded()}sendGameSearchFilterEvent(Y=!0){var q,T,H,y,X;const c=new e.SBT({searchQuery:null!==(q=this.searchString)&&void 0!==q?q:"",appliedFilterIds:null!==(T=this.lastFilterIds)&&void 0!==T?T:[],appliedSortOrder:null!==(H=null===(y=this.selectedSortOption)||void 0===y?void 0:y.id)&&void 0!==H?H:"",triggeringOperation:null!==(X=this.operationTrigger)&&void 0!==X?X:e.O3b.None,totalResults:Y&&void 0!==this.totalMatchCount?this.totalMatchCount:-1});this.telemetryService.push(c)}init(){this.indexService.onFocusFirstTile$.subscribe(()=>{this.focusFirstTileSubject.next()}),this.indexService.setWebSearchCallback(this.performWebSearch.bind(this)),this.appBarService.actionClicked$.subscribe(Y=>{"arrow_left"===Y&&this.isGamesGridViewActive&&this.customLocationService.navigateToPreviousRoute(e.v$R.Search)})}initializeGameSearchFilters(){this.initializeDataFetchSubscription(),this.initializePunctualUIListener(),this.initializeLibraryItemRemovedListener(),this.initializeFavoritesItemRemovedListener()}resetGameSearchFilters(){var Y,q,T,H;null===(Y=this.dataFetchSubscription)||void 0===Y||Y.unsubscribe(),null===(q=this.punctualUISubscription)||void 0===q||q.unsubscribe(),null===(T=this.libraryItemRemovedSubscription)||void 0===T||T.unsubscribe(),null===(H=this.favoriteItemRemovedSubscription)||void 0===H||H.unsubscribe(),this.searchString=null,this.selectedSortOption=this.defaultSortOrderDefinition,this.filters={},this.gameFilterSubject.next(B),this.indexService.clearSearchQuery(),this.totalGameCount=void 0,this.totalMatchCount=void 0,this.endCursor=void 0,this.hasNextPage=void 0,this.operationTrigger=void 0,this.lastFilterIds=[]}getFilterGroupSortOrderDefinitions(){return this.lcarsService.getFilterGroupSortOrderDefinitions()}refetchResults(){this.operationTrigger=e.O3b.ManualRetry,this.forceRefreshSubject.next()}getData(Y=!1){return Y||this.refreshSearchFilterGames(),this.searchFilterDataSubject.asObservable()}getQueryState(){return this.viewStateSubject.asObservable()}navigateToGamesGrid(Y,q){if(Y&&(this.operationTrigger=Y.operationTrigger,this.gameFilterSubject.next(Y)),this.tvMode&&Y){var T,H;const y=null!==(T=null===(H=q)||void 0===H?void 0:H.state)&&void 0!==T?T:{...e.lQj[e.faX.GamesGrid]};y[e.wEh.initFocusOnSearchBar]=!1,q||(q={state:y})}this.navigateToGamesGridIfNeeded(q)}updateFilter(Y,q){let T={};this.lastFilterIds=[],Y.forEach(H=>{for(let X=0;X<(null===(y=H.filterFields)||void 0===y?void 0:y.length);X++){var y;T=(0,M.A)(T,H.filterFields[X])}this.lastFilterIds.push(H.id)}),this.logger.info("mergedFilter",T),this.filters=T,this.operationTrigger=q,this.refreshSearchFilterGames()}updateSortOrder(Y){this.selectedSortOption=Y,this.operationTrigger=e.O3b.SortOrderChanged,this.refreshSearchFilterGames()}updateSortOrderForSearch(){this.isSortOrderDirty||(this.selectedSortOption=this.defaultSortOrderDefinitionForSearch,this.updateSortOrderSelection.next(this.selectedSortOption))}initializeSortOrder(Y,q){null==q||q.forEach(y=>{"a_to_z"===y.id?this.defaultSortOrderDefinition=y:"relevance"===y.id&&(this.defaultSortOrderDefinitionForSearch=y)});const T=q.find(y=>y.id===Y);var H;return this.selectedSortOption=T||(null!==(H=this.searchString)&&void 0!==H&&H.length?this.defaultSortOrderDefinitionForSearch:this.defaultSortOrderDefinition),this.selectedSortOption}triggerAutoSearch(Y,q,T=!1){let H=Y;T&&(H=`title_exact:'${Y}'`),this.indexService.triggerAutoSearch(H),this.performWebSearch(H,q)}fetchNextPage(){this.isFirstPage=!1,this.operationTrigger=e.O3b.NextPage,this.forceRefreshSubject.next()}getViewHierarchy(){let Y="";return Y=this.hasSearchQuery&&this.hasFilters?O.SearchFilter:this.hasFilters?O.OnlyFilter:this.hasSearchQuery?O.OnlySearch:O.AllGames,Y}}return(F=Z).\u0275fac=function(Y){return new(Y||F)(R.KVO(v.J6),R.KVO(h.G),R.KVO(D.QP),R.KVO(W.gZ),R.KVO(e.cNv),R.KVO(e.HMi),R.KVO(e.Br4),R.KVO(ne.Y),R.KVO(ee.c$),R.KVO(e.F4T),R.KVO(v.CF),R.KVO(e.Vk6),R.KVO(e.Tzh),R.KVO(z.Z1),R.KVO(b.H0))},F.\u0275prov=R.jDH({token:F,factory:F.\u0275fac,providedIn:"root"}),Z})()},48364:(xe,de,t)=>{"use strict";t.d(de,{i:()=>a});var e=t(56106),n=t(97979),E=t(26537),O=t(29370),B=t(44296),P=t(99204),k=t(20288),U=t(49678),r=t(62141),A=t(44186),l=t(47973),I=t(96501),S=t(48362),L=t(12949),s=t(13186),M=t(54591),u=t(64409),x=t(46906),p=t(44224),i=t(68477),o=t(31308),_=t(19061),f=t(58527);const J=[e.YN,l.wG,n.ic,E.hM,p.w,I.Wh,B.bB,S.s5,P.D6,k.PO,O.m_,A.uc,U.Wk,r.jm,L.Ve,s.Lq,M.vg,_.bm,u.E9,x.l2,o.Pd,i.RI];let a=(()=>{var D;class te{}return(D=te).\u0275fac=function(z){return new(z||D)},D.\u0275mod=f.$C({type:D}),D.\u0275inj=f.G2t({imports:[e.YN,J,e.YN,l.wG,n.ic,E.hM,p.w,I.Wh,B.bB,S.s5,P.D6,k.PO,O.m_,A.uc,U.Wk,r.jm,L.Ve,s.Lq,M.vg,_.bm,u.E9,x.l2,o.Pd,i.RI]}),te})()},61300:(xe,de,t)=>{"use strict";t.d(de,{Q:()=>E});var e=t(37543),n=t(19061);function E(r,A){if(!r)return;const l={elementType:n.pf.AvatarIcon,primaryIcon:r.icon},I=function O(r,A){const l=[r.name];if(r.loggedIn&&r.persona)l.push(r.persona);else if(!r.loggedIn&&r.inProgress){const L=A.instant(r.reconnectInProgress?"accountConnection.reconnecting":"common.connecting");l.push(L)}const I=l.join(" | "),S=function B(r,A){return r.digitalStoreInfo.features.map(l=>{if(!l.supported&&!l.displayProposition)return null;const I={text:"",matIcon:l.supported?"check_circle":"cancel"};if(!l.supported)return I.text=l.displayProposition,I;if(r.isSynced&&!r.inProgress&&l.__typename===e.Ozc.AccountGamesSyncing)return I.text=function P(r,A){if(r.isSyncFailure())return A.instant("accountConnection.accountSyncing.syncError",{timestamp:r.fancyTimestamp});return A.instant(1===r.numberOfSyncedGames?"accountConnection.accountSyncing.syncDatum":"accountConnection.accountSyncing.syncData",{synced:r.numberOfSyncedGames,timestamp:r.fancyTimestamp})}(r,A),r.isSyncFailure()&&(I.matIcon="alert_circle"),I;if(l.displayProposition){const S=[l.displayProposition];return r.syncInProgress&&r.loggedIn&&(l.__typename===e.Ozc.AccountGamesSyncing||!r.isSynced)&&S.push(A.instant("accountConnection.inProgress")),I.text=S.join(" - "),I}return null}).filter(l=>null==l?void 0:l.text)}(r,A);return{headline:{text:I},supportingText:S}}(r,A),S=function k(r,A){let l,I,S;return r.inProgress?S=n.rG.Spinner:(S=n.rG.TextButton,r.loggedIn||(l={text:"accountConnection.connect"}),r.loggedIn&&!r.showReconnect&&(l={text:"accountConnection.disconnect"}),r.isSynced&&!r.showSyncDeniedReconnect&&(I={text:"accountConnection.refreshLibrary"}),(r.showOnboardingReconnect||r.showSyncDeniedReconnect||r.showReconnect)&&(I={text:"accountConnection.reconnect"})),{elementType:S,primaryButton:l,secondaryButton:I}}(r),L=function U(r,A){const l={text:""};let I;if((r.inErrorState||r.showOnboardingReconnect)&&!r.inProgress&&((r.errorText||r.showOnboardingReconnect)&&(l.matIcon="alert_circle"),r.showOnboardingReconnect&&!r.inErrorState&&(l.text=A.instant("accountConnection.newFeature")),r.inErrorState)){const{errorText:S,errorButtonText:L,name:s,errorArg:M}=r,u={store:s,arg:M};S&&(l.text=A.instant(S,u)),L&&(I={text:A.instant(L,u)})}return{context:l,primaryButton:I}}(r,A),s={core:I};return l.elementType&&(s.lead=l),S.elementType&&(s.trail=S),L.context.text&&(s.context=L),s}},92632:(xe,de,t)=>{"use strict";t.d(de,{XP:()=>W,kJ:()=>ee,Dq:()=>T,Gg:()=>e.G});var e=t(61102),n=t(26513),E=t(80583),O=t(43848),B=t(59859),P=t(36466),k=t(12532),U=t(56237),r=t(27731),A=t(19392),l=t(8619),I=t(65706),S=t(75707),L=t(72147),s=t(14714),M=t(83915),u=t(91384),x=t(70521),p=t(47766),i=t(33367),o=t(37543),_=t(58527),f=t(65240),J=t(26537),a=t(14354),D=t(19061),te=t(66348);const N="Previous game launch is in progress",R="App restart needed to update and proceed",v_body_text="common.connectionError",v_primaryButton={text:"common.close",accentColor:!0};var h=function(y){return y.GeforceNow="GeForceNOW",y.GeForceNowStreamer="GeForceNOWStreamer",y}(h||{});let W=(()=>{var y;class X{constructor(g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee){var ot;this.loggingService=d,this.bridgeService=C,this.translateService=Q,this.dialog=j,this.telemetryUtilService=le,this.ecomService=ge,this.nativeEventService=ie,this.settingsService=ce,this.systemInfoService=G,this.router=ue,this.gameLaunchAnalyticsService=ae,this.gameShareUrlService=Ce,this.ownershipSyncService=Se,this.routerService=Ne,this.serviceWorkerService=we,this.genericDialog=ve,this.sharedStorageService=Pe,this.guestModeHelperService=Oe,this.browseUxService=Be,this.updateService=tt,this.dialogService=Ee,this.logger=this.loggingService.getLogger("gfn/launch"),this.isLaunchInProgress$=new n.t(!1),this.mobileMode=!(null==g||null===(ot=g.featureEnablement)||void 0===ot||!ot.mobileMode),this.isBrowserPlatform=p.zk.isBrowserPlatform()}initialize(){this.registerURLRouteChangeEvent(),this.registerForegroundEvent()}setGameLaunchData(g,d){this.gameLaunchAnalyticsService.setGameLaunchMetadata(d,g,!0)}addDesktopShortcut(g,d,C){const Q=Date.now(),j={installed:!1,message:""};this.logger.info(`Adding\xa0Desktop\xa0Shortcut\xa0for\xa0${g.title},\xa0${g.cmsId},\xa0${d}.`);const le=new E.B7;return this.telemetryUtilService.sendClickEvent(o.EBD.AddGameShortcut,g.cmsId,d,!0,C),this.ecomService.getUserMembership().pipe((0,l.p)(ge=>ge.membershipStatus!==o.OON.LoggedOut&&ge.membershipStatus!==o.OON.UnKnown),(0,I.s)(1),(0,S.ZZ)(ge=>ge.eComFeatureEnabled&&ge.membershipStatus===o.OON.UnEntitled?(this.ecomService.openJoinNowDialog(d),this.logger.info("add\xa0to\xa0desktop\xa0canceled\xa0as\xa0user\xa0is\xa0not\xa0entitled."),le.next(j),le.complete(),(0,O.of)(j)):this.translateService.get("interface.gametitle",{title:g.title}).pipe((0,L.n)(ie=>this.createDesktopShortcut(ie,g)),(0,s.W)(ie=>(this.telemetryUtilService.sendUserSessionEvent(o.ay7.AddDesktopShortcut,o.fbu.Failure,Q,ie),le.next(j),le.complete(),(0,B.$)(ie))),(0,M.T)(ie=>{if(ie.installed){const ce={installed:!0,message:""};return this.logger.info("Created\xa0game\xa0desktop\xa0shortcut\xa0successfully"),this.telemetryUtilService.sendUserSessionEvent(o.ay7.AddDesktopShortcut,o.fbu.Success,Q),le.next(ce),le.complete(),ie}{const ce=`Game\xa0desktop\xa0shortcut\xa0creation\xa0failed:\xa0${ie}`;throw this.logger.error(ce),this.telemetryUtilService.sendUserSessionEvent(o.ay7.AddDesktopShortcut,o.fbu.Failure,Q,ce),le.next(j),le.complete(),new Error("Game\xa0Desktop\xa0shortcut\xa0creation\xa0failed")}}))))}createDesktopShortcut(g,d){return this.systemInfoService.getSystemInfo([p.Lu.Platform]).pipe((0,M.T)(C=>{let Q=h.GeforceNow;return this.logger.info("Getting the OS info using System info Service :",C),"Windows"===C.Platform&&(Q=h.GeForceNowStreamer),Q}),(0,S.ZZ)(C=>{var Q;return this.bridgeService.executeCommand(i.Ts.Gfn.Streamer.AddDesktopShortcut,{streamer:C,parentGameId:null!==(Q=d.parentGameId)&&void 0!==Q?Q:"",cmsId:""+d.cmsId,appName:g,shortName:d.shortName,iconUrl:d.keyArtUrl})}),(0,u.M)(C=>{this.sharedStorageService.writeBlock(o.OUV.cmsIdToMetadataMap+"/"+d.cmsId,{appStore:d.appStore}).subscribe(()=>{},Q=>{this.logger.error(`Error while storing in sharedStorage for key ${o.OUV.cmsIdToMetadataMap} :`,Q)}),d.parentGameId&&this.browseUxService.writeLaunchMetaData(d.parentGameId,{selectedVariantCmsId:d.cmsId}).subscribe(()=>{},j=>{this.logger.error(`Error while storing in sharedStorage for key ${o.OUV.parentIdToLaunchMetaDataMap} :`,j)})}),(0,S.ZZ)(C=>{if(C)return(0,O.of)(C);{const Q="Null InstallResult received while creating game shortcut";return this.logger.error(Q),(0,B.$)(Q)}}))}openConnectionErrorDialog(){const g=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"common.genericLoadError"},bodyText:{text:v_body_text},primaryButton:{...v_primaryButton}}});g.primaryButtonClick.pipe((0,I.s)(1)).subscribe(()=>g.close())}requestUserAttention(){this.bridgeService.executeCommand(i.Ts.Common.Windowcontrol.RequestUserAttention).subscribe()}registerForegroundEvent(){this.nativeEventService.get$(p.D4.ForegroundEvent,p.Jm.Types.HandlerEventType.StructuredWindowEvent).subscribe(()=>{this.requestUserAttention()},g=>{this.logger.error("Received error in Foreground window event: ",g)})}registerURLRouteChangeEvent(){this.nativeEventService.get$(p.D4.RouteChange,p.Jm.Types.HandlerEventType.StructuredWindowEvent).subscribe(g=>{this.checkToLaunchGame(g)},g=>{this.logger.error("Received error for RouteChange window event: ",g)})}checkToLaunchGame(g){try{if((0,o.tEe)(this.router.url))return void this.logger.info("Ignoring RouteChange since we are already in Streamer");const d=JSON.parse(g);if(!(d&&d.hasOwnProperty("current-route")&&d.hasOwnProperty("new-route")&&d["new-route"].includes("cmsId")))return void this.logger.error("Invalid game change data given, ignoring");this.logger.info("Received game change data: ",d);const C=(0,o.y1F)(d["new-route"]),Q=C.cmsId,j=C.shortName,le=C.launchSource,ge=C.parentGameId,ie=C.appLaunchMode,ce=C.accountLinked,G=Date.now();this.gameLaunchAnalyticsService.setGameLaunchMetadata(j,G,!0),this.launchStreamer(Q,j,ie,G,ce,le,C.sdkClient,ge).subscribe(P.l,P.l)}catch(d){this.logger.error(`Game change data failed JSON parsing. Error: ${d} | Game change string: ${g}`)}}launchStreamer(g,d,C,Q,j=!1,le=o.vhU.GeForceNOW,ge=null,ie="",ce=null,G){if((0,o.tEe)(this.router.url))return this.logger.info("Ignoring launching game, already in Streamer"),(0,O.of)(!1);window.jsInitStartTs=Q;const ue=(0,o.IQP)({cmsId:g,shortName:d,appLaunchMode:C,launchSource:le,sdkClient:ge,parentGameId:ie,accountLinked:j});if(this.settingsService.isVsyncChangedAndToggleSupported())return this.logger.info("Vsync state changed, need to restart game",ue),this.settingsService.resetVsyncChanged(),this.restartAppWithParameters(ue),k.w;{const ae=this.updateService.getAvailableUpdate$().pipe((0,I.s)(1),(0,M.T)(Be=>!(!Be||Be.severity===o.rGU.Recommended)),(0,S.ZZ)(Be=>Be?this.dialogService.openUpdateRequiredDialog().pipe((0,I.s)(1),(0,S.ZZ)(tt=>tt===o.b2f.RelaunchNow?(0,O.of)(!0):(0,B.$)(R))):(0,O.of)(!1))),Se=(0,U.T)(()=>this.isBrowserPlatform,(0,O.of)(!1),ae).pipe((0,S.ZZ)(Be=>Be?(this.updateService.onClickRestart({cmsId:String(g)}),r.t):(0,O.of)(!0)));this.serviceWorkerService.postMessageSw({type:x.oY.GameLaunched,content:G}),this.logger.info("Navigating to streamer url",ue);let Ne=!1,we="",ve="";const Pe=this.router.routerState.snapshot.url,Oe=window.location.href;return this.logger.info("Router state snapshot url - ",Pe),this.logger.info("window href before streamer navigation - ",Oe),Se.pipe((0,S.ZZ)(Be=>this.isLaunchInProgress$),(0,I.s)(1),(0,S.ZZ)(Be=>Be?(0,B.$)(N):(this.isLaunchInProgress$.next(!0),(0,O.of)(!0))),(0,S.ZZ)(Be=>(0,A.H)(this.routerService.navigateByUrl(ue))),(0,s.W)(Be=>Be===N||Be===R?(0,B.$)(Be):(Ne=!0,we=Be,ve=(0,o.$Hl)({cmsId:g,shortName:d,appLaunchMode:C,launchSource:le,sdkClient:ge,parentGameId:ie},!0),this.logger.error("Error while launching game",Be,"attempting to launch with absolute URL",ve),window.location.href=ve,(0,O.of)(!0))),(0,u.M)(Be=>this.closeOpenDialogs()),(0,S.ZZ)(Be=>(Be&&this.isBrowserPlatform&&(!this.mobileMode||this.mobileMode&&this.guestModeHelperService.isGuestMode)&&(ce?(this.gameShareUrlService.setExitUrl(ce),this.logger.info("Setting deeplink URL in session storage: ",Oe),sessionStorage.setItem("gdnDeeplinkUrl",Oe)):this.gameShareUrlService.setGameUrlAsExitUrl()),Ne?(this.logger.error(`Hit a router error while launching game, streamerUrl: ${ue}, routerErrorMessage: ${we}`),this.logger.error(`New URL we set was ${ve}. Previous Href: ${Oe}, Previous SnapshotURL: ${Pe}`)):Be||this.logger.error("No router error but navigation to streamer failed"),this.isLaunchInProgress$.next(!1),(0,O.of)(Be))),(0,s.W)(Be=>(this.logger.error("Navigation to streamer failed "+Be),(0,O.of)(!1))))}}closeOpenDialogs(){this.dialog.closeAll()}restartAppWithParameters(g){const d="#"+g;this.logger.info("Restart app requested with launchArgument: ","--url-route="+d),this.bridgeService.executeCommand(i.Ts.Common.Applicationcontrol.Restart,{launchArguments:"--url-route="+d}).subscribe()}}return(y=X).\u0275fac=function(g){return new(g||y)(_.KVO(o.Vk6),_.KVO(p.J6),_.KVO(p.NZ),_.KVO(f.c$),_.KVO(J.bZ),_.KVO(o.jgD),_.KVO(o.yJU),_.KVO(p.dU),_.KVO(o.h$Q),_.KVO(p.zW),_.KVO(a.Ix),_.KVO(o.$w$),_.KVO(o.uBn),_.KVO(o.Itz),_.KVO(o.HMi),_.KVO(x.lS),_.KVO(D.uh),_.KVO(te.yQ),_.KVO(o.xDS),_.KVO(o.Tzh),_.KVO(o.HoT),_.KVO(o.o3x))},y.\u0275prov=_.jDH({token:y,factory:y.\u0275fac,providedIn:"root"}),X})();var ne=t(31315);let ee=(()=>{var y;class X{constructor(g,d,C,Q,j){this.loggingService=g,this.nesUserInfoService=d,this.localeService=C,this.idmService=Q,this.configuration=j,this.isRedeemEnabled$=new n.t(!1),this.redeemLinkURL$=new n.t(""),this.logger=this.loggingService.getLogger("RedeemService"),(0,ne.zV)([this.idmService.accountStatusChanged,this.nesUserInfoService.providerInfo$]).subscribe(([le,ge])=>{if(le.isAuthenticated)this.updateRedeemStatus(ge.gfnServiceEndpoints.find(ie=>ie.idpId===le.idpId));else switch(ge.loginPreferredProviders.length){case 0:this.updateRedeemStatus(ge.gfnServiceEndpoints.find(ie=>ie.loginProvider===ge.defaultProvider));break;case 1:this.updateRedeemStatus(ge.gfnServiceEndpoints.find(ie=>ie.loginProvider===ge.loginPreferredProviders[0]));break;default:{const ie=ge.gfnServiceEndpoints.filter(ce=>ge.loginPreferredProviders.includes(ce.loginProvider));ie.every(ce=>ce.redeemRedirectUrl===ie[0].redeemRedirectUrl)?this.updateRedeemStatus(ie[0]):this.updateRedeemStatus({redeemRedirectUrl:this.configuration.redirect.serverUrl.split("?")[0]+"?page="+o.niw.GFN_PC_REDEEM_MULTI_AFFILIATE});break}}},le=>{this.logger.info("Error fetching the userinfo/provider info for redeem ",le),this.isRedeemEnabled$.next(!1),this.redeemLinkURL$.next("")})}updateRedeemStatus(g){if(null!=g&&g.redeemRedirectUrl){const d=new URL(g.redeemRedirectUrl);d.searchParams.append("language",this.localeService.getLocale()),this.redeemLinkURL$.next(d.href),this.isRedeemEnabled$.next(!0)}else this.isRedeemEnabled$.next(!1),this.redeemLinkURL$.next("")}isRedeemEnabled(){return this.isRedeemEnabled$.asObservable()}}return(y=X).\u0275fac=function(g){return new(g||y)(_.KVO(p.J6),_.KVO(o.lWV),_.KVO(p.iH),_.KVO(o.k_2),_.KVO(o.Vk6))},y.\u0275prov=_.jDH({token:y,factory:y.\u0275fac,providedIn:"root"}),X})();var b=t(56123),w=t(16229),F=t(10174),Z=t(48765),se=t(48216),Y=t(65597),q=t(78812);let T=(()=>{var y;class X{constructor(g,d,C,Q,j,le,ge,ie,ce,G){var ue;this.injector=C,this.gridService=Q,this.idmService=j,this.refreshUiService=le,this.dialogService=ge,this.snackbar=ie,this.translateService=ce,this.telemetryService=G,this.isDisplayingFailureToast=!1,this.logger=g.getLogger("ResumeUiService"),this.enabled=null===(ue=d.featureEnablement)||void 0===ue?void 0:ue.useGridServer2}initialize(){this.enabled&&(this.logger.info("Initializing"),this.sessionManagerService=this.injector.get(o.PbG),this.initializedSessionManagerService$=this.gridService.getCachedZone().pipe((0,L.n)(g=>this.sessionManagerService.initialize(g.address)),(0,I.s)(1),(0,F.u)(this.sessionManagerService)),this.handleAccountStatusChange(),this.handlePunctualUiRefresh())}isResumable(g){return!!this.enabled&&!!this.getResumableSessionFromCache(g)}get resumableStateChanged$(){return this.enabled?this.sessionManagerService.resumableSessionsChanged$:k.w}quitGame(g){if(!this.enabled)return(0,B.$)("quitGame is not supported!");const d=this.getResumableSessionFromCache(g);return d?this.dialogService.openQuitConfirmationDialog().pipe((0,L.n)(C=>C?this.stopSession(d.sessionId,g):(0,O.of)(!1))):(this.logger.warn("quitGame: cannot find resumable session with appId",g),(0,O.of)(!0))}requestToQuitActiveSessionsIfNeeded(g,d){if(!this.enabled)return(0,O.of)(void 0);const C=this.sessionManagerService.resumableSessions.filter(Q=>g.includes(Q.appId));return 0===C.length?(0,O.of)(void 0):this.requestToQuitSessions(C,d)}requestToQuitSessions(g,d){const C=(0,w.h)(...g.map(Q=>this.stopSession(Q.sessionId,Q.appId)));return this.dialogService.openQuitAndProceedDialog(d).pipe((0,L.n)(Q=>(Q||this.logger.info("requestToQuitSessions: canceled by user"),Q?C:(0,O.of)(!1))),(0,Z.v)(Q=>!0===Q),(0,se.S)(g.length),(0,L.n)(Q=>Q.length===g.length&&Q.every(j=>!0===j)?(0,O.of)(void 0):k.w),(0,I.s)(1),(0,u.M)(Q=>this.logger.info("requestToQuitSessions: all active sessions deleted"),Q=>{this.logger.error("requestToQuitSessions: failed with error",Q)},()=>{this.logger.info("requestToQuitSessions: finished")}))}sendGameQuitEvent(g){const d=this.sessionManagerService.resumableSessions.find(C=>C.sessionId===g);this.telemetryService.push((0,o.QP$)(o.ptg.FromMall,g,null==d?void 0:d.timestamp))}stopSession(g,d){return this.initializedSessionManagerService$.pipe((0,u.M)(C=>this.sendGameQuitEvent(g)),(0,L.n)(C=>C.stop(g)),(0,M.T)(C=>{const Q=C===b.ScErrorCode.Success||!this.getResumableSessionFromCache(d);return Q||this.showQuitGameFailureToast(),Q}))}showQuitGameFailureToast(){this.isDisplayingFailureToast||(this.isDisplayingFailureToast=!0,this.snackbar.open(this.translateService.instant("resumeAffordance.quitFailedMessage"),"",{horizontalPosition:"left"}).afterDismissed().pipe((0,I.s)(1)).subscribe(d=>{this.isDisplayingFailureToast=!1}))}getResumableSessionFromCache(g){return this.sessionManagerService.resumableSessions.find(d=>d.appId===g)}handleAccountStatusChange(){this.idmService.accountStatusChanged.pipe((0,L.n)(g=>(this.logger.info(g.isAuthenticated?"Fetching resumable sessions on user login":"Clearing resumable sessions on user logout"),g.isAuthenticated?this.refreshResumableSessionCache():this.clearResumableSessionCache()))).subscribe()}clearResumableSessionCache(){return(0,O.of)(this.sessionManagerService.clearResumableSessions())}refreshResumableSessionCache(){return this.initializedSessionManagerService$.pipe((0,L.n)(g=>g.getActiveSessions()),(0,M.T)(g=>{g.code===b.ScErrorCode.Success?this.refreshUiService.setContentExpiryInfo(o.sD.SessionChange):this.logger.error("Failed to get active sessions:",g.code)}))}updateResumableState(g){var d;const C=null==g||null===(d=g.sessionInfo)||void 0===d?void 0:d.sessionId;return C?this.initializedSessionManagerService$.pipe((0,L.n)(Q=>Q.getSessionInfo(C)),(0,M.T)(Q=>{Q.code===b.ScErrorCode.Success||Q.code===b.ScErrorCode.SessionTerminatedByAnotherClient?this.refreshUiService.setContentExpiryInfo(o.sD.SessionChange):this.logger.error(`Failed to get session info (${C}): ${Q.code}`)})):(this.logger.error("Session ID is missing in notification"),r.t)}handlePunctualUiRefresh(){this.idmService.accountStatusChanged.pipe((0,L.n)(g=>g.isAuthenticated?this.refreshUiService.sessionChange$:r.t),(0,L.n)(g=>g.source===o.x4T.OnFocus||g.source===o.x4T.OnScreenChange?(this.logger.info("Fetching resumable sessions on focus/navigation"),this.refreshResumableSessionCache()):g.source===o.x4T.OnPushNotification?(this.logger.info("Updating resumable state on push notification"),this.updateResumableState(g.metadata)):(this.logger.info("Ignoring unrecognized trigger source",g.source),r.t))).subscribe()}}return(y=X).\u0275fac=function(g){return new(g||y)(_.KVO(p.J6),_.KVO(o.Vk6),_.KVO(_.zZn),_.KVO(o.Gip),_.KVO(o.k_2),_.KVO(o.F4T),_.KVO(o.o3x),_.KVO(Y.UG),_.KVO(f.c$),_.KVO(q.H0))},y.\u0275prov=_.jDH({token:y,factory:y.\u0275fac,providedIn:"root"}),X})();t(61300)},61102:(xe,de,t)=>{"use strict";t.d(de,{G:()=>A});var e=t(61142),n=t(56106),E=t(27583),O=t(65240),B=t(29370),P=t(48364),k=t(58527);let U=(()=>{var l;class I{}return(l=I).\u0275fac=function(L){return new(L||l)},l.\u0275mod=k.$C({type:l}),l.\u0275inj=k.G2t({}),I})();var r=t(47766);let A=(()=>{var l;class I{}return(l=I).\u0275fac=function(L){return new(L||l)},l.\u0275mod=k.$C({type:l}),l.\u0275inj=k.G2t({imports:[E.bm,P.i,B.m_,O.h,e.MD,U,e.MD,r._N,O.h.forChild(),e.MD,n.YN]}),I})()},30264:(xe,de,t)=>{"use strict";var e=t(74150),n=t(58527),E=t(91724),O=t(61142),B=t(2135),P=t(94485),k=t(51006),U=t(14354),r=t(56106),A=t(65240),l=t(48364),I=t(35770),S=t(33204),L=t(40401),s=t(47766),M=t(19061),u=t(26537),x=t(92632),p=t(35077);let i=(()=>{var ye;class mt{constructor($){if($)throw new Error("HomeModule already loaded; Import in root module only.")}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(ye,12))},ye.\u0275mod=n.$C({type:ye}),ye.\u0275inj=n.G2t({imports:[O.MD,k.YF,r.YN,U.iI,l.i,A.h.forRoot(),I.t,S._K,L.ti,p._w,s._N,M.bm,x.Gg,u.hM]}),mt})();var o=t(80583),_=t(8619),f=t(4208),J=t(84187),a=t(37543),D=t(3457),te=t(35822),N=t(31315),z=t(16229),R=t(43848),v=t(19392),h=t(59859),W=t(35146),ne=t(27731),ee=t(83915),b=t(91384),w=t(72147),F=t(75707),Z=t(65706),se=t(10174),Y=t(14714),q=t(81834),T=t(46356),H=t(1794),y=t(33367),X=t(65597),c=t(26875),g=t(29370),d=t(47973),C=t(99204);function Q(ye,mt){1&ye&&(n.j41(0,"div",7),n.nrm(1,"mat-spinner",8),n.k0s())}function j(ye,mt){if(1&ye&&(n.j41(0,"mat-icon",9),n.EFF(1),n.k0s()),2&ye){const ht=n.XpG();n.xc7("color",ht.toastModel.iconColor),n.R7$(),n.SpI(" ",ht.toastModel.icon," ")}}function le(ye,mt){if(1&ye&&(n.j41(0,"span",10),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&ye){const ht=n.XpG();n.R7$(),n.JRh(n.bMT(2,1,ht.toastModel.textContent))}}function ge(ye,mt){if(1&ye&&(n.j41(0,"span",10),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&ye){const ht=n.XpG();n.R7$(),n.JRh(n.bMT(2,1,ht.toastModel.textContentUseTranslate))}}function ie(ye,mt){if(1&ye){const ht=n.RV6();n.j41(0,"div",7)(1,"button",11),n.bIt("click",function(){n.eBV(ht);const he=n.XpG();return n.Njj(he.handleAction())}),n.j41(2,"span"),n.EFF(3),n.nI1(4,"uppercase"),n.k0s()()()}if(2&ye){const ht=n.XpG();n.R7$(3),n.JRh(n.bMT(4,1,ht.toastModel.button.text))}}let ce=(()=>{var ye;class mt{constructor($){this.data=$,this.toastModel=$.toastModel,this.viewContainerRef=$.viewContainerRef,this.matSnackBar=$.matSnackBar}handleAction(){this.cancel(),this.toastModel.button.action(this.toastModel.button.actionParams)}cancel(){this.matSnackBar.dismiss(),this.viewContainerRef.clear()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(X.ht))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["lib-toast-content"]],decls:10,vars:5,consts:[["fxLayout","row wrap","fxLayoutAlign","space-between center",1,"mat-toast-content","bg-dark-im-hue-5","color-white-hue-3","font-size-sm1"],["class","toast-item-container",4,"ngIf"],["class","md-24 toast-model-icon",3,"color",4,"ngIf"],["fxFlex","","class","toast-ellipsis-text font-body2",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end",1,"button-alignment"],["type","button","mat-icon-button","",1,"toast-close-button",3,"click"],["mat-font-set","material-icons",1,"mat-16","common-toast-close-icon","color-white-hue-4v"],[1,"toast-item-container"],["id","progressIndicator","diameter","13","mode","indeterminate",1,"mat-accent","margin-right-12"],[1,"md-24","toast-model-icon"],["fxFlex","",1,"toast-ellipsis-text","font-body2"],["mat-button","",1,"color-green","font-button1","padding-right-24",3,"click"]],template:function($,he){1&$&&(n.j41(0,"div",0),n.DNE(1,Q,2,0,"div",1)(2,j,2,3,"mat-icon",2)(3,le,3,3,"span",3)(4,ge,3,3,"span",3),n.j41(5,"div",4),n.DNE(6,ie,5,3,"div",1),n.j41(7,"button",5),n.bIt("click",function(){return he.cancel()}),n.j41(8,"mat-icon",6),n.EFF(9,"close"),n.k0s()()()()),2&$&&(n.R7$(),n.Y8G("ngIf",he.toastModel.showProgressIndicator),n.R7$(),n.Y8G("ngIf",he.toastModel.icon),n.R7$(),n.Y8G("ngIf",he.toastModel.textContent),n.R7$(),n.Y8G("ngIf",he.toastModel.textContentUseTranslate),n.R7$(2),n.Y8G("ngIf",he.toastModel.button))},dependencies:[g.An,d.iV,O.bT,C.LG,O.Pc,A.D9],styles:[".mat-toast-content[_ngcontent-%COMP%]{display:flex;margin:8px 16px;background-color:inherit}.mat-toast-content[_ngcontent-%COMP%] .common-toast-close-icon[_ngcontent-%COMP%]{width:16px!important;height:16px!important;line-height:16px!important}.mat-toast-content[_ngcontent-%COMP%] .toast-item-container[_ngcontent-%COMP%]{align-self:center}.mat-toast-content[_ngcontent-%COMP%] .toast-ellipsis-text[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;align-self:center;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mat-toast-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{align-self:center}.mat-toast-content[_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%]{display:flex;align-self:flex-end}.isLtr[_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%]{margin-left:auto}html[dir=ltr][_ngcontent-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%]{--dummy3: 0;margin-left:auto}.isRtl[_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%]{margin-right:auto}html[dir=rtl][_ngcontent-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .button-alignment[_ngcontent-%COMP%]{--dummy3: 0;margin-right:auto}.isLtr[_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-model-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-model-icon[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-model-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-model-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-model-icon[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-model-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-ellipsis-text[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-ellipsis-text[_ngcontent-%COMP%]{padding-right:32px}html[dir=ltr][_ngcontent-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-ellipsis-text[_ngcontent-%COMP%]{--dummy2: 0;padding-right:32px}.isRtl[_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-ellipsis-text[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-ellipsis-text[_ngcontent-%COMP%]{padding-left:32px}html[dir=rtl][_ngcontent-%COMP%] .mat-toast-content[_ngcontent-%COMP%] .toast-ellipsis-text[_ngcontent-%COMP%]{--dummy2: 0;padding-left:32px}.tv-view[_nghost-%COMP%] button.toast-close-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] button.toast-close-button[_ngcontent-%COMP%]{display:none}"]}),mt})();class G{constructor(){}}const ue_defaultPosition_horizontal="start",ue_defaultPosition_vertical="bottom";let ae=(()=>{var ye;class mt{constructor($){this.snackBar=$}showToast($,he){const Le=new X.um;Le.horizontalPosition=he.horizontalPosition||ue_defaultPosition_horizontal,Le.verticalPosition=he.verticalPosition||ue_defaultPosition_vertical,(!!(0,c.isNil)(he.autoHide)||he.autoHide)&&(Le.duration=he.hideDelay||5e3),Le.data={toastModel:he,viewContainerRef:$,matSnackBar:this.snackBar},Le.panelClass=["toast","nv-hig"];const _t=this.snackBar.openFromComponent(ce,Le);return _t.afterDismissed().subscribe(()=>{$.clear()}),!!_t}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(X.UG))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["lib-toast"]],decls:1,vars:0,consts:[[1,"nv-toast-container"]],template:function($,he){1&$&&n.nrm(0,"div",0)},encapsulation:2}),mt})(),Ce=(()=>{var ye;class mt{constructor($){this.translate=$}show($,he){return this.showToast($,he)}showOffline($,he){return this.translate.get("toastMessages.offline").subscribe(Le=>{he.textContent=Le,he.icon="cloud_off",this.showToast($,he)}),!0}showProgress($,he){return he.showProgressIndicator=!0,this.showToast($,he)}showWarning($,he){return he.icon="warning",this.showToast($,he)}showError($,he){return he.icon="error outline",this.showToast($,he)}showToast($,he){return!!$&&($.clear(),$.createComponent(ae).instance.showToast($,he))}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(A.c$))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),Se=(()=>{var ye;class mt{}return(ye=mt).\u0275fac=function($){return new($||ye)},ye.\u0275mod=n.$C({type:ye}),ye.\u0275inj=n.G2t({imports:[X._T,g.m_,d.wG,O.MD,C.D6,A.h]}),mt})();var Ne=function(ye){return ye.Login="Login",ye.Logout="Logout",ye.OpenAccountProfileLink="OpenAccountProfileLink",ye.OpenAccountProfileDialog="OpenAccountProfileDialog",ye.OpenHelpLink="OpenHelpLink",ye.OpenHelpDialog="OpenHelpDialog",ye.OpenSessionReport="OpenSessionReport",ye}(Ne||{});const we={svgIconId:"gallery",name:"menu.gallery",url:a.faX.Gallery},ve={svgIconId:"game_controller",name:"menu.games",url:a.faX.Home},Pe={svgIconId:"settings",name:"toolbar.settings",url:a.faX.Settings},Oe={svgIconId:"search",name:"search.search",url:a.faX.GamesGrid};var Be=t(78812),tt=t(67237),Ee=t(26513),ot=t(31308),We=t(68868),Qe=t(54591),Fe=t(2218);const Xe=["sidenav"],_e=["*"];function He(ye,mt){if(1&ye){const ht=n.RV6();n.qex(0),n.j41(1,"button",7,1),n.bIt("click",function(){const he=n.eBV(ht).$implicit,Le=n.XpG();return n.Njj(Le.onNavigate(he))}),n.j41(3,"div",8)(4,"div",9),n.nrm(5,"mat-icon",10),n.k0s(),n.j41(6,"div",11)(7,"span",12),n.EFF(8),n.nI1(9,"translate"),n.k0s()()()(),n.bVm()}if(2&ye){const ht=mt.$implicit;n.R7$(5),n.Y8G("svgIcon",ht.svgIconId),n.R7$(3),n.JRh(n.bMT(9,2,ht.name))}}var De=function(ye){return ye.Toggle="Toggle",ye.Open="Open",ye.Close="Close",ye}(De||{});let Re=(()=>{var ye;class mt{constructor($,he,Le,qe,_t){this.loggingService=$,this.focusMonitor=he,this.inputModalityService=Le,this.spatialNavigationService=qe,this.focusManager=_t,this.destroy$=new o.B7,this.routeClicked=new n.bkB,this.logger=this.loggingService.getLogger("sidebar.component")}ngAfterViewInit(){this.spatialNavigationService.enabled&&this.sidenav.openedChange.pipe((0,f.Q)(this.destroy$)).subscribe($=>{$?this.startMonitoringFocus():this.stopMonitoringFocus()})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}toggle($){let he=!1;switch($){case De.Toggle:he=!this.sidenav.opened;break;case De.Open:he=!0;break;case De.Close:he=!1;break;default:this.logger.warn(`Invalid toggleType ${$}`)}this.sidenav.toggle(he,this.inputModalityService.lastFocusOrigin)}startMonitoringFocus(){this.lastFocusedElement=this.focusManager.currentFocusedElement,this.focusManager.focusChild(this.container.nativeElement,"initial"),this.focusMonitorSubscription=this.focusMonitor.monitor(this.container.nativeElement,!0).pipe((0,f.Q)(this.destroy$)).subscribe($=>{this.sidenav.opened&&($?this.focusedElement=this.focusManager.currentFocusedElement:this.focusedElement&&"keyboard"===this.inputModalityService.lastFocusOrigin&&this.focusManager.focusViaLastOrigin(this.focusedElement))})}stopMonitoringFocus(){var $;null===($=this.focusMonitorSubscription)||void 0===$||$.unsubscribe(),this.focusMonitorSubscription=void 0,this.focusMonitor.stopMonitoring(this.container.nativeElement),this.lastFocusedElement&&(this.lastFocusedElement===document.activeElement||this.container.nativeElement.contains(document.activeElement))&&(this.focusManager.focusViaLastOrigin(this.lastFocusedElement),this.lastFocusedElement=void 0),this.focusedElement=void 0}onNavigate($){this.toggle(De.Close),this.routeClicked.emit($)}onFocusOut($){this.sidenav.opened&&(this.container.nativeElement.contains($.relatedTarget)||$.relatedTarget===this.lastFocusedElement||this.closeSidebar())}closeSidebar(){this.sidenav.toggle(!1,this.inputModalityService.lastFocusOrigin)}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(s.J6),n.rXU(ot.FN),n.rXU(We.p),n.rXU(M.ED),n.rXU(M.c_))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-sidebar"]],viewQuery:function($,he){if(1&$&&(n.GBs(Xe,7),n.GBs(Xe,5,n.aKT)),2&$){let Le;n.mGM(Le=n.lsd())&&(he.sidenav=Le.first),n.mGM(Le=n.lsd())&&(he.container=Le.first)}},inputs:{routes:"routes"},outputs:{routeClicked:"routeClicked"},ngContentSelectors:_e,decls:7,vars:2,consts:[["sidenav",""],["button",""],["fxFlexFill","",1,"nv-hig",3,"hasBackdrop"],["nvSpatialNavigationContainer","","autoFocus","false",1,"main-sidebar-drawer",3,"focusout"],["fxLayout","column","fxFlex",""],[4,"ngFor","ngForOf"],[1,"main-sidebar-content"],["mat-button","","nvCursorBlockerExempt","",1,"nv-item-button-container","complex-button","font-body2",3,"click"],["fxFlex","","fxLayout","row","fxLayoutAlign","start start"],["fxLayout","row","fxLayoutAlign","center center","fxFlex","none",1,"nv-item-icon"],[3,"svgIcon"],["fxFlexAlign","center","fxLayout","column","fxLayoutAlign","start start","fxFlex","",1,"nv-item-labels"],[1,"font-body2"]],template:function($,he){if(1&$){const Le=n.RV6();n.NAR(),n.j41(0,"mat-drawer-container",2)(1,"mat-drawer",3,0),n.bIt("focusout",function(_t){return n.eBV(Le),n.Njj(he.onFocusOut(_t))}),n.j41(3,"div",4),n.DNE(4,He,10,4,"ng-container",5),n.k0s()(),n.j41(5,"mat-drawer-content",6),n.SdG(6),n.k0s()()}2&$&&(n.Y8G("hasBackdrop",!0),n.R7$(4),n.Y8G("ngForOf",he.routes))},dependencies:[O.Sq,D.DJ,D.sA,D.G2,D.R$,D.UI,d.iV,g.An,Qe.qe,Qe.$C,Qe.$l,Fe.R,A.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}.main-sidebar-drawer[_ngcontent-%COMP%]{width:256px}.main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-button-container[_ngcontent-%COMP%]{height:48px;margin:0;padding:0}.main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{align-self:center}.isLtr[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=ltr][_ngcontent-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:16px}.isRtl[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=rtl][_ngcontent-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:16px}.isLtr[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr][_ngcontent-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl][_ngcontent-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}.main-sidebar-content[_ngcontent-%COMP%]{overflow:hidden}.tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%]{width:400px}.tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:32px;height:32px;width:32px}.isLtr.tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr] .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl.tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl] .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr.tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr] .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl.tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl] .tv-view[_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-sidebar-drawer[_ngcontent-%COMP%] .nv-item-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.tv-view[_nghost-%COMP%] .nv-item-button-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-item-button-container[_ngcontent-%COMP%]{height:88px}"]}),mt})();var K=t(53461),ke=t(81262),Ue=t(12664),et=t(28139),gt=t(44296),vt=t(44186),Mt=t(54676),Rt=t(6006),Ut=t(98504),ct=t(33440),Me=t(53222);const bt=["searchButton"],Tt=["moreMenuButton"];function kt(ye,mt){if(1&ye){const ht=n.RV6();n.j41(0,"nv-search",14),n.bIt("searchInputInteraction",function(he){n.eBV(ht);const Le=n.XpG(2);return n.Njj(Le.onSearchInputInteraction(he))})("searchInputFocusOut",function(he){n.eBV(ht);const Le=n.XpG(2);return n.Njj(Le.onSearchInputFocusOut(he))}),n.k0s()}if(2&ye){const ht=n.XpG(2);n.Y8G("hidden",ht.shouldDisplaySearchButton)("smallWidthMode",ht.isConcealedSearchMode)}}function At(ye,mt){if(1&ye){const ht=n.RV6();n.j41(0,"button",19,2),n.nI1(2,"translate"),n.bIt("click",function(he){n.eBV(ht);const Le=n.XpG(3);return n.Njj(Le.mobileSearchButtonClicked(he))}),n.nrm(3,"mat-icon",20),n.k0s()}2&ye&&n.FS9("matTooltip",n.bMT(2,1,"search.search"))}function mn(ye,mt){1&ye&&n.nrm(0,"div",24)}function rn(ye,mt){if(1&ye&&(n.j41(0,"button",21),n.nI1(1,"translate"),n.DNE(2,mn,1,0,"div",22),n.nrm(3,"mat-icon",23),n.k0s()),2&ye){const ht=n.XpG(3),$=n.sdS(12);n.FS9("matTooltip",n.bMT(1,3,"help.tooltip")),n.Y8G("matMenuTriggerFor",$),n.R7$(2),n.Y8G("ngIf",ht.canShowUDSNotificationIcon)}}function Tn(ye,mt){if(1&ye){const ht=n.RV6();n.j41(0,"button",25),n.bIt("click",function(he){n.eBV(ht);const Le=n.XpG(3);return n.Njj(Le.onLogin(he))}),n.j41(1,"div",26),n.nrm(2,"img",27),n.j41(3,"span",28),n.EFF(4),n.nI1(5,"translate"),n.k0s()()()}2&ye&&(n.R7$(4),n.JRh(n.bMT(5,1,"toolbar.login")))}function wn(ye,mt){if(1&ye&&n.nrm(0,"img",37),2&ye){const ht=n.XpG(4);n.FS9("src",ht.badgeUrl,n.B4B)}}function qn(ye,mt){if(1&ye&&(n.j41(0,"span",38),n.EFF(1),n.k0s()),2&ye){const ht=n.XpG(4);n.R7$(),n.JRh(ht.currentPlanShortName)}}function di(ye,mt){if(1&ye){const ht=n.RV6();n.j41(0,"button",29,3),n.bIt("touchstart",function(){n.eBV(ht);const he=n.sdS(1),Le=n.sdS(7);return n.Njj("none"===Le.style.display?he.show(500):null)}),n.j41(2,"div",30)(3,"div",31),n.nrm(4,"img",27),n.DNE(5,wn,1,1,"img",32),n.k0s(),n.j41(6,"div",33,4)(8,"span",34),n.EFF(9),n.k0s(),n.DNE(10,qn,2,1,"span",35),n.k0s(),n.j41(11,"mat-icon",36),n.EFF(12,"arrow_drop_down"),n.k0s()()()}if(2&ye){const ht=n.XpG(3),$=n.sdS(4);n.FS9("matTooltip",ht.displayName),n.Y8G("matMenuTriggerFor",$),n.R7$(2),n.Y8G("fxLayoutGap",ht.badgeUrl?"0":"8px"),n.R7$(3),n.Y8G("ngIf",ht.badgeUrl),n.R7$(4),n.JRh(ht.displayName),n.R7$(),n.Y8G("ngIf",ht.currentPlanShortName)}}function gi(ye,mt){if(1&ye&&(n.qex(0),n.DNE(1,At,4,3,"button",15)(2,rn,4,5,"button",16)(3,Tn,6,3,"button",17)(4,di,13,6,"button",18),n.bVm()),2&ye){const ht=n.XpG(2);n.R7$(),n.Y8G("ngIf",ht.searchVisible&&ht.shouldDisplaySearchButton),n.R7$(),n.Y8G("ngIf",ht.loggedIn),n.R7$(),n.Y8G("ngIf",!ht.loggedIn),n.R7$(),n.Y8G("ngIf",ht.loggedIn)}}function Et(ye,mt){if(1&ye&&(n.j41(0,"div",11),n.DNE(1,kt,1,2,"nv-search",12)(2,gi,5,4,"ng-container",13),n.k0s()),2&ye){const ht=n.XpG();n.Y8G("fxLayoutGap",ht.isConcealedSearchMode?"8px":"16px"),n.R7$(),n.Y8G("ngIf",ht.searchVisible),n.R7$(),n.Y8G("ngIf",!ht.isConcealedSearchMode||ht.shouldDisplaySearchButton)}}function Qt(ye,mt){1&ye&&n.nrm(0,"div",42)}function Gt(ye,mt){if(1&ye){const ht=n.RV6();n.j41(0,"button",39),n.bIt("click",function(he){n.eBV(ht);const Le=n.XpG();return n.Njj(Le.onUDSIconClick(he))}),n.j41(1,"div",40),n.DNE(2,Qt,1,0,"div",41),n.j41(3,"span"),n.EFF(4),n.nI1(5,"translate"),n.k0s()()()}if(2&ye){const ht=n.XpG();n.R7$(2),n.Y8G("ngIf",ht.canShowUDSNotificationIcon),n.R7$(2),n.JRh(n.bMT(5,2,"uds.iconTooltip"))}}let st=(()=>{var ye;class mt{constructor($,he,Le,qe,_t,Nt,Bt,zt){var tn;this.gameSearchFilterService=he,this.loggingService=Le,this.appBarService=qe,this.focusManager=_t,this.udsHelperService=Nt,this.browseUxService=Bt,this.ngZone=zt,this.loggedIn=!1,this.destroy$=new o.B7,this.canShowUDSIcon=!1,this.canShowUDSNotificationIcon=!1,this.keyboardGuidanceKey="",this.searchVisible=!0,this.shouldDisplaySearchButton=!1,this.appBarTemplate="",this.menuClicked=new n.bkB,this.closeSidebar=new n.bkB,this.loginClicked=new n.bkB,this.logoutClicked=new n.bkB,this.accountProfileClicked=new n.bkB,this.sendFeedbackClicked=new n.bkB,this.helpClicked=new n.bkB,this.keyboardGuidanceKey=null===(tn=$.client)||void 0===tn?void 0:tn.invokeKeyboardGuidanceKey,this.logger=this.loggingService.getLogger("toolbar.component")}ngOnInit(){this.setAppBarInitial(),this.appBarService.actionClicked$.pipe((0,f.Q)(this.destroy$)).subscribe($=>{"menu"===$?this.menuClicked.emit():"arrow_left"===$&&this.handleNavButtonWithConcealedSearchMode()}),this.gameSearchFilterService.searchMode().pipe((0,K.F)(),(0,f.Q)(this.destroy$)).subscribe($=>{this.isConcealedSearchMode=$===tt.k0.Concealed,this.shouldDisplaySearchButton=$===tt.k0.Concealed,this.isConcealedSearchMode||this.appBarService.setNavButtonMenu()}),this.setupListeners(),this.setUDSIconVisibilityState(),this.udsHelperService.getUdsIconVisibiltityState().pipe((0,f.Q)(this.destroy$)).subscribe($=>this.canShowUDSNotificationIcon=$)}onSearchInputFocusOut($){const he=this.gameSearchFilterService.isGamesGridViewActive;he&&0!==$.currentQuery.length||this.handleNavButtonWithConcealedSearchMode(he)}handleNavButtonWithConcealedSearchMode($=!1){!this.isConcealedSearchMode||this.shouldDisplaySearchButton||($?this.appBarService.setNavButtonArrow():this.appBarService.setNavButtonMenu(),this.appBarService.setShrinkNavigation(!1),this.shouldDisplaySearchButton=!0,this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{var he,Le,qe,_t;const Bt=this.loggedIn&&(null===(he=this.moreMenuButton)||void 0===he?void 0:he.nativeElement)&&"none"!==(null===(Le=this.moreMenuButton)||void 0===Le?void 0:Le.nativeElement.style.display)?null===(qe=this.moreMenuButton)||void 0===qe?void 0:qe.nativeElement:null===(_t=this.searchButton)||void 0===_t?void 0:_t.nativeElement;this.focusManager.focusViaLastOrigin(Bt)})}))}setupListeners(){this.appBarService.template$.pipe((0,f.Q)(this.destroy$)).subscribe($=>{this.appBarTemplate=$.id,"main"===$.id&&(this.searchVisible=$.params.hasOwnProperty("searchVisible")&&$.params.searchVisible)}),this.gameSearchFilterService.isGamesGridViewActive$.pipe((0,f.Q)(this.destroy$)).subscribe($=>{$||this.isConcealedSearchMode&&(this.appBarService.setNavButtonMenu(),this.appBarService.setShrinkNavigation(!1),this.shouldDisplaySearchButton=!0)})}onSearchInputInteraction($){switch($.interactionType){case ke.BE.Click:!this.searchComponent.activated&&this.searchComponent.isInputFocused&&this.browseUxService.showInvokeKeyboardToast(this.keyboardGuidanceKey),this.enableSearchResultRoute($);break;case ke.BE.Input:this.enableSearchResultRoute($)}}mobileSearchButtonClicked($){this.shouldDisplaySearchButton&&this.appBarService.setShrinkNavigation(!0),this.shouldDisplaySearchButton=!1,this.closeSidebar.emit(),this.appBarService.setNavButtonArrow(),setTimeout(()=>{var he;return null===(he=this.searchComponent)||void 0===he?void 0:he.onInputContainerClick($)})}onSendFeedback($){this.sendFeedbackClicked.emit($)}onLogin($){this.loginClicked.emit($)}onLogout($){this.logoutClicked.emit($)}goToAccount($){this.accountProfileClicked.emit($)}goToSupport($){this.helpClicked.emit($)}shouldSlideOutLogo(){this.logger.info("Sliding GFN logo out"),this.appBarService.setLogoRevealed()}setUDSIconVisibilityState(){this.udsHelperService.getUdsNotificationState().pipe((0,f.Q)(this.destroy$)).subscribe(({canShowIcon:$,hasNotification:he})=>{this.canShowUDSIcon=$,this.canShowUDSNotificationIcon=he})}onUDSIconClick($){this.udsHelperService.showDiagnosticDialog(a.zOq.Mall)}ngOnDestroy(){this.logger.info("Destroying view!"),this.destroy$.next(!0),this.destroy$.complete()}setAppBarInitial(){this.logoBehavior=L.AL.ShowInitialReveal,this.appBarService.setAll({title:this.appBarService.getCurrentTitle(),info:{entry:"",params:{}},defaultNavButton:{id:"menu",tooltip:"toolbar.menu"},navButtonSetToDefault:!0,icons:[],template:this.appBarService.getCurrentTemplate(),active:!1})}enableSearchResultRoute($){$.currentQuery.length>0&&(this.gameSearchFilterService.navigateToGamesGrid(),this.closeSidebar.emit(),this.appBarService.setNavButtonArrow())}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(a.Vk6),n.rXU(tt.SU),n.rXU(s.J6),n.rXU(L.gZ),n.rXU(M.c_),n.rXU(a.umq),n.rXU(a.Tzh),n.rXU(n.SKi))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-toolbar"]],viewQuery:function($,he){if(1&$&&(n.GBs(bt,5,n.aKT),n.GBs(Tt,5,n.aKT),n.GBs(Ue.S,5)),2&$){let Le;n.mGM(Le=n.lsd())&&(he.searchButton=Le.first),n.mGM(Le=n.lsd())&&(he.moreMenuButton=Le.first),n.mGM(Le=n.lsd())&&(he.searchComponent=Le.first)}},inputs:{loggedIn:"loggedIn",badgeUrl:"badgeUrl",displayName:"displayName",currentPlanShortName:"currentPlanShortName"},outputs:{menuClicked:"menuClicked",closeSidebar:"closeSidebar",loginClicked:"loginClicked",logoutClicked:"logoutClicked",accountProfileClicked:"accountProfileClicked",sendFeedbackClicked:"sendFeedbackClicked",helpClicked:"helpClicked"},decls:20,vars:18,consts:[["userInfoMenu","matMenu"],["helpMenu","matMenu"],["searchButton",""],["accountTooltip","matTooltip"],["accountField",""],["nvSpatialNavigationGroup","","navigateFunction","normal",3,"logoBehavior"],[3,"ngSwitch"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","grow",3,"fxLayoutGap",4,"ngSwitchCase"],["nvMatMenuFocusFixup","",1,"toolbar-dropdown"],["mat-menu-item","",3,"click"],["mat-menu-item","","data-focus-loss-exempt","",3,"click",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","grow",3,"fxLayoutGap"],["class","search-box-container","fxFlex","",3,"hidden","smallWidthMode","searchInputInteraction","searchInputFocusOut",4,"ngIf"],[4,"ngIf"],["fxFlex","",1,"search-box-container",3,"searchInputInteraction","searchInputFocusOut","hidden","smallWidthMode"],["mat-icon-button","","nvDisableTooltipIfNeeded","","matTooltipClass","mat-tooltip-font-body3","class","feedback-button",3,"matTooltip","click",4,"ngIf"],["mat-button","","data-focus-loss-exempt","","nvDisableTooltipIfNeeded","","class","help-button hig-button-icon","matTooltipClass","mat-tooltip-font-body3",3,"matMenuTriggerFor","matTooltip",4,"ngIf"],["mat-button","","class","user-info user-logged-out font-button2",3,"click",4,"ngIf"],["mat-button","","class","user-info","matTooltipClass","mat-tooltip-font-body3",3,"matMenuTriggerFor","matTooltip","touchstart",4,"ngIf"],["mat-icon-button","","nvDisableTooltipIfNeeded","","matTooltipClass","mat-tooltip-font-body3",1,"feedback-button",3,"click","matTooltip"],["svgIcon","search"],["mat-button","","data-focus-loss-exempt","","nvDisableTooltipIfNeeded","","matTooltipClass","mat-tooltip-font-body3",1,"help-button","hig-button-icon",3,"matMenuTriggerFor","matTooltip"],["class","notification-badge help-icon-badge-position",4,"ngIf"],["svgIcon","help"],[1,"notification-badge","help-icon-badge-position"],["mat-button","",1,"user-info","user-logged-out","font-button2",3,"click"],["fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","8px"],["src","assets/img/avatar_generic_118.webp",1,"avatar-img"],["fxHide.lt-400","",1,"login"],["mat-button","","matTooltipClass","mat-tooltip-font-body3",1,"user-info",3,"touchstart","matMenuTriggerFor","matTooltip"],["fxLayout","row","fxLayoutAlign","start center",3,"fxLayoutGap"],[1,"avatar"],["class","avatar-badge",3,"src",4,"ngIf"],["fxLayout","column","fxHide.lt-md","",1,"display-name"],[1,"username","font-body2"],["class","font-body3 current-plan",4,"ngIf"],[1,"material-icons"],[1,"avatar-badge",3,"src"],[1,"font-body3","current-plan"],["mat-menu-item","","data-focus-loss-exempt","",3,"click"],["fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","8px",1,"feedback-button"],["class","notification-badge",4,"ngIf"],[1,"notification-badge"]],template:function($,he){if(1&$){const Le=n.RV6();n.j41(0,"nv-app-bar",5),n.qex(1,6),n.DNE(2,Et,3,3,"div",7),n.bVm(),n.k0s(),n.j41(3,"mat-menu",8,0)(5,"button",9),n.bIt("click",function(_t){return n.eBV(Le),n.Njj(he.goToAccount(_t))}),n.EFF(6),n.nI1(7,"translate"),n.k0s(),n.j41(8,"button",9),n.bIt("click",function(_t){return n.eBV(Le),n.Njj(he.onLogout(_t))}),n.EFF(9),n.nI1(10,"translate"),n.k0s()(),n.j41(11,"mat-menu",8,1)(13,"button",9),n.bIt("click",function(_t){return n.eBV(Le),n.Njj(he.onSendFeedback(_t))}),n.EFF(14),n.nI1(15,"translate"),n.k0s(),n.DNE(16,Gt,6,4,"button",10),n.j41(17,"button",9),n.bIt("click",function(_t){return n.eBV(Le),n.Njj(he.goToSupport(_t))}),n.EFF(18),n.nI1(19,"translate"),n.k0s()()}2&$&&(n.AVh("low-width-search-box",he.isConcealedSearchMode),n.Y8G("logoBehavior",he.logoBehavior),n.R7$(),n.Y8G("ngSwitch",he.appBarTemplate),n.R7$(),n.Y8G("ngSwitchCase","main"),n.R7$(4),n.SpI(" ",n.bMT(7,10,"toolbar.account")," "),n.R7$(3),n.SpI(" ",n.bMT(10,12,"toolbar.logout")," "),n.R7$(5),n.SpI(" ",n.bMT(15,14,"feedback.send")," "),n.R7$(2),n.Y8G("ngIf",he.canShowUDSIcon),n.R7$(2),n.SpI(" ",n.bMT(19,16,"help.visitSupport")," "))},dependencies:[O.bT,O.ux,O.e1,D.DJ,D.BO,D.sA,D.UI,et.Om,d.iV,gt.pI,gt.gy,gt.fS,g.An,vt.oV,Fe.$,Mt.PJ,Rt.F,Ut.tH,Ue.S,ct.I,Me.M,A.D9],styles:['.constants-position-relative[_ngcontent-%COMP%]{position:relative}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.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}.nv-custom-icons[_ngcontent-%COMP%]{display:inline-block;font-family:nvCustomIcons!important;font-variant:normal;color:gray;-webkit-font-smoothing:antialiased}nv-app-bar[_ngcontent-%COMP%]{height:56px;background:#393939;box-shadow:0 3px 3px -1px #000,0 4px 5px #00000019,0 1px 10px #00000015;position:relative;z-index:10}nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{height:40px;width:auto;align-self:center}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{padding:0 0 0 8px}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{--dummy: 0;padding:0 0 0 8px}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{padding:0 8px 0 0}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{--dummy: 0;padding:0 8px 0 0}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}@media screen and (max-width: 430px) and (max-height: 932px) and (orientation: portrait){.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}}nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%]{width:40px}nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-img[_ngcontent-%COMP%]{width:24px;height:24px;align-self:center}nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{position:relative;height:17px;width:auto;top:9px}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{right:11px}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{left:34px}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{padding-left:4px}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{--dummy1: 0;padding-left:4px}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{padding-right:4px}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{--dummy1: 0;padding-right:4px}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{padding-right:8px}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{--dummy2: 0;padding-right:8px}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{padding-left:8px}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{--dummy2: 0;padding-left:8px}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{padding-left:0}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{--dummy1: 0;padding-left:0}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{padding-right:0}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{--dummy1: 0;padding-right:0}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{text-align:left}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{--dummy0: 0;text-align:left}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{text-align:right}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%]{--dummy0: 0;text-align:right}nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .display-name[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:64px;max-width:144px}nv-app-bar[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%]{width:24px;height:24px}nv-app-bar[_ngcontent-%COMP%] .mat-icon-button.feedback-button[_ngcontent-%COMP%]{width:40px;height:40px}nv-app-bar[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%], nv-app-bar[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%]{min-width:40px;line-height:initial}nv-app-bar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#777}.isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .search-box-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .search-box-container[_ngcontent-%COMP%]{margin-left:20px}html[dir=ltr][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .search-box-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:20px}.isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .search-box-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .search-box-container[_ngcontent-%COMP%]{margin-right:20px}html[dir=rtl][_ngcontent-%COMP%] nv-app-bar[_ngcontent-%COMP%] .search-box-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:20px}nv-app-bar[_ngcontent-%COMP%] .low-width-search-box[_ngcontent-%COMP%] .search-box-container[_ngcontent-%COMP%]{margin:0}nv-app-bar[_ngcontent-%COMP%] .current-plan[_ngcontent-%COMP%]:empty:after{content:".";visibility:hidden}.notification-badge[_ngcontent-%COMP%]{height:8px;width:8px;background:#76b900;border-radius:50%}.help-icon-badge-position[_ngcontent-%COMP%]{position:absolute;top:3px}.isLtr[_nghost-%COMP%] .help-icon-badge-position[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .help-icon-badge-position[_ngcontent-%COMP%]{right:3px}html[dir=ltr][_ngcontent-%COMP%] .help-icon-badge-position[_ngcontent-%COMP%]{--dummy6: 0;right:3px}.isRtl[_nghost-%COMP%] .help-icon-badge-position[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .help-icon-badge-position[_ngcontent-%COMP%]{left:3px}html[dir=rtl][_ngcontent-%COMP%] .help-icon-badge-position[_ngcontent-%COMP%]{--dummy6: 0;left:3px}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] button.hig-button-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] button.hig-button-icon[_ngcontent-%COMP%]{min-width:70px;min-height:70px;max-height:70px}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:32px;height:32px;width:32px}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{padding:0;height:70px}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info.user-logged-out[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info.user-logged-out[_ngcontent-%COMP%]{padding:12px 16px}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%]{width:fit-content;height:fit-content}.isLtr.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%]{margin:0 14px}html[dir=ltr] .tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%]{--dummy: 0;margin:0 14px}.isRtl.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%]{margin:0 14px}html[dir=rtl] .tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .avatar[_ngcontent-%COMP%]{--dummy: 0;margin:0 14px}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-img[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-img[_ngcontent-%COMP%]{width:40px;height:40px;align-self:center}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{height:24px}.isLtr.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{right:15px}.isRtl.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] img.avatar-badge[_ngcontent-%COMP%]{left:30px}.tv-view[_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .feedback-button.hig-button-icon.mat-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] nv-app-bar[_ngcontent-%COMP%] .feedback-button.hig-button-icon.mat-button[_ngcontent-%COMP%]{width:fit-content;height:fit-content}']}),mt})();const Dt=["*"];function Ot(ye,mt){if(1&ye){const ht=n.RV6();n.j41(0,"gfn-toolbar",3),n.bIt("menuClicked",function(){n.eBV(ht);const he=n.XpG();return n.Njj(he.onMenuClicked())})("closeSidebar",function(){n.eBV(ht);const he=n.XpG();return n.Njj(he.onCloseSidebar())})("loginClicked",function(he){n.eBV(ht);const Le=n.XpG();return n.Njj(Le.onLoginClicked(he))})("logoutClicked",function(he){n.eBV(ht);const Le=n.XpG();return n.Njj(Le.onLogoutClicked(he))})("accountProfileClicked",function(he){n.eBV(ht);const Le=n.XpG();return n.Njj(Le.onAccountProfileClicked(he))})("sendFeedbackClicked",function(he){n.eBV(ht);const Le=n.XpG();return n.Njj(Le.onSendFeedbackClicked(he))})("helpClicked",function(he){n.eBV(ht);const Le=n.XpG();return n.Njj(Le.onVisitSupportClicked(he))}),n.k0s()}if(2&ye){const ht=n.XpG();n.Y8G("loggedIn",null==ht.userState?null:ht.userState.loggedIn)("badgeUrl",null==ht.userState?null:ht.userState.badgeUrl)("displayName",null==ht.userState?null:ht.userState.displayName)("currentPlanShortName",null==ht.userState?null:ht.userState.membershipShortDescription)}}let at=(()=>{var ye;class mt{get onRouteClicked$(){return this.routeClickedSubject.asObservable()}get onAccountActionClicked$(){return this.accountActionClickedSubject.asObservable()}get onSendFeedbackClicked$(){return this.sendFeedbackClickedSubject.asObservable()}get onHelpClicked$(){return this.helpClickedSubject.asObservable()}oobeCompleted(){this.toolbarEnabled$.asObservable().pipe((0,_.p)($=>$),(0,Z.s)(1),(0,f.Q)(this.destroy$)).subscribe($=>this.gfnToolbar.shouldSlideOutLogo())}constructor($){this.destroy$=new o.B7,this.routeClickedSubject=new o.B7,this.accountActionClickedSubject=new o.B7,this.sendFeedbackClickedSubject=new o.B7,this.helpClickedSubject=new o.B7,this.showToolBar=!1,this.toolbarEnabled$=new Ee.t(!1),this.onLoginClicked=$.guard(M.HK.Link,this.onLoginClicked.bind(this)),this.onAccountProfileClicked=$.guard(M.HK.Link,this.onAccountProfileClicked.bind(this)),this.onVisitSupportClicked=$.guard(M.HK.Link,this.onVisitSupportClicked.bind(this))}ngOnInit(){setTimeout(()=>{this.showToolBar=!0,setTimeout(()=>{this.toolbarEnabled$.next(!0)})})}onMenuClicked(){this.gfnSidebar.toggle(De.Toggle)}onCloseSidebar(){this.gfnSidebar.toggle(De.Close)}onRouteClicked($){this.routeClickedSubject.next($)}onLoginClicked($){this.accountActionClickedSubject.next({type:Ne.Login,event:$})}onLogoutClicked($){this.accountActionClickedSubject.next({type:Ne.Logout,event:$})}onAccountProfileClicked($){this.accountActionClickedSubject.next({type:Ne.OpenAccountProfileLink,event:$})}onSendFeedbackClicked($){this.sendFeedbackClickedSubject.next($)}onVisitSupportClicked($){this.helpClickedSubject.next({type:Ne.OpenHelpLink,event:$})}ngOnDestroy(){this.routeClickedSubject.complete(),this.accountActionClickedSubject.complete(),this.sendFeedbackClickedSubject.complete(),this.destroy$.next(!0),this.destroy$.complete()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(M.gE))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-desktop-navigation"]],viewQuery:function($,he){if(1&$&&(n.GBs(Re,5),n.GBs(st,5)),2&$){let Le;n.mGM(Le=n.lsd())&&(he.gfnSidebar=Le.first),n.mGM(Le=n.lsd())&&(he.gfnToolbar=Le.first)}},inputs:{userState:"userState",routes:"routes",activatedRoute:"activatedRoute"},ngContentSelectors:Dt,decls:4,vars:2,consts:[["fxLayout","column","fxFlexFill",""],["class","main-toolbar","fxFlex","0 0 auto",3,"loggedIn","badgeUrl","displayName","currentPlanShortName","menuClicked","closeSidebar","loginClicked","logoutClicked","accountProfileClicked","sendFeedbackClicked","helpClicked",4,"ngIf"],["fxFlex","","fxFlexFill","",1,"common-window-content","common-container-overflow",3,"routeClicked","routes"],["fxFlex","0 0 auto",1,"main-toolbar",3,"menuClicked","closeSidebar","loginClicked","logoutClicked","accountProfileClicked","sendFeedbackClicked","helpClicked","loggedIn","badgeUrl","displayName","currentPlanShortName"]],template:function($,he){1&$&&(n.NAR(),n.j41(0,"div",0),n.DNE(1,Ot,1,4,"gfn-toolbar",1),n.j41(2,"gfn-sidebar",2),n.bIt("routeClicked",function(qe){return he.onRouteClicked(qe)}),n.SdG(3),n.k0s()()),2&$&&(n.R7$(),n.Y8G("ngIf",he.showToolBar),n.R7$(),n.Y8G("routes",he.routes))},dependencies:[O.bT,D.DJ,D.G2,D.UI,st,Re],styles:["gfn-toolbar[_ngcontent-%COMP%]{z-index:10}nv-product-tour[_ngcontent-%COMP%]{z-index:101}"]}),mt})();var ft=t(36877),yt=t(80282);const sn=["*"],on="font-body3",$e={type:Ne.Login,text:"toolbar.login",svgIconId:"account_circle2",fontTypeClass:on,loggedIn:!1},kn=[{type:Ne.OpenHelpDialog,text:"help.tooltip",svgIconId:"help",fontTypeClass:on}];let Yn=(()=>{var ye;class mt{get onRouteClicked$(){return this.routeClickedSubject.asObservable()}get onAccountActionClicked$(){return this.accountActionClickedSubject.asObservable()}get onSendFeedbackClicked$(){return this.sendFeedbackClickedSubject.asObservable()}get onHelpClicked$(){return this.helpClickedSubject.asObservable()}oobeCompleted(){}constructor($,he,Le,qe,_t,Nt){var Bt;this.loggingService=he,this.el=Le,this.ngZone=qe,this.matDialog=_t,this.localeService=Nt,this.accountInfoSidebarItem=$e,this.pageNavSidebarItems=[],this.modalNavSidebarItems=[],this.searchBarVisible=!1,this.hideAccountItemWhenCollapsed=!1,this.destroy$=new o.B7,this.routeClickedSubject=new o.B7,this.accountActionClickedSubject=new o.B7,this.sendFeedbackClickedSubject=new o.B7,this.helpClickedSubject=new o.B7,this.logger=this.loggingService.getLogger("gfn/TvNavigationView"),this.hideAccountItemWhenCollapsed=!(null==$||null===(Bt=$.featureEnablement)||void 0===Bt||!Bt.useNewSettingsLayout)}ngAfterViewInit(){this.ngZone.runOutsideAngular(()=>{(0,ft.R)(this.el.nativeElement,"keydown").pipe((0,_.p)($=>"Escape"===$.key),(0,f.Q)(this.destroy$)).subscribe(this.onEscape.bind(this)),(0,ft.R)(document,"keydown").pipe((0,_.p)($=>"Escape"===$.key&&!$.defaultPrevented&&!this.higSidebar.expand&&!this.matDialog.openDialogs.length&&document.activeElement===document.body),(0,f.Q)(this.destroy$)).subscribe(this.onEscape.bind(this))})}ngOnChanges($){var he,Le,qe,_t,Nt,Bt,zt,tn,pn,Vn,Jn,Di;const xi=null===(he=$.userState)||void 0===he?void 0:he.previousValue,Wi=null===(Le=$.userState)||void 0===Le?void 0:Le.currentValue,jn=null===(qe=$.routes)||void 0===qe?void 0:qe.previousValue,_i=null===(_t=$.routes)||void 0===_t?void 0:_t.currentValue,Zi=null===(Nt=$.activatedRoute)||void 0===Nt?void 0:Nt.previousValue,Ai=null===(Bt=$.activatedRoute)||void 0===Bt?void 0:Bt.currentValue,Bo=null===(zt=$.showUdsNotificationIcon)||void 0===zt?void 0:zt.previousValue,Vo=null===(tn=$.showUdsNotificationIcon)||void 0===tn?void 0:tn.currentValue;(null!==(pn=$.userState)&&void 0!==pn&&pn.firstChange||this.hasUserStateChanged(xi,Wi))&&(this.updateAccountInfoSidebarItem(),this.updateModalNavSidebarItems(this.userState.loggedIn)),(null!==(Vn=$.routes)&&void 0!==Vn&&Vn.firstChange||this.hasRoutesChanged(jn,_i))&&this.updatePageNavSidebarItems(),(null!==(Jn=$.activatedRoute)&&void 0!==Jn&&Jn.firstChange||this.hasActivatedRouteChanged(Zi,Ai))&&this.updateCurrentSelectedItem(),(null!==(Di=$.showUdsNotificationIcon)&&void 0!==Di&&Di.firstChange||Bo!==Vo)&&this.updateSessionReportNotificationItem()}sidebarItemClicked($){const he=$.itemType,Le=$.event;"object"==typeof he?this.handleRouteClicked(he,!0):"string"==typeof he&&this.handleActionClicked(he,Le)}onEscape($){const he=this.higSidebar.expand&&this.activatedRoute.url!==a.faX.Home;if(he||!this.higSidebar.expand){if($.preventDefault(),$.stopPropagation(),he){const _t=this.routes.find(Nt=>Nt.url===a.faX.Home);this.handleRouteClicked(_t,!1)}this.higSidebar.moveFocusOnSelectedItem(this.localeService.isRTLLayoutEnabled?"right":"left")}}handleRouteClicked($,he){const Le={...$.navigationState,enableInitFocusOnNavigate:he},qe={...$,navigationState:Le};this.routeClickedSubject.next(qe)}handleActionClicked($,he){switch($){case Ne.Login:this.accountActionClickedSubject.next({type:Ne.Login,event:he});break;case Ne.OpenAccountProfileDialog:this.accountActionClickedSubject.next({type:Ne.OpenAccountProfileDialog,event:he});break;case Ne.OpenHelpDialog:this.helpClickedSubject.next({type:Ne.OpenHelpDialog,event:he});break;case Ne.Logout:this.accountActionClickedSubject.next({type:Ne.Logout,event:he});break;default:this.logger.warn(`Invalid NavActionType: ${$}`)}}updateAccountInfoSidebarItem(){const $=this.userState.loggedIn;this.accountInfoSidebarItem={...this.accountInfoSidebarItem,type:$?Ne.OpenAccountProfileDialog:$e.type,text:$?this.userState.displayName:$e.text,badgeUrl:this.userState.badgeUrl,subtext:this.userState.membershipShortDescription,loggedIn:$}}updatePageNavSidebarItems(){this.pageNavSidebarItems=this.routes.map($=>({type:$,text:$.name,svgIconId:$.svgIconId,fontTypeClass:on}))}updateModalNavSidebarItems($){const he=this.modalNavSidebarItems.map(qe=>qe.type),Le=kn.every(qe=>he.includes(qe.type));$?Le||(this.modalNavSidebarItems=this.modalNavSidebarItems.concat(kn)):this.modalNavSidebarItems=this.modalNavSidebarItems.filter(qe=>qe.type!==Ne.OpenHelpDialog&&qe.type!==Ne.OpenHelpLink&&qe.type!==Ne.Logout),this.updateSessionReportNotificationItem()}updateSessionReportNotificationItem(){const $=this.modalNavSidebarItems.find(he=>he.type===Ne.OpenHelpDialog);$&&($.hasNotificationBadge=this.showUdsNotificationIcon,this.modalNavSidebarItems=[...this.modalNavSidebarItems])}updateCurrentSelectedItem(){this.currentSelectedItem&&(this.currentSelectedItem.fontTypeClass=on);for(const $ of this.pageNavSidebarItems)if($.type.url===this.activatedRoute.url)return this.currentSelectedItem=$,void(this.currentSelectedItem.fontTypeClass="font-sub3");this.logger.warn(`No matched sidebar item with current activated route: ${this.activatedRoute}`)}hasUserStateChanged($,he){return(null==$?void 0:$.loggedIn)!==(null==he?void 0:he.loggedIn)||(null==$?void 0:$.membershipShortDescription)!==(null==he?void 0:he.membershipShortDescription)}hasRoutesChanged($,he){if(!$&&!he)return!1;if((null==$?void 0:$.length)!==(null==he?void 0:he.length))return!0;const Le=$.map(_t=>_t.url),qe=he.map(_t=>_t.url);return Le.some(_t=>!qe.includes(_t))}hasActivatedRouteChanged($,he){return he&&(null==$?void 0:$.url)!==he.url}ngOnDestroy(){this.routeClickedSubject.complete(),this.accountActionClickedSubject.complete(),this.sendFeedbackClickedSubject.complete(),this.helpClickedSubject.complete(),this.destroy$.next(!0),this.destroy$.complete()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(a.Vk6),n.rXU(s.J6),n.rXU(n.aKT),n.rXU(n.SKi),n.rXU(u.bZ),n.rXU(s.iH))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-tv-navigation"]],viewQuery:function($,he){if(1&$&&n.GBs(M._m,5),2&$){let Le;n.mGM(Le=n.lsd())&&(he.higSidebar=Le.first)}},inputs:{userState:"userState",routes:"routes",activatedRoute:"activatedRoute",showUdsNotificationIcon:"showUdsNotificationIcon"},features:[n.OA$],ngContentSelectors:sn,decls:4,vars:6,consts:[["fxLayout","row","fxFlexFill","",1,"common-window-content"],[1,"sidebar",3,"itemClicked","enlargeFocusedItem","currentSelectedItem","accountInfoSidebarItem","pageNavSidebarItems","modalNavSidebarItems","hideAccountItemWhenCollapsed"],["fxLayout","column","fxFlexFill",""]],template:function($,he){1&$&&(n.NAR(),n.j41(0,"div",0)(1,"nv-hig-sidebar",1),n.bIt("itemClicked",function(qe){return he.sidebarItemClicked(qe)}),n.k0s(),n.j41(2,"div",2),n.SdG(3),n.k0s()()),2&$&&(n.R7$(),n.Y8G("enlargeFocusedItem",!0)("currentSelectedItem",he.currentSelectedItem)("accountInfoSidebarItem",he.accountInfoSidebarItem)("pageNavSidebarItems",he.pageNavSidebarItems)("modalNavSidebarItems",he.modalNavSidebarItems)("hideAccountItemWhenCollapsed",he.hideAccountItemWhenCollapsed))},dependencies:[D.DJ,D.G2,yt._],styles:[".constants-position-relative[_ngcontent-%COMP%]{position:relative}nv-hig-sidebar[_ngcontent-%COMP%]{--hig-sidebar-bg: rgba(0, 0, 0, 0);--hig-sidebar-expand-width: 400px;--hig-sidebar-collapse-width: 120px;--hig-sidebar-icon-size: 32px;--hig-sidebar-icon-default-color: rgba(255, 255, 255, .6);--hig-sidebar-expanded-icon-gap-size: 38px;--hig-sidebar-layout-gap-size: 0;--hig-sidebar-layout-first-item-top-gap: 0;--hig-sidebar-button-padding-top-bottom-size: 40px;--hig-sidebar-button-padding-left-right-size: 28px;--hig-sidebar-button-left-indent: 32px;--hig-sidebar-item-selected-left-border-size: 8px;--hig-sidebar-item-selected-icon-color: #ffffff;--hig-sidebar-account-icon-size: 68px;--hig-sidebar-account-layout-margin-top: 56px;--hig-sidebar-expanded-account-with-badge-icon-gap-size: -8px;--hig-sidebar-avatar-badge-img-size: 26px;--hig-sidebar-avatar-badge-img-relative-top: 24px;--hig-sidebar-avatar-badge-img-relative-right: 24px;--hig-sidebar-modal-layout-margin-bottom: 56px;--hig-notification-badge-width: 14px;--hig-notification-badge-height: 14px;--hig-notification-badge-position-left: 24px}.sidebar[_ngcontent-%COMP%]{position:absolute;z-index:900}"]}),mt})();const Zn=["view"],ei=["toastContainer"],Hn=["*"];function Mn(ye,mt){1&ye&&n.eu8(0)}function Qn(ye,mt){if(1&ye&&(n.j41(0,"gfn-desktop-navigation",5,2),n.DNE(2,Mn,1,0,"ng-container",6),n.k0s()),2&ye){const ht=n.XpG(),$=n.sdS(5);n.Y8G("userState",ht.userState)("routes",ht.availableRoutes),n.R7$(2),n.Y8G("ngTemplateOutlet",$)}}function ti(ye,mt){1&ye&&n.eu8(0)}function wi(ye,mt){if(1&ye&&(n.j41(0,"gfn-tv-navigation",7,2),n.DNE(2,ti,1,0,"ng-container",6),n.k0s()),2&ye){const ht=n.XpG(),$=n.sdS(5);n.Y8G("userState",ht.userState)("routes",ht.availableRoutes)("activatedRoute",ht.activatedRoute)("showUdsNotificationIcon",ht.showUdsNotificationIcon),n.R7$(2),n.Y8G("ngTemplateOutlet",$)}}function oi(ye,mt){1&ye&&n.SdG(0)}var Wn=function(ye){return ye.OobeCompleted="OobeCompleted",ye.RouterNavigationEnd="RouterNavigationEnd",ye}(Wn||{}),rt=function(ye){return ye.Initializing="Initializing",ye.Opened="Opened",ye.Closed="Closed",ye.Failed="Failed",ye.Initialized="Initialized",ye}(rt||{});let Kt=(()=>{var ye;class mt{set userState($){this._userState=$,this.view&&(this.view.userState=$)}get userState(){return this._userState}set availableRoutes($){this._availableRoutes=$}get availableRoutes(){return this._availableRoutes}set activatedRoute($){this._activatedRoute=$}get activatedRoute(){return this._activatedRoute}constructor($,he,Le,qe,_t,Nt,Bt,zt,tn,pn,Vn,Jn,Di,xi,Wi,jn,_i,Zi,Ai,Bo,Vo,go,lr,Sr){var an,Yi;this.loggingService=he,this.router=Le,this.matDialog=qe,this.routerService=_t,this.idmLoginService=Nt,this.idmService=Bt,this.ecommerceService=zt,this.feedbackService=tn,this.nesUserInfoService=pn,this.surveyService=Vn,this.telemetryService=Jn,this.telemetryUtilService=Di,this.gfcHelperService=xi,this.bridgeService=Wi,this.toastService=jn,this.translateService=_i,this.customLocationService=Zi,this.oobeService=Ai,this.udsHelperService=Bo,this.dialogService=Vo,this.gameSearchFilterService=go,this.redirectService=lr,this.systemInfoService=Sr,this.showUdsNotificationIcon=!1,this._userState={loggedIn:!1,displayName:"",membershipShortDescription:null,badgeUrl:null},this._availableRoutes=[ve,Pe],this._activatedRoute=ve,this.destroy$=new o.B7,this.appInstanceId="",this.lastEntitlement=null,this.logger=this.loggingService.getLogger("gfn/NavigationComponent"),this.tvMode=!(null==$||null===(an=$.featureEnablement)||void 0===an||!an.tvMode),this.supportGalleryRoute=!(null==$||null===(Yi=$.featureEnablement)||void 0===Yi||!Yi.oogg),this.enableSearchPageRoute=this.tvMode}ngOnInit(){var $;s.zk.isBrowserPlatform()&&this.gfcHelperService.getAppInstanceId().pipe((0,f.Q)(this.destroy$)).subscribe(he=>this.appInstanceId=he),this.feedbackService.setUpToastContainer(this.toastContainer),this.showUDSToastIfNeeded(),this.initAvailableRoutes(),this.activatedRoute=null!==($=this.availableRoutes.find(he=>he.url===this.router.url))&&void 0!==$?$:ve,this.subscribeToUdsNotificationState()}ngAfterViewInit(){this.userStateChanged().pipe((0,f.Q)(this.destroy$)).subscribe($=>{this.userState=$;const Le=this.availableRoutes;this.supportGalleryRoute&&$.loggedIn&&!Le.find(qe=>qe.url===we.url)&&(Le.splice(1,0,we),this.availableRoutes=Le)},$=>this.logger.error(`Error when updating user state, error: ${$.toString()}`)),this.commonStateChanged().pipe((0,f.Q)(this.destroy$)).subscribe($=>{switch($){case Wn.OobeCompleted:this.view.oobeCompleted();break;case Wn.RouterNavigationEnd:const he=this.availableRoutes.filter(Le=>this.routerService.isRouteActive(Le.url));this.activatedRoute=he.length>0?he.reduce((Le,qe)=>qe.url.length>Le.url.length?qe:Le):void 0,this.activatedRoute||this.logger.warn(`Unable to find available route: [${this.availableRoutes.map(Le=>Le.url)}] that matches to current route: ${this.router.url}`);break;default:this.logger.warn(`Invalid navigation common state: ${$}`)}},$=>this.logger.error(`Error when notifying common state, error: ${$.toString()}`)),this.handleViewRouteClicked(),this.handleAccountActionClicked(),this.handleFeedbackClicked(),this.handleHelpClicked()}initAvailableRoutes(){if(this.enableSearchPageRoute){const $=this.availableRoutes;$.splice(1,0,Oe),this.availableRoutes=$}this.tvMode&&(this.availableRoutes=this.availableRoutes.map($=>{const he=a.lQj[$.url];return{...$,navigationState:he}}))}userStateChanged(){return(0,N.zV)([this.idmService.accountStatusChanged,this.ecommerceService.getUserMembership()]).pipe((0,ee.T)(([$,he])=>{var Le,qe,_t,Nt;this.user=$;const Bt=$.userId;Bt!==(null===(Le=this.lastEntitlement)||void 0===Le?void 0:Le.userId)&&(this.logger.info("User login/logout detected, clearing customLocationService state"),this.customLocationService.clearState(),this.router.url.includes(a.faX.GamesGrid)&&!window.location.hash.match(a.faX.Deeplink)&&(this.logger.info("Navigating from GamesGrid to Home"),this.routerService.navigate([a.faX.Home])));const tn=he.eComFeatureEnabled&&he.membershipStatus===a.OON.Entitled,pn=tn?he.subscription.productSku:null,Vn=tn?null===(qe=he.subscription)||void 0===qe?void 0:qe.remainingTimeInMinutes:null,Jn=tn?null===(_t=he.product)||void 0===_t?void 0:_t.shortDescription:null,Di=null===(Nt=he.product)||void 0===Nt||null===(Nt=Nt.assets)||void 0===Nt||null===(Nt=Nt.find(_i=>(null==_i?void 0:_i.subType)===a.F5M.Badge&&_i.url))||void 0===Nt?void 0:Nt.url,xi={loggedIn:$.isAuthenticated,displayName:$.displayName,membershipShortDescription:Jn,badgeUrl:Di},Wi=this.ecommerceService.isUserUpgraded(this.lastEntitlement,Bt,pn),jn=this.ecommerceService.isPlaytimeUpdated(this.lastEntitlement,Bt,pn,Vn);return tn&&(Wi||jn)&&this.showMembershipUpgradedToast(Jn,jn),this.lastEntitlement=tn?{userId:Bt,productSku:pn,remainingTimeInMinutes:Vn}:null,xi}))}commonStateChanged(){const $=this.router.events.pipe((0,_.p)(Le=>Le instanceof U.wF)),he=this.oobeService.oobeDialogClosedState.pipe((0,_.p)(Le=>Le));return(0,z.h)($.pipe((0,ee.T)(Le=>Wn.RouterNavigationEnd)),he.pipe((0,ee.T)(Le=>Wn.OobeCompleted)))}handleViewRouteClicked(){this.view.onRouteClicked$.pipe((0,_.p)($=>this.router.url!==$.url),(0,b.M)($=>{this.logger.info(`Navigating to clicked route ${$.url}`),this.pageNavigationLogTracer($.url)}),(0,w.n)($=>{const he={state:$.navigationState};return $.url===Oe.url?(this.gameSearchFilterService.navigateToGamesGrid(void 0,he),(0,R.of)(!0)):(0,v.H)(this.routerService.navigateByUrl($.url,he))}),(0,f.Q)(this.destroy$)).subscribe($=>{$||this.logger.error("Failed to navigate")},$=>{this.logger.error(`Error when navigating route, error: ${$.toString()}`)})}handleAccountActionClicked(){this.view.onAccountActionClicked$.pipe((0,F.ZZ)($=>{const he=$.type;let qe;if(this.logger.info(`Performing ${he}, event isTrusted: ${$.event.isTrusted}`),he===Ne.Login)qe=this.onLogin();else if(he===Ne.Logout)qe=this.onLogout();else if(he===Ne.OpenAccountProfileLink)qe=this.onOpenAccountProfileLink();else{if(he!==Ne.OpenAccountProfileDialog)return(0,h.$)(`Invalid account action ${he}`);qe=this.onOpenAccountProfileDialog()}return(0,W.yU)(qe,(0,R.of)(he))}),(0,f.Q)(this.destroy$)).subscribe(([$,he])=>{$?this.logger.info(`Trigger ${he} success`):this.logger.error(`Failed to trigger ${he}`)},$=>{this.logger.error(`Error when performing account action, error: ${$.toString()}`)})}handleFeedbackClicked(){this.view.onSendFeedbackClicked$.pipe((0,F.ZZ)($=>this.openFeedbackDialog()),(0,f.Q)(this.destroy$)).subscribe($=>{this.handleFeedbackDialogState($)})}handleFeedbackDialogState($){switch($){case rt.Opened:this.logger.info("Feedback dialog is opened");break;case rt.Closed:this.logger.info("Feedback dialog is closed");break;case rt.Failed:this.logger.error("Failed to open feedback dialog");break;default:this.logger.warn(`Invalid feedback dialog state: ${rt}`)}}handleHelpClicked(){this.view.onHelpClicked$.pipe((0,F.ZZ)($=>{const he=$.type;let qe;if(this.logger.info(`Performing ${he}, event isTrusted: ${$.event.isTrusted}`),he===Ne.OpenHelpLink)qe=this.onVisitSupportLink();else if(he===Ne.OpenHelpDialog)qe=this.onOpenHelpThreeQuarterSheet().pipe((0,Z.s)(1));else{if(he!==Ne.OpenSessionReport)return(0,h.$)(`Invalid account action ${he}`);qe=(0,R.of)(this.openUDSDialog(a.zOq.Mall)).pipe((0,se.u)(!0))}return(0,W.yU)(qe,(0,R.of)(he))}),(0,f.Q)(this.destroy$)).subscribe(([$,he])=>{$?this.logger.info(`Trigger ${he} success`):this.logger.error(`Failed to trigger ${he}`)},$=>{this.logger.error(`Error when performing account action, error: ${$.toString()}`)})}pageNavigationLogTracer($){switch($){case a.faX.Home:case a.faX.Settings:this.logger.trace(q.N_.UserGesture,q.YD.Settings,$===a.faX.Settings?q.PC.open:q.PC.close," Settings option")}}onLogin(){return this.idmLoginService.login(a.MCB.ScreenAccountMenu)}onLogout(){return this.sendLogoutAttemptTelemetry(),this.logger.trace(q.N_.UserGesture,q.YD.Login,"clicked on logout"),this.idmService.logout().pipe((0,_.p)($=>$===T.l4.LogoutCompleted||$===T.l4.LogoutFailed),(0,Z.s)(1),(0,ee.T)($=>(this.resetTelemetryUserId(),this.feedbackService.closeFeedbackDialog(),$===T.l4.LogoutCompleted)))}onVisitSupportLink(){this.telemetryUtilService.sendClickEvent(a.EBD.VisitSupport,"",`${a.MCB.ScreenMainToolbar}/${a.MCB.ScreenHelpMenu}`,!1);let $=(0,R.of)(a.Gl.Browser);return s.zk.isCefPlatform()&&($=this.systemInfoService.getSystemInfo([s.Lu.Platform]).pipe((0,Z.s)(1),(0,f.Q)(this.destroy$),(0,ee.T)(he=>he.Platform===a.TOI.Mac?a.Gl.Mac:a.Gl.PC))),$.pipe((0,Z.s)(1),(0,f.Q)(this.destroy$)).subscribe(he=>{this.ecommerceService.canHardUpsell()?this.redirectService.openRedirectUrl(a.r7g.GfnPcSupport,"",{idpId:this.user.idpId,Plt:he}):this.ecommerceService.openVisitSupportDialog()}),(0,R.of)(!0)}openFeedbackDialog(){if(s.zk.isAndroidPlatform())return this.bridgeService.executeCommand(y.Ts.Common.Survey.Launch).pipe((0,Z.s)(1),(0,ee.T)(qe=>rt.Initialized));const $=()=>this.surveyService.getAvailableSurvey([H.TriggerType.Feedback],"0","",0),he=()=>this.surveyService.isSurveyFeatureAvailable([H.TriggerType.Feedback]),Le=()=>this.surveyService.surveyEventListenerCloseDialog(H.TriggerType.Feedback);return this.nesUserInfoService.fetchUserInfoWithStreamingUrl().pipe((0,F.ZZ)(qe=>this.feedbackService.initializeFeedback(qe.serviceEndpoint.loginProvider,$,he,this.appInstanceId)),(0,Z.s)(1),(0,w.n)(qe=>{if(qe){const _t=this.feedbackService.onOpenFeedbackDialog(Le);return(0,z.h)(_t.afterOpened().pipe((0,se.u)(rt.Opened)),_t.afterClosed().pipe((0,se.u)(rt.Closed)))}return(0,R.of)(rt.Failed)}),(0,Y.W)(qe=>(this.logger.error(`Error when opening feedback dialog, error: ${qe.toString()}`),(0,R.of)(rt.Failed))))}openUDSDialog($){this.udsHelperService.showDiagnosticDialog($)}resetTelemetryUserId(){this.telemetryService.setEventsCommonData({userId:"undefined",externalUserId:"undefined",idpId:"undefined"},!0)}sendLogoutAttemptTelemetry(){this.telemetryUtilService.sendClickEvent(a.EBD.ManualLogout,"ManualLogout","",!1,"","",{immediateRequest:!0})}showMembershipUpgradedToast($,he){const Le=new G;Le.textContent=this.translateService.instant(he?"ecommerce.playtimeAdded":"membership.updatedToMembership",{name:$}),Le.button={text:this.translateService.instant("common.viewDetails"),action:this.onViewMembershipDetailsClicked.bind(this),actionParams:null},this.toastService.show(this.toastContainer,Le)}showUDSToastIfNeeded(){this.udsHelperService.showUDSToast$().pipe((0,f.Q)(this.destroy$)).subscribe($=>{if($){const he=new G;he.textContent=this.translateService.instant("uds.toastMessage"),he.hideDelay=7e3,he.horizontalPosition="right",he.button={text:this.translateService.instant("uds.toastAction"),action:this.openUDSDialog.bind(this,a.zOq.Notification),actionParams:null},this.toastService.show(this.toastContainer,he),this.udsHelperService.persistToastShown(),this.sendUDSToastShownTelemetry()}})}sendUDSToastShownTelemetry(){const $=new a.Ixb({clientType:a.sKj.MallClient,type:a.kSA.UDSToastShown});this.telemetryService.push($)}onViewMembershipDetailsClicked(){this.telemetryUtilService.sendClickEvent(a.EBD.ViewMembershipDetails,"",`${a.MCB.ScreenMainToolbar}/${a.MCB.ScreenToastMessage}`,!1),this.matDialog.closeAll(),this.routerService.navigate([a.faX.SettingsAccount])}onOpenAccountProfileLink(){return this.ecommerceService.openAccountProfilePage(a.MCB.ScreenAccountMenu,a.U3S.ToolbarComponent),(0,R.of)(!0)}onOpenAccountProfileDialog(){return this.dialogService.openAccountProfileDialog().pipe((0,Z.s)(1),(0,F.ZZ)($=>$===a.pLN.Logout?this.onLogout():(0,R.of)(!0)))}onOpenHelpThreeQuarterSheet(){return this.dialogService.openHelpThreeQuarterSheet().pipe((0,F.ZZ)($=>$===a.mwu.SendFeedback?this.openFeedbackDialog().pipe((0,F.ZZ)(he=>(this.handleFeedbackDialogState(he),ne.t))):$===a.mwu.SessionReport?(this.openUDSDialog(a.zOq.Mall),ne.t):$===a.mwu.VisitSupport?(this.ecommerceService.openVisitSupportDialog(),ne.t):(0,R.of)(!0)))}subscribeToUdsNotificationState(){this.udsHelperService.getCanShowUdsNotificationIcon().pipe((0,f.Q)(this.destroy$)).subscribe($=>{this.showUdsNotificationIcon=$}),this.udsHelperService.getUdsIconVisibiltityState().pipe((0,f.Q)(this.destroy$)).subscribe($=>{this.showUdsNotificationIcon=$})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(a.Vk6),n.rXU(s.J6),n.rXU(U.Ix),n.rXU(u.bZ),n.rXU(a.HMi),n.rXU(a.naM),n.rXU(a.k_2),n.rXU(a.yJU),n.rXU(S.n1),n.rXU(a.lWV),n.rXU(a.Icg),n.rXU(Be.H0),n.rXU(a.jgD),n.rXU(a.q8U),n.rXU(s.NZ),n.rXU(Ce),n.rXU(A.c$),n.rXU(a.cNv),n.rXU(a.ZSB),n.rXU(a.umq),n.rXU(a.o3x),n.rXU(tt.SU),n.rXU(a.Q5Y),n.rXU(s.zW))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-navigation"]],viewQuery:function($,he){if(1&$&&(n.GBs(Zn,5),n.GBs(ei,7,n.c1b)),2&$){let Le;n.mGM(Le=n.lsd())&&(he.view=Le.first),n.mGM(Le=n.lsd())&&(he.toastContainer=Le.first)}},ngContentSelectors:Hn,decls:6,vars:2,consts:[["toastContainer",""],["contentProjection",""],["view",""],[3,"userState","routes",4,"ngIf"],[3,"userState","routes","activatedRoute","showUdsNotificationIcon",4,"ngIf"],[3,"userState","routes"],[4,"ngTemplateOutlet"],[3,"userState","routes","activatedRoute","showUdsNotificationIcon"]],template:function($,he){1&$&&(n.NAR(),n.DNE(0,Qn,3,3,"gfn-desktop-navigation",3)(1,wi,3,5,"gfn-tv-navigation",4),n.nrm(2,"div",null,0),n.DNE(4,oi,1,0,"ng-template",null,1,n.C5r)),2&$&&(n.Y8G("ngIf",!he.tvMode),n.R7$(),n.Y8G("ngIf",he.tvMode))},dependencies:[O.bT,O.T3,at,Yn],encapsulation:2}),mt})();const $t=["mainRouterOutletContainer"],oe=["mainViewport"];function pe(ye,mt){1&ye&&n.nrm(0,"banner-notification",9)}function Ge(ye,mt){if(1&ye&&(n.j41(0,"div",4)(1,"gfn-navigation",5)(2,"div",6,1),n.DNE(4,pe,1,0,"banner-notification",7),n.j41(5,"div",8),n.nrm(6,"router-outlet"),n.k0s()()()()),2&ye){const ht=n.XpG();n.R7$(4),n.Y8G("ngIf",ht.showNotification)}}let Ze=(()=>{var ye;class mt{constructor($,he,Le){var qe;this.router=he,this.titleService=Le,this.viewState=J.WO,this.activeView=J.WO.Loading,this.paddingLeft=0,this.paddingRight=0,this.tvMode=!1,this.destroy$=new o.B7,this.tvMode=!(null==$||null===(qe=$.featureEnablement)||void 0===qe||!qe.tvMode)}get showNotification(){return!this.tvMode}ngOnInit(){this.registerForAffilateInfo(),this.titleService.setTitle("GeForce NOW")}ngAfterViewInit(){const $=window.getComputedStyle(this.mainViewport.nativeElement);this.paddingLeft=parseInt($.getPropertyValue("padding-left"),10),this.paddingRight=parseInt($.getPropertyValue("padding-right"),10),this.mainViewport.nativeElement.addEventListener("touchstart",he=>{const Le=he.touches[0].pageX;this.paddingLeft{this.activeView=J.WO.Ready}),this.router.events.pipe((0,_.p)($=>$ instanceof U.wF)).pipe((0,f.Q)(this.destroy$)).subscribe(()=>{this.mainRouterOutletContainer&&(this.mainRouterOutletContainer.nativeElement.scrollTop=0)},()=>{this.activeView=J.WO.Ready})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(a.Vk6),n.rXU(U.Ix),n.rXU(e.hE))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-main-content"]],viewQuery:function($,he){if(1&$&&(n.GBs($t,5,n.aKT),n.GBs(oe,5,n.aKT)),2&$){let Le;n.mGM(Le=n.lsd())&&(he.mainRouterOutletContainer=Le.first),n.mGM(Le=n.lsd())&&(he.mainViewport=Le.first)}},hostBindings:function($,he){1&$&&n.bIt("orientationchange",function(){return he.onOrientationChange()},!1,n.tSv)},decls:3,vars:2,consts:[["mainViewport",""],["mainRouterOutletContainer",""],["fxLayout","column","fxFlexFill","",1,"common-window","covered-padding",3,"ngSwitch"],["fxLayout","column","fxFlexFill","",4,"ngSwitchCase"],["fxLayout","column","fxFlexFill",""],["fxFlex","","fxFlexFill",""],["fxFlex","","fxFlexFill","","fxLayout","column",1,"common-window-content"],["class","notification",4,"ngIf"],["fxFlex","",1,"router-outlet-container"],[1,"notification"]],template:function($,he){1&$&&(n.j41(0,"div",2,0),n.DNE(2,Ge,7,1,"div",3),n.k0s()),2&$&&(n.Y8G("ngSwitch",he.activeView),n.R7$(2),n.Y8G("ngSwitchCase",he.viewState.Ready))},dependencies:[O.bT,O.ux,O.e1,D.DJ,D.G2,D.UI,U.n3,te.N,Kt],styles:[".nv-custom-icons[_ngcontent-%COMP%]{display:inline-block;font-family:nvCustomIcons!important;font-variant:normal;color:gray;-webkit-font-smoothing:antialiased}.gfn-main-content-text[_ngcontent-%COMP%]{margin:24px}.router-outlet-container[_ngcontent-%COMP%]{overflow-y:hidden}.notification[_ngcontent-%COMP%]{z-index:1}.isLtr[_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%]{padding-left:env(safe-area-inset-left)}html[dir=ltr][_ngcontent-%COMP%] .covered-padding[_ngcontent-%COMP%]{--dummy1: 0;padding-left:env(safe-area-inset-left)}.isRtl[_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%]{padding-right:env(safe-area-inset-left)}html[dir=rtl][_ngcontent-%COMP%] .covered-padding[_ngcontent-%COMP%]{--dummy1: 0;padding-right:env(safe-area-inset-left)}.isLtr[_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%]{padding-right:env(safe-area-inset-right)}html[dir=ltr][_ngcontent-%COMP%] .covered-padding[_ngcontent-%COMP%]{--dummy2: 0;padding-right:env(safe-area-inset-right)}.isRtl[_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .covered-padding[_ngcontent-%COMP%]{padding-left:env(safe-area-inset-right)}html[dir=rtl][_ngcontent-%COMP%] .covered-padding[_ngcontent-%COMP%]{--dummy2: 0;padding-left:env(safe-area-inset-right)}"]}),mt})();var lt=t(58357);let pt=(()=>{var ye;class mt{constructor($,he,Le){var qe;this.router=Le,this.skipLocationChange=!1,this.shouldHandleTizenDeeplink=s.zk.isPWAModeOnSamsungTV(),this.logger=he.getLogger("RedirectGuard"),this.skipLocationChange=!(null===(qe=$.client)||void 0===qe||!qe.skipLocationChange)}canActivate($,he){if(this.skipLocationChange){const Le=this.router.getCurrentNavigation();null!=Le&&Le.extras&&(Le.extras.skipLocationChange=!0)}if(this.shouldHandleTizenDeeplink){this.logger.info("Checking if the app is launched by a deeplink...");const{appControl:Le}=(0,q.D$)(),qe=Le&&(0,q.iK)(Le);if(qe)return this.logger.info("Launched by a deeplink! Now redirecting to",qe),this.router.navigateByUrl(qe,{skipLocationChange:!1,replaceUrl:!0}),ne.t}return(0,a.RZv)($.queryParamMap)?this.router.createUrlTree([a.V6C.StreamerRoot],{queryParams:$.queryParams}):this.router.createUrlTree([a.V6C.DefaultRedirect])}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(a.Vk6),n.KVO(s.J6),n.KVO(U.Ix))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),Xt=(()=>{var ye;class mt{constructor($,he,Le){this.router=$,this.loggingService=he,this.errorHandler=Le,this.logger=this.loggingService.getLogger("unsupported-route.guard")}canActivateChild($,he){return this.logger.error("Incorrect route url was entered: ",he.url.toString()),this.errorHandler.handleError(new Error("Error while processing an incorrect route: "+he.url.toString())),this.router.createUrlTree([a.V6C.DefaultRedirect])}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(U.Ix),n.KVO(s.J6),n.KVO(n.zcH))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),Ft=(()=>{var ye;class mt{constructor($,he){this.loggingService=$,this.redirectService=he,this.logger=this.loggingService.getLogger("trailingdot.guard"),this.options={replace:!0}}canActivateChild($,he){if(window.location.hostname.endsWith(".")){this.logger.info("Trailing Dot Domain was entered");const Le=window.location.origin.replace(window.location.hostname,window.location.hostname.slice(0,-1));return this.redirectService.redirectToExternalUrl(`${Le}${window.location.pathname}`,this.options),!1}return!0}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(a.Q5Y))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),en=(()=>{var ye;class mt{constructor($){this.unsupportedBrowserService=$}canActivate($,he){return this.unsupportedBrowserService.shouldDisplayPWAGuidance$()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(a.Lki))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),cn=(()=>{var ye;class mt{constructor($,he,Le){this.loggingService=$,this.injector=he,this.meta=Le,this.logger=this.loggingService.getLogger("gdn-guard")}canActivateChild($,he){var Le;if(null===(Le=window)||void 0===Le?void 0:Le.isGDNDomain){if(this.meta.addTag({name:"robots",content:"noindex, nofollow"}),(0,a.EDS)())return!0;{const _t=sessionStorage.getItem("gdnDeeplinkUrl");return this.redirectService=this.injector.get(a.Q5Y),_t?(sessionStorage.removeItem("gdnDeeplinkUrl"),window.geForceNowStartLocationHref=_t,this.logger.info("Reload case, redirecting to :",_t),this.redirectService&&this.redirectService.redirectToExternalUrl(_t,{replace:!0})):(this.logger.info("Redirecting to GDN Home Page"),this.redirectService&&this.redirectService.redirectTo(a.r7g.GdnHomePage,{replace:!0})),!1}}return!0}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(n.zZn),n.KVO(e.W8))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var En=t(65726);let ni=(()=>{var ye;class mt{constructor($){this.appConfig=$}preload($,he){var Le;const qe=null===(Le=$.data)||void 0===Le?void 0:Le.eagerLoadingConfigKey;if(!qe)return(0,R.of)(null);const _t=this.appConfig.eagerLoadingConfig[qe];return void 0===_t?(0,R.of)(null):(0,R.of)(!0).pipe((0,En.c)(1e3*_t),(0,ee.T)(Nt=>he()))}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(a.Vk6))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();const dn=(ye,mt)=>(0,n.WQX)(a.Xtz).handleRoute(ye,mt);var Rn=t(76706),Gn=t(44224),yn=t(60990),Kn=t(40514),bi=t(33328);let xn=(()=>{var ye;class mt{constructor($,he,Le,qe,_t,Nt,Bt,zt){this.domSanitizer=Le,this.localeService=qe,this.settingsService=_t,this.dialogService=Nt,this.breakpointObserver=Bt,this.genericDialog=zt,this.destroy$=new o.B7,this.logger=$.getLogger("pwa-wall.component"),he.addSvgIcon("gfnLogo",this.domSanitizer.bypassSecurityTrustResourceUrl("./assets/img/Logo_GFN_Lockup.svg"))}ngOnInit(){this.genericDialog.closeAll(),this.logo=this.domSanitizer.bypassSecurityTrustResourceUrl("./assets/icons/GFN-Logo-72.webp");let $=this.localeService.getLocale();"en_GB"===$&&($="en_US");const he=this.settingsService.getLinksUrl(a.niw.GFN_PC_FAQ_IOS,$),Le=this.settingsService.getLinksUrl(a.niw.GFN_PC_INFO,$);this.breakpointObserver.observe(Rn.Rp.Handset).pipe((0,f.Q)(this.destroy$)).subscribe(qe=>{this.smallScreen=qe.matches;const _t=this.smallScreen?"font-body3-link":"font-body1-link";this.learnArgs={learnMoreLink:`/a>
{var ye;class mt{constructor($,he){var Le,qe;this.shouldEnableBackToExitApp=!1,this.promptBeforeExitApp=!1,this.logger=he.getLogger("BackToExitAppComponent"),this.promptBeforeExitApp=!(null===(Le=$.client)||void 0===Le||!Le.promptBeforeExitApp),this.promptBeforeExitApp&&(this.applicationLifetimeService=(0,n.WQX)(Qi.lM),this.dialogService=(0,n.WQX)(a.o3x)),this.shouldEnableBackToExitApp=!(null===(qe=$.backNavigation)||void 0===qe||!qe.backToExitApp),this.shouldEnableBackToExitApp&&(this.backNavigationService=(0,n.WQX)(M.r))}ngOnInit(){this.promptBeforeExitApp&&(this.shutdownWorkHandle=this.applicationLifetimeService.addWorkOnShutdownRequested(()=>(this.logger.info("Showing exit confirmation dialog"),this.dialogService.showExitAppDialog().pipe((0,Z.s)(1),(0,ee.T)($=>!$))))),this.shouldEnableBackToExitApp&&this.backNavigationService.enableBackToExitApp()}ngOnDestroy(){var $;null===($=this.shutdownWorkHandle)||void 0===$||$.remove(),this.shouldEnableBackToExitApp&&this.backNavigationService.disableBackToExitApp()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(a.Vk6),n.rXU(s.J6))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-back-to-exit-app"]],decls:1,vars:0,template:function($,he){1&$&&n.nrm(0,"router-outlet")},dependencies:[U.n3]}),mt})();var In=t(29567);const ri=[{path:"",pathMatch:"full",canActivate:[(ye,mt)=>(0,n.WQX)(pt).canActivate(ye,mt)],children:[]},{path:"",component:Jt,children:[{path:"layout",component:Ze,children:[{path:"games",loadChildren:()=>(performance.mark(a.m$y.LayoutJSInitStart),s.cK.retry(()=>Promise.all([t.e(76),t.e(255)]).then(t.bind(t,53255)).then(ye=>(performance.mark(a.m$y.LayoutJSInitEnd),ye.LayoutModule)),"LayoutModule"))},{path:"gallery",loadChildren:()=>Promise.all([t.e(616),t.e(895),t.e(551)]).then(t.bind(t,74551)).then(ye=>ye.GalleryModule)},{path:"preview",loadChildren:()=>Promise.all([t.e(616),t.e(895),t.e(774)]).then(t.bind(t,76774)).then(ye=>ye.PreviewModule)},{path:"settings",loadChildren:()=>s.cK.retry(()=>Promise.all([t.e(607),t.e(76),t.e(678)]).then(t.bind(t,1678)).then(ye=>ye.SettingsModule),"SettingsModule"),data:{}},{path:"surveys",loadChildren:()=>t.e(512).then(t.bind(t,2512)).then(ye=>ye.SurveysModule),data:{}}]},{path:"loginwall",component:a.Ah1}]},{path:"deeplink",loadChildren:()=>Promise.resolve().then(t.bind(t,93577)).then(ye=>ye.DeeplinkModule),canActivate:[lt.zU],data:{}},{path:"",data:{eagerLoadingConfigKey:"streamerPreloadDuration"},loadChildren:()=>s.cK.retry(()=>Promise.all([t.e(616),t.e(607),t.e(646)]).then(t.bind(t,81646)).then(ye=>ye.StreamerModule),"StreamerModule")},{path:"install",canActivate:[(ye,mt)=>(0,n.WQX)(en).canActivate(ye,mt)],component:xn}],hi=[{path:"",canActivateChild:[(ye,mt)=>(0,n.WQX)(cn).canActivateChild(ye,mt),dn,(ye,mt)=>(0,n.WQX)(Ft).canActivateChild(ye,mt)],children:ri},{path:"**",canActivateChild:[dn,(ye,mt)=>(0,n.WQX)(Xt).canActivateChild(ye,mt)],children:ri}];let On=(()=>{var ye;class mt{constructor($,he){this.appConfig=he,this.logger=$.getLogger("mall/app-routing-module"),s.cK.sendTelemetry(this.logger),this.appConfig.configFetched$.subscribe(()=>{s.cK.retryAttempts=Number(this.appConfig.get().chunkRetry.retryAttempts),s.cK.intervalBetweenRetries=Number(this.appConfig.get().chunkRetry.interval)})}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(In.oO))},ye.\u0275mod=n.$C({type:ye}),ye.\u0275inj=n.G2t({imports:[U.iI.forRoot(hi,{useHash:!0,preloadingStrategy:ni}),U.iI]}),mt})();var An=t(3496),ii=t(69917),Pn=t(56237),ho=t(55833),Xi=t(48765),uo=t(40996),Fn=t(67785);const Ti={entitlement:{userSignedIn:!1,subscribed:!1},recentPlays:{useRecentPlays:!1}},Ji="wgt-private/gaming-hub.json",po={ESRB:{E:"Everyone","E10+":"Everyone 10+",T:"Teen",M:"Mature"},PEGI:{3:"3+",7:"7+",12:"12+",16:"16+",18:"18+"},GRAC:{ALL:"All"},ClassInd:{L:"Livre",10:"N\xe3o recomendado para menores de 10 anos",12:"N\xe3o recomendado para menores de 12 anos",14:"N\xe3o recomendado para menores de 14 anos",16:"N\xe3o recomendado para menores de 16 anos",18:"N\xe3o recomendado para menores de 18 anos"}};let zo=(()=>{var ye;class mt{constructor($,he,Le,qe,_t){this.imageFormatService=he,this.idmService=Le,this.ecomService=qe,this.layoutService=_t,this.millisecondsOfDay=864e5,this.maxDays=90,this.logger=$.getLogger("TizenGamingHubService"),this.webServiceLogger=$.getLogger("TizenGamingHubService/WebService")}initialize(){var $;if(!(0,q.mI)())throw new Error("Attempting to initialize on platform without Tizen API support!");tizen.messageport.requestLocalMessagePort("debugging.port").addMessagePortListener((Le,qe)=>{this.webServiceLogger.info(`${Le[0].key}, value : ${Le[0].value}`)}),this.tizenGfnAppInfo=null===($=tizen)||void 0===$?void 0:$.application.getCurrentApplication().appInfo,this.isUserLoggedIn().pipe((0,w.n)(Le=>Le?this.gamingHubDataChanged():(0,R.of)(Ti)),(0,Y.W)(Le=>(this.logger.info("Failed to get GamingHubData, error: ",Le.toString()),ne.t)),(0,w.n)(Le=>{this.logger.info(`Writing GamingHubData to ${Ji}: `,Le);const qe=JSON.stringify(Le);return(0,q.bm)(Ji,qe)})).subscribe(Le=>this.logger.info(`Finished writing ${Ji}, bytesCount: `,Le),Le=>this.logger.error(`Failed when writing ${Ji}, error: `,Le))}gamingHubDataChanged(){return(0,N.zV)([this.entitlementChanged(),this.getRecentPlayItems()]).pipe((0,ee.T)(([$,he])=>({entitlement:$,recentPlays:{useRecentPlays:!0,items:he}})))}entitlementChanged(){return this.isUserEntitled().pipe((0,ee.T)($=>({userSignedIn:!0,subscribed:$})))}isUserLoggedIn(){return this.idmService.accountStatusChanged.pipe((0,ee.T)($=>$.isAuthenticated))}isUserEntitled(){return this.ecomService.getUserMembership().pipe((0,_.p)($=>$.membershipStatus!==a.OON.LoggedOut&&$.membershipStatus!==a.OON.UnKnown),(0,ee.T)($=>!($.eComFeatureEnabled&&$.membershipStatus===a.OON.UnEntitled)))}getRecentPlayItems(){return this.layoutService.getLayout().pipe((0,ee.T)(he=>{const Le=he.data;let qe=null;for(const _t of Le){const Nt=_t.sections;for(const Bt of Nt)Bt.type===a.qqX.MyLibrary&&(qe=Bt)}return qe})).pipe((0,ee.T)(he=>{var Le;const qe=null!==(Le=null==he?void 0:he.items)&&void 0!==Le?Le:[],_t=[];for(const Nt of qe){const Bt=this.layoutService.fetchApplication(Nt.id);if(null==Bt||!Bt.data||Bt.id===a.Sx9.id||Bt.id===a.kG8.id)continue;const zt=this.createRecentPlayItem(Bt.data);zt&&_t.push(zt)}return _t}))}createRecentPlayItem($){const he=[];for(const zt of $.variants){var Le;const tn=Date.parse(null===(Le=zt.gfn.library)||void 0===Le?void 0:Le.lastPlayedDate);var qe;Number.isNaN(tn)||Math.floor((Date.now()-tn)/this.millisecondsOfDay)>=this.maxDays||he.push(Date.parse(null===(qe=zt.gfn.library)||void 0===qe?void 0:qe.lastPlayedDate))}if(0===he.length)return this.logger.info(`No valid value or the timestamp is outdated for lastPlayedDate in game:${$.title}, id:${$.id}`,$.variants.map(zt=>{var tn;return null===(tn=zt.gfn.library)||void 0===tn?void 0:tn.lastPlayedDate})),null;const _t=he.length>1?he.reduce((zt,tn)=>Math.max(zt,tn)):he[0],Nt=this.imageFormatService.formatImageServiceUrl($.images.KEY_ART,{w:288,f:s.Ff.jpg});return{timestamp:_t,title:$.title,image:Nt,rating:this.getMappedRatingCode($.contentRatings),genre:"",deeplink:`/deeplink?${a.ajQ.GameId}=${$.id}&${a.ajQ.Action}=${a.pyK.PlayGame}&${a.ajQ.UtmSource}=samsung&${a.ajQ.UtmCampaign}=game_hub`,app_id:this.tizenGfnAppInfo.id,app_name:this.tizenGfnAppInfo.name,app_logo_url:"",cp_game_id:$.id}}getMappedRatingCode($){if(null==$||!$.type||null==$||!$.categoryKey)return"";const he=$.type,Le=$.categoryKey;return he in po&&Le in po?po[he][Le]:Le}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(s.Pl),n.KVO(a.k_2),n.KVO(a.yJU),n.KVO(Fn.Y))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),mi=(()=>{var ye;class mt{constructor($){this.tizenGameHubService=$}initialize(){this.tizenGameHubService.initialize()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(zo))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var pi=t(48852),Si=t(66348);let Ri=(()=>{var ye;class mt{constructor($,he,Le,qe,_t,Nt,Bt){this.applicationLifetimeService=$,this.sharedStorageService=he,this.updateService=Le,this.loggingService=qe,this.layoutService=_t,this.lcarsService=Nt,this.router=Bt,this.confirmationDialogResult=new o.B7,this.logger=this.loggingService.getLogger("MallRelaunchService")}initialize(){this.updateService.onMallRelaunchTrigger().pipe((0,F.ZZ)($=>this.startRelaunch(!1,$))).subscribe()}startRelaunch($,he){return this.ensureNewRelaunchStateMachine(he),this.currentStateMachine.startRelaunch($)}completeRelaunch(){return this.ensureNewRelaunchStateMachine(),this.currentStateMachine.readRelaunchSharedData().pipe((0,F.ZZ)($=>this.currentStateMachine.clearRelaunchSharedData().pipe((0,se.u)($))),(0,ee.T)($=>(0,a.I2J)(this.router.url)?null:$),(0,F.ZZ)($=>(0,c.isNil)($)||(0,c.isNil)($.cmsId)?(0,R.of)(null):(this.logger.info(`Attempting to get application class object for ${$.cmsId}`),this.lcarsService.getMetadataByCmsId(parseInt($.cmsId,10)))),(0,F.ZZ)($=>{if($){const he=this.layoutService.updateAndFetchApp($);return he?he.launch(a.MCB.ScreenMallHome,"relaunch"):(this.logger.error("Could not find application class object. Cannot complete relaunch"),(0,R.of)(!1))}return(0,R.of)(!1)}),(0,Y.W)($=>(this.logger.error("Relaunch failed.",$),(0,R.of)(!1))))}ensureNewRelaunchStateMachine($={}){!(0,c.isNil)(this.currentStateMachine)&&this.currentStateMachine.isActive()&&this.currentStateMachine.cancelRelaunch(),this.currentStateMachine=new a.nT5(this.applicationLifetimeService,this.sharedStorageService,this.updateService,this.loggingService),this.currentStateMachine.setRelaunchShutdownHandler(()=>this.currentStateMachine.appendRelaunchSharedData($))}resolveConfirmationDialog($){this.confirmationDialogResult.next($)}getStateMachineState$(){return(0,c.isNil)(this.currentStateMachine)?null:this.currentStateMachine.currentState()}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(Qi.lM),n.KVO(Si.yQ),n.KVO(a.HoT),n.KVO(s.J6),n.KVO(Fn.Y),n.KVO(a.Br4),n.KVO(U.Ix))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var si=t(85735),Io=t(36466),Do=t(22600),To=t(45903),to=t(61958),Xn=t(76449),Ni=t(70815),Ki=(t(68415),t(87687)),Ro=t(97944),vo=t(95561),no=t(43354),Zo=t(95346);let xo=(()=>{var ye;class mt{constructor($,he,Le,qe,_t,Nt,Bt,zt){this.endpointFactory=he,this.distributedtracingUtilService=Le,this.idmService=qe,this.clientHeaderService=_t,this.appConfig=Nt,this.systemInfoService=Bt,this.telemetryUtilService=zt,this.gxtRemoteConfigDefaultTimeout=3e3,this.gxtRemoteConfigDefaultTimeBetweenRetries=1e4,this.gxtRemoteConfigDefaultRetries=2,this.logger=$.getLogger("GxtRemoteConfigSdkService")}getRemoteConfig($,he,Le){return(0,N.zV)([this.clientHeaderService.getCommonHeaders(),this.systemInfoService.getSystemInfo([s.Lu.DeviceId,s.Lu.VendorName]),this.idmService.getAuthToken(he).pipe((0,Z.s)(1))]).pipe((0,Z.s)(1),(0,F.ZZ)(([qe,_t,Nt])=>{var Bt,zt,tn;const pn=Object.assign({project:this.appConfig.gxtRemoteConfig.rconfigProject},{product:this.appConfig.gxtRemoteConfig.rconfigProduct},{clientParams:JSON.stringify($)}),Vn={headers:this.createHeader(qe,_t,Nt),reportRequestData:{originalService:Ki.Uu$.GxTarget,serviceUseCase:Ki.OOF.GetRemoteConfig,reportSuccessTelemetry:"true"},params:pn,includeRequestId:!0},Jn={timeout:null!==(Bt=this.appConfig.gxtRemoteConfig.defaultTimeout)&&void 0!==Bt?Bt:this.gxtRemoteConfigDefaultTimeout,timeBetweenRetries:null!==(zt=this.appConfig.gxtRemoteConfig.defaultTimeBetweenRetries)&&void 0!==zt?zt:this.gxtRemoteConfigDefaultTimeBetweenRetries,maxRetries:null!==(tn=this.appConfig.gxtRemoteConfig.defaultRetries)&&void 0!==tn?tn:this.gxtRemoteConfigDefaultRetries},Wi=this.endpointFactory.createEndpoint({config:Jn}).get((0,q.l2)([this.appConfig.gxtRemoteConfig.server+"/rconfig/v2"]),Vn);return this.distributedtracingUtilService.handleHttpEndpointSpan(Wi,Vn,Xn.pB.GetRemoteConfigV2,Le).pipe((0,b.M)(jn=>(this.logger.info("Successfully got remote config from GXT"),jn)))}))}createHeader($,he,Le){const qe={...$};return qe["NV-GXT-Device-Id"]=he.DeviceId,qe["NV-Device-Make"]=(null==he?void 0:he.VendorName)||"undefined",qe["NV-Client-Variant"]=this.telemetryUtilService.getCommonClientVariant(this.appConfig.build.variant),null!=Le&&Le.token&&(qe[Ni.SA.authorization]=`GFNJWT ${Le.token}`),qe}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(Ni.t),n.KVO(Xn.Z1),n.KVO(Ro.k),n.KVO(vo.y),n.KVO(no.V),n.KVO(s.zW),n.KVO(Zo.j))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),Yo=(()=>{var ye;class mt{constructor($,he,Le,qe,_t,Nt,Bt){this.gridService=he,this.nesUserInfoService=Le,this.remoteConfigService=qe,this.appConfig=_t,this.gxtRemoteConfigSdkService=Nt,this.telemetryService=Bt,this.isCachedRCTelemetrySent=!1,this.forceRefreshNeeded=!1,this.forceRefreshNeededSub=new si.m(1),this.forceRefreshNeeded$=this.forceRefreshNeededSub.asObservable(),this.logger=$.getLogger("gfn/RemoteConfigTriggerService")}initialize(){var $;this.logger.info("init"),this.forceRefreshNeededSub.next();const Le=(null===($=this.appConfig)||void 0===$||null===($=$.gxtRemoteConfig)||void 0===$?void 0:$.forceRefreshIntervalInMS)||864e5;(0,An.O)(Le,Le).pipe((0,b.M)(()=>{this.forceRefreshNeeded=!0,this.forceRefreshNeededSub.next()})).subscribe();const qe=[this.gridService.defaultZone$,this.nesUserInfoService.fetchUserInfoWithStreamingUrl(),this.forceRefreshNeeded$];let _t,Nt,Bt,zt;(0,N.zV)(qe).pipe((0,F.ZZ)(([tn,pn,Vn])=>(0,N.zV)([(0,R.of)(pn.isAffiliate?pn.serviceEndpoint.loginProviderCode:null),(0,R.of)(pn),this.gridService.vpcId$.pipe((0,Z.s)(1)),this.remoteConfigService.getCurrentZonePrefix()])),(0,_.p)(([tn,pn,Vn,Jn])=>(_t=tn,Nt=pn,Bt=Jn,zt=Vn,Bt!==this.remoteConfigService.cachedZonePrefix||Nt.user.userId!==this.remoteConfigService.cachedUserId||_t!==this.remoteConfigService.cachedProviderCode||this.forceRefreshNeeded)),(0,F.ZZ)(tn=>{var pn;return this.forceRefreshNeeded=!1,this.isCachedRCTelemetrySent||(this.sendRCDebugInfoTelemetry(!1,!0),this.isCachedRCTelemetrySent=!0),this.logger.info("fetching remote config data from GXT",_t,null===(pn=Nt.user)||void 0===pn?void 0:pn.userId,Bt,zt),this.fetchRemoteConfigFromGXT(Bt,zt)})).subscribe(tn=>{var pn;this.logger.info("remote config fetched successfully"),this.remoteConfigService.cachedProviderCode=_t,this.remoteConfigService.cachedUserId=(null===(pn=Nt.user)||void 0===pn?void 0:pn.userId)||"",this.remoteConfigService.cachedZonePrefix=Bt,this.remoteConfigService.cachedVPCId=zt,this.sendRCDebugInfoTelemetry(!0,!0)},tn=>{this.sendRCDebugInfoTelemetry(!0,!1,zt,Bt),this.logger.error("Failed to get remote config",tn)})}fetchRemoteConfigFromGXT($,he){return this.gxtRemoteConfigSdkService.getRemoteConfig({zoneName:he,regionName:$}).pipe((0,b.M)(qe=>{var _t;this.logger.info("remote config data fetched successfully from GXT");const Nt=null==qe||null===(_t=qe.params)||void 0===_t?void 0:_t.find(zt=>"rcParamNameToLocalConfigKeyPathMap"===zt.name);let Bt=this.appConfig.rcParamNameToLocalConfigKeyPathMap;Nt&&(Bt=(0,c.merge)(this.appConfig.rcParamNameToLocalConfigKeyPathMap,Nt.value)),this.remoteConfigService.updateRemoteConfigFromGXT(qe,$,he,Bt)}),(0,Y.W)(qe=>(this.logger.error("Failed to get remoteConfig from GXT: ",qe),this.remoteConfigService.propagatePreviousOverides(),(0,h.$)(qe))))}sendRCDebugInfoTelemetry($,he,Le,qe){const _t=he&&$?this.remoteConfigService.remoteConfigFetched$.pipe((0,se.u)(!0)):(0,R.of)(!1);(0,W.yU)(this.telemetryService.getDefaultClientConsentObserable(),this.telemetryService.getCommonDataObservable(),_t).pipe((0,Z.s)(1),(0,b.M)(()=>{this.logger.info("Sending RemoteConfigInfo telemetry event");const Bt=qe||($?this.remoteConfigService.cachedZonePrefix:this.remoteConfigService.zonePrefixForCachedRCTelemetry),zt=$?this.remoteConfigService.currentRemoteConfigRevision:this.remoteConfigService.projectRevisionForCachedRCTelemetry,tn=new a.w$q({isLive:$?a.T80.TRUE:a.T80.FALSE,isSuccess:he?a.T80.TRUE:a.T80.FALSE,regionName:null!=Bt?Bt:"",zoneName:Le||($?this.remoteConfigService.cachedVPCId:this.remoteConfigService.vpcIdForForCachedRCTelemetry)||"",project:this.appConfig.gxtRemoteConfig.rconfigProject,product:this.appConfig.gxtRemoteConfig.rconfigProduct,revision:null!=zt?zt:"",isFetchedFromGXT:a.T80.TRUE});this.logger.info(`telemetry params for ${$?"live":"cached"} RemoteConfigInfo`,tn),this.telemetryService.push(tn)})).subscribe(Io.l,Nt=>{this.logger.error("Error in sending remoteConfigInfo telemetry",Nt)})}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(a.Gip),n.KVO(Do.l),n.KVO(To.a),n.KVO(to.Vk),n.KVO(xo),n.KVO(Be.H0))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var io=t(26814),Ui=t(54292),$i=t(42088),Pi=t(70521),Qo=t(71425),ki=t(13090),fo=t(93012),Co=t(62293),ai=function(ye){return ye.SharedStorage="sharedStorage",ye.DbStorage="dbStorage",ye.CacheStorage="cacheStorage",ye}(ai||{});let Ao=(()=>{var ye;class mt{constructor($,he,Le){this.dbService=he,this.sharedStorageService=Le,this.isDryRun=!1,this.logger=$.getLogger("libraries/service-worker.service")}get cleanupHandlers(){return{[ai.SharedStorage]:this.sharedStorageCleanupRegexKeys.bind(this),[ai.DbStorage]:this.dbStorageCleanupRegexKeys.bind(this),[ai.CacheStorage]:this.cacheStorageCleanupRegexKeys.bind(this)}}sharedStorageCleanup($){this.logger.info("Running sharedStorageCleanup for keys ",$);const he=[];return null==$||$.forEach(Le=>{he.push(this.sharedStorageService.removeBlock(Le))}),(0,N.zV)(he).pipe((0,Z.s)(1),(0,se.u)(!0))}dbStorageCleanup($){this.logger.info("Running dbStorageCleanup for keys ",$);const he=[];return null==$||$.forEach(Le=>{he.push(this.dbService.deleteOldKeys(Le))}),(0,N.zV)(he).pipe((0,Z.s)(1),(0,se.u)(!0))}cacheStorageCleanup($){this.logger.info("Running cacheStorageCleanup for keys ",$);const he=[];return null==$||$.forEach(Le=>{const qe=(0,v.H)(caches.has(Le)).pipe((0,F.ZZ)(_t=>_t?(0,v.H)(caches.delete(Le)):(this.logger.info(`cacheStorage with key ${Le} not available`),(0,R.of)(!0))));he.push(qe)}),(0,N.zV)(he).pipe((0,Z.s)(1),(0,se.u)(!0))}sharedStorageCleanupRegexKeys($){return this.cleanupByRegex($,()=>(0,v.H)(this.sharedStorageService.getSharedStorageKeys()),he=>this.sharedStorageCleanup(he),"Shared storage")}cacheStorageCleanupRegexKeys($){return this.cleanupByRegex($,()=>{var he,Le;return(0,v.H)(null!==(he=null===(Le=caches)||void 0===Le?void 0:Le.keys())&&void 0!==he?he:[])},he=>this.cacheStorageCleanup(he),"Cache Storage")}dbStorageCleanupRegexKeys($){return this.cleanupByRegex($,()=>(0,R.of)(this.dbService.dbHandler.getAllStoreNames()),he=>this.dbStorageCleanup(he),"Index DB object store")}cleanupByRegex($,he,Le,qe){if(this.logger.info(`Running ${qe} cleanup for regular expression patterns: ${$}`),0===$.length)return(0,R.of)(!0);const _t=$.map(Nt=>new RegExp(Nt));return he().pipe((0,F.ZZ)(Nt=>{const Bt=Nt.filter(zt=>_t.some(tn=>tn.test(zt)));return 0===Bt.length?(this.logger.info(`No ${qe} keys matched the provided regex patterns: ${$}`),(0,R.of)(!0)):(this.logger.info(`${qe} cleanup regex patterns: ${$}, matching keys : ${Bt}`),this.isDryRun?(0,R.of)(!0):Le(Bt))}))}clearStorages($){const he=[];for(const Le in this.cleanupHandlers)this.cleanupHandlers.hasOwnProperty(Le)&&he.push((0,this.cleanupHandlers[Le])($[Le]));return(0,N.zV)(he).pipe((0,Z.s)(1),(0,se.u)(!0))}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(s.at),n.KVO(Si.yQ))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),vi=(()=>{var ye;class mt{}return(ye=mt).\u0275fac=function($){return new($||ye)},ye.\u0275mod=n.$C({type:ye}),ye.\u0275inj=n.G2t({}),mt})();var oo=t(51394);let fi=(()=>{var ye;class mt{constructor($,he,Le,qe,_t,Nt,Bt,zt,tn,pn,Vn,Jn,Di,xi,Wi,jn,_i,Zi,Ai,Bo,Vo,go,lr,Sr,an,Yi,Pr,cr,Wr,Kr,vs,Ho,fs,$r,Cs,_s,be,Te,Ke,m,re,me,Ie,Ve,Je,it,St,xt,Zt,gn,ln,fn,Cn,Ln,bn,Li,Or,Mr,br,Er,yr,Wo,Ss,Ps,Os,Ms,bs){var Ir,Dr,Tr,Rr,Ko,xr,Es;this.injector=he,this.appConfig=Le,this.loginWallService=qe,this.oobeService=_t,this.userConsentService=Nt,this.stringTableSvc=Bt,this.localeService=zt,this.startupService=tn,this.mallRelaunchService=pn,this.confirmationDialogService=Vn,this.bridgeService=Jn,this.remoteConfigTriggerService=Di,this.releaseHighlightsService=jn,this.updateService=_i,this.idmService=Zi,this.browserSupportService=Vo,this.telemetryService=lr,this.feedbackService=Sr,this.gfwslParamsService=an,this.playtestLiveService=Yi,this.gameSearchFilterService=Kr,this.gfnSdkService=Ho,this.ntEventsHandlerService=Te,this.networkTestService=Ke,this.backgroundColorService=m,this.spatialNavigationService=re,this.gamepadNavigationService=me,this.systemInfoService=Ve,this.browserPushNotificationService=Je,this.router=it,this.surveyService=St,this.nvKeyboardService=gn,this.audioPlayService=ln,this.clipboardService=fn,this.gfnWebWorkerService=bn,this.userActivationGuardService=Li,this.guestModeHelperService=Or,this.inputModalityService=Mr,this.storageCleanupService=br,this.appleScreenService=Er,this.appLaunchPerformanceService=yr,this.unsupportedBrowserService=Wo,this.dateHandlerService=Ss,this.commonBannerNotificationService=Ps,this.resumeUiService=Os,this.sharedStorageService=Ms,this.remoteConfigurationService=bs,this.destroy$=new o.B7,this.direction="ltr",this.isBrowserClient=!1,this.enableSoundNotification=!1,this._gamepadPermissionPromptShown=!1,this.appLaunchPerformanceService.onCommonJSLoadEnd();const{remoteLogging:Is=!1,consoleLogging:Ds=!0,telemetryReporting:Rs=!0,devTools:xs=!0}=Le.featureEnablement;$.initialize(Is,Ds),this.logger=$.getLogger("app component"),this.logger.info("Using configuration:",Le),xi.initializeDistributedTracing(),this.backgroundColorService.init(!0),this.updateLocale(),this.loginWallService.initialize(),null!==(Ir=this.appConfig.featureEnablement)&&void 0!==Ir&&Ir.osrMode&&(this.openOsrSubscription=this.bridgeService.executeCommand(y.Ts.Gfn.Streaming.OpenOsr,{enableInput:!0}).subscribe()),this.isBrowserClient=s.zk.isBrowserPlatform();let zr=this.appConfig.build.version;if(void 0!==cr.production&&!1===cr.production?zr=this.appConfig.build.version+"-dev":"virtual"===this.appConfig.build.type&&(zr=this.appConfig.build.version+"-"+this.appConfig.build.cl+"-virtual"),lr.initialize(!Rs),$r.init(zr),this.sharedStorageService.initializeMigration().pipe((0,Z.s)(1)).subscribe(()=>{this.logger.info("Shared storage to Indexed DB migration is handled here")}),this.systemInfoService.getSystemInfo([s.Lu.DeviceId]).pipe((0,Z.s)(1)).subscribe($n=>{document.cookie=`device_id=${$n.DeviceId}; max-age=31536000; samesite=lax; secure; path=/`}),Wi.initialize($r.getClientType(),xi.fetchCountryCode()),xt.initialize(Is,Ds),vs.initialize(),fs.initialize(),this.gfnWebWorkerService.initialize(),this.streamerConfigSubscription=_s.config$.pipe((0,ee.T)($n=>{const Ts=!(0,c.isNil)(null==$n?void 0:$n.sdkClient)&&(null==$n?void 0:$n.sdkClient.length)>0;return Ts&&Ho.setSdkClient($n.sdkClient),$r.setTelemetryConfig($n),Ts}),(0,_.p)($n=>$n&&Ho.isThisAGFNSDKSession()),(0,F.ZZ)(()=>Ho.getAuthInfo()),(0,F.ZZ)($n=>{switch($n.authType){case uo.hT.IDM:if($n.authToken)return Zi.setIdToken($n.authToken);break;case uo.hT.JWT:return this.guestModeHelperService.isGuestMode?(0,R.of)(null):Ai.getUserMembership()}return(0,R.of)(null)}),(0,_.p)($n=>!1===Ai.featureUpsellAvailable(a.q3U.BETTER_PRODUCT))).subscribe($n=>{this.logger.info("GaaS session available, but user has a premium account. Using that instead"),Ho.forceIDMAuthType()}),Zi.initialize(this.guestModeHelperService.isGuestMode),Zt.initialize(),Le.featureEnablement.remoteLogging&&!this.guestModeHelperService.isGuestMode&&go.initialize(zr),_t.initialize(),this.isBrowserClient&&(this.browserSupportService.initialize(!0,!cr.production||xs),this.ntEventsHandlerService.initiateAnalyticsEvents(),this.browserPushNotificationService.init()),this.userConsentService.initUserConsent(),this.remoteConfigTriggerService.initialize(),Ai.initialize(),Bo.initialize(),this.gameSearchFilterService.init(),(0,a.I2J)(this.router.url)||(this.layoutService=this.injector.get(Fn.Y),this.layoutService&&this.layoutService.initialize()),Pr.initialize(),Wr.initialize(),null!=Le&&null!==(Dr=Le.featureEnablement)&&void 0!==Dr&&Dr.oogg?Cs.init():this.logger.info("OOGG Service initialization skipped"),be.initialize(),this.surveyService.initialize(),this.clipboardService.setDefaultClipboardSetting(),null!==(Tr=Le.featureEnablement)&&void 0!==Tr&&Tr.openLinksOffDevice&&(this.logger.info("Enabling off-device link feature"),Ie.enable()),null!==(Rr=this.appConfig.featureEnablement)&&void 0!==Rr&&Rr.spatialNavigation){var dr;this.logger.info("Enabling spatial navigation"),this.spatialNavigationService.enable(!0);const $n=!(null===(dr=this.appConfig)||void 0===dr||null===(dr=dr.featureEnablement)||void 0===dr||!dr.tvMode);this.spatialNavigationService.activated=$n}null!==(Ko=this.appConfig.featureEnablement)&&void 0!==Ko&&Ko.nvKeyboard&&(this.nvKeyboardService.enabled=!0),null!==(xr=this.appConfig)&&void 0!==xr&&xr.userActivationGuardConfig&&(this.userActivationGuardService.enabled=!0),Cn.init(),Le.backNavigation&&(this.backNavigationService=he.get(M.r)),this.enableSoundNotification=!(null==Le||null===(Es=Le.featureEnablement)||void 0===Es||!Es.enableSoundNotification),Ln.initialize()}ngOnInit(){var $,he;this.inputModalityService.startMonitoring(),this.telemetryService.setScreen(a.MCB.ScreenMallHome),this.idmService.accountStatusChanged.pipe((0,f.Q)(this.destroy$)).subscribe(zt=>{this.feedbackService.onAccountStatusChanged({userId:zt.userId,externalUserId:zt.externalId,idpId:zt.idpId,isAuthenticated:zt.isAuthenticated}),this.gfwslParamsService.onAccountStatusChanged(zt.userId,zt.isAuthenticated,Be.Rg.Full,zt.technicalConsent,zt.behavioralConsent),this.networkTestService.initGxTargetConfiguration(this.isBrowserClient)}),this.startupService.checkAndFixOverrideZone().pipe((0,f.Q)(this.destroy$)).subscribe();const Le=(0,R.of)(null).pipe((0,b.M)(()=>{this.gfnSdkService.continueStartup()}),(0,F.ZZ)(()=>this.showReleaseHighlightsOnAppUpdate()),(0,w.n)(zt=>this.mallRelaunchService.completeRelaunch()),(0,Y.W)(zt=>(this.logger.error("Failed to launch stored cmsId ",zt),(0,R.of)(null))),(0,b.M)(zt=>{zt&&this.logger.info("Successfuly launched stored cmsId")})),qe=(0,An.O)(0).pipe((0,w.n)(()=>{const zt=this.confirmationDialogService.open({disableClose:!0,hasBackdrop:!0,data:{message:"install.installFirstMessage",closeButtonText:"common.close",header:"common.productName"}});return(0,ii.x)(zt.afterClosed(),this.bridgeService.executeCommand(y.Ts.Common.Windowcontrol.Close)).pipe((0,Y.W)(tn=>(this.logger.error("Failed to close the app while app is not installed: ",tn),(0,R.of)(null))))}));(0,W.yU)(this.oobeService.oobeDialogClosedState,this.oobeService.launch()).pipe((0,w.n)(()=>this.bridgeService.executeCommand(y.Ts.Common.Applicationinfo.IsApplicationInstalled)),(0,w.n)(zt=>(0,Pn.T)(()=>zt,Le,qe))).pipe((0,f.Q)(this.destroy$)).subscribe(()=>this.logger.info("Mall AppComponent init finished"),zt=>this.logger.error("Error while starting mall",zt)),this.osType$=this.systemInfoService.getDeviceOSType().pipe((0,Z.s)(1),(0,ho.t)(1)),this.playtestLiveService.initialize(),null!==($=this.appConfig.client)&&void 0!==$&&$.synthesizeEventsForGamepadInput&&(this.gamepadNavigationService.activated=!0);const Nt=null===(he=this.appConfig.backNavigation)||void 0===he?void 0:he.translateSystemBackTo;var Bt;if(Nt&&(null===(Bt=this.backNavigationService)||void 0===Bt||Bt.translateSystemBackTo(Nt)),this.isBrowserClient){this.guestModeHelperService.isGuestMode||this.osType$.pipe((0,F.ZZ)(tn=>this.bridgeService.executeCommand(y.Ts.Share.Shareserver.Init,{osType:tn,areHotkeysOverridden:!1,overriddenHotkeysList:[]})),(0,f.Q)(this.destroy$)).subscribe(()=>{this.logger.info("ShareServer Browser plugin Initialized")});const zt=a.OjG.RigReadyAndStreamerIdleTimeout;this.enableSoundNotification&&this.audioPlayService.registerAudio(null==zt?void 0:zt.type,null==zt?void 0:zt.src,s.Du)}this.appConfig.instrumentation.isEnabled&&this.systemInfoService.getSystemInfo(s.lo).pipe((0,Z.s)(1)).subscribe(zt=>{const Vn=`\n${JSON.stringify({systemInfo:zt},null,"\t")}`;this.logger.info(`\nINSTRUMENTATION_LOG_BEGIN${Vn}\nINSTRUMENTATION_LOG_END`)}),s.zk.isPWAModeOnSamsungTV()&&(this.tizenService=this.injector.get(mi),this.tizenService.initialize()),this.appleScreenService.enableTranslucentStatusBar&&this.appleScreenService.initialize(),s.zk.isCefPlatform()&&(this.pluginsNotificationHandlerService=this.injector.get(a.XOo),this.pluginsNotificationHandlerService&&this.pluginsNotificationHandlerService.initialize()),this.resumeUiService.initialize()}ngAfterViewInit(){var $,he,Le,qe,_t,Nt;if(this.commonBannerNotificationService.initialize(),s.zk.isCefPlatform()&&(this.osRequirementService=this.injector.get(a.d8l),this.osRequirementService&&this.osRequirementService.initialize()),this.appConfig.resolutionUpscalingConfig.isResolutionUpscalingEnabled&&(this.resolutionUpscaleService=this.injector.get(a.d5b),this.resolutionUpscaleService.initialize()),this.updateService.initialize(),this.mallRelaunchService.initialize(),this.updateService.isFirstRunAfterUpdate().pipe((0,Z.s)(1),(0,_.p)(Bt=>Bt),(0,F.ZZ)(()=>this.storageCleanupService.clearStorages(this.appConfig.storageCleanupRegexKeys).pipe((0,Z.s)(1)))).subscribe(()=>{},Bt=>{this.logger.error("Error clearing store",Bt)}),this.isOpportunityBlockerFound(),this.isBrowserClient||(0,a.I2J)(this.router.url)||setTimeout(()=>this.updateService.checkLastInstallationStatus(),null===(_t=this.appConfig)||void 0===_t||null===(_t=_t.client)||void 0===_t?void 0:_t.updateFailureNotificationDelay),this.isBrowserClient&&(this.unsupportedBrowserService.handleUnsupportedWarningDialog(),this.browserSupportService.isStagingOrDevDomain()&&this.configureStreamingOverrides()),null!==($=this.appConfig.client)&&void 0!==$&&$.reloadOnBFCacheLoad&&(this.windowService=this.injector.get(s.s7),this.pageShowEventSubscription=this.windowService.getPageShowEvent().pipe((0,_.p)(Bt=>Bt.persisted),(0,Z.s)(1),(0,f.Q)(this.destroy$)).subscribe(()=>{this.logger.info("Reloading"),window.location.reload()})),null!==(he=this.appConfig)&&void 0!==he&&null!==(he=he.cursorBlocker)&&void 0!==he&&he.enabled){const Bt=this.injector.get(a.qfF),zt=this.injector.get(s.rQ);Bt.monitor(),zt.leanModeTransitionState.pipe((0,f.Q)(this.destroy$)).subscribe(tn=>{tn?Bt.stopMonitoring():Bt.monitor()})}null!==(Le=this.appConfig.client)&&void 0!==Le&&Le.showGameControlsHint&&(null===(Nt=this.injector.get(a.gYD))||void 0===Nt||Nt.initialize()),this.dateHandlerService.initialize(),this.prefetchDeviceCapabilities(),null!==(qe=this.appConfig.featureEnablement)&&void 0!==qe&&qe.showGamepadPermissionPrompt&&this.injector.get(pi.bi).isGamepadConnected$.pipe((0,Xi.v)(zt=>!zt&&!this._gamepadPermissionPromptShown),(0,b.M)(zt=>{this.showGamepadPermissionWarning(),this._gamepadPermissionPromptShown=!0}),(0,f.Q)(this.destroy$)).subscribe()}onInstallingApp($){this.logger.info("PWA installed: Success")}updateLocale(){this.localeService.isRTLLocaleSupported=this.appConfig.featureEnablement.rtlLocaleSupported;let $=this.localeService.useDefaultLocale();(0,a.BSV)(a.kEU.CascadePreviewToken)&&(0,a.BSV)(a.kEU.Locale)?$=this.localeService.setLocale((0,a.BSV)(a.kEU.Locale)):!(0,c.isNil)(this.appConfig.locale)&&this.appConfig.locale.value&&($=this.localeService.setLocale(this.appConfig.locale.value)),this.localeServiceSubscription=$.pipe((0,F.ZZ)(()=>this.stringTableSvc.load())).subscribe(()=>{this.logger.info("Successfully loaded string table")},he=>{this.logger.error("Failed to load string table with error: ",he)}),this.layoutDirectionUpdateSubscription=this.localeService.layoutDirectionUpdated$.subscribe(()=>{this.direction=this.localeService.isRTLLayoutEnabled?"rtl":"ltr"})}showGamepadPermissionWarning(){const he=this.injector.get(M.uh).open({closeOnNavigation:!1,disableClose:!1,data:{headerText:{text:"layout.gamepadPermissionDialogText.headerText"},bodyText:{text:"layout.gamepadPermissionDialogText.bodyText"},primaryButton:{text:"layout.gamepadPermissionDialogText.primaryButton"}}});he.primaryButtonClick.pipe((0,Z.s)(1),(0,f.Q)(this.destroy$)).subscribe(()=>{he.close()})}showReleaseHighlightsOnAppUpdate(){if(this.appConfig.featureEnablement.releaseHighlights){const $=this.updateService.isFirstAppRunAfterMajorUpdate$(),he=this.releaseHighlightsService.showReleaseHighlightsFromSharedStorage((0,a.ClN)(this.appConfig)),Le=this.updateService.readUpdateData(),qe=this.loginWallService.onLoginWallFlowCompleted$(),_t=(0,Pn.T)(()=>this.isBrowserClient,this.unsupportedBrowserService.unsupportedBrowserDialogClosedState,(0,R.of)(!0));return(0,W.yU)(Le,$,qe,_t).pipe((0,Z.s)(1),(0,w.n)(([Nt,Bt,zt,tn])=>null!=Nt&&Nt.updateFromStreamer?(this.logger.info("Update was triggered during game launch, do not show RH."),this.updateService.appendUpdateData({updateFromStreamer:!1}).pipe((0,F.ZZ)(pn=>this.releaseHighlightsService.updateReleaseHighlightsSkippedStatus((0,a.ClN)(this.appConfig),!0)),(0,se.u)(!1))):(this.logger.info("StoredUpdateData is null or updateFromStreamer value is false/null."),Bt?(this.logger.info("Major update done."),this.releaseHighlightsService.showReleaseHighlightsFromRemoteConfig((0,a.ClN)(this.appConfig)).pipe((0,Z.s)(1)).pipe((0,se.u)(!0))):he.pipe((0,F.ZZ)(pn=>(this.logger.info("show release highlights SharedStorage value: ",pn),pn?this.releaseHighlightsService.showReleaseHighlightsFromRemoteConfig((0,a.ClN)(this.appConfig)).pipe((0,Z.s)(1),(0,F.ZZ)(Vn=>Vn?(0,R.of)(Vn):this.releaseHighlightsService.readReleaseHighlightsSkippedStatus((0,a.ClN)(this.appConfig)))):(0,R.of)(!1)))))),(0,F.ZZ)(Nt=>!Nt||(0,a.I2J)(this.router.url)||this.guestModeHelperService.isGuestMode?(0,R.of)(!1):this.idmService.accountStatusChanged.pipe((0,Z.s)(1),(0,ee.T)(()=>(this.logger.info("Opening highlights dialog at startup after an update."),this.releaseHighlightsService.onShowReleaseHighlight(!1,s.zk.isAndroidPlatform()?a.Ut0.getPaddedFourOctetVersion((0,a.ClN)(this.appConfig)):(0,a.ClN)(this.appConfig),"1"),!0)),(0,Y.W)(Bt=>(this.logger.error("Error fetching accountStatusChanged:",Bt),(0,R.of)(!1))))))}return(0,R.of)(!1)}isOpportunityBlockerFound(){!0===window.opportunityBlocked&&this.logger.info("Ad blocked detected.")}prefetchDeviceCapabilities($=!1){this.logger.info("Calling prefetchDeviceCapabilities"),this.bridgeService.executeCommand(y.Ts.Gfn.Streaming.PrefetchDeviceCapabilities,{forceRefresh:$}).pipe((0,f.Q)(this.destroy$)).subscribe(he=>this.logger.info("prefetchDeviceCapabilities response: ",he),he=>this.logger.error("prefetchDeviceCapabilities error: ",he.toString()))}ngOnDestroy(){var $;this.destroy$.next(!0),this.destroy$.complete(),null!==($=this.appConfig)&&void 0!==$&&null!==($=$.cursorBlocker)&&void 0!==$&&$.enabled&&this.injector.get(a.qfF).stopMonitoring(),this.localeServiceSubscription&&this.localeServiceSubscription.unsubscribe(),this.layoutDirectionUpdateSubscription&&this.layoutDirectionUpdateSubscription.unsubscribe(),this.tracingSubscription&&this.tracingSubscription.unsubscribe(),this.isBrowserClient&&this.browserSupportService.cleanup(),this.openOsrSubscription&&this.openOsrSubscription.unsubscribe(),this.streamerConfigSubscription&&this.streamerConfigSubscription.unsubscribe(),this.pageShowEventSubscription&&this.pageShowEventSubscription.unsubscribe()}configureStreamingOverrides(){const $=this.sharedStorageService.readBlock("overrides");(0,N.zV)([$,this.remoteConfigurationService.remoteConfigFetched$]).pipe((0,f.Q)(this.destroy$),(0,w.n)(([Le,qe])=>{const _t=null==qe?void 0:qe.overrides;if(Le||qe&&_t.data){let zt;var Nt,Bt;return _t.isFetchedFromGXT&&(zt={overrideData:(null==Le||null===(Nt=Le.ragnarok)||void 0===Nt?void 0:Nt.overrideData)||"",clientConfigOverride:(null==Le||null===(Bt=Le.ragnarok)||void 0===Bt?void 0:Bt.clientConfigOverride)||"",gxtOverrideData:JSON.stringify(_t.data)}),this.bridgeService.executeCommand(y.Ts.Gfn.Streaming.ConfigureStreamingSettings,zt)}return this.logger.info("No Streaming overrides available."),(0,R.of)(!1)}),(0,Y.W)(Le=>(this.logger.error("Error configuring streaming settings: ",Le),(0,R.of)(!1)))).subscribe(Le=>{Le&&this.logger.info("Configured streaming settings")},Le=>this.logger.error("Error configuring streaming settings: ",Le))}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.rXU(s.J6),n.rXU(n.zZn),n.rXU(a.Vk6),n.rXU(a.Xtz),n.rXU(a.ZSB),n.rXU(a.FX3),n.rXU(a.AdR),n.rXU(s.iH),n.rXU(a.blp),n.rXU(Ri),n.rXU(a.NnO),n.rXU(s.NZ),n.rXU(Yo),n.rXU(a.ho6),n.rXU(io.BW),n.rXU(a.wIR),n.rXU(a.HoT),n.rXU(a.k_2),n.rXU(a.yJU),n.rXU(a.Tzh),n.rXU(Ui.vT),n.rXU(a.q8U),n.rXU(Be.H0),n.rXU(S.n1),n.rXU($i.Tg),n.rXU(a.CC_),n.rXU(x.XP),n.rXU(In.aT),n.rXU(a.Itz),n.rXU(tt.SU),n.rXU(Pi.lS),n.rXU(uo.DL),n.rXU(a.BSK),n.rXU(a.jgD),n.rXU(Qo.m),n.rXU(a.zi2),n.rXU(a.SLD),n.rXU(a.cEG),n.rXU(a.qIF),n.rXU(s.re),n.rXU(M.ED),n.rXU(a.$vj),n.rXU(ki.n),n.rXU(s.zW),n.rXU(a.hLj),n.rXU(U.Ix),n.rXU(a.Icg),n.rXU(s.To),n.rXU(a.naM),n.rXU(fo.RF),n.rXU(s.aP),n.rXU(a.WWE),n.rXU(a.F4T),n.rXU(a.WTI),n.rXU(a.JSj),n.rXU(Co.g),n.rXU(a.xDS),n.rXU(We.p),n.rXU(Ao),n.rXU(a.GRF),n.rXU(a.apq),n.rXU(a.Lki),n.rXU(s.I_),n.rXU(a.mcm),n.rXU(x.Dq),n.rXU(Si.yQ),n.rXU(a.aN9))},ye.\u0275cmp=n.VBU({type:ye,selectors:[["gfn-root"]],hostBindings:function($,he){1&$&&n.bIt("appinstalled",function(qe){return he.onInstallingApp(qe)},!1,n.tSv)},decls:1,vars:1,consts:[[3,"dir"]],template:function($,he){1&$&&n.nrm(0,"router-outlet",0),2&$&&n.FS9("dir",he.direction)},dependencies:[U.n3,oo.ig],encapsulation:2}),mt})();const so={bridge:{mocks:[]},logger:{defaultLoggingLevel:s.q_.Trace},window:{name:(0,a.EDS)()?s.Sg.Gdn:s.Sg.Gfn},locale:{supportedLang:["bg_BG","cs_CZ","da_DK","de_DE","el_GR","en_GB","en_US","es_ES","es_MX","fi_FI","fr_FR","hr_HR","hu_HU","it_IT","ja_JP","ko_KR","nb_NO","nl_NL","pl_PL","pt_BR","pt_PT","ro_RO","ru_RU","sk_SK","sl_SI","sv_SE","th_TH","tr_TR","uk_UA","zh_CN","zh_TW","ar_SA"]},configFileName:"shared/assets/config/config.json",production:!0};var _o=t(68082),ao=t(21333);let qo=(()=>{var ye;class mt{constructor($){this.logger=$.getLogger("HttpLoggingService")}intercept($,he){return he.handle($).pipe((0,b.M)(Le=>{},Le=>{this.handleHttpError(Le,$)}))}handleHttpError($,he){this.logger.info(`Http request method '${he.method}', url '${he.url}' FAILED with response`,$)}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac}),mt})();var lo=t(33089),Pt=t(56123),Ei=function(ye){return ye.Shared="sharedStore",ye.Webclient="webclientStore",ye.Config="configStore",ye}(Ei||{});const So={[Pt.NetworkType.ETHERNET]:s.Sd.Ethernet,[Pt.NetworkType.WIFI]:s.Sd.WiFiUnknown,[Pt.NetworkType.WIFI_2_4]:s.Sd.WiFi2_4,[Pt.NetworkType.WIFI_5_0]:s.Sd.WiFi5_0,[Pt.NetworkType.MOBILE]:s.Sd.Mobile,[Pt.NetworkType.MOBILE_2G]:s.Sd.Mobile_2G,[Pt.NetworkType.MOBILE_3G]:s.Sd.Mobile_3G,[Pt.NetworkType.MOBILE_4G]:s.Sd.Mobile_4G,[Pt.NetworkType.MOBILE_5G]:s.Sd.Mobile_5G,[Pt.NetworkType.OTHER]:s.Sd.Other,[Pt.NetworkType.WIMAX]:s.Sd.Wimax,[Pt.NetworkType.BLUETOOTH]:s.Sd.Bluetooth,[Pt.NetworkType.UNKNOWN]:s.Sd.Unknown},ui=y.Ts.Common.Applicationcontrol;let co=(()=>{var ye;class mt extends s.Un{constructor($){super(),this.dbService=$}get handlers(){return{module:ui.DeleteCookies.module,commands:{[ui.DeleteCookies.method]:this.deleteCookies.bind(this),[ui.LoadStringTable.method]:this.loadStringTable.bind(this),[ui.ReadConfig.method]:this.readConfig.bind(this),[ui.WriteConfig.method]:this.writeConfig.bind(this)}}}deleteCookies($){return this.makeResult("true")}loadStringTable($){return this.makeResult("true")}readConfig($){return this.dbService.getGlobalStore(Ei.Config).getItem($.payload.appname).pipe((0,Y.W)(he=>this.makeError(500,"IndexedDB Error: "+he.toString())),(0,F.ZZ)(he=>this.makeResult(he)))}writeConfig($){return this.dbService.getGlobalStore(Ei.Config).setItem($.payload.appname,$.payload.data).pipe((0,Y.W)(he=>this.makeError(500,"IndexedDB Error: "+he.toString())),(0,F.ZZ)(he=>this.makeResult("true")))}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.at))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();const Bi=new o.B7,wo=new o.B7,zi="WebclientChannel",V=y.Ts.Common.Ipc,dt=[a.kNP.PushNotification];let er=(()=>{var ye;class mt extends s.Un{constructor($){super(),this.leanModeDisabled=!0,this.startBroadcastListener(),$.leanModeTransitionState.subscribe(he=>{this.leanModeDisabled=!he})}ngOnDestroy(){this.stopBroadcastListener()}shouldHandleIPC($){return!!this.leanModeDisabled||dt.includes($)}startBroadcastListener(){this.messages=[],typeof BroadcastChannel<"u"?(this.broadcastChannel=new BroadcastChannel(zi),this.broadcastChannel.onmessage=$=>{var he;this.shouldHandleIPC(null==$||null===(he=$.data)||void 0===he?void 0:he.type)&&this.onReceiveMessage($.data)}):this.localStorageAvailable()&&(this.localStorage=localStorage,this.uuid=(0,q.bz)(),this.storageEventListener=$=>{var he;if($.key!==zi)return;const Le=JSON.parse($.newValue);!Le||Le.senderUuid===this.uuid||this.shouldHandleIPC(null===(he=Le.message)||void 0===he?void 0:he.type)&&this.onReceiveMessage(Le.message)},window.addEventListener("storage",this.storageEventListener))}stopBroadcastListener(){this.localStorage&&this.storageEventListener&&window.removeEventListener("storage",this.storageEventListener),this.broadcastChannel&&(this.broadcastChannel.close(),this.broadcastChannel=null)}get handlers(){return{module:V.Pop.module,commands:{[V.Pop.method]:this.popMessage.bind(this),[V.Push.method]:this.pushMessage.bind(this)}}}pushMessage($){var he;return this.shouldHandleIPC(null===(he=$.payload.message)||void 0===he?void 0:he.type)&&this.broadcastMessage($.payload.message),this.makeResult("IPC Push Message successful")}popMessage($){if(this.messages.length){const he=this.messages.pop();return this.makeResult(he)}{const he={type:a.kNP.QueueEmpty,content:JSON.stringify(!1)};return this.makeResult(JSON.stringify(he))}}broadcastMessage($){this.broadcastChannel?this.broadcastChannel.postMessage($):this.localStorage&&(this.localStorage.setItem(zi,JSON.stringify({message:$,senderUuid:this.uuid})),this.localStorage.removeItem(zi))}onReceiveMessage($){this.messages.push(JSON.stringify($)),Bi.next({sender:"IpcPlugin",data:s.D4.IpcNewMessage})}localStorageAvailable(){try{const $="__storage_test__";return localStorage.setItem($,$),localStorage.removeItem($),!0}catch{return!1}}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.rQ))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var gr=y.Or.Common.Sharedstorage;const No=y.Ts.Common.Sharedstorage;let Ar=(()=>{var ye;class mt extends s.Un{constructor($){super(),this.swService=$}get handlers(){return{module:No.PostCacheUpdate.module,commands:{[No.PostCacheUpdate.method]:this.postCacheUpdateMessage.bind(this)}}}postCacheUpdateMessage($){var he;const Le=$.payload.operationType,qe={source:s.Un.browserInstanceId,path:$.payload.path,data:null!==(he=$.payload.cacheUpdateData)&&void 0!==he?he:{},operationType:Le},_t={type:Pi.oY.SharedStorageUpdate,content:JSON.stringify(qe)};return Le!==gr.OperationType.Cache&&this.swService.postMessageSw(_t),wo.next(qe),this.makeResult("true")}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(Pi.lS))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),tr=(()=>{var ye;class mt{}return(ye=mt).\u0275fac=function($){return new($||ye)},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac}),mt})();var Dn=t(17053),_n=t(34593);let Nn=(()=>{var ye;class mt{get networkTypeDetector(){return this._networkTypeDetector||(this._networkTypeDetector=(0,Pt.getNetworkTypeDetector)()),this._networkTypeDetector}constructor($){this.logger=$.getLogger("PlatformInfoService"),this.platformInfo$=(0,v.H)((0,Pt.getPlatformDetails)()).pipe((0,ee.T)(he=>{const Le=he.os;return{details:he,systemName:this.getSystemName(he),processorArchitecture:this.getProcessorArchitecture(Le),cpuName:this.getCPUName(Le)}}),(0,ho.t)(1))}getPlatformInfo(){return s.zk.isBrowserPlatform()?this.platformInfo$:(0,R.of)(null)}getNetworkType(){return this.networkTypeDetector.getCurrentNetworkType()}onNetworkTypeChanged(){return new Dn.c(he=>{let Le=!0;const qe=_t=>{Le&&he.next(_t)};return this.networkTypeDetector.registerCallback(qe),()=>{Le=!1,this.networkTypeDetector.unregisterCallback(qe)}}).pipe((0,_n.Z)(this.getNetworkType()))}isBrowserStreamingSupported(){return this.platformInfo$.pipe((0,ee.T)($=>(0,Pt.IsFeatureSupported)(Pt.BrowserFeature.Streaming,$.details)))}getTranslatedPayloadDeviceType($){return(0,Pt.translatePlatformDetailsForPayload)($).deviceType}getTranslatedPayloadOsType($){return(0,Pt.translatePlatformDetailsForPayload)($).os}getTranslatedPayloadBrowserType($){return(0,Pt.translatePlatformDetailsForPayload)($).browser}getTranslatedClientHeaderDeviceType($){return(0,Pt.translatePlatformDetailsForClientHeader)($).deviceType}getTranslatedClientHeaderOsType($){return(0,Pt.translatePlatformDetailsForClientHeader)($).os}getTranslatedClientHeaderBrowserType($){return(0,Pt.translatePlatformDetailsForClientHeader)($).browser}getSystemName($){return $.os===Pt.PlatformName.TIZEN?this.handleTizenCapability(q.Iu.ModelName):$.deviceModel||void 0}getProcessorArchitecture($){if($===Pt.PlatformName.TIZEN)return this.handleTizenCapability(q.Iu.PlatformCoreCpuArch);const he=window.navigator.appVersion;let Le="x86";return he.includes("WOW64")||he.includes("Win64")?Le="x64":he.includes("arm")&&(Le="arm"),Le}getCPUName($){if($===Pt.PlatformName.TIZEN)return(0,q.s0)()}handleTizenCapability($){try{return(0,q.NX)($)}catch(he){return void this.logger.error(`Failed to get Tizen capability ${$}: ${he}`)}}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();const Uo="deviceId",Un="systemInfoOverride",Bn=y.Ts.Common.Systeminfo;var yi=function(ye){return ye[ye.Payload=0]="Payload",ye[ye.ClientHeader=1]="ClientHeader",ye}(yi||{});let Vi=(()=>{var ye;class mt extends s.Un{constructor($,he,Le,qe){var _t;super(),this.dbService=Le,this.platformInfoService=qe,this.isOverrideStored=!1,this.sysInfoHandlers=new Map,this.logger=$.getLogger("SystemInfoPlugin"),this.logger.info("User Agent:",window.navigator.userAgent),this.overrideConfig=null!==(_t=null==he?void 0:he.systemInfoOverrideConfig)&&void 0!==_t?_t:{allowedOSs:[],override:{}},this.setSysInfoHandler("DeviceType",this.getDeviceTypeHandler.bind(this)),this.setSysInfoHandler("Platform",this.getPlatformHandler.bind(this)),this.setSysInfoHandler("OSName",this.getOSNameHandler.bind(this)),this.setSysInfoHandler("OSVersion",this.getOSVersionHandler.bind(this)),this.setSysInfoHandler("BrowserName",this.getBrowserNameHandler.bind(this)),this.setSysInfoHandler("BrowserVersion",this.getBrowserVersionHandler.bind(this)),this.setSysInfoHandler("UserDefaultUILanguage",this.getUserDefaultUILanguageHandler.bind(this)),this.setSysInfoHandler("ProcessorArchitecture",this.getProcessorArchitectureHandler.bind(this)),this.setSysInfoHandler("Display",this.getDisplayHandler.bind(this)),this.setSysInfoHandler("GPU",this.getGPUHandler.bind(this)),this.setSysInfoHandler("Disk",this.getDiskHandler.bind(this)),this.setSysInfoHandler("ConfidenceInBrowser",this.getConfidenceInBrowserHandler.bind(this)),this.setSysInfoHandler("IsBrowserForged",this.getIsBrowserForgedHandler.bind(this)),this.setSysInfoHandler("VendorName",this.getVendorNameHandler.bind(this)),this.setSysInfoHandler("SystemName",this.getSystemNameHandler.bind(this)),this.setSysInfoHandler("CPUName",this.getCPUNameHandler.bind(this)),this.setSysInfoHandler("CurrentUiMode",this.getCurrentUIModeHandler.bind(this)),this.setSysInfoHandler("UserSpecifiedDeviceName",this.getUserSpecifiedDeviceName.bind(this))}get handlers(){return{module:Bn.GetDeviceId.module,commands:{[Bn.GetDeviceId.method]:this.getDeviceId.bind(this),[Bn.GetSystemInfo.method]:this.getSystemInfo.bind(this),[Bn.GetClientHeadersInfo.method]:this.getClientHeadersInfo.bind(this),[Bn.GetStreamingSupportInfo.method]:this.isStreamingSupported.bind(this),[Bn.GetNetworkTypeChangedInfo.method]:this.onNetworkTypeChanged.bind(this)}}}isStreamingSupported($){return this.platformInfoService.isBrowserStreamingSupported().pipe((0,Z.s)(1),(0,F.ZZ)(he=>this.makeResult(JSON.stringify({IsStreamingSupported:he}))))}setSysInfoHandler($,he){this.sysInfoHandlers.set($,he)}makeSystemInfoData($){var he;const Le={},qe=[];return null!==(he=$.keys)&&void 0!==he&&he.length&&$.keys.forEach(_t=>{const Nt=this.sysInfoHandlers.get(_t);Nt?Le[_t]=Nt($)[_t]:qe.push(_t)}),qe.length&&this.logger.info(`SystemInfo not implemented for keys ${JSON.stringify(qe)}`),Le}getDeviceId($){return this.readDeviceId().pipe((0,F.ZZ)(he=>{if(he)return this.makeResult(JSON.stringify({DeviceID:he}));{const Le={DeviceID:(0,q.bz)()};return this.storeDeviceId(Le.DeviceID).pipe((0,w.n)(qe=>this.makeResult(JSON.stringify(Le))))}}),(0,Y.W)(he=>this.makeError(500,"Failed to get device id: "+he.toString())))}getClientHeadersInfo(){const $=[];return this.sysInfoHandlers.forEach((he,Le)=>{$.push(Le)}),this.fetchSystemInfo(yi.ClientHeader,$)}getSystemInfo($){var he;return this.fetchSystemInfo(yi.Payload,null===(he=$.payload)||void 0===he?void 0:he.keys)}fetchSystemInfo($,he){const Le=this.platformInfoService.getPlatformInfo().pipe((0,ee.T)(Nt=>this.makeSystemInfoData({platformDetailsType:$,platformInfo:Nt,keys:he}))),qe=(0,W.yU)(he.includes("Network")?(0,R.of)(this.getNetworkSystemInfo()):(0,R.of)({}),he.some(Nt=>"Network"!==Nt)?Le:(0,R.of)({})).pipe((0,ee.T)(([Nt,Bt])=>({...Nt,...Bt}))),_t=this.platformInfoService.getPlatformInfo().pipe((0,F.ZZ)(Nt=>{const Bt=this.platformInfoService.getTranslatedPayloadOsType(Nt.details);return this.getSystemInfoOverride(Bt,he)}));return(0,W.yU)(qe,_t).pipe((0,Z.s)(1),(0,F.ZZ)(([Nt,Bt])=>(Object.assign(Nt,Bt),this.makeResult(JSON.stringify(Nt)))),(0,ho.t)(1))}getNetworkSystemInfo(){return{Network:{Fingerprint:"",NetworkType:this.getMappedNetworkType(this.platformInfoService.getNetworkType())}}}onNetworkTypeChanged(){return this.platformInfoService.onNetworkTypeChanged().pipe((0,F.ZZ)($=>this.makeResult(JSON.stringify({networkType:this.getMappedNetworkType($)}))))}readDeviceId(){return this.dbService.getGlobalStore(Ei.Webclient).getItem(Uo)}storeDeviceId($){return this.dbService.getGlobalStore(Ei.Webclient).setItem(Uo,$)}getDeviceTypeHandler($){const Le=$.platformInfo;return{DeviceType:$.platformDetailsType===yi.ClientHeader?this.platformInfoService.getTranslatedClientHeaderDeviceType(Le.details):this.platformInfoService.getTranslatedPayloadDeviceType(Le.details)}}getPlatformHandler($){return{Platform:$.platformInfo.details.os}}getOSNameHandler($){const Le=$.platformInfo;return{OSName:$.platformDetailsType===yi.ClientHeader?this.platformInfoService.getTranslatedClientHeaderOsType(Le.details):this.platformInfoService.getTranslatedPayloadOsType(Le.details),OSVersion:this.getOSVersionHandler($).OSVersion}}getOSVersionHandler($){const he=$.platformInfo;return{OSVersion:he.details.osVer&&"0"!==he.details.osVer?he.details.osVer:s.rK}}getBrowserNameHandler($){const Le=$.platformInfo;return{BrowserName:$.platformDetailsType===yi.ClientHeader?this.platformInfoService.getTranslatedClientHeaderBrowserType(Le.details):this.platformInfoService.getTranslatedPayloadBrowserType(Le.details)}}getBrowserVersionHandler($){const he=$.platformInfo;return"0"===he.details.browserFullVer?{BrowserVersion:he.details.browserVer||s.rK}:{BrowserVersion:he.details.browserFullVer||he.details.browserVer||s.rK}}getUserDefaultUILanguageHandler($){var he;const Le={UserDefaultUILanguage:this.sanitizeLanguage(null===(he=window.navigator.language)||void 0===he?void 0:he.replace("-","_"),$.platformInfo.details.browser===Pt.BrowserName.SAFARI)};return this.logger.info("preferred languages are",window.navigator.languages,"default pick is",Le.UserDefaultUILanguage),Le}getProcessorArchitectureHandler($){return{ProcessorArchitecture:$.platformInfo.processorArchitecture||void 0}}getDisplayHandler(){return{Display:[{RefreshRate:"",LogicalResolution:window.screen.width.toString()+" x "+window.screen.height.toString(),PhysicalResolution:Math.floor(window.screen.width*window.devicePixelRatio)+" x "+Math.floor(window.screen.height*window.devicePixelRatio)}]}}getGPUHandler($){return{GPU:{GPUData:[{LongGPUName:$.platformInfo.details.gpuDetail}]}}}getDiskHandler(){return{Disk:[]}}getConfidenceInBrowserHandler($){return{ConfidenceInBrowser:$.platformInfo.details.confidence}}getIsBrowserForgedHandler($){return{IsBrowserForged:$.platformInfo.details.forging}}getVendorNameHandler($){return{VendorName:$.platformInfo.details.vendor||void 0}}getSystemNameHandler($){return{SystemName:$.platformInfo.systemName||void 0}}getCPUNameHandler($){return{CPUName:$.platformInfo.cpuName||void 0}}getSystemInfoOverride($,he){if(!this.overrideConfig.allowedOSs.includes($))return(0,R.of)({});const Le=(0,ee.T)(_t=>{let Nt={};return _t&&(null!=he&&he.length?he.forEach(Bt=>{_t[Bt]&&(Nt[Bt]=_t[Bt])}):Nt=_t),Nt}),qe=this.overrideConfig.override;return qe&&Object.keys(qe).length>0?(this.storeSystemInfoOverrideIfNeeded(qe),(0,R.of)(qe).pipe(Le)):this.readSystemInfoOverride().pipe((0,b.M)(_t=>{_t&&(this.logger.info("Override is loaded from DB"),this.overrideConfig.override=_t)}),Le)}storeSystemInfoOverrideIfNeeded($){this.isOverrideStored||this.dbService.getGlobalStore(Ei.Webclient).setItem(Un,$).pipe((0,Z.s)(1),(0,b.M)(he=>{this.logger.info("Override is stored in DB"),this.isOverrideStored=!0})).subscribe()}readSystemInfoOverride(){return this.dbService.getGlobalStore(Ei.Webclient).getItem(Un)}sanitizeLanguage($,he){return he&&($=$.replace(/(.*[-_])([a-zA-Z]*)/,(Le,qe,_t)=>`${qe}${_t.toUpperCase()}`)),$}getMappedNetworkType($){const he=So[$];if(he)return he;this.logger.error(`Invalid case, unable to match NetworkType: ${$} from Ragnarok with current network constants`)}getCurrentUIModeHandler($){const he=$.platformInfo,Le=he.details.deviceType;let qe=y.Or.Common.Systeminfo.UiModeEnum.Desktop;return Le?(Le===Pt.DeviceType.PHONE||Le===Pt.DeviceType.TABLET)&&(qe=y.Or.Common.Systeminfo.UiModeEnum.Mobile):(he.details.os===Pt.PlatformName.ANDROID||he.details.os===Pt.PlatformName.IOS||he.details.os===Pt.PlatformName.IPADOS)&&(qe=y.Or.Common.Systeminfo.UiModeEnum.Mobile),{CurrentUiMode:qe}}getUserSpecifiedDeviceName($){return{UserSpecifiedDeviceName:""}}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(tr,8),n.KVO(s.at),n.KVO(Nn))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var Po=y.Or.Common.Sharedstorage.OperationType;const Oo=y.Ts.Common.Windowevents,ji=ye=>`json:${JSON.stringify(ye)}`;let zn=(()=>{var ye;class mt extends s.Un{constructor($,he,Le){super(),this.swService=he,this.ngZone=Le,this.windowEvents=new o.B7,this.defaultSharedStorageCache={type:s.D4.SharedStorageUpdate},this.sharedStorageCache={...this.defaultSharedStorageCache},this.handleTizenAppControlEvent=()=>{const{callerAppId:qe,appControl:_t}=(0,q.D$)();this.logger.info(`Received appcontrol event from (${qe}), operation: ${_t.operation}`);const Nt=_t&&(0,q.iK)(_t);Nt?this.ngZone.run(()=>{this.windowEvents.next(ji({type:s.D4.RouteChange,"new-route":Nt}))}):this.logger.error("Invalid payload in requested app control")},this.logger=$.getLogger("CommonBrowserPlugins/WindowEvents"),this.logger.info("InstanceId: ",s.Un.browserInstanceId),Bi.pipe((0,_.p)(qe=>qe.data===s.D4.IpcNewMessage),(0,ee.T)(qe=>qe.data)).subscribe(qe=>this.onInternalMessage(qe),qe=>{}),(0,z.h)(wo,this.sharedStorageMessagesFromOtherTabs).subscribe(qe=>{this.onSharedStorageUpdate(qe)},qe=>{this.logger.error("Error receiving update event from shared storage:",qe)}),s.zk.isPWAModeOnSamsungTV()&&Le.runOutsideAngular(()=>{window.addEventListener("appcontrol",this.handleTizenAppControlEvent)})}get handlers(){return{module:Oo.RegisterWindowEventsCallback.module,commands:{[Oo.RegisterWindowEventsCallback.method]:this.registerWindowCallbacks.bind(this)}}}get sharedStorageMessagesFromOtherTabs(){return this.swService.swSharedStorageUpdate$.pipe((0,ee.T)($=>JSON.parse($.content)),(0,_.p)($=>$.source!==s.Un.browserInstanceId))}onInternalMessage($){this.windowEvents.next($)}onSharedStorageUpdate($){switch($.operationType){case Po.Read:this.logger.verbose("Read operation (no-op)");break;case Po.Write:this.logger.verbose("Write operation:",$),(0,c.setWith)(this.sharedStorageCache,$.path,$.data,Object);break;case Po.Remove:this.logger.verbose("Remove operation:",$),(0,c.unset)(this.sharedStorageCache,$.path);break;case Po.Cache:this.logger.verbose("Cache operation:",$),this.sharedStorageCache=(0,c.isEmpty)($.data)?this.sharedStorageCache:{...this.sharedStorageCache,...$.data};break;default:this.logger.verbose("Invalid Operation Type:",$.operationType)}this.windowEvents.next(ji(this.sharedStorageCache))}registerWindowCallbacks($){return this.makePersistentResult(this.windowEvents.asObservable())}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(Pi.lS),n.KVO(n.SKi))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var li=y.Or.Common.Applicationinfo;const ci=y.Ts.Common.Applicationinfo;let hr=(()=>{var ye;class mt extends s.Un{constructor(){super(),this.applicationLifeTimeSubject=new o.B7}get handlers(){return{module:ci.IsApplicationRunning.module,commands:{[ci.IsApplicationRunning.method]:this.isApplicationRunning.bind(this),[ci.IsApplicationInstalled.method]:this.IsApplicationInstalled.bind(this),[ci.GetIsUIRefreshed.method]:this.getIsUIRefreshed.bind(this),[ci.RegisterAppLifetimeEventsCallback.method]:this.registerAppLifetimeEventsCallback.bind(this),[ci.OpenFileDialog.method]:this.openFileDialog.bind(this),[ci.OpenDirectoryBrowser.method]:this.openDirectoryBrowser.bind(this)}}}applicationLifeTimeListener($){window.addEventListener("unload",he=>{$.next({type:li.ApplicationLifetimeEventType.ApplicationExit,reason:li.ShutdownReason.BrowserExit})})}isApplicationRunning($){return this.makeResult("true")}IsApplicationInstalled($){return this.makeResult("true")}getIsUIRefreshed($){return this.makeResult("false")}registerAppLifetimeEventsCallback($){return this.applicationLifeTimeListener(this.applicationLifeTimeSubject),this.makePersistentResult(this.applicationLifeTimeSubject.asObservable())}openFileDialog($){return this.makeResult("true")}openDirectoryBrowser($){return this.makeResult("true")}}return(ye=mt).\u0275fac=function($){return new($||ye)},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();const je=y.Ts.Common.Windowcontrol;let Ae=(()=>{var ye;class mt extends s.Un{constructor($,he){super(),this.browserSupportService=he,this.logger=$.getLogger("crimson/browser/windowcontrol-plugin")}get handlers(){return{module:je.Maximize.module,commands:{[je.Maximize.method]:this.maximize.bind(this),[je.Minimize.method]:this.minimize.bind(this),[je.Restore.method]:this.restore.bind(this),[je.Resize.method]:this.resize.bind(this),[je.Close.method]:this.close.bind(this),[je.Focus.method]:this.focus.bind(this),[je.RequestUserAttention.method]:this.requestUserAttention.bind(this)}}}maximize($){return this.makeResult("true")}minimize($){return this.makeResult("true")}restore($){return this.makeResult("true")}resize($){if(0===$.payload.x&&0===$.payload.y&&0===$.payload.w&&0===$.payload.h){const he=document.getElementById("fullscreen-container");he&&this.browserSupportService.requestFullscreen(he)}return this.makeResult("true")}close($){return(0,q.mI)()&&(0,q.v4)(),this.makeResult("true")}focus($){return this.makeResult("true")}requestUserAttention($){return this.makeResult("true")}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(Ui.vT))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();const Ye=y.Ts.Common.Update;let fe=(()=>{var ye;class mt extends s.Un{constructor(){super()}get handlers(){return{module:Ye.ReadTicket.module,commands:{[Ye.ReadTicket.method]:this.readTicket.bind(this)}}}readTicket($){return this.makeResult('{"available":false,"severity":"","version":""}')}}return(ye=mt).\u0275fac=function($){return new($||ye)},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var ze=t(50801),nt=y.Or.Common.Clientnotification;const ut=y.Ts.Common.Clientnotification;var wt=function(ye){return ye.Granted="granted",ye.Denied="denied",ye.Default="default",ye}(wt||{});const Ii=[{provide:s.Ou,useClass:co,multi:!0},{provide:s.Ou,useClass:er,multi:!0},{provide:s.Ou,useClass:Ar,multi:!0},{provide:s.Ou,useClass:Vi,multi:!0},{provide:s.Ou,useClass:zn,multi:!0},{provide:s.Ou,useClass:hr,multi:!0},{provide:s.Ou,useClass:Ae,multi:!0},{provide:s.Ou,useClass:fe,multi:!0},{provide:s.Ou,useClass:(()=>{var ye;class mt extends s.Un{constructor($,he,Le,qe){super(),this.browserSupportService=he,this.serviceWorkerService=Le,this.projectInterfaceService=qe,this.success={_return_internal:nt.InternalErrorCodeEnum.Success},this.error={_return_internal:nt.InternalErrorCodeEnum.Error},this.logger=$.getLogger("ClientNotificationPlugin"),this.browserSupportService.documentVisiblityChange.subscribe(_t=>{this.isDocumentVisible=document.visibilityState===Ui.Dp.Visible})}get handlers(){return{module:ut.ShowClientNotifications.module,commands:{[ut.ShowClientNotifications.method]:this.showClientNotification.bind(this),[ut.ClearNotificationsQueue.method]:this.clearNotificationsQueue.bind(this),[ut.DeleteNotification.method]:this.deleteNotification.bind(this)}}}deleteNotification($){return this.projectInterfaceService.isNotificationAllowedCallBack().pipe((0,Y.W)(he=>this.makeResult(JSON.stringify(this.error))),(0,F.ZZ)(he=>(he?(this.serviceWorkerService.postMessageSw({type:Pi.oY.UiPushNotification,content:JSON.stringify({delete:$.payload.uniqueId})}),this.logger.info("Notification Info is sent to SW")):this.logger.info("Notifications are not allowed"),this.makeResult(JSON.stringify(this.success)))))}clearNotificationsQueue($){return this.projectInterfaceService.isNotificationAllowedCallBack().pipe((0,Y.W)(he=>this.makeResult(JSON.stringify(this.error))),(0,F.ZZ)(he=>(he&&this.serviceWorkerService.postMessageSw({type:Pi.oY.UiPushNotification,content:JSON.stringify({clear:$.payload.clear})}),this.makeResult(JSON.stringify(this.success)))))}showClientNotification($){return this.projectInterfaceService.isNotificationAllowedCallBack().pipe((0,Y.W)(he=>this.makeResult(JSON.stringify(this.error))),(0,F.ZZ)(he=>this.canSendNotification(he)?this.isFullScreenAndVisible()?(this.logger.info("Cannot send Notifications when screen is fullscreen & visible"),this.makeResult(JSON.stringify({_return_internal:nt.InternalErrorCodeEnum.Error_NotFullScreen}))):(this.serviceWorkerService.postMessageSw({type:Pi.oY.UiPushNotification,content:JSON.stringify({title:$.payload.title,body:$.payload.body,direction:$.payload.direction,language:$.payload.language,tag:$.payload.tag,silent:$.payload.silent})}),this.logger.info("Notifications are sent to SW"),this.makeResult(String(this.success._return_internal))):(this.logger.info("Cannot send Notification as permission is not given"),this.makeResult(JSON.stringify({_return_internal:nt.InternalErrorCodeEnum.Error_PermissionNotGiven})))))}canSendNotification($){return $&&Notification.permission===wt.Granted}isFullScreenAndVisible(){return this.browserSupportService.isFullscreen()&&this.isDocumentVisible}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(Ui.vT),n.KVO(Pi.lS),n.KVO(ze.qQ))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),multi:!0}];var ko=t(63997),Oi=t(41346),Vt=t(23355);const nr=new Map([[Pt.RErrorCode.SystemSleepDuringStreaming,Vt.fZ.NVB_SN_TERMINATED_DUE_TO_SYSTEM_SLEEP],[Pt.RErrorCode.SystemSleepDuringSessionSetup,Vt.fZ.NVB_SN_INIT_FAILED_DUE_TO_SYSTEM_SLEEP]]),Mo=new Map([[Pt.RErrorCode.SystemSleepDuringStreaming,Vt.fZ.NVB_SN_PAUSED_DUE_TO_SYSTEM_SLEEP],[Pt.RErrorCode.SystemSleepDuringSessionSetup,Vt.fZ.NVB_SN_INIT_PAUSED_DUE_TO_SYSTEM_SLEEP]]),jt=new Map([[Pt.RErrorCode.ServerDisconnectedProtectedContent,Vt.Jt.NVST_DISCONN_SERVER_VFP_PROTECTED_CONTENT]]),bo=new Map([[Pt.RErrorCode.ServerDisconnectedUserEntitledMinutesExceeded,Vt.fZ.NVB_SN_ENTITLEMENT_TIMEOUT],[Pt.RErrorCode.ServerDisconnectedUserIdle,Vt.fZ.NVB_SN_EXITED_DUE_TO_USER_IDLE_TIMEOUT],[Pt.RErrorCode.ClientDisconnectedUserIdle,Vt.fZ.NVB_SN_EXITED_DUE_TO_USER_IDLE_TIMEOUT],[Pt.RErrorCode.ServerDisconnectedOperatorCommandedTermination,Vt.fZ.NVB_SN_TERMINATED_BY_OPERATOR],[Pt.RErrorCode.ServerDisconnectedIntended,Vt.fZ.NVB_SN_STOPPED_BY_USER],[Pt.RErrorCode.ServerDisconnectedMaxSessionTimeLimitExceeded,Vt.fZ.NVB_SN_EXITED_DUE_TO_SESSION_TIMELIMIT],[Pt.RErrorCode.ServerDisconnectedSystemCommandTermination,Vt.fZ.NVB_SN_TERMINATED_BY_PM],[Pt.RErrorCode.ServerDisconnectedWindowedMode,Vt.fZ.NVB_SN_TERMINATED_WINDOWED_MODE],[Pt.RErrorCode.ServerDisconnectedUnAuthorizedProcessDetected,Vt.fZ.NVB_SN_TERMINATED_UNAUTHROIZED_PROCESS_ACCESS],[Pt.RErrorCode.ServerDisconnectedMaliciousProcessDetected,Vt.fZ.NVB_SN_TERMINATED_MALICIOUS_PROCESS_ACCESS],[Pt.RErrorCode.ServerDisconnectedMinerProcessDetected,Vt.fZ.NVB_SN_TERMINATED_MINER_PROCESS_ACCESS],[Pt.RErrorCode.ServerDisconnectedUnKnownProcessDetected,Vt.fZ.NVB_SN_TERMINATED_UNKNOWN_PROCESS_ACCESS],[Pt.RErrorCode.ServerDisconnectedMultipleLogin,Vt.fZ.NVB_SN_TERMINATED_MULTIPLE_LOGIN],[Pt.RErrorCode.ServerDisconnectedAnotherClient,Vt.fZ.NVB_SN_TERMINATED_ANOTHER_CLIENT],[Pt.RErrorCode.NetworkError,Vt.b5.NVB_R_NETWORK_ERROR],[Pt.RErrorCode.NoNetwork,Vt.b5.NVB_R_NETWORK_ERROR],[Pt.RErrorCode.StreamerGetRemotePeerTimedOut,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.AuthTokenNotUpdated,Vt.b5.NVB_R_AUTH_ERR_TOKEN_NOT_UPDATED],[Pt.RErrorCode.SessionLimitExceeded,Vt.b5.NVB_R_SESSION_LIMIT_REACHED],[Pt.RErrorCode.StreamErrorGeneric,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.StreamerSignInFailure,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.StreamerNetworkError,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.StreamerVideoPlayError,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.StreamerIceConnectionFailed,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.StreamerNoVideoPacketsReceivedEver,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.AppPatching,Vt.b5.NVB_R_APPLICATION_PATCHING],[Pt.RErrorCode.ResponseParseFailure,Vt.b5.NVB_R_INVALID_SERVER_RESPONSE],[Pt.RErrorCode.InvalidSessionIdNotFound,Vt.b5.NVB_R_SESSION_NOT_ACTIVE],[Pt.RErrorCode.InvalidAuthenticationUnsupportedProtocol,Vt.b5.NVB_R_AUTH_ERR_UNSUPPORTED_PROTOCOL],[Pt.RErrorCode.InvalidAuthenticationCredentials,Vt.b5.NVB_R_AUTH_ERR_UNAUTHORIZED_CLIENT],[Pt.RErrorCode.EntitlementFailure,Vt.b5.NVB_R_USER_IS_NOT_ENTITLED],[Pt.RErrorCode.SessionServerErrorBegin,Vt.b5.NVB_R_SERVER_ERROR],[Pt.RErrorCode.MaintenanceStatus,Vt.b5.NVB_R_SEVER_MAINTENANCE_MODE],[Pt.RErrorCode.ServiceUnAvailable,Vt.b5.NVB_R_SERVER_OUT_OF_SERVICE],[Pt.RErrorCode.StreamerNoVideoFramesLossyNetwork,Vt.fZ.NVB_SN_STREAMER_NETWORK_ERROR],[Pt.RErrorCode.StreamerIceReConnectionFailed,Vt.fZ.NVB_SN_STREAMER_NETWORK_ERROR],[Pt.RErrorCode.StreamerReConnectionFailed,Vt.fZ.NVB_SN_STREAMER_NETWORK_ERROR],[Pt.RErrorCode.ServerSessionQueueLengthExceeded,Vt.b5.NVB_R_SERVER_SESSION_QUEUE_LENGTH_EXCEEDED],[Pt.RErrorCode.AppMaintenanceStatus,Vt.b5.NVB_R_APP_MAINTENANCE_STATUS],[Pt.RErrorCode.SessionTerminatedByAnotherClient,Vt.b5.NVB_R_SESSION_TERMINATED_ANOTHER_CLIENT],[Pt.RErrorCode.RequestLimitExceeded,Vt.b5.NVB_R_TOO_MANY_SERVER_REQUESTS],[Pt.RErrorCode.RequiredSeatInstanceTypeNotSupported,Vt.b5.NVB_R_REQUIRED_SEAT_INSTANCE_TYPE_NOT_SUPPORTED],[Pt.RErrorCode.RegionNotSupportedForStreaming,Vt.b5.NVB_R_REGION_NOT_SUPPORTED_FOR_STREAMING],[Pt.RErrorCode.GameBinariesNotAvailableInRegion,Vt.b5.NVB_R_SESSION_GAME_BINARIES_NOT_AVAILABLE_IN_REGION],[Pt.RErrorCode.GameNotFound,Vt.b5.NVB_R_INVALID_APP_IDENTIFIER],[Pt.RErrorCode.ServerDisconnectedGameNotOwnedByUser,Vt.fZ.NVB_SN_TERMINATED_GAME_NOT_OWNED_BY_USER],[Pt.RErrorCode.NoInternetDuringSessionSetup,Vt.b5.NVB_R_NETWORK_ERROR],[Pt.RErrorCode.NoInternetDuringStreaming,Vt.fZ.NVB_SN_STREAMER_NETWORK_ERROR],[Pt.RErrorCode.SessionRemovedFromQueueMaintenance,Vt.b5.NVB_R_SESSION_REMOVED_FROM_QUEUE_MAINTENANCE],[Pt.RErrorCode.ZoneMaintenanceStatus,Vt.b5.NVB_R_ZONE_MAITENANCE_STATUS],[Pt.RErrorCode.ServerDisconnectedMaintenanceMode,Vt.fZ.NVB_SN_PM_TERMINATED_MAINTENANCE_MODE],[Pt.RErrorCode.InstanceTypeNotSupportedInSingleRegion,Vt.b5.NVB_R_INSTANCE_TYPE_NOT_SUPPORTED_IN_SINGLE_REGION],[Pt.RErrorCode.SessionWaitingAdsTimeExpired,Vt.b5.NVB_R_SESSION_WAITING_ADS_TIME_EXPIRED],[Pt.RErrorCode.UserCancelledWatchingAds,Vt.b5.NVB_R_USER_CANCELED_WATCHING_ADS],[Pt.RErrorCode.ServerDisconnectedMultipleTab,Vt.fZ.SERVER_DISCONNECTED_MULTIPLE_TAB],[Pt.RErrorCode.WebSocketClosed,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketNormalClosure,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketGoingAway,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketProtocolError,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketUnsupportedData,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketNoStatusRcvd,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketInvalidFramePayloadData,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketPolicyViolation,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketMessageTooBig,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketMandatoryExt,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketInternalError,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketServiceRestart,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketTryAgainLater,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketBadGateway,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketTLSHandshakeFailure,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketUnauthorized,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketForbidden,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.WebSocketTimeout,Vt.b5.NVB_R_STREAMER_CONNECT_FAILED],[Pt.RErrorCode.SessionInsufficientPlayabilityLevel,Vt.b5.NVB_R_INSUFFICIENT_PLAYABILITY_LEVEL],[Pt.RErrorCode.StreamingNotAllowedInLimitedMode,Vt.b5.NVB_R_STREAMING_NOT_ALLOWED_IN_LIMITED_MODE]]);var jr=t(352),Zr=t(95552);const vn=y.Ts.Gfn.Streaming,Yr=[{name:"DUALSHOCK4_GAMEPAD",device:Pt.HidType.DS4},{name:"DUALSENSE_GAMEPAD",device:Pt.HidType.DS5}];let Ci=(()=>{var ye;class mt extends s.Un{onMicStateUpdate($){this.zone.run(()=>{this.logger.info("onMicStateUpdate : ",$),this.handleMicStateUpdate($)})}onStreamQuality($){this.zone.run(()=>{this.streamingEvents.next(JSON.stringify({event:Vt.CW.STREAMING_QUALITY,streamQuality:$.qualityScore,bandwidthScore:$.bandwidthScore,networkLossScore:$.networkLossScore,latencyScore:$.latencyScore}))})}onStreamWarning($){this.zone.run(()=>{if(this.logger.info("onStreamWarning : ",$),$){const he={event:Vt.CW.STREAMING_WARNINGS,time:$.secondsLeft};switch($.code){case Pt.RNotificationCode.ApproachingEntitlementTimeout:he.warning=Vt.fZ.NVB_SN_APPROACHING_ENTITLEMENT_TIMEOUT;break;case Pt.RNotificationCode.ApproachingIdleTimeout:he.warning=Vt.fZ.NVB_SN_APPROACHING_IDLE_TIMEOUT;break;case Pt.RNotificationCode.ClearUserIdleTimeOut:he.warning=Vt.fZ.NVB_SN_CLEAR_IDLE_TIMEOUT;break;case Pt.RNotificationCode.ApproachingSessionMaxTimeLimit:he.warning=Vt.fZ.NVB_SN_APPROACHING_SESSION_MAX_TIMELIMIT}this.logger.info("onStreamWarning StreamingEventInfo : ",he),this.streamingEvents.next(JSON.stringify(he))}})}onStreamStatistics($){this.zone.run(()=>{if(this.statsEnabled){const he=$.totalBandwidth*$.utilizedBandwidth*10,Le={streamStats:{frameRate:$.fps,avgGameFrameRate:Math.round($.avgGameFps),droppedFrames:$.frameLoss,packetloss:$.packetLoss,roundTripDelayMs:$.rtd,bandwidthUtilization:Math.round($.utilizedBandwidth),streamBitrate:he,bandwidth:1e3*$.totalBandwidth,frameWidth:$.streamingResolution.width,frameHeight:$.streamingResolution.height,serverZone:this.zoneName,codec:$.codec,bitDepth:$.bitDepth,sdrHdrMode:$.sdrHdrMode}};this.streamingStats.next(Le)}})}onStreamStarted($){this.zone.run(()=>{var he,Le,qe,_t;this.isStreaming=!0,this.logger.info("onStreamStarted : ",$),this.settingsCache.forEach((zt,tn)=>{this.logger.info(tn,zt)}),void 0!==this.settingsCache.get("setGamepadRsdmm")&&(null===(he=this.nskStreamClient)||void 0===he||he.setGamepadRsdmm(this.settingsCache.get("setGamepadRsdmm"))),void 0!==this.settingsCache.get("captureMic")&&(null===(Le=this.nskStreamClient)||void 0===Le||Le.captureMic(this.settingsCache.get("captureMic"))),void 0!==this.settingsCache.get("setKeyboardLayout")&&(null===(qe=this.nskStreamClient)||void 0===qe||qe.setKeyboardLayout(this.settingsCache.get("setKeyboardLayout"))),void 0!==this.settingsCache.get("setStreamingMaxBitrate")&&(null===(_t=this.nskStreamClient)||void 0===_t||_t.setStreamingMaxBitrate(this.settingsCache.get("setStreamingMaxBitrate").kbps,this.settingsCache.setStreamingMaxBitrate.streamIdx)),this.streamingEvents.next(JSON.stringify({event:Vt.CW.STREAMING_BEGIN})),this.streamingEvents.next(JSON.stringify({event:Vt.CW.STREAMING_FIRST_FRAME}))})}onStreamStartFailed($){this.zone.run(()=>{var he;this.isStreaming||this.streamingEvents.next(JSON.stringify({event:Vt.CW.STREAMING_BEGIN})),this.isStreaming=!1,this.logger.info("onStreamStartFailed : ",$);const Le={event:Vt.CW.STREAMING_STOPPED,extendedCode:null!==(he=this.ragnarokExtendedCodesNotificationMap.get($))&&void 0!==he?he:0};Le.reason=this.streamerErrorHelperService.ragnarokErrorCodesMap.get($)||$,this.streamingEvents.next(JSON.stringify(Le))})}onStreamStopped($){this.zone.run(()=>{var he;this.isStreaming=!1,this.logger.info("onStreamStopped : ",$),this.logger.info("callback onStreamStopped called from nvrtc with eventData object, ",$);const Le={event:Vt.CW.STREAMING_STOPPED,extendedCode:null!==(he=this.ragnarokExtendedCodesNotificationMap.get($.code))&&void 0!==he?he:0,pauseRequested:this.pauseRequested,streamStopReason:$.reason};Le.reason=$.code===Pt.RErrorCode.Success?Le.pauseRequested?Vt.fZ.NVB_SN_PAUSED_BY_USER:Vt.fZ.NVB_SN_STOPPED_BY_USER:this.streamerErrorHelperService.ragnarokErrorCodesMap.get($.code)||$.code,Le.isSessionAlive=$.isSessionAlive,Le.isResumable=$.isResumable,!this.pauseRequested&&!$.isResumable&&$.reason===Pt.StreamStopReason.CLIENT_DISCONNECTED&&(this.logger.info("clearing settings cache from onStreamStopped"),this.settingsCache.clear()),this.pauseRequested=!1,this.streamingEvents.next(JSON.stringify(Le))})}onTextComposition($){this.zone.run(()=>{this.logger.info("onTextComposition : ",$),this.streamingEvents.next(JSON.stringify({event:Vt.CW.TEXT_COMPOSITION,compositionText:$.compositionText,imeRecommendation:$.imeRecommendation}))})}onCustomMessage($){this.zone.run(()=>{this.logger.info("onCustomMessage: ",$);const he=$;this.processCustomMessage(he),this.projectInterfaceService.onCustomMessage(he)})}onStreamQualityReport($){this.zone.run(()=>{const he={...$};$.extraData&&$.extraData instanceof Map&&(he.extraData=(0,q.GC)($.extraData),this.logger.info("extraData Map converted to object:",he.extraData)),this.logger.info("onStreamQualityReport: ",he),this.streamingEvents.next(JSON.stringify({event:Vt.CW.STREAM_QUALITY_REPORT,udsData:he}))})}constructor($,he,Le,qe,_t,Nt,Bt,zt,tn){super(),this.zone=$,this.loggingService=he,this.libLoggingService=Le,this.windowService=qe,this.projectInterfaceService=_t,this.platformInfoService=Nt,this.deeplinkHelperService=Bt,this.guestModeHelperService=zt,this.streamerErrorHelperService=tn,this.gfnClientUI="GFN_CLIENT_UI",this.isInputEnabled=!0,this.ragnarokCodesNotificationMap=new Map,this.ragnarokExtendedCodesNotificationMap=new Map,this.isComboKeyHelperInitialized$=new o.B7,this.statsEnabled=!1,this.nskStreamClient=null,this.configureStreamingSettings={},this.settingsCache=new Map,this.logCallback=pn=>{this.logger.info("logCallback : ",pn),this.libLoggingService.sendLog({logLevel:pn.level,logStr:pn.message,logTag:pn.tag,timeStamp:pn.timestamp})},this.logger=he.getLogger("crimson/browser/streaming-plugin"),this.streamingEvents=new o.B7,this.streamingStats=new o.B7,this.micEvents=new o.B7,jr.Logger.register(this.logCallback)}get handlers(){return{module:vn.Start.module,commands:{[vn.StartStreaming.method]:this.startStreaming.bind(this),[vn.Stop.method]:this.stop.bind(this),[vn.Cancel.method]:this.cancel.bind(this),[vn.PauseStreaming.method]:this.pauseStreaming.bind(this),[vn.UpdateRemoteConfig.method]:this.updateRemoteConfig.bind(this),[vn.RegisterCallback.method]:this.registerCallback.bind(this),[vn.OpenOsr.method]:this.winOpenOsr.bind(this),[vn.CloseOsr.method]:this.winCloseOsr.bind(this),[vn.OsrRegisterCustomKeyPress.method]:this.osrRegisterKeypress.bind(this),[vn.OsrUnregisterCustomKeyPress.method]:this.osrUnregisterKeypress.bind(this),[vn.OsrRegisterKeyPressCallback.method]:this.osrRegisterKeypressCallback.bind(this),[vn.OsrSetOverlayResolution.method]:this.osrSetOverlayResolution.bind(this),[vn.GetStreamVolume.method]:this.getStreamVolume.bind(this),[vn.SetStreamVolume.method]:this.setStreamVolume.bind(this),[vn.ToggleUserInput.method]:this.toggleUserInput.bind(this),[vn.SendUnicode.method]:this.sendUnicode.bind(this),[vn.SetVirtualKeyboardState.method]:this.setVirtualKeyboardState.bind(this),[vn.SetVideoTransforms.method]:this.setVideoTransforms.bind(this),[vn.RegisterMicCallback.method]:this.registerMicCallback.bind(this),[vn.ShouldDefaultEnableMic.method]:this.shouldDefaultEnableMic.bind(this),[vn.GetMicState.method]:this.getMicState.bind(this),[vn.SetMicState.method]:this.setMicState.bind(this),[vn.ConfigureStreamingSettings.method]:this.ConfigureStreamingSettings.bind(this),[vn.GetUnifiedAPIVersion.method]:this.GetUnifiedAPIVersion.bind(this),[vn.OsrCheckKeyPressCombination.method]:this.OsrCheckKeyPressCombination.bind(this),[vn.SetKeyboardLayout.method]:this.SetKeyboardLayout.bind(this),[vn.ToggleJoystickMouse.method]:this.toggleJoystickMouse.bind(this),[vn.SendClipboardUpdate.method]:this.sendClipboardData.bind(this),[vn.PlatformGetMaxBitRateForArray.method]:this.platformGetMaxBitRateForArray.bind(this),[vn.SendKeyEvent.method]:this.SendKeyEvent.bind(this),[vn.GetStreamStats.method]:this.getStreamStats.bind(this),[vn.VsyncToggle.method]:this.isVsyncToggleSupported.bind(this),[vn.SetStreamingMaxBitrate.method]:this.setStreamingMaxBiteRate.bind(this),[vn.SetDrcDfcState.method]:this.setDrcDfcState.bind(this),[vn.CalculateDataUsage.method]:this.CalculateDataUsage.bind(this),[vn.ToggleISSOStats.method]:this.toggleISSOStats.bind(this),[vn.GetDeviceCapabilities.method]:this.GetDeviceCapabilities.bind(this),[vn.IsPlatformSupportsUHD.method]:this.isUhdSupported.bind(this),[vn.PrefetchDeviceCapabilities.method]:this.prefetchDeviceCapabilities.bind(this),[vn.SetClientSupportsVirtualGamepad.method]:this.setClientSupportsVirtualGamepad.bind(this),[vn.SetSupportedHidTypes.method]:this.setSupportedHidTypes.bind(this),[vn.GetGamepadBitmap.method]:this.getGamepadBitmap.bind(this),[vn.SetMicRecordingEnabled.method]:this.setMicRecordingEnabled.bind(this),[vn.UpdateVirtualGamepadInput.method]:this.updateVirtualGamepadInput.bind(this)}}}SetKeyboardLayout($){let he;return this.logger.info("SetKeyboardLayout: ",$.payload.kbLayout),this.kbLayout=$.payload.kbLayout,this.zone.runOutsideAngular(()=>{this.isStreaming?(this.nskStreamClient.setKeyboardLayout($.payload.kbLayout),this.settingsCache.set("setKeyboardLayout",$.payload.kbLayout),he="true",this.logger.info("Saving settings cache setKeyboardLayout")):(this.logger.info("setKeyboardLayout invoked when streaming has not started"),he="false")}),this.makeResult(he)}selectPlatformSpecificMap($){return $?Mo:nr}toggleISSOStats($){return this.logger.info("setISSOStatsEnabled called with ",$),this.statsEnabled!==$.payload.enableIsso?(this.statsEnabled=$.payload.enableIsso,this.logger.info("ISSO toggled ",this.statsEnabled)):this.logger.info("ISSO will not be toggled ",this.statsEnabled),this.makeResult("true")}buildRagnarokErrorMap($){const he=$===Pt.PlatformName.IOS||$===Pt.PlatformName.IPADOS;bo.forEach((Le,qe)=>this.ragnarokCodesNotificationMap.set(qe,Le)),this.selectPlatformSpecificMap(he).forEach((Le,qe)=>this.ragnarokCodesNotificationMap.set(qe,Le)),this.streamerErrorHelperService.ragnarokErrorCodesMap=this.ragnarokCodesNotificationMap,jt.forEach((Le,qe)=>this.ragnarokExtendedCodesNotificationMap.set(qe,Le))}processCustomMessage($){if($.messageRecipient===this.gfnClientUI)switch($.messageType){case a.HD9.paste:case a.HD9.zoneMaintenance:case a.HD9.sessionLengthTimer:case a.HD9.clickedUrl:this.logger.info("Browser client message event: ",$);let he=null;try{he=JSON.parse($.data)}catch(Le){this.logger.error("Error parsing custom message: ",Le)}this.streamingEvents.next(JSON.stringify({event:Vt.CW.STREAMING_CLIENT_MESSAGE,message:he}))}}setStreamingMaxBiteRate($){let he;return this.logger.info("setStreamingMaxBiteRate: ",$.payload),this.zone.runOutsideAngular(()=>{if(this.isStreaming)try{this.nskStreamClient.setStreamingMaxBitrate($.payload.kbps,$.payload.streamIdx),this.settingsCache.set("setStreamingMaxBitrate",{kbps:$.payload.kbps,streamIdx:$.payload.streamIdx}),this.logger.info("Saving settings cache setStreamingMaxBitrate"),he="true"}catch(Le){return this.logger.info("SetStreamingMaxBitrateParameters bridge command failed with error ",Le),this.makeError(500,Le)}else he="false",this.logger.info("setStreamingMaxBiteRate invoked when streaming has not started");return this.makeResult(he)})}setDrcDfcState($){let he;return this.logger.info("setDrcDfcState: ",$.payload),this.zone.runOutsideAngular(()=>{if(this.isStreaming)try{var Le;this.nskStreamClient.setDynamicStreamingMode(null!==(Le=$.payload)&&void 0!==Le&&Le.enabled?Pt.DynamicStreamingMode.ALL:Pt.DynamicStreamingMode.NONE,$.payload.streamIdx),he="true"}catch(qe){return this.logger.info("SetDrcDfcStateParameters bridge command failed with error ",qe),this.makeError(500,qe)}else he="false",this.logger.info("setDrcDfcState invoked when streaming has not started");return this.makeResult(he)})}getStreamStats($){return this.makePersistentResult(this.streamingStats.asObservable())}getNskStreamClient(){return null===this.nskStreamClient?(this.logger.info("nskStreamClient is not created "),this.platformInfoService.getPlatformInfo().pipe((0,Z.s)(1),(0,F.ZZ)($=>(this.logger.info("PlatformInfo:",$),this.platformInfo=$,this.buildRagnarokErrorMap($.details.os),this.logger.info("Streaming settings config in getNskStreamClient:",this.configureStreamingSettings),(0,Pt.ConfigureRagnarokSettings)(this.configureStreamingSettings),this.projectInterfaceService.sendCustomMessage.subscribe(he=>{this.sendCustomMessage(he)}),this.nskStreamClient=(0,Pt.createNskStreamClient)($.details,this),this.statsEnabled=!0,(0,R.of)(this.nskStreamClient))))):(this.logger.info("nskStreamClient is already created "),(0,R.of)(this.nskStreamClient))}startStreamingInternal($){var he;let Le,qe;this.logger.info("startStreamingInternal"),"Launch"===$.payload.sessionType&&(this.logger.info("clearing settings cache from startStreamingInternal"),this.settingsCache.clear()),this.zoneName=$.payload.zoneName,this.pauseRequested=!1;for(const tn of $.payload.mediaConnectionInfo)switch(this.logger.info("connectionInfo: ",tn),tn.usage){case Pt.Usage.SIGNALING:qe={address:tn.ip,port:tn.port,secure:tn.appLevelProtocol===Pt.AppLevelProtocol.HTTPS},tn.resourcePath&&(qe.resourcePath=String(tn.resourcePath)),this.logger.info("signalConnectionInfo: ",qe);break;case Pt.Usage.VIDEO:case Pt.Usage.BUNDLE:Le={address:tn.ip,port:tn.port},this.logger.info("mediaConnectionInfo: ",Le)}this.logger.info("startStreamingInternal signalConnectionInfo: ",qe),this.logger.info("startStreamingInternal mediaConnectionInfo: ",Le);let Nt,_t=!1;var Bt;this.deeplinkHelperService.windowedMode&&(Nt=Pt.CursorType.HARDWARE,_t=!0,null!==(Bt=this.guestModeHelperService.getGuestModeConfig())&&void 0!==Bt&&Bt.isWindowedModeCursorTypeFree&&(Nt=Pt.CursorType.FREE));const zt={sessionId:$.payload.sessionId,subSessionId:$.payload.subSessionId,zoneAddress:$.payload.zoneAddress,resume:"Resume"===$.payload.sessionType,audioTagId:"remote-audio",cursorType:Nt,windowedStreaming:_t,enableTouchInput:$.payload.appLaunchMode===Pt.AppLaunchMode.TouchFriendly,downstreamParams:[{videoTagId:"remote-video",width:$.payload.streamingProfile.width,height:$.payload.streamingProfile.height,fps:$.payload.streamingProfile.fps,maxBitrateKbps:$.payload.streamingProfile.maxBitrate,dynamicStreamingMode:$.payload.streamingProfile.drc?Pt.DynamicStreamingMode.DRC:Pt.DynamicStreamingMode.NONE,bitDepth:$.payload.streamingProfile.bitDepth,sdrHdrMode:$.payload.streamingProfile.hdrStreaming?Pt.SdrHdrMode.HDR:Pt.SdrHdrMode.SDR}],keyboardLayout:null!==(he=this.kbLayout)&&void 0!==he?he:"",streamingFeatures:{reflex:$.payload.streamingProfile.reflex,bitDepth:$.payload.streamingProfile.bitDepth,enabledL4S:$.payload.streamingProfile.l4sEnabled,cloudGsync:$.payload.streamingProfile.cloudGsync,supportedHidDevices:$.payload.streamingProfile.supportedHidDevices},statTelemetryInfo:{appId:Number($.payload.cmsId),zoneName:$.payload.zoneName,gpuType:$.payload.gpuType,shortName:$.payload.gameShortName,clientLocale:$.payload.locale,clientAppVersion:$.payload.clientAppVersion},mediaConnectionInfo:Le,signalConnectionInfo:qe,upstreamParams:[],textInputElement:document.getElementById("hiddentext")};return this.logger.info("streamStartParameters for startStreaming call: ",zt),this.getNskStreamClient().pipe((0,F.ZZ)(tn=>{const pn=tn.startStreaming(zt);return pn!==Pt.RErrorCode.Success?(this.logger.info("Stream start failure: ",pn),this.handleStreamStartResumeFailure(!1,pn),this.makeResult("false")):this.makeResult("true")}))}startStreaming($){return this.zone.runOutsideAngular(()=>this.startStreamingInternal($))}setClientSupportsVirtualGamepad($){return this.zone.runOutsideAngular(()=>this.getNskStreamClient().pipe((0,F.ZZ)(he=>(he.getVirtualInputController().setClientSupportsVirtualGamepad($.payload.supportsVirtualGamepad),(0,R.of)(!0)))))}setSupportedHidTypes($){return this.zone.runOutsideAngular(()=>this.getNskStreamClient().pipe((0,F.ZZ)(he=>{const Le=this.getSupportedHidTypes($.payload.supportedControls);return he.setSupportedHidTypes(Le),this.logger.info("setSupportedHidTypes: ",Le),(0,R.of)(!0)})))}getGamepadBitmap(){return this.zone.runOutsideAngular(()=>this.getNskStreamClient().pipe((0,F.ZZ)($=>(0,R.of)($.getGamepadBitmap()))))}getSupportedHidTypes($){let he=Pt.HidType.NONE;for(const Le of $){const qe=Yr.find(_t=>_t.name===Le);qe&&(he|=qe.device)}return he}stopInternal($){this.logger.info("stopInternal: ",$.payload);const he=$.payload.reasonCode;return this.logger.info("Stopping streaming",he?`reason: 0x${he.toString(16)}`:""),this.pauseRequested=!1,this.nskStreamClient.stopStreaming(he),this.makeResult("true")}stop($){return this.zone.runOutsideAngular(()=>this.stopInternal($))}cancel($){return this.makeResult("true")}pauseStreamingInternal($){return this.logger.info("pauseStreamingInternal: ",$.payload),this.pauseRequested=!0,this.nskStreamClient.stopStreaming(),this.makeResult("true")}pauseStreaming($){return this.zone.runOutsideAngular(()=>this.pauseStreamingInternal($))}updateRemoteConfig($){return this.makeResult("true")}registerCallback($){return this.makePersistentResult(this.streamingEvents.asObservable())}winCloseOsr($){return this.isInputEnabled&&(this.logger.info("InputToggle: Closing OSR"),this.zone.runOutsideAngular(()=>{var he;null===(he=this.nskStreamClient)||void 0===he||he.captureUserInput(!0),this.isInputEnabled=!1})),this.makeResult("osrClose")}winOpenOsr($){return(this.isInputEnabled&&!$.payload.enableInput||!this.isInputEnabled&&$.payload.enableInput)&&(this.logger.info("InputToggle: Opening OSR with enableInput:",$.payload.enableInput),this.zone.runOutsideAngular(()=>{var he;null===(he=this.nskStreamClient)||void 0===he||he.captureUserInput(!$.payload.enableInput),this.isInputEnabled=!this.isInputEnabled})),this.makeResult("osrOpen")}osrRegisterKeypress($){return this.makeResult("true")}osrUnregisterKeypress($){return this.makeResult("true")}osrRegisterKeypressCallback($){return this.comboKeyHelper||(this.comboKeyHelper=new s.Qv(this.loggingService,$.payload.osType,!0),this.projectInterfaceService.isNonEnglishKeyboardLayout.subscribe(he=>{this.comboKeyHelper.setNonEnglishKeyboardLayout(he),this.isComboKeyHelperInitialized$.next(!0),this.isComboKeyHelperInitialized$.complete()})),this.zone.runOutsideAngular(()=>{this.projectInterfaceService.enableListener.pipe((0,w.n)(he=>he?this.windowService.getKeydownEvent():ne.t),(0,Oi.o)(he=>this.isComboKeyHelperInitialized$)).subscribe(he=>{he&&this.comboKeyHelper.processKeyDownEventForHotkeyInvocation(he)})}),this.makePersistentResult(this.comboKeyHelper.shortcutData.pipe((0,Oi.o)(he=>this.isComboKeyHelperInitialized$),(0,ee.T)(he=>this.projectInterfaceService.checkIfShortcutIsPresentCallback(he)),(0,_.p)(he=>he.length>0),(0,ee.T)(he=>(he=he.map(Le=>Le in s.rB?s.rB[Le].toLowerCase():String.fromCharCode(Le).toLowerCase())).join("-"))))}osrSetOverlayResolution($){return this.makeResult("true")}getStreamVolume($){return this.makeResult("true")}setStreamVolume($){return this.makeResult("true")}toggleUserInput($){let he;return this.logger.info("InputToggle: Toggling input:",$.payload.enable),this.zone.runOutsideAngular(()=>{this.isStreaming?(this.nskStreamClient.captureUserInput($.payload.enable),he="true"):(this.logger.info("toggleUserInput invoked when streaming has not started"),he="false")}),this.makeResult(he)}toggleJoystickMouse($){let he;return this.logger.info("Toggling RSMouse/LSMouse: ",$.payload.enable),this.zone.runOutsideAngular(()=>{this.isStreaming?(this.nskStreamClient.setGamepadRsdmm($.payload.enable),this.settingsCache.set("setGamepadRsdmm",$.payload.enable),this.logger.info("Saving settings cache setGamepadRsdmm"),he="true"):(this.logger.info("toggleJoystickMouse invoked when streaming has not started"),he="false")}),this.makeResult(he)}sendUnicode($){return this.zone.runOutsideAngular(()=>{if(this.isStreaming){const he=$.payload.unicodeInput,Le=he instanceof Uint8Array?he:new Uint8Array(he);this.nskStreamClient.sendTextInput(Le.buffer)}else this.logger.info("sendUnicode not sent, as we are not streaming")}),this.makeResult("true")}setVirtualKeyboardState($){return this.logger.info("setVirtualKeyboardState: ",$.payload),this.zone.runOutsideAngular(()=>this.getNskStreamClient().pipe((0,F.ZZ)(he=>{const Le=he.getVirtualInputController().setVirtualKeyboardState($.payload.visible);return this.logger.info("setVirtualKeyboardState result is: ",Le),this.makeResult("true")})))}setVideoTransforms($){let he;return this.logger.info("setVideoTransforms: ",$.payload),this.zone.runOutsideAngular(()=>{this.isStreaming?(this.nskStreamClient.setVideoTransforms($.payload.offsetX,$.payload.offsetY,$.payload.zoomFactor),he="true"):(this.logger.info("setVideoTransforms invoked when streaming has not started"),he="false")}),this.makeResult(he)}registerMicCallback($){return this.makePersistentResult(this.micEvents.asObservable())}shouldDefaultEnableMic($){return this.logger.info("shouldDefaultEnableMic: ",$.payload),this.zone.runOutsideAngular(()=>{const he=(0,Pt.shouldDefaultEnableMic)(this.platformInfo.details);return this.makeResult(he?"true":"false")})}getMicState($){return this.logger.info("getMicState: ",$.payload),this.zone.runOutsideAngular(()=>(0,ko.v)(()=>(0,v.H)(this.nskStreamClient.getMicState()).pipe((0,ee.T)(Le=>(this.logger.info("getMicState is: ",Le),this.handleMicStateUpdate(Le),{success:!0,code:200,data:"true"}),Le=>{this.logger.error("Error executing getMicState ",Le)}))))}setMicState($){let he;return this.logger.info("setMicState: ",$.payload),this.zone.runOutsideAngular(()=>{this.isStreaming?(this.nskStreamClient.captureMic($.payload.enable),this.settingsCache.set("captureMic",$.payload.enable),this.logger.info("Saving settings cache captureMic"),he="true"):(he="false",this.logger.info("setMicState invoked when streaming has not started"))}),this.makeResult(he)}ConfigureStreamingSettings($){return this.logger.info("Streaming settings config:",$.payload),this.mergeConfigureStreamingSettings($.payload),this.zone.runOutsideAngular(()=>{(0,Pt.ConfigureRagnarokSettings)(this.configureStreamingSettings)}),this.makeResult("true")}GetUnifiedAPIVersion($){return this.makeResult(Pt.CLIENT_VERSION)}OsrCheckKeyPressCombination(){return this.makeResult("true")}sendCustomMessage($){var he;this.isStreaming?null===(he=this.nskStreamClient)||void 0===he||he.sendCustomMessage($):this.logger.info("sendCustomMessage not sent as we are not streaming")}sendClipboardData($){return this.projectInterfaceService.postCustomMessage($.payload.clipboardInfo,a.gHK.UIPlugin,a.HD9.paste),this.makeResult("true")}platformGetMaxBitRateForArray($){const he=[];return $.payload.resolutions.forEach(qe=>{const _t=Pt.CalculateMaxBitrateKbps(qe.width,qe.height,qe.frameRate);he.push({width:qe.width,height:qe.height,fps:qe.frameRate,maxBandwidth:_t})}),this.makeResult(JSON.stringify({resolutions:he}))}SendKeyEvent($){const he=$.payload.keyEvent;return he instanceof KeyboardEvent?(this.nskStreamClient.getVirtualInputController().handleVirtualKeyInput(he),this.makeResult("true")):this.makeError(500,"event is not KeyboardEvent")}isVsyncToggleSupported(){return this.makeResult("false")}CalculateDataUsage($){let he=$.payload.bitRateKbps;0===he&&(he=Pt.CalculateMaxBitrateKbps($.payload.width,$.payload.height,$.payload.frameRate));const Le=Pt.CalculateDataUsage($.payload.frameRate,he);return this.makeResult(JSON.stringify({dataUsage:Le}))}GetDeviceCapabilities($){var he,Le;this.logger.verbose("Get device capabilities:",$.payload);const qe=null!==(he=null===(Le=$.payload)||void 0===Le?void 0:Le.supportedModes)&&void 0!==he?he:[];return this.zone.runOutsideAngular(()=>this.getDeviceCapabilitiesInternal(qe).pipe((0,F.ZZ)(_t=>this.makeResult(JSON.stringify(_t)))))}getDeviceCapabilitiesInternal($){return this.platformInfoService.getPlatformInfo().pipe((0,w.n)(he=>(0,v.H)(Pt.GetDeviceCapabilities(he.details,$))))}isUhdSupported(){return s.zk.isPWAModeOnSamsungTV()?this.makeResult(`${this.isUhdSupportedOnSamsungTV()}`):s.zk.isPWAModeOnLGTV()?this.makeResult(`${this.isHevcSupportedOnLGTV()}`):this.platformInfoService.getPlatformInfo().pipe((0,F.ZZ)($=>this.makeResult(`${$.details.os===Pt.PlatformName.VISIONOS&&$.details.deviceType===Pt.DeviceType.HMD}`)))}isUhdSupportedOnSamsungTV(){if(this.logger.info("Checking UHD support on Tizen TV..."),!(0,q.op)())return this.logger.info("This TV panel does not support UHD"),!1;const $=(0,q.IT)(),{year:he,version:Le}=(0,q.hH)($);if(!he||!Le)return this.logger.error("Failed to parse TV server year and version from",$),!1;const qe=+he,_t=+Le;return this.logger.info(`TV server year (${qe}) version (${_t})`),2021===qe||qe>=2023||2022===qe&&_t>=1008}isHevcSupportedOnLGTV(){return this.logger.info("Checking HEVC support on LG TV..."),"object"==typeof window.lge_webrtc_hevc_support?(this.logger.error("window.lge_webrtc_hevc_support is an object, maybe LG changed the type?"),!1):(0,q.AF)(window.lge_webrtc_hevc_support)}prefetchDeviceCapabilities($){return this.logger.info("Prefetching device capabilities:",$.payload),this.zone.runOutsideAngular(()=>{Pt.prefetchDeviceCapabilities()}),this.makeResult("true")}setMicRecordingEnabled($){let he;return this.logger.info("setMicRecordingEnabled: ",$.payload.enabled),this.zone.runOutsideAngular(()=>{this.isStreaming?(this.nskStreamClient.captureMic($.payload.enabled),this.settingsCache.set("captureMic",$.payload.enabled),this.logger.info("Saving settings cache captureMic"),he="true"):(he="false",this.logger.info("setMicRecordingEnabled invoked when streaming has not started"))}),this.makeResult(he)}updateVirtualGamepadInput($){return this.zone.runOutsideAngular(()=>{this.nskStreamClient.getVirtualInputController().handleVirtualGamepadState($.payload.buttons,$.payload.trigger,Object.values($.payload.axes))}),this.makeResult("true")}mergeConfigureStreamingSettings($){$.gxtOverrideData&&(this.configureStreamingSettings.gxtOverrideData=$.gxtOverrideData),"boolean"==typeof $.isInternalUser&&(this.configureStreamingSettings.isInternalUser=$.isInternalUser),$.overrideData&&(this.configureStreamingSettings.overrideData=$.overrideData),$.clientConfigOverride&&(this.configureStreamingSettings.clientConfigOverride=$.clientConfigOverride)}handleStreamStartResumeFailure($,he){var Le;const qe={event:Vt.CW.STREAMING_STOPPED,extendedCode:null!==(Le=this.ragnarokExtendedCodesNotificationMap.get(he))&&void 0!==Le?Le:0};qe.reason=this.streamerErrorHelperService.ragnarokErrorCodesMap.get(he)||he,qe.isResumable=$,this.streamingEvents.next(JSON.stringify(qe))}handleMicStateUpdate($){const he={uiMicState:ze.EO.PermissionPending,internalMicState:"RAGNAROK_"};switch($){case Pt.MicState.UNINITIALIZED:he.internalMicState+="UNINITIALIZED",he.uiMicState=ze.EO.PermissionPending;break;case Pt.MicState.PERMISSION_PENDING:he.internalMicState+="PERMISSION_PENDING",he.uiMicState=ze.EO.PermissionPending;break;case Pt.MicState.UNSUPPORTED:he.internalMicState+="UNSUPPORTED",he.uiMicState=ze.EO.PermissionPending;break;case Pt.MicState.ERROR:he.internalMicState+="ERROR",he.uiMicState=ze.EO.PermissionPending;break;case Pt.MicState.PERMISSION_DENIED:he.internalMicState+="PERMISSION_DENIED",he.uiMicState=ze.EO.PermissionDenied;break;case Pt.MicState.STARTED:he.internalMicState+="STARTED",he.uiMicState=ze.EO.Unmuted;break;case Pt.MicState.NO_SUITABLE_DEVICE:he.internalMicState+="NO_SUITABLE_DEVICE",he.uiMicState=ze.EO.NoMicFound;break;case Pt.MicState.STOPPED:he.internalMicState+="STOPPED",he.uiMicState=ze.EO.Muted}this.logger.info("State event received:",$," Mic state sent :",he),this.micEvents.next(JSON.stringify(he))}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(n.SKi),n.KVO(s.J6),n.KVO(s.wt),n.KVO(s.s7),n.KVO(ze.qQ),n.KVO(Nn),n.KVO(a.wCY),n.KVO(a.xDS),n.KVO(Zr.R))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();const Qr={provide:s.Ou,useClass:Ci,multi:!0};var Xr=t(2414),ur=t(12137),Lr=t(27211),Sn=t(53914);class Jr extends Be.YH{constructor(){super(...arguments),this.gdprLevel=Be.EU.Functional,this.name="HighlightCapture"}}var qr=t(52619);let wr=(()=>{var ye;class mt extends Lr.S{constructor($,he,Le){super(),this.loggingService=$,this.injector=he,this.telemetryService=Le,this.cachedSessionId="",this.lastUiState=Sn.jb.none,this.lastUiTransitionTime=null,this.wasHighlightsEnabled=!1,this.maxBatchSDKCalls=100,this.sdkCalls=[],this.folderScreenshots=0,this.folderVideos=0,this.logger=this.loggingService.getLogger("TelemetryHelperGFNService"),this.logger.info("Constructing TelemetryHelperGFNService")}init(){this.clientHost=Sn.Af.gfn,this.streamingService=this.injector.get(qr.I),this.streamingSubscription=this.streamingService.streamingEvent$.subscribe(he=>{he.event===Vt.CW.SESSION_SETUP_SUCCESS&&(this.cachedSessionId=this.streamingService.streamingProperties.sessionId||"",this.streamingSubscription.unsubscribe())});const $=this.injector.get(a.zi2);this.bridgeService=this.injector.get(s.NZ),this.perGameEventFactory=new Sn.YB(this.bridgeService,$)}getHighlightsEnabled(){return this.wasHighlightsEnabled}sendCaptureEvent($,he,Le,qe,_t,Nt,Bt,zt,tn,pn){const Vn=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,action:$,timeMs:pn,modsActive:this.toTelemetryBoolean(this.modsActive),captureMethod:he,recordWidth:Le,recordHeight:qe,recordFramerate:_t,recordCodec:Nt,colorSpaceRange:Bt,errorType:zt,errorDetails:tn},Sn.Rz);this.telemetryService.push(Vn)}sendHighlightCapture($,he,Le,qe,_t){const Nt=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,...$,sdkVersion:he,videoLengthMs:Le||-1,highlightId:qe,contentType:_t,modsActive:this.toTelemetryBoolean(this.modsActive)},Jr);this.telemetryService.push(Nt)}sendHighlightsGameSetting($,he,Le){const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,...$,isOn:this.toTelemetryBoolean(he),permissionSource:Le,modsActive:this.toTelemetryBoolean(this.modsActive)},Sn.G$);this.telemetryService.push(qe)}beginStartupTimer($){this.uiBringupStartTime=Date.now(),this.uiBringupOrigin=$}sendStartupTelemetry(){if(!this.uiBringupStartTime)return void this.logger.error("Cannot send ui bringup time, timer was never started");const $=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,openedFrom:this.uiBringupOrigin,totalMs:Date.now()-this.uiBringupStartTime},Sn.zC);this.telemetryService.push($)}trackNavigation($,he=Sn.jb.none){this.telemetryService.push(new Sn.IR({clientHost:this.clientHost,sessionId:this.cachedSessionId,oldState:this.lastUiState,newState:he,lingerTimeMs:$-this.lastUiTransitionTime,transitionTimeMs:Date.now()-$})),this.lastUiTransitionTime=Date.now(),this.lastUiState=he}sendHighlightsIndividualGameToggle($,he,Le){const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,...$,highlightId:he,isOn:this.toTelemetryBoolean(Le)},Sn.N_);this.telemetryService.push(qe)}sendHighlightCancelled($,he,Le){const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,...$,highlightId:he,sdkVersion:Le},Sn.Vy);this.telemetryService.push(qe)}recordSDKCallResult($,he,Le,qe,_t){this.wasHighlightsEnabled=!0,this.sdkCalls.unshift({apiAction:$,apiStatus:he,internalCode:Le,gameInfo:qe,sdkVersion:_t}),he!==Sn.TF.success&&he!==Sn.TF.successversionoldsdk&&he!==Sn.TF.successversionoldgfe&&he!==Sn.TF.successpending&&he!==Sn.TF.successusernotinterested&&he!==Sn.TF.successpermissiongranted&&he!==Sn.TF.successlinked&&this.sendSDKCallResults(!0,!1),this.sdkCalls.length>=this.maxBatchSDKCalls&&this.sendSDKCallResults(!1,!1)}sendSDKCallResults($,he){if($)for(const Le of this.sdkCalls){const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,...Le.gameInfo,apiAction:Le.apiAction,apiStatus:Le.apiStatus,internalCode:Le.internalCode,sdkVersion:Le.sdkVersion,count:1,highlightsSessionId:this.streamingService?this.cachedSessionId:"12345"},Sn.UQ);he?this.telemetryService.push(qe,0,{appExit:!0}):this.telemetryService.push(qe)}else{const Le=[];for(const qe of this.sdkCalls){let _t=!1;for(const Nt of Le)if(Nt.apiAction===qe.apiAction&&Nt.apiStatus===qe.apiStatus){Nt.count++,_t=!0;break}_t||Le.push({...qe,count:1})}for(const qe of Le){const _t=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,...qe.gameInfo,apiAction:qe.apiAction,apiStatus:qe.apiStatus,internalCode:qe.internalCode,sdkVersion:qe.sdkVersion,count:qe.count,highlightsSessionId:this.streamingService?this.cachedSessionId:"12345"},Sn.UQ);he?this.telemetryService.push(_t,0,{appExit:!0}):this.telemetryService.push(_t)}}this.sdkCalls=[]}sendGalleryAccess(){if(!this.galleryAccessType||this.galleryAccessType!==Sn.UZ.folder&&this.galleryAccessType!==Sn.UZ.root)return void this.logger.error("Atempting to send gallery navigation telemetry that was never started!");const $=this.galleryAccessType;this.galleryAccessType=null;const he=Date.now()-this.galleryNavStart,Le=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,isCached:this.toTelemetryBoolean(this.galleryAccessCached),contentType:Sn.cM.none,highlightId:"",navigationLevel:$,timeTakenMs:he,ageOfContent:0,numImages:this.folderScreenshots,numVideos:this.folderVideos,contentMatchesCurrentGame:Sn.O6.false},Sn.Jy);this.telemetryService.push(Le)}sendGalleryFileAccess($){if(!this.galleryAccessType||this.galleryAccessType!==Sn.UZ.content)return void this.logger.error("Atempting to send gallery navigation telemetry that was never started!");const he=Date.now()-this.galleryNavStart;this.bridgeService.executeCommand(y.Ts.Common.Gallery.GetFileMetadata,{file:$.fullFilename}).subscribe(Le=>{if(void 0===Le.fileType)return;const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,isCached:Sn.O6.false,contentType:"image"===$.file.type?Sn.cM.image:Sn.cM.video,highlightId:$.hlName,navigationLevel:Sn.UZ.content,timeTakenMs:he,ageOfContent:Date.now()-new Date($.date).getTime(),numImages:0,numVideos:0,contentMatchesCurrentGame:Sn.O6.false},Sn.Jy);this.telemetryService.push(qe)})}sendGalleryFilterUsed($){const he=new Sn.QA({clientHost:this.clientHost,sessionId:this.cachedSessionId,filterCategory:$});this.telemetryService.push(he)}sendGalleryPlayedVideo($,he){this.bridgeService.executeCommand(y.Ts.Common.Gallery.GetFileMetadata,{file:$}).subscribe(Le=>{if(void 0===Le.fileType)return;const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,highlightId:he},Sn.hN);this.telemetryService.push(qe)})}sendGalleryFileRemoved($){this.bridgeService.executeCommand(y.Ts.Common.Gallery.GetFileMetadata,{file:$.fullFilename}).subscribe(he=>{if(void 0===he.fileType)return;const Le=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,contentType:"image"===$.file.type?Sn.cM.image:Sn.cM.video,highlightId:$.hlName},Sn.fU);this.telemetryService.push(Le)})}sendGalleryOpenedFileLocation(){const $=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId},Sn.TO);this.telemetryService.push($)}startGalleryAccess($){this.galleryAccessType=$,this.galleryNavStart=Date.now()}setGalleryAccessCached($){this.galleryAccessCached=$}setGalleryFolderCounts($,he){this.folderScreenshots=$,this.folderVideos=he}sendStatsClosedTelemetry($,he,Le){const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,totalMs:$,format:Le,position:he},Sn._u);this.logger.info("Stats Closed Telemetry: ",qe),this.telemetryService.push(qe)}sendStatsViewChanged($,he,Le){const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,format:he,position:Le,uiOpen:this.toTelemetryBoolean($)},Sn.JC);this.logger.info("Stats View Changed Telemetry: ",qe),this.telemetryService.push(qe)}sendWidgetViewChanged($,he,Le){const qe=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,indicator:Le,position:he},Sn.Qt);this.logger.info("Widget View Changed Telemetry: ",qe),this.telemetryService.push(qe)}sendNotificationChanged($,he){const Le=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,control:$,state:this.toTelemetryBoolean(he)},Sn.kG);this.logger.info("Notification Changed Telemetry: ",Le),this.telemetryService.push(Le)}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(n.zZn),n.KVO(Be.H0))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:null}),mt})();const Mi=y.Ts.Share.Osc;let es=(()=>{var ye;class mt extends s.Un{constructor($){super(),this.logger=$.getLogger("OscPlugin")}get handlers(){return{module:Mi.SetPainting.module,commands:{[Mi.SetPainting.method]:this.setPainting.bind(this),[Mi.FullscreenState.method]:this.fullscreenState.bind(this)}}}setPainting(){return this.makeResult("true")}fullscreenState(){return this.makeResult(JSON.stringify({fullscreen:!0}))}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})();var ir=t(76560),Go=t(23599),Nr=function(ye){return ye.ShowHotkey="showHotkeyMessage",ye}(Nr||{}),or=t(18125),mr=t(25343),Ur=t(58889);const Eo=y.Ts.Share.Shareserver,Gr=[{provide:s.Ou,useClass:(()=>{var ye;class mt extends s.Un{constructor($,he,Le,qe,_t,Nt){super(),this.dbCacheService=he,this.browserSupportService=Le,this.hotkeyMonitoringService=qe,this.projectInterfaceService=_t,this.hotkeyDefaultMappingService=Nt,this.isDefaultHotkeyMappingInitialized$=new o.B7,this.overridesPresent=!1,this.logger=$.getLogger("ShareServerPlugin"),this.igoShortcutsDb=this.dbCacheService.getOrCreateCachedGlobalItem(ir.Ui,ir.Zy.Shortcuts)}get handlers(){return{module:Eo.GetInitData.module,commands:{[Eo.GetInitData.method]:this.getInitData.bind(this),[Eo.GetHotkeyShortcut.method]:this.getHotkeyShortcut.bind(this),[Go.T.ResetHotkeysToDefault.method]:this.resetHotkeysToDefault.bind(this),[Go.T.RegisterHotkeyNotifications.method]:this.registerHotkeyNotifications.bind(this),[Go.T.GetCaptureProcessInfo.method]:this.getCaptureProcessInfo.bind(this),[Go.T.RegisterWindowStateChangeNotifications.method]:this.registerWindowStateChangeNotifications.bind(this),[Go.T.SetHotkeyMonitoring.method]:this.setHotkeyMonitoring.bind(this),[Eo.SetHotkeyShortcut.method]:this.setHotkeyShortcut.bind(this),[Eo.Init.method]:this.init.bind(this)}}}init($){return this.defaultHotkeyMapping=this.hotkeyDefaultMappingService.get($.payload.osType,$.payload.browserType),$.payload.areHotkeysOverridden&&(this.overridesPresent=$.payload.areHotkeysOverridden,this.overriddenHotkeyList=new Map(this.defaultHotkeyMapping),this.logger.info("Overriding hotkeys: ",$.payload.overriddenHotkeysList),this.overrideDefaultHotkeyList($.payload.overriddenHotkeysList,$.payload.osType)),this.hotkeyMonitoringService.initHotkeyMapping(this.overriddenHotkeyList,$.payload.osType,$.payload.browserType),this.isDefaultHotkeyMappingInitialized$.next(!0),this.isDefaultHotkeyMappingInitialized$.complete(),this.logger.info("initialize called with osType",$.payload.osType),this.makeResult("true")}setHotkeyMonitoring($){return $.payload.enable?(this.logger.info("setHotkeyMonitoring resumeListening"),this.projectInterfaceService.resumeListening()):(this.logger.info("setHotkeyMonitoring pauseListening"),this.projectInterfaceService.pauseListening()),this.makeResult("true")}getCaptureProcessInfo(){return this.makeResult("true")}registerHotkeyNotifications(){return this.makeResult("true")}getInitData(){const $={captureSupported:!1,desktopCaptureSupported:!1,coplayEnabled:!1};return this.logger.info("getInitData response from ShareserverPlugin ",$),this.makeResult(JSON.stringify($))}setHotkeyShortcut($){const he={_return_internal:y.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Success_Ok},Le={_return_internal:y.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Error_InvalidArg};return $.payload.keys?$.payload.hotkey===or.g8X.OpenIGO&&$.payload.keys.length<2?this.makeResult(JSON.stringify(Le)):this.igoShortcutsDb.sync_().pipe((0,F.ZZ)(()=>(this.igoShortcutsDb[$.payload.hotkey]=$.payload.keys,this.hotkeyMonitoringService.updateHotkeyMapping($.payload.hotkey,$.payload.keys),this.igoShortcutsDb.persist_())),(0,F.ZZ)(()=>this.makeResult(JSON.stringify(he)))):this.makeResult(JSON.stringify(Le))}registerWindowStateChangeNotifications(){const $={windowMsg:Nr.ShowHotkey};return this.makePersistentResult(this.browserSupportService.fullScreenEventObs$.pipe((0,ee.T)(he=>{if(he)return JSON.stringify($)}),(0,b.M)(()=>this.logger.info("registerWindowStateChange response from ShareserverPlugin ",$))))}cacheExists($){return void 0!==this.igoShortcutsDb[$]}getHotkeyShortcut($){return this.igoShortcutsDb.sync_().pipe((0,Oi.o)(he=>this.isDefaultHotkeyMappingInitialized$),(0,F.ZZ)(()=>{let he;return this.overridesPresent?(he=this.getHotkeyWhenOverriddesArePresent($.payload.hotkey),this.makeResult(JSON.stringify({keys:he||[]}))):(he=this.igoShortcutsDb[$.payload.hotkey]?this.igoShortcutsDb[$.payload.hotkey]:this.defaultHotkeyMapping.get($.payload.hotkey),this.makeResult(JSON.stringify({keys:he||[]})))}))}getHotkeyWhenOverriddesArePresent($){let he;const Le=this.defaultHotkeyMapping.get($),qe=this.overriddenHotkeyList.get($);return he=this.cacheExists($)?(0,mr.B)(qe,this.igoShortcutsDb[$])||(0,mr.B)(Le,this.igoShortcutsDb[$])?qe:this.igoShortcutsDb[$]:(0,mr.B)(Le,qe)?Le:null!=qe?qe:Le,he}resetHotkeysToDefault(){return this.hotkeyMonitoringService.resetToDefaultObs$().pipe((0,F.ZZ)(()=>this.makeResult("true")))}overrideDefaultHotkeyList($,he){$.forEach(Le=>{he===s.t_.Windows?this.overriddenHotkeyList.set(Le.name,Le.winHotkey):he===s.t_.MacOS&&this.overriddenHotkeyList.set(Le.name,Le.macHotkey)})}}return(ye=mt).\u0275fac=function($){return new($||ye)(n.KVO(s.J6),n.KVO(s.sc),n.KVO(Ui.vT),n.KVO(Ur.m),n.KVO(ze.qQ),n.KVO(or.ROY))},ye.\u0275prov=n.jDH({token:ye,factory:ye.\u0275fac,providedIn:"root"}),mt})(),multi:!0},{provide:s.Ou,useClass:es,multi:!0}];var fr,Fr=t(61904),pr=t(17716),Br=t.t(JSON.parse('{"ar_SA":"461aa61e370ea1f756ef","tr_TR":"92ecb1354a8d42cf9871","hu_HU":"4533d384b2d41341b1a4","pt_PT":"ce9eee46c7b7c0554aa0","sv_SE":"ccabd8513846dbaca456","ko_KR":"f3c378524d6197d5139f","es_ES":"a40209c475e72a7dc7dc","ja_JP":"6fccabab683f201a9c7f","zh_CN":"1989f6ad470d7ea9a132","bg_BG":"7d7be1c040af0481efda","el_GR":"b02eac9017406774a724","it_IT":"cad515e94fe82ce309e9","th_TH":"3292e888fc123a3d7f43","fi_FI":"a0bbc6e4b9f0a7a10d07","en_US":"8f19f4314708e188e70b","en_GB":"75b571965193f597105d","es_MX":"8826bebe716bc2fc1226","ru_RU":"48fe4d313dcc5eaec522","sl_SI":"2ea578115aee86a9b7c2","nl_NL":"6cff209215063f062fc2","nb_NO":"e4148f1eb7fe89544a98","da_DK":"814686a92cc910bc4c2f","de_DE":"0f8a91edafaf818809ca","pt_BR":"a5535f1e4b83ff313aec","zh_TW":"de34d08fbc89968c9754","fr_FR":"9eb1647ae76d133553a5","cs_CZ":"dee36d2926fc5f8fac53","uk_UA":"61b11d9ee29042f0dc58","sk_SK":"f0d0b705feb7f1895f08","ro_RO":"6b0a98bde8c3c93b4881","pl_PL":"e37b3f07507261dcb6cf","hr_HR":"d1117cea9a6becbddcc3"}'),2),ns=t(56409),rr=t(25172);t(64655);class qt extends e.EZ{constructor(){super(...arguments),this.overrides={swipe:{direction:E.DIRECTION_ALL}}}}function os(ye){return{featureId:ye.gxTarget.experiences&&ye.gxTarget.experiences.starfleet||a.u8D.featureId,...ye.idm}}function Vr(ye,mt){const ht=ye.jarvis;return ht.sdkClient=mt.activeConfig.sdkClient,ht}function rs(ye){return ye.starfleet}function ss(ye){return ye.gfcFeedbackEvents||lo.mi}function as(ye){return ye.jsEvents||Be.Op}function ls(ye){return ye.exception||ao.u$}function cs(ye){var mt;return{waitForDialogClose:!0,saveMicPreference:null==ye||null===(mt=ye.client)||void 0===mt?void 0:mt.saveMicPreference}}function Hr(ye){return{appWindowName:s.Sg.Gfn,storage:Be.P6.SharedStorage,clientVersion:(0,a.ClN)(ye),clientVariant:ye.build.variant,...ye.gxTarget,openTracingConfig:ye.otelTracerConfig}}function ds(ye){return{appVersion:ye.build.version,...ye.gfwsl}}function gs(ye){return{...ye.aem}}function hs(ye){var mt,ht;return{IGOFeatureEnabled:!(null===(mt=ye.featureEnablement)||void 0===mt||!mt.igo),branding:"GFN",GFNCefClient:!0,OSDEnabled:!1,NvCameraFeaturesEnabled:ye.igo&&ye.igo.nvcameraFeatureEnabled||!1,GameFilterEnabled:ye.igo&&ye.igo.gameFilterEnabled||!1,PhotoModeEnabled:ye.igo&&ye.igo.photoModeEnabled||!1,GFNBroadcastEnabled:ye.igo&&ye.igo.gfnBroadcastEnabled||!1,DirectBroadcastEnabled:ye.igo&&ye.igo.directBroadcastEnabled||!1,ControlUGCEnabled:ye.igo&&ye.igo.controlUGCEnabled||!1,Path:a.V6C.StreamerRoot,handleGamepadShortcutForInternalStats:ye.igo&&ye.igo.handleGamepadShortcutForInternalStats||!1,handleGamepadShortcutForExternalStats:ye.igo&&ye.igo.handleGamepadShortcutForExternalStats||!1,SmallScreenEnlargeFont:(null==ye?void 0:ye.igo.smallScreenEnlargeFont)||!1,HideKeyboardShortcuts:(null==ye||null===(ht=ye.igo)||void 0===ht?void 0:ht.hideKeyboardShortcuts)||!1}}function us(ye){return()=>{window.addEventListener("beforeinstallprompt",mt=>{mt.preventDefault(),ye.setDeferredPromptEvent(mt)})}}function sr(ye,mt){var ht;return{offDeviceLinkConfig:{title:"offDeviceLink.title",primaryButtonText:"offDeviceLink.button"},tvMode:ye.featureEnablement.tvMode,showQRCodeForLinks:ye.featureEnablement.showQRCodeForLinks,mobileMode:ye.featureEnablement.mobileMode,focusRippleEnabled:ye.featureEnablement.focusRippleEnabled,focusRippleBorderWidth:ye.featureEnablement.focusRippleBorderWidth,spatialNavigationConfig:ye.spatialNavigation,userActivationGuardConfig:{...ye.userActivationGuardConfig,linkWarningMessage:"userActivationGuard.requireTapOnLink",buttonWarningMessage:"userActivationGuard.requireTapOnButton"},customClickHandler:null!=ye&&null!==(ht=ye.spatialNavigation)&&void 0!==ht&&ht.synthesizeClickViaBridgeCommand?$=>mt.synthesizeClick($):void 0}}function ar(ye){return null==ye?void 0:ye.gamepadConfig}function yo(ye){var mt,ht,$;return{searchInputType:null!=ye&&null!==(mt=ye.client)&&void 0!==mt&&mt.hideSoftKeyboardPasswordBar?"search":void 0,searchInputDebounceTime:null==ye||null===(ht=ye.gameSearchFilterConfig)||void 0===ht?void 0:ht.searchDebounceTime,disableGamepadHintsOnSystemKBOpened:null==ye||null===($=ye.client)||void 0===$?void 0:$.disableGamepadHintsOnSystemKBOpened}}function ms(ye){return ye.pnsServerConfig||pr.YF}function ys(){const ye={systemInfoOverrideConfig:{allowedOSs:[s.t_.WebOS,s.t_.Tizen],override:{}}},mt=new URLSearchParams(window.location.search);return new Map([["modelName","SystemName"],["osVersion","OSVersion"],["cpuName","CPUName"],["panelResolution","Display"]]).forEach(($,he,Le)=>{const qe=mt.get(he);if(qe)if("Display"===$){const Nt={RefreshRate:"",LogicalResolution:window.screen.width.toString()+" x "+window.screen.height.toString(),PhysicalResolution:qe};ye.systemInfoOverrideConfig.override[$]=[Nt]}else ye.systemInfoOverrideConfig.override[$]=qe}),ye}const ps={verticalPosition:"bottom",panelClass:["nv-hig"],duration:7e3},Cr=[],_r=[...Ii,Qr,Xr.q,...Gr],Fo={keysToPersistInJSON:null!==(fr=null==a.x5$?void 0:a.x5$.persistToJSONKeys)&&void 0!==fr?fr:[],shouldUseJSON:!0};let Hi=(()=>{var ye;class mt{}return(ye=mt).\u0275fac=function($){return new($||ye)},ye.\u0275mod=n.$C({type:ye,bootstrap:[fi]}),ye.\u0275inj=n.G2t({providers:[{provide:e.kQ,useClass:qt},{provide:In.aT,useValue:{filePath:so.configFileName,production:so.production}},{provide:lo.jZ,useFactory:ss,deps:[a.Vk6]},{provide:a.KmM,useFactory:os,deps:[a.Vk6]},{provide:_o.M4,useFactory:Vr,deps:[a.Vk6,a.zi2]},{provide:T.X$,useFactory:rs,deps:[a.Vk6]},In.LV,a.fhr,{provide:Be.i1,useFactory:as,deps:[a.Vk6]},{provide:ao.sT,useFactory:ls,deps:[a.Vk6]},{provide:n.zcH,useClass:a.Y65},{provide:P.a7,useClass:qo,multi:!0},Xn.bZ,{provide:io.y2,useFactory:Hr,deps:[a.Vk6]},{provide:$i.Ev,useFactory:ds,deps:[a.Vk6]},{provide:$i.Kq,useFactory:gs,deps:[a.Vk6]},Cr,_r,{provide:ur.k,useFactory:hs,deps:[a.Vk6]},{provide:Lr.S,useClass:wr},s.iM,{provide:n.hnV,useFactory:us,multi:!0,deps:[a.eEz,s.J6]},{provide:Fr.Sf,useClass:Fr.DW},{provide:M.Xv,useFactory:sr,deps:[a.Vk6,a.$vj]},{provide:pi.GJ,useFactory:ar,deps:[a.Vk6]},pi.Oz,{provide:ns.b,useFactory:yo,deps:[a.Vk6]},{provide:tr,useFactory:ys},{provide:ze.xI,useFactory:cs,deps:[a.Vk6]},{provide:pr.Pd,useFactory:ms,deps:[a.Vk6]},{provide:rr.ry,useValue:{mandatoryModuleNames:a.QF_,optionalModulesNames:a.Vdg,mandatoryPluginTimeout:a._Vf}},{provide:X.x6,useValue:ps},{provide:Si.lO,useValue:Fo},{provide:"MARQUEE_IMAGE_METADATA_FETCHER",useClass:a.Lg7}],imports:[On,P.q1,O.MD,e.Bb,k.YF,lo.WK,_o.Uz,T.BF,i,l.i,(0,s.BY)(Br),Ni.E$,s._N.configure(so),B.wb,a.RHK,Si.bT,vi,io.IS,Se,Be.zK,ao.Wj,Xn.Mn,$i.XU,e.fM,L.ti,M.bm,pr.Kw,X._T]}),mt})();so.production&&(0,n.SmG)(),e.sG().bootstrapModule(Hi).catch(ye=>console.log(ye))},71780:(xe,de,t)=>{"use strict";t.d(de,{ap:()=>u,m$:()=>E});var e=function(x){return x.GameTile="TV_BANNER",x.MaqueeTile="MARQUEE_HERO_IMAGE",x.MaqueeGameLogo="GAME_LOGO",x.MaqueeCascadeImage="assets.cascade.geforce.com/images/",x}(e||{});const n=[e.GameTile,e.MaqueeCascadeImage,e.MaqueeTile,e.MaqueeGameLogo];var E=function(x){return x.CommonJSInitStart="CommonJSInitStart",x.CommonJSInitEnd="CommonJSInitEnd",x.LayoutSpinnerStart="LayoutSpinnerStart",x.LayoutSpinnerEnd="LayoutSpinnerEnd",x.LayoutJSInitStart="LayoutJSInitStart",x.LayoutJSInitEnd="LayoutJSInitEnd",x.LayoutDataFetchStart="LayoutDataFetchStart",x.LayoutDataFetchEnd="LayoutDataFetchEnd",x.LayoutDataRenderStart="LayoutDataRenderStart",x.LayoutDataRenderEnd="LayoutDataRenderEnd",x.LoginWallCheckStart="LoginWallCheckStart",x.LoginWallCheckEnd="LoginWallCheckEnd",x.LoginWallDataFetchStart="LoginWallDataFetchStart",x.LoginWallDataFetchEnd="LoginWallDataFetchEnd",x.LoginWallRenderStart="LoginWallRenderStart",x.LoginWallRenderEnd="LoginWallRenderEnd",x}(E||{}),O=function(x){return x.CEFLoad="CEFLoad",x.TotalJSModuleLoad="TotalJSModuleLoad",x.CommonJSModuleLoad="CommonJSModuleLoad",x.LayoutJSModuleLoad="LayoutJSModuleLoad",x.LayoutDataLoad="LayoutDataLoad",x.LayoutSpinner="LayoutSpinner",x.LayoutDataRendering="LayoutDataRendering",x.CompleteLayout="CompleteLayout",x.LoginWallCheck="LoginWallCheck",x.LoginWallDataFetch="LoginWallDataFetch",x.LoginWallRendering="LoginWallRendering",x}(O||{});const P=[{name:O.CommonJSModuleLoad,start:E.CommonJSInitStart,end:E.CommonJSInitEnd},{name:O.LoginWallCheck,start:E.LoginWallCheckStart,end:E.LoginWallCheckEnd},{name:O.LayoutJSModuleLoad,start:E.LayoutJSInitStart,end:E.LayoutJSInitEnd},{name:O.LayoutDataLoad,start:E.LayoutDataFetchStart,end:E.LayoutDataFetchEnd},{name:O.LayoutSpinner,start:E.LayoutSpinnerStart,end:E.LayoutSpinnerEnd},{name:O.LayoutDataRendering,start:E.LayoutDataRenderStart,end:E.LayoutDataRenderEnd}],k=[{name:O.CommonJSModuleLoad,start:E.CommonJSInitStart,end:E.CommonJSInitEnd},{name:O.LoginWallCheck,start:E.LoginWallCheckStart,end:E.LoginWallCheckEnd},{name:O.LoginWallDataFetch,start:E.LoginWallDataFetchStart,end:E.LoginWallDataFetchEnd},{name:O.LoginWallRendering,start:E.LoginWallRenderStart,end:E.LoginWallRenderEnd}];var U=t(47766),r=t(37543),A=t(83915),l=t(14714),I=t(65706),S=t(43848),L=t(56237),s=t(33367),M=t(58527);let u=(()=>{var x;class p{constructor(o,_,f){this.telemetryUtilService=_,this.bridgeService=f,this.imageLoadDuration=0,this.imageCount=0,this.imageTransferSize=0,this.usedJsHeapSize=0,this.resourceComputationDone=!1,this.imgTimingMap=new Map,this.logger=o.getLogger("AppLaunchPerformanceService"),this.isPerfTelemetryInitiatedOnce=!1,this.isLayoutLoadAbandoned=!1,this.layoutDurations=new Map,P.forEach(J=>{this.layoutDurations.set(J.name,0)}),this.layoutDurations.set(O.CEFLoad,-1),this.loginWallDurations=new Map,k.forEach(J=>{this.loginWallDurations.set(J.name,0)})}fetchCEFStartupTime(){return this.bridgeService.executeCommand(s.Ts.Common.Applicationinfo.GetApplicationTimeInfo,{type:s.Or.Common.Applicationinfo.ApplicationTimeType.Launch}).pipe((0,A.T)(o=>{const _=window.jsInitStartTs-o.startTime;return this.layoutDurations.set(O.CEFLoad,_),!0}),(0,l.W)(o=>(0,S.of)(!1)))}onCommonJSLoadEnd(){performance.mark(E.CommonJSInitEnd)}onLoginWallDataFetchStart(){performance.mark(E.LoginWallDataFetchStart)}onLoginWallDataFetchEnd(){performance.mark(E.LoginWallDataFetchEnd)}onLoginWallRenderStart(){performance.mark(E.LoginWallRenderStart)}onLoginWallRenderEnd(){performance.mark(E.LoginWallRenderEnd),this.computeLoginWallDuration()}onLoginWallCheckStart(){performance.mark(E.LoginWallCheckStart)}onLoginWallCheckEnd(){performance.mark(E.LoginWallCheckEnd)}onLayoutDataFetchStart(){this.isPerfTelemetryInitiatedOnce||performance.mark(E.LayoutDataFetchStart)}onLayoutDataFetchEnd(){this.isPerfTelemetryInitiatedOnce||(performance.mark(E.LayoutDataFetchEnd),performance.mark(E.LayoutSpinnerEnd))}onLayoutComponentDataRenderingStart(){this.isPerfTelemetryInitiatedOnce||performance.mark(E.LayoutDataRenderStart)}computeLoginWallDuration(){k.forEach(f=>{try{const J=performance.measure(f.name,f.start,f.end);this.loginWallDurations.set(f.name,J.duration)}catch{this.loginWallDurations.set(f.name,-1)}});let o="Stage wise durations for loginwall:\n";this.loginWallDurations.forEach((f,J)=>{o+=`${J}: ${f}\n`});const _=this.loginWallDurations.get(O.CommonJSModuleLoad)+this.loginWallDurations.get(O.LoginWallCheck)+this.loginWallDurations.get(O.LoginWallRendering);o=`${o}Total duration: ${_}`,this.logger.info(o)}computeLayoutDuration(){P.forEach(J=>{try{const a=performance.measure(J.name,J.start,J.end);this.layoutDurations.set(J.name,a.duration)}catch{this.layoutDurations.set(J.name,-1)}});const o=this.layoutDurations.get(O.CommonJSModuleLoad)+this.layoutDurations.get(O.LayoutJSModuleLoad);this.layoutDurations.set(O.TotalJSModuleLoad,o);const _=this.layoutDurations.get(O.CommonJSModuleLoad)+this.layoutDurations.get(O.LayoutJSModuleLoad)+this.layoutDurations.get(O.LoginWallCheck)+this.layoutDurations.get(O.LayoutDataLoad)+this.layoutDurations.get(O.LayoutDataRendering);this.layoutDurations.set(O.CompleteLayout,_);let f="Stage wise durations for layout:\n";this.layoutDurations.forEach((J,a)=>{f+=`${a}: ${J}\n`}),this.logger.info(f)}onLayoutComponentDataRenderingEnd(){this.isPerfTelemetryInitiatedOnce||(performance.mark(E.LayoutDataRenderEnd),(0,L.T)(U.zk.isCefPlatform,this.fetchCEFStartupTime(),(0,S.of)(!1)).pipe((0,I.s)(1)).subscribe(o=>{this.computeLayoutDuration(),this.computeResourceLoadMetrics(),this.isPerfTelemetryInitiatedOnce=!0}))}onLayoutComponentInit(){this.isPerfTelemetryInitiatedOnce||performance.mark(E.LayoutSpinnerStart)}onLayoutLoadAbandoned(){this.isLayoutLoadAbandoned=!0}computeResourceLoadMetrics(){this.observer=new PerformanceObserver(o=>this.perfResourceElementObserverCallback(o)),this.observer.observe({entryTypes:[U.uP.Element,U.uP.Resource]}),setTimeout(()=>{this.observer&&this.observer.disconnect(),this.usedJsHeapSize=this.getUsedJsHeapSize(),this.resourceComputationDone=!0,this.imgTimingMap.clear(),this.sendLayoutPerformanceTelemetry()},1e4)}perfResourceElementObserverCallback(o){try{o.getEntries().forEach(_=>{if(_ instanceof PerformanceResourceTiming&&_.initiatorType===U.fV.Image&&this.isResourceConsidered(_.name)){const f=this.imgTimingMap.get(_.name);if(f&&_.connectStart){const J=f-_.connectStart;J<0&&this.logger.error(`Negative duration for entry ${JSON.stringify(_.toJSON())}, with loadTime ${f}`),this.imageLoadDuration+=J,this.imgTimingMap.delete(_.name),this.imageCount++}else this.imgTimingMap.set(_.name,_.connectStart);_.transferSize&&(this.imageTransferSize+=_.transferSize)}else if(_.entryType===U.uP.Element){const f=this.imgTimingMap.get(_.url);if(_.loadTime&&f){const J=_.loadTime-f;J<0&&this.logger.error(`Negative duration for entry ${JSON.stringify(_.toJSON())}, with startime ${f}`),this.imageLoadDuration+=J,this.imgTimingMap.delete(_.url),this.imageCount++}else this.imgTimingMap.set(_.url,_.loadTime)}})}catch(_){this.logger.error("Error occured in perfResourceElementObserverCallback ",_),this.observer.disconnect(),this.observer=null,this.imageCount=-1,this.imageLoadDuration=-1,this.imageTransferSize=-1}}isResourceConsidered(o){return n.some(_=>o.includes(_))}getUsedJsHeapSize(){var o,_;return null!==(o=null===(_=performance)||void 0===_||null===(_=_.memory)||void 0===_?void 0:_.usedJSHeapSize)&&void 0!==o?o:-1}sendLayoutPerformanceTelemetry(){const o=window.geForceNowStartLocationHash;this.isLayoutLoadAbandoned||null!=o&&o.length&&!o.includes(r.V6C.DefaultRedirect)||!this.resourceComputationDone?this.logger.warn(`Abort sendLayoutPerformanceTelemetry, isLayoutLoadAbandoned: ${this.isLayoutLoadAbandoned}, startHash: ${o}`):(this.telemetryUtilService.sendPageLoadPerfEvent(r.$1L.Layout_L0,{viewDataLoadDuration:this.layoutDurations.get(O.LayoutDataLoad),sectionNames:[O.CEFLoad,O.TotalJSModuleLoad,O.LayoutSpinner,O.LayoutDataRendering,O.CompleteLayout],sectionDataLoadDurations:[0,0,0,0,0],sectionTotalLoadDurations:[this.layoutDurations.get(O.CEFLoad),this.layoutDurations.get(O.TotalJSModuleLoad),this.layoutDurations.get(O.LayoutSpinner),this.layoutDurations.get(O.LayoutDataRendering),this.layoutDurations.get(O.CompleteLayout)],imageLoadDuration:this.imageLoadDuration,imageCount:this.imageCount,imageTransferSize:this.imageTransferSize,usedJsHeapSize:this.usedJsHeapSize}),this.telemetryUtilService.sendNavigationPerfEvent())}}return(x=p).\u0275fac=function(o){return new(o||x)(M.KVO(U.J6),M.KVO(r.jgD),M.KVO(U.NZ))},x.\u0275prov=M.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},55059:(xe,de,t)=>{"use strict";t.d(de,{gT:()=>e.g,ln:()=>E.l});var e=t(32398),E=(t(35131),t(86574))},32398:(xe,de,t)=>{"use strict";t.d(de,{f:()=>e,g:()=>n});var e=function(E){return E.AUTHORIZATION_ERROR="AUTHORIZATION_ERROR",E.UNKNOWN="UNKNOWN",E.LOGGED_IN="LOGGED_IN",E.NOT_LOGGED_IN="NOT_LOGGED_IN",E.PENDING_LOGIN="PENDING_LOGIN",E.LOGIN_ERROR="LOGIN_ERROR",E}(e||{}),n=function(E){return E.NotStarted="NotStarted",E.Started="Started",E.LoggedOut="LoggedOut",E.LoggedIn="LoggedIn",E.Pending="Pending",E.Failed="Failed",E}(n||{})},35131:(xe,de,t)=>{"use strict";t.d(de,{f:()=>A});var e=t(75707),n=t(76449),E=t(81834),O=t(18433),B=t(58527),P=t(61958),k=t(70815),U=t(47766),r=t(34178);let A=(()=>{var l;class I{constructor(L,s,M,u,x){this.endpointFactory=s,this.distributedtracingUtilService=M,this.headerService=x,this.logger=u.getLogger("uasSdkService"),this.uasConfig=L.uasConfig;const{defaultRetries:p,defaultTimeBetweenRetries:i,defaultTimeout:o,retryOnTimeout:_,exponentialBackoffMaxDelay:f}=L.uasConfig;this.uasEndpoint=this.endpointFactory.createEndpoint({config:{maxRetries:p,timeout:o,timeBetweenRetries:i,retryOnTimeout:_,exponentialBackoffMaxDelay:f}})}getUrl(L){return(0,E.l2)([this.uasConfig.server,this.uasConfig.version,L])}acquireUser(L,s,M,u,x){this.logger.info("calling acquire user");const p={headers:{Authorization:"Bearer "+L,"Content-Type":"application/json","Accept-Language":u},body:{redirectUri:s,homeUrl:M},reportRequestData:{originalService:O.Uu$.UAS,serviceUseCase:O.OOF.AcquireUser,reportSuccessTelemetry:"true"},includeRequestId:!0};return this.headerService.getCommonHeaders().pipe((0,e.ZZ)(i=>{Object.assign(p.headers,i);const o=this.uasEndpoint.post(this.getUrl("acquire/login"),p);return this.distributedtracingUtilService.handleHttpEndpointSpan(o,p,n.pB.UasAcquireUser,x)}))}getUserAcquisitionState(L,s,M){this.logger.info("checking acquire user state");const u={headers:{Authorization:"Bearer "+L,"Content-Type":"application/json"},params:{requestId:s},reportRequestData:{originalService:O.Uu$.UAS,serviceUseCase:O.OOF.GetAcquisitionState,reportSuccessTelemetry:"true"},includeRequestId:!0};return this.headerService.getCommonHeaders().pipe((0,e.ZZ)(x=>{Object.assign(u.headers,x);const p=this.uasEndpoint.get(this.getUrl("acquire/loginStatus"),u);return this.distributedtracingUtilService.handleHttpEndpointSpan(p,u,n.pB.UasAcquireUser,M)}))}}return(l=I).\u0275fac=function(L){return new(L||l)(B.KVO(P.Vk),B.KVO(k.t),B.KVO(n.Z1),B.KVO(U.J6),B.KVO(r.y1))},l.\u0275prov=B.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),I})()},86574:(xe,de,t)=>{"use strict";t.d(de,{l:()=>z});var e=t(26513),n=t(43848),E=t(36466),O=t(80583),B=t(892),P=t(59859),k=t(27731),U=t(36877),r=t(85735),A=t(83915),l=t(75707),I=t(8619),S=t(65706),L=t(14714),s=t(10174),M=t(91384),u=t(32398),x=t(33367),p=t(26875),o=t(18433),_=t(11346),f=t(58527),J=t(47766),a=t(61958),D=t(35131),te=t(78893),N=t(78812);let z=(()=>{var R;class v{constructor(W,ne,ee,b,w,F,Z,se){if(this.config=ne,this.uasSdk=ee,this.bridgeService=b,this.localeService=w,this.routerService=F,this.telemetryUtilService=Z,this.telemetryService=se,this.httpSubscription=null,this.redirectUrl=null,this.httpRequestSub=null,this.AutoEntitleStateSub=new e.t(u.g.NotStarted),this.loginInitiated=!1,this.pendingEntitlement=!1,this.uasKey="AutoEntitleState",this.redirectInputKey="inputData",this.redirectResponseKey="responseData",this.tabWindow=null,this.pollingSubscription=null,this.logger=W.getLogger("uas/uas-service"),this.config.uasConfig.redirectUrlIsRelative){const Y=window.sessionStorage.getItem(this.uasKey);this.config.starfleet.sameTabLogin&&Y&&(this.loginInitiated=Y===u.g.Started),this.config.uasConfig.sameTab&&Y&&(this.pendingEntitlement=Y===u.g.Pending),this.redirectUrl=window.location.origin+this.config.uasConfig.redirectUrl,window.sessionStorage.removeItem(this.uasKey),window.sessionStorage.removeItem(this.redirectInputKey)}}handleHttpRequest(W){const ne={};return new URL(W).searchParams.forEach((b,w)=>{ne[w]=b}),ne}get AutoEntitleState(){return this.AutoEntitleStateSub.asObservable()}onLoginInitiated(W){if(this.tabWindow=W,this.logger.info("on login initiated"),this.AutoEntitleStateSub.next(u.g.NotStarted),this.loginInitiated=!0,this.isAutoEntitlementEnabled()){if(this.config.starfleet.useDeviceAuthLogin)return(0,n.of)(null);if(!this.config.starfleet.redirectUrlIsRelative){this.logger.info("starting http server");const[ne,ee]=this.startHttpServer(this.config.starfleet.portNumbers);return this.httpRequestSub=ee,ne.pipe((0,A.T)(b=>(this.redirectUrl=this.config.starfleet.redirectUrl.replace("{portnumber}",b.toString()),this.logger.info("Success login init"),{url:this.redirectUrl,observable:ee})))}return this.config.starfleet.redirectUrlIsRelative?(this.config.starfleet.sameTabLogin&&window.sessionStorage.setItem(this.uasKey,u.g.Started),(0,n.of)({skipSuccessRedirect:!0})):(this.logger.info("Auto entitle not implemented for android"),(0,n.of)(null))}return this.logger.info("Auto entitle disabled"),(0,n.of)(null)}onLoginFailed(W){if(this.loginInitiated&&this.isAutoEntitlementEnabled()&&(this.loginInitiated=!1,!this.config.starfleet.useDeviceAuthLogin)&&(!this.config.starfleet.redirectUrlIsRelative||this.config.starfleet.redirectUrlIsRelative&&this.config.starfleet.sameTabLogin)){const ne=new URL(this.config.starfleet.onCompleteRedirectUrl);ne.searchParams.append("error",W||"unknown"),ne.searchParams.append("ui_locales",this.localeService.getLocale()),this.tabWindow?this.tabWindow.location.href=ne.href:this.bridgeService.executeCommand(x.Ts.Common.Httpserver.SendRedirectResponse,{redirectUrl:ne.href,redirectParams:[]}).subscribe(E.l,E.l,()=>this.stopHttpServer())}}stopHttpServer(){this.logger.info("Stopping http server"),this.httpSubscription&&(this.httpSubscription.unsubscribe(),this.httpSubscription=null,this.bridgeService.executeCommand(x.Ts.Common.Httpserver.StopHttpServer).subscribe(W=>this.logger.info("success stopping httpserver",W),W=>this.logger.error("error stopping httpserver",W)),this.logger.info("Success stopping http server"))}startHttpServer(W){const ne=new O.B7,ee=new O.B7;return this.httpSubscription=this.bridgeService.executeCommand(x.Ts.Common.Httpserver.StartHttpServer,{ports:W,redirectUrl:"",redirectParams:[]}).subscribe(b=>{switch(this.logger.info("httpresponse recieved"),(0,p.get)(b,"callbackReason")){case"serverCreated":this.logger.info("http server created"),ne.next((0,p.get)(b,"portNumber")),ne.complete();break;case"httpRequest":this.logger.info("http request recieved"),ee.next((0,p.get)(b,"url"));break;case"httpRequestAborted":ee.error(_.k_.LOGIN_CANCELLED_BY_USER)}},b=>{this.logger.error("error starting httpserver",b),ne.error("HTTP_START_FAILED"),ee.error("HTTP_START_FAILED")}),[ne,ee]}isAutoEntitlementEnabled(){return this.config.featureEnablement.UASAutoEntitle}handleOffDeviceAcquisition(W,ne){if(ne.loginState===u.f.PENDING_LOGIN){const ee=new O.B7;this.httpRequestSub=ee.asObservable(),this.pollingSubscription=(0,B.Y)(this.config.uasConfig.pollingInterval).pipe((0,l.ZZ)(b=>this.uasSdk.getUserAcquisitionState(W,ne.requestId)),(0,I.p)(b=>b.loginState!==u.f.PENDING_LOGIN),(0,S.s)(1),(0,L.W)(b=>(this.logger.error("error in get acquisition state",b),this.sendTelemetry(o.fbu.UALoginFailed,this.stringOrObj(b)),(0,n.of)({loginState:u.f.NOT_LOGGED_IN,requestId:null,landingPageUrl:null})))).subscribe(b=>ee.next(b))}return(0,n.of)(ne)}handleNativeRedirect(W){var ne;return(null===(ne=W.landingPageUrl)||void 0===ne?void 0:ne.length)>0?this.bridgeService.executeCommand(x.Ts.Common.Nativeauth.initiateLogIn,{url:W.landingPageUrl}).pipe((0,S.s)(1),(0,s.u)(W)):(0,n.of)(W)}showNextPage(W,ne){if(this.config.starfleet.useDeviceAuthLogin)return this.handleOffDeviceAcquisition(W,ne);if(this.config.uasConfig.redirectUrlIsRelative)return this.redirectUserBrowser(ne);if(this.config.uasConfig.isNativeRedirect)return this.handleNativeRedirect(ne);let ee=null;return ne.loginState!==u.f.UNKNOWN&&ne.landingPageUrl?ee=new URL(ne.landingPageUrl):(ee=new URL(this.config.starfleet.onCompleteRedirectUrl),ee.searchParams.append("error","unknown")),this.logger.info("redirecting user to: ",ee.href),this.bridgeService.executeCommand(x.Ts.Common.Httpserver.SendRedirectResponse,{redirectUrl:ee.href,redirectParams:[]}).pipe((0,L.W)(b=>(0,n.of)(ne)),(0,s.u)(ne))}getRedirectResponse(){let W=null;try{W=JSON.parse(window.localStorage.getItem(this.redirectResponseKey)),this.logger.info("redirect response",W)}catch(ne){this.logger.error("failed to parse response JSON",ne)}return window.localStorage.removeItem(this.redirectResponseKey),W}validateMessageEvent(W,ne){let ee=W&&W.data;return ee=ee&&W.origin===window.location.origin&&W.data.reason===ne,!!ee}redirectUserBrowser(W){var ne;if(W.loginState===u.f.PENDING_LOGIN){var ee;if(!((null===(ee=W.landingPageUrl)||void 0===ee?void 0:ee.length)>0))return(0,P.$)("landing page url must be defined for LOGIN_PENDING");const b=this.routerService.getCurrentUrl();if(this.config.uasConfig.sameTab)return window.sessionStorage.setItem(this.redirectInputKey,JSON.stringify({returnUrl:b})),window.sessionStorage.setItem(this.uasKey,u.g.Pending),window.open(W.landingPageUrl,"_self"),k.t;this.tabWindow?this.tabWindow.location.href=W.landingPageUrl:this.tabWindow=window.open(W.landingPageUrl,"_blank"),this.httpRequestSub=(0,U.R)(window,"message").pipe((0,I.p)(w=>this.validateMessageEvent(w,"redirectCallback")),(0,A.T)(()=>this.getRedirectResponse()))}else(null===(ne=W.landingPageUrl)||void 0===ne?void 0:ne.length)>0&&(this.config.uasConfig.sameTab?window.open(W.landingPageUrl,"_self"):(this.tabWindow||(this.tabWindow=window.open("","_blank")),this.tabWindow.location.href=W.landingPageUrl));return(0,n.of)(W)}cancelAutoEntitlement(){this.sendTelemetry(o.fbu.UALoginPendingTimedOut,"cancelled or timedout"),this.loginInitiated=!1,this.pendingEntitlement=!1,this.stopHttpServer(),this.pollingSubscription&&(this.pollingSubscription.unsubscribe(),this.pollingSubscription=null)}autoEntitleUser(W,ne=!1){if(this.acquireUserLoginStateSub&&!this.acquireUserLoginStateSub.isStopped)return this.logger.info("Auto-entitlment already in progress."),this.acquireUserLoginStateSub.asObservable();if((!this.acquireUserLoginStateSub||this.acquireUserLoginStateSub.isStopped)&&(this.acquireUserLoginStateSub=new r.m(1)),this.AutoEntitleStateSub.next(u.g.Started),this.logger.info("Auto Entitle triggered"),!1===this.loginInitiated&&!1===this.pendingEntitlement)return setTimeout(()=>{this.AutoEntitleStateSub.next(u.g.LoggedIn),this.logger.warn("Auto entitle cancelled, login not initiated"),this.acquireUserLoginStateSub.next(u.f.LOGGED_IN),this.acquireUserLoginStateSub.complete()},0),this.acquireUserLoginStateSub.asObservable();if(this.loginInitiated=!1,!0!==this.isAutoEntitlementEnabled())return setTimeout(()=>{this.AutoEntitleStateSub.next(u.g.LoggedIn),this.logger.info("Auto entitlement is disabled"),this.pendingEntitlement=!1,this.acquireUserLoginStateSub.next(u.f.LOGGED_IN),this.acquireUserLoginStateSub.complete()},0),this.acquireUserLoginStateSub.asObservable();if(!W)return this.AutoEntitleStateSub.next(u.g.LoggedOut),this.logger.warn("Invalid idToken, aborting auto entitle"),this.pendingEntitlement=!1,this.showNextPage(null,{landingPageUrl:null,loginState:u.f.UNKNOWN,requestId:null}).pipe((0,M.M)(b=>{this.stopHttpServer(),this.acquireUserLoginStateSub.next(u.f.NOT_LOGGED_IN),this.acquireUserLoginStateSub.complete()})).subscribe(),this.acquireUserLoginStateSub.asObservable();this.logger.info("triggering auto entitle");let ee=null;if(this.pendingEntitlement)ee=(0,n.of)(this.getRedirectResponse()),this.pendingEntitlement=!1;else{const b=this.config.uasConfig.redirectUrlIsRelative?this.routerService.getCurrentUrl():this.config.uasConfig.homeUrl;ee=this.uasSdk.acquireUser(W,this.redirectUrl,b,this.localeService.getLocale())}return ee.pipe((0,l.ZZ)(b=>(this.logger.info("acquire user success",b),this.showNextPage(W,b))),(0,l.ZZ)(b=>{switch(b.loginState){case u.f.LOGGED_IN:return this.stopHttpServer(),this.AutoEntitleStateSub.next(u.g.LoggedIn),this.sendTelemetry(o.fbu.UALoginComplete),(0,n.of)(u.f.LOGGED_IN);case u.f.PENDING_LOGIN:return this.AutoEntitleStateSub.next(u.g.Pending),this.sendTelemetry(o.fbu.UALoginPending,`requestId: ${b.requestId}, page: ${b.landingPageUrl}`),this.logger.info("acquire user input required, pending"),this.httpRequestSub.pipe((0,S.s)(1),(0,l.ZZ)(w=>{const F=this.config.starfleet.useDeviceAuthLogin||this.config.uasConfig.redirectUrlIsRelative?w:this.handleHttpRequest(w);return this.logger.info("user input completed: ",F),this.showNextPage(W,F)}),(0,A.T)(w=>w.loginState===u.f.LOGGED_IN?(this.stopHttpServer(),this.AutoEntitleStateSub.next(u.g.LoggedIn),this.sendTelemetry(o.fbu.UALoginPendingSuccess),u.f.LOGGED_IN):(this.stopHttpServer(),this.AutoEntitleStateSub.next(u.g.LoggedOut),this.sendTelemetry(o.fbu.UALoginPendingFailure,`request id ${b.requestId}, state: ${w.loginState}`),u.f.NOT_LOGGED_IN)));default:return this.stopHttpServer(),this.AutoEntitleStateSub.next(u.g.LoggedOut),this.sendTelemetry(o.fbu.UALoginFailed,`request id ${b.requestId}, state: ${b.loginState}`),(0,n.of)(u.f.NOT_LOGGED_IN)}}),(0,L.W)(b=>(this.logger.error("acquire user failed with error:",b,null==b?void 0:b.message),401!==(null==b?void 0:b.status)||ne?(this.sendTelemetry(o.fbu.UALoginFailed,this.stringOrObj(b)),this.AutoEntitleStateSub.next(u.g.Failed),this.showNextPage(null,{landingPageUrl:null,loginState:u.f.UNKNOWN,requestId:null}).pipe((0,A.T)(w=>(this.stopHttpServer(),u.f.NOT_LOGGED_IN)))):(this.loginInitiated=!0,(0,n.of)(u.f.AUTHORIZATION_ERROR)))),(0,M.M)(b=>{this.acquireUserLoginStateSub.next(b),this.acquireUserLoginStateSub.complete()})).subscribe(),this.acquireUserLoginStateSub.asObservable()}stringOrObj(W){try{return JSON.stringify(W)}catch{return W}}sendTelemetry(W,ne){const ee=new o.BAK({clientType:this.telemetryUtilService.getClientType(),currentScreen:this.telemetryService.getScreen(),userAction:o.ay7.AutoEntitle,status:W,errorDetails:(null==ne?void 0:ne.substring(0,1023))||"",totalMs:0,errorUri:"",serverErrorCode:""});let b=(0,n.of)(!0);(W===o.fbu.UALoginComplete||W===o.fbu.UALoginPendingSuccess)&&(b=this.telemetryService.getValidUserIdResetObservable()),b.pipe((0,I.p)(w=>!0===w),(0,S.s)(1),(0,M.M)(w=>{this.telemetryService.push(ee,null,{immediateRequest:!0})})).subscribe()}}return(R=v).\u0275fac=function(W){return new(W||R)(f.KVO(J.J6),f.KVO(a.Vk),f.KVO(D.f),f.KVO(J.NZ),f.KVO(J.iH),f.KVO(te.HM),f.KVO(o.jgD),f.KVO(N.H0))},R.\u0275prov=f.jDH({token:R,factory:R.\u0275fac,providedIn:"root"}),v})()},54250:(xe,de,t)=>{"use strict";t.d(de,{H$:()=>w,AE:()=>J,Lk:()=>le,B_:()=>f});var e=t(47766),n=t(19061),E=t(85735),O=t(16229),B=t(43848),P=t(59859),k=t(31315),U=t(12532),r=t(15652),A=t(35146),l=t(65706),I=t(55833),S=t(91384),L=t(72147),s=t(53461),M=t(83915),u=t(14714),x=t(8619),p=t(75707),i=t(43615),o=t(10174),_=t(36206),f=function(ge){return ge.None="None",ge.UnsupportedOS="UnsupportedOS",ge.UnsupportedBrowser="UnsupportedBrowser",ge.PWARequired="PWARequired",ge.NativeAppOnly="NativeAppOnly",ge.UnsupportedStreaming="UnsupportedStreaming",ge}(f||{}),J=function(ge){return ge.None="None",ge.OfficiallySupported="OfficiallySupported",ge.UnofficiallySupported="UnofficiallySupported",ge.PartiallySupported="PartiallySupported",ge}(J||{}),a=t(80561),D=t(70433),te=t(18433),N=t(78893),z=t(80583),R=t(19392),v=t(4208),h=t(58527),W=t(26537),ne=t(3457),ee=t(47973),b=t(65240);let w=(()=>{var ge;class ie{constructor(G,ue){this.dialogRef=ue,this.destroy$=new z.B7,this.dismissMessageDelay=4e3,this.gfnLink=location.hostname,this.logger=G.getLogger("unsupported-browser-help.component")}onClose(){this.dialogRef.close()}onCopy(){(0,R.H)(navigator.clipboard.writeText(this.gfnLink)).pipe((0,v.Q)(this.destroy$)).subscribe(G=>{this.successMessageVisible=!0,setTimeout(()=>{this.successMessageVisible=!1},this.dismissMessageDelay)},G=>{this.logger.error(`${this.gfnLink} is copied failed, error: ${G}`)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(ge=ie).\u0275fac=function(G){return new(G||ge)(h.rXU(e.J6),h.rXU(W.CP))},ge.\u0275cmp=h.VBU({type:ge,selectors:[["gfn-pwa-setup-guidance"]],decls:30,vars:24,consts:[["fxFlex","","fxLayout","column",1,"main-container"],["fxLayout","column",1,"content-container"],["fxLayout","column","fxLayoutAlign","start start"],[1,"font-header6","color-white","prompt-header"],[1,"font-body2"],[1,"link-container","font-body2"],["fxLayoutAlign","start center",1,"gfn-link"],["mat-button","","fxLayout","row","fxLayoutAlign","end center",1,"color-white",3,"click"],[1,"success-message","font-body2"],["fxLayout","row","fxLayoutAlign","end end",1,"button-container"],["mat-button","",3,"click"]],template:function(G,ue){1&G&&(h.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),h.EFF(4),h.nI1(5,"translate"),h.k0s(),h.j41(6,"span",4),h.EFF(7),h.nI1(8,"translate"),h.k0s(),h.j41(9,"span",4),h.EFF(10),h.nI1(11,"translate"),h.k0s(),h.j41(12,"span",4),h.EFF(13),h.nI1(14,"translate"),h.k0s()(),h.j41(15,"div",5)(16,"span",6),h.EFF(17),h.k0s(),h.j41(18,"button",7),h.bIt("click",function(){return ue.onCopy()}),h.j41(19,"span"),h.EFF(20),h.nI1(21,"translate"),h.k0s()()(),h.j41(22,"span",8),h.EFF(23),h.nI1(24,"translate"),h.k0s()(),h.j41(25,"div",9)(26,"button",10),h.bIt("click",function(){return ue.onClose()}),h.j41(27,"span"),h.EFF(28),h.nI1(29,"translate"),h.k0s()()()()),2&G&&(h.R7$(4),h.JRh(h.bMT(5,10,"iosUnsupportedBrowserHelpDialog.title")),h.R7$(3),h.JRh(h.bMT(8,12,"iosUnsupportedBrowserHelpDialog.setUpStep1")),h.R7$(3),h.JRh(h.bMT(11,14,"iosUnsupportedBrowserHelpDialog.setUpStep2")),h.R7$(3),h.JRh(h.bMT(14,16,"iosUnsupportedBrowserHelpDialog.setUpStep3")),h.R7$(4),h.JRh(ue.gfnLink),h.R7$(3),h.JRh(h.bMT(21,18,"iosPWA.copy")),h.R7$(2),h.AVh("visible",ue.successMessageVisible),h.R7$(),h.JRh(h.bMT(24,20,"iosPWA.linkCopied")),h.R7$(5),h.JRh(h.bMT(29,22,"common.close")))},dependencies:[ne.DJ,ne.sA,ne.UI,ee.iV,b.D9],styles:[".main-container[_ngcontent-%COMP%]{width:560px;height:fit-content}.main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%]{margin:20px 24px 8px}.main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .prompt-header[_ngcontent-%COMP%]{margin-bottom:12px}.main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .link-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr auto;margin:16px 0 8px;border:1px solid rgba(255,255,255,.2)}.isLtr[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .link-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .link-container[_ngcontent-%COMP%]{padding-left:8px}html[dir=ltr][_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .link-container[_ngcontent-%COMP%]{--dummy1: 0;padding-left:8px}.isRtl[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .link-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .link-container[_ngcontent-%COMP%]{padding-right:8px}html[dir=rtl][_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .link-container[_ngcontent-%COMP%]{--dummy1: 0;padding-right:8px}.main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{visibility:hidden}.isLtr[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{margin:0 0 8px 8px}html[dir=ltr][_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{--dummy: 0;margin:0 0 8px 8px}.isRtl[_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{margin:0 8px 8px 0}html[dir=rtl][_ngcontent-%COMP%] .main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{--dummy: 0;margin:0 8px 8px 0}.main-container[_ngcontent-%COMP%] .content-container[_ngcontent-%COMP%] .success-message.visible[_ngcontent-%COMP%]{visibility:visible}.main-container[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{margin:0 8px 8px}"]}),ie})();var F=t(81834),Z=t(82187),se=t(18005),Y=t(61958),q=t(7703),T=t(50801),H=t(17901),y=t(78812),X=t(66974),c=t(45903),g=t(66348);const d_body_text="layout.universalUnsupportedDialogOnLoadText.bodyText",d_body_textPlatform="layout.universalUnsupportedDialogOnLoadText.bodyTextPlatform",d_body_textBrowser="layout.universalUnsupportedDialogOnLoadText.bodyTextBrowser",d_body_textGeneric="layout.universalUnsupportedDialogOnLoadText.bodyTextGeneric",d_body_textPartialSupport="layout.universalUnsupportedDialogOnLoadText.bodyTextPartialSupport",d_body_gluBodyText="layout.universalUnsupportedDialogOnLoadText.gluBodyText",d_link_unsupportedPlatform="layout.universalUnsupportedDialogText.unsupportedPlatformLinkText",d_link_unsupportedBrowser="layout.universalUnsupportedDialogText.unsupportedBrowserLinkText",d_link_unsupportedBrowserWithNativeApps="layout.universalUnsupportedDialogText.unsupportedBrowserWithNativeAppsLinkText",d_link_unsupportedPlatformOnTV="layout.universalUnsupportedDialogText.unsupportedPlatformLinkTextOnTV",d_link_unsupportedBrowserOnTV="layout.universalUnsupportedDialogText.unsupportedBrowserLinkTextOnTV",d_link_unsupportedBrowserOnIOS="common.setUpOnSafari",d_link_unsupportedBrowserWithNativeAppsOnTV="layout.universalUnsupportedDialogText.unsupportedBrowserWithNativeAppsLinkTextOnTV",d_link_nativeAppOnlyPlatform="layout.universalUnsupportedDialogText.nativeAppOnlyPlatformLinkText",d_link_pwaRequiredGuidance="layout.universalUnsupportedDialogText.pwaRequiredGuidanceLinkText",d_link_genericUnsupported="layout.universalUnsupportedDialogText.genericUnsupportedLinkText",d_link_gluNonRecommendedBrowser="layout.universalUnsupportedDialogText.gluNonRecommendedBrowserLinkText",d_link_partialSupport="layout.universalUnsupportedDialogText.safariLimitations",d_primaryButton_text="layout.universalUnsupportedDialogOnLoadText.primaryButton",d_primaryButton_continueAnywayText="common.continueAnyway",d_secondaryButton_partialSupportText="common.download",d_offDeviceLink_unsupportedBrowserWithNativeApps="offDeviceLink.unsupportedBrowserWithNativeAppsText",C={headerText:{text:"androidPermissionWebAPIUnsupportedPrompt.title"},bodyText:{text:"androidPermissionWebAPIUnsupportedPrompt.body"},primaryButton:{text:"common.gotIt",accentColor:!0}},Q={supportType:J.OfficiallySupported,supportedBrowser:!0,supportedOS:!0,nativeClientSupported:!0,pwaRequired:!1,nativeAppOnly:!1,pwaGuidance:!1,streamingSupported:!0,universalStreaming:!0},j="gluUnsupportedBrowser";let le=(()=>{var ge;class ie{constructor(G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe){this.appConfig=ue,this.systemInfoService=ae,this.dialog=Ce,this.genericDialog=Se,this.deeplinkHelperService=Ne,this.projectInterfaceService=we,this.pwaService=ve,this.redirectService=Pe,this.translateService=Oe,this.telemetryUtilService=Be,this.telemetryService=tt,this.guestModeHelperService=Ee,this.remoteConfigurationService=ot,this.focusManager=We,this.injector=Qe,this.cloudVariableHelper=Fe,this.sharedStorageService=Xe,this.tvMode=!1,this.isUnsupportedDialogClosedSubject=new E.m(1),this.openSetupGuidance=()=>{this.genericDialog.closeAll(),this.focusManager.restoreFocusAfterClosed(()=>this.dialog.open(w,{autoFocus:!0,hasBackdrop:!0,panelClass:["dialogPaddingRemove","nv-overlay-panel"]}))},this.logger=G.getLogger("gfn/browser-universal-service"),this.tvMode=!!ue.featureEnablement.tvMode,this.cachedUnsupportedBrowsersConfig$=this.fetchClientConfiguration().pipe((0,l.s)(1),(0,I.t)(1)),this._cachedUnsupportedBrowserState$=this.cachedUnsupportedBrowsersConfig$.pipe((0,S.M)(_e=>this.logger.info("Unsupported Browser Config: ",_e)),(0,L.n)(_e=>this.getUnsupportedBrowserStateInternal$(_e)),(0,S.M)(_e=>{this.logger.info(`browser / platform Unsupported State: ${_e.unsupportedState}, Supported State: ${_e.supportedState}`)}),(0,I.t)(1))}get unsupportedBrowserDialogClosedState(){return this.isUnsupportedDialogClosedSubject.asObservable()}isBcuUnsupported(G){return!(G.supportType!==J.None&&G.streamingSupported&&G.supportedBrowser&&G.supportedOS&&(!G.pwaRequired||this.pwaService.isInPWAMode()))}isGluUnsupported(G,ue){return!(G.supportType!==J.None&&G.streamingSupported&&(!G.pwaRequired||this.pwaService.isInPWAMode())||this.isGluUnblocked(ue))}isGluUnblocked(G){return G.unsupportedState===f.UnsupportedOS||G.unsupportedState===f.UnsupportedBrowser}isStreamingUnsupported(G){return G.universalStreaming?G.unsupportedState===f.UnsupportedStreaming||G.unsupportedState===f.PWARequired:G.unsupportedState!==f.None}getUnsupportedBrowserState$(G=!1){return(G?this.fetchRemoteBrowserState():(0,O.h)(this._cachedUnsupportedBrowserState$,this.fetchRemoteBrowserState())).pipe((0,s.F)(F.ab))}getUnsupportedBrowserConfig$(G=!1){return(G?this.fetchRemoteBrowserConfig():(0,O.h)(this.cachedUnsupportedBrowsersConfig$,this.fetchRemoteBrowserConfig())).pipe((0,s.F)(F.ab))}shouldDisplayPWAGuidance$(){return this.cachedUnsupportedBrowsersConfig$.pipe((0,l.s)(1),(0,L.n)(G=>G.pwaGuidance?this.getUnsupportedBrowserStateInternal$(G).pipe((0,M.T)(ue=>ue.unsupportedState===f.PWARequired)):(0,B.of)(!1)))}fetchRemoteBrowserState(){return this.fetchRemoteBrowserConfig().pipe((0,L.n)(G=>this.getUnsupportedBrowserStateInternal$(G)),(0,S.M)(G=>{this.logger.info(`browser / platform from remote fetch Unsupported State: ${G.unsupportedState}, Supported State: ${G.supportedState}`)}))}fetchRemoteBrowserConfig(){return this.remoteConfigurationService.remoteConfigFetched$.pipe((0,S.M)(G=>this.logger.info("Remote config fetch is complete")),(0,L.n)(G=>this.fetchClientConfiguration(G.config)),(0,s.F)(F.ab),(0,S.M)(G=>{this.logger.info("Unsupported Browser Config after remote config fetch: ",JSON.stringify(G))}),(0,u.W)(G=>(this.logger.error("Error fetching remote config:",G),(0,P.$)(G))))}handleUnsupportedWarningDialog(){this.oobeService=this.injector.get(a.Z),this.loginWallService=this.injector.get(D.X);const G=this.oobeService.oobeDialogClosedState.pipe((0,x.p)(ae=>ae)),ue=this.loginWallService.onLoginWallFlowCompleted$();this.deeplinkHelperService.isDeeplinkScenario()||G.pipe((0,l.s)(1),(0,p.ZZ)(ae=>this.shouldShowPermissionUnsupportedWarning$()),(0,x.p)(ae=>ae),(0,p.ZZ)(ae=>this.openPermissionWebAPIUnsupportedDialog())).subscribe(),(0,k.zV)([G,ue]).pipe((0,l.s)(1)).subscribe(ae=>this.openUnsupportedDialog())}handleStreamerUnblockedWarningDialog(G){return(0,k.zV)([this.getUnsupportedBrowserConfig$(!0),this.sharedStorageService.readBlock(j)]).pipe((0,l.s)(1),(0,L.n)(([ue,ae])=>{if(ue.universalStreaming&&this.isGluUnblocked(G)&&!ae.isDialogShownOnLoad){const Ce=this.openUnsupportedBrowserDialogOnLoad$(ue),Se=this.sharedStorageService.writeBlock(j,{isDialogShownOnLoad:!0});return Ce.pipe((0,p.ZZ)(Ne=>Se))}return ue.universalStreaming?(0,B.of)(!0):this.sharedStorageService.writeBlock(j,{isDialogShownOnLoad:!1})}),(0,l.s)(1))}openUnsupportedDialog(){this.unsupportedDialogSubscription||(this.unsupportedDialogSubscription=(0,k.zV)([this.getUnsupportedBrowserConfig$(!0),this.getUnsupportedBrowserState$(!0),this.sharedStorageService.readBlock(j)]).pipe((0,l.s)(1),(0,L.n)(([G,ue,ae])=>{let Ce=U.w;const Se=this.sharedStorageService.writeBlock(j,{isDialogShownOnLoad:!1}),Ne=this.sharedStorageService.writeBlock(j,{isDialogShownOnLoad:!0}),we=this.openUnsupportedBrowserDialogOnLoad$(G);return this.logger.info("isBcuUnsupported",this.isBcuUnsupported(G)),this.logger.info("isDeepLinkScenario",this.deeplinkHelperService.isDeeplinkScenario()),this.logger.info("gluUnblocked",this.isGluUnblocked(ue)),this.logger.info("gluUnsupported",this.isGluUnsupported(G,ue)),this.logger.info("isDialogShownOnLoad",ae.isDialogShownOnLoad),G.universalStreaming?ae.isDialogShownOnLoad||!this.isGluUnblocked(ue)||this.deeplinkHelperService.isDeeplinkScenario()?(G.supportType===J.PartiallySupported||this.isGluUnsupported(G,ue)&&!this.deeplinkHelperService.isDeeplinkScenario())&&(Ce=we):Ce=we.pipe((0,p.ZZ)(()=>Ne)):Ce=G.supportType===J.PartiallySupported||this.isBcuUnsupported(G)&&!this.deeplinkHelperService.isDeeplinkScenario()?Se.pipe((0,p.ZZ)(()=>we)):Se,Ce}),(0,l.s)(1),(0,i.j)(()=>{this.isUnsupportedDialogClosedSubject.next(!0),this.isUnsupportedDialogClosedSubject.complete()})).subscribe(()=>this.logger.info("Unsupported browser dialog is not displayed or dismissed by the user."),G=>{this.logger.error("Error displaying unsupported browser dialog",G)}))}shouldShowPermissionUnsupportedWarning$(){var G;return this.logger.info("Navigator permissions available?",!!navigator.permissions),null!==(G=this.appConfig.client)&&void 0!==G&&G.needsPermissionWebAPICheck?this.getUnsupportedBrowserConfig$(!0).pipe((0,M.T)(ue=>{if(ue.supportType===J.PartiallySupported)return!1;if(this.guestModeHelperService.isGuestAppFlow()){const Ce=this.guestModeHelperService.getGuestModeConfig()[Z.kC.IGOSettings];if(!(null!=Ce&&Ce.isMicFeatureEnabled||null!=Ce&&Ce.pasteDefaultOn))return!1}return!navigator.permissions&&!this.wasPermissionWarningShown&&!this.isBcuUnsupported(ue)})):(0,B.of)(!1)}openPermissionWebAPIUnsupportedDialog(){const G=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:C});return G.afterOpened().subscribe(ue=>this.wasPermissionWarningShown=!0),(0,r.O4)(G.primaryButtonClick.pipe((0,o.u)(!0)),G.afterClosed().pipe((0,o.u)(!1))).pipe((0,l.s)(1),(0,S.M)(ue=>{ue&&G.close()}))}getUnsupportedBrowserStateInternal$(G){var ue;const ae={supportedState:J.None,unsupportedState:f.None,universalStreaming:null!==(ue=G.universalStreaming)&&void 0!==ue&&ue};if(G.nativeAppOnly)return ae.unsupportedState=f.NativeAppOnly,(0,B.of)(ae);if(!G.universalStreaming){if(!G.supportedOS)return ae.unsupportedState=f.UnsupportedOS,(0,B.of)(ae);if(!G.supportedBrowser)return ae.unsupportedState=f.UnsupportedBrowser,(0,B.of)(ae)}if(!G.streamingSupported)return ae.unsupportedState=f.UnsupportedStreaming,(0,B.of)(ae);if(G.pwaRequired)return this.pwaService.onPWAModeChange.pipe((0,M.T)(Ce=>Ce?(ae.supportedState=G.supportType===J.OfficiallySupported?J.OfficiallySupported:J.UnofficiallySupported,ae):(ae.unsupportedState=f.PWARequired,ae)));if(G.universalStreaming){if(!G.supportedOS)return ae.unsupportedState=f.UnsupportedOS,(0,B.of)(ae);if(!G.supportedBrowser)return ae.unsupportedState=f.UnsupportedBrowser,(0,B.of)(ae)}return G.supportType===J.OfficiallySupported?ae.supportedState=J.OfficiallySupported:G.supportType===J.UnofficiallySupported?ae.supportedState=J.UnofficiallySupported:G.supportType===J.PartiallySupported&&(ae.supportedState=J.PartiallySupported),(0,B.of)(ae)}getRedirectKey(G){if(G.universalStreaming&&G.supportedState===J.None)switch(G.unsupportedState){case f.UnsupportedOS:case f.UnsupportedBrowser:return _.r7.GfnPcDownload;case f.PWARequired:case f.NativeAppOnly:case f.UnsupportedStreaming:return _.r7.GfnPcUnsupportedBrowser;default:throw new Error("should not happen!")}else if(G.universalStreaming||G.supportedState!==J.None){if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return _.r7.GfnPcSafariBrowserLearnMore;case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("should not happen!")}}else switch(G.unsupportedState){case f.UnsupportedOS:return _.r7.GfnPcUnsupportedDevice;case f.UnsupportedBrowser:case f.PWARequired:case f.NativeAppOnly:case f.UnsupportedStreaming:return _.r7.GfnPcUnsupportedBrowser;default:throw new Error("should not happen!")}}getBodyText(G){if(G.universalStreaming&&G.supportedState===J.None)switch(G.unsupportedState){case f.UnsupportedOS:case f.UnsupportedBrowser:return" ";case f.PWARequired:case f.NativeAppOnly:case f.UnsupportedStreaming:return d_body_textBrowser;default:throw new Error("should not happen!")}else if(G.universalStreaming||G.supportedState!==J.None){if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return d_body_textPartialSupport;case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("To be Implemented")}}else switch(G.unsupportedState){case f.UnsupportedOS:return d_body_textPlatform;case f.UnsupportedBrowser:case f.PWARequired:case f.NativeAppOnly:return d_body_textBrowser;case f.UnsupportedStreaming:return d_body_textGeneric;default:throw new Error("should not happen!")}}getUnsupportedHeaderText$(G){if(G.universalStreaming&&G.supportedState===J.None)switch(G.unsupportedState){case f.UnsupportedOS:case f.UnsupportedBrowser:return this.combineBodyTextTranslations$(G);case f.PWARequired:case f.NativeAppOnly:case f.UnsupportedStreaming:return(0,B.of)("layout.universalUnsupportedDialogText.unsupportedBrowserHeaderText");default:throw new Error("should not happen!")}else if(G.universalStreaming||G.supportedState!==J.None){if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return(0,B.of)("layout.universalUnsupportedDialogOnLoadText.partialSupportHeaderText");case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("should not happen!")}}else switch(G.unsupportedState){case f.UnsupportedOS:return(0,B.of)("layout.universalUnsupportedDialogText.unsupportedPlatformHeaderText");case f.UnsupportedBrowser:case f.PWARequired:case f.NativeAppOnly:return(0,B.of)("layout.universalUnsupportedDialogText.unsupportedBrowserHeaderText");case f.UnsupportedStreaming:return(0,B.of)("layout.universalUnsupportedDialogText.unsupportedGenericHeaderText");default:throw new Error("should not happen!")}}getDialogLink$(G,ue){return this.getUnsupportedBrowserConfig$(null==ue?void 0:ue.isLive).pipe((0,L.n)(ae=>this._getDialogLink$(G,ae,ue)),(0,s.F)(F.ab))}_getDialogLink$(G,ue,ae){const Ce=this.getRedirectKey(G),Se=null!=ae&&ae.anchorLink||!this.tvMode?this.getLinkText(G,ue):this.getTVModeLinkText(G,ue),Ne=G.unsupportedState===f.UnsupportedBrowser&&(null==ue?void 0:ue.pwaGuidance),we=Ce===_.r7.GfnPcUnsupportedBrowser&&null!=ue&&ue.nativeClientSupported?d_offDeviceLink_unsupportedBrowserWithNativeApps:void 0;return this.redirectService.getRedirectUrl(Ce).pipe((0,M.T)(ve=>({url:ve,text:Se,shortUrl:_.lp[Ce],shortUrlDescription:we,routerLink:this.getRouterLink(G,ue),linkClickedCallback:Ne?this.openSetupGuidance.bind(this):void 0})))}getRouterLink(G,ue){if(G.unsupportedState===f.PWARequired&&null!=ue&&ue.pwaGuidance)return{commands:N.V6.PwaWall,skipLocationChange:!1}}getGluGenericBodyText(G){return G.universalStreaming&&this.isGluUnblocked(G)?d_body_gluBodyText:d_body_text}combineBodyTextTranslations$(G){const ae=this.translateService.get(this.getGluGenericBodyText(G)),Ce=this.translateService.get(this.getBodyText(G));return G.supportedState===J.PartiallySupported?Ce:(0,A.yU)(ae,Ce).pipe((0,l.s)(1),(0,M.T)(([Se,Ne])=>`${Se}

${Ne}`))}getTranslatedBodyText$(G){return this.getUnsupportedBrowserStateInternal$(G).pipe((0,L.n)(ue=>this.combineBodyTextTranslations$(ue)))}secondaryButtonConfig(G){return this.getUnsupportedBrowserStateInternal$(G).pipe((0,L.n)(ue=>{const ae=this.getSecondaryButtonText(ue);return(0,B.of)(ae?{text:ae}:null)}))}getPrimaryButtonConfig$(G){return this.getUnsupportedBrowserStateInternal$(G).pipe((0,L.n)(ue=>(0,B.of)({text:this.getButtonText(ue),accentColor:this.getButtonConfig(ue)})))}getTranslatedHeaderText$(G){return this.getUnsupportedBrowserStateInternal$(G).pipe((0,L.n)(ue=>this.translateService.get(this.getHeaderText(ue))))}getHeaderText(G){if(G.supportedState===J.None)switch(G.unsupportedState){case f.NativeAppOnly:case f.UnsupportedOS:case f.UnsupportedBrowser:case f.PWARequired:case f.UnsupportedStreaming:return"layout.universalUnsupportedDialogOnLoadText.headerText";default:throw new Error("should not happen!")}else if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return"layout.universalUnsupportedDialogOnLoadText.partialSupportHeaderText";case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("should not happen!")}}getButtonText(G){if(G.universalStreaming&&G.supportedState===J.None)switch(G.unsupportedState){case f.UnsupportedOS:case f.UnsupportedBrowser:return d_primaryButton_continueAnywayText;case f.NativeAppOnly:case f.PWARequired:case f.UnsupportedStreaming:return d_primaryButton_text;default:throw new Error("should not happen!")}else if(G.universalStreaming||G.supportedState!==J.None){if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return d_primaryButton_continueAnywayText;case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("should not happen!")}}else switch(G.unsupportedState){case f.NativeAppOnly:case f.UnsupportedOS:case f.UnsupportedBrowser:case f.PWARequired:case f.UnsupportedStreaming:return d_primaryButton_text;default:throw new Error("should not happen!")}}getSecondaryButtonText(G){if(G.supportedState===J.None)switch(G.unsupportedState){case f.NativeAppOnly:case f.UnsupportedOS:case f.UnsupportedBrowser:case f.PWARequired:case f.UnsupportedStreaming:return"";default:throw new Error("should not happen!")}else if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return d_secondaryButton_partialSupportText;case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("should not happen!")}}getButtonConfig(G){if(G.supportedState===J.None)switch(G.unsupportedState){case f.NativeAppOnly:case f.UnsupportedOS:case f.UnsupportedBrowser:case f.PWARequired:case f.UnsupportedStreaming:return!1;default:throw new Error("should not happen!")}else if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return!0;case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("should not happen!")}}getLinkText(G,ue){if(G.universalStreaming&&G.supportedState===J.None)switch(G.unsupportedState){case f.NativeAppOnly:return d_link_nativeAppOnlyPlatform;case f.UnsupportedOS:case f.UnsupportedBrowser:return d_link_gluNonRecommendedBrowser;case f.PWARequired:return null!=ue&&ue.pwaGuidance?d_link_pwaRequiredGuidance:null!=ue&&ue.nativeClientSupported?d_link_unsupportedBrowserWithNativeApps:d_link_unsupportedBrowser;case f.UnsupportedStreaming:return d_link_unsupportedBrowserWithNativeApps;default:throw new Error("should not happen!")}else if(G.universalStreaming||G.supportedState!==J.None){if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return d_link_partialSupport;case J.OfficiallySupported:case J.UnofficiallySupported:break;default:throw new Error("should not happen!")}}else switch(G.unsupportedState){case f.NativeAppOnly:return d_link_nativeAppOnlyPlatform;case f.UnsupportedOS:return d_link_unsupportedPlatform;case f.UnsupportedBrowser:case f.PWARequired:return null!=ue&&ue.pwaGuidance?G.unsupportedState===f.UnsupportedBrowser?d_link_unsupportedBrowserOnIOS:d_link_pwaRequiredGuidance:null!=ue&&ue.nativeClientSupported?d_link_unsupportedBrowserWithNativeApps:d_link_unsupportedBrowser;case f.UnsupportedStreaming:return d_link_genericUnsupported;default:throw new Error("should not happen!")}}getTVModeLinkText(G,ue){if(!this.tvMode)throw new Error("Not in TV mode!");if(G.universalStreaming&&G.supportedState===J.None)switch(G.unsupportedState){case f.UnsupportedOS:case f.UnsupportedBrowser:return d_link_gluNonRecommendedBrowser;case f.NativeAppOnly:case f.UnsupportedStreaming:return d_link_unsupportedBrowserWithNativeApps;case f.PWARequired:return null!=ue&&ue.nativeClientSupported?d_link_unsupportedBrowserWithNativeAppsOnTV:d_link_unsupportedBrowserOnTV;default:throw new Error("should not happen!")}else if(G.universalStreaming||G.supportedState!==J.None){if(G.unsupportedState===f.None)switch(G.supportedState){case J.PartiallySupported:return d_link_partialSupport;case J.UnofficiallySupported:case J.OfficiallySupported:break;default:throw new Error("should not happen!")}}else switch(G.unsupportedState){case f.NativeAppOnly:return d_link_unsupportedBrowserWithNativeAppsOnTV;case f.UnsupportedOS:return d_link_unsupportedPlatformOnTV;case f.UnsupportedBrowser:case f.PWARequired:return null!=ue&&ue.nativeClientSupported?d_link_unsupportedBrowserWithNativeAppsOnTV:d_link_unsupportedBrowserOnTV;case f.UnsupportedStreaming:return d_link_genericUnsupported;default:throw new Error("should not happen!")}}openUnsupportedBrowserDialogOnLoad$(G){const ue=this.getUnsupportedBrowserStateInternal$(G).pipe((0,L.n)(ae=>this._getDialogLink$(ae,G)));return(0,A.yU)(this.telemetryService.getCommonDataObservable(),this.telemetryService.getDefaultClientConsentObserable()).pipe((0,l.s)(1),(0,p.ZZ)(ae=>(0,k.zV)([this.getTranslatedHeaderText$(G),this.getTranslatedBodyText$(G),this.getPrimaryButtonConfig$(G),this.secondaryButtonConfig(G),ue]).pipe((0,l.s)(1),(0,L.n)(([Ce,Se,Ne,we,ve])=>{const Pe=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:Ce,translated:!0},bodyText:{text:Se,translated:!0},link:ve,primaryButton:Ne,secondaryButton:we,autoFocusOnPrimaryButton:!1}},{preferredDialogType:n.QO.ThreeQuarterSheet});this.telemetryUtilService.sendPopUpDialogShownEvent(te.duU.Unsupported_Browser_Or_Platform_Load);const Oe=Pe.primaryButtonClick.pipe((0,S.M)(Be=>{this.telemetryUtilService.sendPopUpDialogClosedEvent(te.duU.Unsupported_Browser_Or_Platform_Load,te.HBm.Dialog_Closed),Pe.close()}));return Pe.secondaryButtonClick.subscribe(()=>{window.location.href=this.downloadNativeClientUrl}),(0,r.O4)(Oe,Pe.afterClosed())}))))}isSupportedBrowser(G,ue,ae){return this.checkSystemCompatibility(G,null!=ue?ue:ae)}checkSystemCompatibility(G,ue){return!!this.pwaService.isInPWAMode()||!!ue&&ue.supportedPlatforms.includes(G.OSName)}checkGuestModeOverrides(G,ue){return!(!this.guestModeHelperService.isGuestMode||!G)&&this.checkSystemCompatibility(ue,G)}getSupportType(G,ue,ae,Ce,Se){return ue?Se?J.PartiallySupported:ae&&this.isSupportedBrowser(G,ae)?J.OfficiallySupported:Ce&&this.isSupportedBrowser(G,Ce)?J.UnofficiallySupported:this.isSupportedBrowser(G,ae,Ce)?J.OfficiallySupported:J.None:J.None}getDefaultSupportedConfig(G){return{supportType:G?J.OfficiallySupported:J.None,supportedBrowser:!0,supportedOS:!0,nativeClientSupported:!1,pwaRequired:!1,nativeAppOnly:!1,pwaGuidance:!1,streamingSupported:G,universalStreaming:!0}}initializeNativeClientDownloadURLs(G){var ue,ae;this.downloadNativeClientUrl=G===e.t_.MacOS?null===(ue=this.appConfig)||void 0===ue||null===(ue=ue.downloadNativeClient)||void 0===ue?void 0:ue.macUrl:null===(ae=this.appConfig)||void 0===ae||null===(ae=ae.downloadNativeClient)||void 0===ae?void 0:ae.winUrl}fetchClientConfiguration(G=this.appConfig){var ue,ae;const Ce=!(null===(ue=G.featureEnablement)||void 0===ue||!ue.browserClientUniversalEnablement),Se=!(null===(ae=G.featureEnablement)||void 0===ae||!ae.gdnUniversalEnablement);return e.zk.isNativeLikePlatform()?(0,B.of)(Q):Se&&this.guestModeHelperService.isGuestAppFlow()?(0,B.of)({supportType:J.OfficiallySupported,supportedBrowser:!0,supportedOS:!0,nativeClientSupported:!1,pwaRequired:!1,nativeAppOnly:!1,pwaGuidance:!1,streamingSupported:!0,universalStreaming:!0}):(0,k.zV)([this.systemInfoService.getSystemInfo([e.Lu.OSName,e.Lu.BrowserName]),this.systemInfoService.checkStreamingSupport(),this.cloudVariableHelper.getFeatureToggle(se.Yi.GAME_LAUNCH_UNIVERSAL)]).pipe((0,M.T)(([Ne,we,ve])=>{var Pe,Oe,Be,tt,Ee;if(this.logger.info("Is streaming Supported: ",we),Ce)return this.logger.info("Browser Client Universal Flag is enabled"),this.logger.info("Streaming Supported Flag from Ragnarok: ",we),this.getDefaultSupportedConfig(we);this.initializeNativeClientDownloadURLs(Ne.OSName);const ot=G.supportedBrowsersAndPlatforms,We=null==ot?void 0:ot.officiallySupported.find(_e=>(null==_e?void 0:_e.browser)===Ne.BrowserName&&(null==_e?void 0:_e.supportedPlatforms.includes(Ne.OSName))),Qe=null==ot?void 0:ot.unofficiallySupported.find(_e=>(null==_e?void 0:_e.browser)===Ne.BrowserName&&(null==_e?void 0:_e.supportedPlatforms.includes(Ne.OSName))),Fe=null==ot?void 0:ot.partiallySupported.find(_e=>(null==_e?void 0:_e.browser)===Ne.BrowserName&&(null==_e?void 0:_e.supportedPlatforms.includes(Ne.OSName))),Xe=null==ot||null===(Pe=ot.guestModeOverrides)||void 0===Pe?void 0:Pe.find(_e=>(null==_e?void 0:_e.browser)===Ne.BrowserName&&(null==_e?void 0:_e.supportedPlatforms.includes(Ne.OSName)));return this.logger.info("Official Support Info from Config",JSON.stringify(We)),this.logger.info("Unofficial Support Info from Config",JSON.stringify(Qe)),this.logger.info("Partial Support Info from Config",JSON.stringify(Fe)),this.logger.info("Guest Mode Overrides from Config",JSON.stringify(Xe)),this.logger.info("Current System Info",JSON.stringify(Ne)),this.checkGuestModeOverrides(Xe,Ne)?(this.logger.info("Guest Mode Overrides are enabled"),this.logger.info("Streaming Supported Flag from Ragnarok: ",we),this.getDefaultSupportedConfig(we)):{supportType:this.getSupportType(Ne,we,We,Qe,Fe),supportedBrowser:this.isSupportedBrowser(Ne,We,Qe),supportedOS:null===(Oe=ot.allSupportedPlatforms)||void 0===Oe?void 0:Oe.includes(Ne.OSName),nativeClientSupported:ot.nativeClientSupportedPlatforms.includes(Ne.OSName),pwaRequired:null===(Be=ot.pwaRequiredPlatforms)||void 0===Be?void 0:Be.includes(Ne.OSName),nativeAppOnly:!(null===(tt=ot.nativeAppOnlyPlatforms)||void 0===tt||!tt.includes(Ne.OSName)),pwaGuidance:null===(Ee=ot.pwaGuideSupportedPlatforms)||void 0===Ee?void 0:Ee.includes(Ne.OSName),streamingSupported:we,universalStreaming:ve.isEnabled}}))}}return(ge=ie).\u0275fac=function(G){return new(G||ge)(h.KVO(e.J6),h.KVO(Y.Vk),h.KVO(e.zW),h.KVO(W.bZ),h.KVO(n.uh),h.KVO(q.w),h.KVO(T.qQ),h.KVO(H.SL),h.KVO(_.Q5),h.KVO(b.c$),h.KVO(te.jgD),h.KVO(y.H0),h.KVO(X.x),h.KVO(c.a),h.KVO(n.c_),h.KVO(h.zZn),h.KVO(se.r1),h.KVO(g.yQ))},ge.\u0275prov=h.jDH({token:ge,factory:ge.\u0275fac,providedIn:"root"}),ie})()},99569:(xe,de,t)=>{"use strict";t.d(de,{T:()=>o});var e=t(80583),n=t(26513),E=t(85735),O=t(31315),B=t(65706),P=t(83915),k=t(75707),U=t(47766),r=t(5715),A=t(53747),l=t(61958),I=t(37543),S=t(68868),L=t(58527),s=t(66348),M=t(82973),u=t(74150),x=t(54292),p=t(65240),i=t(65597);let o=(()=>{var _;class f{allowEarlyLayoutFetch(){this.startLayoutFetchSubject.next()}get startLayoutFetch$(){return this.startLayoutFetchSubject.asObservable()}get filterPanelToggled$(){return this.filterPanelToggled.asObservable()}get streamingTerminated$(){return this.streamingTerminated.asObservable()}get streamingBegin$(){return this.streamingBegin.asObservable()}get selectedParentId(){return this._selectedParentId}get enableGridResizing$(){return this.enableGridResizing}get gridSectionGameDetailslOpenStatus$(){return this.isGridSectionGameDetailsOpen.asObservable()}updateGridSectionGameDetailsOpenStatus(a){this.isGridSectionGameDetailsOpen.next(a)}browseStore(a){return a.pipe((0,B.s)(1),(0,P.T)(D=>(this.browseDbStore=this.dbCacheService.getOrCreateCachedGlobalItem(A.eE.DbStoreName,D.userId||U.Qe),this.logger.info("DB store initialize",A.eE.DbStoreName),this.browseDbStore)))}applyClassOnBody(a){document?document.getElementsByTagName("body")[0].classList.add(a):this.logger.error("Can not add the class, document is undefined")}showInvokeKeyboardToast(a){if(a&&this.inputModalityService.lastInputModality!==S.M.Keyboard){const N={duration:5e3,horizontalPosition:"left",panelClass:["nv-hig"]};this.snackBar.open(this.translateService.instant(a),"",N)}}updateInitialScale(){const a=window.devicePixelRatio;if(a){const D=1/a;this.meta.updateTag({content:`width=device-width, initial-scale=${D}, viewport-fit=cover, minimum-scale=${D}, maximum-scale=${D}`},"name=viewport")}else this.logger.info("Invalid devicePixelRatio. Not updating the initial scale.")}get gridViewGameDetailsGameId(){return this._gridViewGameDetailsGameId}get enableOverrideToolLink(){return this.overrideToolPath&&this.browserSupportService.isStagingOrDevDomain()&&this.pwaService.isInPWAMode()}constructor(a,D,te,N,z,R,v,h,W,ne,ee,b){var w,F,Z;this.appConfig=D,this.dbCacheService=te,this.systemInfoService=N,this.sharedStorageService=z,this.distributedTracingBootstrapService=R,this.meta=v,this.browserSupportService=h,this.translateService=W,this.inputModalityService=ne,this.snackBar=ee,this.pwaService=b,this.marqueeControl=r.O.Play,this.enableGridResizing=new e.B7,this.isGridSectionGameDetailsOpen=new n.t(!1),this.filterPanelToggled=new E.m(1),this.streamingTerminated=new e.B7,this.streamingBegin=new e.B7,this.startLayoutFetchSubject=new E.m(1),this.logger=a.getLogger("gfn/shared/browseUx"),this._selectedParentId="",this.tvMode=!(null==D||null===(w=D.featureEnablement)||void 0===w||!w.tvMode),this.overrideToolPath=null===(F=this.appConfig)||void 0===F||null===(F=F.client)||void 0===F?void 0:F.overrideToolPath,this.tvMode&&(this.applyClassOnBody("tv-view"),null!=D&&null!==(Z=D.client)&&void 0!==Z&&Z.updateInitalScale&&this.updateInitialScale())}initialize(){this.setMarqueeControlAction(r.O.Play)}getUserPreference(a,D){return this.browseStore(D).pipe((0,k.ZZ)(te=>te.sync_()),(0,P.T)(te=>te[a]))}setGridViewGameDetailsGameId(a){this._gridViewGameDetailsGameId=a}setUserPreference(a,D){return this.browseDbStore.sync_().pipe((0,k.ZZ)(()=>(this.browseDbStore[a]=D,this.browseDbStore.persist_())))}setMarqueeControlAction(a){this.marqueeControl=a}getMarqueeControlAction(){return this.marqueeControl}setSelectedParentId(a){this._selectedParentId=a}emitFilterPanelToggled(a,D){this.filterPanelToggled.next({opened:a,mode:D})}emitStreamingTerminated(){this.streamingTerminated.next()}emitStreamingBegin(){this.streamingBegin.next()}getVersionString(){return(0,O.zV)([this.systemInfoService.getSystemInfo([U.Lu.UserDefaultUILanguage,U.Lu.ProductName]),this.distributedTracingBootstrapService.fetchCountryCode()]).pipe((0,B.s)(1),(0,P.T)(([a,D])=>{if(U.zk.isAndroidPlatform())return`${(0,l.Cl)(this.appConfig)} ${D}/${a.UserDefaultUILanguage}/${a.ProductName}`;{const te=this.getClientVersionInfo();if(!te)return"";let N="",z="";return te.variant.length>0&&(N=te.variant.charAt(0)),te.type.length>0&&(z=te.type.charAt(0)),te.version+(N&&z?"/":"")+N+z+" "+D+"/"+a.UserDefaultUILanguage}}))}readLaunchMetaData(a){return this.sharedStorageService.readBlock(I.OUV.parentIdToLaunchMetaDataMap+"/"+a)}writeLaunchMetaData(a,D){return this.sharedStorageService.writeBlock(I.OUV.parentIdToLaunchMetaDataMap+"/"+a,D)}deleteLaunchMetaData(a){return this.sharedStorageService.removeBlock(I.OUV.parentIdToLaunchMetaDataMap+"/"+a)}openOverrideToolPage(){this.tvMode?location.href=this.overrideToolPath:window.open(this.overrideToolPath,"_blank")}getClientVersionInfo(){return{version:this.appConfig.build.version,variant:this.appConfig.build.variant,type:this.appConfig.build.type}}}return(_=f).\u0275fac=function(a){return new(a||_)(L.KVO(U.J6),L.KVO(l.Vk),L.KVO(U.sc),L.KVO(U.zW),L.KVO(s.yQ),L.KVO(M.h),L.KVO(u.W8),L.KVO(x.vT),L.KVO(p.c$),L.KVO(S.p),L.KVO(i.UG),L.KVO(I.SLD))},_.\u0275prov=L.jDH({token:_,factory:_.\u0275fac,providedIn:"root"}),f})()},2414:(xe,de,t)=>{"use strict";t.d(de,{q:()=>L,c:()=>u});var e=t(47766),n=t(80583),E=t(62879),O=t(33367),B=t(50778);const P={result:1},U=new Map([[0,B.u7.NCT_R_SUCCESS],[1401,B.u7.NCT_R_AUTH_FAILED],[1509,B.u7.NCT_R_CAPACITY_FULL]]);var r=t(42629),A=t(58527);let l=(()=>{var x;class p{constructor(o){this.loggingService=o}logBasedOnLevel(o){switch(o.logLevel){case"INFO":case"DEBUG":this.logger.info(o.logstr,o.timeStamp);break;case"ERROR":this.logger.error(o.logstr,o.timeStamp);break;case"WARN":this.logger.warn(o.logstr,o.timeStamp)}}sendNetworkTestLog(o){this.logger=this.loggingService.getLogger(o.logtag),this.logBasedOnLevel(o)}}return(x=p).\u0275fac=function(o){return new(o||x)(A.KVO(e.J6))},x.\u0275prov=A.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})();const I=O.Ts.Gfn.Networktest,L={provide:e.Ou,useClass:(()=>{var x;class p extends e.Un{constructor(o,_,f){super(),this.zone=o,this.networkTestLoggingService=f,this.logger=_.getLogger("network-test-plugin"),this.networkTestEvents=new n.B7,this.networkTestAnalyticsEvent=new n.B7}get handlers(){return{module:I.Start.module,commands:{[I.Start.method]:this.startNetworkTest.bind(this),[I.NetworkTestFinishedCallback.method]:this.networkTestFinishCallback.bind(this),[I.ConfigureNetworkTestSettings.method]:this.ConfigureNetworkTestSettings.bind(this),[I.RegisterCallback.method]:this.registerCallback.bind(this)}}}initializeNetworkTestApp(){if(!this.ntApp){this.logger.info("Initializing Webrtc Network Test"),this.ntApp=new E.NetworkTestApp;const o=(_,f)=>{this.ntApp.addListener(_,(...J)=>{this.zone.run(()=>{f.bind(this)(J[0])})})};o("NetworkTestCompleted",this.onNetworkTestCompleted),o("NetworkTestAnalytics",this.onNetworkTestAnalyticEvent),o("Log",this.onNetworkTestLogEvent)}}getNetworkTestAuthType(o){let _=1;switch(o){case r.t.NVB_AUTH_JWT_GFN:_=1;break;case r.t.NVB_AUTH_JWT:_=2}return _}startNetworkTest(o){let _=!0;return this.zone.runOutsideAngular(()=>{this.displayResolution=o.payload.displayResolution,this.initializeNetworkTestApp();const f={platformId:"gfn_browser_client",serverAddress:o.payload.address,networkTestProfile:[o.payload.displayResolution],authInfo:{type:this.getNetworkTestAuthType(o.payload.authType),token:o.payload.authToken}};this.logger.info("Network test params for ntwebrtc: ",f.platformId,f.serverAddress,f.networkTestProfile),this.ntApp.startNetworkTest(f)||(_=!1)}),_?this.makeResult("true"):this.makeError(500,"Network test application cannot be initialized")}networkTestFinishCallback(){return this.makePersistentResult(this.networkTestEvents.asObservable())}onNetworkTestCompleted(o){if(this.logger.info("Network test completed, result: ",o),o.error){const _={result:{result:U.get(o.error.code)||o.error.code},testResult:{networkSessionId:o.sessionId,resultCode:o.error.code,errorDetails:o.error.errorDetail,zone:o.zone}};this.networkTestEvents.next(JSON.stringify(_))}else{const f={...o.testResult,...o.testResult.networkTestThreshold,networkSessionId:o.sessionId,zone:o.zone,thresholds:[{bandwidthLimit:o.testResult.networkTestThreshold.bandwidthLimit,bandwidthRecommended:o.testResult.networkTestThreshold.bandwidthRecommended,packetLossLimit:o.testResult.networkTestThreshold.packetLossLimit,packetLossRecommended:o.testResult.networkTestThreshold.packetLossRecommended,latencyLimit:o.testResult.networkTestThreshold.latencyLimit,latencyRecommended:o.testResult.networkTestThreshold.latencyRecommended,profile:{height:this.displayResolution.height,width:this.displayResolution.width,frameRate:this.displayResolution.frameRate}}],maxPacketSize:0,maxTestBandwidthMbps:0};delete f.networkTestThreshold,this.networkTestEvents.next(JSON.stringify({result:P,testResult:f}))}}onNetworkTestLogEvent(o){this.networkTestLoggingService.sendNetworkTestLog(o)}ConfigureNetworkTestSettings(o){return this.zone.runOutsideAngular(()=>{E.ConfigureNetworkTestSettings(o.payload)}),this.makeResult("true")}onNetworkTestAnalyticEvent(o){this.logger.event("callback onAnalyticsEvent called from ntrtc with eventData, ",o),this.networkTestAnalyticsEvent.next(JSON.stringify(o))}registerCallback(o){return this.makePersistentResult(this.networkTestAnalyticsEvent.asObservable())}}return(x=p).\u0275fac=function(o){return new(o||x)(A.KVO(A.SKi),A.KVO(e.J6),A.KVO(l))},x.\u0275prov=A.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})(),multi:!0};var s=t(87687),M=t(78812);let u=(()=>{var x;class p{constructor(o,_,f){this.bridgeService=_,this.telemetryService=f,this.logger=o.getLogger("networkTestAnalyticsEventHandlerService")}initiateAnalyticsEvents(){this.bridgeService.executeCommand(O.Ts.Gfn.Networktest.RegisterCallback).subscribe(o=>{this.logger.event("Network test event",o),this.parseAndSendData(o)})}parseAndSendData(o){const _=this.getEventInformation(o);_&&_.name?this.telemetryService.push(_,null,{immediateRequest:!0}):this.logger.info("unable to parse Network Test Analytics event",o)}getEventInformation(o){return o.name===s.wfL.NetworkTest_Http_Event.name?this.prepareNetworkTestHttpEventData(o):o.name===s.wfL.NetworkTest_Exception_Event.name?this.prepareNetworkTestExceptionEventData(o):void this.logger.info("analytics event from Network Test lib not tracked",o.name)}prepareNetworkTestHttpEventData(o){return new s.e6l(Object.assign({url:o.url||"",verb:o.verb||"",statusCode:o.statusCode||"",requestStatusCode:o.requestStatusCode||"",networkSessionId:o.networkSessionId||"",requestId:o.requestId||"",serverId:o.serverId||"",callDuration:o.callDuration||0}))}prepareNetworkTestExceptionEventData(o){return new s.De(Object.assign({category:o.category||"",message:o.message||"",networkSessionId:o.networkSessionId||"",stacktrace:o.stacktrace||"",filename:o.filename||"",lineno:o.lineno||0,colno:o.colno||0,handled:o.handled,zoneAddress:o.zoneAddress||""}))}}return(x=p).\u0275fac=function(o){return new(o||x)(A.KVO(e.J6),A.KVO(e.NZ),A.KVO(M.H0))},x.\u0275prov=A.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},68415:(xe,de,t)=>{"use strict";t.d(de,{_v:()=>B,cq:()=>E,gb:()=>O,vB:()=>n});var e=t(47766);const n="UNKNOWN",E=P=>{switch(P){case"IOS":return"PHONE";case"IPADOS":return"TABLET";case"TIZEN":case"WEBOS":return"TV";case"XBOX":case"STEAMOS":return"CONSOLE";default:return"DESKTOP"}},O=P=>{switch(P){case e.t_.Android:return"ANDROID";case e.t_.ChromeOS:return"CHROMEOS";case e.t_.IOS:return"IOS";case e.t_.IPadOS:return"IPADOS";case e.t_.Linux:return"LINUX";case e.t_.MacOS:return"MACOS";case e.t_.Shield:return"SHIELD";case e.t_.SteamOS:return"STEAMOS";case e.t_.Tizen:return"TIZEN";case e.t_.WebOS:return"WEBOS";case e.t_.Windows:return"WINDOWS";case e.t_.XBox:return"XBOX";default:return"UNKNOWN"}},B=P=>{switch(P){case e.Y0.Desktop:return"DESKTOP";case e.Y0.Laptop:return"LAPTOP";case e.Y0.TV:return"TV";case e.Y0.Phone:return"PHONE";case e.Y0.Tablet:return"TABLET";case e.Y0.Console:return"CONSOLE";case e.Y0.HMD:return"HMD";default:return"DESKTOP"}}},95561:(xe,de,t)=>{"use strict";t.d(de,{y:()=>A});var e=t(47766),n=t(56237),E=t(31315),O=t(83915),B=t(55833),P=t(81834),k=t(61958),U=t(34178),r=t(58527);let A=(()=>{var l;class I{constructor(L,s){this.systemInfoService=L,this.appConfig=s}getDeviceModelHeader(L){if(e.zk.isBrowserPlatform()){var s,M,u;if(L.DeviceType!==e.Y0.TV)return null!==(M=null===(u=L.SystemName)||void 0===u?void 0:u.toUpperCase())&&void 0!==M?M:U.vB;const p=null===(s=L.CPUName)||void 0===s?void 0:s.toUpperCase();if("TIZEN"!==L.OSName)return null!=p?p:U.vB;const{year:i}=(0,P.hH)((0,P.IT)()),o=i?`${p}-${i}`:p;return null!=o?o:U.vB}let x=U.vB;return L.Model?x=L.Model:L.SystemName&&(x=L.SystemName),x}getDeviceMakeHeader(L){let s=U.vB;return L.Make?s=L.Make:L.VendorName&&(s=L.VendorName),s}getClientIdHeaderValue(L){if(!L)throw new Error(`Unrecognized client ID type (${L})`);return this.appConfig.lcars.clientId}initialize(){const L=this.systemInfoService.getDeviceOSType(),s=(0,n.T)(e.zk.isBrowserLikePlatform,this.systemInfoService.getClientHeadersInfo(),this.systemInfoService.getSystemInfo([e.Lu.OSName,e.Lu.Platform,e.Lu.VendorName,e.Lu.SystemName]));this.commonHeaders$=(0,E.zV)([L,s]).pipe((0,O.T)(([M,u])=>{const x={};if(e.zk.isBrowserPlatform())x["NV-Device-Type"]=u.DeviceType,x["NV-Device-OS"]=u.OSName,x["NV-Client-Type"]="BROWSER",x["NV-Client-Streamer"]="WEBRTC",x["NV-Browser-Type"]=u.BrowserName;else{const p=(0,U.gb)(M);x["NV-Device-Type"]=u.DeviceType?(0,U._v)(u.DeviceType):(0,U.cq)(p),x["NV-Device-OS"]=p,x["NV-Client-Type"]="NATIVE",x["NV-Client-Streamer"]="NVIDIA-CLASSIC"}return x["NV-Device-Model"]=this.getDeviceModelHeader(u),x["NV-Device-Make"]=this.getDeviceMakeHeader(u),x["NV-Client-Version"]=(0,k.Cl)(this.appConfig),x}),(0,B.t)(1))}getCommonHeaders(L){return this.commonHeaders$||this.initialize(),this.commonHeaders$.pipe((0,O.T)(s=>({...s})),(0,O.T)(s=>(null!=L&&L.withClientId&&(s["NV-Client-ID"]=this.getClientIdHeaderValue(L.withClientId)),s)))}}return(l=I).\u0275fac=function(L){return new(L||l)(r.KVO(e.zW),r.KVO(k.Vk))},l.\u0275prov=r.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),I})()},34178:(xe,de,t)=>{"use strict";t.d(de,{_v:()=>n._v,cq:()=>n.cq,gb:()=>n.gb,vB:()=>n.vB,y1:()=>e.y});var e=t(95561),n=t(68415)},18005:(xe,de,t)=>{"use strict";t.d(de,{r1:()=>I,Yi:()=>B});var e=t(26814),n=t(43848),E=t(83915),O=t(14714),B=function(S){return S.CLIPBOARD_PASTE_FEATURE_CONFIG="clipboardPasteFeatureConfig",S.BACKGROUND_WEBRTC_NETWORK_TEST="webRtcNetworkTestV2",S.ENABLE_BROWSER_IGSS="enableBrowserIGSS",S.GAME_LAUNCH_UNIVERSAL="gameLaunchUniversal",S.STEAMOS_NATIVE_DOWNLOAD="steamosNativeDownload",S}(B||{});const P=new Map([[B.CLIPBOARD_PASTE_FEATURE_CONFIG,{defaultValue:{isEnabled:!1,maxPasteBuffer:65536},subUseCaseName:e.Id.GxTargetGetClipboardPasteConfig,mapperFn:S=>S.value}],[B.ENABLE_BROWSER_IGSS,{defaultValue:!1,subUseCaseName:e.Id.GxTargetGetEnableBrowserIGSS,mapperFn:S=>S.value[B.ENABLE_BROWSER_IGSS]}],[B.BACKGROUND_WEBRTC_NETWORK_TEST,{defaultValue:{value:{enabled:!1,supportedZonesList:[],showUI:!1}},subUseCaseName:e.Id.Other,mapperFn:S=>S}],[B.GAME_LAUNCH_UNIVERSAL,{defaultValue:{isEnabled:!0},subUseCaseName:e.Id.GxTargetGetGameLaunchUniversalConfig,mapperFn:S=>S.value}],[B.STEAMOS_NATIVE_DOWNLOAD,{defaultValue:{isEnabled:!1},subUseCaseName:e.Id.Other,mapperFn:S=>{var L;return null===(L=S.value)||void 0===L?void 0:L.isEnabled}}]]),k=new Map([[B.BACKGROUND_WEBRTC_NETWORK_TEST,"webRtcNetworkTestV2"]]);var U=t(58527),r=t(47766),A=t(61958),l=t(37543);let I=(()=>{var S;class L{constructor(M,u,x,p){this.loggingService=M,this.experienceControlService=u,this.configuration=x,this.idmService=p,this.fetchedFeatureToggleValueMap=new Map,this.logger=this.loggingService.getLogger("CloudVariableHelperService"),this.idmService.accountStatusChanged.subscribe(()=>{var i;return null===(i=this.fetchedFeatureToggleValueMap)||void 0===i?void 0:i.clear()})}getFeatureToggle(M,u={}){return u.configCheckEnabled&&!this.configuration.featureEnablement[u.useDifferentConfigAttributeName?k.get(M):M]?(this.logger.info("Feature disabled in config, returning default value"),(0,n.of)(P.get(M).defaultValue)):this.fetchedFeatureToggleValueMap.has(M)?(0,n.of)(this.fetchedFeatureToggleValueMap.get(M)):this.fetchFeatureToggle(M,u)}fetchFeatureToggle(M,u={}){var x,p;return this.experienceControlService.getCloudVariable(this.configuration.gxTarget.experiences[M],{variant:null!==(x=u.buildVariant)&&void 0!==x?x:null},{useCache:null===(p=u.useCache)||void 0===p||p,useNetworkTimeoutForCacheFallback:!0},e.Ky.GxTargetGetCloudVariable,P.get(M).subUseCaseName,void 0,u.bypassClientRequestParamCheckForCache).pipe((0,E.T)(i=>{const o=P.get(M).mapperFn(i);return this.fetchedFeatureToggleValueMap.set(M,o),o}),(0,O.W)(i=>{this.logger.error(`Error while fetching feature toggle ${M}:`,i);const o=P.get(M).defaultValue;return(0,n.of)(o)}))}}return(S=L).\u0275fac=function(M){return new(M||S)(U.KVO(r.J6),U.KVO(e.BW),U.KVO(A.Vk),U.KVO(l.k_2))},S.\u0275prov=U.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},90116:(xe,de,t)=>{"use strict";t.d(de,{$9:()=>x,wi:()=>s,mc:()=>S,ms:()=>M,Ql:()=>u,yL:()=>J,Cg:()=>i,h5:()=>p,C3:()=>o,ZZ:()=>f,ST:()=>_});var e=t(47766),n=t(37543),E=t(43848),O=t(31315),B=t(65706),P=t(8619),k=t(75707),U=t(83915),r=t(58527),A=t(66348),l=t(35077),I=t(19061);let S=(()=>{var a;class D{constructor(N,z,R,v,h,W,ne,ee,b,w,F,Z){this.systemInfoService=z,this.pwaService=R,this.pwaPromptService=v,this.appleScreenService=h,this.appConfig=W,this.sharedStorageService=ne,this.dialogService=ee,this.bannerNotificationService=b,this.localeService=w,this.offDeviceLinkService=F,this.cloudVariableHelperService=Z,this.logger=N.getLogger("gfn/shared/common-banner-notification"),this.isAppStoreLinkEnabled=!!this.appConfig.client.enableAppStoreLink}initialize(){this.systemInfoService.getDeviceOSType().pipe((0,B.s)(1)).subscribe(N=>{const z=N===e.t_.Linux,R=N===e.t_.ChromeOS;this.shouldShowClientDownload(N)||this.isAppStoreLinkEnabled?this.checkClientDownloadAndAddBanner(N):this.shouldShowPwaInstall(R,z)&&this.checkPwaInstallAndAddBanner()}),this.checkForPwaUpdateAndAddBanner()}shouldShowClientDownload(N){if(!e.zk.isBrowserPlatform())return!1;if(N===e.t_.SteamOS||N===e.t_.Windows)return!0;const v=N===e.t_.MacOS,h=e.zk.isTouchPlatform();return v&&!h}checkClientDownloadAndAddBanner(N){let z=(0,E.of)(!0);N===e.t_.SteamOS&&(z=this.cloudVariableHelperService.getFeatureToggle(n.Yi6.STEAMOS_NATIVE_DOWNLOAD)),z.pipe((0,P.p)(R=>R),(0,k.ZZ)(R=>this.sharedStorageService.readBlock(n.wiu))).subscribe(R=>{if(!R.appVersion||(0,n.ZZv)(R.appVersion,this.appConfig.build.version)||!R.isPromptDismissed){this.logger.info("Showing download client prompt");const v=this.isAppStoreLinkEnabled?n.Cg6:n.h5R;v.onSecondaryButtonClick=()=>this.persistPromptState(n.wiu),v.onPrimaryButtonClick=this.onClickDownload.bind(this),this.bannerNotificationService.addNotificationToQueue(v)}})}onClickDownload(){if(this.persistPromptState(n.wiu),this.isAppStoreLinkEnabled){var N;this.offDeviceLinkService.open(null===(N=this.appConfig.client)||void 0===N?void 0:N.appStoreLink)}else{const z=this.appConfig.redirect.serverUrl,R=n.r7g.GfnPcDownload;this.localeService.localeChanged.pipe((0,B.s)(1)).subscribe(v=>{this.offDeviceLinkService.open(`${z}${v}&page=${R}`,{shortUrl:n.lph[n.r7g.GfnPcDownload]})})}}shouldShowPwaInstall(N,z){return N||z}checkPwaInstallAndAddBanner(){(0,O.zV)([this.sharedStorageService.readBlock(n.msD),this.pwaService.onPWAModeChange,this.pwaPromptService.pwaInstallPromptCaptured$]).pipe((0,U.T)(([N,z,R])=>{if(this.logger.info("PWA Prompt: Emitted values:",N,z),N.appVersion&&!(0,n.ZZv)(N.appVersion,this.appConfig.build.version)&&N.isPromptDismissed||z)this.logger.info("Removing PWA installation prompt"),this.bannerNotificationService.removeNotificationFromQueue(n.$94.InstallPWA);else{const v=n.C3T;v.onSecondaryButtonClick=()=>this.persistPromptState(n.msD),v.onPrimaryButtonClick=this.onClickInstallPwa.bind(this),this.logger.info("Showing PWA installation prompt"),this.bannerNotificationService.addNotificationToQueue(v)}})).subscribe()}onClickInstallPwa(){this.persistPromptState(n.msD),this.pwaPromptService.promptFromDeferredEvent()}checkForPwaUpdateAndAddBanner(){var N;null!==(N=this.appConfig)&&void 0!==N&&null!==(N=N.featureEnablement)&&void 0!==N&&N.enableAppleTranslucentStatusBar&&(0,O.zV)([this.sharedStorageService.readBlock(n.Ql7),this.pwaService.onPWAModeChange,this.appleScreenService.isDeprecated()]).pipe((0,U.T)(([z,R,v])=>{if(this.logger.info("PWA Prompt: Emitted values:",z,R),!v||!R||z.appVersion&&!(0,n.ZZv)(z.appVersion,this.appConfig.build.version)&&z.isPromptDismissed)this.logger.info("Removing PWA Update prompt"),this.bannerNotificationService.removeNotificationFromQueue(n.$94.UpdatePWA);else{this.logger.info("Showing PWA Update prompt");const h=n.STY;h.onSecondaryButtonClick=()=>this.persistPromptState(n.Ql7),h.onPrimaryButtonClick=this.onClickUpdatePWA.bind(this),this.bannerNotificationService.addNotificationToQueue(h)}})).subscribe()}onClickUpdatePWA(){this.dialogService.openPwaSetupGuidanceDialog()}persistPromptState(N){this.sharedStorageService.writeBlock(N,{appVersion:this.appConfig.build.version,isPromptDismissed:!0}).pipe((0,B.s)(1)).subscribe()}}return(a=D).\u0275fac=function(N){return new(N||a)(r.KVO(e.J6),r.KVO(e.zW),r.KVO(n.SLD),r.KVO(n.eEz),r.KVO(n.GRF),r.KVO(n.Vk6),r.KVO(A.yQ),r.KVO(n.o3x),r.KVO(l.Hm),r.KVO(e.iH),r.KVO(I.nO),r.KVO(n.r1C))},a.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),D})();const L=864e5,s="clientDownloadStatus",M="installPWAStatus",u="updatePWAStatus";var x=function(a){return a[a.UnSupportedOS=0]="UnSupportedOS",a[a.OperationalMessaging=1]="OperationalMessaging",a[a.CriticalUpdate=2]="CriticalUpdate",a[a.RequiredUpdate=3]="RequiredUpdate",a[a.RecommendedUpdate=4]="RecommendedUpdate",a[a.DayPassExpired=5]="DayPassExpired",a[a.DayPassNearingExpiry=6]="DayPassNearingExpiry",a[a.TimeCappedLimitedState=7]="TimeCappedLimitedState",a[a.TimeCappedLowState=8]="TimeCappedLowState",a[a.AccountLinkingExpired=9]="AccountLinkingExpired",a[a.NewSyncFeature=10]="NewSyncFeature",a[a.UsabilityStudy=11]="UsabilityStudy",a[a.Survey=12]="Survey",a[a.DownloadNativeClient=13]="DownloadNativeClient",a[a.InstallPWA=14]="InstallPWA",a[a.BrowserPushNotification=15]="BrowserPushNotification",a[a.UpdatePWA=16]="UpdatePWA",a}(x||{});const p={notificationType:x.DownloadNativeClient,icon:"get_app",messageStr:{key:"notification.downloadGfnApp"},secondaryButtonText:"common.notNow",primaryButtonText:"common.download"},i={...p,messageStr:{key:"notification.useGfnApp"},primaryButtonText:"common.get"},o={notificationType:x.InstallPWA,icon:"add_circle_outline",messageStr:{key:"notification.installPwaMessage"},secondaryButtonText:"common.notNow",primaryButtonText:"notification.install"},_={notificationType:x.UpdatePWA,icon:"info",messageStr:{key:"notification.updatePWAMessage"},secondaryButtonText:"common.notNow",primaryButtonText:"notification.update"};function f(a,D){return!a||Number(a.split(".")[2])D}},43354:(xe,de,t)=>{"use strict";t.d(de,{C:()=>e,V:()=>n});var e=function(E){return E.Default="default",E.Row="row",E}(e||{});class n{}},61958:(xe,de,t)=>{"use strict";t.d(de,{Vk:()=>e.V,fh:()=>te,C$:()=>e.C,Cl:()=>N.C});var e=t(43354),n=t(58527),E=t(83915),O=t(72147),B=t(75707),P=t(91384),k=t(14714),U=t(29567),r=t(66348),A=t(47766),l=t(56237),I=t(93181),S=t(43848),L=t(31315),s=t(45903),M=t(9544),u=t(33367),x=t(26875);const p="overrides",f="prevOverrides";function a(z,R,v){return v&&0!==Object.keys(v).length?z.writeBlock(R,v,!0):z.removeBlock(R)}const te=[{provide:n.hnV,useFactory:function J(z,R,v,h,W,ne){return()=>(0,l.T)(A.zk.isAndroidPlatform,(0,I.p)({overrideConfigs:ne.executeCommand(u.Ts.Common.Overrides.getConfig).pipe((0,E.T)(ee=>ee)),prevOverrides:R.readBlock(f)}).pipe((0,O.n)(({overrideConfigs:ee,prevOverrides:b})=>{let w=(0,S.of)(!0);return x.isEqual(b,ee)||(w=(0,L.zV)([a(R,p,ee.overrides),a(R,"session",ee.session),a(R,"presets",ee.presets),a(R,"networkConfig",ee.networkConfig),a(R,f,ee)]).pipe((0,E.T)(([F,Z,se,Y,q])=>F&&Z&&se&&Y&&q))),w})),(0,S.of)(!0)).pipe((0,B.ZZ)(()=>R.readBlock(p)),(0,P.M)(ee=>{z.setOverrides(ee)}),(0,B.ZZ)(()=>v.getRemoteConfigOnLaunch()),(0,P.M)(()=>h.initialize()),(0,k.W)(ee=>(W.getLogger("shared/configuration.provider").error("Failed to fetch overrides",ee),(0,S.of)(!0)))).toPromise()},multi:!0,deps:[U.oO,r.yQ,s.a,M.t,A.J6,A.NZ]},(0,U.XR)(e.V)];var N=t(70710)},70710:(xe,de,t)=>{"use strict";function e(n){var E;return(null===(E=n.product)||void 0===E?void 0:E.version)||n.build.version}t.d(de,{C:()=>e})},15074:(xe,de,t)=>{"use strict";t.d(de,{Io:()=>l,Lu:()=>s,Mm:()=>B,NG:()=>P,OU:()=>S,Oj:()=>I,b2:()=>A,d4:()=>E,jY:()=>L,ni:()=>e,nw:()=>r,o:()=>k,x5:()=>M});const e={NETWORK_TROUBLESHOOT:"gfn_pc_net_help",GFN_PC_INFO:"gfn_pc_info",GFN_PC_HELP:"gfn_pc_help",TERMS_CONDITIONS:"gfn_pc_terms_of_use",ACCOUNT_TERMS:"nvidia_account_tos",OSS_LICENSES:"gfn_pc_oss",PRIVACY_POLICY:"privacy_policy",ACCOUNT_MANAGEMENT:"nvidia_account_management",ACCOUNT_MANAGEMENT_SSO:"nvidia_account_management_default",GFN_MEMBERSHIP_MANAGEMENT:"nvidia_account_management_gfn",SYS_REQUIREMENTS:"gfn_pc_sys_req",UDP_BUFFER_TIPS:"gfn_pc_net_help_udp_socket",GFN_PC_UNSUPPORTED_REGION:"gfn_pc_unsupported_region",GFN_PC_NET_HELP_FIREWALL:"gfn_pc_net_help_firewall",GFN_PC_NET_HELP_WIFI:"gfn_pc_net_help_wifi",GFN_PC_HELP_UPDATE:"gfn_pc_help_update",GFN_PC_HELP_MISSING_DECODER:"gfn_pc_help_missing_decoder",GFN_PC_MEMBERSHIP_JOIN:"gfn_pc_membership",GFN_SERVER_STATUS:"gfn_service_status",GFN_PC_REDEEM_ACTIVATION_CODE:"gfn_pc_redeem_activation_code",GFN_PC_ACCOUNT_NOT_ACTIVATED:"gfn_pc_account_not_activated",GFN_PC_WAITLIST:"gfn_pc_waitlist",DISCORD_TERMS:"discord_terms_of_service",GFN_PC_MEMBERSHIP_UPGRADE:"gfn_pc_membership_upgrade",GFN_PC_MEMBERSHIP_DAYPASS:"gfn_pc_membership_daypass",GFN_PC_CHECKOUT_DAYPASS:"gfn_pc_checkout_daypass",COOKIE_POLICY:"nvidia_cookie_policy",GFN_PC_KEYBOARD_TROUBLESHOOTING:"gfn_pc_keyboard_troubleshooting",STEAM_ACCOUNT_SETTINGS:"steam_account_settings",GFN_PC_REDEEM_MULTI_AFFILIATE:"gfn_pc_redeem_multi_affiliate",GFN_PC_DOWNLOAD:"gfn_pc_download",GFN_PC_RECOMMENDED_GAMEPADS:"gfn_pc_recommended_gamepads",GFN_PC_FAQ_IOS:"gfn_pc_faq_ios",EPIC_ACCOUNT_SETTINGS:"epic_account_settings",GFN_PC_HELP_KEYBOARD_GAMES_UNAVAILABLE:"gfn_pc_help_keyboard_games_unavailable",GFN_PC_BROWSER_PUSH_NOTIFICATION:"gfn_pc_help_browser_push_notification",GFN_PC_HELP_PASTE:"gfn_pc_help_paste",GFN_PC_HELP_CONNECTIONS:"gfn_pc_help_connections"};var E=function(u){return u.US="US",u}(E||{});const B="GeForce NOW";var P=function(u){return u.Default="Default",u.GamepadFriendly="GamepadFriendly",u.TouchFriendly="TouchFriendly",u}(P||{}),k=function(u){return u.Join="Join",u.Close="Close",u.Login="Login",u}(k||{}),r=function(u){return u.Continue="Continue",u.Cancel="Cancel",u}(r||{}),A=function(u){return u.RelaunchNow="RelaunchNow",u.Cancel="Cancel",u}(A||{}),l=function(u){return u.Cancel="Cancel",u}(l||{});const I={RigReadyAndStreamerIdleTimeout:{type:"RIG_READY_AND_STREAMER_IDLE_TIMEOUT",src:"./assets/audio/rig_ready_streamer_timeout.m4a"}};var S=function(u){return u.cmsIdToMetadataMap="cmsIdToMetadataMap",u.parentIdToLaunchMetaDataMap="parentIdToLaunchMetaDataMap",u}(S||{});const L={width:470,height:264},s="auto-",M={persistToJSONKeys:["appSettingsConfig","gfnTelemetry","networkConfig","oobe","starfleetSession","streamingSessionId","userConsentInfo","remoteOverrides","overrides","presets","session","gfnMicState"]}},50778:(xe,de,t)=>{"use strict";t.d(de,{Mm:()=>e.Mm,ni:()=>e.ni,d4:()=>e.d4,WI:()=>E,EJ:()=>O,jY:()=>e.jY,Oj:()=>e.Oj,o:()=>e.o,NG:()=>e.NG,u7:()=>n.u,tS:()=>n.t,Lu:()=>e.Lu,x5:()=>e.x5,OU:()=>e.OU,Io:()=>e.Io,nw:()=>e.nw,b2:()=>e.b2});var e=t(15074),n=t(42629);const E="en_US",O=new Map([["en_US","English (United States)"],["en_GB","English (United Kingdom)"],["pt_BR","Portuguese (Brazil)"],["es_ES","Spanish (Spain)"],["fr_FR","French (France)"],["ru_RU","Russian (Russia)"],["es_MX","Spanish (Mexico)"],["es_US","Spanish (United States)"],["de_DE","German (Germany)"],["pl_PL","Polish (Poland)"],["tr_TR","Turkish (T\xfcrkiye)"],["es_419","Spanish (Latin America)"],["it_IT","Italian (Italy)"],["vi_VN","Vietnamese (Vietnam)"],["ko_KR","Korean (South Korea)"],["nl_NL","Dutch (Netherlands)"],["uk_UA","Ukrainian (Ukraine)"],["cs_CZ","Czech (Czechia)"],["ru","Russian"],["en_CA","English (Canada)"],["ja","Japanese"],["en_AU","English (Australia)"],["hu_HU","Hungarian (Hungary)"],["zh_TW","Chinese (Traditional)"],["sv_SE","Swedish (Sweden)"],["in_ID","Indonesian (Indonesia)"],["pt_PT","Portuguese (Portugal)"],["es","Spanish"],["ro_RO","Romanian (Romania)"],["fr","French"],["ja_JP","Japanese (Japan)"],["en","English"],["zh_CN","Chinese (Simplified)"],["ar","Arabic"],["de","German"],["pl","Polish"],["en_IN","English (India)"],["th_TH","Thai (Thailand)"],["fr_CA","French (Canada)"],["da_DK","Danish (Denmark)"],["ca_ES","Catalan (Spain)"],["sk_SK","Slovak (Slovakia)"],["nl","Dutch"],["el_GR","Greek (Greece)"],["es_AR","Spanish (Argentina)"],["ar_EG","Arabic (Egypt)"],["fi_FI","Finnish (Finland)"],["nb_NO","Norwegian Bokm\xe5l (Norway)"],["sv","Swedish"],["vi","Vietnamese"],["cs","Czech"],["id_ID","Indonesian (Indonesia)"],["ar_SA","Arabic (Saudi Arabia)"],["en_NZ","English (New Zealand)"],["ru_UA","Russian (Ukraine)"],["ko","Korean"],["bg_BG","Bulgarian (Bulgaria)"],["it","Italian"],["en_ZA","English (South Africa)"],["en_PH","English (Philippines)"],["tr","Turkish"],["uk","Ukrainian"],["he_IL","Hebrew (Israel)"],["ar_AE","Arabic (United Arab Emirates)"],["sr_RS","Serbian (Serbia)"],["es_CL","Spanish (Chile)"],["hu","Hungarian"],["hr_HR","Croatian (Croatia)"],["en_DE","English (Germany)"],["es_CO","Spanish (Colombia)"],["ca","Catalan"],["fr_BE","French (Belgium)"],["nl_BE","Dutch (Belgium)"],["es_DO","Spanish (Dominican Republic)"],["de_AT","German (Austria)"],["en_MY","English (Malaysia)"],["fa_IR","Persian (Iran)"],["ms_MY","Malay (Malaysia)"],["lv_LV","Latvian (Latvia)"],["en_NL","English (Netherlands)"],["en_TR","English (T\xfcrkiye)"],["en_SG","English (Singapore)"],["zh_HK","Chinese (Hong Kong SAR China)"],["ru_KZ","Russian (Kazakhstan)"],["es_SV","Spanish (El Salvador)"],["es_VE","Spanish (Venezuela)"],["en_IE","English (Ireland)"],["ar_MA","Arabic (Morocco)"],["es_HN","Spanish (Honduras)"],["lt_LT","Lithuanian (Lithuania)"],["de_CH","German (Switzerland)"],["fi","Finnish"],["ro","Romanian"],["az_AZ","Azerbaijani (Azerbaijan)"],["es_GT","Spanish (Guatemala)"],["iw_IL","Hebrew (Israel)"],["da","Danish"],["en_PL","English (Poland)"],["es_PE","Spanish (Peru)"],["sk","Slovak"],["nb","Norwegian Bokm\xe5l"],["en_RO","English (Romania)"],["lt","Lithuanian"],["en_SE","English (Sweden)"],["ar_IQ","Arabic (Iraq)"],["ru_BY","Russian (Belarus)"],["en_FR","English (France)"],["sl_SI","Slovenian (Slovenia)"],["ar_DZ","Arabic (Algeria)"],["et_EE","Estonian (Estonia)"],["en_MX","English (Mexico)"],["en_UA","English (Ukraine)"],["fr_MA","French (Morocco)"],["ka_GE","Georgian (Georgia)"],["fr_CH","French (Switzerland)"],["id","Indonesian"],["el","Greek"],["en_ID","English (Indonesia)"],["bs_BA","Bosnian (Bosnia & Herzegovina)"],["es_EC","Spanish (Ecuador)"],["iw","Hebrew"],["en_BE","English (Belgium)"],["en_IT","English (Italy)"],["en_CH","English (Switzerland)"],["uz_UZ","Uzbek (Uzbekistan)"],["en_RU","English (Russia)"],["en_ES","English (Spain)"],["ar_JO","Arabic (Jordan)"],["en_TH","English (Thailand)"],["en_FI","English (Finland)"],["mk_MK","Macedonian (North Macedonia)"],["en_GB_oxendict","English (United Kingdom, Oxford English Dictionary spelling)"],["pt","Portuguese"],["en_IL","English (Israel)"],["en_DK","English (Denmark)"],["en_CZ","English (Czechia)"],["en_PK","English (Pakistan)"],["es_UY","Spanish (Uruguay)"],["sr_Latn_RS","Serbian (Latin, Serbia)"],["es_CR","Spanish (Costa Rica)"],["en_BR","English (Brazil)"],["en_NO","English (Norway)"],["en_AT","English (Austria)"],["en_PT","English (Portugal)"],["en_HK","English (Hong Kong SAR China)"],["fr_DZ","French (Algeria)"],["en_VN","English (Vietnam)"],["en_MA","English (Morocco)"],["bg","Bulgarian"],["en_JP","English (Japan)"],["km_KH","Khmer (Cambodia)"],["sq_AL","Albanian (Albania)"],["he","Hebrew"],["en_CN","English (China)"],["th","Thai"],["ru_MD","Russian (Moldova)"],["en_RS","English (Serbia)"],["en_HU","English (Hungary)"],["ru_US","Russian (United States)"],["ru_PL","Russian (Poland)"],["en_JM","English (Jamaica)"],["zh_Hans_US","Chinese (Simplified, United States)"],["fr_TN","French (Tunisia)"],["en_AE","English (United Arab Emirates)"],["ar_OM","Arabic (Oman)"],["lv","Latvian"],["en_EG","English (Egypt)"],["en_GR","English (Greece)"],["en_SA","English (Saudi Arabia)"],["en_BG","English (Bulgaria)"],["en_MM","English (Myanmar [Burma])"],["es_PY","Spanish (Paraguay)"],["en_TW","English (Taiwan)"],["en_LT","English (Lithuania)"],["en_KR","English (South Korea)"],["ro_MD","Romanian (Moldova)"],["hr","Croatian"],["zh_Hant_HK","Chinese (Traditional, Hong Kong SAR China)"],["eu","Basque"],["en_BD","English (Bangladesh)"],["es_PA","Spanish (Panama)"],["es_BO","Spanish (Bolivia)"],["ar_TN","Arabic (Tunisia)"],["ru_DE","Russian (Germany)"],["ar_LY","Arabic (Libya)"],["en_DZ","English (Algeria)"],["en_EE","English (Estonia)"],["en_SK","English (Slovakia)"],["en_TT","English (Trinidad & Tobago)"],["my_MM","Burmese (Myanmar [Burma])"],["en_GE","English (Georgia)"],["en_IQ","English (Iraq)"],["en_AS","English (American Samoa)"],["sq","Albanian"],["en_LV","English (Latvia)"],["nn_NO","Norwegian Nynorsk (Norway)"],["en_SI","English (Slovenia)"],["ar_SY","Arabic (Syria)"],["sr","Serbian"],["en_AM","English (Armenia)"],["ar_US","Arabic (United States)"],["es_SG","Spanish (Singapore)"],["et","Estonian"],["sl","Slovenian"],["ar_BH","Arabic (Bahrain)"],["en_HR","English (Croatia)"],["zh_Hans_CA","Chinese (Simplified, Canada)"],["fa","Persian"],["ka","Georgian"],["ru_AM","Russian (Armenia)"],["fr_CI","French (C\xf4te d\u2019Ivoire)"],["ru_GB","Russian (United Kingdom)"],["en_TN","English (Tunisia)"],["zh_MY","Chinese (Malaysia)"],["en_KH","English (Cambodia)"],["en_CL","English (Chile)"],["en_KZ","English (Kazakhstan)"],["uk_PL","Ukrainian (Poland)"],["ru_UZ","Russian (Uzbekistan)"],["uz","Uzbek"],["km","Khmer"],["en_CY","English (Cyprus)"],["it_CH","Italian (Switzerland)"],["en_AR","English (Argentina)"],["es_CU","Spanish (Cuba)"],["fr_US","French (United States)"],["hi_IN","Hindi (India)"],["zh","Chinese"],["en_DO","English (Dominican Republic)"],["es_NI","Spanish (Nicaragua)"],["ar_YE","Arabic (Yemen)"],["en_AF","English (Afghanistan)"],["en_AZ","English (Azerbaijan)"],["en_IR","English (Iran)"],["en_NP","English (Nepal)"],["pt_AO","Portuguese (Angola)"],["fr_GP","French (Guadeloupe)"],["en_MK","English (North Macedonia)"],["en_NG","English (Nigeria)"],["en_JO","English (Jordan)"],["es_BR","Spanish (Brazil)"],["bs_Latn_BA","Bosnian (Latin, Bosnia & Herzegovina)"],["en_PR","English (Puerto Rico)"],["es_LA","Spanish (Laos)"],["en_CO","English (Colombia)"],["ru_TR","Russian (T\xfcrkiye)"],["en_OM","English (Oman)"],["ru_GE","Russian (Georgia)"],["pl_GB","Polish (United Kingdom)"],["tr_AZ","Turkish (Azerbaijan)"],["vi_US","Vietnamese (United States)"],["en_BS","English (Bahamas)"],["es_PR","Spanish (Puerto Rico)"],["hy_AM","Armenian (Armenia)"],["ru_FR","Russian (France)"],["ru_ES","Russian (Spain)"],["en_GT","English (Guatemala)"],["fil_PH","Filipino (Philippines)"],["ru_CA","Russian (Canada)"],["en_BY","English (Belarus)"],["es_XL","Spanish (XL)"],["ru_CZ","Russian (Czechia)"],["ru_LV","Russian (Latvia)"],["ar_SD","Arabic (Sudan)"],["ko_US","Korean (United States)"],["ru_EE","Russian (Estonia)"],["ar_PS","Arabic (Palestinian Territories)"],["az_Latn_AZ","Azerbaijani (Latin, Azerbaijan)"],["hr_BA","Croatian (Bosnia & Herzegovina)"],["it_SM","Italian (San Marino)"],["en_BA","English (Bosnia & Herzegovina)"],["hu_RO","Hungarian (Romania)"],["ro_GB","Romanian (United Kingdom)"],["sr_Cyrl_RS","Serbian (Cyrillic, Serbia)"],["ru_AZ","Russian (Azerbaijan)"],["fr_GB","French (United Kingdom)"],["zh_Hans_GB","Chinese (Simplified, United Kingdom)"],["en_QA","English (Qatar)"],["zh_Hans_AU","Chinese (Simplified, Australia)"],["bs","Bosnian"],["zh_Hans_JP","Chinese (Simplified, Japan)"],["zh_SG","Chinese (Singapore)"],["en_AL","English (Albania)"],["en_MT","English (Malta)"],["de_US","German (United States)"],["gl_ES","Galician (Spain)"],["sr_LATN","Serbian (Latin)"],["en_MD","English (Moldova)"],["fr_SN","French (Senegal)"],["tr_DE","Turkish (Germany)"],["tr_GB","Turkish (United Kingdom)"],["tr_US","Turkish (United States)"],["ms","Malay"],["be_BY","Belarusian (Belarus)"],["af_ZA","Afrikaans (South Africa)"],["eu_ES","Basque (Spain)"],["div_MV","Divehi (Maldives)"],["fo_FO","Faroese (Faroe Islands)"],["gu_IN","Gujarati (India)"],["is_IS","Icelandic (Iceland)"],["kn_IN","Kannada (India)"],["kk_KZ","Kazakh (Kazakhstan)"],["kok_IN","Konkani (India)"],["ky_KZ","Kyrgyz (Kazakhstan)"],["mr_IN","Marathi (India)"],["mn_MN","Mongolian (Mongolia)"],["pa_IN","Punjabi (India)"],["sa_IN","Sanskrit (India)"],["sr_SP","Serbian (SP)"],["sw_KE","Swahili (Kenya)"],["syr_SY","Syriac (Syria)"],["ta_IN","Tamil (India)"],["tt_RU","Tatar (Russia)"],["te_IN","Telugu (India)"],["ur_PK","Urdu (Pakistan)"]])},42629:(xe,de,t)=>{"use strict";t.d(de,{t:()=>e,u:()=>n});var e=function(E){return E[E.NVB_AUTH_INVALID=-1]="NVB_AUTH_INVALID",E[E.NVB_AUTH_NONE=0]="NVB_AUTH_NONE",E[E.NVB_AUTH_OAUTH2_PINGFEDERATE=1]="NVB_AUTH_OAUTH2_PINGFEDERATE",E[E.NVB_AUTH_OAUTH2_GOOGLE=2]="NVB_AUTH_OAUTH2_GOOGLE",E[E.NVB_AUTH_OAUTH2_JANRAIN=3]="NVB_AUTH_OAUTH2_JANRAIN",E[E.NVB_AUTH_ACTIVE_DIRECTORY=4]="NVB_AUTH_ACTIVE_DIRECTORY",E[E.NVB_AUTH_CLIENT_CERTIFICATE=5]="NVB_AUTH_CLIENT_CERTIFICATE",E[E.NVB_AUTH_SESSION_ID=6]="NVB_AUTH_SESSION_ID",E[E.NVB_AUTH_JARVIS=7]="NVB_AUTH_JARVIS",E[E.NVB_AUTH_JWT=8]="NVB_AUTH_JWT",E[E.NVB_AUTH_JWT_GFN=9]="NVB_AUTH_JWT_GFN",E}(e||{}),n=function(E){return E[E.NCT_R_UNKNOWN=0]="NCT_R_UNKNOWN",E[E.NCT_R_SUCCESS=1]="NCT_R_SUCCESS",E[E.NCT_R_INVALID_PARAM=2]="NCT_R_INVALID_PARAM",E[E.NCT_R_SYN_FAILED=3]="NCT_R_SYN_FAILED",E[E.NCT_R_FIN_FAILED=4]="NCT_R_FIN_FAILED",E[E.NCT_R_AUTH_FAILED=5]="NCT_R_AUTH_FAILED",E[E.NCT_R_POST_FAILED=6]="NCT_R_POST_FAILED",E[E.NCT_R_TEST_IN_PROGRESS=7]="NCT_R_TEST_IN_PROGRESS",E[E.NCT_R_CANCELED=8]="NCT_R_CANCELED",E[E.NCT_R_CAPACITY_FULL=9]="NCT_R_CAPACITY_FULL",E[E.NCT_R_SESSION_EXIST=10]="NCT_R_SESSION_EXIST",E[E.NCT_R_INVALID_DATA=11]="NCT_R_INVALID_DATA",E[E.NCT_R_SETUP_FAILED=12]="NCT_R_SETUP_FAILED",E[E.NCT_R_RETRYABLE_POST_FAILURE=13]="NCT_R_RETRYABLE_POST_FAILURE",E[E.NCT_R_BLOCK_STREAM=14]="NCT_R_BLOCK_STREAM",E}(n||{})},622:(xe,de,t)=>{"use strict";t.d(de,{Q:()=>x});var e=t(47766),n=t(26513),E=t(80583),O=t(85735),B=t(31315),P=t(83915),k=t(72147),U=t(55833),r=t(4208),A=t(58527),l=t(76706),I=t(37073),S=t(61142),L=t(3457);function s(p,i){if(1&p&&(A.qex(0),A.nrm(1,"hr"),A.j41(2,"div",7),A.EFF(3),A.k0s(),A.bVm()),2&p){const o=A.XpG(2).ngIf;A.R7$(3),A.JRh(null==o?null:o.elements)}}function M(p,i){if(1&p&&(A.qex(0),A.j41(1,"div",4)(2,"div")(3,"div",5),A.EFF(4),A.k0s(),A.j41(5,"div",6),A.EFF(6),A.k0s()(),A.DNE(7,s,4,1,"ng-container",1),A.k0s(),A.bVm()),2&p){const o=A.XpG().ngIf;A.R7$(4),A.SpI(" ",null==o||null==o.ratingInfo||null==o.ratingInfo.rating?null:o.ratingInfo.rating.label," "),A.R7$(2),A.SpI(" ",null==o?null:o.descriptors," "),A.R7$(),A.Y8G("ngIf",null==o?null:o.elements)}}function u(p,i){if(1&p){const o=A.RV6();A.qex(0),A.j41(1,"div",2)(2,"img",3),A.bIt("load",function(){A.eBV(o);const f=A.XpG();return A.Njj(f.imageLoaded())}),A.k0s()(),A.DNE(3,M,8,3,"ng-container",1),A.nI1(4,"async"),A.bVm()}if(2&p){const o=i.ngIf,_=A.XpG();A.R7$(2),A.Y8G("src",null==o||null==o.ratingInfo||null==o.ratingInfo.rating?null:o.ratingInfo.rating.largeImageUrl,A.B4B),A.R7$(),A.Y8G("ngIf",A.bMT(4,2,_.imageLoaded$))}}let x=(()=>{var p;class i{set contentRatings(_){this.contentRatings$.next(_)}constructor(_,f,J){this.breakpointObserver=f,this.ratingService=J,this.imageLoaded$=new n.t(!1),this.destroy$=new E.B7,this.contentRatings$=new O.m(1),this.logger=_.getLogger("gfn/content-rating.component")}ngOnInit(){this.isSmallScreen$=this.breakpointObserver.observe(e.hi.IPhone).pipe((0,P.T)(_=>_.matches)),this.ratingData$=this.contentRatings$.pipe((0,k.n)(_=>(0,B.zV)([this.ratingService.getCurrentRating(_.type,_.categoryKey),this.ratingService.getContentDescriptors(_.type,_.contentDescriptorKeys).pipe((0,P.T)(f=>(null==f?void 0:f.join(", "))||"")),this.ratingService.getInteractiveElements(_.type,_.interactiveElementKeys).pipe((0,P.T)(f=>(null==f?void 0:f.join(", "))||""))])),(0,P.T)(([_,f,J])=>({ratingInfo:_,descriptors:f,elements:J})),(0,U.t)(1),(0,r.Q)(this.destroy$))}imageLoaded(){this.imageLoaded$.next(!0)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return(p=i).\u0275fac=function(_){return new(_||p)(A.rXU(e.J6),A.rXU(l.QP),A.rXU(I.F))},p.\u0275cmp=A.VBU({type:p,selectors:[["gfn-content-rating"]],inputs:{contentRatings:"contentRatings"},decls:4,vars:7,consts:[["fxLayout","row","fxFlex","auto",1,"content-rating-container"],[4,"ngIf"],[1,"rating-logo"],[3,"load","src"],["fxLayout","column",1,"rating-details"],["dir","auto",1,"rating-title","font-sub2"],[1,"font-body3","font-color-tertiary","content-descriptors"],[1,"font-body3","interactive-elements"]],template:function(_,f){1&_&&(A.j41(0,"div",0),A.nI1(1,"async"),A.DNE(2,u,5,4,"ng-container",1),A.nI1(3,"async"),A.k0s()),2&_&&(A.AVh("small-screen",A.bMT(1,3,f.isSmallScreen$)),A.R7$(2),A.Y8G("ngIf",A.bMT(3,5,f.ratingData$)))},dependencies:[S.bT,L.DJ,L.UI,S.Jj],styles:["hr[_ngcontent-%COMP%]{height:1px;background-color:#ffffff4d;border:none;width:100%;margin:0}.rating-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:68px;width:auto}.isLtr[_nghost-%COMP%] .rating-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .rating-details[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .rating-details[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .rating-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .rating-details[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .rating-details[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .rating-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .rating-details[_ngcontent-%COMP%]{text-align:left}html[dir=ltr][_ngcontent-%COMP%] .rating-details[_ngcontent-%COMP%]{--dummy0: 0;text-align:left}.isRtl[_nghost-%COMP%] .rating-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .rating-details[_ngcontent-%COMP%]{text-align:right}html[dir=rtl][_ngcontent-%COMP%] .rating-details[_ngcontent-%COMP%]{--dummy0: 0;text-align:right}.content-descriptors[_ngcontent-%COMP%]{padding-top:3px;padding-bottom:4px}.interactive-elements[_ngcontent-%COMP%]{padding-top:3px}.content-rating-container.small-screen[_ngcontent-%COMP%] .rating-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:53px}.tv-view[_nghost-%COMP%] .content-rating-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .content-rating-container[_ngcontent-%COMP%]{padding:0;background-image:unset}.tv-view[_nghost-%COMP%] .rating-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .rating-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:82px;width:auto}.tv-view[_nghost-%COMP%] .rating-details[_ngcontent-%COMP%] .rating-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .rating-details[_ngcontent-%COMP%] .rating-title[_ngcontent-%COMP%]{line-height:1;padding-bottom:8px}.tv-view[_nghost-%COMP%] .content-descriptors[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .content-descriptors[_ngcontent-%COMP%]{padding:0 0 8px}.tv-view[_nghost-%COMP%] .interactive-elements[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .interactive-elements[_ngcontent-%COMP%]{padding-top:8px}"],changeDetection:0}),i})()},37073:(xe,de,t)=>{"use strict";t.d(de,{k:()=>S,F:()=>A});var e=t(59859),n=t(43848),E=t(75707),O=t(83915),B=t(26875),P=t(58527),k=t(47766),U=t(14043),r=t(81834);let A=(()=>{var L;class s{constructor(u,x,p){this.loggingService=u,this.lcarsService=x,this.logger=this.loggingService.getLogger("gfn/content-rating"),this.fetchRatingInfoStream=p.createStream(i=>this.fetchRatingInfo(i))}getCurrentRating(u,x){return this.fetchRatingInfoStream.get$(u).pipe((0,E.ZZ)(p=>{if((0,B.isNil)(p)||(0,B.isNil)(p.ratings))return(0,e.$)(`ratingInfo is ${JSON.stringify(p)}`);const i=p.ratings.find(_=>_.categoryKey===x);return(0,B.isNil)(i)?(this.logger.info("no rating found for this rating category:",x),(0,n.of)(null)):(0,n.of)({rating:i,ratingSystem:p.label,displayInterval:p.displayInterval})}))}getContentDescriptors(u,x){return this.fetchRatingInfoStream.get$(u).pipe((0,E.ZZ)(p=>{if((0,B.isNil)(p)||(0,B.isEmpty)(p))return(0,e.$)(`ratingInfo is ${JSON.stringify(p)}`);if((0,B.isNil)(p.contentDescriptors))return this.logger.info("no content descriptors field"),(0,n.of)([]);let i=p.contentDescriptors.filter(_=>(0,B.includes)(x,_.key));i=(0,B.sortBy)(i,["sortOrder"]);const o=i.map(_=>_.label);return(0,n.of)(o)}))}getInteractiveElements(u,x){return this.fetchRatingInfoStream.get$(u).pipe((0,E.ZZ)(p=>{if((0,B.isNil)(p)||(0,B.isEmpty)(p))return(0,e.$)(`ratingInfo is ${JSON.stringify(p)}`);if((0,B.isNil)(p.interactiveElements))return this.logger.info("no interactive elements field"),(0,n.of)([]);let i=p.interactiveElements.filter(_=>(0,B.includes)(x,_.key));i=(0,B.sortBy)(i,["sortOrder"]);const o=i.map(_=>_.label);return(0,n.of)(o)}))}fetchRatingInfo(u,x){return this.lcarsService.getStaticAppData().pipe((0,O.T)(p=>(null==p?void 0:p.ratingDefinitions).find(o=>o.ratingSystem===u)))}}return(L=s).\u0275fac=function(u){return new(u||L)(P.KVO(k.J6),P.KVO(U.Br),P.KVO(r._d))},L.\u0275prov=P.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})();var l=t(61142),I=t(51006);let S=(()=>{var L;class s{}return(L=s).\u0275fac=function(u){return new(u||L)},L.\u0275mod=P.$C({type:L}),L.\u0275inj=P.G2t({imports:[l.MD,I.YF,k._N]}),s})()},7703:(xe,de,t)=>{"use strict";t.d(de,{w:()=>u});var e=t(43848),n=t(26814),E=t(43354),O=t(65706),B=t(75707),P=t(91384),k=t(83915),U=t(14714),r=t(14331),A=t(78893),l=t(21341),I=t(16992),S=t(54250),L=t(80838),s=t(58527),M=t(47766);let u=(()=>{var x;class p{constructor(o,_){this.injector=o,this.useWindowedMode=!1,this._isDeeplinkGameLaunch=!1,this.logger=_.getLogger("deeplink-helper"),this.canHandleMap=new Map([[r.py.PlayGame,{canHandle:this.canHandlePlayGame.bind(this)}],[r.py.ViewGame,{canHandle:this.canHandleViewGame.bind(this)}]])}canHandleViewGame(o){const _=o.has(r.aj.GameId);return(0,e.of)({canHandle:_,isBadRequest:!_})}canHandlePlayGame(o){return o.has(r.aj.GameId)||o.has(r.aj.CmsId)?(this.unsupportedBrowserService=this.injector.get(S.Lk),this.unsupportedBrowserService.shouldDisplayPWAGuidance$().pipe((0,O.s)(1),(0,B.ZZ)(f=>(0,e.of)(f?{canHandle:!1,isBadRequest:!1,redirectLink:A.V6.PwaWall}:{canHandle:!0,isBadRequest:!1})))):(0,e.of)({canHandle:!1,isBadRequest:!0})}setDeeplinkZoneOverride(o,_){const f=o.get(r.aj.Zone);if(f)try{var J;const a=this.injector.get(l.uU),D=this.injector.get(L.G),te=new URL(f).host;(null===(J=a.deeplinkOverrideZone)||void 0===J?void 0:J.address)!==te&&(a.deeplinkOverrideZone=this.getDeeplinkZoneOverride(f,_),D.refreshServerInfo())}catch(a){this.logger.error("Incorrect deeplink override zone",a)}}performHandlingCheck(o){return this.getFeatureToggle().pipe((0,B.ZZ)(_=>{const f=o.get(r.aj.Action)||r.eL,J={canHandle:!1,isBadRequest:!0};if(!this.canHandleMap.has(f))return this.logger.error("No handler for specified action"),(0,e.of)(J);const a=r.oT[f];return a?_[a]?this.canHandleMap.get(f).canHandle(o).pipe((0,P.M)(N=>{N.canHandle||this.logger.error("Invalid set of parameters")})):(J.isBadRequest=!1,this.logger.error("Action not enabled in feature toggle"),(0,e.of)(J)):(this.logger.error("Feature toggle not configured for action"),(0,e.of)(J))}))}getDeeplinkZoneOverride(o,_){if(!(-1!==window.location.href.indexOf(A.f.Deeplink)||_&&-1!==_.indexOf(A.f.Deeplink)))return null;{let a=o||(0,A.BS)(r.aj.Zone);try{if(this.logger.info("Deeplink Zone Override: ",a),a){const D=new URL(a);if(a=D.host,"https:"===D.protocol&&a.endsWith("nvidiagrid.net")){var f,J;const te=null===(f=a)||void 0===f?void 0:f.substring(0,null===(J=a)||void 0===J?void 0:J.indexOf("."));if(a)return{address:a,runNetworkTest:!0,name:te,isInternal:!0}}}return null}catch(D){return this.logger.error("Incorrect deeplink override zone",D),null}}}isDeeplinkScenario(){return!!window.location.hash.match(A.f.Deeplink)}getFeatureToggle(){return this.fetchedFeatureToggleValue?(0,e.of)(this.fetchedFeatureToggleValue):this.fetchDeeplinkFeatureToggle()}isSpecialAffiliatePartner(o){return Object.values(r.HJ).includes(o)}fetchDeeplinkFeatureToggle(){var o;if(this.configuration||(this.configuration=this.injector.get(E.V)),this.experienceControlService||(this.experienceControlService=this.injector.get(n.BW)),this.experienceControlService)return this.experienceControlService.getCloudVariable(null===(o=this.configuration)||void 0===o?void 0:o.gxTarget.experiences.deeplinkSupportV2,void 0,{useCache:!0,useNetworkTimeoutForCacheFallback:!0},n.Ky.GxTargetGetCloudVariable,n.Id.GxTargetGetDeeplinkSupport).pipe((0,k.T)(f=>(this.fetchedFeatureToggleValue=f.value,this.fetchedFeatureToggleValue)),(0,U.W)(f=>{var J;this.logger.error("Error while fetching deeplink feature toggle:",f);const D=null===(J=this.configuration)||void 0===J||null===(J=J.featureEnablement)||void 0===J?void 0:J.deeplinkSupportV2;return(0,e.of)(void 0!==D?D:r.kw)}));{var _;const J=null===(_=this.configuration)||void 0===_||null===(_=_.featureEnablement)||void 0===_?void 0:_.deeplinkSupportV2;return(0,e.of)(void 0!==J?J:r.kw)}}getDeeplinkPartnerData(){return this.deeplinkPartnerData}setDeeplinkPartnerData(o){this.deeplinkPartnerData=o}resetDeeplinkPartnerData(){this.deeplinkPartnerData=null}allowApplicationReload(){var o;return this.guestModeHelperService||(this.guestModeHelperService=this.injector.get(I.x)),!(null!==(o=this.guestModeHelperService)&&void 0!==o&&o.isGuestMode||this.getDeeplinkPartnerData())}getUpdatedPartnerId(o){return r.bE[o]||o}postStreamingCleanUp(){this.resetDeeplinkPartnerData(),this.windowedMode=!1,this.isDeeplinkGameLaunch=!1}get isDeeplinkGameLaunch(){return this._isDeeplinkGameLaunch}set isDeeplinkGameLaunch(o){this._isDeeplinkGameLaunch=o}set windowedMode(o){this.useWindowedMode=o}get windowedMode(){return this.useWindowedMode}}return(x=p).\u0275fac=function(o){return new(o||x)(s.KVO(s.zZn),s.KVO(M.J6))},x.\u0275prov=s.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},35833:(xe,de,t)=>{"use strict";t.d(de,{Tq:()=>T,mw:()=>q,o3:()=>We,pL:()=>Y});var e=t(36877),n=t(12532),E=t(15652),O=t(31315),B=t(43848),P=t(27731),k=t(16229),U=t(75707),r=t(65706),A=t(8619),l=t(10174),I=t(83915),S=t(91384),L=t(4208),s=t(14714),M=t(72147),u=t(43615),x=t(19061),p=t(53747),i=t(18568),o=t(14043),_=t(18433),f=t(82094),J=t(77200),a=t(13515),D=t(36206),te=t(94829),N=t(54250),z=t(58202),R=t(50778),h=(t(33367),t(58527)),W=t(47766),ne=t(61958),ee=t(26537),b=t(99569),w=t(65240),F=t(66348),Z=t(11346),se=t(1548),Y=function(Qe){return Qe.Back="Back",Qe.Logout="Logout",Qe}(Y||{}),q=function(Qe){return Qe.SendFeedback="SendFeedback",Qe.SessionReport="SessionReport",Qe.VisitSupport="VisitSupport",Qe.Back="Back",Qe}(q||{}),T=function(Qe){return Qe.MarkAsOwned="MarkAsOwned",Qe.ManuallyMarkAsOwned="ManuallyMarkAsOwned",Qe.Cancel="Cancel",Qe.Reconnect="Reconnect",Qe.Connect="Connect",Qe.GoToConnection="GoToConnection",Qe.Resync="Resync",Qe.NotNow="NotNow",Qe.Done="Done",Qe}(T||{});const H_body_text="layout.inLineAccountLinkingPrompt.body",H_body_textWithoutURL="layout.inLineAccountLinkingPrompt.bodyWithoutURL",H_primaryButton={text:"layout.accountLinkingPrompt.connect",accentColor:!0},H_checkbox_text="common.dontShowThisAgain",H_checkbox_initialState=!1,H_tvLink_text="pathToPurchase.title",y_body_text="layout.inLineSyncInProgress.body",X_connectBody_text="layout.inLineAccountConnected.body",X_reconnectBody_text="layout.inLineAccountConnected.reconnectBody",X_primaryButton={text:"common.done"},c_body_text="layout.inLineSyncFailure.failedSync.body",c_primaryButton={text:"accountConnection.refreshLibrary",accentColor:!0},g_body_text="layout.inLineSyncFailure.notPublicIssue.body",g_primaryButton={text:"accountConnection.refreshLibrary",accentColor:!0},d_body_text="layout.inLineSyncFailure.profileNotCreated.body",d_primaryButton={text:"accountConnection.refreshLibrary",accentColor:!0},C_body_text="layout.inLineSyncFailure.permissionFailure.body",C_primaryButton={text:"accountConnection.goToConnection",accentColor:!0},Q_body_text="layout.inLineLibrarySynced.body",Q_primaryButton={text:"common.done"},j_body_text="layout.inLineNoGameSynced.body",j_primaryButton={text:"accountConnection.refreshLibrary",accentColor:!0},j_tvLink_text="pathToPurchase.title",le_body_text="layout.manuallyOwnPrompt.body",le_body_textWithoutURL="layout.manuallyOwnPrompt.bodyWithoutURL",le_genericBody_text="layout.manuallyOwnPrompt.genericBody",le_genericBody_textWithoutURL="layout.manuallyOwnPrompt.genericBodyWithoutURL",le_primaryButton={text:"layout.manuallyOwnPrompt.primaryButton",accentColor:!0},le_tvLink_text="pathToPurchase.title",ge_body_text="layout.resyncGameStore.body",ge_primaryButton={text:"accountConnection.refreshLibrary",accentColor:!0},ge_tvLink_text="pathToPurchase.title",ie={header:"common.joinTodayToPlay",headerOnTv:"layout.joinTodayAlertDialogText.headerTextOnTv",body:{text:"layout.joinTodayAlertDialogText.bodyText",textWithoutLink:"layout.joinTodayAlertDialogText.bodyTextWithoutLink"},primaryButton:{text:"common.joinToday",accentColor:!0},secondaryButton:{text:"common.cancel"},loginButton:{text:"common.login"}},ce={header:"loginBridgeState.loginToGeForceNow",headerOnTv:"loginBridgeState.loginToGeForceNow",body:{text:"layout.joinTodayAlertDialogText.bodyTextWithoutLink",textWithoutLink:"layout.joinTodayAlertDialogText.bodyTextWithoutLink"},primaryButton:{text:"common.login",accentColor:!0},secondaryButton:{text:"common.cancel"},loginButton:{text:"common.login",accentColor:!0}},G_body_text="common.connectionError",G_primaryButton={text:"common.close",accentColor:!0},ue_body_text="layout.mobileDataWarning.body",ue_primaryButton={text:"common.allow",accentColor:!0},ae_body={text:"multiplatform.dialog.description"},ae_primaryButton={text:"common.continue",isDisabled:!0},Ce_body_text="fencedStatus.patchingSupplementalText",Ce_primaryButton_text="common.close",Se_body_text="fencedStatus.offlineSupplementalTextShortMessage",Se_primaryButton_text="common.close",Ne={header:"layout.gamepadWarningAlert.title",body:{text:"layout.gamepadWarningAlert.body",placeholders:{gamePadURL:""}},checkbox:{text:"common.dontShowThisAgain",initialState:!1},primaryButton:{text:"common.continue",accentColor:!0},secondaryButton:"common.cancel",notShownAgainButton:"layout.continueDontShowAgain",supportedGamepad:"layout.gamepadWarningAlert.supportedGamepad"},we={...Ne,body:{text:"layout.gamepadWarningAlert.bodyEcomRestricted"},supportedGamepad:void 0},ve_body_text="layout.keyboardMouseWarningAlert.body",ve_checkbox_text="common.dontShowThisAgain",ve_checkbox_initialState=!1,ve_primaryButton={text:"common.continue",accentColor:!0},Pe_body_text="layout.dayPassLowPlayTimeAlert.body",Pe_body_bodyEcomRestricted="layout.dayPassLowPlayTimeAlert.bodyEcomRestricted",Pe_checkbox_text="common.dontShowThisAgain",Pe_checkbox_initialState=!1,Pe_primaryButton={text:"common.playAnyway",accentColor:!0},Pe_secondaryButton_text="common.cancel",Pe_secondaryButton_id="cancel",Pe_augmentedButton_text="ecommerce.membership.addDays",Oe_body_text="timeCapTimeAlert.timeCapLowPlayTimeAlert.body",Oe_body_bodyEcomRestricted="timeCapTimeAlert.timeCapLowPlayTimeAlert.bodyEcomRestricted",Oe_checkbox_text="timeCapTimeAlert.dontShowAgain",Oe_checkbox_initialState=!1,Oe_primaryButton={text:"common.playAnyway",accentColor:!0},Be_header="timeCapSessionLimitReached.outOfPlaytime",Be_body_text="timeCapTimeAlert.timeCapLimitedPlayTimeAlert.body",Be_body_bodyUnplayable="timeCapTimeAlert.timeCapLimitedPlayTimeAlert.bodyUnplayable",Be_body_bodySkuBasedUnplayable="timeCapTimeAlert.timeCapLimitedPlayTimeAlert.bodySkuBasedUnplayable",Be_body_bodySkuBasedUnplayableEcomRestricted="timeCapTimeAlert.timeCapLimitedPlayTimeAlert.bodySkuBasedUnplayableEcomRestricted",Be_body_bodyEcomRestricted="timeCapTimeAlert.timeCapLimitedPlayTimeAlert.bodyEcomRestricted",Be_checkbox_text="timeCapTimeAlert.dontShowAgain",Be_checkbox_initialState=!1,Be_primaryButton={text:"ecommerce.addPlaytime",accentColor:!0},Be_primaryPlayAnywayButton={text:"common.playAnyway",accentColor:!0},Be_primaryCloseButton={text:"common.close",accentColor:!0},tt_primaryButton={text:"common.gotIt"},Ee_body_unsupportedBrowserWithNativeApps="layout.universalUnsupportedDialogText.unsupportedBrowserWithNativeAppsBodyText",Ee_primaryButton={text:"common.close"},ot_primaryButton={text:"common.continueAnyway"},ot_secondaryButton={text:"common.cancel"};let We=(()=>{var Qe;class Fe{constructor(_e,He,De,Re,K,ke,Ue,et,gt,vt,Mt,Rt,Ut,ct,Me,bt,Tt,kt){var At;this.appConfig=He,this.dialog=De,this.browseUxService=Re,this.translateService=K,this.telemetryUtilService=ke,this.sharedStorageService=Ue,this.idmService=et,this.redirectService=gt,this.genericDialog=vt,this.ecomService=Mt,this.unsupportedBrowserService=Rt,this.bridgeService=Ut,this.focusManager=ct,this.fullPageDialog=Me,this.dateHandlerService=bt,this.userActivationGuardService=Tt,this.udsHelperService=kt,this.logger=_e.getLogger("DialogService"),this.tvMode=!(null==He||null===(At=He.featureEnablement)||void 0===At||!At.tvMode)}get threeQuarterSheetBackgroundData(){return this._threeQuarterSheetDialogData}set threeQuarterSheetBackgroundData(_e){this._threeQuarterSheetDialogData=_e}openJoinTodayAlertDialog(_e,He){const De=this.ecomService.canHardUpsell(),Re=De?ie:ce,K=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:this.tvMode?Re.headerOnTv:Re.header},bodyText:{text:this.tvMode?Re.body.textWithoutLink:Re.body.text,placeholders:{loginLink:'class="font-body2-link membership-login-link"'}},primaryButton:De?{...Re.primaryButton}:this.tvMode?null:{...Re.loginButton},secondaryButton:this.tvMode?{...Re.loginButton}:{...Re.secondaryButton},threeQuarterSheetData:{augmentedButtons:[{text:Re.secondaryButton.text,id:"cancel"}],...this.threeQuarterSheetBackgroundData}}},{preferredDialogType:this.tvMode?x.QO.ThreeQuarterSheet:void 0});let ke=null;const Ue=K.afterOpened().pipe((0,U.ZZ)(gt=>{if(this.tvMode)return K.secondaryButtonClick;if(!De)return K.primaryButtonClick;{const vt=document.getElementsByClassName("membership-login-link");if(vt&&vt[0])return(0,e.R)(vt,"click")}return n.w}),(0,r.s)(1));this.appConfig.featureEnablement.UASAutoEntitle?ke=(0,E.O4)(Ue,K.primaryButtonClick):(ke=Ue,K.primaryButtonClick.subscribe(()=>{this.telemetryUtilService.sendJoinTodayAlertDialogUiAction(R.o.Join),this.ecomService.openJoinMembershipPage(_e,He)},gt=>{this.logger.error("join today dialog:",gt)}));const et=this.tvMode?K.augmentedButtonClick.pipe((0,A.p)(gt=>"cancel"===gt)):K.secondaryButtonClick;return(0,E.O4)(et.pipe((0,l.u)(R.o.Close)),K.afterClosed().pipe((0,l.u)(R.o.Close)),ke.pipe((0,l.u)(R.o.Login))).pipe((0,I.T)(gt=>(this.telemetryUtilService.sendJoinTodayAlertDialogUiAction(gt),K.close(),gt)))}openUnsupportedBrowserDialog(_e){let He;this.openGFNUnsupportedDialog(!1,_e).pipe((0,r.s)(1),(0,U.ZZ)(De=>(He=De,(0,E.O4)(He.afterClosed().pipe((0,l.u)(R.Io.Cancel)),He.primaryButtonClick.pipe((0,l.u)(R.Io.Cancel))))),(0,S.M)(De=>{this.telemetryUtilService.sendPopUpDialogClosedEvent(_.duU.Unsupported_Browser_Or_Platform_Game_Launch,_.HBm.Dialog_Closed),He.close()})).subscribe()}openUnsupportedSystemSoftBlockerDialog(_e){let He;return this.openGFNUnsupportedDialog(!0,_e).pipe((0,r.s)(1),(0,U.ZZ)(De=>(He=De,(0,E.O4)(De.secondaryButtonClick.pipe((0,l.u)(R.nw.Cancel)),De.primaryButtonClick.pipe((0,l.u)(R.nw.Continue)),De.afterClosed().pipe((0,l.u)(R.nw.Cancel))))),(0,I.T)(De=>(this.telemetryUtilService.sendPopUpDialogClosedEvent(_.duU.Unsupported_Browser_Or_Platform_Login,De===R.nw.Continue?_.HBm.Continue_Login:_.HBm.Dialog_Closed),He.close(),De)))}openGFNUnsupportedDialog(_e,He){return(0,O.zV)([this.unsupportedBrowserService.getDialogLink$(He,{isLive:!0}),this.unsupportedBrowserService.getUnsupportedHeaderText$(He)]).pipe((0,r.s)(1),(0,I.T)(([De,Re])=>this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:Re},link:De,bodyText:this.tvMode?{text:Ee_body_unsupportedBrowserWithNativeApps,placeholders:{vanityUrl:De.shortUrl}}:void 0,primaryButton:_e?{...ot_primaryButton}:{...Ee_primaryButton},secondaryButton:_e?{...ot_secondaryButton}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet})),(0,S.M)(De=>{this.telemetryUtilService.sendPopUpDialogShownEvent(_e?_.duU.Unsupported_Browser_Or_Platform_Login:_.duU.Unsupported_Browser_Or_Platform_Game_Launch)}))}openConnectionErrorDialog(){const _e=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"common.genericLoadError"},bodyText:{text:G_body_text},primaryButton:{...G_primaryButton}}});_e.primaryButtonClick.pipe((0,r.s)(1)).subscribe(()=>_e.close())}openMobileDataWarningDialog(){const _e=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.mobileDataWarning.title"},bodyText:{text:ue_body_text},primaryButton:{...ue_primaryButton},secondaryButton:{text:"common.cancel"},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(_e.primaryButtonClick.pipe((0,l.u)(!0)),_e.secondaryButtonClick.pipe((0,l.u)(!1))).pipe((0,S.M)(()=>_e.close()))}setDigitalStore(_e,He,De){const Re=null==_e?void 0:_e.label;return Re!==f.$f?this.translateService.get(He,{digitalStore:Re}):this.translateService.get(De)}openMultiPlatformSelectionDialog(_e,He){if(this.tvMode)return this.openStoreSelectorFullPageDialog({gameName:He.gameName,variants:He.variants,heroImageURL:He.heroImageURL,isInputSupported:He.isInputSupported});const De=He.variants.map(Ue=>{const et=Ue.appStoreInfo.label;return Object.assign({value:et===f.$f?Ue.publisherName:et},Ue.appStoreInfo.smallImageUrl?{imageUrl:Ue.appStoreInfo.smallImageUrl}:null)}),K={panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"common.beforeYouPlay"},bodyText:{...ae_body},primaryButton:{...ae_primaryButton},secondaryButton:{text:"common.cancel"},radioButtonOptions:De}},ke=this.genericDialog.open(K);return ke.radioButtonClick.pipe((0,r.s)(1),(0,S.M)(()=>{K.data.primaryButton.isDisabled=!1})).subscribe(),(0,E.O4)(ke.primaryButtonClick.pipe((0,l.u)(!0)),ke.secondaryButtonClick.pipe((0,l.u)(!1)),ke.afterClosed().pipe((0,l.u)(!1))).pipe((0,I.T)(Ue=>{if(ke.close(),Ue){const et=(Ue=>{let et;const gt=f.X9.StoresList.find(vt=>vt.label===Ue);return et=He.variants.find(gt?vt=>vt.appStore===gt.store:vt=>vt.publisherName===Ue&&vt.appStoreInfo.label===f.$f),et})(ke.radioOptionSelected);return this.telemetryUtilService.sendClickEvent(_.EBD.PlatformSelection,et.appStore,`${_e}/${_.MCB.ScreenPlatformSelectionDialog}`),et}return null}))}openFencedStatusErrorDialog(_e){this.logger.info("Show fenced error dialog for",_e);const He=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:_e===i.jv.PATCHING?"fencedStatus.gamePatching":"fencedStatus.gameOffline"},bodyText:{text:_e===i.jv.PATCHING?Ce_body_text:Se_body_text},primaryButton:{text:_e===i.jv.PATCHING?Ce_primaryButton_text:Se_primaryButton_text}}});He.primaryButtonClick.pipe((0,r.s)(1)).subscribe(()=>He.close())}openGamepadRequiredDialog(){return(0,O.zV)([this.redirectService.getRedirectUrl(D.r7.GfnPcRecommendedGamepads),this.browseUxService.getUserPreference(p.mG.skipGamepadWarningDialog,this.idmService.accountStatusChanged)]).pipe((0,U.ZZ)(([_e,He])=>{if(He)return(0,B.of)(!0);const De=this.ecomService.canHardUpsell()?Ne:we,Re=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:De.header},bodyText:{text:De.body.text,placeholders:this.tvMode?void 0:{gamePadURL:`class="font-body2-link" href="${_e}"`}},checkbox:{text:this.tvMode?De.notShownAgainButton:De.checkbox.text,initialState:De.checkbox.initialState,primaryActionInThreeQuarterSheet:!0},primaryButton:{...De.primaryButton},secondaryButton:{text:De.secondaryButton},link:De.supportedGamepad?{text:this.tvMode?De.supportedGamepad:void 0,url:this.tvMode?_e:void 0,shortUrl:D.lp[D.r7.GfnPcRecommendedGamepads]}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData}});return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(!0)),Re.secondaryButtonClick.pipe((0,l.u)(!1)),Re.afterClosed().pipe((0,l.u)(!1))).pipe((0,I.T)(K=>(Re.close(),K&&this.browseUxService.setUserPreference(p.mG.skipGamepadWarningDialog,Re.checkboxState).pipe((0,r.s)(1)).subscribe(),K)))}))}openKeyboardMouseRequiredDialog(){return this.browseUxService.getUserPreference(p.mG.skipKeyboardMouseWarningDialog,this.idmService.accountStatusChanged).pipe((0,U.ZZ)(He=>{if(He)return(0,B.of)(!0);const De=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"layout.keyboardMouseWarningAlert.title"},bodyText:{text:ve_body_text},checkbox:{text:this.tvMode?"layout.continueDontShowAgain":ve_checkbox_text,initialState:ve_checkbox_initialState,primaryActionInThreeQuarterSheet:!0},primaryButton:{...ve_primaryButton},secondaryButton:{text:"common.quit"},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}});return(0,E.O4)(De.primaryButtonClick.pipe((0,l.u)(!0)),De.secondaryButtonClick.pipe((0,l.u)(!1)),De.afterClosed().pipe((0,l.u)(!1))).pipe((0,S.M)(()=>De.close()),(0,U.ZZ)(Re=>Re?this.browseUxService.setUserPreference(p.mG.skipKeyboardMouseWarningDialog,De.checkboxState).pipe((0,l.u)(Re)):(0,B.of)(Re)))}))}openGameShortcutDialog(_e,He,De,Re,K,ke,Ue){const et=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{image:{caption:"interface.gametitle",captionPlaceholder:{title:_e},description:"gameShortcut.createShortcutGuidance",url:He,shortcutUrl:De,isDraggableUrl:!0,dragStartCallback:this.onGameShortcutDragStart.bind(this,K,ke,Ue)},headerText:{text:"gameShortcut.createShortcutTitle"},primaryButton:{...tt_primaryButton}}});(0,E.O4)(et.primaryButtonClick.pipe((0,l.u)(!0)),et.afterClosed().pipe((0,l.u)(!0)),Re).subscribe(()=>{et.close()})}onGameShortcutDragStart(_e,He,De){De&&this.telemetryUtilService.sendDragEvent(_.QF.GameShortcutUrl,_e,He)}openTimeCapLimitedPlaytimeDialog(_e,He,De){const Re=this.ecomService.canHardUpsell(),K=(0,O.zV)([this.browseUxService.getUserPreference(p.mG.skipTimeCapLimitedPlayTimeRemainingDialog,this.idmService.accountStatusChanged),this.ecomService.getUserMembership()]),ke=this.ecomService.getRedirectUrlWithIdpId$(D.r7.GfnPcLimitedFeaturesGamePlay).pipe((0,I.T)(Ue=>({headerText:{text:Be_header},bodyText:{text:Re?Be_body_text:Be_body_bodyEcomRestricted,placeholders:this.tvMode?void 0:{limitedFeatureUrl:`class="font-body2-link" href="${Ue}"`}},checkbox:{text:this.tvMode?"timeCapTimeAlert.dontShowAgainButton":Be_checkbox_text,initialState:Be_checkbox_initialState,primaryActionInThreeQuarterSheet:!1},link:{text:this.tvMode?"ecommerce.limitedFeatures":void 0,url:this.tvMode?Ue:void 0,shortUrl:D.lp[D.r7.GfnPcLimitedFeaturesGamePlay],linkClickedCallback:this.limitedFeatureKBAClicked.bind(this,_e)},primaryButton:Re?{...Be_primaryButton}:{...Be_primaryPlayAnywayButton},secondaryButton:Re?{text:"common.playAnyway"}:{text:"common.cancel"}})));return K.pipe((0,r.s)(1),(0,U.ZZ)(([Ue,et])=>{var gt;if(!this.canShowTimeAlertDialog(Ue,null===(gt=et.subscription)||void 0===gt?void 0:gt.currentSpanEndDateTime,p.mG.skipTimeCapLimitedPlayTimeRemainingDialog)&&He)return(0,B.of)(null);if(!He||De){const vt={headerText:{text:Be_header},bodyText:{text:De?Re?Be_body_bodySkuBasedUnplayable:Be_body_bodySkuBasedUnplayableEcomRestricted:Be_body_bodyUnplayable},primaryButton:Re?{...Be_primaryButton}:{...Be_primaryCloseButton},secondaryButton:Re?{text:"iosPWA.dismiss"}:void 0};return(0,B.of)(vt)}return ke}),(0,r.s)(1),(0,U.ZZ)(Ue=>{if(null===Ue)return(0,B.of)(!0);let et=_.HBm.Dialog_Closed;const gt=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:Ue}),vt=He&&!De;return(0,E.O4)(gt.primaryButtonClick.pipe((0,S.M)(()=>{Re?(this.ecomService.openAddPlaytimePageAndDialog(_.MCB.ScreenLimitedStateGameLaunchDialog,_e),et=_.HBm.Continue_Add_Playtime):vt&&(et=_.HBm.Continue_Play_Anyway)}),(0,l.u)(!Re&&vt)),He&&!De&&Re?gt.secondaryButtonClick.pipe((0,S.M)(()=>et=_.HBm.Continue_Play_Anyway),(0,l.u)(!0)):gt.secondaryButtonClick.pipe((0,l.u)(!1)),gt.afterClosed().pipe((0,l.u)(!1))).pipe((0,r.s)(1),(0,S.M)(()=>gt.close()),(0,U.ZZ)(Mt=>(this.telemetryUtilService.sendPopUpDialogClosedEvent(_.duU.Limited_State_Game_Launch,et,0,0,_.T80.FALSE,gt.checkboxState?_.T80.TRUE:_.T80.FALSE),Mt&&He?this.ecomService.getUserMembership().pipe((0,r.s)(1),(0,U.ZZ)(Rt=>this.browseUxService.setUserPreference(p.mG.skipTimeCapLimitedPlayTimeRemainingDialog,{value:gt.checkboxState,expirationDateTime:Rt.subscription.currentSpanEndDateTime}).pipe((0,l.u)(Mt)))):(0,B.of)(Mt))))}))}limitedFeatureKBAClicked(_e){this.telemetryUtilService.sendClickEvent(_.EBD.LimitedFeaturesKBA,"",_e,!1)}addPlayTimeClicked(_e){this.ecomService.openAddPlaytimePageAndDialog(_.MCB.ScreenLowStateGameLaunchDialog,_e)}viewPlayTimeClicked(_e){this.ecomService.openViewPlaytimePage(_.MCB.ScreenLowStateGameLaunchDialog,_e)}openTimeCapLowPlaytimeDialog(_e){return(0,O.zV)([this.browseUxService.getUserPreference(p.mG.skipTimeCapLowPlayTimeRemainingDialog,this.idmService.accountStatusChanged),this.ecomService.getUserMembership()]).pipe((0,r.s)(1),(0,U.ZZ)(([He,De])=>{var Re;const K=this.ecomService.canHardUpsell();return this.canShowTimeAlertDialog(He,null===(Re=De.subscription)||void 0===Re?void 0:Re.currentSpanEndDateTime,p.mG.skipTimeCapLowPlayTimeRemainingDialog)?this.ecomService.getUserMembership().pipe((0,r.s)(1),(0,U.ZZ)(ke=>{const Ue={text:K?Oe_body_text:Oe_body_bodyEcomRestricted,placeholders:{remainingTime:(0,te.n9)(ke.subscription.remainingTimeInMinutes).time,addingMorePlaytime:!this.tvMode&&K?'class="font-body2-link add-playtime-link"':void 0}};let et;this.tvMode&&K&&(et={text:"timeCapTimeAlert.timeCapLowPlayTimeAlert.addPlayTime",url:void 0,shortUrl:void 0,linkClickedCallback:this.addPlayTimeClicked.bind(this,_e)});const gt={headerText:{text:"timeCapTimeAlert.timeCapLowPlayTimeAlert.title"},bodyText:Ue,checkbox:{text:this.tvMode?"timeCapTimeAlert.dontShowAgainButton":Oe_checkbox_text,initialState:Oe_checkbox_initialState,primaryActionInThreeQuarterSheet:!0},link:et,primaryButton:{...Oe_primaryButton},secondaryButton:{text:"common.cancel"}},vt=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:gt}),Mt=vt.afterOpened().pipe((0,U.ZZ)(Rt=>{if(!K||this.tvMode)return P.t;{const Ut=document.getElementsByClassName("add-playtime-link");if(Ut&&Ut[0])return(0,e.R)(Ut,"click")}return(0,B.of)(void 0)}),(0,r.s)(1),(0,S.M)(()=>{this.ecomService.openAddPlaytimePageAndDialog(_.MCB.ScreenLowStateGameLaunchDialog,_e)}));return(0,E.O4)(vt.primaryButtonClick.pipe((0,l.u)(!0)),vt.secondaryButtonClick.pipe((0,l.u)(!1)),this.tvMode?vt.linkClick.pipe((0,l.u)(!1)):Mt.pipe((0,l.u)(!1)),vt.afterClosed().pipe((0,l.u)(!1))).pipe((0,r.s)(1),(0,S.M)(()=>vt.close()),(0,U.ZZ)(Rt=>(this.telemetryUtilService.sendPopUpDialogClosedEvent(_.duU.Low_State_Game_Launch,Rt?_.HBm.Continue_Play_Anyway:_.HBm.Dialog_Closed,0,0,_.T80.FALSE,vt.checkboxState?_.T80.TRUE:_.T80.FALSE),Rt?this.browseUxService.setUserPreference(p.mG.skipTimeCapLowPlayTimeRemainingDialog,{value:vt.checkboxState,expirationDateTime:ke.subscription.currentSpanEndDateTime}).pipe((0,l.u)(Rt)):(0,B.of)(Rt))))})):(0,B.of)(!0)}))}showTimeAlertDialog(_e,He,De){return this.ecomService.getUserMembership().pipe((0,r.s)(1),(0,U.ZZ)(Re=>this.ecomService.isDayPassSubscription?this.openLowPlayTimeRemainingDialog(_e,He):this.ecomService.isLimitedState?this.openTimeCapLimitedPlaytimeDialog(He,this.ecomService.isLimitedPlayableState,De):this.openTimeCapLowPlaytimeDialog(He)))}openMembershipPageWithDayPassCallback(_e,He){this.ecomService.openMembershipPageAndDialog(()=>{this.ecomService.openDayPassCheckoutPage(_.MCB.ScreenLowPlaytimeDayPassDialog,He)},_.MCB.ScreenLowPlaytimeDayPassDialog,He,z.qQ.AddDayPassMembershipProgress)}openLowPlayTimeRemainingDialog(_e,He){return(0,O.zV)([this.browseUxService.getUserPreference(p.mG.skipDayPassLowPlayTimeRemainingDialog,this.idmService.accountStatusChanged),this.ecomService.getUserMembership()]).pipe((0,r.s)(1),(0,U.ZZ)(([De,Re])=>{var K,ke;if(!this.canShowTimeAlertDialog(De,Re.subscription.expirationDateTime,p.mG.skipDayPassLowPlayTimeRemainingDialog))return(0,B.of)(!0);const Ue=this.ecomService.canHardUpsell(),et={text:Ue?Pe_body_text:Pe_body_bodyEcomRestricted,placeholders:{skuShortName:null===(K=Re.product)||void 0===K?void 0:K.shortDescription,remainingTime:this.dateHandlerService.fromNow(null===(ke=Re.subscription)||void 0===ke?void 0:ke.expirationDateTime),addDaysLink:!this.tvMode&&Ue?'class="font-body2-link add-more-days-link"':void 0,linkClickedCallback:this.openMembershipPageWithDayPassCallback.bind(this,_.MCB.ScreenLowPlaytimeDayPassDialog,He)}},gt={secondaryButton:{text:Pe_secondaryButton_text}};this.tvMode&&(Ue?(gt.secondaryButton.text=Pe_augmentedButton_text,gt.threeQuarterSheetData={augmentedButtons:[{text:Pe_secondaryButton_text,id:Pe_secondaryButton_id}]}):gt.threeQuarterSheetData=void 0);const vt=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"layout.dayPassLowPlayTimeAlert.title"},bodyText:et,checkbox:{text:this.tvMode?"common.playAnywayDontShowAgain":Pe_checkbox_text,initialState:Pe_checkbox_initialState,primaryActionInThreeQuarterSheet:!0},primaryButton:{...Pe_primaryButton},...gt}}),Mt=vt.afterOpened().pipe((0,U.ZZ)(Ut=>{if(!Ue||this.tvMode)return Ue||this.tvMode?this.tvMode?vt.secondaryButtonClick:n.w:P.t;{const ct=document.getElementsByClassName("add-more-days-link");if(ct&&ct[0])return(0,e.R)(ct,"click")}return(0,B.of)(void 0)}),(0,r.s)(1),(0,S.M)(()=>{Ue&&this.openMembershipPageWithDayPassCallback(_.MCB.ScreenLowPlaytimeDayPassDialog,He)})),Rt=this.tvMode?vt.augmentedButtonClick.pipe((0,A.p)(Ut=>"cancel"===Ut)):vt.secondaryButtonClick;return(0,E.O4)(vt.primaryButtonClick.pipe((0,l.u)(!0)),Rt.pipe((0,l.u)(!1)),Mt.pipe((0,l.u)(!1)),vt.afterClosed().pipe((0,l.u)(!1))).pipe((0,S.M)(()=>vt.close()),(0,U.ZZ)(Ut=>Ut?this.browseUxService.setUserPreference(p.mG.skipDayPassLowPlayTimeRemainingDialog,{value:vt.checkboxState,expirationDateTime:Re.subscription.expirationDateTime}).pipe((0,l.u)(Ut)):(0,B.of)(Ut)))}))}canShowTimeAlertDialog(_e,He,De){return!_e||(null==_e||!_e.value||(null==_e?void 0:_e.expirationDateTime)!==He)&&(this.removeTimeAlertDialogPreference(De),!0)}removeTimeAlertDialogPreference(_e){return this.browseUxService.setUserPreference(_e,null).pipe((0,r.s)(1)).subscribe()}openHelpThreeQuarterSheet(){return this.redirectService.getRedirectUrl(D.r7.GfnPcSupport).pipe((0,r.s)(1),(0,U.ZZ)(_e=>this.createHelpDialogData(_e)),(0,U.ZZ)(_e=>this.openHelpDialogAndHandleActions(_e)))}createHelpDialogData(_e){const He=this.ecomService.canHardUpsell();return(0,B.of)({headerText:{text:"help.title"},bodyText:{text:"help.body"},primaryButton:{text:"feedback.send"},link:He?{text:"help.visitSupport",url:null!=_e?_e:void 0,shortUrl:D.lp[D.r7.GfnPcSupport]}:void 0,threeQuarterSheetData:{backgroundImageUrl:"shared/assets/img/DefaultStreamerBackgroundArt.jpg",augmentedButtons:He?[{text:"offDeviceLink.button",id:"Back"}]:[{text:"help.visitSupport",id:"visitSupport"},{text:"offDeviceLink.button",id:"Back"}]}})}openHelpDialogAndHandleActions(_e){const He=this.focusManager.restoreFocusAfterClosed(()=>x.Lb.open(this.dialog,{data:_e,autoFocus:!1}));this.udsHelperService.canShowUDSSummonedUIIcon().pipe((0,r.s)(1),(0,A.p)(Ue=>Ue),(0,U.ZZ)(Ue=>{const et={text:"uds.iconTooltip",id:"sessionReport",hasNotificationBadge:!1};return _e.threeQuarterSheetData.augmentedButtons.unshift(et),He.componentInstance&&(He.componentInstance.data={..._e}),this.udsHelperService.readUdsNotificationIconState().pipe((0,r.s)(1),(0,I.T)(gt=>({sessionReportButton:et,initialState:gt})))}),(0,U.ZZ)(({sessionReportButton:Ue,initialState:et})=>(Ue.hasNotificationBadge=et,this.udsHelperService.getUdsIconVisibiltityState().pipe((0,L.Q)(He.afterClosed()),(0,S.M)(gt=>{Ue.hasNotificationBadge=gt}))))).subscribe();const De=He.componentInstance.primaryButtonClick.pipe((0,l.u)(q.SendFeedback)),Re=He.componentInstance.augmentedButtonClick.pipe((0,A.p)(Ue=>"visitSupport"===Ue),(0,l.u)(q.VisitSupport)),K=He.componentInstance.augmentedButtonClick.pipe((0,A.p)(Ue=>"sessionReport"===Ue),(0,l.u)(q.SessionReport)),ke=(0,E.O4)(He.componentInstance.augmentedButtonClick.pipe((0,A.p)(Ue=>"Back"===Ue),(0,l.u)(q.Back)),He.afterClosed().pipe((0,l.u)(q.Back))).pipe((0,r.s)(1));return(0,k.h)(De.pipe((0,L.Q)(He.afterClosed())),Re.pipe((0,L.Q)(He.afterClosed())),K.pipe((0,L.Q)(He.afterClosed())),ke).pipe((0,S.M)(Ue=>{Ue===q.Back&&He.close()}))}openAccountLinkingExpirationDialog(_e,He=!1,De=!1,Re=!1,K=!1){const ke=_e.expirationStatus;let Ue;ke===J.lH.Expired?Ue="accountConnection.accountLinking.warningExpiredDialog":ke===J.lH.ExpiresNow&&(Ue="accountConnection.accountLinking.warningSoonDialog");let gt=Re?"accountConnection.reconnect":"accountConnection.goToConnection";De&&(gt="accountConnection.goToConnection");const vt=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"accountConnection.reconnectAccount"},translateValues:{arg:_e.storeName},bodyText:{text:Ue},primaryButton:{text:gt,accentColor:!0},secondaryButton:{text:He?"common.cancel":"common.notNow"}}},{preferredDialogType:x.QO.ThreeQuarterSheet,disableFocusRestore:K});return(0,E.O4)(vt.primaryButtonClick.pipe((0,l.u)(Re?T.Reconnect:T.GoToConnection)),vt.secondaryButtonClick.pipe((0,l.u)(He?T.Cancel:T.NotNow)),vt.afterClosed().pipe((0,l.u)(null))).pipe((0,r.s)(1),(0,U.ZZ)(Mt=>null===Mt?(0,B.of)(null):(vt.close(),Mt===T.Reconnect&&this.appConfig.featureEnablement.loginPopupBlockerWorkaround?(0,B.of)(Mt):vt.afterClosed().pipe((0,l.u)(Mt)))))}openAccountLinkingConnectingDialog(_e,He,De=!1){const Re=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:He?"accountConnection.accountLinking.reconnectingAccount":"accountConnection.accountLinking.connectionProgressTitle"},bodyText:{text:He?"accountConnection.accountLinking.reconnectInProgress":"accountConnection.accountLinking.connectionProgress"},primaryButton:{text:"common.cancel"}}},{preferredDialogType:x.QO.ThreeQuarterSheet,disableFocusRestore:De});return(0,E.O4)(_e,Re.primaryButtonClick.pipe((0,l.u)("")),Re.afterClosed().pipe((0,l.u)(null))).pipe((0,s.W)(()=>(0,B.of)("")),(0,U.ZZ)(K=>null===K?(0,B.of)(K):(Re.close(),Re.afterClosed().pipe((0,l.u)(K)))))}openOffDeviceAccountLinkingDialog(_e,He,De=!1){let Re;const K=He.pipe((0,U.ZZ)(ke=>{const Ue=this.appConfig.featureEnablement.preferBottomSheetForLogin,et=Ue?{link:{url:ke.verificationUriComplete,text:""}}:{image:{url:ke.verificationUriComplete}},gt={preferredDialogType:Ue?x.QO.BottomSheet:x.QO.ThreeQuarterSheet,disableFocusRestore:De};return Re=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:(0,te.ZE)(ke.verificationUri)},bodyText:{text:"loginBridgeState.deviceAuthLogin",placeholders:{authCode:`
${(0,te.zC)(ke.userCode)}
`}},footerText:{text:"layout.gameOwnershipPrompt.offDeviceHint"},...et,primaryButton:{text:"common.cancel"}}},{...gt}),(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(!1)),Re.afterClosed().pipe((0,l.u)(null)))}));return(0,E.O4)(_e,K).pipe((0,s.W)(()=>(0,B.of)(!1)),(0,U.ZZ)(ke=>null===ke?(0,B.of)(!1):(Re.close(),Re.afterClosed().pipe((0,l.u)(ke)))))}openAccountLinkingErrorDialog(_e,He=!0){const De=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"accountConnection.accountLinking.connectionFailedTitle"},bodyText:{text:"accountConnection.accountLinking.connectionFailed",placeholders:{arg:_e}},primaryButton:{text:"common.close"},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet,disableFocusRestore:He});return(0,E.O4)(De.primaryButtonClick.pipe((0,l.u)(!1)),De.afterClosed().pipe((0,l.u)(null))).pipe((0,r.s)(1),(0,U.ZZ)(Re=>null===Re?(0,B.of)(Re):(De.close(),De.afterClosed().pipe((0,l.u)(Re)))))}openPlaytestLiveErrorDialog(){return this.dialog.open(a.SO,{panelClass:"nv-hig",width:`${a.$3}px`,disableClose:!0,backdropClass:"dialog-backdrop"}).afterClosed()}openPlaytestLivePermissionHigDialog(_e){const He=this.focusManager.restoreFocusAfterClosed(()=>this.dialog.open(a.RI,{panelClass:"nv-hig",width:`${a.$3}px`,disableClose:!0,backdropClass:["dialog-backdrop","nv-overlay-panel"]}));return(0,E.O4)(He.componentInstance.primaryButtonClick.pipe((0,l.u)(!0)),He.componentInstance.secondaryButtonClick.pipe((0,l.u)(!1))).pipe((0,S.M)(()=>He.close()),(0,I.T)(De=>De||!1))}openPlaytestLiveFeedbackHigDialog(_e){return this.dialog.open(a.zn,{panelClass:"nv-hig",width:`${a.$3}px`,disableClose:!0,backdropClass:"dialog-backdrop"}).afterClosed()}openPlaytestLiveWebcamPreview(_e){return this.dialog.open(a.tP,{panelClass:"nv-hig",width:`${a.$3}px`,height:`${a.KG}px`,disableClose:!0,backdropClass:"dialog-backdrop"}).afterClosed()}openPlaytestLiveMicrophonePreview(_e){return this.dialog.open(a.YG,{panelClass:"nv-hig",width:`${a.$3}px`,height:`${a.KG}px`,disableClose:!0,backdropClass:"dialog-backdrop"}).afterClosed()}openPwaSetupGuidanceDialog(){this.focusManager.restoreFocusAfterClosed(()=>this.dialog.open(N.H$,{autoFocus:!0,hasBackdrop:!0,panelClass:["dialogPaddingRemove","nv-overlay-panel"]}))}openPluginFailureDialog(_e,He){let De={text:"pluginLoadFailure.mandatoryPluginFailure"};_e||(De={text:"pluginLoadFailure.optionalPluginFailure",placeholders:{feature:He}},He||(De={text:"pluginLoadFailure.mulipleOptionalPluginFailure"}));const Re=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"pluginLoadFailure.title"},bodyText:De,primaryButton:{text:_e?"common.quit":"common.close"},disableBackToClose:!0}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(!0)),Re.secondaryButtonClick.pipe((0,l.u)(!1))).pipe((0,S.M)(()=>Re.close()),(0,I.T)(K=>K||!1))}showPlatformOverridePermissionDialog(_e,He,De){const Re=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"multiplatform.switchDialog.title"},bodyText:{text:"multiplatform.switchDialog.description",placeholders:{currentStore:He,newStore:De}},primaryButton:{text:"common.continue"},secondaryButton:{text:"common.cancel"}}});return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(!0)),Re.secondaryButtonClick.pipe((0,l.u)(!1)),Re.afterClosed().pipe((0,l.u)(null))).pipe((0,r.s)(1),(0,S.M)(K=>{Re.close(),null!==K&&this.telemetryUtilService.sendClickEvent(_.EBD.PlatformChangeConsent,De,`${_e}/ContinueClicked=${K}`)}))}showExitAppDialog(){const _e=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"layout.exitAppPrompt.headerText"},primaryButton:{text:"layout.exitAppPrompt.primaryButton",accentColor:!0},secondaryButton:{text:"common.cancelTitleCase"}}});return(0,E.O4)(_e.primaryButtonClick.pipe((0,l.u)(!0)),_e.secondaryButtonClick.pipe((0,l.u)(!1)),_e.afterClosed().pipe((0,l.u)(!1))).pipe((0,r.s)(1),(0,S.M)(()=>_e.close()))}showLoginFailedDialog(_e){let He;return this.redirectService.getRedirectUrl(D.r7.GfnServerStatus).pipe((0,I.T)(De=>[De,D.lp[D.r7.GfnServerStatus]]),(0,U.ZZ)(([De,Re])=>(He=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{link:this.tvMode?{text:"loginWall.gfnServiceStatus",shortUrl:Re,url:De}:void 0,headerText:{text:"loginWall.loginFailed"},bodyText:{text:"loginWall.genericErrorWithStatusURL",placeholders:{serverStatusURL:this.tvMode?void 0:`class="font-body2-link" href="${De}"`}},primaryButton:_e?{text:"common.retry",accentColor:!0}:null,secondaryButton:{text:"common.close"}}},{preferredDialogType:x.QO.ThreeQuarterSheet}),(0,E.O4)(He.primaryButtonClick.pipe((0,l.u)(!0)),He.secondaryButtonClick.pipe((0,l.u)(!1)),He.afterClosed().pipe((0,l.u)(!1))))),(0,r.s)(1),(0,S.M)(()=>He.close()))}showProviderSwitchDialog(_e,He){const De=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"common.productName"},bodyText:{text:"loginWall.providerSwitchDialogBody",placeholders:{versionString:_e,providerString:He}},primaryButton:{text:"settings.provider.switchProvider"},secondaryButton:{text:"common.close"}}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(De.primaryButtonClick.pipe((0,l.u)(!0)),De.secondaryButtonClick.pipe((0,l.u)(!1)),De.afterClosed().pipe((0,l.u)(!1))).pipe((0,S.M)(Re=>{De.close()}))}getPlatformSelectionPatchingStatusText(_e){return _e===i.jv.PATCHING?{text:"fencedStatus.patchingStatus"}:_e===i.jv.SERVER_MAINTENANCE?{text:"fencedStatus.offlineStatus"}:void 0}getPlatformSelectionButtonLabel(_e){return"Play"===_e?"common.continue":"GetGame"===_e?"multiplatform.dialog.getGameButton":"common.select"}getStoreLabel(_e){return _e.appStoreInfo.label===f.$f?_e.publisherName:_e.appStoreInfo.label}getFencedStatus(_e){var He,De;return null!==(He=null==_e||null===(De=_e.gfn)||void 0===De?void 0:De.status)&&void 0!==He?He:i.jv.UNAVAILABLE}shouldDisablePlatformSelectionButton(_e,He,De){return"Play"===De&&(_e!==i.jv.AVAILABLE||!He)}shouldDisplayPlatformSelectionButton(_e,He){return"GetGame"!==_e||!(null==He||!He.storeUrl)}getSelectorCardSecondaryInfo(_e,He){var De;let K;switch((0,o.A$)(_e)){case o.E8.OwnedManual:case o.E8.OwnedPlatformSync:K="layout.owned";break;default:K=null}return{matIcon:(null===(De=He.selectedPlatformVariant)||void 0===De?void 0:De.id)===(null==_e?void 0:_e.id)?"check":null,text:K}}buildPlatformSelectionCardData(_e){return _e.variants.map(He=>{const De=this.getFencedStatus(He),Re={selectorCardIcon:{url:He.appStoreInfo.smallImageUrl,caption:this.getStoreLabel(He)},selectorCardButtons:_e.buttons.filter(K=>this.shouldDisplayPlatformSelectionButton(K,He)).map(K=>({text:this.getPlatformSelectionButtonLabel(K),isDisabled:this.shouldDisablePlatformSelectionButton(De,_e.isInputSupported,K),id:{storeId:He.id,buttonId:K}})),secondaryInfo:this.getSelectorCardSecondaryInfo(He,_e)};return null!=_e&&_e.showPatchingText&&(Re.selectorCardStatusText=this.getPlatformSelectionPatchingStatusText(De)),Re})}storeSelectionDialog(_e,He){const De={header:{text:_e.gameName},backgroundImageUrl:_e.heroImageURL,title:{text:"layout.evidenceMetadata.selectPlatfrom"},content:this.buildPlatformSelectionCardData(_e)},Re=this.fullPageDialog.open(De,He),K=Re.componentInstance.buttonClick.pipe((0,A.p)(et=>"Play"===et.id.buttonId),(0,r.s)(1)),ke=Re.componentInstance.buttonClick.pipe((0,A.p)(et=>"Play"!==et.id.buttonId&&"GetGame"!==et.id.buttonId),(0,r.s)(1)),Ue=Re.componentInstance.buttonClick.pipe((0,A.p)(et=>"GetGame"===et.id.buttonId),(0,M.n)(et=>this.openPurchaseDialog({gameName:_e.gameName,isInputSupported:_e.isInputSupported,selectedPlatformVariant:_e.variants.find(gt=>gt.id===et.id.storeId),heroImageURL:_e.heroImageURL}).pipe((0,A.p)(gt=>!!gt),(0,I.T)(()=>et))));return(0,E.O4)(K,ke,Ue,Re.afterClosed().pipe((0,l.u)(!1),(0,r.s)(1))).pipe((0,I.T)(et=>{if(Re.close(),et)return _e.variants.find(gt=>gt.id===et.id.storeId)}))}openStoreSelectorFullPageDialog(_e,He){const De=["Play"];return _e.showGetGame&&De.push("GetGame"),this.storeSelectionDialog({..._e,buttons:De,showPatchingText:!0},He)}openAddToLibraryFullPageDialog(_e,He){return this.storeSelectionDialog({..._e,buttons:["AddToLibrary"]},He)}openGetGameFullPageDialog(_e,He){if(_e.selectedPlatformVariant){const De=_e.selectedPlatformVariant;return this.openPurchaseDialog({gameName:_e.gameName,isInputSupported:_e.isInputSupported,selectedPlatformVariant:De,heroImageURL:_e.heroImageURL},He).pipe((0,I.T)(Re=>Re&&De||null))}return this.storeSelectionDialog({..._e,buttons:["GetGame"]},He)}openChangeGameStoreFullPageDialog(_e,He){return this.storeSelectionDialog({..._e,buttons:["ChangeGameStore"],showCurrentSelection:!0},He)}openAccountProfileDialog(){const _e=this.ecomService.canHardUpsell();return this.redirectService.getRedirectUrl(D.r7.GfnAccountManagementSSO).pipe((0,r.s)(1),(0,I.T)(De=>({headerText:{text:_e?D.lp[D.r7.GfnAccountManagementSSO]:void 0},image:_e?{url:De}:void 0,bodyText:{text:_e?"offDeviceLink.title":"ecommerce.accountManagementDialog.description"},primaryButton:{text:"offDeviceLink.button"},secondaryButton:{text:"toolbar.logout"}}))).pipe((0,U.ZZ)(De=>{const Re=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:De},{preferredDialogType:x.QO.ThreeQuarterSheet}),K=Re.secondaryButtonClick.pipe((0,U.ZZ)(()=>this.openLogoutConfirmationDialog()),(0,U.ZZ)(ke=>ke?(0,B.of)(Y.Logout):P.t),(0,L.Q)(Re.afterClosed()));return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(Y.Back)),Re.afterClosed().pipe((0,l.u)(Y.Back)),K).pipe((0,r.s)(1),(0,S.M)(()=>Re.close()))}))}openLogoutConfirmationDialog(){const He=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"accountProfile.logoutConfirmationDialogTitle"},bodyText:{text:"accountProfile.logoutConfirmationDialogText"},primaryButton:{text:"offDeviceLink.button"},secondaryButton:{text:"accountProfile.logoutConfirmationDialogButtonText"}}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(He.primaryButtonClick.pipe((0,l.u)(!1)),He.afterClosed().pipe((0,l.u)(!1)),He.secondaryButtonClick.pipe((0,l.u)(!0))).pipe((0,S.M)(()=>He.close()))}showInLineLinkDialog(_e,He=!1){const De=_e.gameInfo.storeUrl,Re=_e.isAccountLinkingSsoRequired;let K={text:De?H_body_text:H_body_textWithoutURL,placeholders:{storeUrl:!this.tvMode&&De?`class="font-body2-link" href="${De}"`:void 0}};_e.showOnboardingReconnect&&(K={text:"accountConnection.newFeature",placeholders:void 0});const ke=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"accountConnection.connectAccount"},translateValues:{arg:_e.gameInfo.appStoreLabel},bodyText:K,primaryButton:{...H_primaryButton},secondaryButton:Re?{text:"common.cancel"}:{text:"common.notNow"},checkbox:Re?void 0:{text:this.tvMode?"layout.inLineAccountLinkingPrompt.dontShowAgainButton":H_checkbox_text,initialState:H_checkbox_initialState,primaryActionInThreeQuarterSheet:!1},link:_e.gameInfo.storeUrlClickedCallback&&this.tvMode?{text:H_tvLink_text,linkClickedCallback:_e.gameInfo.storeUrlClickedCallback}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData,descriptionList:_e.descriptionIconList}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(this.userActivationGuardService.guardObservable(x.HK.Link,ke.primaryButtonClick).pipe((0,l.u)(T.Connect)),ke.secondaryButtonClick.pipe((0,l.u)(Re?T.Cancel:He?T.NotNow:T.ManuallyMarkAsOwned)),ke.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(Ue=>{if(null===Ue)return(0,B.of)({dialogAction:Ue,checkBoxState:!1});const et=ke.checkboxState;return ke.close(),Ue===T.Connect&&this.appConfig.featureEnablement.loginPopupBlockerWorkaround?(0,B.of)({dialogAction:Ue,checkBoxState:et}):ke.afterClosed().pipe((0,l.u)({dialogAction:Ue,checkBoxState:et}))}))}openInlineSyncInProgressDialog(_e,He,De){const Re=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{disableBackToClose:!0,showSpinner:!0,headerText:{text:"layout.inLineSyncInProgress.header"},bodyText:{text:y_body_text,placeholders:{storeName:De}},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return _e.pipe((0,U.ZZ)(K=>K?He.pipe((0,U.ZZ)(ke=>(Re.close(),Re.afterClosed().pipe((0,l.u)(ke))))):(Re.close(),Re.afterClosed().pipe((0,l.u)(!1)))))}profileNotCreatedDialog(_e,He){const De=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.inLineSyncFailure.errorHeader"},translateValues:{storeName:_e},bodyText:{text:d_body_text,placeholders:{storeName:_e,redirectUrl:this.tvMode?void 0:`class="font-body2-link" href="${He}"`}},primaryButton:{...d_primaryButton},secondaryButton:{text:"common.notNow"},link:He?{text:this.tvMode?"layout.inLineSyncFailure.profileNotCreated.tvLink":void 0,placeholders:{storeName:_e},url:this.tvMode?He:void 0}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(De.primaryButtonClick.pipe((0,l.u)(T.Resync)),De.secondaryButtonClick.pipe((0,l.u)(T.ManuallyMarkAsOwned)),De.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(Re=>null===Re?(0,B.of)(Re):(De.close(),De.afterClosed().pipe((0,l.u)(Re)))))}profileNotPublicIssueDialog(_e,He,De){const Re=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.inLineSyncFailure.errorHeader"},translateValues:{storeName:_e},bodyText:{text:g_body_text,placeholders:{userName:De,storeName:_e,redirectUrl:this.tvMode?void 0:`class="font-body2-link" href="${He}"`}},primaryButton:{...g_primaryButton},secondaryButton:{text:"common.notNow"},link:He?{text:this.tvMode?"layout.inLineSyncFailure.notPublicIssue.tvLink":void 0,url:this.tvMode?He:void 0}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(T.Resync)),Re.secondaryButtonClick.pipe((0,l.u)(T.ManuallyMarkAsOwned)),Re.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(K=>null===K?(0,B.of)(K):(Re.close(),Re.afterClosed().pipe((0,l.u)(K)))))}permissionFailureDialog(_e){const He=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"accountConnection.reconnectAccount"},translateValues:{arg:_e},bodyText:{text:C_body_text},primaryButton:{...C_primaryButton},secondaryButton:{text:"common.close"},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(He.primaryButtonClick.pipe((0,l.u)(T.GoToConnection)),He.secondaryButtonClick.pipe((0,l.u)(T.Cancel)),He.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(De=>null===De?(0,B.of)(De):(He.close(),He.afterClosed().pipe((0,l.u)(De)))))}syncFailureDialog(_e){const He=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.inLineSyncFailure.failedSync.header"},bodyText:{text:c_body_text,placeholders:{appStore:_e}},primaryButton:{...c_primaryButton},secondaryButton:{text:"common.close"},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(He.primaryButtonClick.pipe((0,l.u)(T.Resync)),He.secondaryButtonClick.pipe((0,l.u)(T.Cancel)),He.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(De=>null===De?(0,B.of)(De):(He.close(),He.afterClosed().pipe((0,l.u)(De)))))}showLibrarySyncedDialog(_e,He,De){const Re=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.inLineLibrarySynced.header"},translateValues:{storeApp:_e},bodyText:{text:Q_body_text,placeholders:{noOfGames:He,userName:De}},primaryButton:{...Q_primaryButton},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(T.Done)),Re.afterClosed().pipe((0,l.u)(T.Done))).pipe((0,S.M)(()=>Re.close()))}noGameSyncedDialog(_e,He,De){const Re=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.inLineNoGameSynced.header"},bodyText:{text:j_body_text,placeholders:{storeName:_e,userName:De,storeUrl:He.storeUrl&&!this.tvMode?`class="font-body2-link" href="${He.storeUrl}"`:void 0}},primaryButton:{...j_primaryButton},secondaryButton:{text:"common.notNow"},link:He.storeUrlClickedCallback&&this.tvMode?{text:j_tvLink_text,linkClickedCallback:He.storeUrlClickedCallback}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(T.Resync)),Re.secondaryButtonClick.pipe((0,l.u)(T.ManuallyMarkAsOwned)),Re.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(K=>null===K?(0,B.of)(K):(Re.close(),Re.afterClosed().pipe((0,l.u)(K)))))}markGameAsManuallyOwned(_e){const He=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.manuallyOwnPrompt.header"},bodyText:{text:_e.appStoreLabel?_e.storeUrl?le_body_text:le_body_textWithoutURL:_e.storeUrl?le_genericBody_text:le_genericBody_textWithoutURL,placeholders:{appStore:_e.appStoreLabel,storeUrl:_e.storeUrl&&!this.tvMode?`class="font-body2-link" href="${_e.storeUrl}"`:void 0}},primaryButton:{...le_primaryButton},secondaryButton:{text:"common.cancel"},link:_e.storeUrlClickedCallback&&this.tvMode?{text:le_tvLink_text,linkClickedCallback:_e.storeUrlClickedCallback}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(He.primaryButtonClick.pipe((0,l.u)(T.MarkAsOwned)),He.secondaryButtonClick.pipe((0,l.u)(T.Cancel)),He.afterClosed().pipe((0,l.u)(null))).pipe((0,S.M)(()=>He.close()))}openInLineConnectSuccessDialog(_e,He,De){const Re=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.inLineAccountConnected.header"},translateValues:{storeName:_e},bodyText:{text:De?X_reconnectBody_text:X_connectBody_text,placeholders:{userName:He}},primaryButton:{...X_primaryButton},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(Re.primaryButtonClick.pipe((0,l.u)(!0)),Re.afterClosed().pipe((0,l.u)(!1))).pipe((0,U.ZZ)(K=>null===K?(0,B.of)(K):(Re.close(),Re.afterClosed().pipe((0,l.u)(K)))))}openResyncGameStore(_e,He){const De=this.genericDialog.open({disableClose:!0,panelClass:"dialogPaddingRemove",data:{headerText:{text:"layout.resyncGameStore.header"},translateValues:{appStore:_e.appStoreLabel},bodyText:{text:ge_body_text,placeholders:{userName:He,storeUrl:_e.storeUrl&&!this.tvMode?`class="font-body2-link" href="${_e.storeUrl}"`:void 0}},primaryButton:{...ge_primaryButton},secondaryButton:{text:"common.notNow"},link:_e.storeUrlClickedCallback&&this.tvMode?{text:ge_tvLink_text,linkClickedCallback:_e.storeUrlClickedCallback}:void 0,threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(De.primaryButtonClick.pipe((0,l.u)(T.Resync)),De.secondaryButtonClick.pipe((0,l.u)(T.ManuallyMarkAsOwned)),De.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(Re=>null===Re?(0,B.of)(Re):(De.close(),De.afterClosed().pipe((0,l.u)(Re)))))}openPurchaseDialog(_e,He){var De,Re;if(!_e.selectedPlatformVariant.storeUrl)return(0,B.of)(void 0);const K=this.getPlatformSelectionPatchingStatusText(this.getFencedStatus(_e.selectedPlatformVariant)),ke=this.fullPageDialog.open({header:{text:_e.gameName,translated:!0},title:{text:"pathToPurchase.title"},subtitle:{text:"pathToPurchase.subtitle"},backgroundImageUrl:_e.heroImageURL,content:{choiceChipTitle:{text:this.getStoreLabel(_e.selectedPlatformVariant),translated:!0},choiceChipIcon:{text:null!==(De=null===(Re=_e.selectedPlatformVariant.appStoreInfo)||void 0===Re?void 0:Re.smallImageUrl)&&void 0!==De?De:""},choiceChipContent:[{stepTitle:{text:"pathToPurchase.step1"},stepDescription:{text:"pathToPurchase.scanQrCode"},stepImage:{text:"",url:_e.selectedPlatformVariant.storeUrl}},{stepTitle:{text:"pathToPurchase.step2"},stepDescription:{text:"pathToPurchase.getDigitalVersion"},stepImage:{matIcon:"phone_illustration",text:""}},{stepTitle:{text:"pathToPurchase.step3"},stepDescription:{text:"pathToPurchase.backAndPlay"},stepImage:{matIcon:"tv_illustration",text:""}}],choiceChipButtons:[{text:"common.close",isDisabled:!!K,spinnerOverlay:!1,id:"close"}],choiceChipStatusText:{title:K}}},He);return(0,E.O4)(ke.componentInstance.buttonClick,ke.afterClosed().pipe((0,l.u)(void 0))).pipe((0,I.T)(Ue=>!!Ue&&(ke.close(),!0)))}showBuyProtectionDialog(_e,He,De,Re=!0,K=null){return(0,O.zV)([this.browseUxService.getUserPreference(p.mG.skipBuyProtectionDialog,this.idmService.accountStatusChanged),this.translateService.get("ecommerce.skuBasedUnplayableDialogHeader",{SKU:_e})]).pipe((0,r.s)(1),(0,U.ZZ)(([ke,Ue])=>{if(ke)return(0,B.of)(!0);const et=this.ecomService.canHardUpsell(),gt="upgrade-account-link";let Mt;this.tvMode&&(Mt={text:et?"ecommerce.upgrade":"ecommerce.viewAccount",url:void 0,shortUrl:void 0,linkClickedCallback:et?De:He});const Ut=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:Ue},bodyText:{text:et?"ecommerce.skuBasedUnplayableDialogBodyUpgrade":"ecommerce.skuBasedUnplayableDialogBodyEcomRestricted",placeholders:{viewMembershipUrl:void 0,membershipUpgradeUrl:!this.tvMode&&et?`class="font-body2-link link-wrap ${gt}"`:void 0,SKU:_e}},checkbox:{text:this.tvMode?"ecommerce.continueAndDontShow":"common.dontShowThisAgain",initialState:!1,primaryActionInThreeQuarterSheet:!0},link:et?Mt:void 0,primaryButton:{text:Re?"ecommerce.continueToGameStore":"common.continueTitleCase"},secondaryButton:{text:Re?"ecommerce.notNow":"common.cancelTitleCase"},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}}),ct=Ut.afterOpened().pipe((0,U.ZZ)(Me=>{if(!et||this.tvMode)return P.t;{const bt=document.getElementsByClassName(gt);if(bt&&bt[0])return(0,e.R)(bt,"click")}return(0,B.of)(void 0)}),(0,r.s)(1),(0,S.M)(()=>{this.telemetryUtilService.sendPopUpDialogShownEvent(_.duU.Buy_Protection_Information),et?De():He()}));return(0,E.O4)(Ut.primaryButtonClick.pipe((0,l.u)(!0)),Ut.secondaryButtonClick.pipe((0,l.u)(!1)),this.tvMode?Ut.linkClick.pipe((0,l.u)(!1)):ct.pipe((0,l.u)(!1)),Ut.afterClosed().pipe((0,l.u)(!1))).pipe((0,r.s)(1),(0,S.M)(()=>Ut.close()),(0,U.ZZ)(Me=>(this.telemetryUtilService.sendPopUpDialogClosedEvent(_.duU.Buy_Protection_Information,Me?_.HBm.Continue_To_Game_Store:_.HBm.Dialog_Closed,0,0,_.T80.FALSE,Ut.checkboxState?_.T80.TRUE:_.T80.FALSE),Me?(Re&&K&&K(),this.browseUxService.setUserPreference(p.mG.skipBuyProtectionDialog,Ut.checkboxState).pipe((0,l.u)(!0))):(0,B.of)(Me))))}))}openUpdateRequiredDialog(){const _e=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"updateApplication.confirmationTitle"},bodyText:{text:"updateApplication.confirmationText"},primaryButton:{text:"notification.restartNow"},secondaryButton:{text:"common.cancel"},threeQuarterSheetData:this.threeQuarterSheetBackgroundData}},{preferredDialogType:x.QO.ThreeQuarterSheet});return(0,E.O4)(_e.primaryButtonClick.pipe((0,l.u)(R.b2.RelaunchNow)),_e.secondaryButtonClick.pipe((0,l.u)(R.b2.Cancel)),_e.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(He=>null===He?(0,B.of)(He):(_e.close(),_e.afterClosed().pipe((0,l.u)(He)))))}openQuitAndProceedDialog(_e){const He=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"quitAndProceedDialog.title",placeholders:{gameName:_e}},translateValues:{gameName:_e},bodyText:{text:"quitAndProceedDialog.body",placeholders:{gameName:_e}},primaryButton:{text:"common.continue"},secondaryButton:{text:"common.cancel"}}});return(0,E.O4)(He.primaryButtonClick.pipe((0,l.u)(!0)),He.secondaryButtonClick.pipe((0,l.u)(!1)),He.afterClosed().pipe((0,l.u)(null))).pipe((0,U.ZZ)(De=>null===De?(0,B.of)(!1):(He.close(),He.afterClosed().pipe((0,l.u)(De)))))}openQuitConfirmationDialog(_e={}){const{isGuestAppFlow:He=!1,disableBackToClose:De=!1,trapFocus:Re=!1,afterOpened:K}=_e,Ue={headerText:{text:`common.${He?"guestApp.":""}quitGame`},bodyText:{text:"common.wantQuit"},secondaryButton:{text:"common.cancelTitleCase"},primaryButton:{text:"common.quit",accentColor:!0},disableBackToClose:De,trapFocus:Re},et=this.genericDialog.open({panelClass:"dialog-component-container",disableClose:!0,data:{...Ue}}),gt=K?et.afterOpened().pipe((0,U.ZZ)(vt=>(K(),P.t))):P.t;return(0,E.O4)(gt,et.primaryButtonClick.pipe((0,S.M)(()=>{Ue.primaryButton.spinnerOverlay=!0,Ue.primaryButton.isDisabled=!0,Ue.secondaryButton.isDisabled=!0}),(0,l.u)(!0)),et.secondaryButtonClick.pipe((0,l.u)(!1)),et.afterClosed().pipe((0,l.u)(null))).pipe((0,r.s)(1),(0,U.ZZ)(vt=>null===vt?(0,B.of)(!1):(et.close(vt),et.afterClosed().pipe((0,l.u)(vt)))),(0,u.j)(()=>{et.close()}))}}return(Qe=Fe).\u0275fac=function(_e){return new(_e||Qe)(h.KVO(W.J6),h.KVO(ne.Vk),h.KVO(ee.bZ),h.KVO(b.T),h.KVO(w.c$),h.KVO(_.jgD),h.KVO(F.yQ),h.KVO(Z.k_),h.KVO(D.Q5),h.KVO(x.uh),h.KVO(z.yJ),h.KVO(N.Lk),h.KVO(W.NZ),h.KVO(x.c_),h.KVO(x.Vm),h.KVO(W.I_),h.KVO(x.gE),h.KVO(se.u))},Qe.\u0275prov=h.jDH({token:Qe,factory:Qe.\u0275fac,providedIn:"root"}),Fe})()},59062:(xe,de,t)=>{"use strict";t.d(de,{Tq:()=>e.Tq,mw:()=>e.mw,o3:()=>e.o3,pL:()=>e.pL});var e=t(35833)},82094:(xe,de,t)=>{"use strict";var e;t.d(de,{Oz:()=>P,$f:()=>n,EU:()=>E,X9:()=>k});const n="",E="Other",O="UNKNOWN",B={store:O,label:n};var P=function(U){return U.AccountGamesSyncing="AccountGamesSyncing",U.AccountLinkingSso="AccountLinkingSso",U}(P||{});class k{static get StoresList(){return this.digitalStoresList||[]}static buildDigitalStoresMapFromList(){var r;null!==(r=this.digitalStoresList)&&void 0!==r&&r.length&&(this.digitalStoresMap={},this.digitalStoresList.forEach(A=>{this.digitalStoresMap[A.store]={store:A.store,label:A.label||n,smallImageUrl:A.smallImageUrl||"",largeImageUrl:A.largeImageUrl||"",sortOrder:A.sortOrder,accountLinkingMetadata:A.accountLinkingMetadata}}))}static get StoresMap(){return this.digitalStoresMap||{}}static getStoreInfoForAppstore(r){return this.StoresMap[r]||this.StoresMap[O]||B}static setAppStoresDefinitions(r){null!=r&&r.length&&(this.digitalStoresList=r),this.buildDigitalStoresMapFromList()}static setGenreDefinitions(r){r&&r.forEach(A=>this.genreDefinitionsMap.set(A.genre,A.label))}static sortVariants(r){r.length>1&&r.sort((A,l)=>{var I,S;return(null===(I=this.StoresMap[A.appStore])||void 0===I?void 0:I.sortOrder)-(null===(S=this.StoresMap[l.appStore])||void 0===S?void 0:S.sortOrder)})}}(e=k).digitalStoresMap=null,e.genreDefinitionsMap=new Map},82973:(xe,de,t)=>{"use strict";t.d(de,{h:()=>p});var e=t(76449),n=t(61958),E=t(47766),O=t(83915),B=t(34593),P=t(14714),k=t(75707),U=t(38006),r=t(26875),A=t(85735),l=t(43848),I=t(31315),S=t(78893),L=t(58527),s=t(22600),M=t(14354),u=t(80838),x=t(18587);let p=(()=>{var i;class o{constructor(f,J,a,D,te,N,z,R,v,h){this.appConfig=J,this.distributedTracingUtilService=a,this.systemInfoService=D,this.nesUserInfoService=te,this.sharedStorageCachingService=N,this.localeService=z,this.router=R,this.gridService=v,this.userConsentService=h,this.disableTracingReplaySubject=new A.m(1),this.globalTagsReplaySubject=new A.m(1),this.acceptableFunctionalConsentLevels=[E.Rg.Full,E.Rg.Temp],this.logger=f.getLogger("gfn/distributed-tracing-initializer")}initializeDistributedTracing(){this.userConsentService.getUserConsent$().subscribe(J=>{const a=!this.acceptableFunctionalConsentLevels.includes(J.functional);this.disableTracingReplaySubject.next(a)}),this.distributedTracingUtilService.initializeDistributedTracing(this.appConfig.otelTracerConfig,this.appConfig.statusCodeZeroAnalyzerConfig,this.disableTracingReplaySubject,this.globalTagsReplaySubject),this.setGlobalTags()}setGlobalTags(){const f=(0,l.of)({[e.NS.ServiceVersion]:(0,n.Cl)(this.appConfig),[e.NS.ServiceType]:e.Se.Pc_A7,[e.NS.SpanKind]:e.ls.Client,[e.NS.AppName]:(0,S.I2)(this.router.url)?S.td.Streamer:S.td.Mall}),J=this.systemInfoService.getSystemInfo([E.Lu.DeviceId]).pipe((0,O.T)(z=>({[e.NS.DeviceId]:z.DeviceId})),(0,B.Z)({})),a=(0,I.zV)([this.systemInfoService.getSystemInfo([E.Lu.OSName,E.Lu.OSVersion]),this.systemInfoService.getDeviceOSType()]).pipe((0,O.T)(([z,R])=>({[e.NS.ClientOs]:R,[e.NS.ClientOsName]:z.OSName,[e.NS.ClientOsVersion]:z.OSVersion})),(0,B.Z)({}),(0,P.W)(z=>(this.logger.info(`Error fetching osInfo: ${z}`),(0,l.of)({})))),D=this.fetchCountryCode().pipe((0,O.T)(z=>({[e.NS.CountryCode]:z})),(0,B.Z)({})),te=this.localeService.localeChanged.pipe((0,O.T)(z=>({[e.NS.Locale]:z})),(0,B.Z)({})),N=this.gridService.vpcId$.pipe((0,O.T)(z=>({[e.NS.VpcId]:z})),(0,B.Z)({}),(0,P.W)(z=>(this.logger.info(`Error fetching vpcId: ${z}`),(0,l.of)({[e.NS.VpcId]:e.Af.VpcId}))));(0,I.zV)([f,J,a,D,te,N]).subscribe(([z,R,v,h,W,ne])=>{const ee=(0,r.merge)({},z,R,v,h,W,ne);this.logger.info("Setting the global tags:",ee),this.globalTagsReplaySubject.next(ee)})}fetchCountryCode(){return this.sharedStorageCachingService.getItem(U.up.CountryCode).pipe((0,k.ZZ)(f=>{if((0,r.isNil)(f.data))return this.logger.info("Cound not find countrycode in shared storage so fetching from NES"),this.nesUserInfoService.getCountryCode();if(f.expired){if(!this.sharedStorageCachingService.isExpiredValueAllowed(U.up.CountryCode))return this.logger.info("Expired values not allowed for country code hence fetching fresh value from NES"),this.nesUserInfoService.getCountryCode();this.logger.info("The cached country code value is expired so refreshing in backgound"),this.refreshCountryCodeInBackground()}return this.logger.info(`Using the country code from cache ${f.data}`),(0,l.of)(f.data)}))}refreshCountryCodeInBackground(){this.nesUserInfoService.getCountryCode().subscribe()}}return(i=o).\u0275fac=function(f){return new(f||i)(L.KVO(E.J6),L.KVO(n.Vk),L.KVO(e.Z1),L.KVO(E.zW),L.KVO(s.l),L.KVO(U.VC),L.KVO(E.iH),L.KVO(M.Ix),L.KVO(u.G),L.KVO(x.F))},i.\u0275prov=L.jDH({token:i,factory:i.\u0275fac,providedIn:"root"}),o})()},84937:(xe,de,t)=>{"use strict";t.d(de,{O:()=>s});var e=t(26537),n=t(71962),E=t(80583),O=t(4208),B=t(26875),k=t(58527);const U=(M,u)=>[M,u];function r(M,u){if(1&M){const x=k.RV6();k.j41(0,"gfn-join-now",5),k.bIt("primaryButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.onPrimaryButtonClicked(i))})("loginButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.onLoginButtonClicked(i))})("closeButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.oncloseButtonClicked(i))}),k.k0s()}if(2&M){const x=k.XpG();k.Y8G("data",x.data)}}function A(M,u){if(1&M){const x=k.RV6();k.j41(0,"gfn-membership-update-progress",6),k.bIt("primaryButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.onPrimaryButtonClicked(i))})("closeButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.oncloseButtonClicked(i))}),k.k0s()}if(2&M){const x=k.XpG();k.Y8G("data",x.data)}}function l(M,u){if(1&M){const x=k.RV6();k.j41(0,"gfn-membership-refresh-error",7),k.bIt("closeButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.oncloseButtonClicked(i))}),k.k0s()}if(2&M){const x=k.XpG();k.Y8G("data",x.data)}}function I(M,u){if(1&M){const x=k.RV6();k.j41(0,"gfn-membership-not-updated",7),k.bIt("closeButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.oncloseButtonClicked(i))}),k.k0s()}if(2&M){const x=k.XpG();k.Y8G("data",x.data)}}function S(M,u){if(1&M){const x=k.RV6();k.j41(0,"gfn-playtime-update-progress",6),k.bIt("primaryButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.onPrimaryButtonClicked(i))})("closeButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.oncloseButtonClicked(i))}),k.k0s()}if(2&M){const x=k.XpG();k.Y8G("data",x.data)}}function L(M,u){if(1&M){const x=k.RV6();k.j41(0,"gfn-playtime-not-updated",7),k.bIt("closeButtonClicked",function(i){k.eBV(x);const o=k.XpG();return k.Njj(o.oncloseButtonClicked(i))}),k.k0s()}if(2&M){const x=k.XpG();k.Y8G("data",x.data)}}let s=(()=>{var M;class u{get closeResult(){return[this.isEcomPlanChanged,this.currentUIState]}constructor(p,i){this.dialogRef=p,this.data=i,this.currentUIState=n.qQ.InitialState,this.ecomUIState=n.qQ,this.destroy$=new E.B7,this.lastEntitlement=null,this.isEcomPlanChanged=!1,this.membershipUpdateProgressPrimaryButtonClicked=!1}ngOnInit(){this.currentUIState=this.data.ecomUIState,this.initEcommerceSub()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}onPrimaryButtonClicked(p){if(this.currentUIState===n.qQ.InitialState)this.goToNextEcomDlgUIState(n.qQ.MembershipUpdateProgress);else if(this.currentUIState===n.qQ.MembershipUpdateProgress||this.currentUIState===n.qQ.MembershipUpdatetimeProgress){if(this.data.useCase===n.Y1.GaaSFree1HourExceeded||this.data.useCase===n.Y1.GaaSFreeSampleAlreadyUsed||this.data.useCase===n.Y1.GaaSUnsupportedFreeTitle)return this.goToNextEcomDlgUIState(n.qQ.ExitedToLogin),this.closeDialog(),void this.data.buttonClickCallback(n.qQ.ExitedToLogin);this.membershipUpdateProgressPrimaryButtonClicked=!0}}onLoginButtonClicked(p){this.currentUIState===n.qQ.InitialState&&(this.goToNextEcomDlgUIState(n.qQ.ExitedToLogin),this.closeDialog())}oncloseButtonClicked(p){this.closeDialog()}initEcommerceSub(){this.data.getUserMembership$.pipe((0,O.Q)(this.destroy$)).subscribe(p=>{const i=(0,B.get)(p,"subscription.productSku"),o=(0,B.get)(p,"subscription.remainingTimeInMinutes");null!==this.lastEntitlement?(this.isEcomPlanChanged=this.isPlanChanged(i),this.isEcomPlanChanged||this.currentUIState===n.qQ.MembershipUpdatetimeProgress&&this.isPlaytimeChanged(o)?this.closeDialog():this.membershipUpdateProgressPrimaryButtonClicked&&this.goToErrorOrRefreshState(p),this.lastEntitlement={productSku:i,remainingTimeInMinutes:o}):this.lastEntitlement={productSku:i,remainingTimeInMinutes:o}})}isPlanChanged(p){return this.lastEntitlement.productSku!==p}isPlaytimeChanged(p){return this.lastEntitlement.remainingTimeInMinutes{"use strict";t.d(de,{c:()=>se});var e=t(58527),n=t(26875),O=t(80583),B=t(4208),P=t(18433),k=t(71962),U=t(65706),r=t(36206),A=t(18568),l=t(47766),I=t(61958),S=t(19061),L=t(74497),s=t(3457),M=t(28139),u=t(26537),x=t(29370),p=t(47973),i=t(61142),o=t(2218),_=t(60990),f=t(22355),J=t(40514),a=t(69225),D=t(97888),te=t(49219),N=t(33328),z=t(65240);const R=Y=>[Y],v=Y=>({accountManagementLink:Y});function h(Y,q){if(1&Y){const T=e.RV6();e.j41(0,"div",13)(1,"button",14),e.bIt("click",function(){e.eBV(T);const y=e.XpG(2);return e.Njj(y.closeDialog())}),e.j41(2,"mat-icon",15),e.EFF(3,"close"),e.k0s()()()}}function W(Y,q){if(1&Y&&(e.j41(0,"div",9)(1,"div",10)(2,"h1",11),e.EFF(3),e.nI1(4,"translate"),e.k0s()(),e.DNE(5,h,4,0,"div",12),e.k0s()),2&Y){const T=e.XpG();e.R7$(3),e.JRh(e.bMT(4,2,"common.gfn")),e.R7$(2),e.Y8G("ngIf",!T.isGaaS&&T.closeButtonVisible)}}function ne(Y,q){if(1&Y){const T=e.RV6();e.j41(0,"button",19),e.bIt("click",function(){e.eBV(T);const y=e.XpG(2);return e.Njj(y.closeDialog())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&Y){const T=e.XpG(2);e.R7$(),e.SpI(" ",e.bMT(2,1,T.notNowButtonText)," ")}}function ee(Y,q){if(1&Y){const T=e.RV6();e.j41(0,"span")(1,"button",20),e.bIt("click",function(){e.eBV(T);const y=e.XpG(2);return e.Njj(y.joinNowClicked())}),e.EFF(2),e.nI1(3,"translate"),e.k0s()()}if(2&Y){const T=e.XpG(2);e.R7$(),e.Y8G("isVisible",T.showLoadingOnJoinNow),e.R7$(),e.SpI(" ",e.bMT(3,2,T.buttonText)," ")}}function b(Y,q){if(1&Y&&(e.j41(0,"div",16),e.DNE(1,ne,3,3,"button",17)(2,ee,4,4,"span",18),e.k0s()),2&Y){const T=e.XpG();e.R7$(),e.Y8G("ngIf",!T.isGaaS||T.isUpgrade),e.R7$(),e.Y8G("ngIf",T.canHardUpsell)}}function w(Y,q){if(1&Y&&(e.j41(0,"div",26)(1,"span",27),e.EFF(2),e.nI1(3,"translate"),e.k0s()()),2&Y){const T=e.XpG(2);e.R7$(2),e.JRh(e.bMT(3,1,T.upsellMessage))}}function F(Y,q){if(1&Y){const T=e.RV6();e.j41(0,"button",28),e.bIt("click",function(){e.eBV(T);const y=e.XpG(2);return e.Njj(y.joinNowClicked())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&Y){const T=e.XpG(2);e.Y8G("isVisible",T.showLoadingOnJoinNow),e.R7$(),e.SpI(" ",e.bMT(2,2,T.buttonText)," ")}}function Z(Y,q){if(1&Y){const T=e.RV6();e.j41(0,"div",21),e.DNE(1,w,4,3,"div",22),e.j41(2,"div",23)(3,"button",24),e.bIt("click",function(){e.eBV(T);const y=e.XpG();return e.Njj(y.closeDialog())}),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.DNE(6,F,3,4,"button",25),e.k0s()()}if(2&Y){const T=e.XpG();e.R7$(),e.Y8G("ngIf",T.upsellMessage),e.R7$(3),e.SpI(" ",e.bMT(5,3,T.queueLimitExceededCloseButtonText)," "),e.R7$(2),e.Y8G("ngIf",T.showUpgradeButtonForQueueLimitExceeded)}}let se=(()=>{var Y;class q{constructor(H,y,X,c,g,d){var C;this.telemetryUtilService=X,this.spatialNavigationService=c,this.ecomService=g,this.redirectService=d,this.primaryButtonClicked=new e.bkB,this.closeButtonClicked=new e.bkB,this.loginButtonClicked=new e.bkB,this.notNowButtonText="common.notNow",this.showUpgradeButtonForQueueLimitExceeded=!0,this.queueLimitExceededCloseButtonText="common.close",this.queueLimitReached=!1,this.showLoadingOnJoinNow=!1,this.isGaaS=!1,this.isUpgrade=!1,this.canHardUpsell=!0,this.closeButtonVisible=!0,this.destroy$=new O.B7,this.logger=H.getLogger("JoinNowComponent"),this.closeButtonVisible=!(null!=y&&null!==(C=y.featureEnablement)&&void 0!==C&&C.tvMode)}ngOnInit(){switch((this.data.useCase===k.Y1.GaaSFree1HourExceeded||this.data.useCase===k.Y1.GaaSFreeSampleAlreadyUsed||this.data.useCase===k.Y1.GaaSUnsupportedFreeTitle||this.data.useCase===k.Y1.GaaSFreeUserCanUpgrade)&&(this.isGaaS=!0,this.isUpgrade=this.data.useCase===k.Y1.GaaSFreeUserCanUpgrade),this.canHardUpsell=this.ecomService.canHardUpsell(),this.getDialogText(this.data),this.data.useCase){case k.Y1.MaxSessionLengthExceeded:this.sendUpsellTelemetry(P.fbu.StreamerPostSessionUpsell);break;case k.Y1.GaaSFreeUserCanUpgrade:this.sendUpsellTelemetry(P.fbu.StreamerPostSessionFreeGaaSUpsell);break;case k.Y1.GaaSFree1HourExceeded:this.sendUpsellTelemetry(P.fbu.StreamerPostSessionAnonGaaSUpsell);break;case k.Y1.GaaSFreeSampleAlreadyUsed:this.sendUpsellTelemetry(P.fbu.StreamerUsedFreeUpsell);break;case k.Y1.GaaSUnsupportedFreeTitle:this.sendUpsellTelemetry(P.fbu.StreamerNoFreeUpsell)}this.accountManagementLinkShortUrl=r.lp[r.r7.GfnAccountManagement],this.redirectService.getRedirectUrl(r.r7.GfnAccountManagement).pipe((0,U.s)(1),(0,B.Q)(this.destroy$)).subscribe(H=>{this.accountManagementLink=`href="${H}" class='font-body2-link membership-options-link'`})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}sendUpsellTelemetry(H){this.telemetryUtilService.sendUserSessionEvent(P.ay7.LaunchGame,H,0,"",this.data.gameLaunchScreen)}sendUIActionTelemetry(H){let y;switch(this.data.useCase){case k.Y1.MaxSessionLengthExceeded:y=P.Pk9.StreamerPostSessionUpsell;break;case k.Y1.QueueLimitExceeded:y=P.Pk9.StreamerQueueUpsell;break;case k.Y1.GaaSFree1HourExceeded:y=P.Pk9.StreamerPostSessionAnonGaaSUpsell;break;case k.Y1.GaaSUnsupportedFreeTitle:y=P.Pk9.StreamerNoFreeUpsell;break;case k.Y1.GaaSFreeSampleAlreadyUsed:y=P.Pk9.StreamerUsedFreeUpsell;break;case k.Y1.GaaSFreeUserCanUpgrade:y=P.Pk9.StreamerPostSessionFreeGaaSUpsell;break;default:y=P.Pk9.StreamerPostSessionUpsell}this.telemetryUtilService.sendUiActionEvent(H,y)}ngAfterViewInit(){const H=document.getElementsByClassName("join-now-login-link"),y=(null==H?void 0:H.length)>0?H[0]:void 0;y&&this.spatialNavigationService.onClick(y).pipe((0,B.Q)(this.destroy$)).subscribe(X=>{X&&(this.loginButtonClicked.emit(),this.data.buttonClickCallback(k.qQ.ExitedToLogin),this.sendUIActionTelemetry(P.kQl.Login))})}closeDialog(){this.closeButtonClicked.emit(),this.sendUIActionTelemetry(P.kQl.Close)}joinNowClicked(){this.logger.info("User clicked on Join button."),this.data.buttonClickCallback(k.qQ.InitialState),this.showLoadingOnJoinNow=!0,setTimeout(()=>{this.primaryButtonClicked.emit(),this.showLoadingOnJoinNow=!1},k.xY),this.sendUIActionTelemetry(P.kQl.Join)}getDialogText(H){if(this.logger.info("Dialog data received from caller: ",H),(0,n.isNil)(H))this.logger.error("recieved null data in join now component");else{switch(this.data.useCase){case k.Y1.MaxSessionLengthExceeded:this.dialogTitle="ecommerce.upgradeDialog.title",this.description="ecommerce.upgradeDialog.description",this.canHardUpsell?(this.buttonText="ecommerce.upgrade",this.notNowButtonText="common.notNow"):this.notNowButtonText="common.close";break;case k.Y1.QueueLimitExceeded:this.queueLimitReached=!0,H.getUserMembership$.pipe((0,U.s)(1)).subscribe(y=>{this.canHardUpsell&&this.ecomService.featureUpsellAvailable(A.q3.LOWER_SESSION_QUEUE_WAIT_TIME)?(this.description="ecommerce.queueLimitReached.upgradable",this.upsellMessage="ecommerce.upsellPromptForBetterQueuePositionA",this.buttonText="ecommerce.upgrade",this.queueLimitExceededCloseButtonText="common.notNow"):(this.description="ecommerce.queueLimitReached.notUpgradable",this.showUpgradeButtonForQueueLimitExceeded=!1)});break;case k.Y1.GaaSFree1HourExceeded:this.dialogTitle="ecommerce.joinNowDialog.gaaSFree1HourExceededTitle",this.description="ecommerce.joinNowDialog.gaaSFree1HourExceededDescription",this.buttonText="common.joinToday";break;case k.Y1.GaaSUnsupportedFreeTitle:this.dialogTitle="common.joinTodayToPlay",this.description="ecommerce.joinNowDialog.gaaSUnsupportedFreeDescription",this.buttonText="common.joinToday";break;case k.Y1.GaaSFreeSampleAlreadyUsed:this.dialogTitle="common.joinTodayToPlay",this.description="ecommerce.joinNowDialog.gaaSFree1HourExceededDescription",this.buttonText="common.joinToday";break;case k.Y1.GaaSFreeUserCanUpgrade:return this.dialogTitle="ecommerce.joinNowDialog.gaaSFreeUserCanUpgradeTitle",this.description="ecommerce.joinNowDialog.gaaSFreeUserCanUpgradeDescription",this.buttonText="ecommerce.upgrade",void(this.notNowButtonText="common.notNow");default:this.canHardUpsell?(this.dialogTitle="common.almostReadyToPlay",this.description="ecommerce.joinNowDialog.selectMembershipDescription",this.buttonText="common.selectMembership",this.notNowButtonText="common.notNow"):(this.dialogTitle="common.membershipRequired",this.description="ecommerce.joinNowDialogSoftUpsell.selectMembershipDescription",this.notNowButtonText="common.close")}this.loginButtonText="common.login"}}}return(Y=q).\u0275fac=function(H){return new(H||Y)(e.rXU(l.J6),e.rXU(I.Vk),e.rXU(P.jgD),e.rXU(S.ED),e.rXU(L.y),e.rXU(r.Q5))},Y.\u0275cmp=e.VBU({type:Y,selectors:[["gfn-join-now"]],inputs:{data:"data"},outputs:{primaryButtonClicked:"primaryButtonClicked",closeButtonClicked:"closeButtonClicked",loginButtonClicked:"loginButtonClicked"},decls:13,vars:21,consts:[["fxFlexFill","","fxLayout","column","nvSpatialNavigationContainer","","nvCaptureRestoreFocus","",3,"ngClass"],["fxFlex","none","class","custom-title-bar","fxLayout","row",4,"ngIf"],["fxFlex","none","fxLayout","column"],["src","shared/assets/img/GFNUpSellBannerKV_v3.webp",1,"dialog-art"],[3,"ngClass"],[1,"font-header6"],["cdkMonitorSubtreeFocus","",1,"font-body2",3,"innerHTML","shortUrl"],["fxFlex","none","class","dialog-button","fxLayout","row","fxLayoutAlign","end center",4,"ngIf"],["fxFlex","none","fxLayout","column","class","upsell-pane",4,"ngIf"],["fxFlex","none","fxLayout","row",1,"custom-title-bar"],["fxFlex","","fxLayoutAlign","start center"],["mat-dialog-title","",1,"font-header6"],["fxFlex","","fxLayoutAlign","end center",4,"ngIf"],["fxFlex","","fxLayoutAlign","end center"],["mat-icon-button","",3,"click"],["mat-font-set","material-icons"],["fxFlex","none","fxLayout","row","fxLayoutAlign","end center",1,"dialog-button"],["mat-button","","class","font-button2 not-now-button",3,"click",4,"ngIf"],[4,"ngIf"],["mat-button","",1,"font-button2","not-now-button",3,"click"],["mat-raised-button","","nvProgressCircular","","nvAutoFocus","",1,"font-button2",3,"click","isVisible"],["fxFlex","none","fxLayout","column",1,"upsell-pane"],["fxFlex","","fxLayout","column","fxLayoutAlign","start center","class","upsell-pane-message",4,"ngIf"],["fxFlex","","fxLayout","row","fxLayoutAlign","end end","fxLayoutGap","8px",1,"upgrade-container"],["mat-button","",1,"font-button2",3,"click"],["class","font-button2","mat-raised-button","","color","accent","nvProgressCircular","","nvAutoFocus","",3,"isVisible","click",4,"ngIf"],["fxFlex","","fxLayout","column","fxLayoutAlign","start center",1,"upsell-pane-message"],[1,"font-sub2"],["mat-raised-button","","color","accent","nvProgressCircular","","nvAutoFocus","",1,"font-button2",3,"click","isVisible"]],template:function(H,y){1&H&&(e.j41(0,"div",0),e.DNE(1,W,6,4,"div",1),e.j41(2,"div",2),e.nrm(3,"img",3),e.j41(4,"div",4)(5,"h2",5),e.EFF(6),e.nI1(7,"translate"),e.k0s(),e.nrm(8,"p",6),e.nI1(9,"translate"),e.nI1(10,"trustAsHtml"),e.k0s()(),e.DNE(11,b,3,2,"div",7)(12,Z,7,5,"div",8),e.k0s()),2&H&&(e.Y8G("ngClass",e.eq3(15,R,y.data.isStreamerApp?"main-content-streamer":"main-content-mall")),e.R7$(),e.Y8G("ngIf",!y.data.isStreamerApp),e.R7$(3),e.Y8G("ngClass",e.eq3(17,R,y.queueLimitReached?"dialog-content-queue-limit":"dialog-content")),e.R7$(2),e.JRh(e.bMT(7,8,y.dialogTitle)),e.R7$(2),e.Y8G("innerHTML",e.bMT(10,13,e.i5U(9,10,y.description,e.eq3(19,v,y.accountManagementLink))),e.npT)("shortUrl",y.accountManagementLinkShortUrl),e.R7$(3),e.Y8G("ngIf",!y.queueLimitReached),e.R7$(),e.Y8G("ngIf",y.queueLimitReached))},dependencies:[s.DJ,s.BO,s.sA,s.G2,s.UI,M.PW,u.BI,x.An,p.iV,i.YU,i.bT,o.R,_.r,f.N,J.e,a.q,D.Aq,te.q,N.O,z.D9],styles:[":root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.main-content-streamer,.main-content-mall{width:470px;overflow:hidden;transition:height .5s}.main-content-streamer .custom-title-bar,.main-content-mall .custom-title-bar{width:470px;height:50px}:host-context(.isLtr) .main-content-streamer .custom-title-bar,:host-context(.isLtr) .main-content-mall .custom-title-bar{padding-left:24px}html[dir=ltr] .main-content-streamer .custom-title-bar,html[dir=ltr] .main-content-mall .custom-title-bar{--dummy1: 0;padding-left:24px}:host-context(.isRtl) .main-content-streamer .custom-title-bar,:host-context(.isRtl) .main-content-mall .custom-title-bar{padding-right:24px}html[dir=rtl] .main-content-streamer .custom-title-bar,html[dir=rtl] .main-content-mall .custom-title-bar{--dummy1: 0;padding-right:24px}:host-context(.isLtr) .main-content-streamer .custom-title-bar,:host-context(.isLtr) .main-content-mall .custom-title-bar{padding-right:24px}html[dir=ltr] .main-content-streamer .custom-title-bar,html[dir=ltr] .main-content-mall .custom-title-bar{--dummy2: 0;padding-right:24px}:host-context(.isRtl) .main-content-streamer .custom-title-bar,:host-context(.isRtl) .main-content-mall .custom-title-bar{padding-left:24px}html[dir=rtl] .main-content-streamer .custom-title-bar,html[dir=rtl] .main-content-mall .custom-title-bar{--dummy2: 0;padding-left:24px}.main-content-streamer .custom-title-bar .mat-mdc-dialog-title,.main-content-mall .custom-title-bar .mat-mdc-dialog-title{margin-bottom:0}.main-content-streamer .dialog-art,.main-content-mall .dialog-art{width:470px;height:264px;border:transparent;padding-bottom:0}.main-content-streamer .dialog-content,.main-content-mall .dialog-content{padding:24px;height:254px}.main-content-streamer .dialog-content-queue-limit,.main-content-mall .dialog-content-queue-limit{padding:24px;height:91px}.main-content-streamer .dialog-content-queue-limit>p,.main-content-mall .dialog-content-queue-limit>p{text-align:center;margin:4px 0 0}.main-content-streamer .dialog-content-queue-limit>h2,.main-content-mall .dialog-content-queue-limit>h2{display:none}.main-content-streamer .dialog-content>h2,.main-content-mall .dialog-content>h2{margin-top:0}.main-content-streamer .dialog-button,.main-content-mall .dialog-button{flex-wrap:nowrap;margin:8px;position:relative;right:0;bottom:0}:host-context(.isLtr) .main-content-streamer .dialog-button button:last-child,:host-context(.isLtr) .main-content-mall .dialog-button button:last-child{margin-left:8px}html[dir=ltr] .main-content-streamer .dialog-button button:last-child,html[dir=ltr] .main-content-mall .dialog-button button:last-child{--dummy3: 0;margin-left:8px}:host-context(.isRtl) .main-content-streamer .dialog-button button:last-child,:host-context(.isRtl) .main-content-mall .dialog-button button:last-child{margin-right:8px}html[dir=rtl] .main-content-streamer .dialog-button button:last-child,html[dir=rtl] .main-content-mall .dialog-button button:last-child{--dummy3: 0;margin-right:8px}.main-content-streamer .upsell-pane,.main-content-mall .upsell-pane{height:215px}.main-content-streamer .upsell-pane-message,.main-content-mall .upsell-pane-message{border-top:1px solid rgba(255,255,255,.15);margin:0 24px;padding:23px 0}.main-content-streamer .upgrade-container,.main-content-mall .upgrade-container{margin:8px}.compact-dialog-wrapper,.compact-dialog-wrapper .dialog-content{height:100%}@media (max-width: 469px){.main-content-streamer,.main-content-mall{width:100vw}.main-content-streamer .custom-title-bar,.main-content-mall .custom-title-bar{width:unset}.main-content-streamer .dialog-art,.main-content-mall .dialog-art{width:100vw;height:auto}.main-content-streamer .dialog-content,.main-content-mall .dialog-content,.main-content-streamer .dialog-button,.main-content-mall .dialog-button{width:unset}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.main-content-mall .dialog-art,.main-content-streamer .dialog-art{display:none}.main-content-mall .custom-title-bar,.main-content-streamer .custom-title-bar{display:none!important}.main-content-mall .dialog-content,.main-content-streamer .dialog-content{height:fit-content!important}}.tv-view .main-content-mall,.tv-view .main-content-streamer,:host-context(.tv-view) .main-content-mall,:host-context(.tv-view) .main-content-streamer{width:840px;height:925px}.tv-view .main-content-mall .custom-title-bar,.tv-view .main-content-streamer .custom-title-bar,:host-context(.tv-view) .main-content-mall .custom-title-bar,:host-context(.tv-view) .main-content-streamer .custom-title-bar{width:100%;height:88px}:host-context(.isLtr) .tv-view .main-content-mall .custom-title-bar,:host-context(.isLtr) .tv-view .main-content-streamer .custom-title-bar,:host-context(.isLtr) :host-context(.tv-view) .main-content-mall .custom-title-bar,:host-context(.isLtr) :host-context(.tv-view) .main-content-streamer .custom-title-bar{padding-left:32px}html[dir=ltr] .tv-view .main-content-mall .custom-title-bar,html[dir=ltr] .tv-view .main-content-streamer .custom-title-bar,html[dir=ltr] :host-context(.tv-view) .main-content-mall .custom-title-bar,html[dir=ltr] :host-context(.tv-view) .main-content-streamer .custom-title-bar{--dummy1: 0;padding-left:32px}:host-context(.isRtl) .tv-view .main-content-mall .custom-title-bar,:host-context(.isRtl) .tv-view .main-content-streamer .custom-title-bar,:host-context(.isRtl) :host-context(.tv-view) .main-content-mall .custom-title-bar,:host-context(.isRtl) :host-context(.tv-view) .main-content-streamer .custom-title-bar{padding-right:32px}html[dir=rtl] .tv-view .main-content-mall .custom-title-bar,html[dir=rtl] .tv-view .main-content-streamer .custom-title-bar,html[dir=rtl] :host-context(.tv-view) .main-content-mall .custom-title-bar,html[dir=rtl] :host-context(.tv-view) .main-content-streamer .custom-title-bar{--dummy1: 0;padding-right:32px}:host-context(.isLtr) .tv-view .main-content-mall .custom-title-bar,:host-context(.isLtr) .tv-view .main-content-streamer .custom-title-bar,:host-context(.isLtr) :host-context(.tv-view) .main-content-mall .custom-title-bar,:host-context(.isLtr) :host-context(.tv-view) .main-content-streamer .custom-title-bar{padding-right:32px}html[dir=ltr] .tv-view .main-content-mall .custom-title-bar,html[dir=ltr] .tv-view .main-content-streamer .custom-title-bar,html[dir=ltr] :host-context(.tv-view) .main-content-mall .custom-title-bar,html[dir=ltr] :host-context(.tv-view) .main-content-streamer .custom-title-bar{--dummy2: 0;padding-right:32px}:host-context(.isRtl) .tv-view .main-content-mall .custom-title-bar,:host-context(.isRtl) .tv-view .main-content-streamer .custom-title-bar,:host-context(.isRtl) :host-context(.tv-view) .main-content-mall .custom-title-bar,:host-context(.isRtl) :host-context(.tv-view) .main-content-streamer .custom-title-bar{padding-left:32px}html[dir=rtl] .tv-view .main-content-mall .custom-title-bar,html[dir=rtl] .tv-view .main-content-streamer .custom-title-bar,html[dir=rtl] :host-context(.tv-view) .main-content-mall .custom-title-bar,html[dir=rtl] :host-context(.tv-view) .main-content-streamer .custom-title-bar{--dummy2: 0;padding-left:32px}.tv-view .main-content-mall .dialog-art,.tv-view .main-content-streamer .dialog-art,:host-context(.tv-view) .main-content-mall .dialog-art,:host-context(.tv-view) .main-content-streamer .dialog-art{width:100%;height:auto}.tv-view .main-content-mall .dialog-content,.tv-view .main-content-streamer .dialog-content,:host-context(.tv-view) .main-content-mall .dialog-content,:host-context(.tv-view) .main-content-streamer .dialog-content{padding:32px;height:auto}.tv-view .main-content-mall .dialog-button,.tv-view .main-content-streamer .dialog-button,:host-context(.tv-view) .main-content-mall .dialog-button,:host-context(.tv-view) .main-content-streamer .dialog-button{margin:8px 32px}:host-context(.isLtr) .tv-view .main-content-mall .dialog-button button:last-child,:host-context(.isLtr) .tv-view .main-content-streamer .dialog-button button:last-child,:host-context(.isLtr) :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,:host-context(.isLtr) :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{margin-left:32px}html[dir=ltr] .tv-view .main-content-mall .dialog-button button:last-child,html[dir=ltr] .tv-view .main-content-streamer .dialog-button button:last-child,html[dir=ltr] :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,html[dir=ltr] :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{--dummy3: 0;margin-left:32px}:host-context(.isRtl) .tv-view .main-content-mall .dialog-button button:last-child,:host-context(.isRtl) .tv-view .main-content-streamer .dialog-button button:last-child,:host-context(.isRtl) :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,:host-context(.isRtl) :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{margin-right:32px}html[dir=rtl] .tv-view .main-content-mall .dialog-button button:last-child,html[dir=rtl] .tv-view .main-content-streamer .dialog-button button:last-child,html[dir=rtl] :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,html[dir=rtl] :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{--dummy3: 0;margin-right:32px}:host-context(.isLtr) .tv-view .main-content-mall .dialog-button button:last-child,:host-context(.isLtr) .tv-view .main-content-streamer .dialog-button button:last-child,:host-context(.isLtr) :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,:host-context(.isLtr) :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{margin-right:0}html[dir=ltr] .tv-view .main-content-mall .dialog-button button:last-child,html[dir=ltr] .tv-view .main-content-streamer .dialog-button button:last-child,html[dir=ltr] :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,html[dir=ltr] :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{--dummy4: 0;margin-right:0}:host-context(.isRtl) .tv-view .main-content-mall .dialog-button button:last-child,:host-context(.isRtl) .tv-view .main-content-streamer .dialog-button button:last-child,:host-context(.isRtl) :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,:host-context(.isRtl) :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{margin-left:0}html[dir=rtl] .tv-view .main-content-mall .dialog-button button:last-child,html[dir=rtl] .tv-view .main-content-streamer .dialog-button button:last-child,html[dir=rtl] :host-context(.tv-view) .main-content-mall .dialog-button button:last-child,html[dir=rtl] :host-context(.tv-view) .main-content-streamer .dialog-button button:last-child{--dummy4: 0;margin-left:0}.tv-view .main-content-mall div.dialog-content,:host-context(.tv-view) .main-content-mall div.dialog-content{height:200px}.tv-view .main-content-streamer div.dialog-content,:host-context(.tv-view) .main-content-streamer div.dialog-content{height:288px}\n"],encapsulation:2}),q})()},71962:(xe,de,t)=>{"use strict";t.d(de,{Dd:()=>p,EI:()=>s,F5:()=>u,J0:()=>S,JZ:()=>f,LE:()=>E,OO:()=>x,Pq:()=>r,Q8:()=>M,TO:()=>L,Tq:()=>k,U3:()=>i,VD:()=>B,Wu:()=>J,Xj:()=>A,Y1:()=>_,Z9:()=>P,b5:()=>I,nC:()=>U,p1:()=>O,qQ:()=>o,r3:()=>l,xY:()=>n});var e=t(90116);const n=2e3,E="dayPassNearingExpiryBanner",O="TimeCapLowTimeBanner",B="TimeCapLimitedTimeBanner",P={notificationType:e.$9.DayPassExpired,svgIcon:"time",messageStr:{key:"notification.dayPassExpiredBannerEcomRestricted"},primaryButtonText:"notification.dismiss"},k={...P,messageStr:{key:"notification.dayPassExpiredBanner"},primaryButtonText:"settings.membership.upgrade",secondaryButtonText:"common.notNow"},U={notificationType:e.$9.DayPassNearingExpiry,svgIcon:"time",messageStr:{key:"notification.dayPassNearingExpiryBannerEcomRestricted"},primaryButtonText:"notification.dismiss"},r={...U,messageStr:{key:"notification.dayPassNearingExpiryBanner"},primaryButtonText:"ecommerce.membership.addDays",secondaryButtonText:"common.notNow"},A={notificationType:e.$9.TimeCappedLimitedState,svgIcon:"time",messageStr:{key:"notification.timeCapLimitedStateBannerEcomRestricted"},primaryButtonText:"notification.dismiss"},l={...A,messageStr:{key:"notification.timeCapLimitedStateBanner"},primaryButtonText:"ecommerce.addPlaytime",secondaryButtonText:"common.notNow"},I={notificationType:e.$9.TimeCappedLowState,svgIcon:"time",messageStr:{key:"notification.timeCapLowStateBannerEcomRestricted"},primaryButtonText:"notification.dismiss"},S={...I,messageStr:{key:"notification.timeCapLowStateBanner"},primaryButtonText:"ecommerce.addPlaytime",secondaryButtonText:"common.notNow"};var L=function(a){return a.Windows="Windows",a.Mac="Mac",a}(L||{});const s={name:"gfn"};var M=function(a){return a.Development="dev",a.Staging="stage",a.Preview="preview",a.Production="prod",a}(M||{}),u=function(a){return a[a.Badge=28]="Badge",a}(u||{}),x=function(a){return a[a.UnKnown=0]="UnKnown",a[a.ServerError=1]="ServerError",a[a.LoggedOut=2]="LoggedOut",a[a.UnEntitled=3]="UnEntitled",a[a.Entitled=4]="Entitled",a}(x||{});const p={eComFeatureEnabled:!1,membershipStatus:x.UnKnown,subscription:null,product:null,affiliateStatus:null,unentitledUserData:null};var i=function(a){return a.SettingsMembershipPanel="SETTINGS_MEMBERSHIP_PANEL",a.EntitlementErrorComponent="ENTITLEMENT_ERROR_COMPONENT",a.LoadingComponent="LOADING_COMPONENT",a.ToolbarComponent="TOOLBAR_COMPONENT",a.MembershipUpdateProgressEcomUIState="MEMBERSHIP_UPDATE_PROGRESS_ECOM_UI_STATE",a.MembershipNotUpdatedEcomUIState="MEMBERSHIP_NOT_UPDATED_ECOM_UI_STATE",a.SettingsStreamingProfilePanel="SETTINGS_STREAMING_PROFILE_PANEL",a.SettingsInGameGraphicsPanel="SETTINGS_IN_GAME_GRAPHICS_SETTINGS_PANEL",a.CheckoutUpdateProgressEcomUIState="CHECKOUT_UPDATE_PROGRESS_ECOM_UI_STATE",a.CheckoutNotUpdatedEcomUIState="CHECKOUT_NOT_UPDATED_ECOM_UI_STATE",a.StreamingError="STREAMING_ERROR",a.MembershipTimeNotUpdatedEcomUIState="MEMBERSHIP_TIME_NOT_UPDATED_ECOM_UI_STATE",a.TimeCappedSessionLimitReachedComponent="TIME_CAPPED_SESSION_LIMIT_REACHED_COMPONENT",a.ViewOrAddPlaytimeBannerComponent="TIME_CAPPED_VIEW_ADD_PLAYTIME_BANNER",a.GameLaunchUnplayableErrorDialog="GAME_LAUNCH_UNPLAYABLE_ERROR_DIALOG",a.GameTileComponent="GAME_TILE_COMPONENT",a.GameDetailComponent="GAME_DETAIL_COMPONENT",a.BuyProtectionDialog="BUY_PROTECTION_DIALOG",a}(i||{}),o=function(a){return a[a.InitialState=0]="InitialState",a[a.MembershipUpdateProgress=1]="MembershipUpdateProgress",a[a.MembershipRefreshError=2]="MembershipRefreshError",a[a.MembershipNotUpdated=3]="MembershipNotUpdated",a[a.ExitedToLogin=4]="ExitedToLogin",a[a.CheckoutUpdateProgress=5]="CheckoutUpdateProgress",a[a.CheckoutRefreshError=6]="CheckoutRefreshError",a[a.CheckoutNotUpdated=7]="CheckoutNotUpdated",a[a.MembershipUpdatetimeProgress=8]="MembershipUpdatetimeProgress",a[a.MembershipTimeNotUpdated=9]="MembershipTimeNotUpdated",a[a.AddDayPassMembershipProgress=10]="AddDayPassMembershipProgress",a}(o||{}),_=function(a){return a[a.BridgeState=0]="BridgeState",a[a.Join=1]="Join",a[a.MaxSessionLengthExceeded=2]="MaxSessionLengthExceeded",a[a.QueueLimitExceeded=3]="QueueLimitExceeded",a[a.GaaSFree1HourExceeded=4]="GaaSFree1HourExceeded",a[a.GaaSUnsupportedFreeTitle=5]="GaaSUnsupportedFreeTitle",a[a.GaaSFreeSampleAlreadyUsed=6]="GaaSFreeSampleAlreadyUsed",a[a.GaaSFreeUserCanUpgrade=7]="GaaSFreeUserCanUpgrade",a}(_||{});const f=6e4,J=6e4},58202:(xe,de,t)=>{"use strict";t.d(de,{Dd:()=>E.Dd,F5:()=>E.F5,LE:()=>E.LE,OO:()=>E.OO,Pq:()=>E.Pq,TO:()=>E.TO,Tq:()=>E.Tq,U3:()=>E.U3,Y1:()=>E.Y1,Z9:()=>E.Z9,nC:()=>E.nC,qQ:()=>E.qQ,xY:()=>E.xY,yJ:()=>n.y}),t(44781);var n=t(74497),E=t(71962)},74497:(xe,de,t)=>{"use strict";t.d(de,{y:()=>ie});var e=t(85735),n=t(26513),E=t(80583),O=t(43848),B=t(27731),P=t(3496),k=t(31315),U=t(15652),r=t(8619),A=t(75707),l=t(65706),I=t(72147),S=t(91384),L=t(83915),s=t(10174),M=t(98651),u=t(14714),x=t(55833),p=t(43615),i=t(14749),o=t(34593),_=t(53461),f=t(26875),a=t(47766),D=t(71962),te=t(18433),N=t(18568),z=t(37543),R=t(84937),v=t(78893),h=t(36206),W=t(19061),ne=t(43117),ee=t(20038),b=t(33367),w=t(81834),F=t(58527),Z=t(43897),se=t(78812),Y=t(80838),q=t(26537),T=t(14354),H=t(40996),y=t(11346),X=t(45903),c=t(61958),g=t(35077),d=t(66348);function C(ce,G){return ce.isLimitedStateAlert===G.isLimitedStateAlert&&ce.isLowStateAlert===G.isLowStateAlert}const Q={header:"ecommerce.membershipUpdateProgressDialog.title",description:"ecommerce.membershipUpdateProgressDialog.compactDialogDescription",tvDescription:"ecommerce.membershipUpdateProgressDialog.compactDialogTvDescription",primaryButton:{text:"common.continue",accentColor:!0},secondaryButton:{text:"common.close"}},j={header:"ecommerce.membershipNotUpdatedErrorDialog.title",description:"ecommerce.membershipNotUpdatedErrorDialog.description",primaryButton:{text:"common.close"}},le={header:"ecommerce.playtimeAddProgressDialog.title",description:"ecommerce.membershipUpdateProgressDialog.compactDialogDescription",tvDescription:"ecommerce.membershipUpdateProgressDialog.compactDialogTvDescription",primaryButton:{text:"common.continue",accentColor:!0},secondaryButton:{text:"common.close"}},ge={header:"ecommerce.playtimeNotUpdatedDialog.title",description:"ecommerce.playtimeNotUpdatedDialog.description",primaryButton:{text:"common.close"}};let ie=(()=>{var ce;class G{get preferredDialogType(){return this.offDeviceLinkService.enabled?this.tvMode?W.QO.ThreeQuarterSheet:W.QO.BottomSheet:void 0}constructor(ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e,He,De,Re,K,ke,Ue){var et,gt;this.localeService=ae,this.nesEntitlementService=Ce,this.systemInfoService=Se,this.telemetryService=Ne,this.gridService=we,this.telemetryUtilService=ve,this.dialog=Pe,this.router=Oe,this.bridgeService=Be,this.gfnSdkService=tt,this.idmService=Ee,this.offDeviceLinkService=ot,this.refreshUiService=We,this.remoteConfigService=Qe,this.appConfig=Fe,this.focusManager=Xe,this.genericDialog=_e,this.redirectService=He,this.refeshUiService=De,this.bannerNotificationService=Re,this.sharedStorageService=K,this.platform$=new e.m(1),this.userMembership$=new n.t(D.Dd),this.userMembership=Object.assign({},D.Dd),this.isManualLogin=null,this.autoRefreshInterval=432e5,this.refreshEntitlement$=null,this.subscriptionProcessed$=new E.B7,this.userEntitlementSubscription=null,this.jarvisIdpId="",this.lastEntitlement=null,this.minimumNonZeroProgressValue=.5,this.maximumNon100ProgressValue=99.5,this.logger=ke.getLogger("EcommerceService"),this.tvMode=!(null==Fe||null===(et=Fe.featureEnablement)||void 0===et||!et.tvMode),this.detectPlatform(),this.redirectUrl=Fe.redirect.serverUrl,this.redirectEnv=Fe.redirect.environment,this.clientVersion=(0,f.get)(Fe,"build.version"),this.canClientHardUpsell=Fe.upsellPresentation.canHardUpsell,this.redirectEnvMap=new Map,this.jarvisIdpId=Fe.starfleet.jarvisIdpId,this.intervalEventTriggered$=new e.m(1),this.refreshSubscriptionAfterExpiry=null===(gt=Fe.client)||void 0===gt?void 0:gt.clientSubRefreshAfterExpiryDelayMS,this.initTimerEvents().subscribe(),this.buildRedirectionEnvMap(),this.onUpgradeClick=Ue.guard(W.HK.Link,this.onUpgradeClick.bind(this)),this.onAddDaysClick=Ue.guard(W.HK.Link,this.onAddDaysClick.bind(this)),this.onShowManageMembershipPage=Ue.guard(W.HK.Link,this.onShowManageMembershipPage.bind(this)),this.onAddPlaytimeClick=Ue.guard(W.HK.Link,this.onAddPlaytimeClick.bind(this)),this.onViewTimeClick=Ue.guard(W.HK.Link,this.onViewTimeClick.bind(this))}initialize(){this.checkUserMembershipStatus(),this.initPushNotifications(),a.zk.isAndroidPlatform()&&this.userMembership$.asObservable().pipe((0,r.p)(ae=>{var Ce;return!(null==ae||null===(Ce=ae.subscription)||void 0===Ce||!Ce.productSku)}),(0,A.ZZ)(ae=>this.bridgeService.executeCommand(b.Ts.Common.Subscriptioninfo.InitializeSubscriptionProductSku,{value:ae.subscription.productSku})),(0,l.s)(1)).subscribe(),this.remoteConfigService.remoteConfigFetched$.subscribe(ae=>{var Ce;null!==(Ce=ae.config)&&void 0!==Ce&&Ce.upsellPresentation&&(!0===ae.config.upsellPresentation.canHardUpsell||!1===ae.config.upsellPresentation.canHardUpsell)&&(this.canClientHardUpsell=ae.config.upsellPresentation.canHardUpsell)}),this.nesEntitlementService.subscriptionNetworkFetchedNoUpdate.pipe((0,l.s)(1),(0,A.ZZ)(ae=>(ae&&(this.userMembership.isCached=!1),this.checkEntitlement(!0)))).subscribe(),this.checkPlaytimeAndAddBanners()}get closeResult(){return[this.isEcomPlanChanged,this.currentUIState,this.isPlaytimeAdded,this.isDayPassAdded]}checkPlaytimeAndAddBanners(){this.getUserMembership().pipe((0,I.n)(ae=>this.isDayPassSubscription||this.isTimeCappedSubscription?this.onTimeRemainingAlertForBanner.pipe((0,I.n)(Ce=>{if(Ce.isLowStateAlert){if(this.isDayPassSubscription&&!this.bannerNotificationService.hasNotificationInQueue(z.$94.DayPassNearingExpiry))return this.canShowTimeAlertBanner(ae,!0,!1).pipe((0,l.s)(1),(0,S.M)(Se=>{if(Se){var Ne;this.logger.info("Showing day pass nearing expiry banner");const we=null==ae||null===(Ne=ae.product)||void 0===Ne?void 0:Ne.shortDescription,ve=this.canHardUpsell()?z.Pqy:z.nCs;ve.messageStr.interpolates={currentSKUShortName:we},ve.onSecondaryButtonClick=()=>this.persistExpiryPromptState(z.$94.DayPassNearingExpiry),ve.onPrimaryButtonClick=Pe=>{this.canHardUpsell()&&this.onAddDaysClick(Pe)},this.bannerNotificationService.addNotificationToQueue(ve)}}));if(this.isTimeCappedSubscription&&!this.bannerNotificationService.hasNotificationInQueue(z.$94.TimeCappedLowState))return this.bannerNotificationService.hasNotificationInQueue(z.$94.TimeCappedLimitedState)&&this.bannerNotificationService.removeNotificationFromQueue(z.$94.TimeCappedLimitedState),this.canShowTimeAlertBanner(ae,!1,!1).pipe((0,l.s)(1),(0,S.M)(Se=>{if(Se){const Ne=this.canHardUpsell()?D.J0:D.b5;Ne.onSecondaryButtonClick=()=>this.persistExpiryPromptState(z.$94.TimeCappedLowState),Ne.onPrimaryButtonClick=we=>{this.canHardUpsell()&&this.onAddPlaytimeClick(we)},this.bannerNotificationService.addNotificationToQueue(Ne)}}))}else if(Ce.isLimitedStateAlert){if(this.isLimitedState&&!this.bannerNotificationService.hasNotificationInQueue(z.$94.TimeCappedLimitedState))return this.bannerNotificationService.hasNotificationInQueue(z.$94.TimeCappedLowState)&&this.bannerNotificationService.removeNotificationFromQueue(z.$94.TimeCappedLowState),this.canShowTimeAlertBanner(ae,!1,!0).pipe((0,l.s)(1),(0,S.M)(Se=>{if(Se){const Ne=this.canHardUpsell()?D.r3:D.Xj;Ne.onSecondaryButtonClick=()=>this.persistExpiryPromptState(z.$94.TimeCappedLimitedState),Ne.onPrimaryButtonClick=we=>this.canHardUpsell()?this.onAddPlaytimeClick(we):void 0,this.bannerNotificationService.addNotificationToQueue(Ne)}}))}else this.removeTimeAlertBannerNotifications();return(0,O.of)(null)})):(this.removeTimeAlertBannerNotifications(),(0,O.of)(null)))).subscribe(),this.getDayPassExpiryDetails().subscribe(ae=>{if(null!=ae&&ae.show){const Ce=ae.oldSKUShortName,Se=this.canHardUpsell()?z.Tq5:z.Z9m;Se.messageStr.interpolates={prevSKUShortName:Ce},Se.onPrimaryButtonClick=Ne=>{this.canHardUpsell()&&this.onUpgradeClick(Ne)},this.bannerNotificationService.addNotificationToQueue(Se)}else this.bannerNotificationService.hasNotificationInQueue(z.$94.DayPassExpired)&&this.bannerNotificationService.removeNotificationFromQueue(z.$94.DayPassExpired)}),this.idmService.accountStatusChanged.pipe((0,S.M)(ae=>{ae.isAuthenticated||this.removeTimeAlertBannerNotifications()})).subscribe()}onUpgradeClick(ae){this.logger.trace(w.N_.UserGesture,"Clicked on upgrade membership option"),this.openUpgradeMembershipPageAndProgressDialog(te.MCB.ScreenDayPassExpiryBanner,D.U3.CheckoutUpdateProgressEcomUIState)}onAddDaysClick(ae){this.logger.trace(w.N_.UserGesture,"Clicked on Add Days option"),this.openMembershipPageAndDialog(()=>{this.openDayPassCheckoutPage(te.MCB.ScreenLowPlaytimeDayPassBanner,D.U3.CheckoutUpdateProgressEcomUIState)},te.MCB.ScreenLowPlaytimeDayPassBanner,D.U3.CheckoutUpdateProgressEcomUIState,D.qQ.AddDayPassMembershipProgress)}onShowManageMembershipPage(ae){this.logger.trace(w.N_.UserGesture,"Clicked on manage membership option"),this.openAccountManagementPage(te.MCB.ScreenSettings,D.U3.CheckoutUpdateProgressEcomUIState)}onAddPlaytimeClick(ae){this.logger.trace(w.N_.UserGesture,"Clicked on Add Playtime option"),this.openAddPlaytimePageAndDialog(te.MCB.ScreenAddPlaytimeBanner,D.U3.ViewOrAddPlaytimeBannerComponent)}onViewTimeClick(ae){this.logger.trace(w.N_.UserGesture,"Clicked on View playtime Summary option"),this.openViewPlaytimePage(te.MCB.ScreenAddPlaytimeBanner,D.U3.ViewOrAddPlaytimeBannerComponent)}persistExpiryPromptState(ae){this.getUserMembership().pipe((0,l.s)(1),(0,A.ZZ)(Ce=>{let Se,Ne;return ae===z.$94.DayPassNearingExpiry?(Ne=Ce.subscription.expirationDateTime,Se=z.LE3):(Ne=Ce.subscription.currentSpanEndDateTime,Se=D.VD),this.sharedStorageService.writeBlock(Se,{isPromptDismissed:!0,expirationDateTime:Ne})})).subscribe(()=>this.logger.info("persist Day Pass Nearing Expiry Prompt State is success"),Ce=>this.logger.error("Error while writing to shared storage for Day Pass Nearing Expiry",Ce))}canShowTimeAlertBanner(ae,Ce,Se){let Ne,we;return Ce?(we=ae.subscription.expirationDateTime,Ne=z.LE3):(we=ae.subscription.currentSpanEndDateTime,Ne=Se?D.VD:D.p1),this.sharedStorageService.readBlock(Ne).pipe((0,L.T)(ve=>{var Pe;return 0===(null===(Pe=Object.keys(ve))||void 0===Pe?void 0:Pe.length)||(!ve.isPromptDismissed||ve.expirationDateTime!==we)&&(this.removeTimeAlertBannerPreference(Ne),!0)}))}removeTimeAlertBannerPreference(ae){this.sharedStorageService.removeBlock(ae).pipe((0,l.s)(1)).subscribe()}removeTimeAlertBannerNotifications(){this.bannerNotificationService.hasNotificationInQueue(z.$94.DayPassNearingExpiry)&&this.bannerNotificationService.removeNotificationFromQueue(z.$94.DayPassNearingExpiry),this.isDayPassSubscription&&this.bannerNotificationService.hasNotificationInQueue(z.$94.DayPassExpired)&&this.bannerNotificationService.removeNotificationFromQueue(z.$94.DayPassExpired),this.bannerNotificationService.hasNotificationInQueue(z.$94.TimeCappedLimitedState)&&this.bannerNotificationService.removeNotificationFromQueue(z.$94.TimeCappedLimitedState),this.bannerNotificationService.hasNotificationInQueue(z.$94.TimeCappedLowState)&&this.bannerNotificationService.removeNotificationFromQueue(z.$94.TimeCappedLowState)}checkEntitlement(ae){if(!0===this.appConfig.featureEnablement.UASAutoEntitle&&this.userMembership.membershipStatus===D.OO.UnEntitled){if(!this.userMembership.isCached)return this.logger.info("uas auto entitlement enabled, logging out unentitled user"),this.idmService.logout(null,null,null,!0).pipe((0,s.u)(ae));this.logger.info("unentitled cached user, will not log out")}return(0,O.of)(ae)}buildRedirectionEnvMap(){this.redirectEnvMap.set(D.Q8.Development,"d"),this.redirectEnvMap.set(D.Q8.Staging,"s"),this.redirectEnvMap.set(D.Q8.Preview,"w"),this.redirectEnvMap.set(D.Q8.Production,"p")}listenSubscriptionRefreshNotification(){return this.refreshUiService.subscriptionRefresh$.pipe((0,A.ZZ)(ae=>(this.logger.info("Refresh Subscription",null==ae?void 0:ae.source),this.checkUsersEntitlement())))}initPushNotifications(){this.listenSubscriptionRefreshNotification().subscribe()}checkUserMembershipStatus(){this.idmService.accountStatusChanged.pipe((0,M.r)(this.gridService.vpcId$.pipe((0,u.W)(()=>(0,O.of)(null)))),(0,r.p)(ae=>ae.length>0),(0,A.ZZ)(ae=>(ae.length&&(this.user=(0,f.last)(ae)),this.logger.info("user account change received authentication status: ",this.user.isAuthenticated),this.userMembership=Object.assign({},D.Dd),this.user.isAuthenticated||(this.userMembership.membershipStatus=D.OO.LoggedOut),this.userMembership.eComFeatureEnabled=!0,this.checkUsersEntitlement())),(0,u.W)(ae=>(this.logger.error("Error in get userinfo and affiliate status: ",ae),(0,O.of)(null)))).subscribe()}checkUsersEntitlement(){return this.userMembership.membershipStatus===D.OO.LoggedOut?this.getClientStreamingQuality().pipe((0,A.ZZ)(ae=>(this.logger.info("Got ClientStreamingQuality: ",ae),this.userMembership.unentitledUserData=ae,this.userMembership$.next({...this.userMembership}),(0,O.of)(null)))):(this.userEntitlementSubscription&&(this.userEntitlementSubscription.unsubscribe(),this.userEntitlementSubscription=null,this.subscriptionProcessed$&&(this.subscriptionProcessed$.complete(),this.subscriptionProcessed$=null,this.subscriptionProcessed$=new E.B7)),this.userEntitlementSubscription=this.nesEntitlementService.getUserEntitlement(this.user).pipe((0,x.t)(1),(0,A.ZZ)(ae=>{if(this.userMembership.membershipStatus===D.OO.LoggedOut)return this.logger.info("user subscription revolved for last user"),B.t;const{product:Ce,...Se}=ae;return this.logger.info("user subscription: ",Se),this.userMembership.subscription=ae.subscription,this.userMembership.product=ae.product,this.userMembership.isCached=ae.isCached,this.userMembership.lastFetchDateTime=new Date,(0,f.isNil)(ae.subscription)?(this.userMembership.membershipStatus=D.OO.UnEntitled,this.getClientStreamingQuality().pipe((0,A.ZZ)(Ne=>(this.logger.info("Got ClientResolutions: ",Ne),this.userMembership.unentitledUserData=Ne,this.userMembership$.next({...this.userMembership}),this.initTimedEntitlementRefresh(),this.subscriptionProcessed$.next(ae),(0,O.of)(ae))))):(this.userMembership.membershipStatus=D.OO.Entitled,this.userMembership$.next({...this.userMembership}),this.initTimedEntitlementRefresh(),this.subscriptionProcessed$.next(ae),(0,O.of)(ae))}),(0,u.W)(ae=>(this.logger.error("error in fetching user entitlement: ",ae),this.userMembership.membershipStatus=D.OO.ServerError,this.userMembership$.next({...this.userMembership}),this.initTimedEntitlementRefresh(),this.subscriptionProcessed$.next(null),(0,O.of)(null))),(0,A.ZZ)(ae=>this.checkEntitlement(ae))).subscribe(()=>{this.refreshUiService.setContentExpiryInfo(ne.sD.Subscription),this.logger.info("User membership fetched")},ae=>{this.logger.error("Error while fetched user membership. "+ae)}),this.subscriptionProcessed$.asObservable())}getClientStreamingQuality(){return this.nesEntitlementService.getClientStreamingQuality().pipe((0,x.t)(1),(0,u.W)(ae=>(this.logger.error("error in fetching client resolutions: ",ae),(0,O.of)(null))))}initTimedEntitlementRefresh(){this.refreshEntitlement$&&(this.refreshEntitlement$.unsubscribe(),this.refreshEntitlement$=null),this.refreshEntitlement$=(0,P.O)(this.autoRefreshInterval).pipe((0,A.ZZ)(ae=>(this.logger.info("auto refreshing entitlement"),this.checkUsersEntitlement())),(0,p.j)(()=>{this.refreshEntitlement$=null})).subscribe()}onUserSkuChange(){return this.getUserMembership().pipe((0,i.J)(),(0,L.T)(([ae,Ce])=>{const Se=null==ae?void 0:ae.subscription,Ne=null==Ce?void 0:Ce.subscription,we=null==Se?void 0:Se.productSku,ve=null==Ne?void 0:Ne.productSku;return Ce.eComFeatureEnabled&&Ce.membershipStatus===D.OO.Entitled&&void 0!==we&&void 0!==ve?{prevMembership:ae,newMembership:Ce,hasSkuChanged:we!==ve}:{prevMembership:ae,newMembership:Ce,hasSkuChanged:!1}}),(0,r.p)(ae=>ae.hasSkuChanged),(0,o.Z)({prevMembership:null,newMembership:null,hasSkuChanged:!1}))}getUserMembership(ae=!1){return ae?this.checkUsersEntitlement().pipe((0,A.ZZ)(()=>this.userMembership$.asObservable())):this.userMembership$.asObservable()}canHardUpsell(){return this.canClientHardUpsell}refreshUsersEntitlement(){this.checkUsersEntitlement().subscribe()}openAccountManagementPage(ae,Ce,Se){this.openBrowserWindow(ae,h.r7.GfnAccountManagement,Ce,h.lp[h.r7.GfnAccountManagement],Se)}openJoinMembershipPage(ae,Ce){this.openBrowserWindow(ae,h.r7.GfnPcMembershipJoin,Ce,h.lp[h.r7.GfnPcMembershipJoin])}openUpgradeMemberShipPage(ae,Ce,Se){this.openBrowserWindow(ae,h.r7.GfnPcMembershipUpgrade,Ce,h.lp[h.r7.GfnPcMembershipUpgrade],Se)}openDayPassMembershipPage(ae,Ce){this.openBrowserWindow(ae,h.r7.GfnPcMembershipDayPass,Ce,h.lp[h.r7.GfnPcMembershipDayPass])}openDayPassCheckoutPage(ae,Ce){this.openBrowserWindow(ae,h.r7.GfnPcCheckoutDayPass,Ce,h.lp[h.r7.GfnPcCheckoutDayPass])}getUpgradeMembershipUrl(){return this.prepareProductMatrixURL(h.r7.GfnPcMembershipUpgrade)}getRedirectUrlWithIdpId$(ae){return this.platform$.pipe((0,l.s)(1),(0,I.n)(Ce=>this.redirectService.getRedirectUrl(ae,{idpId:this.user.idpId,Plt:Ce})))}openAccountProfilePage(ae,Ce){this.canHardUpsell()?this.openBrowserWindow(ae,h.r7.GfnAccountManagementSSO,Ce,h.lp[h.r7.GfnAccountManagementSSO]):this.openAccountProfileDialogEcomRestricted()}openAccountProfileDialogEcomRestricted(){const Ce=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:void 0},bodyText:{text:"ecommerce.accountManagementDialog.description"},primaryButton:{text:"common.close"}}},{preferredDialogType:W.QO.ThreeQuarterSheet});Ce.primaryButtonClick.pipe((0,S.M)(()=>Ce.close())).subscribe()}openVisitSupportDialog(){const Ce=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:void 0},bodyText:{text:"ecommerce.visitSupportDialog.description"},primaryButton:{text:"common.close"},threeQuarterSheetData:{backgroundImageUrl:"shared/assets/img/DefaultStreamerBackgroundArt.jpg"}}},{preferredDialogType:W.QO.ThreeQuarterSheet});Ce.primaryButtonClick.pipe((0,S.M)(()=>Ce.close())).subscribe()}openAddPlaytimePage(ae,Ce,Se){this.openBrowserWindow(ae,h.r7.GfnPcAddPlaytime,Ce,h.lp[h.r7.GfnPcAddPlaytime],Se)}openViewPlaytimePage(ae,Ce,Se){this.openBrowserWindow(ae,h.r7.GfnPcViewPlaytime,Ce,h.lp[h.r7.GfnPcViewPlaytime],Se)}openAddPlaytimePageAndDialog(ae,Ce,Se){this.openMembershipPageAndDialog(()=>this.openAddPlaytimePage(ae,Ce,Se),ae,Ce,D.qQ.MembershipUpdatetimeProgress,Se)}openUpgradeMembershipPageAndProgressDialog(ae,Ce,Se){this.openMembershipPageAndDialog(()=>this.openUpgradeMemberShipPage(ae,Ce,Se),ae,Ce,D.qQ.MembershipUpdateProgress,Se)}openJoinNowDialog(ae,Ce=D.Y1.Join,Se,Ne=!1){const we=this.telemetryService.getScreen();return ae=`${ae}/${te.MCB.ScreenJoinGfnDialog}`,Ce===D.Y1.MaxSessionLengthExceeded&&this.gfnSdkService.isThisAGFNSDKSession()&&(Ce=this.featureUpsellAvailable(N.q3.HIGHER_SESSION_LENGTH)?D.Y1.GaaSFreeUserCanUpgrade:D.Y1.GaaSFree1HourExceeded),this.focusManager.restoreFocusAfterClosed(()=>this.dialog.open(R.O,{autoFocus:!1,disableClose:!0,panelClass:"nv-overlay-panel",data:{isStreamerApp:(0,v.tE)(this.router.url),useCase:Ce,gameLaunchScreen:we,ecomUIState:(0,f.isNil)(Se)?D.qQ.InitialState:Se,getUserMembership$:this.getUserMembership(),isCompactDialog:Ne,buttonClickCallback:ve=>{ve===D.qQ.InitialState&&(Ce===D.Y1.MaxSessionLengthExceeded||Ce===D.Y1.QueueLimitExceeded?this.openUpgradeMemberShipPage(we,ae):this.openJoinMembershipPage(we,ae))}}}))}openBrowserWindow(ae,Ce,Se,Ne,we){this.sendClickTelemetryForBrowserWindow(ae,Ce,Se,we);const ve=Date.now();this.prepareProductMatrixURL(Ce).subscribe(Pe=>{this.logger.info("opening browser with url: ",Pe),this.offDeviceLinkService.open(Pe,{shortUrl:Ne}),this.sendManageSubscriptionTelemetry(!0,ae,ve)},Pe=>{this.logger.error("Failed to open web page "+Ce+" with error: ",Pe.message),this.sendManageSubscriptionTelemetry(!1,ae,ve,Pe.message)})}openMembershipPageAndDialog(ae,Ce,Se,Ne,we){if(this.openProgressDialogSubscription$&&this.openProgressDialogSubscription$.unsubscribe(),this.offDeviceLinkService.enabled){let ve=h.r7.GfnPcMembershipUpgrade;Ne===D.qQ.MembershipUpdatetimeProgress?ve=h.r7.GfnPcAddPlaytime:Ne===D.qQ.AddDayPassMembershipProgress&&(ve=h.r7.GfnPcCheckoutDayPass),this.sendClickTelemetryForBrowserWindow(Ce,ve,Se,we),this.openProgressDialogSubscription$=this.openProgressDialog(Ne).pipe((0,l.s)(1)).subscribe()}else null==ae||ae(),setTimeout(()=>{this.openProgressDialogSubscription$=this.openProgressDialog(Ne).pipe((0,l.s)(1)).subscribe()},D.xY)}featureEntitled(ae){var Ce;let Se=null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce||null===(Ce=Ce.features)||void 0===Ce||null===(Ce=Ce.features)||void 0===Ce||null===(Ce=Ce.find(Ne=>Ne.key===ae))||void 0===Ce?void 0:Ce.textValue;return null!=Se&&(Se=JSON.parse(Se),Array.isArray(Se)?Se.length>0:Se)}featureSetValueEntitled(ae){var Ce;const Se=null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce||null===(Ce=Ce.features)||void 0===Ce||null===(Ce=Ce.features)||void 0===Ce||null===(Ce=Ce.find(Ne=>Ne.key===ae))||void 0===Ce?void 0:Ce.setValue;return(null==Se?void 0:Se.length)>0}featureArrayItemEntitled(ae,Ce){const Se=this.getFeatureMetadata(ae);if(null!=Se&&Se.textValue){const Ne=JSON.parse(Se.textValue);return Array.isArray(Ne)?Ne.some(we=>we.value===Ce.toString()&&we.isEntitled):Ne}return!(null==Se||!Se.setValue)&&Se.setValue.includes(Ce.toString())}featureArrayUpsellAvailable(ae){const Ce=[];return null==ae||ae.forEach(Se=>{const Ne=this.featureUpsellAvailable(Se);Ce.push(Ne)}),Ce}featureUpsellAvailable(ae){var Ce;return null===(Ce=this.userMembership$.value.subscription)||void 0===Ce||null===(Ce=Ce.upsells)||void 0===Ce?void 0:Ce.some(Se=>Se.key===ae&&!0===Se.booleanValue)}isFeatureAvailableToUser(ae,Ce){return this.featureEntitled(ae)||this.featureUpsellAvailable(Ce)}getFeatureMetadata(ae){var Ce;return null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce||null===(Ce=Ce.features)||void 0===Ce||null===(Ce=Ce.features)||void 0===Ce?void 0:Ce.find(Se=>Se.key===N.N1[ae])}getStreamingModeDetails(ae){return this.getStreamingProfileFromStreamingQuality(this.getStreamingQuality(ae))}getMaxBitrate(){var ae;return null===(ae=this.getStreamingQuality())||void 0===ae?void 0:ae.maxBitRate}getStreamingQuality(ae){var Ce,Se;const Ne=ae?ee.eW[ae]:N.IT.BALANCED,we=this.userMembership$.value.membershipStatus===D.OO.Entitled?null===(Ce=this.userMembership$.value.subscription)||void 0===Ce?void 0:Ce.streamingQualities:null===(Se=this.userMembership$.value.unentitledUserData)||void 0===Se?void 0:Se.streamingQualities;return null==we?void 0:we.find(Pe=>Pe.clientStreamingQualityMode===Ne)}openProgressDialog(ae=D.qQ.MembershipUpdateProgress){return this.currentUIState=ae,ae===D.qQ.MembershipUpdatetimeProgress?this.openPlaytimeUpdateProgressDialog():ae===D.qQ.AddDayPassMembershipProgress?this.openDayPassCheckoutProgressDialog():this.openMembershipUpgradeProgressDialog()}sendClickTelemetryForBrowserWindow(ae,Ce,Se,Ne){switch(Ce){case h.r7.GfnAccountManagement:this.telemetryUtilService.sendClickEvent(te.EBD.ManageMembership,null!=Ne?Ne:"",`${ae}/${Se}`,!1);break;case h.r7.GfnPcMembershipJoin:this.telemetryUtilService.sendClickEvent(te.EBD.JoinGfn,"",`${ae}/${Se}`,!1);break;case h.r7.GfnPcMembershipUpgrade:this.telemetryUtilService.sendClickEvent(te.EBD.Upgrade,null!=Ne?Ne:"",`${ae}/${Se}`,!1);break;case h.r7.GfnAccountManagementSSO:this.telemetryUtilService.sendClickEvent(te.EBD.AccountManagementSso,"",`${ae}/${Se}`,!1);break;case h.r7.GfnPcAddPlaytime:this.telemetryUtilService.sendClickEvent(te.EBD.AddPlaytime,null!=Ne?Ne:"",`${ae}/${Se}`,!1);break;case h.r7.GfnPcViewPlaytime:this.telemetryUtilService.sendClickEvent(te.EBD.ViewPlaytime,null!=Ne?Ne:"",`${ae}/${Se}`,!1);break;case h.r7.GfnPcMembershipDayPass:this.telemetryUtilService.sendClickEvent(te.EBD.GetDayPass,"",`${ae}/${Se}`,!1);break;case h.r7.GfnPcCheckoutDayPass:this.telemetryUtilService.sendClickEvent(te.EBD.AddDayPass,"",`${ae}/${Se}`,!1)}}prepareProductMatrixURL(ae){const Ce=this.localeService.localeChanged.pipe((0,l.s)(1));return(0,k.zV)([Ce,this.platform$,this.idmService.cachedAffiliateStatus]).pipe((0,L.T)(([Se,Ne,we])=>{var ve;const Pe={cNm:D.EI.name,env:this.redirectEnvMap.get(this.redirectEnv),Plt:Ne,gcV:this.clientVersion,idpId:this.user.idpId,prv:null===(ve=we.data)||void 0===ve?void 0:ve.loginProvider};this.user.idpId===this.jarvisIdpId&&(Pe.loginHint=this.user.email),this.logger.info("JSO",Pe);const Oe=new URL(this.redirectUrl+Se);return Oe.searchParams.append("page",ae),Oe.searchParams.append("jso",btoa(JSON.stringify(Pe))),Oe.toString()}))}detectPlatform(){a.zk.isCefPlatform()?this.systemInfoService.getSystemInfo([a.Lu.Platform]).subscribe(ae=>{this.platform$.next(ae.Platform===D.TO.Mac?h.Gl.Mac:h.Gl.PC)}):this.platform$.next(h.Gl.Browser)}sendManageSubscriptionTelemetry(ae,Ce,Se,Ne){const we=new te.BAK({clientType:this.telemetryUtilService.getClientType(),currentScreen:Ce,userAction:te.ay7.ManageECommerceSubscription,status:ae?te.fbu.Success:te.fbu.ECommercePaywallLaunchError,errorDetails:Ne||ae.toString(),totalMs:0,errorUri:"",serverErrorCode:""});this.telemetryService.push(we,Se)}getStreamingProfileFromStreamingQuality(ae){return ae?{width:ae.resolution.widthInPixels,height:ae.resolution.heightInPixels,fps:ae.resolution.framesPerSecond,maxBitrateAuto:!ae.maxBitRate.bitrateOption,maxBitrate:ae.maxBitRate.bitrateValue,drc:this.getStreamingQualityFeatureValue(ae,N.tk.PROFILE_ADJUST_FOR_NETWORK),hdrStreamingMode:this.getStreamingQualityFeatureValue(ae,N.tk.PROFILE_HDR_VERSION),reflex:this.getStreamingQualityFeatureValue(ae,N.tk.PROFILE_REFLEX),cloudGsync:this.getStreamingQualityFeatureValue(ae,N.tk.PROFILE_CLOUD_GSYNC),l4sEnabled:this.getStreamingQualityFeatureValue(ae,N.tk.PROFILE_L4S),vSync:this.getStreamingQualityFeatureValue(ae,N.tk.PROFILE_VSYNC),bitDepth:this.getStreamingQualityFeatureValue(ae,N.tk.PROFILE_BIT_DEPTH)}:null}getStreamingQualityFeatureValue(ae,Ce){var Se;const Ne=null==ae||null===(Se=ae.features)||void 0===Se||null===(Se=Se.find(we=>we.key===Ce))||void 0===Se?void 0:Se.textValue;try{return JSON.parse(Ne)}catch{return Ne}}openMembershipUpgradeProgressDialog(){return this.lastEntitlement=null,this.isEcomPlanChanged=!1,this.openDialog(h.r7.GfnPcMembershipUpgrade,Q,"membership upgrade progress")}openDayPassCheckoutProgressDialog(){return this.lastEntitlement=null,this.isDayPassAdded=!1,this.openDialog(h.r7.GfnPcCheckoutDayPass,Q,"Add Day Pass membership upgrade")}openPlaytimeUpdateProgressDialog(){return this.lastEntitlement=null,this.isPlaytimeAdded=!1,this.openDialog(h.r7.GfnPcAddPlaytime,le,"add playtime progress",!1)}openDialog(ae,Ce,Se,Ne=!0){let we={headerText:{text:this.offDeviceLinkService.enabled?h.lp[ae]:Ce.header},bodyText:{text:this.offDeviceLinkService.enabled?Ce.tvDescription:Ce.description},primaryButton:Ce.primaryButton,secondaryButton:Ce.secondaryButton};return(this.offDeviceLinkService.enabled?this.prepareProductMatrixURL(ae).pipe((0,L.T)(Pe=>{const Oe=this.tvMode?{image:{url:Pe,shortcutUrl:h.lp[ae]}}:{link:{url:Pe,text:""}};return we={...we,...Oe},we})):(0,O.of)(we)).pipe((0,l.s)(1),(0,A.ZZ)(Pe=>{const Oe=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:Pe},{preferredDialogType:this.preferredDialogType});return this.initializeEcommerceSub(Oe),(0,U.O4)(Oe.primaryButtonClick.pipe((0,s.u)(!0)),Oe.afterClosed().pipe((0,s.u)(!1)),Oe.secondaryButtonClick.pipe((0,s.u)(!1))).pipe((0,l.s)(1),(0,A.ZZ)(Be=>(this.logger.info(`Closing ${Se} dialog`),this.getUserMembershipSubscription$&&this.getUserMembershipSubscription$.unsubscribe(),null==Oe||Oe.close(),Be?this.checkForMembershipUpgrade(Ne):(0,O.of)(Be))))}))}openMembershipNotUpgradedErrorDialog(){return this.prepareProductMatrixURL(h.r7.GfnAccountManagement).pipe((0,L.T)(ae=>({headerText:{text:j.header},bodyText:{text:j.description,placeholders:this.tvMode?void 0:{membershipStatusUrl:`class="font-body2-link" href="${ae}"`}},link:{text:this.tvMode?"ecommerce.viewAccount":void 0,url:this.tvMode?ae:void 0,shortUrl:h.lp[h.r7.GfnAccountManagement]},primaryButton:j.primaryButton})),(0,A.ZZ)(ae=>{const Ce=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:ae},{preferredDialogType:W.QO.ThreeQuarterSheet});return(0,U.O4)(Ce.primaryButtonClick,Ce.afterClosed()).pipe((0,l.s)(1),(0,S.M)(()=>{Ce.close()}))}))}openMembershipRefreshErrorDialog(ae=!0){return this.redirectService.getRedirectUrl(h.r7.GfnServerStatus).pipe((0,L.T)(Ce=>({headerText:{text:ae?j.header:ge.header},bodyText:{text:j.description},link:{text:"common.viewServerStatus",url:Ce,shortUrl:h.lp[h.r7.GfnAccountManagement]},primaryButton:j.primaryButton})),(0,A.ZZ)(Ce=>{const Se=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:Ce},{preferredDialogType:W.QO.ThreeQuarterSheet});return(0,U.O4)(Se.primaryButtonClick,Se.afterClosed()).pipe((0,l.s)(1),(0,S.M)(()=>{Se.close()}))}))}openPlaytimeUpdateErrorDialog(){return this.prepareProductMatrixURL(h.r7.GfnAccountManagement).pipe((0,L.T)(ae=>({headerText:{text:ge.header},bodyText:{text:ge.description,placeholders:this.tvMode?void 0:{accountStatusUrl:`class="font-body2-link" href="${ae}"`}},link:{text:this.tvMode?"ecommerce.viewAccount":void 0,url:this.tvMode?ae:void 0,shortUrl:h.lp[h.r7.GfnAccountManagement]},primaryButton:ge.primaryButton})),(0,A.ZZ)(ae=>{const Ce=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:ae},{preferredDialogType:W.QO.ThreeQuarterSheet});return this.telemetryUtilService.sendPopUpDialogShownEvent(te.duU.Playtime_Not_Added),(0,U.O4)(Ce.primaryButtonClick,Ce.afterClosed()).pipe((0,l.s)(1),(0,S.M)(()=>{Ce.close()}))}))}initializeEcommerceSub(ae){ae.backToCloseResult=this.closeResult,this.getUserMembershipSubscription$=this.getUserMembership().subscribe(Ce=>{var Se,Ne,we,ve;const Pe=null==Ce||null===(Se=Ce.subscription)||void 0===Se?void 0:Se.productSku,Oe=null==Ce||null===(Ne=Ce.subscription)||void 0===Ne?void 0:Ne.remainingTimeInMinutes,Be=null==Ce||null===(we=Ce.subscription)||void 0===we?void 0:we.subType,tt=null==Ce||null===(ve=Ce.subscription)||void 0===ve?void 0:ve.expirationDateTime;null!==this.lastEntitlement?(this.isEcomPlanChanged=this.isPlanChanged(Pe),this.isPlaytimeAdded=this.isPlaytimeChanged(Oe),this.isDayPassAdded=this.hasDayPassExpiryDateChanged(Be,tt),(this.isEcomPlanChanged||this.currentUIState===D.qQ.MembershipUpdatetimeProgress&&this.isPlaytimeAdded||this.isDayPassAdded)&&(null==ae||ae.close())):this.lastEntitlement={productSku:Pe,remainingTimeInMinutes:Oe,subType:Be,expirationDateTime:tt}})}checkForMembershipUpgrade(ae=!0){return this.getUserMembership(!0).pipe((0,l.s)(1),(0,A.ZZ)(Ce=>{var Se,Ne,we,ve;const Pe=null==Ce||null===(Se=Ce.subscription)||void 0===Se?void 0:Se.productSku,Oe=null==Ce||null===(Ne=Ce.subscription)||void 0===Ne?void 0:Ne.remainingTimeInMinutes,Be=null==Ce||null===(we=Ce.subscription)||void 0===we?void 0:we.subType,tt=null==Ce||null===(ve=Ce.subscription)||void 0===ve?void 0:ve.expirationDateTime;return this.isEcomPlanChanged=this.isPlanChanged(Pe),this.isPlaytimeAdded=this.isPlaytimeChanged(Oe),this.isDayPassAdded=this.hasDayPassExpiryDateChanged(Be,tt),ae&&!this.isEcomPlanChanged&&!this.isDayPassAdded||!ae&&!this.isPlaytimeAdded?this.openErrorDialogs(Ce,ae):(0,O.of)(ae?this.isEcomPlanChanged||this.isDayPassAdded:this.isPlaytimeAdded)}))}isPlanChanged(ae){return this.lastEntitlement.productSku!==ae}hasDayPassExpiryDateChanged(ae,Ce){return ae===N.hz.DAY_PASS&&this.lastEntitlement.expirationDateTime!==Ce}isPlaytimeChanged(ae){return this.lastEntitlement.remainingTimeInMinutes{const Se=null==ae?void 0:ae.subscription,Ne=null==Ce?void 0:Ce.subscription;let Pe,Oe;(null==Se?void 0:Se.productSku)!==(null==Ne?void 0:Ne.productSku)?this.registerIntervalTimer():(this.isTimeCappedSubscription?(Pe=null==Se?void 0:Se.currentSpanEndDateTime,Oe=null==Ne?void 0:Ne.currentSpanEndDateTime):null!=Se&&Se.expirationDateTime&&null!=Ne&&Ne.expirationDateTime?(Pe=null==Se?void 0:Se.expirationDateTime,Oe=null==Ne?void 0:Ne.expirationDateTime):null!=Se&&Se.renewalDateTime&&null!=Ne&&Ne.renewalDateTime&&(Pe=null==Se?void 0:Se.renewalDateTime,Oe=null==Ne?void 0:Ne.renewalDateTime),Pe!==Oe&&this.registerIntervalTimer())}))}get isLimitedState(){var ae;return(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae||null===(ae=ae.currentSubscriptionState)||void 0===ae?void 0:ae.state)===N.zZ.LIMITED}get isLimitedPlayableState(){var ae,Ce;return(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae||null===(ae=ae.currentSubscriptionState)||void 0===ae?void 0:ae.state)===N.zZ.LIMITED&&(null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce||null===(Ce=Ce.currentSubscriptionState)||void 0===Ce?void 0:Ce.isGamePlayAllowed)}get isLimitedUnplayableState(){var ae,Ce;return(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae||null===(ae=ae.currentSubscriptionState)||void 0===ae?void 0:ae.state)===N.zZ.LIMITED&&!(null!==(Ce=this.userMembership$.value)&&void 0!==Ce&&null!==(Ce=Ce.subscription)&&void 0!==Ce&&null!==(Ce=Ce.currentSubscriptionState)&&void 0!==Ce&&Ce.isGamePlayAllowed)}get isFullState(){var ae,Ce,Se;return(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae||null===(ae=ae.currentSubscriptionState)||void 0===ae?void 0:ae.state)===N.zZ.FULL&&(null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce?void 0:Ce.remainingTimeInMinutes)>(null===(Se=this.userMembership$.value)||void 0===Se||null===(Se=Se.subscription)||void 0===Se||null===(Se=Se.notifications)||void 0===Se?void 0:Se.notifyUserWhenTimeRemainingInMinutes)}get isLowState(){var ae,Ce,Se;return(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae||null===(ae=ae.currentSubscriptionState)||void 0===ae?void 0:ae.state)===N.zZ.FULL&&(null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce?void 0:Ce.remainingTimeInMinutes)<=(null===(Se=this.userMembership$.value)||void 0===Se||null===(Se=Se.subscription)||void 0===Se||null===(Se=Se.notifications)||void 0===Se?void 0:Se.notifyUserWhenTimeRemainingInMinutes)}get totalPlaytime(){var ae;return(0,f.isUndefined)(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae?void 0:ae.totalTimeInMinutes)?void 0:(0,z.n96)(this.userMembership$.value.subscription.totalTimeInMinutes)}get remainingPlaytime(){var ae;return(0,f.isUndefined)(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae?void 0:ae.remainingTimeInMinutes)?void 0:(0,z.n96)(this.userMembership$.value.subscription.remainingTimeInMinutes)}get rolledOverPlaytime(){var ae;return null!==(ae=this.userMembership$.value)&&void 0!==ae&&null!==(ae=ae.subscription)&&void 0!==ae&&ae.rolledOverTimeInMinutes?(0,z.n96)(this.userMembership$.value.subscription.rolledOverTimeInMinutes):void 0}get remainingPlaytimePercentage(){var ae,Ce;if((0,f.isUndefined)(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae?void 0:ae.totalTimeInMinutes)||(0,f.isUndefined)(null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce?void 0:Ce.remainingTimeInMinutes))return 0;{const Se=this.userMembership$.value.subscription.remainingTimeInMinutes/this.userMembership$.value.subscription.totalTimeInMinutes*100;return Se>this.maximumNon100ProgressValue&&Se<100?this.maximumNon100ProgressValue:Se0?this.minimumNonZeroProgressValue:Se}}get onTimeRemainingAlertForBanner(){return this.intervalEventTriggered$.pipe((0,L.T)(ae=>this.checkForLowAndLimitedTime(this.userMembership$.value)),(0,_.F)(C))}get isTimeCappedSubscription(){var ae;return(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae?void 0:ae.subType)===N.hz.TIME_CAPPED}get isDayPassSubscription(){var ae;return(null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae?void 0:ae.subType)===N.hz.DAY_PASS}getDayPassExpiryDetails(){return this.onUserSkuChange().pipe((0,L.T)(ae=>{var Ce,Se,Ne;const we=null==ae||null===(Ce=ae.prevMembership)||void 0===Ce?void 0:Ce.subscription,ve=null==ae||null===(Se=ae.newMembership)||void 0===Se?void 0:Se.subscription;return{show:(null==we?void 0:we.productSku)!==(null==ve?void 0:ve.productSku)&&(null==we?void 0:we.subType)===N.hz.DAY_PASS&&this.featureUpsellAvailable(N.q3.DAY_PASS)&&(null==ve?void 0:ve.type)===N.rz.FREE,oldSKUShortName:null==ae||null===(Ne=ae.prevMembership)||void 0===Ne||null===(Ne=Ne.product)||void 0===Ne?void 0:Ne.shortDescription}}))}checkIfNearingExpiry(){return this.getUserMembership().pipe((0,l.s)(1),(0,A.ZZ)(ae=>(this.isDayPassSubscription||this.isTimeCappedSubscription)&&(this.isLimitedState||this.checkLowPlayTimeCondition(this.userMembership$.value,!0))?this.getUserMembership(!0).pipe((0,l.s)(1),(0,L.T)(Ce=>this.isLimitedState?this.isLimitedState:this.checkLowPlayTimeCondition(Ce,!0))):(0,O.of)(!1)))}getExpiryBannerText(ae){return ae===N.hz.DAY_PASS?"notification.dayPassExpiryBanner":ae!==N.hz.TIME_CAPPED?(this.logger.info(`Unsupported subType:${ae}`),""):void 0}clearIntervalTimer(){var ae;null===(ae=this.membershipIntervalSub)||void 0===ae||ae.unsubscribe(),this.membershipIntervalSub=null}registerIntervalTimer(){var ae,Ce,Se;let Ne,we;this.clearIntervalTimer();const ve=null===(ae=this.userMembership$.value)||void 0===ae||null===(ae=ae.subscription)||void 0===ae?void 0:ae.expirationDateTime,Pe=null===(Ce=this.userMembership$.value)||void 0===Ce||null===(Ce=Ce.subscription)||void 0===Ce?void 0:Ce.currentSpanEndDateTime,Oe=null===(Se=this.userMembership$.value)||void 0===Se||null===(Se=Se.subscription)||void 0===Se?void 0:Se.renewalDateTime;this.isTimeCappedSubscription?Ne=new Date(Pe):ve?Ne=new Date(ve):Oe&&(Ne=new Date(Oe)),Ne&&!isNaN(Ne)&&(this.membershipIntervalSub=(0,P.O)(0,D.JZ).subscribe(Be=>{this.intervalEventTriggered$.next(Be),we=Ne.getTime()-(new Date).getTime(),we<=0?(this.fetchLatestUserSubscriptionAfterExpiry(),this.clearIntervalTimer()):we{this.intervalEventTriggered$.next(Be),this.fetchLatestUserSubscriptionAfterExpiry()},we))}))}fetchLatestUserSubscriptionAfterExpiry(){this.refreshSubscriptionAfterExpiry&&!isNaN(this.refreshSubscriptionAfterExpiry)&&setTimeout(()=>{this.refeshUiService.resetContentExpiryAndRefreshOnFocus(ne.sD.Subscription)},this.refreshSubscriptionAfterExpiry)}isUserUpgraded(ae,Ce,Se){return null!==ae&&(null==ae?void 0:ae.userId)===Ce&&(null==ae?void 0:ae.productSku)!==Se}isPlaytimeUpdated(ae,Ce,Se,Ne){return this.isTimeCappedSubscription&&!this.isUserUpgraded(ae,Ce,Se)&&null!==ae&&(null==ae?void 0:ae.userId)===Ce&&(null==ae?void 0:ae.productSku)===Se&&(null==ae?void 0:ae.remainingTimeInMinutes)=0&&Oe<=ve}}return(ce=G).\u0275fac=function(ae){return new(ae||ce)(F.KVO(a.iH),F.KVO(Z.no),F.KVO(a.zW),F.KVO(se.H0),F.KVO(Y.G),F.KVO(te.jgD),F.KVO(q.bZ),F.KVO(T.Ix),F.KVO(a.NZ),F.KVO(H.DL),F.KVO(y.k_),F.KVO(W.nO),F.KVO(ne.F4),F.KVO(X.a),F.KVO(c.Vk),F.KVO(W.c_),F.KVO(W.uh),F.KVO(h.Q5),F.KVO(ne.F4),F.KVO(g.Hm),F.KVO(d.yQ),F.KVO(a.J6),F.KVO(W.gE))},ce.\u0275prov=F.jDH({token:ce,factory:ce.\u0275fac,providedIn:"root"}),G})()},97273:(xe,de,t)=>{"use strict";t.d(de,{u:()=>U});var e=t(82187),n=t(78893),E=t(58527),O=t(47766),B=t(17901),P=t(54292),k=t(61958);let U=(()=>{var r;class A{constructor(I,S,L,s,M){var u;this.localeService=I,this.loggingService=S,this.pwaService=L,this.browserSupportService=s,this.appConfig=M,this.defaultUrl=this.getDefaultUrl(),this.url="",this.shouldAvoidAddressBarUpdateFlag=!1,this.isAddressBarUrlUpdated=!1,this.isShareUrlTypeOGP=!0,this.isShareURLRequireBranch=!1,this.logger=this.loggingService.getLogger("GameShareUrlService"),this.avoidAddressBarUpdateConfig=!(null===(u=this.appConfig)||void 0===u||null===(u=u.client)||void 0===u||!u.avoidAddressBarUpdate),this.isShareUrlTypeOGP=!(this.browserSupportService.isLocalDomain()||this.browserSupportService.isPartnerDomain()),this.isShareURLRequireBranch=this.browserSupportService.isStagingDomain(),this.initAvoidAddressBarUpdateFlag()}getDefaultUrl(){var I,S;return(null!==(I=window.geForceNowStartLocationOrigin)&&void 0!==I?I:window.location.origin)+(null!==(S=window.geForceNowStartLocationPathName)&&void 0!==S?S:window.location.pathname)}splitUrl(I){const S=I.split("/");let L=S[S.length-1];return L=L.replace(e.dn,""),L=L.split(".")[0],L}updateShareUrlInfo(I,S){this.gameId=I,this.assetIdentifier=S;const L=`${e.aj.GameId}=${this.gameId}`;if(this.isShareUrlTypeOGP){const s=`&${e.aj.Locale}=${this.localeService.getLocale()}`,M=S?this.splitUrl(S):"";if(this.queryParamsString=`${L}${s}${M?`&${e.aj.AssetId}=${M}`:""}`,this.isShareURLRequireBranch){const x=this.browserSupportService.getHostBranchName();this.queryParamsString=`${this.queryParamsString}${x?`&${e.aj.Branch}=${x}`:""}`}this.url=`${window.location.origin}/${e.py.Games}?${this.queryParamsString}`}else this.queryParamsString=`${L}`,this.url=`${window.location.origin}${window.location.pathname}#/${e.Ix}?${this.queryParamsString}`;return!0}initAvoidAddressBarUpdateFlag(){this.pwaService.onPWAModeChange.subscribe(I=>{this.shouldAvoidAddressBarUpdateFlag=I||this.avoidAddressBarUpdateConfig},I=>{this.logger.error("Error while setting initial value, defaulting to false"+I),this.shouldAvoidAddressBarUpdateFlag=!1})}getIsAddressbarUrlUpdated(){return this.isAddressBarUrlUpdated}setShareUrlInAddressBar(){this.shouldAvoidAddressBarUpdateFlag||(this.gameId&&-1!==this.url.indexOf(this.gameId)?(window.history.replaceState("","",this.url),this.isAddressBarUrlUpdated=!0):this.resetUrlInAddressBar())}getDeeplinkShareUrl(){return this.url}getShareInfo(I,S,L){if(!(this.gameId===I&&this.assetIdentifier===S||this.updateShareUrlInfo(I,S)))return void this.logger.error("Error while validating gameId");const M=L?`&${e.aj.UtmSource}=${L}`:"";return this.gameId?{url:`${this.url}${M}`,queryParamsString:`${this.queryParamsString}${M}`}:{url:window.location.origin,queryParamsString:""}}resetUrlInAddressBar(I,S){if(this.shouldAvoidAddressBarUpdateFlag||this.gameId!==I)return;const L=S?this.defaultUrl.concat(`#${S}`):this.defaultUrl;window.history.replaceState("","",L),this.isAddressBarUrlUpdated=!1}setExitUrl(I){this.exitUrl=I}setGameUrlAsExitUrl(){this.exitUrl=this.queryParamsString?`${n.f.Deeplink}?${this.queryParamsString}&${e.aj.UtmSource}=${e.mB.Application}`:n.V6.DefaultRedirect}getExitUrl(){let I;return I=this.exitUrl?this.exitUrl:this.queryParamsString?`${n.f.Deeplink}?${this.queryParamsString}`:n.V6.DefaultRedirect,I}}return(r=A).\u0275fac=function(I){return new(I||r)(E.KVO(O.iH),E.KVO(O.J6),E.KVO(B.SL),E.KVO(P.vT),E.KVO(k.Vk))},r.\u0275prov=E.jDH({token:r,factory:r.\u0275fac,providedIn:"root"}),A})()},73718:(xe,de,t)=>{"use strict";t.d(de,{u:()=>e.u});var e=t(97273)},28507:(xe,de,t)=>{"use strict";t.d(de,{_:()=>r,e:()=>l});var e=t(81834),n=t(18433),E=t(76449),O=t(70521),B=t(58527),P=t(61958),k=t(47766),U=t(70815);let r=(()=>{var I;class S{constructor(s,M,u,x){this.appConfig=s,this.distributedtracingUtilService=u,this.endpointFactory=x,this.logger=M.getLogger("GridSdkService");const{defaultRetries:p=0,defaultTimeBetweenRetries:i=0,defaultTimeout:o=1e4}=s.grid;this.serverInfoEndpoint=this.endpointFactory.createEndpoint({config:{maxRetries:p,timeBetweenRetries:i,timeout:o}}),this.firstFetchSet=new Set}makeUrl(s,M=this.appConfig.grid.server){return(0,e.l2)([M,this.appConfig.grid.version,s])}getSpecificServerInfo(s,M){var u;s.startsWith("http")||(s=null!==(u=this.appConfig.featureEnablement)&&void 0!==u&&u.enablePassThru?"http://"+s:"https://"+s);const p={includeRequestId:!0,reportRequestData:{originalService:n.Uu$.Grid,serviceUseCase:n.OOF.GetSpecificServerInformation},headers:{}},i=p.reportRequestData.serviceUseCase;this.firstFetchSet.has(i)?p.headers[O.tD.SwCacheBypass]=JSON.stringify(!0):this.firstFetchSet.add(i);const o=this.serverInfoEndpoint.get(this.makeUrl("/serverInfo",s),p);return this.distributedtracingUtilService.handleHttpEndpointSpan(o,p,E.pB.GetSpecificServerInfo,M)}}return(I=S).\u0275fac=function(s){return new(s||I)(B.KVO(P.Vk),B.KVO(k.J6),B.KVO(E.Z1),B.KVO(U.t))},I.\u0275prov=B.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})();var A=t(21333);class l extends A.yN{constructor(S){super("Could not fetch vpcId",S)}}},23953:(xe,de,t)=>{"use strict";t.d(de,{G:()=>v});var e=t(85735),n=t(93181),E=t(31315),O=t(43848),B=t(59859),P=t(69917),k=t(35146),U=t(8619),r=t(65706),A=t(75707),l=t(83915),I=t(14714),S=t(91384),L=t(43615),s=t(99047),M=t(26875),x=t(28507),p=t(21341),i=t(70521),o=t(43117),_=t(58527),f=t(47766),J=t(61958),a=t(47261),D=t(51542),te=t(11961),N=t(22600),z=t(81834),R=t(89917);let v=(()=>{var h;class W{constructor(ee,b,w,F,Z,se,Y,q,T,H,y,X){this.loggingService=ee,this.gridSdk=b,this.appConfig=w,this.serverRouting=F,this.networkConfigurationService=Z,this.zoneStorageService=se,this.nesUserInfoService=Y,this.serviceWorkerService=T,this.gfnWebWorkerService=H,this.refreshUiService=y,this.networkStatusService=X,this.cachedRecommendedZone=null,this.streamingServiceUrl=null,this.hasServerInfoStreamErrored=!1,this.deeplinkZoneOverrideError$=new e.m(1),this.defaultZoneOnError=(c,g)=>(this.logger.info(c," : ",g),this.defaultZone$),this.logger=this.loggingService.getLogger("gfn/grid"),this.serverInfoStream=q.createStream(()=>this.requestServerInfo()),this.initServiceWorkerNotifications(),this.listenServerInfoRefreshNotification()}listenServerInfoRefreshNotification(){this.refreshUiService.serverInfoRefresh$.subscribe(ee=>{this.logger.info("Refresh ServerInfo",null==ee?void 0:ee.source),this.refreshServerInfo()})}initServiceWorkerNotifications(){this.serviceWorkerService.swCacheUpdated.pipe((0,U.p)(ee=>ee.name===i.fR.staleWhileRevalidate.server.cacheName),(0,r.s)(1)).subscribe(ee=>{const b=this.serverInfoStream.getData();if(!b)return;const w=this.processServerInfo(ee.data);(0,n.p)([this.gfnWebWorkerService.hash(b),this.gfnWebWorkerService.hash(w)]).subscribe(([F,Z])=>{Z!==F&&this.serverInfoStream.setData(w,!0)},F=>{this.logger.error("error hashing updated server info",F)})})}findZone(ee,b){return(0,M.find)(ee,w=>w.name===(null==b?void 0:b.value))}processServerInfo(ee){if(this.logger.info("processServerInfo"),(0,M.isNil)(ee))throw new Error("Server info was invalid.");const b=ee.metaData,w=ee.requestStatus;let F;if((0,M.isNil)(w))throw new Error('Bad schema in server info. Missing "requestStatus".');const Z=w.serverId;if((0,M.isNil)(b))throw new Error('Bad schema in server info. Missing "metaData".');(0,M.isEmpty)(b)&&this.logger.warn("Server metadata is empty");const se=ee.monitorSettings,Y=ee.serverType,q=(0,M.chain)(b).filter(y=>y.value.startsWith("http")).map(y=>{const X=y.value.replace("http://","").replace("https://","");return{name:y.key,address:X}}).keyBy("address").value(),T=(0,M.find)(b,y=>"local-region"===y.key),H=this.findZone(q,T);if(this.logger.info("Local region: ",H),this.streamingServiceUrl?F={address:this.getDefaultZone(),name:this.appConfig.grid.name}:(0,M.isObject)(T)&&!(0,M.isUndefined)(T.value)&&(F=this.findZone(q,T)),!(0,M.isObject)(F))if((0,M.isNil)(this.cachedRecommendedZone)){const y=this.appConfig.grid;F={name:y.name,address:y.server.replace("http://","").replace("https://","").replace("/","")},this.logger.error(`default zone not valid, using config zone: ${F.name}`)}else F=this.cachedRecommendedZone,this.logger.error(`default zone not valid, using cached zone: ${F.name}`);return this.saveDefaultZone(F),{vpcId:Z,serverType:Y,zones:q,defaultZone:F,monitorSettings:se,detectedLocalZone:H}}saveDefaultZone(ee){this.zoneStorageService.setDefaultZone(ee).subscribe(()=>M.noop,b=>this.logger.error("failed to set default zone",b))}requestServerInfo(ee){let b=null;return this.nesUserInfoService.fetchUserInfoWithStreamingUrl().pipe((0,A.ZZ)(w=>(0,E.zV)([this.networkConfigurationService.getNetworkOverride(),this.networkConfigurationService.getCurrentCachedZone(),(0,O.of)(w)])),(0,A.ZZ)(([w,F,Z])=>{this.streamingServiceUrl=Z.serviceEndpoint.streamingServiceUrl;const se=this.getDefaultZone();return this.logger.info("cached zone and override Zone are:",F,w),this.cachedRecommendedZone=(0,M.isNil)(w)?(0,M.isNil)(F)?null:F:w,(0,M.isNil)(this.cachedRecommendedZone)?(this.logger.info("cachedRecommendedZone zone is null. Use new server info"),this.getServerInfo({address:this.streamingServiceUrl,name:""},b,ee)):(b=this.checkIfCachedOrOverrideZoneAvailable(se,w,F),this.clearNotAvailableZones(b),b.isOverrideZoneAvailable?(this.logger.info("Override zone available in zonesList. Get serverInfo for override zone"),this.getServerInfo(w,b,ee)):b.isCachedZoneAvailable?(this.logger.info("cached zone available in zonesList. Get serverInfo for cached zone"),this.getServerInfo(F,b,ee)):(this.logger.info("Override or cached zone present but not available in zonesList, clearing NetworkOverride"),this.getServerInfo({address:this.streamingServiceUrl,name:""},b,ee)))}))}getServerInfo(ee,b,w){return this.gridSdk.getSpecificServerInfo(ee.address,w).pipe((0,l.T)(F=>this.processServerInfo(F)),(0,I.W)(F=>(this.logger.error("error in fetching serverInfo",F),null!=b&&b.isCachedZoneAvailable||null!=b&&b.isOverrideZoneAvailable?(this.networkConfigurationService.deeplinkOverrideZone&&this.deeplinkZoneOverrideError$.next(!0),this.clearNotAvailableZones({isCachedZoneAvailable:!b.isCachedZoneAvailable,isOverrideZoneAvailable:!b.isOverrideZoneAvailable}),this.getServerInfo({address:this.streamingServiceUrl,name:""},b,w)):(this.hasServerInfoStreamErrored=!0,(0,B.$)(F)))),(0,S.M)(F=>{this.networkConfigurationService.deeplinkOverrideZone&&this.deeplinkZoneOverrideError$.next(!1),this.refreshUiService.setContentExpiryInfo(o.sD.ServerInfo),this.hasServerInfoStreamErrored=!1}))}checkIfCachedOrOverrideZoneAvailable(ee,b,w){let F,Z;return!(0,M.isNil)(b)&&b.isInternal&&(this.logger.info("Internal override is set"),F=!0),!(0,M.isNil)(b)&&!F&&(F=ee===b.defaultZone),(0,M.isNil)(w)||(Z=ee===w.defaultZone),{isOverrideZoneAvailable:F,isCachedZoneAvailable:Z}}clearNotAvailableZones(ee){ee.isOverrideZoneAvailable?ee.isCachedZoneAvailable?this.logger.info("Both override and cached zones are available in the zonelist"):(this.logger.info("Cached zone is not available in the zonelist. Clearing cached zone"),this.networkConfigurationService.clearCurrentFingerprintCachedZone().subscribe()):(this.logger.info("Override zone is not available in the zonelist. Clearing override zone"),this.networkConfigurationService.clearNetworkOverride().subscribe())}getServerProperty(ee){return this.serverInfoStream.get$().pipe((0,l.T)(ee))}get deeplinkZoneOverrideStatus(){return this.deeplinkZoneOverrideError$.asObservable().pipe((0,L.j)(()=>{this.deeplinkZoneOverrideError$=new e.m(1)}))}get vpcId$(){return this.getServerProperty(ee=>ee.vpcId).pipe((0,I.W)(ee=>{if(!this.networkStatusService.isOnline){const b=this.networkStatusService.onlineStatusChanged.pipe((0,U.p)(w=>w),(0,r.s)(1),(0,A.ZZ)(()=>this.vpcId$));return(0,P.x)((0,O.of)(null),b)}return(0,B.$)(ee)}),(0,I.W)(ee=>(0,B.$)(new x.e(ee))))}get defaultZone$(){return this.getProperty(ee=>ee.defaultZone)}get zoneList$(){return this.getProperty(ee=>ee.zones)}get serverType$(){return this.getProperty(ee=>ee.serverType)}get monitorSettings$(){return this.hasServerInfoStreamErrored?(0,O.of)(void 0):this.getProperty(ee=>ee.monitorSettings)}get detectedLocalZone$(){return this.getProperty(ee=>ee.detectedLocalZone)}getProperty(ee){return this.getServerProperty(ee)}getZone(ee,b){return(0,k.yU)(this.zoneList$,this.defaultZone$).pipe((0,s.$)(),(0,A.ZZ)(w=>{const[F,Z]=w;return ee.defaultZone=Z.address,this.serverRouting.getFastestRegionalZone(ee,F,b).pipe((0,S.M)(se=>{this.logger.info("Got the latency based router zone: ",se),this.serverInfoStream.refresh()}))}))}getCachedZone(){return this.serverRouting.getCachedServerZone().pipe((0,A.ZZ)(ee=>(0,M.isNil)(ee)?this.defaultZoneOnError("Empty zone in cache, falling back to default zone"):(0,O.of)(ee)),(0,I.W)(ee=>this.defaultZoneOnError("No zone in cache, falling back to default zone",ee)))}getCachedLatencies(){const ee=this.networkConfigurationService.getCurrentCachedLatencies(),b=this.networkConfigurationService.getNetworkOverride();return(0,E.zV)([ee,b]).pipe((0,r.s)(1),(0,l.T)(([w,F])=>{var Z,se;if(F&&null!==(Z=this.appConfig)&&void 0!==Z&&null!==(Z=Z.lbrConfig)&&void 0!==Z&&Z.applyDeterministicServerRouting){const H="latency@"+F.address;return{[H]:w&&w[H]?w[H]:"-1"}}if(!w)return{};const Y=(null===(se=this.appConfig)||void 0===se||null===(se=se.lbrConfig)||void 0===se?void 0:se.cachedLatencyCount)||p.RQ,q=Object.keys(w).sort((H,y)=>parseInt(w[H],10)-parseInt(w[y],10)).slice(0,Y),T={};return q.forEach(H=>{T[H]=w[H]}),T}))}refreshServerInfo(){return this.serverInfoStream.refresh()}getDefaultZone(){return this.streamingServiceUrl?this.streamingServiceUrl.replace("http://","").replace("https://","").replace("/",""):""}}return(h=W).\u0275fac=function(ee){return new(ee||h)(_.KVO(f.J6),_.KVO(x._),_.KVO(J.Vk),_.KVO(a.b),_.KVO(D.u),_.KVO(te.p),_.KVO(N.l),_.KVO(z.mZ),_.KVO(i.lS),_.KVO(R.JS),_.KVO(o.F4),_.KVO(f.CF))},h.\u0275prov=_.jDH({token:h,factory:h.\u0275fac,providedIn:"root"}),W})()},80838:(xe,de,t)=>{"use strict";t.d(de,{G:()=>e.G});var e=t(23953)},16992:(xe,de,t)=>{"use strict";t.d(de,{x:()=>r});var e=t(47766),n=t(78893),E=t(82187),O=t(26875),P=t(58527),k=t(7703),U=t(50801);let r=(()=>{var A;class l{constructor(S,L,s){if(this.deeplinkHelperService=L,this.guestModeConfig=E.VN,this.guestMode=!1,this.logger=S.getLogger("GuestModeHelperService"),s.setForceTouchModeCallback(this.getForceTouchModeSettings.bind(this)),(0,n.ED)()){this.guestMode=!0;const M=this.deeplinkHelperService.getUpdatedPartnerId((0,n.BS)(E.aj.PartnerId))||"";this.setGuestModeConfig(M)}}isGuestAppFlow(){var S;return this.isGuestMode&&(null===(S=this.getGuestModeConfig())||void 0===S?void 0:S.isGuestAppFlow)}updateGuestModeConfig(S){if(S){const{allowedRedirectUrls:L,...s}=S;this.guestModeConfig=(0,O.merge)(this.guestModeConfig,s),this.logger.info("updated GuestModeConfig",this.guestModeConfig)}}mergeGuestModeConfig(S,L){return S&&L?(0,O.merge)(L,S):L}fetchDefaultGDNMetaData(S){var L;const s=null===(L=this.getGuestModeConfig())||void 0===L?void 0:L.metadata,M=this.createDefaultMetdata(S);return this.logger.info("metadata Overrides: ",JSON.stringify(s)),this.logger.info("default MetaData: ",JSON.stringify(M)),M&&s?[(0,O.merge)(M,s)]:[M]}createDefaultMetdata(S){const L={...E.vz};return L.variants[0].id=S,L}getGuestModeConfig(){return this.guestModeConfig}getForceTouchModeSettings(){var S;return e.zk.isTouchPlatform()?null===(S=this.guestModeConfig)||void 0===S?void 0:S.forceTouchModeSettings:{}}isWhiteLabelingEnabled(){var S;return null===(S=this.getGuestModeConfig())||void 0===S?void 0:S.isWhiteLabelingEnabled}hideGuestAppFlowStartButton(){var S;return this.deeplinkHelperService.windowedMode&&(null===(S=this.getGuestModeConfig())||void 0===S?void 0:S.hideAppStartButton)}get isGuestMode(){return this.guestMode}set isGuestMode(S){this.guestMode=S}setGuestModeConfig(S){this.guestModeConfig=E.Uf[S]||E.VN}}return(A=l).\u0275fac=function(S){return new(S||A)(P.KVO(e.J6),P.KVO(k.w),P.KVO(U.qQ))},A.\u0275prov=P.jDH({token:A,factory:A.\u0275fac,providedIn:"root"}),l})()},66974:(xe,de,t)=>{"use strict";t.d(de,{x:()=>i.x,N:()=>J});var e=t(85735),n=t(43848),E=t(59859),O=t(31315),B=t(83915),P=t(65706),k=t(14714),U=t(75707),r=t(47766),A=t(76449),l=t(40996),I=t(78812),S=t(14331),L=t(78893),s=t(87687),M=t(26814),u=t(81834),x=t(94829),p=t(58527),i=t(16992),o=t(43354),_=t(70815),f=t(97273);let J=(()=>{var a;class D{constructor(N,z,R,v,h,W,ne,ee,b,w){this.guestModeHelperService=z,this.gfnSdkService=R,this.appConfig=v,this.endpointFactory=h,this.distributedtracingUtilService=W,this.telemetryService=ne,this.gameShareUrlService=ee,this.experienceControlService=b,this.systemInfoService=w,this.guestModeExitUrl="",this.guestModeAllowedRedirectUrls=[],this.isGuestFlowConfigFetchedSubject=new e.m(1),this.logger=N.getLogger("GuestModeService")}getAuthConfigFromNonce(N,z,R,v){var h,W;const ne={timeout:null!==(h=this.appConfig.accountLinking.defaultTimeout)&&void 0!==h?h:15e3,timeBetweenRetries:0,maxRetries:null!==(W=this.appConfig.accountLinking.defaultRetries)&&void 0!==W?W:1},ee=this.endpointFactory.createEndpoint({config:ne}),b={partnerId:z,cmsId:R,nonce:N,deviceId:v},w={partnerId:z,cmsId:R.toString()},F=this.createRequestOptions(b,{}),Z=ee.post(this.buildApiUrl("token"),F);return this.distributedtracingUtilService.handleHttpEndpointSpan(Z,F,A.pB.AlsTokenExchange,null,w).pipe((0,B.T)(se=>(this.logger.info("Successfully got JWT token from ALS API"),{authType:"jwt",partnerData:"",partnerSecureData:null==se?void 0:se.partnerSecureData,token:null==se?void 0:se.token})))}buildApiUrl(N){var z;return(null===(z=this.appConfig.accountLinking)||void 0===z?void 0:z.server)+"/v2/"+N}createRequestOptions(N={},z={}){return{params:z,body:N}}get guestModeAllowedRedirectUrlsList(){return this.guestModeAllowedRedirectUrls}set guestModeAllowedRedirectUrlsList(N){this.guestModeAllowedRedirectUrls=N}get isGuestFlowConfigFetched$(){return this.isGuestFlowConfigFetchedSubject.asObservable()}getGuestModeExitUrl(){return this.guestModeExitUrl}isStateValid(N){return!!((0,u.It)(N)||(0,u.Q2)(N)||/^[a-zA-Z0-9-]{1,36}$/.test(N))}createRedirectURLWithState(N,z,R){return(0,L.K)(N,z,R)}initializeGuestModeExitUrl(N,z,R){this.guestModeExitUrl=(0,L.K)(N,z,R.toString())}updateRedirectURLWithSubErrorCode(N){this.guestModeExitUrl=(0,L.K)(this.guestModeExitUrl,S.hV.SubStatus,(0,x.yJ)(N)),this.gameShareUrlService.setExitUrl(this.guestModeExitUrl)}updateGuestModeExitUrl(N){this.guestModeExitUrl=(0,L.K)(this.guestModeExitUrl,S.hV.Status,N.toString()),this.gameShareUrlService.setExitUrl(this.guestModeExitUrl)}fetchGuestFlowConfigCloudVariable(N,z,R,v){return this.experienceControlService.getCloudVariable(this.appConfig.gxTarget.experiences.guestFlowClientConfig,{partnerId:N},{useCache:!1,useNetworkTimeoutForCacheFallback:!1},M.Ky.GxTargetGetCloudVariable,M.Id.Other).pipe((0,P.s)(1),(0,B.T)(h=>{var W;this.gxtGuestFlowClientConfig=h.value,this.logger.info("guestFlowClientConfig from gxtarget is: ",this.gxtGuestFlowClientConfig);const ne=this.gxtGuestFlowClientConfig.defaultPartnerConfig;let ee;R&&(ee=this.gxtGuestFlowClientConfig[R]);const b=this.guestModeHelperService.mergeGuestModeConfig(ee,ne),w=(null==b?void 0:b.allowedRedirectUrls)||[];if(this.guestModeHelperService.updateGuestModeConfig(b),this.logger.info("Final Guest Mode Config: ",JSON.stringify(b)),this.isGuestFlowConfigFetchedSubject.next(),""!==z||0!==w.length){let Z=decodeURIComponent(z);if(!w.includes(Z))return{success:!1,error:s.LQP.RedirectURLNotAllowed};if(""!==v){if(!this.isStateValid(v))return{success:!1,error:s.LQP.RedirectURLNotAllowed};Z=this.createRedirectURLWithState(Z,S.hV.State,v)}else this.logger.info("Optional param state is empty");this.initializeGuestModeExitUrl(Z,S.hV.Status,S.Jv.Success)}return null===(W=null==ne?void 0:ne.enabled)||void 0===W||W?{success:!0,error:s.LQP.None,guestFlowStatusCode:S.Jv.Success}:(this.logger.error("Guest Mode is not enabled for ",N),{success:!1,error:s.LQP.Unauthorized,guestFlowStatusCode:S.Jv.Campaign_Suspended})}),(0,k.W)(h=>(this.logger.error("Error in fetching guestFlowClientConfig from GXT",h),(0,n.of)({success:!1,error:s.LQP.Unknown}))))}setAuthDataUsingNonce(N,z,R){return this.systemInfoService.getSystemInfo([r.Lu.DeviceId]).pipe((0,U.ZZ)(v=>this.getAuthConfigFromNonce(N,z,parseInt(R,10),v.DeviceId)),(0,B.T)(v=>v.token&&0!==v.token.length?(this.gfnSdkService.setSdkClient(z,v),{success:!0,error:s.LQP.None,guestFlowStatusCode:S.Jv.Success}):(this.logger.error("Invalid JWT token from ALS API"),{success:!1,error:s.LQP.Unauthorized,guestFlowStatusCode:S.Jv.GFN_Error})),(0,k.W)(v=>(this.logger.error("Failed to fetch JWT token from ALS API",v),(0,n.of)(401===v.status?{success:!1,error:s.LQP.PartnerAuthFailed,guestFlowStatusCode:S.Jv.Partner_Error}:{success:!1,error:s.LQP.Unauthorized,guestFlowStatusCode:S.Jv.GFN_Error}))))}setAuthDataUsingNonceAndUpdateGuestFlowConfig(N,z,R,v,h,W){if(!v)return this.logger.error("No cms-id in deeplink with nonce"),(0,E.$)(s.LQP.BadRequest);const ne=this.fetchGuestFlowConfigCloudVariable(z,h,R,W),ee=this.setAuthDataUsingNonce(N,z,R);return(0,O.zV)([ne,ee]).pipe((0,P.s)(1),(0,U.ZZ)(([b,w])=>b.success?w.success?(0,n.of)([b,w]):(null!=w&&w.guestFlowStatusCode&&this.updateGuestModeExitUrl(null==w?void 0:w.guestFlowStatusCode),(0,E.$)(w.error)):(null!=b&&b.guestFlowStatusCode&&this.updateGuestModeExitUrl(null==b?void 0:b.guestFlowStatusCode),(0,E.$)(b.error))),(0,U.ZZ)(b=>this.gfnSdkService.getAuthInfo()),(0,B.T)(b=>(b.authType===l.hT.JWT&&(this.telemetryService.setEventsCommonData({userId:b.userId,externalUserId:b.externalUserId,idpId:b.idpId},!0),this.experienceControlService.setUserInfo({userId:I.oX.Undefined,idpId:I.oX.Undefined})),!0)))}}return(a=D).\u0275fac=function(N){return new(N||a)(p.KVO(r.J6),p.KVO(i.x),p.KVO(l.DL),p.KVO(o.V),p.KVO(_.t),p.KVO(A.Z1),p.KVO(I.H0),p.KVO(f.u),p.KVO(M.BW),p.KVO(r.zW))},a.\u0275prov=p.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),D})()},9544:(xe,de,t)=>{"use strict";t.d(de,{t:()=>o});var e=t(94485),n=t(70815),E=t(78812),O=t(18433),B=t(47766),P=t(26875),k=t(36466),U=t(35146),r=t(43848),A=t(43354),l=t(75707),I=t(70521),S=t(58527),L=t(85735),s=t(59859),M=t(3496),u=t(80583),x=t(86447),p=t(14714);let i=(()=>{var _;class f{constructor(a){this.defaultMaxRetries=3,this.defaultRetryInterval=1e3,this.retryCount=0,this.jsLoadTelemetrySubject$=new L.m(1),this.logger=a.getLogger("ExternalJsLoadService")}getJsLoadScriptTag(a){return Array.from(document.getElementsByTagName("script")).find(te=>te.src.includes(a))}retryStrategy({maxRetries:a,retryInterval:D,isExponentialRetry:te},N){return N.pipe((0,l.ZZ)((z,R)=>R+1>a?(0,s.$)(z):(0,M.O)(Math.pow(te?2:1,R)*D)))}isScriptLoaded(a){return!!this.getJsLoadScriptTag(a)}unloadJS(a){const D=this.getJsLoadScriptTag(a);D&&D.remove()}loadJS(a,{scriptType:D="text/javascript",isAsyncLoad:te=!0}){const N=new u.B7,z=document.createElement("script");return z.src=a,z.type=D,z.async=te,z.onload=()=>{this.logger.info("External Script loaded successfully"),N.next(!0),N.complete()},z.onerror=R=>{this.unloadJS(a),this.logger.info("External Script load failed"),N.error(R)},document.body.appendChild(z),N.asObservable()}loadJSWithRetry(a,{scriptType:D="text/javascript",isAsyncLoad:te=!0,maxRetries:N=this.defaultMaxRetries,retryInterval:z=this.defaultRetryInterval,isExponentialRetry:R=!0}){return this.retryCount=0,this.loadJS(a,{scriptType:D,isAsyncLoad:te}).pipe((0,x.l)(v=>(this.retryCount++,this.retryStrategy({maxRetries:N,retryInterval:z,isExponentialRetry:R},v))),(0,p.W)(v=>(this.jsLoadTelemetrySubject$.next({isSuccess:!1,attemptCount:this.retryCount,fileName:a,error:v}),(0,r.of)(!1))))}}return(_=f).\u0275fac=function(a){return new(a||_)(S.KVO(B.J6))},_.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"}),f})(),o=(()=>{var _;class f{constructor(a,D,te,N,z,R){this.injector=a,this.statusCodeZeroAnalyzerFactoryService=te,this.localeService=N,this.serviceWorkerService=z,this.externalJsLoadService=R,this.logger=D.getLogger("http-telemetry.service"),this.reverseOriginalService=new Map,Object.keys(O.Uu$).forEach(v=>{this.reverseOriginalService.set(O.Uu$[v],v)}),this.reverseServiceUseCase=new Map,Object.keys(O.OOF).forEach(v=>{this.reverseServiceUseCase.set(O.OOF[v],v)}),this.reverseServiceSubUseCase=new Map,Object.keys(O.c4O).forEach(v=>{this.reverseServiceSubUseCase.set(O.c4O[v],v)}),this.pendingNetworkResponseMap=new Map}getStatusCodeZeroAnalyzer(){var a;if(this.statusCodeZeroAnalyzer)return this.statusCodeZeroAnalyzer;const D=null===(a=this.injector.get(A.V))||void 0===a?void 0:a.statusCodeZeroAnalyzerConfig;return this.statusCodeZeroAnalyzer=this.statusCodeZeroAnalyzerFactoryService.createAnalyzer(D),this.statusCodeZeroAnalyzer}initialize(){this.logger.info("Initializing Http Telemetry Service"),n.sl.httpErrorEvents$().subscribe(a=>{this.sendHttpFailureEvent(a)}),n.sl.httpSuccessEvents$().subscribe(a=>{this.sendHTTPSuccessEvent(a)}),this.sendHTTPGetCallsTelemetry(),this.serviceWorkerService.networkResponseReceived.subscribe(a=>{this.handleNetworkResponseReceived(a)},k.l)}handleNetworkResponseReceived(a){const D=a.requestId;if(this.pendingNetworkResponseMap.has(D)){const N=this.pendingNetworkResponseMap.get(D);if(this.pendingNetworkResponseMap.delete(D),a.responseStatusCode<=0||a.responseStatusCode>=400){var te;const z=N.httpSuccessEvent.parameters,R=new O._o$({destinationIp:z.destinationIp,serviceSubUseCase:z.serviceSubUseCase,sourceComponent:z.sourceComponent,serviceUseCase:z.serviceUseCase,originalService:z.originalService,xRequestId:z.xRequestId,url:z.url,retryCount:z.retryCount,wasSWCacheBypassed:z.wasSWCacheBypassed,networkErrorCode:String(a.responseStatusCode),networkErrorMessage:(null===(te=a.responseBody)||void 0===te?void 0:te.substring(0,1024))||""});this.telemetryService.push(R)}else N.httpSuccessEvent.parameters.durationMs=a.responseReceivedTimeMs-N.requestStartTime,this.telemetryService.push(N.httpSuccessEvent)}}sendHTTPGetCallsTelemetry(){this.externalJsLoadService.jsLoadTelemetrySubject$.subscribe(a=>{this.updateAndSendTelemetry(a,O.OOF.FetchJSFile)}),B.zk.isBrowserPlatform()&&(B.cK.retrySubject.subscribe(a=>{this.updateAndSendTelemetry(a,O.OOF.FetchJSFile)}),this.localeService.getLocaleDownloadRetryTelemetryData().subscribe(a=>{this.updateAndSendTelemetry(a,O.OOF.FetchLocaleJson)}))}updateAndSendTelemetry(a,D){const te={includeRequestId:!1,reportRequestData:{originalService:O.Uu$.AwsS3,serviceUseCase:D,serviceSubUseCase:O.c4O.Other,retryCount:a.attemptCount.toString(),requestEndTime:"0",requestStartTime:"0"}};if(a.isSuccess){const z={response:new e.cS({status:200,url:a.fileName}),options:te};this.sendHTTPSuccessEvent(z)}else this.sendHttpFailureEvent({response:{url:a.fileName,status:404},options:te})}getRetryCount(a){return(0,P.isNil)(a)||(0,P.isNil)(a.retryCount)?0:parseInt(a.retryCount,10)}getSWCacheBypassInfo(a){let te,D=O.T80.UNDEFINED;return a.headers&&a.headers[I.tD.SwCacheBypass]&&(te=a.headers[I.tD.SwCacheBypass],D=te===JSON.stringify(!0)?O.T80.TRUE:O.T80.FALSE),{swCacheBypassHeaderValue:te,wasSWCacheBypassed:D}}sendHttpFailureEvent(a){(0,P.isNil)(this.telemetryService)&&(this.telemetryService=this.injector.get(E.H0)),(0,P.isNil)(this.telemetryUtilService)&&(this.telemetryUtilService=this.injector.get(O.jgD));const D=a.response.xRequestId?a.response.xRequestId:"";(0,P.isNil)(this.telemetryService)||(0,P.isNil)(this.telemetryUtilService)?this.logger.warn("Unable to send event for failed http request: ",a.response.url):(0,U.yU)(this.telemetryService.getCommonDataObservable(),this.telemetryService.getDefaultClientConsentObserable()).pipe((0,l.ZZ)(te=>0!==a.response.status?(0,r.of)({statusCode:a.response.status}):this.getStatusCodeZeroAnalyzer().getFailureCode({requestUrl:a.response.url,uniqueRequestId:D}))).subscribe(te=>{const N=te.cachedDNSEntry,z=(null==N?void 0:N.destinationIp)||"",R=this.getSWCacheBypassInfo(a.options);let v="";var h,W,ne,ee;v=0===a.response.status?null!==(h=null===(W=a.response.rawResponse)||void 0===W?void 0:W.message)&&void 0!==h?h:"":null!==(ne=JSON.stringify(null===(ee=a.response.rawResponse)||void 0===ee?void 0:ee.error))&&void 0!==ne?ne:"";const b=new O._o$({sourceComponent:this.telemetryUtilService.getClientType(),originalService:this.getOriginalService(a.options.reportRequestData),serviceUseCase:this.getServiceUseCase(a.options.reportRequestData),serviceSubUseCase:this.getServiceSubUseCase(a.options.reportRequestData),url:a.response.url,networkErrorCode:String(te.statusCode),destinationIp:z,xRequestId:D,retryCount:this.getRetryCount(a.options.reportRequestData),wasSWCacheBypassed:R.wasSWCacheBypassed,networkErrorMessage:v.substring(0,1024)});this.telemetryService.push(b)})}sendHTTPSuccessEvent(a){(0,P.isNil)(this.telemetryService)&&(this.telemetryService=this.injector.get(E.H0)),(0,P.isNil)(this.telemetryUtilService)&&(this.telemetryUtilService=this.injector.get(O.jgD)),(0,P.isNil)(this.telemetryService)||(0,P.isNil)(this.telemetryUtilService)?this.logger.info("Unable to send event for http success request: ",a.response.url):(0,U.yU)(this.telemetryService.getCommonDataObservable(),this.telemetryService.getDefaultClientConsentObserable()).subscribe(D=>{const te=this.getSWCacheBypassInfo(a.options),N=new O.Bhf({sourceComponent:this.telemetryUtilService.getClientType(),originalService:this.getOriginalService(a.options.reportRequestData),serviceUseCase:this.getServiceUseCase(a.options.reportRequestData),serviceSubUseCase:this.getServiceSubUseCase(a.options.reportRequestData),url:a.response.url,httpStatus:a.response.status,durationMs:parseInt(a.options.reportRequestData.requestEndTime,10)-parseInt(a.options.reportRequestData.requestStartTime,10),destinationIp:"",responseData:"",xRequestId:a.options.includeRequestId?a.options.headers[n.SA.xRequestId]:"",retryCount:this.getRetryCount(a.options.reportRequestData),wasSWCacheBypassed:te.wasSWCacheBypassed});N.parameters.xRequestId&&this.serviceWorkerService.willGFNServiceWorkerHandleRequest(a.response.url,te.swCacheBypassHeaderValue)?this.pendingNetworkResponseMap.set(N.parameters.xRequestId,{httpSuccessEvent:N,requestStartTime:parseInt(a.options.reportRequestData.requestStartTime,10)}):this.telemetryService.push(N)})}getOriginalService(a){return(0,P.isNil)(a)||(0,P.isNil)(a.originalService)||(0,P.isNil)(this.reverseOriginalService.get(a.originalService))?O.Uu$.Other:O.Uu$[this.reverseOriginalService.get(a.originalService)]}getServiceUseCase(a){return(0,P.isNil)(a)||(0,P.isNil)(a.serviceUseCase)||(0,P.isNil)(this.reverseServiceUseCase.get(a.serviceUseCase))?O.OOF.Other:O.OOF[this.reverseServiceUseCase.get(a.serviceUseCase)]}getServiceSubUseCase(a){return(0,P.isNil)(a)||(0,P.isNil)(a.serviceSubUseCase)||(0,P.isNil)(this.reverseServiceSubUseCase.get(a.serviceSubUseCase))?O.c4O.Other:O.c4O[this.reverseServiceSubUseCase.get(a.serviceSubUseCase)]}}return(_=f).\u0275fac=function(a){return new(a||_)(S.KVO(S.zZn),S.KVO(B.J6),S.KVO(B.pZ),S.KVO(B.iH),S.KVO(I.lS),S.KVO(i))},_.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"}),f})()},98231:(xe,de,t)=>{"use strict";t.d(de,{S:()=>r});var e=t(72147),n=t(65706),E=t(75707),O=t(6687),B=t(33367),P=t(58527),k=t(47766),U=t(11346);let r=(()=>{var A;class l{constructor(S,L,s,M){this.ipcService=S,this.idmService=s,this.bridgeService=M,this.logger=L.getLogger("shared/idm-ipc"),this.ipcService.get$(O.kN.LoginStatusChanged).pipe((0,e.n)(u=>s.refreshUser())).subscribe(()=>{this.logger.info("User refreshed successfully")},u=>{this.logger.error("Failed refresh User with error: ",u)})}sendLoginStatusChange(){this.idmService.accountStatusChanged.pipe((0,n.s)(1),(0,E.ZZ)(S=>this.bridgeService.executeCommand(B.Ts.Common.Ipc.LoginStatus,{data:S},!1))).subscribe(S=>this.logger.info("success sending LoginStatus",S),S=>this.logger.error("error sending LoginStatus",S))}}return(A=l).\u0275fac=function(S){return new(S||A)(P.KVO(O.Uj),P.KVO(k.J6),P.KVO(U.k_),P.KVO(k.NZ))},A.\u0275prov=P.jDH({token:A,factory:A.\u0275fac,providedIn:"root"}),l})()},1894:(xe,de,t)=>{"use strict";t.d(de,{n:()=>Ne});var e=t(43848),n=t(31315),E=t(99443),O=t(19031),B=t(36466),P=t(15652),k=t(56237),U=t(27731),r=t(65706),A=t(75707),l=t(8619),I=t(83915),S=t(14714),L=t(91384),s=t(55833),M=t(47766),u=t(46356),x=t(18433),p=t(26537),i=t(19061),o=t(4208),_=t(80583),f=t(78893),J=t(40996),a=t(94829),D=t(81834),te=t(32398),N=t(58527),z=t(61958),R=t(14354),v=t(78812),h=t(9801),W=t(11346),ne=t(3457),ee=t(28139),b=t(29370),w=t(47973),F=t(61142),Z=t(81247),se=t(25369),Y=t(97888),q=t(65240);function T(we,ve){1&we&&(N.j41(0,"div",9),N.nrm(1,"mat-icon",10),N.k0s())}function H(we,ve){1&we&&(N.j41(0,"span",11),N.EFF(1,"error"),N.k0s())}function y(we,ve){if(1&we){const Pe=N.RV6();N.j41(0,"button",12),N.bIt("click",function(){N.eBV(Pe);const Be=N.XpG(2);return N.Njj(Be.onCancel())}),N.j41(1,"span",13),N.EFF(2),N.nI1(3,"translate"),N.k0s()()}if(2&we){const Pe=N.XpG(2);N.R7$(2),N.JRh(N.bMT(3,1,Pe.cancelButtonText))}}function X(we,ve){if(1&we){const Pe=N.RV6();N.j41(0,"button",14),N.bIt("click",function(Be){N.eBV(Pe);const tt=N.XpG(2);return N.Njj(tt.onLoginClicked(Be))}),N.j41(1,"span",13),N.EFF(2),N.nI1(3,"translate"),N.k0s()()}if(2&we){const Pe=N.XpG(2);N.R7$(2),N.JRh(N.bMT(3,1,Pe.tryLoginText))}}function c(we,ve){if(1&we&&(N.j41(0,"div",1),N.DNE(1,T,2,0,"div",2)(2,H,2,0,"span",3),N.j41(3,"div",4)(4,"span"),N.EFF(5),N.nI1(6,"translate"),N.k0s()(),N.j41(7,"span",5),N.EFF(8),N.nI1(9,"translate"),N.k0s(),N.j41(10,"div",6),N.DNE(11,y,4,3,"button",7)(12,X,4,3,"button",8),N.k0s()()),2&we){const Pe=N.XpG();N.Y8G("ngClass",Pe.isStreamer?"main-content-streamer":"main-content-mall")("backToCloseResult",Pe.backToCloseResult),N.R7$(),N.Y8G("ngIf",!Pe.showErrorIcon&&Pe.isStreamer),N.R7$(),N.Y8G("ngIf",Pe.showErrorIcon&&Pe.isStreamer),N.R7$(),N.Y8G("ngClass",Pe.showErrorIcon&&Pe.isStreamer?"content-header-error font-sub1":"content-header font-header6"),N.R7$(2),N.JRh(N.bMT(6,9,Pe.headerText)),N.R7$(3),N.JRh(N.bMT(9,11,Pe.bodyText)),N.R7$(3),N.Y8G("ngIf",Pe.showCancel),N.R7$(),N.Y8G("ngIf",Pe.showTryLogin)}}let g=(()=>{var we;class ve{constructor(Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e,He,De,Re,K,ke){var Ue,et;this.dialogRef=tt,this.genericDialog=Ee,this.localeService=ot,this.router=We,this.telemetryService=Qe,this.config=Fe,this.dialogData=Xe,this.gfnSdkService=_e,this.systemInfoService=He,this.idmTelemetryService=De,this.idmService=Re,this.idmLoginService=K,this.headerText="",this.bodyText="",this.cancelButtonText="",this.tryLoginText="",this.showCancel=!1,this.showTryLogin=!1,this.isStreamer=!1,this.shouldShowLoginButton=!1,this.showErrorIcon=!1,this.deviceAuthUri="",this.deviceAuthCode="",this.deviceAuthUriComplete="",this.browserPopup=void 0,this.needsWindowWorkaround=!1,this.offDeviceDialogSubscription=null,this.backToCloseResult=u.ie.Cancel,this.useDeviceAuthLogin=!(null===(Ue=this.config)||void 0===Ue||!Ue.useDeviceAuthLogin),this.logger=Oe.getLogger("loginBridgeState"),this.needsWindowWorkaround=!(null==Be||null===(et=Be.featureEnablement)||void 0===et||!et.loginPopupBlockerWorkaround),this.destroy$=new _.B7,this.onLoginClicked=ke.guard(i.HK.Link,this.onLoginClicked.bind(this))}initialize(){this.shouldShowLoginButton?(this.headerText="loginBridgeState.login",this.bodyText="loginBridgeState.loginToGeForceNow",this.tryLoginText="common.login",this.showCancel=!1,this.showTryLogin=!0):this.onTryLogin()}startLoginProcess(){this.logger.trace(D.N_.UserGesture,D.YD.Login,D.PC.open," login operation"),this.idmLoginService.getDeviceName$().pipe((0,r.s)(1),(0,A.ZZ)(Oe=>(this.idmTelemetryService.sendLoginStartEvent(this.dialogData.idpId,!1),this.idmService.login(!1,this.dialogData.idpId,this.browserPopup,Oe))),(0,o.Q)(this.destroy$)).subscribe(Oe=>{switch(this.logger.info("starfleet login state update",Oe),Oe){case u.l4.LoginAbortedByUser:this.dialogRef.close(u.ie.Cancel);break;case u.l4.LoginAbortedAlreadyLoggedIn:this.dialogRef.close(u.ie.Success);break;case te.g.LoggedIn:this.idmTelemetryService.sendLoginSuccessUserSessionEvent(),this.dialogRef.close(u.ie.Success);break;case u.l4.LoginFailed:case te.g.Failed:this.onLoginFailed();break;case u.l4.LoginFailedNoRetry:case te.g.LoggedOut:this.onLoginFailed(!1);break;case u.l4.LoginFailedToStart:this.onLoginFailed(!1,!1);break;case u.l4.LoginInProgressNeedDisplayCode:this.onNeedDisplayCode()}},Oe=>{this.logger.error("failed to login the user with error",Oe),this.needsWindowWorkaround&&Oe===u.l4.LoginAlreadyInProgress&&(this.idmService.cancel(),setTimeout(()=>{this.startLoginProcess()}))})}ngOnInit(){this.isStreamer=(0,f.tE)(this.router.url),(0,n.zV)([this.gfnSdkService.getAuthType(),this.localeService.localeChanged]).pipe((0,A.ZZ)(([Oe])=>(this.isStreamer&&Oe!==J.hT.IDM_FALLBACK&&Oe!==J.hT.JWT&&(this.shouldShowLoginButton=!0),this.localeService.localeChanged)),(0,r.s)(1)).subscribe(B.l,Oe=>this.logger.error("error in in locale changed"),()=>this.initialize())}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete(),this.closeOffDeviceAuthDialog()}onLoginFailed(Oe=!0,Be=!0){if(Be?(this.headerText="common.loginUnsuccessful",this.bodyText=Oe?"loginBridgeState.problemLogInRetry":"loginBridgeState.problemLogIn"):(this.headerText="loginBridgeState.unableToInitiateLogin",this.bodyText="loginBridgeState.poroblemTryingToLogin"),this.showCancel=!0,this.cancelButtonText="common.close",this.showTryLogin=Oe,this.showErrorIcon=!0,this.tryLoginText="common.retry",!1===Be?this.idmTelemetryService.sendCreateHTTPServerErrorEvent():this.idmTelemetryService.sendLoginFailureUserSessionEvent(),this.useDeviceAuthLogin){const tt={panelClass:"dialogPaddingRemove",disableClose:!0,data:{...this.dialogData,headerText:{text:this.headerText},bodyText:{text:this.bodyText},primaryButton:{text:this.cancelButtonText}}};this.openThreeQuarterSheet(tt)}}onCancel(){this.logger.trace(D.N_.UserGesture,D.YD.Login,D.PC.close," Login operation by clicking on cancel button"),this.dialogRef.close("common.close"===this.cancelButtonText?u.ie.CloseOnFailure:u.ie.Cancel)}onTryLogin(){this.needsWindowWorkaround?(this.browserPopup=window.open("","_blank"),this.headerText="loginBridgeState.login",this.bodyText="loginBridgeState.completeTheLogin",this.tryLoginText="common.login",this.showTryLogin=!0):(this.headerText="loginBridgeState.loginInProgress",this.bodyText="loginBridgeState.browserIsOpen",this.tryLoginText="common.retry",this.showTryLogin=!1),this.cancelButtonText="common.cancelTitleCase",this.showCancel=!0,this.startLoginProcess()}onLoginClicked(Oe){this.onTryLogin()}onNeedDisplayCode(){this.deviceAuthUri=this.idmService.getDeviceDisplayCode().url,this.deviceAuthUriComplete=this.idmService.getDeviceDisplayCode().url_complete;const Oe=this.idmService.getDeviceDisplayCode().user_code;if(Oe&&(this.deviceAuthCode=(0,a.zC)(Oe),this.cancelButtonText="common.cancelTitleCase",this.showCancel=!0),!this.deviceAuthUri||!this.deviceAuthUriComplete||!Oe)throw new Error(`Failed to launch login bridge dialog. deviceAuthUri: ${this.deviceAuthUri}, deviceAuthUriComplete: ${this.deviceAuthUriComplete}, rawCode: ${Oe}`);{const Be={panelClass:"dialogPaddingRemove",disableClose:!0,data:{...this.dialogData,headerText:{text:(0,a.ZE)(this.deviceAuthUri)},primaryButton:{text:"common.cancelTitleCase"},bodyText:{text:"loginBridgeState.deviceAuthLogin",placeholders:{authCode:`
${this.deviceAuthCode}
`}},footerText:{text:"loginBridgeState.deviceAuthHint"},image:{url:this.deviceAuthUriComplete}}};this.openThreeQuarterSheet(Be)}}openThreeQuarterSheet(Oe){this.closeOffDeviceAuthDialog(),this.offDeviceAuthDialogRef=this.genericDialog.open(Oe,{preferredDialogType:i.QO.ThreeQuarterSheet}),this.offDeviceAuthDialogRef.backToCloseResult=this.backToCloseResult,this.offDeviceDialogSubscription=(0,P.O4)(this.offDeviceAuthDialogRef.primaryButtonClick,this.offDeviceAuthDialogRef.afterClosed()).pipe((0,o.Q)(this.destroy$)).subscribe(()=>{this.closeOffDeviceAuthDialog(),this.onCancel()})}closeOffDeviceAuthDialog(){var Oe,Be;null===(Oe=this.offDeviceDialogSubscription)||void 0===Oe||Oe.unsubscribe(),this.offDeviceDialogSubscription=null,null===(Be=this.offDeviceAuthDialogRef)||void 0===Be||Be.close(),this.offDeviceAuthDialogRef=void 0}}return(we=ve).\u0275fac=function(Oe){return new(Oe||we)(N.rXU(M.J6),N.rXU(z.Vk),N.rXU(p.CP),N.rXU(i.uh),N.rXU(M.iH),N.rXU(R.Ix),N.rXU(v.H0),N.rXU(u.X$),N.rXU(p.Vh),N.rXU(J.DL),N.rXU(M.zW),N.rXU(h.J),N.rXU(W.k_),N.rXU(Ne),N.rXU(i.gE))},we.\u0275cmp=N.VBU({type:we,selectors:[["gfn-login-bridge-state"]],decls:1,vars:1,consts:[["fxFlex","","fxLayout","column","nvTrapFocus","","nvBackToCloseModal","",3,"ngClass","backToCloseResult",4,"ngIf"],["fxFlex","","fxLayout","column","nvTrapFocus","","nvBackToCloseModal","",3,"ngClass","backToCloseResult"],["class","header-logo",4,"ngIf"],["class","error-icon material-icons",4,"ngIf"],[3,"ngClass"],[1,"font-body2","content-body"],["fxFlex","","fxLayout","row","fxLayoutAlign","end end",1,"content-button"],["mat-button","","class","font-button2 text-button-icon",3,"click",4,"ngIf"],["color","accent","class","retry-button","mat-raised-button","",3,"click",4,"ngIf"],[1,"header-logo"],["svgIcon","gfnBranding"],[1,"error-icon","material-icons"],["mat-button","",1,"font-button2","text-button-icon",3,"click"],[1,"font-button2"],["color","accent","mat-raised-button","",1,"retry-button",3,"click"]],template:function(Oe,Be){1&Oe&&N.DNE(0,c,13,13,"div",0),2&Oe&&N.Y8G("ngIf",!Be.useDeviceAuthLogin)},dependencies:[ne.DJ,ne.sA,ne.UI,ee.PW,b.An,w.iV,F.YU,F.bT,Z.D,se.D,Y.Aq,q.D9],styles:[".login-bridge-state-dialog .mat-mdc-dialog-container{border-radius:0}.login-bridge-state-dialog .main-content-streamer{width:470px;height:618px;background-color:#1f2224}.login-bridge-state-dialog .main-content-streamer .header-logo mat-icon{width:200px;height:60px;margin-top:34px}:host-context(.isLtr) .login-bridge-state-dialog .main-content-streamer .header-logo mat-icon{margin-left:24px}html[dir=ltr] .login-bridge-state-dialog .main-content-streamer .header-logo mat-icon{--dummy3: 0;margin-left:24px}:host-context(.isRtl) .login-bridge-state-dialog .main-content-streamer .header-logo mat-icon{margin-right:24px}html[dir=rtl] .login-bridge-state-dialog .main-content-streamer .header-logo mat-icon{--dummy3: 0;margin-right:24px}@keyframes gfn-login-bridge-state_fade{0%{opacity:.7}50%{opacity:.3}to{opacity:.7}}.login-bridge-state-dialog .main-content-streamer .content-header{margin:138px 0 0!important;text-align:center}.login-bridge-state-dialog .main-content-streamer .content-header-error{margin:33px 0 0!important;text-align:center}.login-bridge-state-dialog .main-content-streamer .error-icon{font-size:50px;margin:189px 0 0!important;opacity:.7;text-align:center}.login-bridge-state-dialog .main-content-streamer .content-body{margin:10px 24px 0!important;text-align:center}:host-context(.isLtr) .login-bridge-state-dialog .main-content-streamer .content-button{margin:0 8px 8px 0}html[dir=ltr] .login-bridge-state-dialog .main-content-streamer .content-button{--dummy: 0;margin:0 8px 8px 0}:host-context(.isRtl) .login-bridge-state-dialog .main-content-streamer .content-button{margin:0 0 8px 8px}html[dir=rtl] .login-bridge-state-dialog .main-content-streamer .content-button{--dummy: 0;margin:0 0 8px 8px}:host-context(.isLtr) .login-bridge-state-dialog .main-content-streamer .retry-button{margin:0 0 0 8px}html[dir=ltr] .login-bridge-state-dialog .main-content-streamer .retry-button{--dummy: 0;margin:0 0 0 8px}:host-context(.isRtl) .login-bridge-state-dialog .main-content-streamer .retry-button{margin:0 8px 0 0}html[dir=rtl] .login-bridge-state-dialog .main-content-streamer .retry-button{--dummy: 0;margin:0 8px 0 0}.login-bridge-state-dialog .main-content-mall{width:560px;height:166px;background-color:#393939}:host-context(.isLtr) .login-bridge-state-dialog .main-content-mall .content-header{margin:19px 24px 14px!important}html[dir=ltr] .login-bridge-state-dialog .main-content-mall .content-header{--dummy: 0;margin:19px 24px 14px!important}:host-context(.isRtl) .login-bridge-state-dialog .main-content-mall .content-header{margin:19px 24px 14px!important}html[dir=rtl] .login-bridge-state-dialog .main-content-mall .content-header{--dummy: 0;margin:19px 24px 14px!important}.login-bridge-state-dialog .main-content-mall .content-body{height:52px}:host-context(.isLtr) .login-bridge-state-dialog .main-content-mall .content-body{margin:0 24px!important}html[dir=ltr] .login-bridge-state-dialog .main-content-mall .content-body{--dummy: 0;margin:0 24px!important}:host-context(.isRtl) .login-bridge-state-dialog .main-content-mall .content-body{margin:0 24px!important}html[dir=rtl] .login-bridge-state-dialog .main-content-mall .content-body{--dummy: 0;margin:0 24px!important}:host-context(.isLtr) .login-bridge-state-dialog .main-content-mall .content-button{margin:0 8px 8px 0}html[dir=ltr] .login-bridge-state-dialog .main-content-mall .content-button{--dummy: 0;margin:0 8px 8px 0}:host-context(.isRtl) .login-bridge-state-dialog .main-content-mall .content-button{margin:0 0 8px 8px}html[dir=rtl] .login-bridge-state-dialog .main-content-mall .content-button{--dummy: 0;margin:0 0 8px 8px}:host-context(.isLtr) .login-bridge-state-dialog .main-content-mall .retry-button{margin:0 0 0 8px}html[dir=ltr] .login-bridge-state-dialog .main-content-mall .retry-button{--dummy: 0;margin:0 0 0 8px}:host-context(.isRtl) .login-bridge-state-dialog .main-content-mall .retry-button{margin:0 8px 0 0}html[dir=rtl] .login-bridge-state-dialog .main-content-mall .retry-button{--dummy: 0;margin:0 8px 0 0}.login-bridge-state-dialog .green{color:#76b900}.login-bridge-state-dialog .white{color:#fff}\n"],encapsulation:2}),ve})();var d=t(58202),C=t(54250),Q=t(50778),j=t(55059),le=t(43897),ge=t(59062);let Ne=(()=>{var we;class ve{constructor(Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e,He,De,Re,K,ke,Ue,et,gt,vt,Mt){var Rt,Ut,ct;this.idmService=Be,this.networkStatusService=tt,this.nesUserInfoService=Ee,this.telemetryUtilService=ot,this.dialog=We,this.configuration=Qe,this.telemetryService=Fe,this.ecommerceService=Xe,this.gfnSdkService=_e,this.router=He,this.unsupportedBrowserService=De,this.dialogService=Re,this.genericDialog=K,this.routerService=ke,this.idmTelemetryService=Ue,this.focusManager=et,this.uasService=gt,this.starfleetConfig=vt,this.systemInfoService=Mt,this.cancelTimeoutExpired=!1,this.cancelTimer=null,this.loginListener=null,this.joinNowSubscription=null,this.logger=Oe.getLogger("gfn/shared/idm/idmLoginService"),this.tvMode=!(null==Qe||null===(Rt=Qe.featureEnablement)||void 0===Rt||!Rt.tvMode),this.useDeviceAuthLogin=!(null===(Ut=this.starfleetConfig)||void 0===Ut||!Ut.useDeviceAuthLogin),this.hideSystemName=!(null==Qe||null===(ct=Qe.starfleet)||void 0===ct||!ct.hideSystemName)}initialize(){this.configuration.starfleet.sameTabLogin&&(this.idmTelemetryService.checkAndSendLoginStartEvent(),this.idmService.getAuthStatus().pipe((0,r.s)(1),(0,A.ZZ)(Oe=>(this.logger.info("Received authStatus ",Oe),Oe.authReturnState===u.l4.LoginCompleted||Oe.authReturnState===u.l4.LoginFailed?null===Oe.error?this.idmTelemetryService.sendLoginSuccessUserSessionEvent():(this.displayLoginErrorMessages(Oe.error),this.idmTelemetryService.sendLoginFailureUserSessionEvent()):Oe.authReturnState===u.l4.LogoutCompleted&&null!==Oe.error&&this.displayLogoutErrorMessages(Oe),(0,e.of)(!0)))).subscribe()),this.checkAutoEntitleState()}checkAutoEntitleState(){this.configuration.featureEnablement.UASAutoEntitle&&this.configuration.uasConfig.sameTab&&this.configuration.uasConfig.redirectUrlIsRelative&&this.uasService.AutoEntitleState.pipe((0,l.p)(Oe=>Oe===j.gT.Failed||Oe===j.gT.LoggedOut),(0,r.s)(1)).subscribe(Oe=>this.displayLoginErrorMessages(Oe),Oe=>this.logger.error("error in getting Auto Entitle state"))}login(Oe,Be=!1){return(0,n.zV)([this.unsupportedBrowserService.getUnsupportedBrowserState$(!0),this.unsupportedBrowserService.shouldDisplayPWAGuidance$()]).pipe((0,r.s)(1),(0,A.ZZ)(([Ee,ot])=>M.zk.isNativeLikePlatform()||Ee.unsupportedState===C.B_.None?(0,e.of)(!0):Ee.unsupportedState===C.B_.PWARequired&&ot?(this.routerService.navigate([f.V6.PwaWall],{skipLocationChange:!1}),(0,e.of)(!1)):this.dialogService.openUnsupportedSystemSoftBlockerDialog(Ee).pipe((0,I.T)(We=>(We===Q.nw.Cancel&&this.logger.info("User cancelled the login"),We===Q.nw.Continue))))).pipe((0,r.s)(1),(0,A.ZZ)(Ee=>Ee?this.nesUserInfoService.providerInfo$.pipe((0,A.ZZ)(ot=>{var We;let Qe=null;return 1===(null==ot||null===(We=ot.loginPreferredProviders)||void 0===We?void 0:We.length)&&Oe!==x.MCB.ScreenSwitchProvider&&ot.gfnServiceEndpoints.forEach(Fe=>{Fe.loginProvider===ot.loginPreferredProviders[0]&&(Qe=Fe.idpId)}),this.handleStarfleetLogin(Oe,Be,Qe)}),(0,S.W)(ot=>(this.logger.error("Failed to get idpId",ot),this.handleStarfleetLogin(Oe,Be,null)))):(0,e.of)(!1)))}setUpDialog(Oe){const Be={panelClass:["login-bridge-state-dialog","dialogPaddingRemove","nv-overlay-panel"],disableClose:!0};return Be.data={idpId:Oe},this.tvMode&&(Be.maxWidth="100vw"),this.clearCancelTimer(),this.cancelTimer=setTimeout(()=>{this.idmService.cancelLogin(!0).subscribe(),this.cancelTimeoutExpired=!0,this.listenForErrorSubscription&&this.listenForErrorSubscription.unsubscribe()},this.configuration.starfleet.httpServerDuration),this.cancelTimeoutExpired=!1,Be}clearCancelTimer(){this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=null}handleStarfleetLogin(Oe,Be=!1,tt){return(0,e.of)(null).pipe((0,A.ZZ)(Ee=>(0,n.zV)([(0,e.of)(tt),this.gfnSdkService.getAuthType()])),(0,A.ZZ)(([Ee,ot])=>{if(ot===J.hT.IDM||ot===J.hT.INVALID){if(this.idmTelemetryService.sendLoginStartEvent(Ee,this.configuration.starfleet.sameTabLogin),this.configuration.starfleet.sameTabLogin){const We=this.routerService.getCurrentUrl();return this.idmService.login(!1,Ee,void 0,void 0,We).pipe((0,S.W)(Qe=>(this.logger.error("failed to login the user with error",Qe),(0,e.of)(Qe))))}{const We=this.setUpDialog(Ee);return this.dialog.open(g,We).afterClosed().pipe((0,A.ZZ)(Qe=>{switch(this.clearCancelTimer(),Qe){case u.ie.Success:return(0,e.of)(!0);case u.ie.Failure:case u.ie.CloseOnFailure:return(0,e.of)(!1);case u.ie.Cancel:return this.cancelTimeoutExpired||this.handleBridgeStateCancel(),(0,f.tE)(this.router.url)?this.handleStarfleetLogin(Oe,Be,Ee):(0,e.of)(!1)}}))}}return ot===J.hT.IDM_FALLBACK?(this.loginListener=new E.h,this.bringUpJoinNowDialog(Ee),this.loginListener):(this.logger.error("Attempted to open the login screen during a valid GaaS session"),(0,e.of)(!1))}))}resolveEcomUseCase(){return this.ecomUseCase?(0,e.of)({}):this.gfnSdkService.getAuthInfo().pipe((0,L.M)(Oe=>{Oe.timeRemaining&&0===Number(Oe.timeRemaining)?this.ecomUseCase=d.Y1.GaaSFreeSampleAlreadyUsed:Oe.authToken?Oe.timeRemaining&&3601===Number(Oe.timeRemaining)?this.ecomUseCase=d.Y1.GaaSFree1HourExceeded:Oe.timeRemaining&&3602===Number(Oe.timeRemaining)&&(this.ecomUseCase=d.Y1.GaaSFreeUserCanUpgrade):this.ecomUseCase=d.Y1.GaaSUnsupportedFreeTitle,this.idmService.loginProvider&&(this.idmService.loginProvider=null)}))}bringUpJoinNowDialog(Oe){const[Be,tt]=(0,O.j)(this.resolveEcomUseCase().pipe((0,A.ZZ)(()=>this.ecommerceService.openJoinNowDialog(Oe,this.ecomUseCase,d.qQ.InitialState).afterClosed()),(0,s.t)(1)),Ee=>!!Ee&&Ee[1]===d.qQ.ExitedToLogin);Be.pipe((0,A.ZZ)(()=>{this.joinNowSubscription&&this.joinNowSubscription.unsubscribe(),this.idmService.loginProvider&&(this.idmService.loginProvider=null);const Ee=this.setUpDialog(Oe);return this.focusManager.restoreFocusAfterClosed(()=>this.dialog.open(g,Ee)).afterClosed()})).subscribe(Ee=>{switch(Ee){case u.ie.Success:this.loginListener.next(Ee);break;case u.ie.Failure:this.bringUpJoinNowDialog(Oe);break;case u.ie.Cancel:this.cancelTimeoutExpired||this.handleBridgeStateCancel(),this.gfnSdkService.isThisAGFNSDKSession()&&this.bringUpJoinNowDialog(Oe)}}),tt.subscribe(([Ee])=>{Ee?this.loginListener.next(Ee):this.bringUpJoinNowDialog(Oe)})}handleBridgeStateCancel(Oe=!1){this.listenForErrorSubscription=this.idmService.cancelLogin(Oe).pipe((0,I.T)(Be=>{if(Be){const tt=new x.BAK({clientType:this.telemetryUtilService.getClientType(),currentScreen:this.telemetryService.getScreen(),userAction:x.ay7.LoginWithStarfleet,status:x.fbu.CancelledLoginCompleted,errorDetails:status.toString(),totalMs:0,errorUri:"",serverErrorCode:""});this.telemetryService.push(tt)}})).subscribe(B.l,Be=>{this.logger.info("Error detected while listening for UserCancelled Error",Be)})}displayLoginErrorMessages(Oe){let Be,tt;switch(this.logger.info("Auth error in login: ",Oe),Oe){case u.gH.ACCOUNT_LOCKED:Be="starfleet.accountLockedErrorMessage",tt="starfleet.accountLockedHeader";break;case u.gH.AGE_RESTRICTED:Be="starfleet.ageReStrictiveErrorMessage",tt="starfleet.ageReStrictiveHeader";break;case u.gH.ACCOUNT_INACTIVE:Be="starfleet.accountInActiveErrorMessage",tt="starfleet.accountInActiveHeader";break;default:Be="starfleet.genericErrorMessage",tt="common.loginUnsuccessful"}const Ee=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:tt},bodyText:{text:Be},primaryButton:{text:"starfleet.loginPrimaryButton"},secondaryButton:{text:"common.cancel"}}});(0,P.O4)(Ee.secondaryButtonClick.pipe((0,r.s)(1)),Ee.primaryButtonClick.pipe((0,r.s)(1),(0,A.ZZ)(ot=>this.login(x.MCB.ScreenAccountMenu)))).subscribe(ot=>{Ee.close()})}displayLogoutErrorMessages(Oe){let Be,tt;this.logger.info("logout error: ",Oe.error),Oe.error===u.gH.LOGOUT_NOT_SUPPORTED?(tt={headerText:{text:"starfleet.logoutErrorheader"},bodyText:{text:"starfleet.logoutErrorMessageLogoutNotsupported"},primaryButton:{text:"common.continue"},secondaryButton:{text:"common.notNow"}},Be=Oe.logoutNotSupportedRedirectUrl):tt={headerText:{text:"starfleet.logoutErrorheader"},bodyText:{text:"starfleet.logoutErrorMessageGeneric"},primaryButton:{text:"starfleet.logoutPrimaryButtonGeneric"}};const Ee=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:tt});(0,P.O4)((0,k.T)(()=>Oe.error===u.gH.LOGOUT_NOT_SUPPORTED,(0,e.of)(1).pipe((0,A.ZZ)(ot=>Ee.secondaryButtonClick.pipe((0,r.s)(1)))),U.t),Ee.primaryButtonClick.pipe((0,r.s)(1),(0,I.T)(ot=>{Oe.error===u.gH.LOGOUT_NOT_SUPPORTED&&(Be?window.open(Be,"_blank"):this.logger.error("redirectUrl is empty in LogOut Error scenario ",Be,Oe.error))}))).subscribe(()=>Ee.close())}getDeviceName$(){return this.useDeviceAuthLogin?this.systemInfoService.getSystemInfo([M.Lu.UserSpecifiedDeviceName,M.Lu.OSName,M.Lu.DeviceType,M.Lu.SystemName]).pipe((0,r.s)(1),(0,I.T)(Oe=>{if(Oe.UserSpecifiedDeviceName)return this.logger.info("User-specified device name provided for off-device login flow"),Oe.UserSpecifiedDeviceName;this.logger.info("No user-specified device name for off-device login flow, building from OS name, device type, system name");const Be=(0,a.zy)(Oe.OSName),tt=(0,a.u2)(Oe.DeviceType),Ee=this.hideSystemName?void 0:Oe.SystemName;if(!Be||!tt)return void this.logger.info("OsName or DeviceType not found: ",Be,tt);const ot=`${Be} ${tt}`;return this.logger.info("DeviceName created: ",ot),Ee?`${ot} ${Ee}`:ot}),(0,S.W)(Oe=>(this.logger.error("Error creating deviceName: ",Oe),(0,e.of)(void 0)))):(0,e.of)(void 0)}}return(we=ve).\u0275fac=function(Oe){return new(Oe||we)(N.KVO(M.J6),N.KVO(W.k_),N.KVO(M.CF),N.KVO(le.lW),N.KVO(x.jgD),N.KVO(p.bZ),N.KVO(z.Vk),N.KVO(v.H0),N.KVO(d.yJ),N.KVO(J.DL),N.KVO(R.Ix),N.KVO(C.Lk),N.KVO(ge.o3),N.KVO(i.uh),N.KVO(f.HM),N.KVO(h.J),N.KVO(i.c_),N.KVO(j.ln),N.KVO(u.X$),N.KVO(M.zW))},we.\u0275prov=N.jDH({token:we,factory:we.\u0275fac,providedIn:"root"}),ve})()},9801:(xe,de,t)=>{"use strict";t.d(de,{J:()=>S,a:()=>I});var e=t(35146),n=t(18433),E=t(46356),O=t(8619),B=t(65706),P=t(75707),k=t(58527),U=t(47766),r=t(78812),A=t(61958);const l="loginStartEvent";var I=function(L){return L.isSilentLoginTelemetry="isSilentLoginTelemetry",L.isLoginViaLoginHint="isLoginViaLoginHint",L.None="None",L}(I||{});let S=(()=>{var L;class s{constructor(u,x,p,i,o,_){var f;this.telemetryUtilService=x,this.telemetryService=p,this.starfleetService=i,this.config=o,this.appConfig=_,this.isLoginWallEnabled=!(null===(f=this.appConfig)||void 0===f||null===(f=f.featureEnablement)||void 0===f||!f.showLoginWall),this.logger=u.getLogger("gfn/shared/idm/idmLoginService")}sendLoginSuccessUserSessionEvent(u=I.None){this.telemetryService.getValidUserIdResetObservable().pipe((0,O.p)(x=>!0===x),(0,B.s)(1),(0,P.ZZ)(x=>(this.logger.info("Sending login success user session event"),this.starfleetService.accountStatusChanged.pipe((0,B.s)(1))))).subscribe(x=>{let p=this.isLoginWallEnabled?n.ay7.LoginWithStarfleetViaLoginWall:n.ay7.LoginWithStarfleet;u==I.isSilentLoginTelemetry&&(p=n.ay7.SilentLoginDirectLaunch),u==I.isLoginViaLoginHint&&(p=n.ay7.LoginviaLoginHint);const i=new n.BAK({clientType:this.telemetryUtilService.getClientType(),currentScreen:this.telemetryService.getScreen(),userAction:p,status:n.fbu.Success,errorDetails:status.toString(),totalMs:0,errorUri:"",serverErrorCode:""});this.telemetryService.push(i,null,{immediateRequest:!0}),this.logger.info("Sent loginSuccessEvent telemetry")})}sendLoginFailureUserSessionEvent(u=I.None){this.logger.info("Sending login failed user session event"),(0,e.yU)(this.telemetryService.getCommonDataObservable(),this.telemetryService.getDefaultClientConsentObserable()).pipe((0,P.ZZ)(x=>this.starfleetService.accountStatusChanged.pipe((0,B.s)(1)))).subscribe(x=>{let p=this.isLoginWallEnabled?n.ay7.LoginWithStarfleetViaLoginWall:n.ay7.LoginWithStarfleet;u==I.isSilentLoginTelemetry&&(p=n.ay7.SilentLoginDirectLaunch),u==I.isLoginViaLoginHint&&(p=n.ay7.LoginviaLoginHint);const i=new n.BAK({clientType:this.telemetryUtilService.getClientType(),currentScreen:this.telemetryService.getScreen(),userAction:p,status:n.fbu.Failure,errorDetails:this.starfleetService.lastError.error_description,totalMs:0,serverErrorCode:this.starfleetService.lastError.error_code,errorUri:this.starfleetService.lastError.error_uri});this.telemetryService.push(i,null,{immediateRequest:!0})})}sendCreateHTTPServerErrorEvent(){this.logger.info("Sending create HTTP server error event");const u=new n.px4({portsUsed:this.config.portNumbers?this.config.portNumbers.toString():"",errorMessage:E.gH.HTTP_START_FAILED});this.telemetryService.push(u)}sendLoginStartEvent(u,x){this.logger.info("Sending login triggered event");const p={loginProviderIdpId:u||""},i=new n.JWD(p);x?sessionStorage.setItem(l,JSON.stringify(p)):this.telemetryService.push(i)}checkAndSendLoginStartEvent(){(0,e.yU)(this.telemetryService.getCommonDataObservable(),this.telemetryService.getDefaultClientConsentObserable()).subscribe(u=>{const x=sessionStorage.getItem(l);if(x){const p=new n.JWD(JSON.parse(x));this.telemetryService.push(p),sessionStorage.removeItem(l)}})}}return(L=s).\u0275fac=function(u){return new(u||L)(k.KVO(U.J6),k.KVO(n.jgD),k.KVO(r.H0),k.KVO(E.hr),k.KVO(E.X$),k.KVO(A.Vk))},L.\u0275prov=k.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})()},17913:(xe,de,t)=>{"use strict";t.d(de,{OV:()=>E,u8:()=>n});var e=t(47766);const n={featureId:"",useCachedToggle:!1,defaultStarfleetStatus:!1,toggleRefreshTime:864e5},E={userId:"",externalId:"",idpId:"",displayName:"",isAuthenticated:!1,technicalConsent:e.Rg.None,behavioralConsent:e.Rg.None,email:"",age:0}},97944:(xe,de,t)=>{"use strict";t.d(de,{k:()=>w});var e=t(85735),n=t(43848),E=t(16229),O=t(27731),B=t(63997),P=t(75707),k=t(8619),U=t(99047),r=t(83915),A=t(25577),l=t(14714),I=t(91384),S=t(48765),L=t(65706),s=t(47766),M=t(46356),u=t(79266),x=t(36206),p=t(40996),i=t(78893),o=t(17913),_=t(9801),f=t(32398),J=t(26875),a=t(58527),D=t(26814),te=t(66348),N=t(14354),z=t(61958),R=t(54292),v=t(18433),h=t(71927),W=t(33367);let ne=(()=>{var F;class Z{constructor(Y,q,T,H,y){var X,c,g;this.config=Y,this.bridgeService=T,this.sharedStorage=H,this.dbService=y,this.storageType=M.eL.SharedStorage,this.logger=q.getLogger("crimson/NativeAuthService"),this.idTokenRefreshUnderDuration=null!==(X=this.config.idTokenRefreshUnderDuration)&&void 0!==X?X:0,this.idTokenRefreshUnderDuration<0&&(this.idTokenRefreshUnderDuration=0),this.storageType=null!==(c=null===(g=this.config)||void 0===g?void 0:g.storageType)&&void 0!==c?c:M.eL.SharedStorage,this.config.storageType===M.eL.IndexedDB&&(this.globalStore=this.dbService.getGlobalStore(M.EK.DBName))}syncSessionData(){return h.e.loadFrom(this.storageType===M.eL.SharedStorage?this.sharedStorage:this.globalStore,this.idTokenRefreshUnderDuration).pipe((0,P.ZZ)(q=>{var T;let H={};var y,X,c,g,d,C,Q,j,le,ge,ie,ce,G;return null!=q&&null!==(T=q.data)&&void 0!==T&&null!==(T=T.user)&&void 0!==T&&T.isAuthenticated&&(H={clientToken:null===(y=q.data)||void 0===y?void 0:y.clientToken,accessToken:null===(X=q.data)||void 0===X?void 0:X.accessToken,idToken:null===(c=q.data)||void 0===c?void 0:c.idToken,clientTokenExpiry:null===(g=q.data)||void 0===g?void 0:g.clientTokenExpiry,accessTokenExpiry:null===(d=q.data)||void 0===d?void 0:d.accessTokenExpiry,idTokenExpiry:null===(C=q.data)||void 0===C?void 0:C.idTokenExpiry,sub:null===(Q=q.data.user)||void 0===Q?void 0:Q.sub,idpName:null===(j=q.data.user)||void 0===j?void 0:j.idp_name,idpId:null===(le=q.data.user)||void 0===le?void 0:le.idp_id,externalId:null===(ge=q.data.user)||void 0===ge?void 0:ge.external_id,preferredUserName:null===(ie=q.data.user)||void 0===ie?void 0:ie.preferred_username,trackTechnicalData:null===(ce=q.data.user)||void 0===ce||null===(ce=ce.consent)||void 0===ce?void 0:ce.trackTechnicalData,trackBehavioralData:null===(G=q.data.user)||void 0===G||null===(G=G.consent)||void 0===G?void 0:G.trackBehavioralData}),this.bridgeService.executeCommand(W.Ts.Common.Nativeauth.syncSessionData,H).pipe((0,r.T)(ue=>{var ae;return ue?new h.e(this.idTokenRefreshUnderDuration,{clientToken:ue.clientToken,accessToken:ue.accessToken,idToken:ue.idToken,clientTokenExpiry:ue.clientTokenExpiry,accessTokenExpiry:ue.accessTokenExpiry,idTokenExpiry:ue.idTokenExpiry,user:{isAuthenticated:!0,sub:ue.sub,idp_name:ue.idpName,idp_id:ue.idpId,external_id:ue.externalId,preferred_username:ue.preferredUserName,consent:{trackTechnicalData:ue.trackTechnicalData,trackBehavioralData:ue.trackBehavioralData}}},null!==(ae=this.config.storageType)&&void 0!==ae?ae:M.eL.SharedStorage):null}))}))}}return(F=Z).\u0275fac=function(Y){return new(Y||F)(a.KVO(M.X$),a.KVO(s.J6),a.KVO(s.NZ),a.KVO(te.yQ),a.KVO(s.at))},F.\u0275prov=a.jDH({token:F,factory:F.\u0275fac,providedIn:"root"}),Z})();var b,ee=t(86574);class w{get loginProvider(){return this._loginProvider}set loginProvider(Z){this._loginProvider=Z}constructor(Z,se,Y,q,T,H,y,X,c,g,d,C,Q,j){this.loggingService=Z,this.experienceControlService=se,this.sharedStorageService=Y,this.gfnSdkService=q,this.starfleetService=T,this.router=H,this.appConfig=y,this.browserSupportService=X,this.telemetryUtilService=c,this.idmTelemetryService=g,this.redirectService=d,this.nativeAuthService=C,this.uasService=Q,this.loginHintService=j,this.isStreamer=!1,this._loginProvider=null,this.disableStarfleetUser=!1,this.notifyLogoutStartedSubject=new e.m(1),this.isSameTabLoginFeatureEnabled=!1,this.initSub=new e.m(1),this.accountStatusChanged$=new e.m(1),this.accountStatusChangedWithAge$=new e.m(1),this.getAuthStatus=()=>this.starfleetService.getAuthStatus(),this.cancel=()=>this.starfleetService.cancel(),this.logger=Z.getLogger("gfn/shared/idm/idmService"),this.starfleetEnabled=!1,this.idmProvider$=new e.m(1),this.isStreamer=(0,i.I2)(this.router.url),this.isSameTabLoginFeatureEnabled=this.appConfig.starfleet.sameTabLogin}initialize(Z){var se;this.disableStarfleetUser=null!=Z&&Z,this.updateIdmProvider(!0),this.accountStatusChanged.subscribe(Y=>{s.zk.isAndroidPlatform()&&this.nativeAuthService.syncSessionData().pipe((0,P.ZZ)(q=>this.starfleetService.syncSession(q))).subscribe(q=>this.logger.info("sucess in native session sync"),q=>this.logger.error("error in native session sync",q)),this.setExperienceControlData(Y)}),this.checkAndSilentLogin(),this.telemetryUtilService.saveTelmetrySessionIdOnLoginAndLogout(this.sameTabAuthStarted()),this.manageAccountStatusChanged(),null!==(se=this.appConfig)&&void 0!==se&&null!==(se=se.featureEnablement)&&void 0!==se&&null!==(se=se.logininfo)&&void 0!==se&&se.enabled&&this.accountStatusChanged.pipe((0,k.p)(Y=>this.appConfig.starfleet.jarvisIdpId===(null==Y?void 0:Y.idpId)||!(null!=Y&&Y.isAuthenticated)),(0,P.ZZ)(Y=>this.loginHintService.updateSsoLoginInfoEntry(null==Y?void 0:Y.isAuthenticated,null==Y?void 0:Y.idpId,null==Y?void 0:Y.email,s.cq.GFN))).subscribe()}setExperienceControlData(Z){this.experienceControlService.setUserInfo(Z);const se=this.appConfig.gxTarget.denyListExperiences||[];let Y=Object.values(this.appConfig.gxTarget.experiences).filter(q=>!se.includes(q));!Z.userId&&!(0,i.ED)()&&(Y=Y.filter(q=>this.appConfig.gxTarget.deviceIdActivatedExperiences.includes(q))),this.experienceControlService.setCvList(Y),this.experienceControlService.refreshCloudVariables()}verifySsoSharedPageMessage(Z){return Z&&Z.login_hint&&Z.idp_id===this.appConfig.starfleet.jarvisIdpId}gfnStoredLoginInfoApplicableForSso(Z,se,Y){return!this.loginHintService.isEmptySilentLoginInfo(Y)&&Y.idp_id===Z&&Z===se}isSsoEnabled(){return!this.browserSupportService.isLocalDomain()&&this.appConfig.starfleet.ssoEnabled&&!this.disableStarfleetUser}checkAndSilentLogin(){if(!this.isSsoEnabled())return this.initSub.next(!0),void this.logger.info("SSO not applicable, unblocking login status broadcast");let Z,se,Y;this.silentLoginHelperClass=new s.Ts(this.loggingService,this.appConfig.starfleet.ssoSharedPageUrl,this.appConfig.starfleet.maxWaitTimeIframeLoad),this.starfleetService.getAuthStatus().pipe((0,P.ZZ)(q=>q.authReturnState===M.l4.LogoutCompleted?this.silentLoginHelperClass.clearUserDetailsFromSharedPage:this.starfleetAccountStatusChangedWrapper()),(0,P.ZZ)(q=>null!=q&&q.isAuthenticated?this.silentLoginHelperClass.saveUserDetailsToSharedPage({login_hint:q.email,idp_id:q.idp_id,sub:q.sub,timestamp:(new Date).toISOString()}):(0,n.of)(null))).subscribe(q=>this.logger.info("getAuthStatus success"),q=>this.logger.info("getAuthStatus error:",q)),(0,E.h)(this.starfleetService.accountStatusChanged.pipe((0,U.$)(),(0,r.T)(q=>(Z=q,Z))),this.silentLoginHelperClass.getUserDetailsFromSharedPage.pipe((0,r.T)(q=>(se=null!=q?q:{idp_id:""},se))),this.starfleetService.getAuthStatus().pipe((0,r.T)(q=>q.authReturnState===M.l4.LogoutCompleted&&(Y=!0,Y)))).pipe((0,P.ZZ)(q=>Z&&Z.isAuthenticated?(this.logger.info("User is already logged in so silent login not required"),(0,n.of)(u.t.LoginSSONotApplicable)):Y?(this.logger.info("Returning from Logout so skipping silent login"),(0,n.of)(u.t.LoginSSONotApplicable)):Z&&!Z.isAuthenticated&&se?this.verifySsoSharedPageMessage(se)?(this.logger.info("Silent login starting"),this.starfleetService.login({silentLoginInfo:{silentLoginHelperInstance:this.silentLoginHelperClass,ssoSharedPageData:se}}).pipe((0,A.H)())):(this.logger.info("Silent login not possible due to login hints verification"),(0,n.of)(u.t.LoginSSONotApplicable)):(this.logger.info("Silent login processing ongoing"),(0,n.of)(u.t.LoginSSOProcessing))),(0,l.W)(q=>(this.logger.error("SSO checking failed with error ",q),(0,n.of)(u.t.LoginSSONotApplicable))),(0,I.M)(q=>{q!==u.t.LoginSSOProcessing&&(this.logger.info("Unblocking login status broadcast"),this.initSub.next(!0)),q===M.l4.LoginCompleted?this.idmTelemetryService.sendLoginSuccessUserSessionEvent(_.a.isSilentLoginTelemetry):q!==u.t.LoginSSOProcessing&&q!==u.t.LoginSSONotApplicable&&this.idmTelemetryService.sendLoginFailureUserSessionEvent(_.a.isSilentLoginTelemetry)}),(0,S.v)(q=>q===u.t.LoginSSOProcessing)).subscribe()}updateIdmProvider(Z){this.starfleetEnabled=Z;const se={data:"starfleet"};this.gfnSdkService.getAuthInfo().subscribe(Y=>{let q=null;Y.authType===p.hT.IDM&&(q=Y.authToken),this.starfleetService.initialize(!0,!1,q),this.isStreamer&&this.starfleetService.getAuthToken().subscribe(),this.idmProvider$.next({starfleetEnabled:this.starfleetEnabled,service:this.starfleetService})}),se.data="starfleet",this.sharedStorageService.writeBlock("authProvider",se).subscribe(Y=>this.logger.info("success updating authProvider: ",Y),Y=>this.logger.error("error in updating auth provider: ",Y))}handleAccountStatusChanged(Z,se=!1){return!0!==Z.isAuthenticated?(this.logger.info("account status changed, user is logged out"),(0,n.of)(Z)):this.getAuthToken(se).pipe((0,P.ZZ)(Y=>null===Y?(0,n.of)(f.f.NOT_LOGGED_IN):(this.logger.info("acquiring user at account status changed"),this.uasService.autoEntitleUser(Y.token,se))),(0,P.ZZ)(Y=>Y===f.f.AUTHORIZATION_ERROR&&!1===se?(this.logger.warn("account-status-changed Auth Error retrying"),this.handleAccountStatusChanged(Z,!0)):Y===f.f.NOT_LOGGED_IN||Y===f.f.UNKNOWN||Y===f.f.AUTHORIZATION_ERROR?this.logout(void 0,void 0,void 0,!0).pipe((0,P.ZZ)(q=>O.t)):(0,n.of)(Z)))}manageAccountStatusChanged(){let Z={};this.starfleetService.accountStatusChanged.pipe((0,P.ZZ)(se=>this.handleAccountStatusChanged(se)),(0,r.T)(se=>{se&&((0,J.isEqual)(Z,se)||(Z.age=null==se?void 0:se.age,Z.isNetworkCall=null==se?void 0:se.isNetworkCall,(0,J.isEqual)(Z,se)?(this.logger.info("Only AccountStatusChangedWithAge event emitted."),this.accountStatusChangedWithAge$.next(se)):(this.logger.info("AccountStatusChanged event emitted."),this.accountStatusChanged$.next(se),this.accountStatusChangedWithAge$.next(se))),Z=se)})).subscribe()}starfleetAccountStatusChangedWrapper(){return this.initSub.pipe((0,P.ZZ)(Z=>this.accountStatusChanged$))}get accountStatusChanged(){return this.starfleetAccountStatusChangedWrapper().pipe((0,r.T)(Z=>this.disableStarfleetUser?o.OV:this.getUserFromStarfleet(Z)))}get accountStatusChangedWithAge(){return this.accountStatusChangedWithAge$.pipe((0,r.T)(Z=>this.disableStarfleetUser?o.OV:this.getUserFromStarfleet(Z)))}getUserFromStarfleet(Z){var se,Y,q,T;return{userId:Z.sub,externalId:Z.external_id,idpId:Z.idp_id,displayName:Z.preferred_username,isAuthenticated:Z.isAuthenticated,technicalConsent:null!==(se=Z.consent)&&void 0!==se&&se.trackTechnicalData?s.Rg.Full:s.Rg.None,behavioralConsent:null!==(Y=Z.consent)&&void 0!==Y&&Y.trackBehavioralData?s.Rg.Full:s.Rg.None,targetedAdsOptIn:null!==(q=null===(T=Z.consent)||void 0===T?void 0:T.targetedAdsOptIn)&&void 0!==q?q:void 0,email:Z.email,age:null==Z?void 0:Z.age,isNetworkCall:null==Z?void 0:Z.isNetworkCall}}get isUserTokenAvailable(){return this.starfleetService.isUserLoggedIn}get isLoggedIn(){return this.starfleetService.isUserLoggedIn}get cachedUser(){return this.getCachedUserForStarfleet().pipe((0,r.T)(Z=>{const se={data:{},expired:!0};return se.expired=Z.expired,Z.data&&(se.data=this.getUserFromStarfleet(Z.data)),se}))}get cachedUserAndAffiliateStatus(){return(0,B.v)(()=>this.getCachedUserAndAffiliateStatusForStarfleet()).pipe((0,r.T)(Z=>{const se={data:[],expired:!0};return se.expired=Z.expired,Z.data&&Z.data.length&&(se.data.push(this.getUserFromStarfleet(Z.data[0])),se.data.push(Z.data[1])),se}))}getCachedUserAndAffiliateStatusForStarfleet(){return this.starfleetAccountStatusChangedWrapper().pipe((0,L.s)(1),(0,P.ZZ)(Z=>Z.isAuthenticated?this.readStoredStarfleetUserAndAffiliateStatus(Z,!0):(0,n.of)({data:[Z,null],expired:!0})))}getCachedUserForStarfleet(){return this.starfleetAccountStatusChangedWrapper().pipe((0,L.s)(1),(0,r.T)(Z=>Z.isAuthenticated?{data:Z,expired:!1}:{data:void 0,expired:!0}))}get cachedAffiliateStatus(){return this.getCachedAffiliateStatusForStarfleet()}getCachedAffiliateStatusForStarfleet(){return this.starfleetAccountStatusChangedWrapper().pipe((0,L.s)(1),(0,P.ZZ)(Z=>Z.isAuthenticated?this.readStoredStarfleetUserAndAffiliateStatus(Z,!1):(0,n.of)({data:void 0,expired:!0})))}readStoredStarfleetUserAndAffiliateStatus(Z,se){return this.sharedStorageService.readBlock(`idm_${Z.sub}`).pipe((0,r.T)(Y=>se?{data:[Z,Y],expired:!1}:{data:Y,expired:!1}))}setCachedAffiliateStatus(Z,se){return this.setCachedAffiliateStatusForStarfleet(Z,se)}setCachedAffiliateStatusForStarfleet(Z,se){return this.sharedStorageService.writeBlock(`idm_${Z||s.Qe}`,se)}getAuthToken(Z,se){return this.starfleetService.getAuthToken(Z,se).pipe((0,r.T)(Y=>({token:Y=this.disableStarfleetUser?null:Y})))}setIdToken(Z){return this.starfleetService.createNewSessionFromIdToken(Z)}login(Z,se,Y,q,T,H){return this.uasService.onLoginInitiated(Y).pipe((0,P.ZZ)(y=>(0,E.h)(this.starfleetService.login({force:Z,idpId:se,preCreatedWindow:Y,deviceName:q,returnLocationUrl:T,silentLoginInfo:H,redirect:y}).pipe((0,I.M)(X=>{(X===M.l4.LoginFailed||X===M.l4.LoginFailedNoRetry)&&this.uasService.onLoginFailed(this.starfleetService.lastError.error_code)})),this.uasService.AutoEntitleState)))}generateLogoutURL(){return this.accountStatusChanged.pipe((0,L.s)(1),(0,P.ZZ)(Z=>this.redirectService.getRedirectUrl(x.r7.GfnAccountManagementSSO,{idpId:Z.idpId,Plt:x.Gl.Browser})))}logout(Z,se,Y,q){this.isSameTabLoginFeatureEnabled&&this.notifyLogoutStartedSubject.next(!0);const T=this.isSameTabLoginFeatureEnabled&&!q?this.generateLogoutURL():(0,n.of)(se),H=(Y||document.baseURI).split("?")[0];return T.pipe((0,P.ZZ)(y=>this.starfleetService.logout(Z,y,H,q)))}refreshUser(){return this.starfleetService.refreshUser().pipe((0,r.T)(Z=>this.getUserFromStarfleet(Z)))}getUserServiceEndpoint(Z){return this.getServiceEndpointViaStarfleet(Z)}getClientData(Z,se){return this.starfleetService.getClientData(Z,se)}setClientData(Z,se,Y){return this.starfleetService.setClientData(Z,se,Y)}appendClientData(Z,se,Y){return this.starfleetService.appendClientData(Z,se)}deleteClientData(Z,se,Y){return this.starfleetService.deleteClientData(Z,se)}getServiceEndpointViaStarfleet(Z){return this.starfleetAccountStatusChangedWrapper().pipe((0,r.T)(se=>{let Y=Z.gfnServiceEndpoints.find(q=>q.idpId===se.idp_id);if(!Y||this.disableStarfleetUser){this.logger.info("Login provider not found with idp id, returning default provider");const q=Z.defaultProvider;Y=Z.gfnServiceEndpoints.find(T=>T.loginProvider===q)}return{user:this.getUserFromStarfleet(se),serviceEndpoint:Y}}))}get accountsUrl$(){return(0,n.of)("")}handleAuthError(Z,se,Y,...q){return this.starfleetService.handleAuthError(Z,se,Y,...q)}getLogoutInitializeNotification(){return this.isSameTabLoginFeatureEnabled?this.notifyLogoutStartedSubject.asObservable():O.t}sameTabAuthStarted(){return this.isSameTabLoginFeatureEnabled?this.starfleetService.sameTabAuthStarted():O.t}cancelLogin(Z){return this.uasService.cancelAutoEntitlement(),this.isLoggedIn.pipe((0,P.ZZ)(se=>se?(this.logger.info("user was logged in, and cancelled during auto entitle"),(0,n.of)({authData:{},isLoggedIn:se})):this.starfleetService.cancelLogin(Z).pipe((0,r.T)(Y=>({authData:Y,isLoggedIn:se})))),(0,r.T)(se=>(this.logger.info("Cancelled error detected while user logging in",se.authData),(!se.authData.error&&!this.appConfig.starfleet.useAuthorizationCodeFlow||se.isLoggedIn)&&this.logout(se.authData.access_token,null,null,!0).subscribe(),se.authData)))}getDeviceDisplayCode(){const Z={...this.starfleetService.getDeviceDisplayCode()};let se=x.lp[x.r7.GfnOffDeviceLogin];return this.appConfig.starfleet.offDeviceShortUrl&&(se=this.appConfig.starfleet.offDeviceShortUrl),Z.url=se,Z}}(b=w).LOGIN_CANCELLED_BY_USER=M.gH.LOGIN_CANCELLED_BY_USER,b.\u0275fac=function(Z){return new(Z||b)(a.KVO(s.J6),a.KVO(D.BW),a.KVO(te.yQ),a.KVO(p.DL),a.KVO(M.hr),a.KVO(N.Ix),a.KVO(z.Vk),a.KVO(R.vT),a.KVO(v.jgD),a.KVO(_.J),a.KVO(x.Q5),a.KVO(ne),a.KVO(ee.l),a.KVO(s.IU))},b.\u0275prov=a.jDH({token:b,factory:b.\u0275fac,providedIn:"root"})},79266:(xe,de,t)=>{"use strict";t.d(de,{t:()=>n});var n=function(E){return E.LoginSSONotApplicable="Login SSO not applicable",E.LoginSSOProcessing="Login SSO in progress",E}(n||{})},11346:(xe,de,t)=>{"use strict";t.d(de,{u8:()=>O.u8,r1:()=>E,k_:()=>B.k}),t(79266);var n=t(58527);let E=(()=>{var k;class U{}return(k=U).\u0275fac=function(A){return new(A||k)},k.\u0275prov=n.jDH({token:k,factory:k.\u0275fac}),U})();var O=t(17913),B=t(97944)},6687:(xe,de,t)=>{"use strict";t.d(de,{kN:()=>U.kN,Nc:()=>U.Nc,Uj:()=>A,pQ:()=>U.pQ});var e=t(12532),n=t(91384),E=t(24737),O=t(48765),B=t(26875),P=t(33367),k=t(47766),U=t(85830),r=t(58527);let A=(()=>{var l;class I extends k.jS{constructor(L,s,M){const u=s.getLogger("IpcService");super(L,u),this.logger=u,this.defaultHandlerType=k.Jm.Types.HandlerEventType.IpcEvent,this.registerNewHandler(k.Jm.Types.HandlerEventType.IpcEvent,x=>!0,x=>(Object.values(U.kN).includes(x.type)||this.logger.error("Unrecognized IPC type: ",x.type),x.type),x=>x.content,x=>{const p=JSON.parse(x);return((0,B.isNil)(p)||(0,B.isNil)(p.type)||p.type!==U.kN.QueueEmpty&&(0,B.isNil)(p.content))&&this.logger.error("Improperly formed IPC message received: ",x),p}),M.get$(k.D4.IpcNewMessage).subscribe(()=>this.checkIpcMessages(),x=>{this.logger.error("Error received from nativeEventService for IpcNewMessage event: ",x)})}pushMessage(L){if((0,B.isNil)(L))throw new Error("Must be a valid message");return this.bridgeService.executeCommand(P.Ts.Common.Ipc.Push,{message:L}).pipe((0,n.M)(s=>this.logger.info(s,L)))}checkIpcMessages(){this.bridgeService.executeCommand(P.Ts.Common.Ipc.Pop).pipe((0,E.fT)(L=>(null==L?void 0:L.type)===U.kN.QueueEmpty?e.w:(0,B.isNil)(null==L?void 0:L.type)?(this.logger.error("Invalid ipc message received: ",L),e.w):this.bridgeService.executeCommand(P.Ts.Common.Ipc.Pop)),(0,O.v)(L=>(null==L?void 0:L.type)!==U.kN.QueueEmpty)).subscribe(L=>{this.processMessage(JSON.stringify(L))})}}return(l=I).\u0275fac=function(L){return new(L||l)(r.KVO(k.NZ),r.KVO(k.J6),r.KVO(k.dU))},l.\u0275prov=r.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),I})()},85830:(xe,de,t)=>{"use strict";t.d(de,{Nc:()=>E,kN:()=>n,pQ:()=>O});var e=t(33367),n=function(B){return B.SelfUpdate="IPC_SELF_UPDATE_EVENT",B.RecommendedUpdate="IPC_RECOMMENDED_UPDATE_EVENT",B.RequiredUpdate="IPC_REQUIRED_UPDATE_EVENT",B.CriticalUpdate="IPC_CRITICAL_UPDATE_EVENT",B.PushNotification="IPC_PUSH_NOTIFICATION",B.LoginStatusChanged="IPC_LOGIN_STATUS_CHANGED_EVENT",B.CollectClientLogs="IPC_COLLECT_LOGS",B.UpdateExperimentContext="IPC_UPDATE_EXPERIMENT_CONTEXT",B.ProgressUpdate="IPC_PROGRESS_UPDATE",B.QueueEmpty="IPC_QUEUE_EMPTY",B.UploadExceptionInfo="IPC_UPLOAD_EXCEPTION_INFO",B.SelfUpdateStatus="IPC_GET_SELF_UPDATE_STATUS",B.UpdateCheckFailure="IPC_UPDATE_CHECK_FAILURE",B.DownloadPrepareFailure="IPC_DOWNLOAD_PREPARE_FAILURE",B.SelfUpdateThresholdNotReached="IPC_SELF_UPDATE_FAILURE_THRESHOLD_NOT_REACHED",B}(n||{}),E=function(B){return B.ExceptionOccurred="ExceptionOccurred",B.UserFeedBack="UserFeedback",B.LoginFailure="LoginFailure",B}(E||{}),O=e.Or.Common.Ipc.IpcTargets},95318:(xe,de,t)=>{"use strict";t.d(de,{$6:()=>I,$_:()=>o,A$:()=>_,BG:()=>J,Bp:()=>i,D:()=>l,DS:()=>B,E8:()=>O,HP:()=>r,JR:()=>A,Jw:()=>p,Lx:()=>S,V9:()=>x,VQ:()=>s,ZF:()=>E,di:()=>U,f$:()=>M,kK:()=>f,mF:()=>u,nb:()=>k,oY:()=>e,qq:()=>L,yN:()=>n});const e=1e4;var n=function(a){return a.DemoPaymentModel="DemoPaymentModel",a.FreeToPlayPaymentModel="FreeToPlayPaymentModel",a.PurchasePaymentModel="PurchasePaymentModel",a}(n||{}),E=function(a){return a.Demo="Demo",a.Free="Free",a.Paid="Paid",a}(E||{}),O=function(a){return a.OwnedPlatformSync="PLATFORM_SYNC",a.OwnedManual="MANUAL",a.NotOwned="NOT_OWNED",a}(O||{}),B=function(a){return a.Unknown="UNKNOWN",a.Playable="PLAYABLE",a.UnplayableDueToTimeCapLimit="UNPLAYABLE_DUE_TO_TIME_CAPPED_LIMIT",a.UnplayableDueToUpgrade="UNPLAYABLE_DUE_TO_UPGRADE",a}(B||{}),k=function(a){return a.Marketing="MarketingItem",a.Game="GameItem",a.Filter="FilterItem",a}(k||{}),U=function(a){return a.SilentRefresh="SilentRefresh",a.LibraryRefresh="LibraryRefresh",a.FavoritesRefresh="FavoritesRefresh",a.PanelRefresh="PanelRefresh",a.OwnershipSync="OwnershipSync",a}(U||{}),r=function(a){return a.Marquee="MARQUEE",a.Main="MAIN",a.Library="LIBRARY",a.Favorites="FAVORITES",a.LoginWall="LOGINWALL",a}(r||{});const A={genreDefinitions:[],appStoreDefinitions:[],ratingDefinitions:[]},l={id:"",name:r.Library,sections:[]},I={id:"",name:r.Favorites,sections:[]},S={items:[]};var L=function(a){return a.Feature="FEATURED",a.Wide="WIDE",a.MyLibrary="MY_LIBRARY",a.Generic="GENERIC",a.MyFavorites="MY_FAVORITES",a.Marketing="MARKETING",a}(L||{});const s={sortOrderDefinitions:[],filterGroupDefinitions:[]};var M=function(a){return a.UNKNOWN="UNKNOWN",a.MOUSE="MOUSE",a.MOUSE_KEYBOARD="MOUSE_KEYBOARD",a.X_INPUT_GAMEPAD="X_INPUT_GAMEPAD",a.DIRECT_INPUT_GAMEPAD="DIRECT_INPUT_GAMEPAD",a.JOYSTICK="JOYSTICK",a.WHEEL="WHEEL",a.TOUCHSCREEN="TOUCHSCREEN",a.WII_CONTROLLER="WII_CONTROLLER",a.KINECT_CONTROLLER="KINECT_CONTROLLER",a.KEYBOARD="KEYBOARD",a.X_INPUT_GAMEPAD_PARTIAL="X_INPUT_GAMEPAD_PARTIAL",a.DIRECT_INPUT_GAMEPAD_PARTIAL="DIRECT_INPUT_GAMEPAD_PARTIAL",a.GAMEPAD="GAMEPAD",a.GAMEPAD_PARTIAL="GAMEPAD_PARTIAL",a.DUALSENSE_GAMEPAD="DUALSENSE_GAMEPAD",a.DUALSHOCK4_GAMEPAD="DUALSHOCK4_GAMEPAD",a}(M||{});const u="CLIENT_UPSELL_MESSAGES",x="LOGIN_WALL";var p=function(a){return a.AppsRefresh="AppsRefresh",a.PanelRefresh="PanelRefresh",a.CampaignsRefresh="CampaignsRefresh",a.TimerRefresh="TimerRefresh",a}(p||{}),i=function(a){return a.Manual="MANUAL",a.StoreConnect="STORE_CONNECT",a.StoreReconnect="STORE_RECONNECT",a.StoreResync="STORE_RESYNC",a.ManualPostCancellation="MANUAL_POST_CANCELLATION",a}(i||{}),o=function(a){return a.RTX_ENABLED="RTX_ENABLED",a.HDR_ENABLED="HDR_ENABLED",a.SUPPORTED_HDR_VERSION="SUPPORTED_HDR_VERSION",a.SUPPORTED_AUDIO_FORMATS="SUPPORTED_AUDIO_FORMATS",a.IN_GAME_SETTINGS_PERSISTENCE_ENABLED="IN_GAME_SETTINGS_PERSISTENCE_ENABLED",a.ENABLED_FPS="ENABLED_FPS",a.ENABLE_DEBUG_TOOLS="ENABLE_DEBUG_TOOLS",a.ENABLED_REFLEX="REFLEX_ENABLED",a.BIT_DEPTH="BIT_DEPTH",a.CLOUD_GSYNC="CLOUD_GSYNC",a}(o||{});function _(a){var D;return null!=a&&null!==(D=a.gfn)&&void 0!==D&&null!==(D=D.library)&&void 0!==D&&D.status?a.gfn.library.status:O.NotOwned}var f=function(a){return a.Speech="speech",a.Subtitles="subtitles",a.Ux="ux",a}(f||{}),J=function(a){return a.AutoByGfnBackend="AUTO_BY_GFN_BACKEND",a.AutoByGameScript="AUTO_BY_GFN_GAME_SCRIPT",a.AutoByOs="AUTO_BY_OS",a.ManualByUser="MANUAL_BY_USER",a}(J||{})},14043:(xe,de,t)=>{"use strict";t.d(de,{WT:()=>Xe,Jw:()=>s.Jw,$6:()=>s.$6,VQ:()=>s.VQ,D:()=>s.D,JR:()=>s.JR,kK:()=>s.kK,f$:()=>s.f$,ZF:()=>s.ZF,BG:()=>s.BG,DS:()=>s.DS,$_:()=>s.$_,Br:()=>tt,E8:()=>s.E8,V9:()=>s.V9,Bp:()=>s.Bp,di:()=>s.di,HP:()=>s.HP,yN:()=>s.yN,qq:()=>s.qq,nb:()=>s.nb,mF:()=>s.mF,A$:()=>s.A$});var e=t(80583),n=t(43848),E=t(31315),O=t(59859),B=t(8619),P=t(75707),k=t(91384),U=t(53461),r=t(65706),A=t(83915),l=t(14714),I=t(55833),S=t(76449),L=t(81834),s=t(95318),M=t(82094),u=t(70521),x=t(40996),p=t(43117),i=t(26875),o=t(18433);const te="\nquery GetGameSection($vpcId: String!, $locale: String!, $panelNames: [String]!) {\n panels(vpcId: $vpcId, language: $locale, names: $panelNames) {\n id\n name\n sections {\n id\n telemetryName\n type\n title\n renderDirectives\n seeMoreInfo {\n filterTileId\n title\n filterIds\n minTiles\n sortOrderId\n }\n items {\n __typename\n ...filterFields\n ...minimalGameFields\n ...marketingFields\n }\n }\n }\n}\n\nfragment filterFields on FilterItem {\n id\n title\n image\n filterIds\n}\n\nfragment minimalGameFields on GameItem {\n app {\n id\n images {\n TV_BANNER\n HERO_IMAGE\n }\n title\n library {\n favorited\n }\n itemMetadata {\n campaignIds\n }\n variants {\n id\n shortName\n appStore\n supportedControls\n gfn {\n library {\n status\n selected\n }\n status\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n }\n}\n\nfragment marketingFields on MarketingItem {\n id\n title\n subTitle\n body\n images {\n MARQUEE_HERO_IMAGE\n HERO_IMAGE\n }\n action {\n uri\n label\n infoText\n }\n schedule {\n startTime\n endTime\n }\n}",v="query GetAppDataQueryForAppId($vpcId: String!, $locale: String!, $appIds: [String]!) {\n apps(vpcId: $vpcId, language: $locale, appIds: $appIds) {\n items {\n appStore\n contentRatings {\n categoryKey\n contentDescriptorKeys\n interactiveElementKeys\n type\n }\n developerName\n displaysOwnRatingDuringGameplay\n id\n genres\n images {\n GAME_BOX_ART\n GAME_LOGO\n HERO_IMAGE\n SCREENSHOTS\n TV_BANNER\n KEY_ART\n }\n nvidiaTech {\n PHOTO_MODE\n FREESTYLE\n HIGHLIGHTS\n }\n title\n shortDescription\n longDescription\n maxLocalPlayers\n maxOnlinePlayers\n supportedControls\n publisherName\n marqueeScrimPrimaryRGB {\n r\n g\n b\n }\n computedValues {\n earliestStreetDate\n paymentModels {\n __typename\n }\n }\n itemMetadata {\n campaignIds\n }\n variants {\n streetDate\n appStore\n id\n shortName\n supportedControls\n storeUrl\n publisherName\n developerName\n paymentModels {\n __typename\n }\n gfn {\n status\n features {\n ...feature\n }\n supportedLanguages {\n language\n ... on GfnLanguageSettings {\n availableFeatures\n setMethod\n }\n }\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n }\n }\n}\nfragment feature on GfnSubscriptionFeature {\n __typename\n ... on GfnSubscriptionFeatureValue {\n key\n value\n }\n ... on GfnSubscriptionFeatureValueList {\n key\n values\n }\n}\n",c={StaticAppData:"query GetStaticAppData($locale: String!){\n genreDefinitions(language: $locale){\n genre\n label\n }\n appStoreDefinitions(language: $locale){\n store\n label\n sortOrder\n smallImageUrl\n features {\n __typename\n ... on AccountLinkingSso {\n displayProposition\n supported\n }\n ... on AccountGamesSyncing {\n displayProposition\n supported\n }\n }\n accountLinkingMetadata {\n supportedVariantIds\n isSupported\n isRequired\n label\n }\n }\n ratingDefinitions(language: $locale){\n ratingSystem\n label\n displayInterval\n contentDescriptors{\n key\n label\n sortOrder\n }\n interactiveElements {\n key\n label\n sortOrder\n }\n ratings {\n categoryKey\n description\n label\n minimumAge\n largeImageUrl\n smallImageUrl\n }\n }\n}",UserAccount:"{\n userAccount {\n storesData {\n store\n accountLinkingData {\n userDisplayName\n expiresIn\n userIdentifier\n accountSyncingData {\n totalNumberOfSyncedGfnGames\n syncState\n syncDate\n }\n }\n }\n }\n}",Marquee:"query GetMarquee($vpcId: String!, $locale: String!, $panelNames: [String]!) {\n panels(vpcId: $vpcId, language: $locale, names: $panelNames) {\n id\n name\n sections {\n id\n type\n title\n items {\n __typename\n ...marketingFields\n ...marqueeGameFields\n }\n }\n }\n}\nfragment marketingFields on MarketingItem {\n id\n title\n images {\n MARQUEE_HERO_IMAGE\n HERO_IMAGE\n }\n body\n action {\n uri\n label\n infoText\n }\n schedule {\n startTime\n endTime\n }\n}\nfragment marqueeGameFields on GameItem {\n app {\n id\n title\n type\n publisherName\n contentRatings {\n categoryKey\n contentDescriptorKeys\n interactiveElementKeys\n type\n }\n marqueeScrimPrimaryRGB {\n r\n g\n b\n }\n images {\n GAME_LOGO\n MARQUEE_HERO_IMAGE\n HERO_IMAGE\n }\n itemMetadata {\n campaignIds\n }\n variants {\n id\n appStore\n supportedControls\n }\n }\n}",Favorites:te,LibrarySection:te,LibrarySectionWithTime:"\nquery GetGameSection($vpcId: String!, $locale: String!, $panelNames: [String]!) {\n panels(vpcId: $vpcId, language: $locale, names: $panelNames) {\n id\n name\n sections {\n id\n telemetryName\n type\n title\n renderDirectives\n seeMoreInfo {\n filterTileId\n title\n filterIds\n minTiles,\n sortOrderId\n }\n items {\n __typename\n ...filterFields\n ...minimalGameFields\n }\n }\n }\n}\n\nfragment filterFields on FilterItem {\n id\n title\n image\n filterIds\n}\n\nfragment minimalGameFields on GameItem {\n app {\n id\n images {\n TV_BANNER\n HERO_IMAGE\n KEY_ART\n }\n title\n library {\n favorited\n }\n itemMetadata {\n campaignIds\n }\n variants {\n id\n shortName\n appStore\n publisherName\n supportedControls\n gfn {\n library {\n status\n selected\n lastPlayedDate\n }\n status\n }\n contentRatings {\n categoryKey\n type\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n }\n}\n",Main:te,Campaigns:"query GetCampaignsInfo($locale: String!, $vpcId: String!) {\n campaigns(vpcId: $vpcId, language: $locale) {\n items {\n action {\n label\n url\n }\n id\n images {\n GAME_BOX_ART\n GAME_LOGO\n TV_BANNER\n HERO_IMAGE\n MARQUEE_HERO_IMAGE\n }\n promoText {\n summary\n tag\n }\n marqueeScrimPrimaryRGB {\n r\n g\n b\n }\n schedule {\n endTime\n startTime\n }\n }\n }\n}",FilterGroupAndSortOrderDefinitions:"query GetFilterGroupAndSortOrderDefinitions($locale: String!) {\n filterGroupDefinitions(language: $locale) {\n id\n label\n filters {\n id\n label\n filters\n }\n }\n sortOrderDefinitions(language: $locale) {\n id\n label\n orderBy\n }\n}",AppsWithSearch:"query GetSearchFilterResults(\n $vpcId: String!,\n $locale: String!,\n $sortString: String!,\n $fetchCount: Int!,\n $cursor: String!,\n $searchString: String!,\n $filters: AppFilterFields!) {\n apps(\n vpcId: $vpcId,\n language: $locale,\n orderBy: $sortString,\n first: $fetchCount,\n after: $cursor,\n searchQuery: $searchString,\n filters: $filters\n ){\n numberReturned\n numberSupported\n pageInfo {\n hasNextPage\n endCursor\n totalCount\n }\n items {\n id\n title\n library {\n favorited\n }\n images {\n TV_BANNER\n HERO_IMAGE\n }\n variants {\n id\n appStore\n supportedControls\n gfn {\n library {\n status\n selected\n }\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n itemMetadata {\n campaignIds\n }\n }\n }\n}",AppsWithoutSearch:"query GetSearchFilterResults(\n $vpcId: String!,\n $locale: String!,\n $sortString: String!,\n $fetchCount: Int!,\n $cursor: String!,\n $filters: AppFilterFields!) {\n apps(\n vpcId: $vpcId,\n language: $locale,\n orderBy: $sortString,\n first: $fetchCount,\n after: $cursor,\n filters: $filters\n ){\n numberReturned\n numberSupported\n pageInfo {\n hasNextPage\n endCursor\n totalCount\n }\n items {\n id\n title\n library {\n favorited\n }\n images {\n TV_BANNER\n HERO_IMAGE\n }\n variants {\n id\n appStore\n supportedControls\n gfn {\n library {\n status\n selected\n }\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n itemMetadata {\n campaignIds\n }\n }\n }\n}",UpsellMessages:"query GetUpsellMessages($locale: String!, $upsellMessageKey: [String]!) {\n clientStrings(language: $locale, keys: $upsellMessageKey)\n}",AppDataForAppId:"query GetAppDataQueryForAppId($vpcId: String!, $locale: String!, $appIds: [String]!) {\n apps(vpcId: $vpcId, language: $locale, appIds: $appIds) {\n items {\n appStore\n contentRatings {\n categoryKey\n contentDescriptorKeys\n interactiveElementKeys\n type\n }\n developerName\n displaysOwnRatingDuringGameplay\n id\n genres\n images {\n GAME_BOX_ART\n GAME_LOGO\n HERO_IMAGE\n SCREENSHOTS\n TV_BANNER\n KEY_ART\n }\n nvidiaTech {\n PHOTO_MODE\n FREESTYLE\n HIGHLIGHTS\n }\n title\n longDescription\n shortDescription\n maxLocalPlayers\n maxOnlinePlayers\n supportedControls\n publisherName\n marqueeScrimPrimaryRGB {\n r\n g\n b\n }\n computedValues {\n earliestStreetDate\n paymentModels {\n __typename\n }\n }\n itemMetadata {\n campaignIds\n }\n variants {\n streetDate\n appStore\n id\n shortName\n supportedControls\n storeUrl\n publisherName\n developerName\n paymentModels {\n __typename\n }\n gfn {\n library {\n status\n selected\n }\n status\n features {\n ...feature\n }\n supportedLanguages {\n language\n ... on GfnLanguageSettings {\n availableFeatures\n setMethod\n }\n }\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n }\n }\n}\nfragment feature on GfnSubscriptionFeature {\n __typename\n ... on GfnSubscriptionFeatureValue {\n key\n value\n }\n ... on GfnSubscriptionFeatureValueList {\n key\n values\n }\n}\n",AppDataForAppIdWithoutMILA:v,AppDataForCmsId:"query GetAppDataQueryForCmsId($vpcId: String!, $locale: String!, $cmsIds: [Int]!) {\n apps(vpcId: $vpcId, language: $locale, variantIds: $cmsIds) {\n items {\n appStore\n contentRatings {\n categoryKey\n contentDescriptorKeys\n interactiveElementKeys\n type\n }\n developerName\n displaysOwnRatingDuringGameplay\n id\n genres\n images {\n GAME_BOX_ART\n HERO_IMAGE\n SCREENSHOTS\n TV_BANNER\n KEY_ART\n }\n nvidiaTech {\n PHOTO_MODE\n FREESTYLE\n HIGHLIGHTS\n }\n title\n shortDescription\n longDescription\n maxLocalPlayers\n maxOnlinePlayers\n supportedControls\n publisherName\n marqueeScrimPrimaryRGB {\n r\n g\n b\n }\n computedValues {\n earliestStreetDate\n paymentModels {\n __typename\n }\n }\n itemMetadata {\n campaignIds\n }\n variants {\n streetDate\n appStore\n id\n shortName\n supportedControls\n storeUrl\n publisherName\n developerName\n paymentModels {\n __typename\n }\n gfn {\n status\n features {\n ...feature\n }\n supportedLanguages {\n language\n ... on GfnLanguageSettings {\n availableFeatures\n setMethod\n }\n }\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n }\n }\n}\nfragment feature on GfnSubscriptionFeature {\n __typename\n ... on GfnSubscriptionFeatureValue {\n key\n value\n }\n ... on GfnSubscriptionFeatureValueList {\n key\n values\n }\n}\n",AppDataForCmsIdWithoutVpcId:"query GetAppDataQueryForCmsIdWithoutVpcId($locale: String!, $cmsIds: [Int]!) {\n apps(language: $locale, variantIds: $cmsIds) {\n items {\n appStore\n contentRatings {\n categoryKey\n contentDescriptorKeys\n interactiveElementKeys\n type\n }\n developerName\n displaysOwnRatingDuringGameplay\n id\n genres\n images {\n GAME_BOX_ART\n HERO_IMAGE\n SCREENSHOTS\n TV_BANNER\n KEY_ART\n }\n nvidiaTech {\n PHOTO_MODE\n FREESTYLE\n HIGHLIGHTS\n }\n title\n shortDescription\n longDescription\n maxLocalPlayers\n maxOnlinePlayers\n supportedControls\n publisherName\n marqueeScrimPrimaryRGB {\n r\n g\n b\n }\n computedValues {\n earliestStreetDate\n paymentModels {\n __typename\n }\n }\n itemMetadata {\n campaignIds\n }\n variants {\n streetDate\n appStore\n id\n shortName\n supportedControls\n storeUrl\n publisherName\n developerName\n paymentModels {\n __typename\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n }\n }\n}",LoginWallData:"query GetLoginWallData($locale: String!, $vpcId: String!, $panelNames: [String]!, $stringsKey: [String]!) {\n panels(language: $locale, vpcId: $vpcId, names: $panelNames) {\n id\n name\n sections {\n telemetryName\n items {\n __typename\n ...gameFields\n }\n }\n }\n clientStrings(language: $locale, keys: $stringsKey)\n}\nfragment gameFields on GameItem {\n app {\n images {\n TV_BANNER\n }\n }\n}",LoginWallStringsOnly:"query GetLoginWallStrings($locale: String!, $stringsKey: [String]!) {\n clientStrings(language: $locale, keys: $stringsKey)\n}",AddFavoriteApp:"mutation AddFavoriteApp($appId: String!, $locale: String!) {\n addFavoriteApp(language: $locale, appId: $appId) {\n app {\n id\n }\n }\n}",RemoveFavoriteApp:"mutation RemoveFavoriteApp($appId: String!, $locale: String!) {\n removeFavoriteApp(language: $locale, appId: $appId) {\n app {\n id\n }\n }\n}",AddOwnedVariant:"mutation AddOwnedVariant($cmsId: String!, $locale: String!) {\n addOwnedVariant(language: $locale, variantId: $cmsId) {\n app {\n id\n }\n }\n}",RemoveOwnedVariant:"mutation RemoveOwnedVariant($cmsId: String!, $locale: String!) {\n removeOwnedVariant(language: $locale, variantId: $cmsId) {\n app {\n id\n }\n }\n}",SelectOwnedVariant:"mutation SelectOwnedVariant($cmsId: String!, $locale: String!) {\n selectOwnedVariant(language: $locale, variantId: $cmsId) {\n app {\n id\n }\n }\n}",OverallGfnSupportedLanguages:"{\n overallGfnSupportedLanguages {\n language\n }\n}"},g={AppsWithSearch:"query GetSearchFilterResults(\n $vpcId: String!,\n $locale: String!,\n $sortString: String!,\n $fetchCount: Int!,\n $cursor: String!,\n $searchString: String!,\n $filters: AppFilterFields!) {\n apps(\n vpcId: $vpcId,\n language: $locale,\n orderBy: $sortString,\n first: $fetchCount,\n after: $cursor,\n searchQuery: $searchString,\n filters: $filters\n ){\n numberReturned\n numberSupported\n pageInfo {\n hasNextPage\n endCursor\n totalCount\n }\n items {\n id\n title\n images {\n TV_BANNER\n HERO_IMAGE\n }\n variants {\n id\n appStore\n supportedControls\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n itemMetadata {\n campaignIds\n }\n }\n }\n}",AppsWithoutSearch:"query GetSearchFilterResults(\n $vpcId: String!,\n $locale: String!,\n $sortString: String!,\n $fetchCount: Int!,\n $cursor: String!,\n $filters: AppFilterFields!) {\n apps(\n vpcId: $vpcId,\n language: $locale,\n orderBy: $sortString,\n first: $fetchCount,\n after: $cursor,\n filters: $filters\n ){\n numberReturned\n numberSupported\n pageInfo {\n hasNextPage\n endCursor\n totalCount\n }\n items {\n id\n title\n images {\n TV_BANNER\n HERO_IMAGE\n }\n variants {\n id\n appStore\n supportedControls\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n itemMetadata {\n campaignIds\n }\n }\n }\n}",Main:"\nquery GetGameSection($vpcId: String!, $locale: String!, $panelNames: [String]!) {\n panels(vpcId: $vpcId, language: $locale, names: $panelNames) {\n id\n name\n sections {\n id\n telemetryName\n type\n title\n renderDirectives\n seeMoreInfo {\n filterTileId\n title\n filterIds\n minTiles\n sortOrderId\n }\n items {\n __typename\n ...filterFields\n ...minimalGameFields\n ...marketingFields\n }\n }\n }\n}\n\nfragment filterFields on FilterItem {\n id\n title\n image\n filterIds\n}\n\nfragment minimalGameFields on GameItem {\n app {\n id\n images {\n TV_BANNER\n HERO_IMAGE\n }\n title\n itemMetadata {\n campaignIds\n }\n variants {\n id\n shortName\n appStore\n supportedControls\n gfn {\n status\n }\n }\n gfn {\n playabilityState\n minimumMembershipTierLabel\n }\n }\n}\n\nfragment marketingFields on MarketingItem {\n id\n title\n subTitle\n body\n images {\n MARQUEE_HERO_IMAGE\n HERO_IMAGE\n }\n action {\n uri\n label\n infoText\n }\n schedule {\n startTime\n endTime\n }\n}",AppDataForAppId:v},d={StaticAppData:"1c8e9ae4851b71a2a15583b4ec25bee23cd312ff2e1eae8ace58f9575ad6fda4",UserAccount:"c0d32eea714da66ceaaea8a894fdf26a503270c87b5494897f0579c390e3d479",Marquee:"5141fc350ff08ace240fc2f2b1489f62cec0af66ce629809b16db41c76c8ae4a",Favorites:"5d2d2dff8cfeae3667d3b63e71183c37c62fbb099334ffdba3cf9c89b0f004fc",LibrarySection:"5d2d2dff8cfeae3667d3b63e71183c37c62fbb099334ffdba3cf9c89b0f004fc",LibrarySectionWithTime:"22898bdf836128b8c942aca62fb1f4c6d64f4eebe253aeca50586378219101b3",Main:"5d2d2dff8cfeae3667d3b63e71183c37c62fbb099334ffdba3cf9c89b0f004fc",Campaigns:"c75162f669ceb2b5d0ce5062474fd65b471a8a13085cbbb885ac1fe6fbbfbf8d",FilterGroupAndSortOrderDefinitions:"0b81ec998250c648401914babb7c71044e6603a16be2dfa537fde471d32233da",AppsWithSearch:"611a5b8f415030eb55e4aa6c5e9bc5beb6010cb266b8dd37d0d6463f1d6785ac",AppsWithoutSearch:"31700271dcf98c6b3bbf3f0e79967a01d3c558975d6dc76e5d8f016d75b06b16",UpsellMessages:"f367fe9d438dd1da67e8e9a9055f7219c258ee10bf6f6f48e539f6d5d3fd0120",AppDataForAppId:"ad25945afe25b6a5bfa410ec3be069bfb80b66bca72f23fb1ef84b7ebc53ca01",AppDataForAppIdWithoutMILA:"2acb3b2acc3874541ce25facd9cae6f13ebbf0a0d213a4cc81d740c39f90e3b4",AppDataForCmsId:"eaeb7a1f5818b89ec43194d5b303325bf4c20eba6fb8c6c6879594d745f029d9",AppDataForCmsIdWithoutVpcId:"3c278f3debef86009d7eceb60c971a0f44aa2698fbf4dc3fcccb0551cb0c4770",LoginWallData:"dff6137faf58b66e67b9c1969c9d104324aabfbb467c242334752fc9a5c45887",LoginWallStringsOnly:"600316b112e08d80a3fe4ba16c45f635e690da9e798fe0fb7fc5da547e5e7051",AddFavoriteApp:"0b1463d227991c32ca83569af2470a9b000408fd01cdccc15692c9f0462354c9",RemoveFavoriteApp:"1a15b57e8a23113391e645cc3c672097b86282b60fb95f26b39a005507cd2583",AddOwnedVariant:"881604c8281fc0a106bc14ead8ab1ee02775fd3b847c987beb7153f5bec704ea",RemoveOwnedVariant:"41283cb0b456533f39dc91f65066c3b97dd4766d519c0e2d8e9fed79653dd959",SelectOwnedVariant:"d451d5d385ac4d38bb3eeda49afc269001b7b147fd1fb1f30e9f262d89be3b80",OverallGfnSupportedLanguages:"68d079c3efb00030abd24e976d549cef490ca7c70830adcd1a0920a2d62b5ae4"};var C=function(_e){return _e.StaticAppData="StaticAppData",_e.UserAccount="UserAccount",_e.Marquee="Marquee",_e.Favorites="Favorites",_e.LibrarySection="LibrarySection",_e.LibrarySectionWithTime="LibrarySectionWithTime",_e.Main="Main",_e.Campaigns="Campaigns",_e.FilterGroupAndSortOrderDefinitions="FilterGroupAndSortOrderDefinitions",_e.AppsWithSearch="AppsWithSearch",_e.AppsWithoutSearch="AppsWithoutSearch",_e.UpsellMessages="UpsellMessages",_e.AppDataForAppId="AppDataForAppId",_e.AppDataForAppIdWithoutMILA="AppDataForAppIdWithoutMILA",_e.AppDataForCmsId="AppDataForCmsId",_e.AppDataForCmsIdWithoutVpcId="AppDataForCmsIdWithoutVpcId",_e.LoginWallData="LoginWallData",_e.LoginWallStringsOnly="LoginWallStringsOnly",_e.AddFavoriteApp="AddFavoriteApp",_e.RemoveFavoriteApp="RemoveFavoriteApp",_e.AddOwnedVariant="AddOwnedVariant",_e.RemoveOwnedVariant="RemoveOwnedVariant",_e.SelectOwnedVariant="SelectOwnedVariant",_e.OverallGfnSupportedLanguages="OverallGfnSupportedLanguages",_e}(C||{}),Q=function(_e){return _e.AppMetadata="appMetaData",_e.StaticAppData="staticAppData",_e.PanelsMain="panels/MainV2",_e.PanelsMarquee="panels/Marquee",_e.PanelsLibrary="panels/Library",_e.PanelsFavorites="panels/Favorites",_e.UserAccount="userAccount",_e.ClientStrings="clientStrings",_e.Campaigns="campaigns",_e.Apps="apps",_e.FilterGroupAndSortOrderDefinitions="filterGroupAndSortOrderDefinitions",_e.LoginWallData="loginWallData",_e.LoginWallStrings="loginWallStrings",_e.OverallLanguageList="overallGfnSupportedLanguages",_e}(Q||{});const j={[C.StaticAppData]:{query:c[C.StaticAppData],cacheKey:Q.StaticAppData,serviceUseCase:o.OOF.Other,isUserSpecificQuery:!1,sha256hash:d[C.StaticAppData]},[C.UserAccount]:{query:c[C.UserAccount],cacheKey:Q.UserAccount,serviceUseCase:o.OOF.GetUserAccount,isUserSpecificQuery:!0,sha256hash:d[C.UserAccount]},[C.Marquee]:{query:c[C.Marquee],cacheKey:Q.PanelsMarquee,serviceUseCase:o.OOF.GetPanel,isUserSpecificQuery:!0,sha256hash:d[C.Marquee]},[C.LibrarySectionWithTime]:{query:c[C.LibrarySectionWithTime],cacheKey:Q.PanelsLibrary,serviceUseCase:o.OOF.GetPanel,isUserSpecificQuery:!0,sha256hash:d[C.LibrarySectionWithTime]},[C.LibrarySection]:{query:c[C.LibrarySection],cacheKey:Q.PanelsLibrary,serviceUseCase:o.OOF.GetPanel,isUserSpecificQuery:!0,sha256hash:d[C.LibrarySection]},[C.Favorites]:{query:c[C.Favorites],cacheKey:Q.PanelsFavorites,serviceUseCase:o.OOF.GetPanel,isUserSpecificQuery:!0,sha256hash:d[C.Favorites]},[C.Main]:{query:c[C.Main],cacheKey:Q.PanelsMain,serviceUseCase:o.OOF.GetPanel,isUserSpecificQuery:!0,sha256hash:d[C.Main],serviceUnavailableFallbackQuery:g[C.Main]},[C.Campaigns]:{query:c[C.Campaigns],cacheKey:Q.Campaigns,serviceUseCase:o.OOF.GetCampaigns,isUserSpecificQuery:!0,sha256hash:d[C.Campaigns]},[C.AppsWithSearch]:{query:c[C.AppsWithSearch],cacheKey:Q.Apps,serviceUseCase:o.OOF.GetApps,isUserSpecificQuery:!0,sha256hash:d[C.AppsWithSearch],serviceUnavailableFallbackQuery:g[C.AppsWithSearch]},[C.AppsWithoutSearch]:{query:c[C.AppsWithoutSearch],cacheKey:Q.Apps,serviceUseCase:o.OOF.GetApps,isUserSpecificQuery:!0,sha256hash:d[C.AppsWithoutSearch],serviceUnavailableFallbackQuery:g[C.AppsWithoutSearch]},[C.FilterGroupAndSortOrderDefinitions]:{query:c[C.FilterGroupAndSortOrderDefinitions],cacheKey:Q.FilterGroupAndSortOrderDefinitions,serviceUseCase:o.OOF.GetFilterGroupAndSortOrderDefinitions,isUserSpecificQuery:!0,sha256hash:d[C.FilterGroupAndSortOrderDefinitions]},[C.AppDataForAppId]:{query:c[C.AppDataForAppId],cacheKey:Q.AppMetadata,serviceUseCase:o.OOF.GetAppData,isUserSpecificQuery:!0,sha256hash:d[C.AppDataForAppId],serviceUnavailableFallbackQuery:g[C.AppDataForAppId]},[C.AppDataForAppIdWithoutMILA]:{query:c[C.AppDataForAppIdWithoutMILA],cacheKey:Q.AppMetadata,serviceUseCase:o.OOF.GetAppData,isUserSpecificQuery:!0,sha256hash:d[C.AppDataForAppIdWithoutMILA]},[C.AppDataForCmsId]:{query:c[C.AppDataForCmsId],cacheKey:Q.AppMetadata,serviceUseCase:o.OOF.GetAppData,isUserSpecificQuery:!0,sha256hash:d[C.AppDataForCmsId]},[C.AppDataForCmsIdWithoutVpcId]:{query:c[C.AppDataForCmsIdWithoutVpcId],cacheKey:Q.AppMetadata,serviceUseCase:o.OOF.GetAppData,isUserSpecificQuery:!0,sha256hash:d[C.AppDataForCmsIdWithoutVpcId]},[C.UpsellMessages]:{query:c[C.UpsellMessages],cacheKey:Q.ClientStrings,serviceUseCase:o.OOF.Other,isUserSpecificQuery:!0,sha256hash:d[C.UpsellMessages]},[C.LoginWallData]:{query:c[C.LoginWallData],cacheKey:Q.LoginWallData,serviceUseCase:o.OOF.GetLoginWallData,isUserSpecificQuery:!1,sha256hash:d[C.LoginWallData]},[C.LoginWallStringsOnly]:{query:c[C.LoginWallStringsOnly],cacheKey:Q.LoginWallStrings,serviceUseCase:o.OOF.GetLoginWallStrings,isUserSpecificQuery:!1,sha256hash:d[C.LoginWallStringsOnly]},[C.OverallGfnSupportedLanguages]:{query:c[C.OverallGfnSupportedLanguages],cacheKey:Q.OverallLanguageList,serviceUseCase:o.OOF.OverallGfnSupportedLanguages,isUserSpecificQuery:!1,sha256hash:d[C.OverallGfnSupportedLanguages]}},le={[C.AddFavoriteApp]:{query:c[C.AddFavoriteApp],serviceUseCase:o.OOF.AddFavoriteApp},[C.RemoveFavoriteApp]:{query:c[C.RemoveFavoriteApp],serviceUseCase:o.OOF.RemoveFavoriteApp},[C.AddOwnedVariant]:{query:c[C.AddOwnedVariant],serviceUseCase:o.OOF.AddOwnedVariant},[C.RemoveOwnedVariant]:{query:c[C.RemoveOwnedVariant],serviceUseCase:o.OOF.RemoveOwnedVariant},[C.SelectOwnedVariant]:{query:c[C.SelectOwnedVariant],serviceUseCase:o.OOF.SelectOwnedVariant}};function ge(_e){return j[_e]}var ce=t(31418),G=t(58527),ue=t(47766),ae=t(70815),Ce=t(78893),Se=t(80062),Ne=t(34178),we=t(61958),ve=t(11346);let Pe=(()=>{var _e;class He{constructor(Re,K,ke,Ue,et,gt){this.appConfig=Re,this.endpointFactory=K,this.distributedtracingUtilService=ke,this.idmService=Ue,this.clientHeaderService=gt,this.cascadePreviewToken=null,this.lastFetchedStaticAppDataTime=null,this.lastFetchedStaticAppData$=null,this.nvPreviewTime=null,this.logger=et.getLogger("LcarsSdkService");const{defaultRetries:vt,defaultTimeBetweenRetries:Mt,defaultTimeout:Rt,retryOnTimeout:Ut,exponentialBackoffMaxDelay:ct}=Re.lcars;this.queryDataEndpoint=this.endpointFactory.createEndpoint({config:{maxRetries:vt,timeout:Rt,timeBetweenRetries:Mt,retryOnTimeout:Ut,exponentialBackoffMaxDelay:ct}}),this.firstFetchSet=new Set,this.setCascadePreviewData()}setCascadePreviewData(){this.cascadePreviewToken=(0,Ce.BS)(Ce.kE.CascadePreviewToken),this.cascadePreviewToken?(this.logger.info(`Got cascadePreviewToken: ${this.cascadePreviewToken}`),this.nvPreviewTime=(0,Ce.BS)(Ce.kE.PreviewAtTime),this.logger.info(this.nvPreviewTime?`Got previewAtTime: ${this.nvPreviewTime}`:"No previewAtTime in query params")):this.logger.info("No cascadePreviewToken in query params")}createHeader(Re,K,ke,Ue){const et={...K};return et["Content-Type"]="application/graphql",this.firstFetchSet.has(Re)||Ue?et[u.tD.SwCacheBypass]=JSON.stringify(!0):this.firstFetchSet.add(Re),null!=ke&&ke.token&&(et[ae.SA.authorization]=`GFNJWT ${ke.token}`),this.appConfig.lcars.cascadeHeaderValue&&(et["NV-Cascade-Content"]=this.appConfig.lcars.cascadeHeaderValue),this.appConfig.lcars.stageHeaderValue&&(et["NV-Env"]=this.appConfig.lcars.stageHeaderValue),this.cascadePreviewToken&&(et["cache-control"]="no-cache",et[u.tD.SwCacheBypass]=JSON.stringify(!1),et["NV-Additional"]=this.cascadePreviewToken,this.nvPreviewTime&&(et["NV-Preview-Time"]=this.nvPreviewTime)),et}fetchQueryData(Re,K,ke,Ue,et){return(0,E.zV)([this.clientHeaderService.getCommonHeaders({withClientId:"lcars"}),this.idmService.accountStatusChanged.pipe((0,r.s)(1))]).pipe((0,P.ZZ)(([gt,vt])=>{const Mt=ge(Re),Rt=Mt.cacheKey;vt.isAuthenticated&&Mt.isUserSpecificQuery&&vt.userId!==this.lastHashedUserId&&(this.userIdHash=(0,Se.sha1)(vt.userId),this.lastHashedUserId=vt.userId);const Ut=Object.assign(Rt?{requestType:Rt}:null,{extensions:JSON.stringify({persistedQuery:{sha256Hash:Mt.sha256hash}})},vt.isAuthenticated?{huId:this.userIdHash}:null,{variables:K?JSON.stringify(K):null}),ct={headers:this.createHeader(Rt,gt,Ue,et),reportRequestData:{originalService:o.Uu$.Lcars,serviceUseCase:Mt.serviceUseCase,reportSuccessTelemetry:"true"},params:Ut,includeRequestId:!0},Me=[];return Object.keys(ct.headers).forEach(Tt=>{"Authorization"!==Tt&&Me.push(`${Tt}: ${ct.headers[Tt]}`)}),this.logger.info(`Headers for ${Re} are: ${Me}`),this.handleRequest(vt.isAuthenticated&&Rt!==Q.AppMetadata||vt.isAuthenticated&&Rt===Q.AppMetadata&&Ue?this.appConfig.lcars.serverUrl:this.appConfig.lcars.serverUrlCDN,ct,Mt,ke)}))}postQueryData(Re,K,ke,Ue=!1){return(0,E.zV)([this.clientHeaderService.getCommonHeaders({withClientId:"lcars"}),this.idmService.getAuthToken(Ue,ke)]).pipe((0,P.ZZ)(([et,gt])=>{const vt=function ie(_e){return le[_e]}(Re),Mt=Object.assign({query:vt.query},{variables:K?JSON.stringify(K):null}),Rt={headers:this.createHeader(null,et,gt,!0),reportRequestData:{originalService:o.Uu$.Lcars,serviceUseCase:vt.serviceUseCase,reportSuccessTelemetry:"true"},params:Mt,includeRequestId:!0};return this.handlePostRequest(this.appConfig.lcars.serverUrl,Rt,ke)}),(0,l.W)(et=>this.idmService.handleAuthError(et,Ue,this.postQueryData.bind(this),Re,K,ke)))}handlePostRequest(Re,K,ke){const Ue=this.queryDataEndpoint.post((0,L.l2)([Re]),K);return this.distributedtracingUtilService.handleHttpEndpointSpan(Ue,K,S.pB.LcarsPostQueryData,ke)}handleRequest(Re,K,ke,Ue){const et=this.queryDataEndpoint.get((0,L.l2)([Re]),K);return this.distributedtracingUtilService.handleHttpEndpointSpan(et,K,S.pB.LcarsFetchQueryData,Ue).pipe((0,l.W)(gt=>{var vt;if(400!==(null==gt?void 0:gt.status)||null!=K&&null!==(vt=K.params)&&void 0!==vt&&vt.query){if(503===(null==gt?void 0:gt.status)&&null!=ke&&ke.serviceUnavailableFallbackQuery){delete K.params.extensions;const Mt={...K};Mt.params.query=ke.serviceUnavailableFallbackQuery;const Rt=this.queryDataEndpoint.get((0,L.l2)([Re]),Mt);return this.distributedtracingUtilService.handleHttpEndpointSpan(Rt,Mt,S.pB.LcarsFetchQueryData,Ue)}return(0,O.$)(gt)}{const Mt={...K};Mt.params.query=ke.query;const Rt=this.queryDataEndpoint.get((0,L.l2)([Re]),Mt);return this.distributedtracingUtilService.handleHttpEndpointSpan(Rt,Mt,S.pB.LcarsFetchQueryData,Ue)}}))}fetchStaticDataQuery(Re,K){const ke=Date.now();if(ke-this.lastFetchedStaticAppDataTime>s.oY){this.lastFetchedStaticAppDataTime=ke;const et=ge(C.StaticAppData),gt=Object.assign({requestType:et.cacheKey},{variables:JSON.stringify(Re),extensions:JSON.stringify({persistedQuery:{sha256Hash:et.sha256hash}})});this.lastFetchedStaticAppData$=this.clientHeaderService.getCommonHeaders().pipe((0,P.ZZ)(vt=>{const Mt={headers:this.createHeader(et.cacheKey,vt),reportRequestData:{originalService:o.Uu$.Lcars,reportSuccessTelemetry:"true"},params:gt,includeRequestId:!0,includeFullResponse:!0},Rt=[];return Object.keys(Mt.headers).forEach(Ut=>{Rt.push(`${Ut}: ${Mt.headers[Ut]}`)}),this.logger.info(`Headers for static call are: ${Rt}`),this.handleRequest(this.appConfig.lcars.serverUrlCDN,Mt,et,K)}),(0,I.t)(1))}return this.lastFetchedStaticAppData$}}return(_e=He).\u0275fac=function(Re){return new(Re||_e)(G.KVO(we.Vk),G.KVO(ae.t),G.KVO(S.Z1),G.KVO(ve.k_),G.KVO(ue.J6),G.KVO(Ne.y1))},_e.\u0275prov=G.jDH({token:_e,factory:_e.\u0275fac,providedIn:"root"}),He})();var Oe=t(80838),Be=t(66974);let tt=(()=>{var _e;class He{constructor(Re,K,ke,Ue,et,gt,vt,Mt,Rt,Ut,ct,Me,bt){this.lcarsSdk=ke,this.localeService=Ue,this.idmService=et,this.gridService=gt,this.serviceWorkerService=vt,this.distributedTracingUtilService=Mt,this.gfnSdkService=Rt,this.refreshUiService=Ut,this.config=ct,this.guestModeHelperService=Me,this.imageFormatService=bt,this.layoutDataUpdated$=new e.B7,this.userAccountInfoUpdated$=new e.B7,this.gameMetaDataMap=new Map,this.staticAppDataCurrentEtag=null,this.getAppDataQuery=(Tt,kt,At)=>Tt?kt?C.AppDataForCmsId:C.AppDataForCmsIdWithoutVpcId:At?C.AppDataForAppId:C.AppDataForAppIdWithoutMILA,this.logger=Re.getLogger("LcarsService"),this.fetchStaticDataInfoStream=K.createStream(()=>this.fetchStaticAppDataInfo()),this.AppMetadataStreams=new L.V$(Tt=>this.fetchAppdata(Tt)),this.userAccountDataStream=K.createStream(()=>this.fetchUserAccountInfo()),this.fetchClientUpsellMessageStream=K.createStream(()=>this.fetchUpsellMessages()),this.campaignsInfoStream=K.createStream(()=>this.fetchCampaignsInfo()),this.filterGroupSortOrderDefinitionsStream=K.createStream(()=>this.fetchFilterGroupSortOrderDefinitions()),this.overallGfnLanguageListStream=K.createStream(()=>this.fetchOgll()),this.initalize(),this.initServiceWorkerNotifications()}initalize(){this.getVpcIdLocale().subscribe(()=>{},Re=>{this.logger.error("Could not fetch vpcId",Re)}),this.idmService.accountStatusChanged.subscribe(Re=>{!1===this.isUserLoggedIn&&Re.isAuthenticated&&(this.refreshAppMetaData=!0,this.refreshClientStrings=!0),void 0!==this.refreshCampaignsInfo&&(this.refreshCampaignsInfo=!0),void 0!==this.refreshFilterGroupSortOrderDefinitions&&(this.refreshFilterGroupSortOrderDefinitions=!0),this.isUserLoggedIn=Re.isAuthenticated}),this.listenStaticAppDataRefreshEvent()}initServiceWorkerNotifications(){const Re=u.fR.staleWhileRevalidate.lcarsStatic.cacheName,K=u.fR.staleWhileRevalidate.lcars.cacheName,ke=u.fR.staleWhileRevalidate.lcarsUserAccount.cacheName,Ue=u.fR.staleWhileRevalidate.lcarsClientStrings.cacheName,et=u.fR.staleWhileRevalidate.overallGfnSupportedLanguages.cacheName,gt=[K,Re,ke,Ue,et];this.serviceWorkerService.swCacheUpdated.pipe((0,B.p)(vt=>gt.includes(vt.name))).subscribe(vt=>{var Mt,Rt,Ut,ct;switch(vt.name){case Re:this.logger.info("Received updated data SW notification for static app data");const Me=null===(Mt=vt.data)||void 0===Mt?void 0:Mt.data;Me&&this.fetchStaticDataInfoStream.setData(Me,!0);break;case K:this.logger.info("Received updated data SW notification for panels");const bt=null===(Rt=vt.data)||void 0===Rt?void 0:Rt.data;this.logPanelsData(bt.panels),bt&&this.layoutDataUpdated$.next(bt);break;case ke:this.logger.info("Received updated data SW notification for user account data");const Tt=null===(Ut=vt.data)||void 0===Ut?void 0:Ut.data;Tt&&(this.userAccountDataStream.setData(Tt,!1),this.userAccountInfoUpdated$.next(Tt));break;case Ue:this.logger.info("Received updated data SW notification for client string");const kt=this.processUpsellMessageResponse(vt.data);kt&&this.fetchClientUpsellMessageStream.setData(kt,!0);break;case et:this.logger.info("Received updated data SW notification for OGLL");const At=null===(ct=vt.data)||void 0===ct||null===(ct=ct.data)||void 0===ct?void 0:ct.overallGfnSupportedLanguages;At&&this.overallGfnLanguageListStream.setData(At)}})}get onUserAccountInfoUpdated$(){return this.userAccountInfoUpdated$.asObservable()}get onLayoutDataUpdated$(){return this.layoutDataUpdated$.asObservable()}get nvPreviewTime(){return this.lcarsSdk.nvPreviewTime}listenStaticAppDataRefreshEvent(){this.refreshUiService.staticAppDataRefresh$.pipe((0,P.ZZ)(Re=>(this.logger.info("Static app data refresh received"),this.ensureLatestStaticAppData$()))).subscribe()}getLocale(){return this.locale?(0,n.of)(this.locale):this.localeService.localeChanged.pipe((0,k.M)(Re=>{this.locale=Re}))}getVpcIdLocale(){if(this.vpcId&&this.locale)return(0,n.of)([this.vpcId,this.locale]);{const Re=this.gridService.vpcId$.pipe((0,U.F)());return(0,E.zV)([Re,this.getLocale()]).pipe((0,P.ZZ)(([K,ke])=>(this.vpcId=K,(0,n.of)([this.vpcId,ke]))))}}getVpcIdLocaleToken(Re=!1,K){const ke=this.idmService.getAuthToken(Re,K);return(0,E.zV)([ke,this.getVpcIdLocale()]).pipe((0,r.s)(1),(0,A.T)(([Ue,et])=>[Ue||null,...et]))}fetchAppdata(Re,K=!1){const ke=JSON.parse(Re),Ue=this.getAppDataOptions;if(!ke)return(0,O.$)("Error while reading gameId");const et=this.distributedTracingUtilService.startSpan(S.pB.ClientGetAppMetadata,Ue.parentSpan),gt={authToken:null,vpcId:null,locale:null},vt=this.gfnSdkService.getAuthType().pipe((0,A.T)(Rt=>Rt!==x.hT.JWT));return(0,E.zV)([this.getVpcIdLocaleToken(K,et),vt]).pipe((0,k.M)(([[Rt,Ut,ct],Me])=>{gt.authToken=Rt,gt.vpcId=Ut,gt.locale=ct,null!=Ue&&Ue.isCmsId&&Me&&Rt&&Rt.token?Ue.useVpcIdWithCmsId=!0:null!=Ue&&Ue.isCmsId&&(gt.authToken=null)})).pipe((0,P.ZZ)(Rt=>{let Ut;const ct={locale:this.locale};if(Ue.isCmsId){Ut=this.getAppDataQuery(!0,null==Ue?void 0:Ue.useVpcIdWithCmsId);let Me=[];(0,i.isArray)(ke)?Me=null==ke?void 0:ke.map(bt=>parseInt(bt,10)):"string"==typeof ke?Me=[parseInt(ke,10)]:"number"==typeof ke&&(Me=[ke]),ct.cmsIds=Me,null!=Ue&&Ue.useVpcIdWithCmsId&&(ct.vpcId=this.vpcId)}else Ut=this.getAppDataQuery(!1,!0,Ue.includeLibraryFields),ct.appIds=[ke],ct.vpcId=this.vpcId;return this.setSpanTags(et,void 0,this.vpcId,this.locale,this.isUserLoggedIn),(0,E.zV)([this.getStaticAppData().pipe((0,r.s)(1),(0,l.W)(()=>(0,n.of)(null))),this.lcarsSdk.fetchQueryData(Ut,ct,et,gt.authToken),this.getOgll$()]).pipe((0,P.ZZ)(([Me,bt,Tt])=>(Me||this.logger.info("Using default appstore info values for static app data"),0===bt.data.apps.items.length&&this.guestModeHelperService.isGuestMode?(this.logger.info("Appdata is empty for GDN flow, using default metadata"),(0,n.of)(this.guestModeHelperService.fetchDefaultGDNMetaData(ke))):(bt.data.apps.items.forEach(kt=>{M.X9.sortVariants(kt.variants),kt.variants.forEach(At=>{var mn,rn;At.appStoreInfo=M.X9.getStoreInfoForAppstore(At.appStore),null===(mn=At.gfn)||void 0===mn||null===(mn=mn.supportedLanguages)||void 0===mn||mn.forEach(Tn=>{try{const wn=Intl.getCanonicalLocales(Tn.language.replace(/_/g,"-"))[0];Tn.language=wn.replace(/-/g,"_")}catch{}}),(null===(rn=At.gfn)||void 0===rn||null===(rn=rn.supportedLanguages)||void 0===rn?void 0:rn.length)>0&&(null==Tt?void 0:Tt.length)>0&&(At.gfn.supportedLanguages=At.gfn.supportedLanguages.filter(Tn=>Tt.some(wn=>Tn.language===wn.language)))})}),this.refreshAppMetaData=this.refreshAppMetaData?!this.isUserLoggedIn:this.refreshAppMetaData,(0,n.of)(bt.data.apps.items)))),(0,k.M)(()=>this.endSpan(et,!1)),(0,l.W)(Me=>this.idmService.handleAuthError(Me,K,this.fetchAppdata.bind(this),Re)),(0,l.W)(Me=>(this.endSpan(et,!0),Me.status>=300&&this.guestModeHelperService.isGuestMode?(this.logger.info("Appdata fetch fails for GDN, using default metadata"),(0,n.of)(this.guestModeHelperService.fetchDefaultGDNMetaData(ke))):(0,O.$)(Me))))}))}getAppdata(Re,K={},ke=!1){return this.getAppDataOptions=K,this.refreshAppMetaData||ke?this.fetchAppdata(JSON.stringify(Re)).pipe((0,k.M)(Ue=>this.AppMetadataStreams.setData(JSON.stringify(Re),Ue))):this.AppMetadataStreams.get$(JSON.stringify(Re))}getPanelQuery(Re){var K;switch(Re.panelName){case s.HP.Marquee:return C.Marquee;case s.HP.Main:return C.Main;case s.HP.Library:return null!=Re&&null!==(K=Re.fetch)&&void 0!==K&&K.fetchLibraryWithAdditionalInfo?C.LibrarySectionWithTime:C.LibrarySection;case s.HP.Favorites:return C.Favorites}}getPanel(Re,K,ke=!1){const Ue=Re.currentSpan?Re.currentSpan:this.distributedTracingUtilService.startSpan(S.pB.ClientGetPanel,Re.parentSpan);return this.getVpcIdLocaleToken(ke,Ue).pipe((0,P.ZZ)(([et,gt,vt])=>{var Mt;const Rt=K===s.HP.Library?null===(Mt=this.config.lcars)||void 0===Mt?void 0:Mt.panelFetchQueryOverride:void 0,Ut={vpcId:gt,locale:vt,panelName:K,fetch:Rt};this.logger.info(`Fetching fresh panel ${K} for trigger ${null==Re?void 0:Re.triggerName} with ${gt}`),this.setSpanTags(Ue,Re.triggerName,gt,vt,this.isUserLoggedIn),this.distributedTracingUtilService.setSpanAttribute(Ue,S.NS.PanelType,K);const ct=this.getPanelQuery(Ut);return this.lcarsSdk.fetchQueryData(ct,{vpcId:gt,locale:vt,panelNames:[K]},Ue,et,Re.bypassSwCache).pipe((0,P.ZZ)(bt=>{var Tt;return this.logPanelsData(null==bt||null===(Tt=bt.data)||void 0===Tt?void 0:Tt.panels),(0,n.of)(bt.data.panels)}),(0,k.M)(bt=>this.endSpan(Ue,!1)))}),(0,l.W)(et=>this.idmService.handleAuthError(et,ke,this.getPanel.bind(this),Object.assign({},Re,{currentSpan:Ue}))),(0,l.W)(et=>(this.endSpan(Ue,!0),(0,O.$)(et))))}getLoginWallData(){const Re=this.distributedTracingUtilService.startSpan(S.pB.GetLoginWallData);return this.getVpcIdLocale().pipe((0,P.ZZ)(([K,ke,Ue])=>(this.distributedTracingUtilService.setSpanAttribute(Re,S.NS.PanelType,s.HP.LoginWall),this.lcarsSdk.fetchQueryData(C.LoginWallData,{vpcId:K,locale:ke,panelNames:[s.HP.LoginWall],stringsKey:[s.V9]},Re).pipe((0,A.T)(vt=>{var Mt,Rt;return{backgroundData:{data:{imageUrls:(null==vt||null===(Mt=vt.data)||void 0===Mt?void 0:Mt.panels[0]).sections[0].items.map(mn=>this.imageFormatService.formatImageServiceUrl(mn.app.images.TV_BANNER,{w:ce.KP}))}},strings:null==vt||null===(Rt=vt.data)||void 0===Rt?void 0:Rt.clientStrings[s.V9]}}),(0,k.M)(vt=>this.endSpan(Re,!1))))),(0,l.W)(K=>(this.endSpan(Re,!0),(0,O.$)(K))))}logPanelsData(Re){null==Re||Re.forEach(K=>{var ke;this.logger.info(`Found Panel ${null==K?void 0:K.name}`),null==K||null===(ke=K.sections)||void 0===ke||ke.forEach(Ue=>{this.logger.info(`Found section ${null==Ue?void 0:Ue.telemetryName}`),(K.name===s.HP.Library||K.name===s.HP.Favorites)&&(null==Ue||Ue.items.forEach(et=>{var gt;this.logger.info(`Found game ${null==et||null===(gt=et.app)||void 0===gt?void 0:gt.title} in ${null==K?void 0:K.name}`)}))})})}getSearchFilterResults(Re,K,ke,Ue,et,gt,vt=!1){return this.getVpcIdLocaleToken(vt).pipe((0,P.ZZ)(([Mt,Rt,Ut])=>{const ct=(null==K?void 0:K.length)>0,Me={vpcId:Rt,locale:Ut,filters:ke,sortString:Re,fetchCount:et,cursor:Ue||""};ct&&(Me.searchString=K);const bt=this.getSearchRequestType(ct);return this.lcarsSdk.fetchQueryData(bt,Me,gt,Mt,!0)}),(0,l.W)(Mt=>this.idmService.handleAuthError(Mt,vt,this.getSearchFilterResults.bind(this),Re,K,ke,Ue,et,gt)))}getSearchRequestType(Re){return Re?C.AppsWithSearch:C.AppsWithoutSearch}fetchStaticAppDataInfo(){return this.guestModeHelperService.isGuestAppFlow()?(0,n.of)(void 0):this.getLocale().pipe((0,P.ZZ)(Re=>this.lcarsSdk.fetchStaticDataQuery({locale:Re}).pipe((0,A.T)(ke=>(this.staticAppDataCurrentEtag=ke.headers.get(u.tD.ETag),this.refreshUiService.setContentExpiryInfo(p.sD.StaticAppData),ke.body.data)))),(0,l.W)(Re=>(this.logger.error("Error in fetchStaticDataQuery",Re),(0,n.of)(s.JR))))}ensureLatestStaticAppData$(){return this.getLocale().pipe((0,r.s)(1),(0,P.ZZ)(Re=>this.lcarsSdk.fetchStaticDataQuery({locale:Re}).pipe((0,A.T)(ke=>{const Ue=ke.headers.get(u.tD.ETag);var et,gt;return this.refreshUiService.setContentExpiryInfo(p.sD.StaticAppData),!(!Ue||Ue===this.staticAppDataCurrentEtag||(this.logger.info("New StaticAppData recevived and updated"),M.X9.setGenreDefinitions(null===(et=ke.body.data)||void 0===et?void 0:et.genreDefinitions),M.X9.setAppStoresDefinitions(null===(gt=ke.body.data)||void 0===gt?void 0:gt.appStoreDefinitions),this.fetchStaticDataInfoStream.setData(ke.body.data,!0),this.staticAppDataCurrentEtag=ke.headers.get(u.tD.ETag),0))}),(0,l.W)(ke=>(this.logger.error("Error while fetching static app data",ke),(0,n.of)(!1))))))}getStaticAppData(){return this.fetchStaticDataInfoStream.get$().pipe((0,A.T)(Re=>(M.X9.setGenreDefinitions(null==Re?void 0:Re.genreDefinitions),M.X9.setAppStoresDefinitions(null==Re?void 0:Re.appStoreDefinitions),Re)))}setSpanTags(Re,K,ke,Ue,et){const gt={};K&&(gt[S.NS.Trigger]=K),gt[S.NS.VpcId]=ke,gt[S.NS.Locale]=Ue,gt[S.NS.LoginStatus]=et,this.distributedTracingUtilService.setSpanAttributes(Re,gt)}endSpan(Re,K){Re&&(this.distributedTracingUtilService.setSpanAttribute(Re,S.NS.Error,K),this.distributedTracingUtilService.closeSpan(Re))}setMetadataForCmsId(Re,K){this.gameMetaDataMap.set(Re.toString(),K)}getMetadataByCmsId(Re){const K=Re.toString();return this.gameMetaDataMap.has(K)?(0,n.of)(this.gameMetaDataMap.get(K)):this.getAppdata(K,{isCmsId:!0}).pipe((0,A.T)(ke=>ke[0]))}isFeatureSupportedOnVariant(Re,K,ke){var Ue;const et=null==Re||null===(Ue=Re.gfn)||void 0===Ue?void 0:Ue.features;return et&&Array.isArray(et)?et.some(vt=>{var Mt;return vt.key===K&&(ke?null===(Mt=vt.values)||void 0===Mt?void 0:Mt.includes(ke):"true"===vt.value)}):(null==et?void 0:et.key)===K&&(ke?null===(gt=et.values)||void 0===gt?void 0:gt.includes(ke):"true"===et.value);var gt}getLatestUserAccountInfo(){return this.userAccountDataStream.refresh()}fetchUserAccountInfo(Re=!1){const K=this.distributedTracingUtilService.startSpan(S.pB.UserAccountData);return this.idmService.getAuthToken(Re,K).pipe((0,P.ZZ)(ke=>this.lcarsSdk.fetchQueryData(C.UserAccount,void 0,K,ke)),(0,A.T)(ke=>(this.refreshUiService.setContentExpiryInfo(p.sD.UserDatastore),this.endSpan(K,!1),ke.data)),(0,l.W)(ke=>this.idmService.handleAuthError(ke,Re,this.fetchUserAccountInfo.bind(this))),(0,l.W)(ke=>(this.endSpan(K,!0),(0,O.$)(ke))))}getUpsellMessages(){return this.refreshClientStrings?this.fetchUpsellMessages().pipe((0,k.M)(Re=>this.fetchClientUpsellMessageStream.setData(Re,!0))):this.fetchClientUpsellMessageStream.get$()}fetchUpsellMessages(Re=!1){const K=[s.mF],ke=this.distributedTracingUtilService.startSpan(S.pB.UpsellMessages),Ue=this.localeService.localeChanged,et=this.idmService.getAuthToken(Re,ke);return(0,E.zV)([et,Ue]).pipe((0,I.t)(1),(0,P.ZZ)(([gt,vt])=>null===gt.token?(0,n.of)({}):this.lcarsSdk.fetchQueryData(C.UpsellMessages,{locale:vt,upsellMessageKey:K},ke,gt)),(0,A.T)(gt=>(this.endSpan(ke,!1),this.refreshClientStrings=!1,this.processUpsellMessageResponse(gt))),(0,l.W)(gt=>this.idmService.handleAuthError(gt,Re,this.fetchUpsellMessages.bind(this))),(0,l.W)(gt=>(this.endSpan(ke,!0),(0,O.$)(gt))))}processUpsellMessageResponse(Re){var K,ke;const Ue=null!=Re&&null!==(K=Re.data)&&void 0!==K&&K.clientStrings?null==Re||null===(ke=Re.data)||void 0===ke?void 0:ke.clientStrings[s.mF]:{};return this.logger.info("UpsellMessage Response: ",Ue),Ue}fetchCampaignsInfo(Re=!1){if(!this.config.promoUI.isEnabled)return this.logger.info("promo UI feature is disabled"),(0,n.of)(s.Lx);const K=this.distributedTracingUtilService.startSpan(S.pB.CampaignsInfo),ke=this.idmService.getAuthToken(Re,K);return(0,E.zV)([ke,this.getVpcIdLocale()]).pipe((0,r.s)(1),(0,P.ZZ)(([Ue,et])=>this.lcarsSdk.fetchQueryData(C.Campaigns,{locale:et[1],vpcId:et[0]},K,Ue)),(0,A.T)(Ue=>(this.refreshUiService.setContentExpiryInfo(p.sD.CampaignsData),this.endSpan(K,!1),this.refreshCampaignsInfo=!1,Ue.data.campaigns)),(0,l.W)(Ue=>this.idmService.handleAuthError(Ue,Re,this.fetchCampaignsInfo.bind(this))),(0,l.W)(Ue=>(this.logger.error("Error in fetching CampaignsInfo",Ue),this.endSpan(K,!0),(0,O.$)(Ue))))}getCampaignsInfo(){return this.refreshCampaignsInfo?this.fetchCampaignsInfo().pipe((0,k.M)(Re=>this.campaignsInfoStream.setData(Re,!0))):this.campaignsInfoStream.get$()}refreshCampaignsInfoStream(){this.campaignsInfoStream.refresh()}fetchFilterGroupSortOrderDefinitions(Re=!1){const K=this.distributedTracingUtilService.startSpan(S.pB.FilterGroupSortOrderDefinitions),ke=this.idmService.getAuthToken(Re,K);return(0,E.zV)([ke,this.getLocale()]).pipe((0,r.s)(1),(0,P.ZZ)(([Ue,et])=>this.lcarsSdk.fetchQueryData(C.FilterGroupAndSortOrderDefinitions,{locale:et},K,Ue)),(0,A.T)(Ue=>{var et;this.endSpan(K,!1),this.refreshFilterGroupSortOrderDefinitions=!1,this.refreshUiService.setContentExpiryInfo(p.sD.FilterGroupDefinitions);const gt=Ue.data.filterGroupDefinitions;gt.forEach(Mt=>{Mt.filters.forEach(Rt=>{Rt.filterFields=[];for(let Ut=0;Utthis.idmService.handleAuthError(Ue,Re,this.fetchFilterGroupSortOrderDefinitions.bind(this))),(0,l.W)(Ue=>(this.logger.error("Error in fetching fetchFilterGroupSortOrderDefinitions",Ue),this.endSpan(K,!0),(0,n.of)(s.VQ))))}getFilterGroupSortOrderDefinitions(){return this.refreshFilterGroupSortOrderDefinitions=this.refreshFilterGroupSortOrderDefinitions||this.refreshUiService.isContentExpired(p.sD.FilterGroupDefinitions),this.refreshFilterGroupSortOrderDefinitions?this.fetchFilterGroupSortOrderDefinitions().pipe((0,k.M)(Re=>this.filterGroupSortOrderDefinitionsStream.setData(Re,!0))):this.filterGroupSortOrderDefinitionsStream.get$()}refreshFilterGroupSortOrderDefinitionsStream(){this.filterGroupSortOrderDefinitionsStream.refresh()}getLoginwallStrings(){const Re=this.distributedTracingUtilService.startSpan(S.pB.GetLoginWallStringsOnly);return this.getLocale().pipe((0,P.ZZ)(K=>this.lcarsSdk.fetchQueryData(C.LoginWallStringsOnly,{locale:K,stringsKey:[s.V9]})),(0,A.T)(K=>{var ke;return this.endSpan(Re,!1),null==K||null===(ke=K.data)||void 0===ke?void 0:ke.clientStrings[s.V9]}),(0,l.W)(K=>(this.endSpan(Re,!0),(0,O.$)(K))))}addFavoriteApp(Re,K=!1){const ke=this.distributedTracingUtilService.startSpan(S.pB.AddFavoriteApp);return this.getLocale().pipe((0,r.s)(1),(0,P.ZZ)(Ue=>this.lcarsSdk.postQueryData(C.AddFavoriteApp,{appId:Re,locale:Ue},ke,K)),(0,A.T)(Ue=>(this.logger.info("addFavoriteApp response",Ue),this.endSpan(ke,!1),!0)),(0,l.W)(Ue=>(this.logger.error("Error in addFavoriteApp",Ue),this.endSpan(ke,!0),(0,O.$)(Ue))))}removeFavoriteApp(Re,K=!1){const ke=this.distributedTracingUtilService.startSpan(S.pB.RemoveFavoriteApp);return this.getLocale().pipe((0,r.s)(1),(0,P.ZZ)(Ue=>this.lcarsSdk.postQueryData(C.RemoveFavoriteApp,{appId:Re,locale:Ue},ke,K)),(0,A.T)(Ue=>(this.logger.info("RemoveFavoriteApp response",Ue),this.endSpan(ke,!1),!0)),(0,l.W)(Ue=>404===(null==Ue?void 0:Ue.status)?(this.logger.info("Treating 404 for removal of favorite as success"),this.endSpan(ke,!1),(0,n.of)(!0)):(this.logger.error("Error in removeFavoriteApp",Ue),this.endSpan(ke,!0),(0,O.$)(Ue))))}addOwnedVariant(Re,K=!1){const ke=this.distributedTracingUtilService.startSpan(S.pB.AddOwnedVariant);return this.getLocale().pipe((0,r.s)(1),(0,P.ZZ)(Ue=>this.lcarsSdk.postQueryData(C.AddOwnedVariant,{cmsId:Re,locale:Ue},ke,K)),(0,A.T)(Ue=>(this.logger.info("addOwnedVariant response",Ue),this.endSpan(ke,!1),!0)),(0,l.W)(Ue=>(this.logger.error("Error in addOwnedVariant",Ue),this.endSpan(ke,!0),(0,n.of)(!1))))}removeOwnedVariant(Re,K=!1){const ke=this.distributedTracingUtilService.startSpan(S.pB.RemoveOwnedVariant);return this.getLocale().pipe((0,r.s)(1),(0,P.ZZ)(Ue=>this.lcarsSdk.postQueryData(C.RemoveOwnedVariant,{cmsId:Re,locale:Ue},ke,K)),(0,A.T)(Ue=>(this.logger.info("removeOwnedVariant response",Ue),this.endSpan(ke,!1),!0)),(0,l.W)(Ue=>404===(null==Ue?void 0:Ue.status)?(this.logger.info("Treating 404 for mark as unowned as success"),this.endSpan(ke,!1),(0,n.of)(!0)):(this.logger.error("Error in removeOwnedVariantSpan",Ue),this.endSpan(ke,!0),(0,O.$)(Ue))))}selectOwnedVariant(Re,K=!1){const ke=this.distributedTracingUtilService.startSpan(S.pB.SelectOwnedVariant);return this.getLocale().pipe((0,r.s)(1),(0,P.ZZ)(Ue=>this.lcarsSdk.postQueryData(C.SelectOwnedVariant,{cmsId:Re,locale:Ue},ke,K)),(0,A.T)(Ue=>(this.logger.info("selectOwnedVariant response",Ue),this.endSpan(ke,!1),!0)),(0,l.W)(Ue=>(this.logger.error("Error in selectOwnedVariant",Ue),this.endSpan(ke,!0),(0,n.of)(!1))))}fetchOgll(){const Re=this.distributedTracingUtilService.startSpan(S.pB.OverallGfnSupportedLanguages);return this.lcarsSdk.fetchQueryData(C.OverallGfnSupportedLanguages,null,Re).pipe((0,A.T)(K=>{var ke,Ue;return this.endSpan(Re,!1),null!==(ke=null===(Ue=K.data)||void 0===Ue?void 0:Ue.overallGfnSupportedLanguages)&&void 0!==ke?ke:[]}),(0,l.W)(K=>(this.logger.error("Error fetching overall languages data",K),this.endSpan(Re,!0),(0,n.of)([]))))}getOgll$(){return this.overallGfnLanguageListStream.get$()}}return(_e=He).\u0275fac=function(Re){return new(Re||_e)(G.KVO(ue.J6),G.KVO(L.mZ),G.KVO(Pe),G.KVO(ue.iH),G.KVO(ve.k_),G.KVO(Oe.G),G.KVO(u.lS),G.KVO(S.Z1),G.KVO(x.DL),G.KVO(p.F4),G.KVO(we.Vk),G.KVO(Be.x),G.KVO(ue.Pl))},_e.\u0275prov=G.jDH({token:_e,factory:_e.\u0275fac,providedIn:"root"}),He})();var Ee=t(892),ot=t(84422),We=t(14354),Qe=t(43354),Fe=t(37543);let Xe=(()=>{var _e;class He{constructor(Re,K,ke,Ue,et,gt,vt,Mt,Rt){this.lcarsService=K,this.router=ke,this.refreshUiService=Ue,this.routerService=et,this.appConfig=gt,this.lcarsSdkService=vt,this.browseUxService=Mt,this.ngZone=Rt,this.campaignIdToGameListMap=new Map,this.activeCampaigns=[],this.deactiveCampaigns=[],this.refreshCampaignUI=new e.B7,this.refreshCampaignUI$=this.refreshCampaignUI.asObservable(),this.removeGameFromCampaign=new e.B7,this.removeGameFromCampaign$=this.removeGameFromCampaign.asObservable(),this.refetchGameCampaignIds=new e.B7,this.refetchGameCampaignIds$=this.refetchGameCampaignIds.asObservable(),this._allCampaignsInfo=null,this.isStreamingOn=!1,this.logger=Re.getLogger("CampaignHelperService"),this.campaignIdToGameListMap=new Map}initialize(){this.browseUxService.streamingBegin$.subscribe(Re=>{this.logger.info("Received streamingBegin notification"),this.isStreamingOn=!0},Re=>{this.logger.error("Error while receiving streamingBegin:",Re),this.isStreamingOn=!1}),this.browseUxService.streamingTerminated$.subscribe(Re=>{this.logger.info("Received streamingTerminated notification"),this.isStreamingOn=!1},Re=>{this.logger.error("Error while receiving streamingTerminated:",Re),this.isStreamingOn=!1}),this.ngZone.runOutsideAngular(()=>{(0,Ee.Y)(this.appConfig.promoUI.refreshUICheckInterval).pipe((0,k.M)(()=>this.triggerCampaignUIRefresh(s.Jw.TimerRefresh))).subscribe()}),this.refreshUiService.campaignDataRefresh$.subscribe(Re=>{var K;this.appConfig.promoUI.isEnabled?(this.logger.info("Processing CampaignDataRefresh for",Re.source," campaignInfo: ",null===(K=Re.metadata)||void 0===K?void 0:K.campaignInfo),this.onCampaignDataRefresh(Re)):this.logger.info("promo UI feature is disabled")})}onCampaignDataRefresh(Re){var K,ke,Ue,et;if(null!=Re&&null!==(K=Re.metadata)&&void 0!==K&&null!==(K=K.campaignInfo)&&void 0!==K&&K.eventType)switch(null==Re||null===(et=Re.metadata)||void 0===et||null===(et=et.campaignInfo)||void 0===et?void 0:et.eventType){case ot.bj.CAMPAIGN_SCHEDULED:this.fullCampaignUIRefresh();break;case ot.bj.CAMPAIGN_START:(null==Re||null===(ke=Re.metadata)||void 0===ke||null===(ke=ke.campaignInfo)||void 0===ke?void 0:ke.resourceIds.length)>0&&!this.areCampaignIdsPresent(null==Re||null===(Ue=Re.metadata)||void 0===Ue||null===(Ue=Ue.campaignInfo)||void 0===Ue?void 0:Ue.resourceIds)?this.fullCampaignUIRefresh():this.triggerCampaignUIRefresh(s.Jw.CampaignsRefresh);break;case ot.bj.CAMPAIGN_COMPLETE:this.triggerCampaignUIRefresh(s.Jw.CampaignsRefresh);break;case ot.bj.CAMPAIGN_CANCELED:this.lcarsService.refreshCampaignsInfoStream();break;default:this.logger.info("Unknown CampaignInfoEventType")}else Re.source!==p.x4.OnPushNotification&&this.fullCampaignUIRefresh()}fullCampaignUIRefresh(){this.resetCampaignDataFlags(),this.lcarsService.refreshCampaignsInfoStream(),this.refetchGameCampaignIds.next()}resetCampaignDataFlags(){this.activeCampaigns=[],this.deactiveCampaigns=[]}areCampaignIdsPresent(Re){return null==Re?void 0:Re.every(K=>{var ke;return null===(ke=this._allCampaignsInfo)||void 0===ke||null===(ke=ke.items)||void 0===ke?void 0:ke.find(Ue=>(null==Ue?void 0:Ue.id)===K)})}addGameToCampaignId(Re,K){if(this.campaignIdToGameListMap.has(Re))this.campaignIdToGameListMap.get(Re).add(K);else{const ke=new Set;ke.add(K),this.campaignIdToGameListMap.set(Re,ke)}}removeGameFromCampaignId(Re,K){const ke=this.getGameListForCampaignId(Re);null!=ke&&ke.has(K)&&(this.logger.info("Game removed from campaign UI",K,Re),ke.delete(K),this.removeGameFromCampaign.next(K))}getCurrentCampaignIdsForGame(Re){const K=[];return this.campaignIdToGameListMap.forEach((ke,Ue)=>{ke.has(Re)&&K.push(Ue)}),K}updateCampaignIdToGameListMap(Re,K){const ke=this.getCurrentCampaignIdsForGame(K),Ue=null==ke?void 0:ke.filter(et=>!(null!=Re&&Re.some(gt=>gt.substring(0,gt.lastIndexOf("-"))===et.substring(0,et.lastIndexOf("-")))));null==Ue||Ue.forEach(et=>{this.removeGameFromCampaignId(et,K)}),Re.length>0&&Re.forEach(et=>this.addGameToCampaignId(et,K))}getGameListForCampaignId(Re){return this.campaignIdToGameListMap.get(Re)}getChangedCampaigns(){const Re=[],K=[];return this.lcarsService.getCampaignsInfo().pipe((0,r.s)(1),(0,A.T)(ke=>(this.campaignIdToGameListMap.forEach((Ue,et)=>{var gt;this._allCampaignsInfo=ke;const vt=null==ke||null===(gt=ke.items)||void 0===gt?void 0:gt.find(Mt=>(null==Mt?void 0:Mt.id)===et);if(vt){const Mt=this.lcarsSdkService.nvPreviewTime?new Date(this.lcarsSdkService.nvPreviewTime):new Date,Rt=new Date(vt.schedule.startTime),Ut=new Date(vt.schedule.endTime);Rt<=Mt&&Ut>Mt&&!this.activeCampaigns.includes(vt.id)?(this.activeCampaigns.push(vt.id),Re.push(vt)):Ut<=Mt&&!this.deactiveCampaigns.includes(vt.id)&&(this.deactiveCampaigns.push(vt.id),K.push(vt))}}),{activatedCampaigns:Re,deactivatedCampaigns:K})),(0,l.W)(ke=>(this.logger.error("Error in getChangedCampaigns",ke),(0,n.of)({activatedCampaigns:[],deactivatedCampaigns:[]}))))}triggerCampaignUIRefresh(Re){this.isStreamingOn||(Re!==s.Jw.TimerRefresh&&this.resetCampaignDataFlags(),this.refreshCampaignUI.next(Re))}}return(_e=He).\u0275fac=function(Re){return new(Re||_e)(G.KVO(ue.J6),G.KVO(tt),G.KVO(We.Ix),G.KVO(p.F4),G.KVO(Ce.HM),G.KVO(Qe.V),G.KVO(Pe),G.KVO(Fe.Tzh),G.KVO(G.SKi))},_e.\u0275prov=G.jDH({token:_e,factory:_e.\u0275fac,providedIn:"root"}),He})()},70433:(xe,de,t)=>{"use strict";t.d(de,{A:()=>De,X:()=>Gt});var e=t(58527),n=t(80583),E=t(36466),O=t(31315),B=t(43848),P=t(56237),k=t(12532),U=t(8619),r=t(65706),A=t(4208),l=t(75707),I=t(14714),S=t(91384),L=t(43615),s=t(19061),M=t(81834),u=t(31418),x=t(78893),p=t(47766),i=t(37543),o=t(59062),_=t(71780),f=t(61958),J=t(99569),a=t(58202),D=t(61142),te=t(3457),N=t(47973),z=t(44224),R=t(99204),v=t(29370),h=t(54676),W=t(60990),ne=t(40514),ee=t(97888),b=t(31308),w=t(65240),F=t(33328);const Z=["gridContainer"],se=["getInButton"],Y=["leftPanel"],q=["leftPanelContent"],T=["pwaPanelContent"],H=st=>({versionValue:st}),y=st=>({login_hint:st}),X=st=>({SKU:st});function c(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"div",6)(1,"span",7),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"div")(5,"a",8),e.EFF(6),e.nI1(7,"translate"),e.k0s()(),e.j41(8,"div")(9,"button",9),e.bIt("click",function(){e.eBV(Ot);const ft=e.XpG();return e.Njj(ft.onClickRetry())}),e.EFF(10),e.nI1(11,"translate"),e.k0s()()()}if(2&st){const Ot=e.XpG();e.R7$(2),e.JRh(e.bMT(3,5,"common.genericLoadError")),e.R7$(3),e.Y8G("href",Ot.serverStatusUrl,e.B4B)("shortUrl",Ot.serverStatusShortUrl),e.R7$(),e.SpI(" ",e.bMT(7,7,"common.viewServerStatus")," "),e.R7$(4),e.SpI(" ",e.bMT(11,9,"common.retry")," ")}}function g(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"button",38),e.bIt("click",function(ft){e.eBV(Ot);const yt=e.XpG(2);return e.Njj(yt.onSettingsButtonClicked(ft))}),e.nrm(1,"mat-icon",39),e.k0s()}if(2&st){const Ot=e.XpG(2);e.Y8G("disabled",Ot.isSettingButtonDisabled)}}function d(st,Dt){if(1&st&&(e.j41(0,"div",40),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&st){const Ot=e.XpG(2);e.R7$(),e.SpI(" ",e.i5U(2,1,"settings.about.version",e.eq3(4,H,Ot.versionString))," ")}}function C(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"button",38),e.bIt("click",function(ft){e.eBV(Ot);const yt=e.XpG(2);return e.Njj(yt.onSettingsButtonClicked(ft))}),e.nrm(1,"mat-icon",39),e.k0s()}if(2&st){const Ot=e.XpG(2);e.Y8G("disabled",Ot.isSettingButtonDisabled)}}function Q(st,Dt){if(1&st&&(e.j41(0,"div",40),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&st){const Ot=e.XpG(2);e.R7$(),e.SpI(" ",e.i5U(2,1,"settings.about.version",e.eq3(4,H,Ot.versionString))," ")}}function j(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"div",41)(1,"button",42),e.bIt("click",function(ft){e.eBV(Ot);const yt=e.XpG(2);return e.Njj(yt.slideToPwaPanel(ft))}),e.j41(2,"div",43),e.nrm(3,"img",44),e.k0s()(),e.j41(4,"span",45),e.EFF(5),e.nI1(6,"translate"),e.k0s()()}2&st&&(e.R7$(3),e.Y8G("src","assets/img/rt_arrow.svg",e.B4B),e.R7$(2),e.JRh(e.bMT(6,2,"loginWall.pwaTitle")))}function le(st,Dt){if(1&st&&(e.qex(0),e.j41(1,"div",46),e.nrm(2,"div",47),e.EFF(3),e.k0s(),e.bVm()),2&st){const Ot=Dt.$implicit;e.R7$(3),e.SpI(" ",Ot," ")}}function ge(st,Dt){if(1&st&&(e.j41(0,"div",48),e.nrm(1,"span",49),e.nI1(2,"translate"),e.nI1(3,"trustAsHtml"),e.k0s()),2&st){const Ot=e.XpG(2);e.R7$(),e.Y8G("innerHTML",e.bMT(3,4,e.i5U(2,1,"loginWall.continueWith",e.eq3(6,y,Ot.ssoLoginHint))),e.npT)}}function ie(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"button",54,2),e.bIt("click",function(ft){e.eBV(Ot);const yt=e.XpG(3);return e.Njj(yt.handleDefaultCTAClick(ft))}),e.EFF(2),e.nI1(3,"translate"),e.k0s()}2&st&&(e.R7$(2),e.SpI(" ",e.bMT(3,1,"loginWall.getIn")," "))}function ce(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"button",59),e.bIt("click",function(ft){e.eBV(Ot);const yt=e.XpG(4);return e.Njj(yt.cancelDefaultCTA(ft))}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}2&st&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"loginWall.cancelLogin")," "))}function G(st,Dt){if(1&st&&(e.j41(0,"div",55)(1,"div",56),e.nrm(2,"mat-progress-spinner",57),e.k0s(),e.DNE(3,ce,3,3,"button",58),e.k0s()),2&st){const Ot=e.XpG(3);e.R7$(2),e.Y8G("diameter",20),e.R7$(),e.Y8G("ngIf",Ot.showCancelLogin)}}function ue(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"button",60),e.bIt("click",function(){e.eBV(Ot);const ft=e.XpG(3);return e.Njj(ft.openLearnMoreUrl())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}2&st&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"common.learnMore")," "))}function ae(st,Dt){if(1&st&&(e.j41(0,"div",50),e.DNE(1,ie,4,3,"button",51)(2,G,4,2,"div",52)(3,ue,3,3,"button",53),e.k0s()),2&st){const Ot=e.XpG(2);e.R7$(),e.Y8G("ngIf",!Ot.defaultCTAInProgress),e.R7$(),e.Y8G("ngIf",Ot.defaultCTAInProgress),e.R7$(),e.Y8G("ngIf",Ot.canHardUpsell)}}function Ce(st,Dt){if(1&st&&(e.j41(0,"a",65),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&st){const Ot=e.XpG(3);e.Y8G("href",Ot.unsupportedLink.url,e.B4B)("shortUrl",Ot.unsupportedLink.shortUrl),e.R7$(),e.JRh(e.bMT(2,3,Ot.unsupportedLink.text))}}function Se(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"a",66),e.bIt("click",function(){e.eBV(Ot);const ft=e.XpG(3);return e.Njj(ft.unsupportedLink.linkClickedCallback())}),e.EFF(1),e.nI1(2,"translate"),e.k0s()}if(2&st){const Ot=e.XpG(3);e.R7$(),e.JRh(e.bMT(2,1,Ot.unsupportedLink.text))}}function Ne(st,Dt){if(1&st&&(e.j41(0,"div",61),e.nrm(1,"span",62),e.nI1(2,"translate"),e.j41(3,"div"),e.DNE(4,Ce,3,5,"a",63)(5,Se,3,3,"a",64),e.k0s()()),2&st){const Ot=e.XpG(2);e.R7$(),e.Y8G("innerHtml",e.bMT(2,3,Ot.unsupportedScenarioText),e.npT),e.R7$(3),e.Y8G("ngIf",!Ot.unsupportedLink.linkClickedCallback),e.R7$(),e.Y8G("ngIf",Ot.unsupportedLink.linkClickedCallback)}}function we(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"div")(1,"a",67),e.bIt("click",function(){e.eBV(Ot);const ft=e.XpG(2);return e.Njj(ft.onClickedOverrideToolPath())}),e.EFF(2,"Override Tool "),e.k0s()()}}function ve(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"div")(1,"a",68),e.bIt("click",function(ft){e.eBV(Ot);const yt=e.XpG(2);return e.Njj(yt.handleSwitchAccountClick(ft))}),e.EFF(2),e.nI1(3,"translate"),e.k0s()()}if(2&st){const Ot=e.XpG(2);e.AVh("switch-account-hide",Ot.defaultCTAInProgress),e.R7$(2),e.SpI(" ",e.bMT(3,3,"common.switchAccount")," ")}}function Pe(st,Dt){if(1&st&&(e.j41(0,"div",69)(1,"div",70,3)(3,"div",71),e.EFF(4),e.nI1(5,"translate"),e.k0s(),e.j41(6,"div",72)(7,"div",73),e.nrm(8,"mat-icon",74),e.k0s(),e.j41(9,"div")(10,"span",75),e.EFF(11),e.nI1(12,"translate"),e.k0s(),e.j41(13,"span",40),e.EFF(14),e.nI1(15,"translate"),e.k0s()()(),e.nrm(16,"mat-divider",76),e.j41(17,"div",72)(18,"div",73),e.nrm(19,"mat-icon",77),e.k0s(),e.j41(20,"div")(21,"span",75),e.EFF(22),e.nI1(23,"translate"),e.k0s(),e.nrm(24,"span",62),e.nI1(25,"translate"),e.k0s()(),e.nrm(26,"mat-divider",76),e.j41(27,"div",72)(28,"div",73),e.nrm(29,"mat-icon",78),e.k0s(),e.j41(30,"div")(31,"span",75),e.EFF(32),e.nI1(33,"translate"),e.k0s(),e.j41(34,"span",40),e.EFF(35),e.nI1(36,"translate"),e.k0s()()(),e.nrm(37,"mat-divider",76),e.j41(38,"div",79),e.nrm(39,"div",80),e.nI1(40,"translate"),e.nI1(41,"trustAsHtml"),e.k0s()()()),2&st){const Ot=e.XpG(2);e.R7$(4),e.JRh(e.bMT(5,8,"loginWall.pwaTitle")),e.R7$(7),e.SpI("",e.bMT(12,10,"iosPWA.instruction.step1"),"\xa0"),e.R7$(3),e.JRh(e.bMT(15,12,"loginWall.step1Text")),e.R7$(8),e.SpI("",e.bMT(23,14,"iosPWA.instruction.step2"),"\xa0"),e.R7$(2),e.Y8G("innerHtml",e.bMT(25,16,"loginWall.step2Text"),e.npT),e.R7$(8),e.SpI("",e.bMT(33,18,"iosPWA.instruction.step3"),"\xa0"),e.R7$(3),e.JRh(e.bMT(36,20,"iosPWA.instruction.step3Text")),e.R7$(4),e.Y8G("innerHTML",e.bMT(41,25,e.i5U(40,22,"iosPWA.information",Ot.pwaFAQUrlArgs)),e.npT)}}function Oe(st,Dt){if(1&st&&(e.qex(0),e.nrm(1,"img",84),e.bVm()),2&st){const Ot=Dt.$implicit;e.R7$(),e.AVh("loaded",Ot.loaded),e.FS9("src",Ot.imageUrl,e.B4B)}}function Be(st,Dt){if(1&st&&(e.qex(0),e.j41(1,"div",83),e.DNE(2,Oe,2,3,"ng-container",26),e.k0s(),e.bVm()),2&st){const Ot=Dt.$implicit;e.R7$(2),e.Y8G("ngForOf",Ot)}}function tt(st,Dt){if(1&st&&(e.j41(0,"div",81)(1,"div",82),e.DNE(2,Be,3,1,"ng-container",26),e.k0s()()),2&st){const Ot=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",Ot.imageGrid)}}function Ee(st,Dt){if(1&st&&e.nrm(0,"img",96),2&st){const Ot=e.XpG(3);e.FS9("src",Ot.gameData.logoImageUrl,e.B4B)}}function ot(st,Dt){if(1&st&&(e.j41(0,"div",97),e.EFF(1),e.k0s()),2&st){const Ot=e.XpG(3);e.R7$(),e.JRh(Ot.gameData.gameTitle)}}function We(st,Dt){if(1&st&&(e.j41(0,"div",98),e.nrm(1,"mat-icon",99),e.j41(2,"span",100),e.EFF(3),e.nI1(4,"translate"),e.k0s()()),2&st){const Ot=e.XpG(3);e.R7$(3),e.JRh(e.i5U(4,1,"ecommerce.forSKUMembers",e.eq3(4,X,Ot.gameData.minimumMembershipTier)))}}function Qe(st,Dt){if(1&st&&e.nrm(0,"img",103),2&st){const Ot=e.XpG().$implicit;e.FS9("src",Ot.logo,e.B4B)}}function Fe(st,Dt){if(1&st&&(e.j41(0,"div",104),e.EFF(1),e.k0s()),2&st){const Ot=e.XpG().$implicit;e.R7$(),e.SpI(" ",Ot.label," ")}}function Xe(st,Dt){if(1&st&&(e.qex(0),e.DNE(1,Qe,1,1,"img",101)(2,Fe,2,1,"div",102),e.bVm()),2&st){const Ot=Dt.$implicit;e.R7$(),e.Y8G("ngIf",Ot.logo),e.R7$(),e.Y8G("ngIf",!Ot.logo)}}function _e(st,Dt){if(1&st&&(e.j41(0,"div",85)(1,"div",86),e.nrm(2,"img",87)(3,"div",88),e.j41(4,"div",89),e.DNE(5,Ee,1,1,"img",90)(6,ot,2,1,"div",91)(7,We,5,6,"div",92),e.j41(8,"span",93),e.EFF(9),e.nI1(10,"translate"),e.k0s(),e.j41(11,"div",94)(12,"div",95),e.DNE(13,Xe,3,2,"ng-container",26),e.k0s()()()()()),2&st){const Ot=e.XpG(2);e.xc7("--scrim-color",Ot.scrimColor),e.R7$(),e.AVh("game-data-loaded",Ot.gameDataLoaded),e.R7$(),e.FS9("src",Ot.backgroundImageUrl,e.B4B),e.R7$(2),e.AVh("dark-background",Ot.useDarkTheme),e.R7$(),e.Y8G("ngIf",Ot.gameData.logoImageUrl),e.R7$(),e.Y8G("ngIf",!Ot.gameData.logoImageUrl),e.R7$(),e.Y8G("ngIf",Ot.gameData.minimumMembershipTier),e.R7$(2),e.JRh(e.bMT(10,12,"loginWall.availabeOn")),e.R7$(4),e.Y8G("ngForOf",Ot.gameData.appStoresInfo)}}function He(st,Dt){if(1&st){const Ot=e.RV6();e.j41(0,"div",10)(1,"div",11)(2,"div",12),e.nrm(3,"mat-icon",13),e.k0s(),e.j41(4,"div",14),e.DNE(5,g,2,1,"button",15)(6,d,3,6,"div",16),e.k0s()(),e.j41(7,"div",17),e.bIt("transitionend",function(){e.eBV(Ot);const ft=e.XpG();return e.Njj(ft.leftPanelContainerTransitioned())}),e.nrm(8,"div",18),e.j41(9,"div",12),e.nrm(10,"mat-icon",13),e.k0s(),e.j41(11,"div",14),e.DNE(12,C,2,1,"button",15)(13,Q,3,6,"div",16),e.k0s(),e.DNE(14,j,7,4,"div",19),e.j41(15,"div",20,0),e.bIt("scroll",function(){e.eBV(Ot);const ft=e.XpG();return e.Njj(ft.checkPanelContentInView())}),e.j41(17,"div",21)(18,"div",22,1)(20,"div",23)(21,"div",24),e.EFF(22),e.k0s(),e.j41(23,"div",25),e.DNE(24,le,4,1,"ng-container",26),e.k0s()(),e.DNE(25,ge,4,8,"div",27)(26,ae,4,3,"div",28)(27,Ne,6,5,"div",29)(28,we,3,0,"div",30),e.j41(29,"div",31),e.DNE(30,ve,4,5,"div",32),e.k0s()()(),e.DNE(31,Pe,42,27,"div",33),e.k0s()(),e.nrm(32,"div",34),e.j41(33,"div",35),e.DNE(34,tt,3,1,"div",36)(35,_e,14,14,"div",37),e.k0s()()}if(2&st){const Ot=e.XpG();e.R7$(5),e.Y8G("ngIf",Ot.showSettingsButton),e.R7$(),e.Y8G("ngIf",Ot.showVersionNumber),e.R7$(),e.AVh("data-loaded",Ot.dataLoaded)("pwa-guidance-shown",Ot.isPwaGuidanceEnabled)("left-panel-content-active",Ot.isLeftPanelContentInView)("pwa-panel-content-active",Ot.isPwaPanelContentInView)("scrolling-view",!Ot.isPwaPanelContentInView&&!Ot.isLeftPanelContentInView),e.R7$(5),e.Y8G("ngIf",Ot.showSettingsButton),e.R7$(),e.Y8G("ngIf",Ot.showVersionNumber),e.R7$(),e.Y8G("ngIf",Ot.isPwaGuidanceEnabled),e.R7$(8),e.JRh(Ot.title),e.R7$(2),e.Y8G("ngForOf",Ot.contentStrings),e.R7$(),e.Y8G("ngIf",Ot.ssoLoginHint),e.R7$(),e.Y8G("ngIf",Ot.isGetInButtonEnabled),e.R7$(),e.Y8G("ngIf",Ot.isUnsupportedScenario),e.R7$(),e.Y8G("ngIf",Ot.enableOverrideToolLink),e.R7$(2),e.Y8G("ngIf",Ot.ssoLoginHint),e.R7$(),e.Y8G("ngIf",Ot.isPwaGuidanceEnabled),e.R7$(2),e.AVh("left-panel-container-transitioned",Ot.isLeftPanelContainerTransitioned),e.Y8G("ngSwitch",Ot.backgroundContentType),e.R7$(),e.Y8G("ngSwitchCase",Ot.backgroundContentTypes.Catalog),e.R7$(),e.Y8G("ngSwitchCase",Ot.backgroundContentTypes.Game)}}let De=(()=>{var st;class Dt{get defaultCTAInProgress(){return this._defaultCTAInProgress}set defaultCTAInProgress(at){this._defaultCTAInProgress=at,at||this.loginWallService.isOffDeviceDialogClosed().pipe((0,U.p)(ft=>ft),(0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(ft=>{setTimeout(()=>{var yt;this.focusManager.focusViaLastOrigin(null===(yt=this.getInButton)||void 0===yt?void 0:yt.nativeElement)},0)}),at?this.updateCancelButton(!0,this.cancelButtonPreLoginDelay):this.updateCancelButton(!1)}updateCancelButton(at,ft=0){clearTimeout(this.cancelButtonEnableTimer),at?ft?this.cancelButtonEnableTimer=setTimeout(()=>{this._showCancelLogin=!0},ft):this._showCancelLogin=!0:this._showCancelLogin=!1}get isPwaGuidanceEnabled(){return this._isPwaGuidanceEnabled}set isPwaGuidanceEnabled(at){this._isPwaGuidanceEnabled=at}get showSettingsButton(){return!this.isPwaGuidanceEnabled&&this._showSettingsButton}set showSettingsButton(at){this._showSettingsButton=at}get isSettingButtonDisabled(){return this.defaultCTAInProgress}get isUnsupportedScenario(){return!this.isPwaGuidanceEnabled&&this._isUnsupportedScenario}set isUnsupportedScenario(at){this._isUnsupportedScenario=at}get showVersionNumber(){return this.isPwaGuidanceEnabled||!this.showSettingsButton}get isGetInButtonEnabled(){return!this.isPwaGuidanceEnabled}get showCancelLogin(){return!this._isSameTabLoginEnabled&&this._showCancelLogin}constructor(at,ft,yt,sn,on,un,$e,It,kn,Yn,Zn,ei,Hn){var Mn;this.routerService=at,this.loggingService=ft,this.userActivationGuardService=yt,this.loginWallService=sn,this.imageMetadataFetcher=on,this.dialogService=un,this.appLaunchPerformanceService=$e,this.spatialNavigationService=It,this.focusManager=kn,this.appConfig=Yn,this.browseUxService=Zn,this.offDeviceLinkService=ei,this.destroy$=new n.B7,this.backgroundImageUrl="",this.scrimColor="0, 0, 0",this.useDarkTheme=!1,this.imageGrid=[],this.gameData={gameTitle:"",backgroundImageUrl:"",logoImageUrl:"",appStoresInfo:[],minimumMembershipTier:null},this.backgroundContentType=u.CZ.Unknown,this.urlsAvailable=!1,this.backgroundContentTypes=u.CZ,this.dataLoaded=!1,this.gameDataLoaded=!1,this.ssoLoginHint=null,this.isLeftPanelContentInView=!0,this.isPwaPanelContentInView=!1,this.isLeftPanelContainerTransitioned=!1,this.leftPanelContainerTransitionDelay=2e3,this.enableOverrideToolLink=!1,this._isSameTabLoginEnabled=!1,this._isPwaGuidanceEnabled=!1,this._showSettingsButton=!1,this._isUnsupportedScenario=!1,this._showCancelLogin=!1,this.showError=!1,this.canHardUpsell=!0,this.logger=this.loggingService.getLogger("LoginWallPageComponent"),this.appLaunchPerformanceService.onLoginWallRenderStart();const Qn=null===(Mn=this.routerService.getRouterNavigation().extras)||void 0===Mn?void 0:Mn.state;this.initialURL=null==Qn?void 0:Qn.initialURL,this.initialQueryParams=null==Qn?void 0:Qn.queryParamMap,this.loginWallService.updateReturnLocationURL(this.initialURL),this.loginWallService.initiateContentFetch(this.initialQueryParams),this.cancelButtonPreLoginDelay=this.appConfig.loginWallConfig.cancelButtonPreLoginDelay,this.cancelButtonPostLoginDelay=this.appConfig.loginWallConfig.cancelButtonPostLoginDelay,this.enableOverrideToolLink=this.browseUxService.enableOverrideToolLink,this.canHardUpsell=Hn.canHardUpsell()}ngOnInit(){this.loginWallService.initializeNavigationSubscription(),this.getBackgroundInfo(),this.renderStrings(),this.getClientVersionString(),this.getLearnMoreUrl(),this.renderBackgroundContent(),this.manageProviderPicker(),this.onSettingsButtonClicked=this.userActivationGuardService.guard(s.HK.Link,this.onSettingsButtonClicked.bind(this)),this.handleDefaultCTAClick=this.userActivationGuardService.guard(s.HK.Link,this.handleDefaultCTAClick.bind(this)),this.handleSwitchAccountClick=this.userActivationGuardService.guard(s.HK.Link,this.handleSwitchAccountClick.bind(this)),this.getUnsupportedScenarioInfo(),this.getPWAInfo(),this.getServerErrorURLs(),this.checkForSameTabLogin()}ngAfterViewInit(){this.handleDefaultFocus()}handleDefaultFocus(){this.loginWallService.enableFocusOnDefaultCTA().pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(at=>{var ft;this.previousSpatialNavigationActivation=this.spatialNavigationService.activated,this.spatialNavigationService.enabled&&!this.previousSpatialNavigationActivation&&(this.spatialNavigationService.activated=!0),this.focusManager.focusViaLastOrigin(null===(ft=this.getInButton)||void 0===ft?void 0:ft.nativeElement)})}checkForSameTabLogin(){this.loginWallService.isSameTabLoginEnabled().pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(at=>{this._isSameTabLoginEnabled=at},at=>{this._isSameTabLoginEnabled=!1})}getServerErrorURLs(){this.loginWallService.getServerErrorURLs().pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(([at,ft])=>{this.serverStatusShortUrl=ft,this.serverStatusUrl=at},E.l)}getUnsupportedScenarioInfo(){this.loginWallService.getUnsupportedScenarioInfo().pipe((0,A.Q)(this.destroy$)).subscribe(at=>{this.unsupportedScenarioText=at.text,this.unsupportedLink=at.link,this.isUnsupportedScenario=!!this.unsupportedScenarioText})}getLearnMoreUrl(){this.loginWallService.getLearnMoreUrl().pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(at=>{this.learnMoreUrl=at.redirectURL,this.learnMoreShortUrl=at.shortURL})}getClientVersionString(){this.loginWallService.getClientVersionString().pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(at=>{this.versionString=at})}getPWAInfo(){this.loginWallService.getPWAInfo().pipe((0,A.Q)(this.destroy$)).subscribe(at=>{this.isPwaGuidanceEnabled=null==at?void 0:at.shouldShowPWAGuidance,this.pwaFAQUrlArgs={faqLink:`class="font-body2-link" href="${null==at?void 0:at.faqUrl}"`}})}getBackgroundInfo(){this.loginWallService.getBackgroundInfo(this.initialQueryParams).pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(at=>{this.backgroundFallbackImages=at.fallbackImageUrls,this.backgroundContentType=at.contentType},E.l)}onSettingsButtonClicked(at){(0,O.zV)([this.loginWallService.getClientVersionString(),this.loginWallService.getDefaultLoginProviderInfo()]).pipe((0,r.s)(1),(0,A.Q)(this.destroy$),(0,l.ZZ)(([ft,yt])=>this.dialogService.showProviderSwitchDialog(ft,`${yt.defaultProvider} (${yt.countryCode})`))).subscribe(ft=>{ft&&this.attemptLogin(!0)})}leftPanelContainerTransitioned(){this.isLeftPanelContainerTransitioned=!0}checkPanelContentInView(){this.isPwaGuidanceEnabled&&(this.isPwaPanelContentInView=this.isPanelInView(this.pwaPanelContent),this.isLeftPanelContentInView=this.isPanelInView(this.leftPanelContent),void 0===this.isPwaPanelContentInView&&(this.isPwaPanelContentInView=!1,this.isLeftPanelContentInView=!0))}isPanelInView(at){var ft,yt;if(null==at||!at.nativeElement)return;const sn=null===(ft=at.nativeElement)||void 0===ft?void 0:ft.getBoundingClientRect(),un=(null==sn?void 0:sn.bottom)<=(null===(yt=window)||void 0===yt?void 0:yt.innerHeight);return(null==sn?void 0:sn.top)>=0&&un}renderStrings(){const at=this.loginWallService.getLoginWallStrings().pipe((0,I.W)(yt=>(this.logger.error("Error fetching loginWall strings - ",yt),(0,B.of)(null)))),ft=(0,P.T)(()=>{var yt;return null===(yt=this.appConfig)||void 0===yt||null===(yt=yt.featureEnablement)||void 0===yt||null===(yt=yt.logininfo)||void 0===yt?void 0:yt.enabled},this.loginWallService.ssoLoginHint().pipe((0,I.W)(yt=>(this.logger.error("Error fetching sso login hint - ",yt),(0,B.of)(null)))),(0,B.of)(null));(0,O.zV)([at,ft]).pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe({next:([yt,sn])=>{this.handleLoginWallStringsRendering(yt),this.ssoLoginHint=sn},error:yt=>{this.logger.error("Error loading render strings.",yt)},complete:()=>{this.dataLoaded=!0}})}handleLoginWallStringsRendering(at){let ft;this.title=at.title,ft=this.backgroundContentType===u.CZ.Game?u.$l:u.cl,this.contentStrings=Object.keys(at).filter(yt=>yt.startsWith(ft)).map(yt=>at[yt]),setTimeout(()=>{this.isLeftPanelContainerTransitioned||this.leftPanelContainerTransitioned()},this.leftPanelContainerTransitionDelay)}onClickRetry(){this.showError=!1,this.loginWallService.fetchProviderInfo(),this.loginWallService.initiateContentFetch(this.initialQueryParams)}renderBackgroundContent(){this.backgroundContentType===u.CZ.Catalog&&this.createGrid(),this.loginWallService.getLoginWallBackgroundContent().pipe((0,A.Q)(this.destroy$)).subscribe(at=>{if(null!=at&&at.data)switch(this.backgroundContentType){case u.CZ.Catalog:this.catalogData={...at.data},this.reorderImageList(),this.updateGrid();break;case u.CZ.Game:this.gameData={...at.data},this.setGameBackgroundContent()}else this.showError=!0})}setGameBackgroundContent(){var at;const ft=this.gameData.backgroundImageUrl;this.logger.info("loading image:"+ft);let yt,sn=null;null===(at=this.imageFetchSubsciption)||void 0===at||at.unsubscribe(),this.imageFetchSubsciption=this.imageMetadataFetcher.fetchImage(ft).pipe((0,S.M)(on=>{var un;if(this.logger.info("loaded meta and image:"+JSON.stringify(on)),sn=on.imageUrl,null!==(un=on.metadata)&&void 0!==un&&un.colors){const $e=on.metadata.colors,It=$e.bottom||$e.left;It&&(yt=(0,M.iN)(It))}}),(0,I.W)(on=>(this.logger.error("Failed to fetch image:",on),k.w)),(0,L.j)(()=>{this.backgroundImageUrl=sn,yt=yt||{r:0,g:0,b:0},this.useDarkTheme="black"===(0,M.VP)(yt),this.scrimColor=`${yt.r}, ${yt.g}, ${yt.b}`,this.gameDataLoaded=!0,this.appLaunchPerformanceService.onLoginWallRenderEnd()})).subscribe()}manageProviderPicker(){this.loginWallService.getDefaultLoginProviderInfo().pipe((0,A.Q)(this.destroy$)).subscribe(at=>{this.showSettingsButton=at.allowProviderSwitch},at=>{this.logger.error("Error showing switch provider picker.",at)})}handleLoginFailure(at,ft){this.dialogService.showLoginFailedDialog(ft).pipe((0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(yt=>{yt&&this.attemptLogin(at)})}handleDefaultCTAClick(at){this.attemptLogin(!1)}handleSwitchAccountClick(at){this.attemptLogin(!0)}attemptLogin(at){this.defaultCTAInProgress=!0,this.loginWallService.getLoginStatus$().pipe((0,S.M)(ft=>{ft.state===u.fG.RedirectCompleted&&(this.updateCancelButton(!1),this.updateCancelButton(!0,this.cancelButtonPostLoginDelay))}),(0,U.p)(ft=>ft.loginProcessComplete),(0,r.s)(1),(0,A.Q)(this.destroy$)).subscribe(ft=>{this.defaultCTAInProgress=!1,ft.state===u.fG.Failure&&setTimeout(()=>{this.handleLoginFailure(at,ft.retryAvailable)},0)}),this.loginWallService.attemptLogin(at)}cancelDefaultCTA(at){this.loginWallService.cancelLogin()}openLearnMoreUrl(){this.offDeviceLinkService.open(this.learnMoreUrl,this.learnMoreShortUrl?{shortUrl:this.learnMoreShortUrl}:void 0)}slideToPwaPanel(at){const ft=this.leftPanel.nativeElement;ft.scrollTo({top:ft.clientHeight,behavior:"smooth"})}createGrid(){for(let at=0;at{const sn=u.xe.indexOf(yt+1);-1!==sn&&(at[sn]=ft)}),this.catalogData.imageUrls=at}updateGrid(){for(let at=0;at{var st;class Dt{constructor(at,ft,yt,sn,on,un,$e,It,kn,Yn,Zn,ei,Hn,Mn,Qn,ti,wi,oi,Wn,rt,Kt){var $t;this.idmService=ft,this.idmLoginService=yt,this.routerService=sn,this.nesUserInfoService=on,this.lcarsService=un,this.deeplinkHelperService=$e,this.imageFormatService=It,this.redirectService=kn,this.browseUxService=Yn,this.appConfig=Zn,this.genericDialog=ei,this.unsupportedBrowserService=Hn,this.settingsService=Mn,this.localeService=Qn,this.appLaunchPerformanceService=ti,this.translateService=wi,this.idmTelemetryService=oi,this.loginHintService=Wn,this.snackbar=rt,this.oobeService=Kt,this.backToCloseResult=ct.ie.Cancel,this.handleRoute=(oe,pe)=>{this.appLaunchPerformanceService.onLoginWallCheckStart();const Ge=pe.url,Ze=null==Ge?void 0:Ge.includes(x.f.LoginWall),lt=null==Ge?void 0:Ge.includes(x.f.Deeplink),pt=oe.queryParamMap;return lt&&this.deeplinkHelperService.setDeeplinkZoneOverride(pt,pe.url),(0,x.ED)()?(this.appLaunchPerformanceService.onLoginWallCheckEnd(),(0,B.of)(!0)):this.isLoginWallEnabled().pipe((0,l.ZZ)(Ct=>Ct?this.getURLAfterLoginCheck(Ze):(0,B.of)(Ze?x.f.Home:void 0)),(0,l.ZZ)(Ct=>lt?this.getURLAfterDeeplinkCheck(pt,Ct):(0,B.of)(Ct)),(0,l.ZZ)(Ct=>{if(Ct){this.appLaunchPerformanceService.onLoginWallCheckEnd();const Xt=new Map;return pt.keys.forEach(Ht=>{Xt.set(Ht,pt.get(Ht))}),this.routerService.navigateByUrl(Ct,{state:{initialURL:Ge,queryParamMap:Xt}})}return Ze||(this.loginWallFlowComplete$.next(!0),this.browseUxService.allowEarlyLayoutFetch()),this.appLaunchPerformanceService.onLoginWallCheckEnd(),(0,B.of)(!0)}))},this.logger=at.getLogger("LoginWallService"),this.loginProviderInfo$=new Ue.m(1),this.unsupportedScenarioInfo$=new Ue.m(1),this.loginWallBackgroundData$=new Ue.m(1),this.loginWallStrings$=new Ue.m(1),this.clientVersionString$=new Ue.m(1),this.pwaInfo$=new Ue.m(1),this.loginStatus$=new n.B7,this.loginWallFlowComplete$=new Ue.m(1),this.needsWindowWorkaround=!(null==Zn||null===($t=Zn.featureEnablement)||void 0===$t||!$t.loginPopupBlockerWorkaround),this.enableFocusOnDefaultCTA$=new Ue.m(1),this.offDeviceDialogClosedStateSubject=new et.t(!0)}initializeNavigateOnLogoutSubscription(){this.idmService.accountStatusChanged.pipe((0,Re.i)(1),(0,U.p)(at=>!at.isAuthenticated)).subscribe(at=>this.routerService.navigateByUrl(x.f.LoginWall))}getSpecificProviderInfo(at){return this.nesUserInfoService.providerInfo$.pipe((0,r.s)(1),(0,K.T)(ft=>{var yt;const sn=null==ft||null===(yt=ft.gfnServiceEndpoints)||void 0===yt?void 0:yt.find(un=>un.loginProvider===at);return{allowProviderSwitch:!0,idpId:null==sn?void 0:sn.idpId,defaultProvider:null==sn?void 0:sn.loginProviderDisplayName,countryCode:null==ft?void 0:ft.clientCountryCode}}))}getSsoLoginInfo(){var at;return null!==(at=this.appConfig)&&void 0!==at&&null!==(at=at.featureEnablement)&&void 0!==at&&null!==(at=at.logininfo)&&void 0!==at&&at.enabled?this.loginHintService.getSsoLoginInfo():(0,B.of)(null)}ssoLoginHint(){return(0,O.zV)([this.getSsoLoginInfo(),this.loginProviderInfo$]).pipe((0,K.T)(([at,ft])=>{var yt;return this.idmService.gfnStoredLoginInfoApplicableForSso(null==ft?void 0:ft.idpId,null===(yt=this.appConfig)||void 0===yt||null===(yt=yt.starfleet)||void 0===yt?void 0:yt.jarvisIdpId,at)?null==at?void 0:at.login_hint:null}),(0,I.W)(at=>(this.logger.error("Error fetching loginInfo along with providerInfo",at),(0,gt.$)(at))))}fetchProviderInfo(){this.nesUserInfoService.loginPreferredProviders$.pipe((0,l.ZZ)(at=>1!==(null==at?void 0:at.length)?(0,B.of)({allowProviderSwitch:!1}):this.getSpecificProviderInfo(at[0]))).subscribe(at=>{this.loginProviderInfo$.next(at)},at=>{this.logger.error("Error showing switch provider picker.",at),this.loginProviderInfo$.next({allowProviderSwitch:!1})})}isLoginWallEnabled(){return(0,B.of)(this.appConfig.featureEnablement.showLoginWall)}showGameNotFoundToastMessage(){this.idmService.accountStatusChanged.pipe((0,r.s)(1),(0,l.ZZ)(at=>at.isAuthenticated?(0,B.of)(null):this.translateService.get("loginWall.gameNotAvailable"))).subscribe(at=>{if(at)return this.snackbar.open(at,"",{duration:u.VT,horizontalPosition:"left",panelClass:["nv-hig"]})},E.l)}getURLAfterDeeplinkCheck(at,ft){return this.deeplinkHelperService.performHandlingCheck(at).pipe((0,l.ZZ)(yt=>{if(!yt.canHandle)return this.logger.info("Cannot handle deeplink"),(0,B.of)(null);const sn=at.has(Mt.aj.CmsId);return this.lcarsService.getAppdata(at.get(sn?Mt.aj.CmsId:Mt.aj.GameId),{isCmsId:sn})}),(0,K.T)(yt=>yt&&yt[0]?ft:(this.showGameNotFoundToastMessage(),x.f.Home)),(0,I.W)(yt=>(this.logger.error("Error while fetching game metadata: ",yt),(0,B.of)(x.f.Home))))}getURLAfterLoginCheck(at){return this.idmService.accountStatusChanged.pipe((0,r.s)(1),(0,K.T)(ft=>ft.isAuthenticated?at?x.f.Home:void 0:at?void 0:x.f.LoginWall))}getBackgroundContentParameters(at){var ft;if(null===(ft=this.returnLocationURL)||void 0===ft?void 0:ft.includes(x.f.Deeplink)){const sn=at.has(Mt.aj.CmsId);return{contentType:u.CZ.Game,isCmsId:sn,contentId:at.get(sn?Mt.aj.CmsId:Mt.aj.GameId)}}return{contentType:u.CZ.Catalog}}fetchUnsupportedScenarioInfo(){this.unsupportedBrowserService.getUnsupportedBrowserState$().pipe((0,l.ZZ)(at=>(this.logger.info("Browser Compatibility State at login wall: ",at),(0,O.zV)([this.unsupportedBrowserService.getDialogLink$(at),this.unsupportedBrowserService.getUnsupportedHeaderText$(at)])))).subscribe(([at,ft])=>{this.unsupportedScenarioInfo$.next({text:ft,link:at})})}fetchClientVersion(){this.browseUxService.getVersionString().pipe((0,r.s)(1)).subscribe(at=>{this.clientVersionString$.next(at)})}checkForOOBEClosed(){this.oobeService.oobeDialogClosedState.pipe((0,U.p)(at=>at)).subscribe(at=>this.enableFocusOnDefaultCTA$.next())}enableFocusOnDefaultCTA(){return this.enableFocusOnDefaultCTA$.asObservable()}fetchPWAInfo(){const at=this.localeService.localeChanged.pipe((0,K.T)(ft=>this.settingsService.getLinksUrl(bt.ni.GFN_PC_FAQ_IOS,ft)));(0,O.zV)([this.unsupportedBrowserService.shouldDisplayPWAGuidance$(),at]).subscribe(([ft,yt])=>{this.pwaInfo$.next({shouldShowPWAGuidance:ft,faqUrl:yt})})}isSameTabLoginEnabled(){return(0,B.of)(this.appConfig.starfleet.sameTabLogin)}getUnsupportedScenarioInfo(){return this.unsupportedScenarioInfo$.asObservable()}getServerErrorURLs(){return this.redirectService.getRedirectUrl(Ut.r7.GfnServerStatus).pipe((0,K.T)(at=>[at,Ut.lp[Ut.r7.GfnServerStatus]]))}onLoginWallFlowCompleted$(){return this.isLoginWallEnabled().pipe((0,l.ZZ)(at=>at?this.loginWallFlowComplete$.asObservable():(0,B.of)(!0)),(0,ke.F)())}getPWAInfo(){return this.pwaInfo$.asObservable()}initiateContentFetch(at){this.appLaunchPerformanceService.onLoginWallDataFetchStart();const ft=this.getBackgroundContentParameters(at);if(ft.contentType===u.CZ.Game){const yt=this.lcarsService.getAppdata(ft.contentId,{isCmsId:ft.isCmsId}),sn=this.lcarsService.getLoginwallStrings();(0,O.zV)([yt,sn]).pipe((0,r.s)(1)).subscribe(([on,un])=>{var $e,It;const kn=null===($e=on[0])||void 0===$e?void 0:$e.images,Yn=[];on[0].variants.forEach(ei=>{const Hn=Rt.X9.getStoreInfoForAppstore(ei.appStore);Yn.push({logo:null==Hn?void 0:Hn.smallImageUrl,label:(null==Hn?void 0:Hn.label)===Rt.$f?on[0].publisherName:Hn.label})});const Zn={backgroundImageUrl:null==kn?void 0:kn.HERO_IMAGE,gameTitle:on[0].title,logoImageUrl:null!=kn&&kn.GAME_LOGO?this.imageFormatService.formatImageServiceUrl(null==kn?void 0:kn.GAME_LOGO,{w:360}):"",appStoresInfo:Yn,minimumMembershipTier:null===(It=on[0])||void 0===It||null===(It=It.gfn)||void 0===It?void 0:It.minimumMembershipTierLabel};this.appLaunchPerformanceService.onLoginWallDataFetchEnd(),this.loginWallBackgroundData$.next({data:Zn}),this.loginWallStrings$.next(un)},on=>{this.logger.error("Error while fetching login wall data for deeplink.",on),this.appLaunchPerformanceService.onLoginWallDataFetchEnd(),this.loginWallBackgroundData$.next(null)})}else this.lcarsService.getLoginWallData().pipe((0,r.s)(1)).subscribe(on=>{const $e={imageUrls:on.backgroundData.data.imageUrls};this.appLaunchPerformanceService.onLoginWallDataFetchEnd(),this.loginWallBackgroundData$.next({data:$e}),this.loginWallStrings$.next(on.strings)},on=>{this.logger.error("Error while fetching game catalog data.",on),this.appLaunchPerformanceService.onLoginWallDataFetchEnd(),this.loginWallBackgroundData$.next(null)})}cancelLogin(){this.idmService.cancelLogin(!1).subscribe(at=>{(0,At.isEmpty)(at)&&this.loginStatus$.next({loginProcessComplete:!0,state:u.fG.Unknown})})}initializeNavigationSubscription(){if(this.postLoginSubscription)return;const at=this.loginStatus$.pipe((0,U.p)(yt=>yt.state===u.fG.Success)),ft=this.idmService.accountStatusChanged.pipe((0,U.p)(yt=>yt.isAuthenticated));this.postLoginSubscription=(0,vt.O4)([at,ft]).pipe((0,r.s)(1)).subscribe(yt=>{this.routerService.navigateByUrl(this.returnLocationURL),this.postLoginSubscription=null},yt=>{this.logger.error("Error in postLoginSubscription. ",yt),this.postLoginSubscription=null})}getLoginStatus$(){return this.loginStatus$.asObservable()}attemptLogin(at=!1){this.initializeNavigationSubscription();const ft=this.appConfig.starfleet.sameTabLogin;this.needsWindowWorkaround&&!ft&&(this.browserPopup=window.open("","_blank"));const yt=this.loginProviderInfo$.pipe((0,r.s)(1),(0,K.T)(on=>on.idpId));let sn=!1;(0,O.zV)([this.idmLoginService.getDeviceName$(),yt,this.getSsoLoginInfo()]).pipe((0,r.s)(1),(0,l.ZZ)(([on,un,$e])=>{let It;this.idmTelemetryService.sendLoginStartEvent(un,ft),this.idmService.gfnStoredLoginInfoApplicableForSso(un,this.appConfig.starfleet.jarvisIdpId,$e)&&!at&&(It={silentLoginHelperInstance:null,ssoSharedPageData:{idp_id:null==$e?void 0:$e.idp_id,login_hint:null==$e?void 0:$e.login_hint}},sn=!0);const kn=window.location.origin+window.location.pathname+window.location.search;return this.idmService.login(!1,at?null:un,this.browserPopup,on,kn+"#"+this.returnLocationURL,It)}),(0,K.T)(on=>{this.logger.info("starfleet login state update",on);const un={loginProcessComplete:!1,state:u.fG.Unknown,errorMessage:"",retryAvailable:!0},$e=sn?kt.a.isLoginViaLoginHint:kt.a.None;switch(on){case ct.l4.LoginRedirectCompleted:un.state=u.fG.RedirectCompleted;break;case ct.l4.LoginAbortedByUser:un.loginProcessComplete=!0,un.state=u.fG.Aborted;break;case Me.gT.LoggedIn:un.loginProcessComplete=!0,un.state=u.fG.Success,this.idmTelemetryService.sendLoginSuccessUserSessionEvent($e),this.closeOffDeviceAuthDialog(un.state);break;case ct.l4.LoginFailed:case Me.gT.Failed:un.loginProcessComplete=!0,un.state=u.fG.Failure,this.idmTelemetryService.sendLoginFailureUserSessionEvent($e),this.closeOffDeviceAuthDialog(un.state);break;case ct.l4.LoginFailedNoRetry:case Me.gT.LoggedOut:un.state=u.fG.Failure,un.retryAvailable=!1,un.loginProcessComplete=!0,this.idmTelemetryService.sendLoginFailureUserSessionEvent($e),this.closeOffDeviceAuthDialog(un.state);break;case ct.l4.LoginFailedToStart:un.state=u.fG.Failure,un.loginProcessComplete=!0,this.idmTelemetryService.sendCreateHTTPServerErrorEvent(),this.closeOffDeviceAuthDialog(un.state);break;case ct.l4.LoginInProgressNeedDisplayCode:this.onNeedDisplayCode()}return this.loginStatus$.next(un),un})).subscribe()}onNeedDisplayCode(){const at=this.idmService.getDeviceDisplayCode().url,ft=this.idmService.getDeviceDisplayCode().url_complete,yt=this.idmService.getDeviceDisplayCode().user_code;let sn;if(yt&&(sn=(0,Tt.zC)(yt)),!at||!ft||!yt)throw new Error(`Failed to launch login bridge dialog. deviceAuthUri: ${at}, deviceAuthUriComplete: ${ft}, rawCode: ${yt}`);{const on=this.appConfig.featureEnablement.preferBottomSheetForLogin?{link:{url:ft,text:""}}:{image:{url:ft}},un={panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:(0,Tt.ZE)(at)},primaryButton:{text:"common.cancelTitleCase"},bodyText:{text:"loginBridgeState.deviceAuthLogin",placeholders:{authCode:`
${sn}
`}},footerText:{text:"loginBridgeState.deviceAuthHint"},...on}};this.openOffDeviceLoginDialog(un)}}openOffDeviceLoginDialog(at){this.closeOffDeviceAuthDialog(),this.offDeviceAuthDialogRef=this.genericDialog.open(at,{preferredDialogType:this.appConfig.featureEnablement.preferBottomSheetForLogin?s.QO.BottomSheet:s.QO.ThreeQuarterSheet}),this.offDeviceAuthDialogRef.backToCloseResult=this.backToCloseResult,this.offDeviceDialogClosedStateSubject.next(!1),this.offDeviceAuthDialogRef.afterClosed().pipe((0,r.s)(1)).subscribe(yt=>{this.offDeviceDialogClosedStateSubject.next(!0)}),this.offDeviceDialogSubscription=(0,vt.O4)([this.offDeviceAuthDialogRef.primaryButtonClick,this.offDeviceAuthDialogRef.afterClosed()]).subscribe(()=>{this.cancelLogin(),this.closeOffDeviceAuthDialog()})}isOffDeviceDialogClosed(){return this.offDeviceDialogClosedStateSubject.asObservable()}closeOffDeviceAuthDialog(at){if(this.offDeviceAuthDialogRef){var ft,yt;const sn=null!=at?at:u.fG.Unknown;null===(ft=this.offDeviceDialogSubscription)||void 0===ft||ft.unsubscribe(),this.offDeviceDialogSubscription=null,null===(yt=this.offDeviceAuthDialogRef)||void 0===yt||yt.close(),this.offDeviceAuthDialogRef=void 0,this.loginStatus$.next({loginProcessComplete:!0,state:sn,errorMessage:"",retryAvailable:!0})}}get returnLocationURL(){var at;return null!==(at=this._returnLocationURL)&&void 0!==at?at:x.f.Home}updateReturnLocationURL(at){this._returnLocationURL=at?at===x.f.Base?x.f.Home:at:x.f.Home}getDefaultLoginProviderInfo(){return this.loginProviderInfo$.asObservable()}getLoginWallBackgroundContent(){return this.loginWallBackgroundData$.asObservable()}getLoginWallStrings(){return this.loginWallStrings$.asObservable()}getClientVersionString(){return this.clientVersionString$.asObservable()}getLearnMoreUrl(){return this.redirectService.getRedirectUrl(Ut.r7.GfnPcInfo).pipe((0,r.s)(1),(0,K.T)(at=>({redirectURL:at,shortURL:Ut.lp[Ut.r7.GfnPcInfo]})))}getBackgroundInfo(at){return this.getBackgroundContentParameters(at).contentType===u.CZ.Game?(0,B.of)({contentType:u.CZ.Game,fallbackImageUrls:[""]}):(0,B.of)({contentType:u.CZ.Catalog,fallbackImageUrls:[u.U4]})}initialize(){this.isLoginWallEnabled().pipe((0,r.s)(1),(0,U.p)(at=>at)).subscribe(at=>{this.initializeNavigateOnLogoutSubscription(),this.fetchProviderInfo(),this.fetchUnsupportedScenarioInfo(),this.fetchClientVersion(),this.fetchPWAInfo(),this.checkForOOBEClosed()})}}return(st=Dt).\u0275fac=function(at){return new(at||st)(e.KVO(p.J6),e.KVO(mn.k_),e.KVO(rn.n),e.KVO(x.HM),e.KVO(Tn.lW),e.KVO(wn.Br),e.KVO(qn.w),e.KVO(p.Pl),e.KVO(Ut.Q5),e.KVO(J.T),e.KVO(f.Vk),e.KVO(s.uh),e.KVO(di.Lk),e.KVO(gi.h$),e.KVO(p.iH),e.KVO(_.ap),e.KVO(w.c$),e.KVO(kt.J),e.KVO(p.IU),e.KVO(Et.UG),e.KVO(Qt.Z))},st.\u0275prov=e.jDH({token:st,factory:st.\u0275fac,providedIn:"root"}),Dt})()},31418:(xe,de,t)=>{"use strict";t.d(de,{$W:()=>n,$l:()=>r,CZ:()=>k,KP:()=>E,U4:()=>O,VT:()=>l,cl:()=>U,fG:()=>A,xe:()=>P,z:()=>e});const e=6,n=6,E=400,O="assets/img/LoginWallFallbackTile.webp",P=[26,22,32,31,30,29,25,21,17,13,12,28,23,19,14,9,3,6,24,20,16,10,1,4,36,18,15,5,2,8,35,34,33,27,11,7];var k=function(I){return I.Unknown="Unknown",I.Catalog="Catalog",I.Game="Game",I}(k||{});const U="contentString",r="deeplinkString";var A=function(I){return I.Unknown="Unknown",I.RedirectCompleted="RedirectCompleted",I.Aborted="Aborted",I.Success="Success",I.Failure="Failure",I}(A||{});const l=8e3},94073:(xe,de,t)=>{"use strict";t.d(de,{i:()=>u});var e=t(56106),n=t(97979),E=t(4418),O=t(99204),B=t(29370),P=t(12949),k=t(47973),U=t(96501),r=t(44296),A=t(48362),l=t(26537),I=t(65597),S=t(20288),L=t(19061),s=t(58527);const M=[e.YN,k.wG,n.ic,E.g7,U.Wh,r.bB,A.s5,O.D6,B.m_,l.hM,I._T,P.Ve,S.PO];let u=(()=>{var x;class p{}return(x=p).\u0275fac=function(o){return new(o||x)},x.\u0275mod=s.$C({type:x}),x.\u0275inj=s.G2t({imports:[e.YN,M,L.bm,e.YN,k.wG,n.ic,E.g7,U.Wh,r.bB,A.s5,O.D6,B.m_,l.hM,I._T,P.Ve,S.PO]}),p})()},53747:(xe,de,t)=>{"use strict";t.d(de,{DU:()=>O,eE:()=>e,mG:()=>n,uo:()=>E});var e=function(B){return B.DbStoreName="BrowseUxStore",B}(e||{}),n=function(B){return B.showDesktopShortcutPrompt="showDesktopShortcutPrompt",B.showSearchTip="showSearchTip",B.skipGamepadWarningDialog="skipGamepadWarningDialog",B.skipKeyboardMouseWarningDialog="skipKeyboardMouseWarningDialog",B.skipDayPassLowPlayTimeRemainingDialog="skipDayPassLowPlayTimeRemainingDialog",B.skipTimeCapLowPlayTimeRemainingDialog="skipTimeCapLowPlayTimeRemainingDialog",B.skipTimeCapLimitedPlayTimeRemainingDialog="skipTimeCapLimitedPlayTimeRemainingDialog",B.skipBuyProtectionDialog="skipBuyProtectionDialog",B.showUdsNotificationIcon="showUdsNotificationIcon",B.toastShown="toastShown",B}(n||{}),E=function(B){return B.OverLay="over",B.Side="side",B}(E||{}),O=function(B){return B.Default="default",B.AlwaysPanel="always-panel",B.AlwaysFullPaged="always-full-paged",B}(O||{})},14331:(xe,de,t)=>{"use strict";t.d(de,{HJ:()=>p,Ix:()=>B,Jv:()=>_,Uf:()=>i,VN:()=>u,Xe:()=>S,aj:()=>P,bE:()=>o,dn:()=>O,eL:()=>U,hV:()=>a,kC:()=>L,kw:()=>A,mB:()=>I,mY:()=>f,oT:()=>l,py:()=>k,vz:()=>J});var e=t(87687),n=t(95318);const O="TV_BANNER_",B="deeplink";var P=function(D){return D.Action="action",D.CmsId="cms-id",D.GameId="game-id",D.Store="store",D.Zone="zone",D.AssetId="asset-id",D.Locale="lang",D.ShowEvidencePanel="showEvidencePanel",D.SectionId="sectionId",D.Nonce="nonce",D.Redirect="redirect",D.PartnerData="partner-data",D.ExtraData="extra-data",D.UtmSource="utm_source",D.UtmCampaign="utm_campaign",D.UtmMedium="utm_medium",D.UtmTerm="utm_term",D.UtmContent="utm_content",D.PartnerId="partner-id",D.WindowedMode="windowed-mode",D.Branch="branch",D.State="state",D}(P||{}),k=function(D){return D.ViewGame="view-game",D.PlayGame="play-game",D.Games="games",D}(k||{});const U=k.ViewGame;var r=function(D){return D.IsViewGameEnabled="isViewGameEnabled",D.IsPlayGameEnabled="isPlayGameEnabled",D.ShowShortcutButton="showShortcutButton",D.ShowShareButton="showShareButton",D.SendDeeplinkTelemetry="sendDeeplinkTelemetry",D.GuestMode="guestMode",D}(r||{});const A={[r.IsViewGameEnabled]:!0,[r.IsPlayGameEnabled]:!0,[r.ShowShareButton]:!1,[r.ShowShortcutButton]:!1,[r.SendDeeplinkTelemetry]:!1},l={[k.ViewGame]:r.IsViewGameEnabled,[k.PlayGame]:r.IsPlayGameEnabled};var I=function(D){return D.Shortcut="shortcut",D.Application="application",D.Marquee="marquee",D}(I||{});const S={[k.ViewGame]:e.nzM.ViewGame,[k.PlayGame]:e.nzM.PlayGame};var L=function(D){return D.IsNetworkTestEnabled="isNetworkTestEnabled",D.IsIGOEnabled="isIGOEnabled",D.IsOSCEnabled="isOSCEnabled",D.IsPostSessionTipsEnabled="isPostSessionTipsEnabled",D.IsStreamingTimerEnabled="isStreamingTimerEnabled",D.DisableCloseOnStreamExit="disableCloseOnStreamExit",D.ForceTouchModeSettings="forceTouchModeSettings",D.IsGuestAppFlow="isGuestAppFlow",D.IGOSettings="igoSettings",D.IsWhitelabelingEnabled="isWhiteLabelingEnabled",D.Metadata="metadata",D.HideAppStartButton="hideAppStartButton",D.IsWindowedModeCursorTypeFree="isWindowedModeCursorTypeFree",D}(L||{});const u={[L.HideAppStartButton]:!1,[L.IsWindowedModeCursorTypeFree]:!1,[L.IsNetworkTestEnabled]:!1,[L.IsIGOEnabled]:!0,[L.IsOSCEnabled]:!0,[L.IsPostSessionTipsEnabled]:!1,[L.IsStreamingTimerEnabled]:!0,[L.DisableCloseOnStreamExit]:!1,[L.ForceTouchModeSettings]:{launchStreamInTouchFriendlyMode:!1,useOsc:!1},[L.IsGuestAppFlow]:!0,[L.IGOSettings]:{isMicFeatureEnabled:!0,virtualKeyboard:!0,virtualGamepad:!1,pasteDefaultOn:!0,isInGameStatisticsEnabled:!1},[L.IsWhitelabelingEnabled]:!1,[L.Metadata]:{}},x={...u,[L.IsIGOEnabled]:!0,[L.DisableCloseOnStreamExit]:!0,[L.IsGuestAppFlow]:!1},p={DAF_GUESTMODE_25cb5a58:"daf_guestmode_25cb5a58",AC:"82d77512-a90b-42bf-8be9-446fb10341b5",GFN_PLAYTEST:"0F0E5E46-5F1E-42FE-BA5A-74077ED505F1"},i={"AyLZgPglXtCGoG-lPMe0mxYoP6BH9Jva3vLeerYckFA":x,"YwuYeOqCAwvSS9_ohdam7Bn-SQv0b7rLGP2v9lAZWto":x,xfhos6xyQwTHf0I5Scg7LjtfvVw5aeucqdJURXcMBcc:u,H6JxRR6FFDUGwN1fdlgKWBmOPnvDEvEEoudefDooEho:u,"2ZGpTLugwxbQLk8MlqSLFweBjXMJ33xKQdghZfmxTwc":u,"0Xg3tEsmQZqn-zsZgSTIQqJZn5f7X7kuBxE5C9KFsys":u},o={[p.DAF_GUESTMODE_25cb5a58]:"L65LoXgut5_bAQ95JepON01jMMSYxDHB4aa_tHQC-gc"};var _=function(D){return D[D.Success=0]="Success",D[D.Partner_Error=1]="Partner_Error",D[D.GFN_Error=2]="GFN_Error",D[D.Campaign_Suspended=3]="Campaign_Suspended",D[D.GFN_Error_SessionLimitReached=4]="GFN_Error_SessionLimitReached",D}(_||{}),f=function(D){return D.VDKPlayTest="vdkPlaytest",D}(f||{});const J={id:"dummy-id",appStore:"UNKNOWN",supportedControls:[n.f$.TOUCHSCREEN],contentRatings:null,images:{HERO_IMAGE:"",TV_BANNER:""},variants:[{id:""}]};var a=function(D){return D.Status="status",D.State="state",D.SubStatus="sub-status",D}(a||{})},82187:(xe,de,t)=>{"use strict";t.d(de,{Xe:()=>E.Xe,mG:()=>e.mG,Gf:()=>B,HD:()=>P,aj:()=>E.aj,gH:()=>O,mY:()=>E.mY,Ix:()=>E.Ix,py:()=>E.py,eL:()=>E.eL,VN:()=>E.VN,b9:()=>S,uo:()=>e.uo,B1:()=>U,vz:()=>E.vz,kC:()=>E.kC,Jv:()=>E.Jv,OR:()=>n.O,Ht:()=>n.H,Uf:()=>E.Uf,mB:()=>E.mB,bq:()=>I,DU:()=>e.DU,dn:()=>E.dn});var e=t(53747),n=t(5715),E=t(14331),O=function(L){return L.Serenity="Serenity",L.UIPlugin="UIPlugin",L}(O||{}),B=function(L){return L.default="DEFAULT",L.fullScreen="FULLSCREEN",L}(B||{}),P=function(L){return L.zoneMaintenance="ZONE_MAINTENANCE_TIMER",L.paste="PASTE",L.sessionLengthTimer="SESSION_LENGTH_TIMER",L.clickedUrl="CLICKED_URL",L}(P||{}),k=t(31877),U=function(L){return L.lockState="Locked",L.readyState="Ready",L.systemUnsupportedState="System_Unsupported",L}(U||{});const I=[{featureKey:k.N1.RTX_ENABLED,featureUpsellKey:k.q3.SUPPORT_RTX,upsellToUnentitledUsers:!0,systemSupported:!0},{featureKey:k.N1.ENABLED_REFLEX,featureUpsellKey:k.q3.SUPPORT_REFLEX,systemSupported:!0},{featureKey:k.N1.SUPPORTED_HDR_VERSION,featureUpsellKey:k.q3.SUPPORT_HDR,systemSupported:!0}];var S=function(L){return L.mp4="mp4deinterlaced720p",L.webm="webm",L.hls="hlsadaptive",L}(S||{})},5715:(xe,de,t)=>{"use strict";t.d(de,{H:()=>e,O:()=>n});var e=function(E){return E[E.Infinity=0]="Infinity",E[E.Once=1]="Once",E}(e||{}),n=function(E){return E[E.Play=1]="Play",E[E.Pause=2]="Pause",E[E.Resume=3]="Resume",E}(n||{})},31877:(xe,de,t)=>{"use strict";t.d(de,{IT:()=>P,N1:()=>B,hz:()=>U,q3:()=>r,rz:()=>k,tk:()=>A,zZ:()=>n});var n=function(l){return l.UNKNOWN="UNKNOWN",l.LIMITED="LIMITED",l.FULL="FULL",l}(n||{}),B=function(l){return l.UNKNOWN="UNKNOWN",l.RTX_ENABLED="RTX_ENABLED",l.HDR_ENABLED="HDR_ENABLED",l.SUPPORTED_HDR_VERSION="SUPPORTED_HDR_VERSION",l.SUPPORTED_AUDIO_FORMATS="SUPPORTED_AUDIO_FORMATS",l.IN_GAME_SETTINGS_PERSISTENCE_ENABLED="IN_GAME_SETTINGS_PERSISTENCE_ENABLED",l.ENABLED_FPS="ENABLED_FPS",l.ENABLED_DEBUG_TOOLS="ENABLED_DEBUG_TOOLS",l.ENABLED_REFLEX="ENABLED_REFLEX",l.CLOUD_GSYNC="CLOUD_GSYNC",l.ENABLED_L4S="ENABLED_L4S",l.BIT_DEPTH="BIT_DEPTH",l}(B||{}),P=function(l){return l.UNKNOWN="UNKNOWN",l.BALANCED="BALANCED",l.DATA_SAVER="DATA_SAVER",l.COMPETITIVE="COMPETITIVE",l}(P||{}),k=function(l){return l.UNKNOWN="UNKNOWN",l.FREE="FREE",l.PAID="PAID",l.PROMOTION="PROMOTION",l.GIFT_CARD="GIFT_CARD",l}(k||{}),U=function(l){return l.UNKNOWN="UNKNOWN",l.UNLIMITED="UNLIMITED",l.DAY_PASS="DAY_PASS",l.TIME_CAPPED="TIME_CAPPED",l}(U||{}),r=function(l){return l.UNKNOWN="UNKNOWN",l.BETTER_PRODUCT="BETTER_PRODUCT",l.SUPPORT_IN_GAME_SETTINGS_PERSISTENCE="SUPPORT_IN_GAME_SETTINGS_PERSISTENCE",l.HIGHER_SESSION_LENGTH="HIGHER_SESSION_LENGTH",l.LOWER_SESSION_QUEUE_WAIT_TIME="LOWER_SESSION_QUEUE_WAIT_TIME",l.HIGHER_FPS="HIGHER_FPS",l.HIGHER_RESOLUTION="HIGHER_RESOLUTION",l.SUPPORT_HDR="SUPPORT_HDR",l.SUPPORT_HDR10_PLUS_GAMING="SUPPORT_HDR10_PLUS_GAMING",l.SUPPORT_RTX="SUPPORT_RTX",l.SUPPORT_REFLEX="SUPPORT_REFLEX",l.AD_FREE_EXPERIENCE="AD_FREE_EXPERIENCE",l.DAY_PASS="DAY_PASS",l.SUPPORT_CLOUD_GSYNC="SUPPORT_CLOUD_GSYNC",l.SUPPORT_L4S="SUPPORT_L4S",l.HIGHER_BIT_DEPTH="HIGHER_BIT_DEPTH",l}(r||{}),A=function(l){return l.UNKNOWN="UNKNOWN",l.PROFILE_VSYNC="PROFILE_VSYNC",l.PROFILE_ADJUST_FOR_NETWORK="PROFILE_ADJUST_FOR_NETWORK",l.PROFILE_HDR="PROFILE_HDR",l.PROFILE_HDR_VERSION="PROFILE_HDR_VERSION",l.PROFILE_REFLEX="PROFILE_REFLEX",l.PROFILE_CLOUD_GSYNC="PROFILE_CLOUD_GSYNC",l.PROFILE_L4S="PROFILE_L4S",l.PROFILE_BIT_DEPTH="PROFILE_BIT_DEPTH",l}(A||{})},18568:(xe,de,t)=>{"use strict";t.d(de,{jv:()=>x,WX:()=>S,iD:()=>s,iC:()=>L,c4:()=>l,tk:()=>M.tk,IT:()=>M.IT,N1:()=>M.N1,zZ:()=>M.zZ,hz:()=>M.hz,rz:()=>M.rz,q3:()=>M.q3,Sx:()=>i,kG:()=>o});var e=t(70815),n=t(81834),E=t(18433),O=t(76449),B=t(70521),P=t(75707),k=t(83915),U=t(58527),r=t(61958),A=t(34178);let l=(()=>{var _;class f{constructor(a,D,te,N){this.appConfig=a,this.endpointFactory=D,this.distributedtracingUtilService=te,this.clientHeaderService=N;const{defaultRetries:z=0,defaultTimeBetweenRetries:R=0,defaultTimeout:v=15e3}=a.nes,h={maxRetries:z,timeout:v,timeBetweenRetries:R};this.subscriptionsEndpoint=this.createEndpoint({config:h}),this.serviceUrlEndpoint=this.createEndpoint({config:{...h,maxRetries:a.nes.serviceUrlsMaxRetries}}),this.productEndpoint=this.createEndpoint(),this.firstFetchSet=new Set}buildUrl(a,D={}){const{useLayoutServer:te=!1}=D;return(0,n.l2)(te?[this.appConfig.nes.layoutServer,this.appConfig.nes.layoutServerVersion,a]:[this.appConfig.nes.server,this.appConfig.nes.version,a])}createEndpoint(a){return this.endpointFactory.createEndpoint(a)}createHeader(a){return{[e.SA.authorization]:`GFNJWT ${a.token}`}}createRequestOptions(a,D,te,N){const z={params:{...a},includeRequestId:!0,reportRequestData:{...D},includeFullResponse:N},R=D.serviceUseCase;return z.headers={},null!=te&&te.token&&(z.headers=this.createHeader(te)),this.firstFetchSet.has(R)?z.headers[B.tD.SwCacheBypass]=JSON.stringify(!0):this.firstFetchSet.add(R),z}createAndCallNesServerAPI(a,D,te,N,z,R,v){return this.clientHeaderService.getCommonHeaders({withClientId:"lcars"}).pipe((0,P.ZZ)(h=>{const W=this.createRequestOptions({serviceName:"gfn_pc",...te},{originalService:E.Uu$.NES,serviceUseCase:D},N,R);v&&(h[B.tD.SwNotifyFetch]="true"),Object.assign(W.headers,h);const ne=this.subscriptionsEndpoint.get(this.buildUrl(a),W);return this.distributedtracingUtilService.handleHttpEndpointSpan(ne,W,O.pB.FetchSubscriptions,z)}))}getUserSubscription(a,D,te){return this.getMesServerAPIResp(a,D,te)}getMesServerAPIResp(a,D,te){return this.createAndCallNesServerAPI("/subscriptions",E.OOF.NES_Get_Subscriptions,a,D,te,!0,!0).pipe((0,k.T)(N=>{const z={subscription:N.body,lastFetchDateTime:new Date};return z.isCached=N.headers.has(B.tD.SwCache),z}))}getClientStreamingQuality(a,D){return this.createAndCallNesServerAPI("/client/streaming-qualities",E.OOF.NES_GetClientStreamingQuality,a,null,D,null,null)}getProductInfo(a){return this.productEndpoint.get(a)}getLoginProviderInfo(a,D){return this.serviceUrlEndpoint.get(this.buildUrl("/serviceUrls",{useLayoutServer:!0}),this.createRequestOptions(null,{originalService:E.Uu$.Cms,serviceUseCase:E.OOF.NES_Get_ServiceUrls},D))}}return(_=f).\u0275fac=function(a){return new(a||_)(U.KVO(r.Vk),U.KVO(e.t),U.KVO(O.Z1),U.KVO(A.y1))},_.\u0275prov=U.jDH({token:_,factory:_.\u0275fac,providedIn:"root"}),f})();var I=t(21333);class S extends I.yN{constructor(f,J){super("Could not fetch app metadata for "+f,J)}}class L extends I.yN{constructor(f){super("Could not fetch layout",f)}}class s extends I.yN{constructor(f){super("Could not fetch appsList",f)}}var M=t(31877),x=function(_){return _.UNAVAILABLE="UNAVAILABLE",_.AVAILABLE="AVAILABLE",_.PATCHING="PATCHING",_.SERVER_MAINTENANCE="SERVER_MAINTENANCE",_}(x||{});const i={title:"mockIntegrationTile",shortName:"mockIntegrationTile",id:"12345",variants:[],images:{GAME_BOX_ART:"http://mock-box-art-url",KEY_ART:"http://mock-key-art-url",TV_BANNER:"http://wide-art-url"}},o={title:"mockSeeMoreTile",shortName:"mockSeeMoreTile",id:"123456",variants:[],images:{GAME_BOX_ART:"http://mock-box-art-url",KEY_ART:"http://mock-key-art-url",TV_BANNER:"http://wide-art-url"}}},43897:(xe,de,t)=>{"use strict";t.d(de,{OS:()=>_,no:()=>f,lW:()=>J.l});var e=t(85735),n=t(59859),E=t(43848),O=t(12532),B=t(31315),P=t(8619),k=t(65706),U=t(75707),r=t(25590),A=t(14714),l=t(83915),I=t(53461),S=t(26875),L=t(76449),s=t(70521),M=t(58527),u=t(18568),x=t(11346),p=t(80838),i=t(47766);const _={id:null,title:null,shortDescription:null,longDescription:null,assets:null};let f=(()=>{var a;class D{constructor(N,z,R,v,h,W,ne){this.nesSdk=N,this.idmService=z,this.gridService=R,this.localeService=v,this.serviceWorkerService=h,this.distributedTracingUtilService=W,this.subscriptionNetworkFetchedNoUpdate$=new e.m(1),this.logger=ne.getLogger("NesEntitlementService"),this.processedSubscriptionResponse$=new e.m(1),this.initServiceWorkerNotifications()}initServiceWorkerNotifications(){this.serviceWorkerService.swCacheUpdated.pipe((0,P.p)(N=>N.name===s.fR.staleWhileRevalidate.subscriptions.cacheName),(0,k.s)(1),(0,U.ZZ)(N=>N.noDataUpdate?(this.subscriptionNetworkFetchedNoUpdate$.next(!0),(0,n.$)("no update in data")):(0,E.of)(N)),(0,r.E)(this.idmService.accountStatusChanged),(0,U.ZZ)(([N,z])=>{this.logger.info("Subscription SW Cache updated, relaying updated data.",N.data);const R=new URL(N.url);if(R.searchParams.has("userId")){const v=R.searchParams.get("userId");return z.isAuthenticated&&z.userId===v?this.handleSubscriptionResponse({subscription:N.data},z):O.w}return O.w})).subscribe(N=>{this.processedSubscriptionResponse$.next(N)},N=>{this.logger.warn("ending sw cache observable: ",N)}),this.serviceWorkerService.networkResponseReceived.pipe((0,P.p)(N=>N.cacheName===s.fR.staleWhileRevalidate.subscriptions.cacheName&&404===N.responseStatusCode),(0,r.E)(this.idmService.accountStatusChanged),(0,U.ZZ)(([N,z])=>this.handleSubscriptionResponse(null,z))).subscribe(N=>{const z=this.distributedTracingUtilService.startSpan(L.pB.GetEntitlementStatus);this.distributedTracingUtilService.setSpanAttribute(z,L.NS.Error,!0),this.processSubscriptionResponse(N,z)})}get subscriptionNetworkFetchedNoUpdate(){return this.subscriptionNetworkFetchedNoUpdate$.asObservable()}getUserEntitlement(N){const z=this.distributedTracingUtilService.startSpan(L.pB.GetEntitlementStatus);return this.getUserEntitlementFromServer(z,N)}getUserEntitlementFromServer(N,z,R=!1){return this.logger.info("getUserEntitlement fetching from server/service worker"),this.getVpcIdLocaleAndToken(N,R).pipe((0,k.s)(1),(0,U.ZZ)(([v,h,W])=>{if(this.logger.info("vpcId and delegate token resolved ",v),(0,S.isNil)(W))return this.logger.error("invalid auth token"),(0,n.$)("failed to get auth token");const ne={languageCode:h,vpcId:v,userId:z.userId};return this.distributedTracingUtilService.setSpanAttribute(N,L.NS.VpcId,v),this.distributedTracingUtilService.setSpanAttribute(N,L.NS.Locale,h),this.nesSdk.getUserSubscription(ne,W,N).pipe((0,U.ZZ)(ee=>this.handleSubscriptionResponse(ee,z)),(0,U.ZZ)(ee=>this.processSubscriptionResponse(ee,N)),(0,A.W)(ee=>404===ee.status?this.handleAndProcessSubscriptionResponse(z,N):this.idmService.handleAuthError(ee,R,this.getUserEntitlementFromServer.bind(this),N,z)))}),(0,A.W)(v=>(this.distributedTracingUtilService.setSpanAttribute(N,L.NS.Error,!0),this.distributedTracingUtilService.closeSpan(N),(0,n.$)(v))))}handleAndProcessSubscriptionResponse(N,z){return this.handleSubscriptionResponse(null,N).pipe((0,U.ZZ)(R=>this.processSubscriptionResponse(R,z)))}processSubscriptionResponse(N,z){return this.processedSubscriptionResponse$.next(N),this.distributedTracingUtilService.closeSpan(z),this.processedSubscriptionResponse$.asObservable()}handleSubscriptionResponse(N,z){if(!(0,S.isNil)(null==N?void 0:N.subscription)&&!(0,S.isNil)(null==N?void 0:N.subscription.productUri))return this.nesSdk.getProductInfo(N.subscription.productUri).pipe((0,l.T)(R=>({product:R,...N})),(0,A.W)(R=>(this.logger.error("failed to get product info: ",R),(0,E.of)({product:_,...N}))),(0,U.ZZ)(R=>this.returnSubscriptionResponse(R)));{const R={product:_,...N};return this.returnSubscriptionResponse(R)}}returnSubscriptionResponse(N){const z=(0,S.omit)(N,"cacheRefreshDate");return(0,E.of)(z)}getVpcIdLocaleAndToken(N,z=!1){const R=this.localeService.localeChanged,v=this.gridService.vpcId$.pipe((0,I.F)());return(0,B.zV)([v,R]).pipe((0,U.ZZ)(([h,W])=>this.idmService.getAuthToken(z,N).pipe((0,l.T)(ne=>[h,W,ne||null]))))}getClientStreamingQuality(){const N=this.distributedTracingUtilService.startSpan(L.pB.ClientStreamingQuality);return this.getClientStreamingQualityFromServer(N)}getClientStreamingQualityFromServer(N){const z=this.localeService.localeChanged,R=this.gridService.vpcId$.pipe((0,I.F)());return(0,B.zV)([R,z]).pipe((0,U.ZZ)(([v,h])=>(this.logger.info("getClientStreamingQualityFromServer vpcId,Locale resolved: ",v),this.nesSdk.getClientStreamingQuality({languageCode:h,vpcId:v},N).pipe((0,l.T)(ne=>(this.logger.info("getClientStreamingQuality response from server: ",ne),this.unentitledUserData=ne,this.unentitledUserData)),(0,A.W)(ne=>(this.logger.error("getClientStreamingQualityFromServer error: ",ne),(0,n.$)(ne)))))),(0,A.W)(v=>(this.logger.error("getClientStreamingQualityFromServer vpcId/Locale error: ",v),(0,n.$)(v))),(0,k.s)(1))}}return(a=D).\u0275fac=function(N){return new(N||a)(M.KVO(u.c4),M.KVO(x.k_),M.KVO(p.G),M.KVO(i.iH),M.KVO(s.lS),M.KVO(L.Z1),M.KVO(i.J6))},a.\u0275prov=M.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),D})();var J=t(22600)},22600:(xe,de,t)=>{"use strict";t.d(de,{l:()=>f});var e=t(59859),n=t(43848),E=t(8619),O=t(65706),B=t(83915),P=t(75707),k=t(91384),U=t(34593),r=t(14714),A=t(26875),I=t(18433),S=t(50778),L=t(38006),s=t(70521),M=t(58527),u=t(18568),x=t(47766),p=t(11346),i=t(78812),o=t(80561),_=t(81834);let f=(()=>{var J;class a{constructor(te,N,z,R,v,h,W,ne){this.nesSdk=te,this.loggingService=N,this.idmService=z,this.telemetryService=R,this.oobeService=v,this.eventStreamFactory=h,this.sharedStorageCachingService=W,this.serviceWorkerService=ne,this.isUserInfoAffiliate=!1,this.logger=this.loggingService.getLogger("gfn/shared/NesUserInfoService"),this.serverUrlsStream=this.eventStreamFactory.createStream(()=>this.fetchProviderInfo()),this.userInfoStream=this.eventStreamFactory.createStream(()=>this.userInfoWithStreamingUrl()),this.countryCodeStream=this.eventStreamFactory.createStream(()=>this.fetchCountryCode()),this.initServiceWorkerNotifications()}initServiceWorkerNotifications(){this.serviceWorkerService.swCacheUpdated.pipe((0,E.p)(te=>te.name===s.fR.staleWhileRevalidate.serviceUrls.cacheName),(0,O.s)(1)).subscribe(te=>{this.serverUrlsStream.setData(te.data,!0)})}fetchProviderInfo(){return this.logger.info("Calling NES server urls to get affiliate information"),this.nesSdk.getLoginProviderInfo().pipe((0,B.T)(te=>this.validateLoginProviderInfo(te)))}validateLoginProviderInfo(te){if(this.logger.info("processServiceUrls"),(0,A.isNil)(te)||(0,A.isNil)(te.gfnServiceInfo)||(0,A.isNil)(te.gfnServiceInfo.loginRequired))throw new Error("Server info was invalid.");const N=te.gfnServiceInfo;if(N.loginRequired&&((0,A.isNil)(N.loginPreferredProviders)||(0,A.isEmpty)(N.loginPreferredProviders)))throw new Error('Missing "loginPreferredProviders".');return te}getServerProperty(te){return this.serverUrlsStream.get$().pipe((0,B.T)(te))}fetchUserInfoWithStreamingUrl(){return this.userInfoStream.get$()}userInfoWithStreamingUrl(){let te;return this.serverUrlsStream.get$().pipe((0,P.ZZ)(N=>(te=N,this.idmService.getUserServiceEndpoint(te.gfnServiceInfo))),(0,B.T)(N=>{const z=N.serviceEndpoint.loginProvider;return this.sendProviderInfoTelemetry(z,te,N.user.isAuthenticated),{user:N.user,serviceEndpoint:N.serviceEndpoint,isAffiliate:z!==te.gfnServiceInfo.defaultProvider}}),(0,k.M)(N=>{this.isUserInfoAffiliate=N.isAffiliate,this.idmService.setCachedAffiliateStatus(N.user.userId,{loginProvider:N.serviceEndpoint.loginProvider,loginProviderCode:N.serviceEndpoint.loginProviderCode,isAffiliate:N.isAffiliate}).subscribe()}))}cachedUserAndAffiliateStatus(){return this.idmService.cachedUserAndAffiliateStatus}sendProviderInfoTelemetry(te,N,z){this.oobeService.oobeDialogClosedState.pipe((0,U.Z)(!1)).subscribe(()=>{const R=new I.Zhy({isAffiliateRegion:N.gfnServiceInfo.loginRequired?I.T80.TRUE:I.T80.FALSE,supportedProviders:(0,A.isEmpty)(N.gfnServiceInfo.loginPreferredProviders)?"":N.gfnServiceInfo.loginPreferredProviders.toString(),providerName:z?te:""});this.telemetryService.push(R,null,{immediateRequest:!0})})}get providerInfo$(){return this.getServerProperty(te=>(0,A.isNil)(te)||(0,A.isNil)(te.gfnServiceInfo)?null:te.gfnServiceInfo).pipe((0,r.W)(te=>(this.logger.error("failed to get provider info",te),(0,e.$)(te))))}get loginPreferredProviders$(){return this.getServerProperty(te=>(0,A.isNil)(te)||(0,A.isNil)(te.gfnServiceInfo)?null:te.gfnServiceInfo.loginPreferredProviders).pipe((0,r.W)(te=>(this.logger.error("failed to get login provider",te),(0,e.$)(te))))}get loginRequired$(){return this.getServerProperty(te=>!(!te||!te.gfnServiceInfo)&&te.gfnServiceInfo.loginRequired)}fetchProviderUserAction(){return this.logger.info("fetchProviderUserAction"),this.serverUrlsStream.get$().pipe((0,O.s)(1),(0,P.ZZ)(te=>this.idmService.getUserServiceEndpoint(te.gfnServiceInfo)),(0,B.T)(te=>(0,A.isNil)(te)?I.ay7.LoginWithJarvisOAuth:I.ay7.LoginWithFacebook.includes(te.serviceEndpoint.loginProvider.toUpperCase())?I.ay7.LoginWithFacebook:I.ay7.LoginWithGoogle.includes(te.serviceEndpoint.loginProvider.toUpperCase())?I.ay7.LoginWithGoogle:this.isUserInfoAffiliate?I.ay7.LoginWithAffiliate:I.ay7.LoginWithOther))}fetchCountryCode(){return this.serverUrlsStream.get$().pipe((0,B.T)(te=>te.gfnServiceInfo.clientCountryCode),(0,r.W)(te=>(this.logger.error("Could not fetch NES login provider info for country code",te),(0,n.of)(S.d4.US))),(0,P.ZZ)(te=>this.sharedStorageCachingService.saveItem(L.up.CountryCode,te)))}getCountryCode(){return this.countryCodeStream.get$()}}return(J=a).\u0275fac=function(te){return new(te||J)(M.KVO(u.c4),M.KVO(x.J6),M.KVO(p.k_),M.KVO(i.H0),M.KVO(o.Z),M.KVO(_.mZ),M.KVO(L.VC),M.KVO(s.lS))},J.\u0275prov=M.jDH({token:J,factory:J.\u0275fac,providedIn:"root"}),a})()},74692:(xe,de,t)=>{"use strict";t.d(de,{n:()=>l});var e=t(36206),n=t(65240),E=t(19061),O=t(61142),B=t(58527),P=t(76961),k=t(47766),U=t(60990),r=t(40514);function A(I,S){if(1&I&&(B.j41(0,"div",1)(1,"a",2),B.EFF(2),B.nI1(3,"translate"),B.k0s()()),2&I){const L=B.XpG();B.R7$(),B.Y8G("href",L.serverStatusUrl,B.B4B)("shortUrl",L.serverStatusShortUrl),B.R7$(),B.SpI(" ",B.bMT(3,3,"common.viewServerStatus")," ")}}let l=(()=>{var I;class S{constructor(s,M){this.networkTestService=s,this.localeService=M,this.serverStatusShortUrl=e.lp[e.r7.GfnServerStatus]}ngOnInit(){this.isOnline=this.networkTestService.isSystemOnline(),this.localeSubscription=this.localeService.localeChanged.subscribe(s=>{this.serverStatusUrl=e.r7.BaseUrl+s+"&page="+e.r7.GfnServerStatus})}ngOnDestroy(){this.localeSubscription&&this.localeSubscription.unsubscribe()}}return(I=S).\u0275fac=function(s){return new(s||I)(B.rXU(P.q),B.rXU(k.iH))},I.\u0275cmp=B.VBU({type:I,selectors:[["gfn-server-status-link"]],standalone:!0,features:[B.aNF],decls:1,vars:1,consts:[["class","redirect-page-div",4,"ngIf"],[1,"redirect-page-div"],["target","_blank",1,"font-body2-link",3,"href","shortUrl"]],template:function(s,M){1&s&&B.DNE(0,A,4,5,"div",0),2&s&&B.Y8G("ngIf",M.isOnline)},dependencies:[O.bT,E.bm,U.r,r.e,n.h,n.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.font-size-xxxs[_ngcontent-%COMP%]{font-size:8px}.font-size-xxs[_ngcontent-%COMP%]{font-size:11px}.font-size-sm[_ngcontent-%COMP%]{font-size:12px}.font-size-sm1[_ngcontent-%COMP%]{font-size:13px}.font-size-lg[_ngcontent-%COMP%]{font-size:14px}.font-size-xl[_ngcontent-%COMP%]{font-size:16px}.font-size-xl1[_ngcontent-%COMP%]{font-size:18px}.font-size-20[_ngcontent-%COMP%]{font-size:20px}.font-size-xxl[_ngcontent-%COMP%]{font-size:24px}.font-size-32[_ngcontent-%COMP%]{font-size:32px}.font-size-xxxl[_ngcontent-%COMP%]{font-size:40px}.line-height-sm[_ngcontent-%COMP%]{line-height:.75em}.line-height-sm1[_ngcontent-%COMP%]{line-height:1em}.line-height-14[_ngcontent-%COMP%]{line-height:14px}.line-height-12[_ngcontent-%COMP%]{line-height:12px}.line-height-16[_ngcontent-%COMP%]{line-height:16px}.line-height-md[_ngcontent-%COMP%]{line-height:1.5em}.line-height-lg[_ngcontent-%COMP%]{line-height:3em}.line-height-30[_ngcontent-%COMP%]{line-height:30px}.line-height-36[_ngcontent-%COMP%]{line-height:36px}.line-height-lg1[_ngcontent-%COMP%]{line-height:40px}.font-style-italic[_ngcontent-%COMP%]{font-style:italic}.font-style-bold[_ngcontent-%COMP%]{font-weight:700}.font-style-normal[_ngcontent-%COMP%]{font-weight:400}.font-uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.font-lowercase[_ngcontent-%COMP%]{text-transform:lowercase}.text-transform-none[_ngcontent-%COMP%]{text-transform:none}.common-ui-network-container[_ngcontent-%COMP%]{background-color:#1f2224;max-width:789px}.common-ui-network-header[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:0;height:24px}.isLtr[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900;vertical-align:middle;min-width:24px}.isLtr[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.result-text-container[_ngcontent-%COMP%]{margin-bottom:6px}.result-text[_ngcontent-%COMP%]{margin-top:1px}.nw-icon[_ngcontent-%COMP%]{height:24px;line-height:24px;width:auto;speak:none;font-size:48px;font-variant:normal;align-self:center;color:#fff;opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:22px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:22px}.icon-alert-bang[_ngcontent-%COMP%]{margin:0}.common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.common-ui-network-container[_ngcontent-%COMP%] .result-icon.error[_ngcontent-%COMP%]{color:#ed1c24}.warn[_ngcontent-%COMP%]{color:#ffb538}.error[_ngcontent-%COMP%]{color:#ed1c24}.common-ui-errorDetails[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#76b900}.flex-1[_ngcontent-%COMP%]{flex:1}.nv-ui-assets[_ngcontent-%COMP%]{height:140px;margin-top:64px;display:flex;flex-direction:row;overflow:hidden;justify-content:center;align-items:baseline}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:79px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:79px}.nv-dot-icons[_ngcontent-%COMP%]{border-radius:50%;width:8px;height:8px;align-self:center;display:-webkit-inline-box;background:#ffffff73}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.animated[_ngcontent-%COMP%]{animation-duration:2s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:1s}.caption[_ngcontent-%COMP%]{display:block;max-width:92px;width:12vw;text-align:center;margin-bottom:0}.caption.truncate-text[_ngcontent-%COMP%]{margin-top:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.common-ui-errorDetails[_ngcontent-%COMP%]{height:72px;display:flex;justify-content:center;margin:0 24px}.connect-error-details[_ngcontent-%COMP%]{display:flex}.common-ui-network-container[_ngcontent-%COMP%] .common-ui-resultDetails[_ngcontent-%COMP%]{height:24px;margin-bottom:30px;align-self:center;margin-top:22px}.common-ui-network-content[_ngcontent-%COMP%]{height:181px;background-color:#0000004d;overflow-y:auto}.common-ui-network-content[_ngcontent-%COMP%] .nv-button-class[_ngcontent-%COMP%]{height:84px;display:flex}.common-ui-network-content[_ngcontent-%COMP%] .override-warning-container[_ngcontent-%COMP%]{margin-top:5px;padding:0 24px;align-items:center}.common-ui-network-content[_ngcontent-%COMP%] span.icon-alert-circle_reg[_ngcontent-%COMP%]{font-size:11px}.common-ui-network-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:12px;margin-top:0}.div-table[_ngcontent-%COMP%]{display:table!important;width:101%;padding-top:24px;padding-bottom:24px;max-width:100%}.div-table-row[_ngcontent-%COMP%]{display:table-row;width:auto;clear:both;height:28px}.div-table-col[_ngcontent-%COMP%]{display:table-column;width:140px;text-align:center}.isLtr[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:right}.div-table-col-header[_ngcontent-%COMP%]{display:table-column;width:236px}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ffb538;width:177px}.yellowstyle[_ngcontent-%COMP%] .narrowstyle[_ngcontent-%COMP%]{width:26px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ed1c24;width:177px}.redstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ed1c24}.yellowstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.wifi_2_4_warn[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%]{display:table}.network-assets[_ngcontent-%COMP%]{display:flex}.error-details[_ngcontent-%COMP%]{display:flex;margin-top:24px}.isLtr[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.common-ui-error[_ngcontent-%COMP%]{width:480px}.redirect-page-div[_ngcontent-%COMP%]{display:flex;align-content:center;justify-content:center}.redirect-page-link[_ngcontent-%COMP%]{text-decoration:none}.vertical-gap-24[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-right:48px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-right:48px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-left:48px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-left:48px}.network-progress-fill[_ngcontent-%COMP%]{height:50px;background-color:#1f2224}.network-test-icons[_ngcontent-%COMP%]{display:block}.error-dlg-content[_ngcontent-%COMP%]{margin:24px;min-height:32px}.error-dlg-buttons[_ngcontent-%COMP%]{min-height:52px}.isLtr[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:left}button.error-dialog-button[_ngcontent-%COMP%]{margin:8px}.error-icon[_ngcontent-%COMP%]{font-size:32px!important}.isLtr[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.error-icon-error-dialog[_ngcontent-%COMP%]{font-size:32px;margin-top:20px;min-width:32px;line-height:5px}.isLtr[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 8px 23px 23px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 8px 23px 23px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 23px 23px 8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 23px 23px 8px}.active[_ngcontent-%COMP%]{background:#76b900;opacity:1;width:12px;height:12px;margin-bottom:-2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.normal[_ngcontent-%COMP%]{background:#ffffff73;width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.error-background-active-btn[_ngcontent-%COMP%]{background-color:#76b900}.custom-svg-icon[_ngcontent-%COMP%]{width:48px;height:auto}.network-isp-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row}.network-test-warning-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin-top:12px}.nv-dot-icons-container[_ngcontent-%COMP%]{margin-top:12px}@media (max-width: 960px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:60px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:60px}.network-test-results[_ngcontent-%COMP%]{min-width:80vw}.div-table-col-header[_ngcontent-%COMP%]{width:30%}.div-table-col[_ngcontent-%COMP%]{width:18%}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:120px}}@media (max-width: 790px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:48px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:48px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:80px}}@media (max-width: 690px){.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:60px}}@media screen and (max-width: 834px) and (max-height: 1194px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:87px}.nv-dot-icons[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.active[_ngcontent-%COMP%]{width:10px;height:10px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.normal[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.div-table-col-header[_ngcontent-%COMP%]{width:160px}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{display:block;max-height:65vh;overflow-y:auto;overflow-x:unset}.common-ui-network-container[_ngcontent-%COMP%]{margin:0;overflow:unset}.common-ui-network-header[_ngcontent-%COMP%]{margin:0}.common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500}.tv-view[_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.isLtr[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.common-ui-network-content[_ngcontent-%COMP%]{height:unset;background-color:unset}.nv-ui-assets[_ngcontent-%COMP%]{height:100px;line-height:0;margin-top:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.network-test-icons[_ngcontent-%COMP%]{text-align:center;height:16px;margin-top:0}.network-isp-icons[_ngcontent-%COMP%]{align-items:center}.nv-dot-icons[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.active[_ngcontent-%COMP%]{width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.normal[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.custom-svg-icon[_ngcontent-%COMP%]{width:24px;min-height:25px}.caption[_ngcontent-%COMP%]{margin:0 auto;align-self:center}.common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content;display:flex;justify-content:center}.isLtr[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.isRtl[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.network-test-error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;box-sizing:border-box;justify-content:center;align-items:stretch;max-width:100%}.icon-alert-bang[_ngcontent-%COMP%]{font-size:36px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:57px}.result-text[_ngcontent-%COMP%]{margin-top:0}.network-test-results[_ngcontent-%COMP%]{background-color:#0000004d;padding-top:16px}.mat-mdc-tab-group[_ngcontent-%COMP%]{background-color:#0000004d}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.div-table-row[_ngcontent-%COMP%]{justify-content:space-between;max-width:240px}}@media (max-width: 959.98px) and (orientation: landscape),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{max-height:60vh}.network-test-results[_ngcontent-%COMP%]{max-width:536px;min-width:0}.common-ui-network-container[_ngcontent-%COMP%]{width:536px;max-height:80vh}}@media (max-width: 599.98px) and (orientation: portrait){.common-ui-network-container[_ngcontent-%COMP%]{width:fit-content}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}}@media screen and (max-width: 320px) and (max-height: 568px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.active[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:1px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:1px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:40px}.result-text[_ngcontent-%COMP%]{width:70%}}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%]{width:960px;max-width:960px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{height:unset;margin-top:24px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:0}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%]{height:277px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{width:320px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{width:180px}.tv-view[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{height:20vh}.tv-view[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content}.tv-view[_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%]{margin:16px}.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.isLtr.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),S})()},3913:(xe,de,t)=>{"use strict";t.d(de,{H:()=>p});var e=t(58527),n=t(26537),E=t(80583),O=t(18433),B=t(52759),P=t(76706),k=t(4208),U=t(47766);const r=(i,o,_)=>({autoRun:i,showAdditionalActions:o,progressState:_});function A(i,o){if(1&i&&e.nrm(0,"gfn-network-icons",10),2&i){const _=e.XpG(3);e.Y8G("progressState",_.progressState)("nvTestData",_.testData)("maxDisplayState",_.maxDisplayState)("isWebRtcNetworkTest",_.isWebRtcNetworkTestEnabled)}}function l(i,o){if(1&i&&e.nrm(0,"gfn-network-completed",15),2&i){const _=e.XpG(4);e.Y8G("nvTestData",_.testData)("isHandset",_.isHandset)}}function I(i,o){if(1&i&&(e.j41(0,"mat-tab-group",16)(1,"mat-tab",17),e.nI1(2,"translate"),e.nrm(3,"gfn-network-tips",18),e.k0s(),e.j41(4,"mat-tab",17),e.nI1(5,"translate"),e.nrm(6,"gfn-network-completed",15),e.k0s()()),2&i){const _=e.XpG(4);e.R7$(),e.FS9("label",e.bMT(2,5,"common.troubleshootingTips")),e.R7$(2),e.Y8G("networkConditionsData",_.networkConditionsData),e.R7$(),e.FS9("label",e.bMT(5,7,"networkTest.detailsTag")),e.R7$(2),e.Y8G("nvTestData",_.testData)("isHandset",_.isHandset)}}function S(i,o){if(1&i&&(e.qex(0),e.j41(1,"span",19),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.nrm(4,"gfn-network-tips",18),e.j41(5,"span",19),e.EFF(6),e.nI1(7,"translate"),e.k0s(),e.nrm(8,"gfn-network-completed",15),e.bVm()),2&i){const _=e.XpG(4);e.R7$(2),e.JRh(e.bMT(3,5,"common.troubleshootingTips")),e.R7$(2),e.Y8G("networkConditionsData",_.networkConditionsData),e.R7$(2),e.JRh(e.bMT(7,7,"networkTest.detailsTag")),e.R7$(2),e.Y8G("nvTestData",_.testData)("isHandset",_.isHandset)}}function L(i,o){if(1&i&&(e.j41(0,"div",11),e.DNE(1,l,1,2,"gfn-network-completed",12)(2,I,7,9,"mat-tab-group",13)(3,S,9,9,"ng-container",14),e.k0s()),2&i){const _=e.XpG(3);e.R7$(),e.Y8G("ngIf",!_.showTroubleshootTips),e.R7$(),e.Y8G("ngIf",_.showTroubleshootTips&&!_.isHandset),e.R7$(),e.Y8G("ngIf",_.showTroubleshootTips&&_.isHandset)}}function s(i,o){if(1&i&&(e.j41(0,"div",7),e.DNE(1,A,1,4,"gfn-network-icons",8)(2,L,4,3,"div",9),e.k0s()),2&i){const _=e.XpG(2);e.R7$(),e.Y8G("ngIf",!_.autoRun||_.autoRun&&-1!==_.progressState),e.R7$(),e.Y8G("ngIf",-1!==_.progressState)}}function M(i,o){if(1&i){const _=e.RV6();e.j41(0,"div",20)(1,"gfn-network-test-error",21),e.bIt("close",function(){e.eBV(_);const J=e.XpG(2);return e.Njj(J.onClickClose())})("tryAgain",function(){e.eBV(_);const J=e.XpG(2);return e.Njj(J.onClickTryAgain())})("continue",function(){e.eBV(_);const J=e.XpG(2);return e.Njj(J.onClickContinue())}),e.k0s()()}if(2&i){const _=e.XpG(2);e.R7$(),e.Y8G("zoneName",_.zoneName)("networkTestErrorText",_.networkTestErrorText)("showFirewallHelpLink",_.showFirewallHelpLink)("firewallHelpUrl",_.firewallHelpUrl)("firewallHelpShortUrl",_.firewallHelpShortUrl)("firewallLinkText",_.firewallLinkText)("nvClient",_.nvClientApp)}}function u(i,o){if(1&i){const _=e.RV6();e.j41(0,"div",22)(1,"gfn-nw-test-button-placer",23),e.bIt("tryAgain",function(){e.eBV(_);const J=e.XpG(2);return e.Njj(J.onClickTryAgain())})("close",function(){e.eBV(_);const J=e.XpG(2);return e.Njj(J.onClickClose())})("continue",function(){e.eBV(_);const J=e.XpG(2);return e.Njj(J.onClickContinue())}),e.k0s()()}if(2&i){const _=e.XpG(2);e.R7$(),e.Y8G("placementCriteria",e.sMw(1,r,_.autoRun,_.showAdditionalActions,_.progressState))}}function x(i,o){if(1&i&&(e.j41(0,"div",1)(1,"div",2)(2,"p"),e.EFF(3),e.nI1(4,"translate"),e.k0s()(),e.j41(5,"div",3),e.DNE(6,s,3,2,"div",4)(7,M,2,7,"div",5),e.k0s(),e.DNE(8,u,2,5,"div",6),e.k0s()),2&i){const _=e.XpG();e.Y8G("ngSwitch",_.uiState),e.R7$(),e.Y8G("ngClass",_.isHandset?"font-header6":"font-header5"),e.R7$(2),e.JRh(e.bMT(4,6,_.networkTestHeaderText)),e.R7$(3),e.Y8G("ngSwitchCase","NETWORKTEST"),e.R7$(),e.Y8G("ngSwitchCase","ERROR"),e.R7$(),e.Y8G("ngIf","NETWORKTEST"===_.uiState&&-1!==_.progressState)}}let p=(()=>{var i;class o{constructor(f,J,a){this.breakpointObserver=J,this.networkTestDialogData=a,this.buttonClicked=new e.bkB,this.testData={},this.delayRetry=0,this.logger=f.getLogger("libraries/network-test/NetworkTestDialogStateComponent"),this.initData(),this.destroy$=new E.B7}initData(){var f,J,a,D,te,N;this.logger.info("Initializing network test dialog data:",this.networkTestDialogData),this.nvClientApp=O.sKj.StreamingClient,this.networkTestHeaderText=this.networkTestDialogData.networkTestHeaderText,this.progressState=this.networkTestDialogData.progressState,this.uiState=this.networkTestDialogData.uiState,this.autoRun=this.networkTestDialogData.autoRun,this.showNetworkTest=this.networkTestDialogData.showNetworkTest,this.testData=this.networkTestDialogData.testData,this.maxDisplayState=this.networkTestDialogData.maxDisplayState,this.isHandset=this.networkTestDialogData.isHandset,this.isWebRtcNetworkTestEnabled=this.networkTestDialogData.isWebRtcNetworkTestEnabled,this.networkConditionsData=this.networkTestDialogData.networkConditionsData,this.zoneName=this.networkTestDialogData.zoneName,this.networkTestErrorText=null===(f=this.networkTestDialogData)||void 0===f?void 0:f.networkTestErrorText,this.showFirewallHelpLink=null===(J=this.networkTestDialogData)||void 0===J?void 0:J.showFirewallHelpLink,this.firewallHelpUrl=null===(a=this.networkTestDialogData)||void 0===a?void 0:a.firewallHelpUrl,this.firewallHelpShortUrl=null===(D=this.networkTestDialogData)||void 0===D?void 0:D.firewallHelpShortUrl,this.firewallLinkText=null===(te=this.networkTestDialogData)||void 0===te?void 0:te.firewallLinkText,this.showTroubleshootTips=null===(N=this.networkTestDialogData)||void 0===N?void 0:N.showTroubleshootTips}ngOnInit(){this.breakpointObserver.observe([P.Rp.Handset,P.Rp.Tablet]).pipe((0,k.Q)(this.destroy$)).subscribe(f=>{this.isHandset=f.matches})}onClickContinue(){this.buttonClicked.emit(B.Ad.Continue)}onClickClose(){this.buttonClicked.emit(B.Ad.Close)}onClickTryAgain(){this.buttonClicked.emit(B.Ad.TryAgain)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(i=o).\u0275fac=function(f){return new(f||i)(e.rXU(U.J6),e.rXU(P.QP),e.rXU(n.Vh))},i.\u0275cmp=e.VBU({type:i,selectors:[["gfn-network-dialog-state"]],outputs:{buttonClicked:"buttonClicked"},decls:1,vars:1,consts:[["nvSpatialNavigationContainer","","class","common-ui-network-container",3,"ngSwitch",4,"ngIf"],["nvSpatialNavigationContainer","",1,"common-ui-network-container",3,"ngSwitch"],[1,"common-ui-network-header",3,"ngClass"],[1,"network-test-content"],["fxLayout","column","fxLayoutAlign","center stretch",4,"ngSwitchCase"],["class","network-test-error-container",4,"ngSwitchCase"],["class","nv-button-class","fxLayout","row","fxLayoutAlign","end stretch",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center stretch"],["fxLayout","column",3,"progressState","nvTestData","maxDisplayState","isWebRtcNetworkTest",4,"ngIf"],["class","network-test-results",4,"ngIf"],["fxLayout","column",3,"progressState","nvTestData","maxDisplayState","isWebRtcNetworkTest"],[1,"network-test-results"],[3,"nvTestData","isHandset",4,"ngIf"],["ngClass","mat-tabs-font-button1","mat-stretch-tabs","false","nvMatTabGroupFixUp","",4,"ngIf"],[4,"ngIf"],[3,"nvTestData","isHandset"],["ngClass","mat-tabs-font-button1","mat-stretch-tabs","false","nvMatTabGroupFixUp",""],[3,"label"],[3,"networkConditionsData"],[1,"common-ui-network-title"],[1,"network-test-error-container"],[3,"close","tryAgain","continue","zoneName","networkTestErrorText","showFirewallHelpLink","firewallHelpUrl","firewallHelpShortUrl","firewallLinkText","nvClient"],["fxLayout","row","fxLayoutAlign","end stretch",1,"nv-button-class"],[3,"tryAgain","close","continue","placementCriteria"]],template:function(f,J){1&f&&e.DNE(0,x,9,8,"div",0),2&f&&e.Y8G("ngIf",J.showNetworkTest)},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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.font-size-xxxs[_ngcontent-%COMP%]{font-size:8px}.font-size-xxs[_ngcontent-%COMP%]{font-size:11px}.font-size-sm[_ngcontent-%COMP%]{font-size:12px}.font-size-sm1[_ngcontent-%COMP%]{font-size:13px}.font-size-lg[_ngcontent-%COMP%]{font-size:14px}.font-size-xl[_ngcontent-%COMP%]{font-size:16px}.font-size-xl1[_ngcontent-%COMP%]{font-size:18px}.font-size-20[_ngcontent-%COMP%]{font-size:20px}.font-size-xxl[_ngcontent-%COMP%]{font-size:24px}.font-size-32[_ngcontent-%COMP%]{font-size:32px}.font-size-xxxl[_ngcontent-%COMP%]{font-size:40px}.line-height-sm[_ngcontent-%COMP%]{line-height:.75em}.line-height-sm1[_ngcontent-%COMP%]{line-height:1em}.line-height-14[_ngcontent-%COMP%]{line-height:14px}.line-height-12[_ngcontent-%COMP%]{line-height:12px}.line-height-16[_ngcontent-%COMP%]{line-height:16px}.line-height-md[_ngcontent-%COMP%]{line-height:1.5em}.line-height-lg[_ngcontent-%COMP%]{line-height:3em}.line-height-30[_ngcontent-%COMP%]{line-height:30px}.line-height-36[_ngcontent-%COMP%]{line-height:36px}.line-height-lg1[_ngcontent-%COMP%]{line-height:40px}.font-style-italic[_ngcontent-%COMP%]{font-style:italic}.font-style-bold[_ngcontent-%COMP%]{font-weight:700}.font-style-normal[_ngcontent-%COMP%]{font-weight:400}.font-uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.font-lowercase[_ngcontent-%COMP%]{text-transform:lowercase}.text-transform-none[_ngcontent-%COMP%]{text-transform:none}.common-ui-network-container[_ngcontent-%COMP%]{background-color:#1f2224;max-width:789px}.common-ui-network-header[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:0;height:24px}.isLtr[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900;vertical-align:middle;min-width:24px}.isLtr[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.result-text-container[_ngcontent-%COMP%]{margin-bottom:6px}.result-text[_ngcontent-%COMP%]{margin-top:1px}.nw-icon[_ngcontent-%COMP%]{height:24px;line-height:24px;width:auto;speak:none;font-size:48px;font-variant:normal;align-self:center;color:#fff;opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:22px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:22px}.icon-alert-bang[_ngcontent-%COMP%]{margin:0}.common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.common-ui-network-container[_ngcontent-%COMP%] .result-icon.error[_ngcontent-%COMP%]{color:#ed1c24}.warn[_ngcontent-%COMP%]{color:#ffb538}.error[_ngcontent-%COMP%]{color:#ed1c24}.common-ui-errorDetails[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#76b900}.flex-1[_ngcontent-%COMP%]{flex:1}.nv-ui-assets[_ngcontent-%COMP%]{height:140px;margin-top:64px;display:flex;flex-direction:row;overflow:hidden;justify-content:center;align-items:baseline}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:79px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:79px}.nv-dot-icons[_ngcontent-%COMP%]{border-radius:50%;width:8px;height:8px;align-self:center;display:-webkit-inline-box;background:#ffffff73}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.animated[_ngcontent-%COMP%]{animation-duration:2s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:1s}.caption[_ngcontent-%COMP%]{display:block;max-width:92px;width:12vw;text-align:center;margin-bottom:0}.caption.truncate-text[_ngcontent-%COMP%]{margin-top:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.common-ui-errorDetails[_ngcontent-%COMP%]{height:72px;display:flex;justify-content:center;margin:0 24px}.connect-error-details[_ngcontent-%COMP%]{display:flex}.common-ui-network-container[_ngcontent-%COMP%] .common-ui-resultDetails[_ngcontent-%COMP%]{height:24px;margin-bottom:30px;align-self:center;margin-top:22px}.common-ui-network-content[_ngcontent-%COMP%]{height:181px;background-color:#0000004d;overflow-y:auto}.common-ui-network-content[_ngcontent-%COMP%] .nv-button-class[_ngcontent-%COMP%]{height:84px;display:flex}.common-ui-network-content[_ngcontent-%COMP%] .override-warning-container[_ngcontent-%COMP%]{margin-top:5px;padding:0 24px;align-items:center}.common-ui-network-content[_ngcontent-%COMP%] span.icon-alert-circle_reg[_ngcontent-%COMP%]{font-size:11px}.common-ui-network-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:12px;margin-top:0}.div-table[_ngcontent-%COMP%]{display:table!important;width:101%;padding-top:24px;padding-bottom:24px;max-width:100%}.div-table-row[_ngcontent-%COMP%]{display:table-row;width:auto;clear:both;height:28px}.div-table-col[_ngcontent-%COMP%]{display:table-column;width:140px;text-align:center}.isLtr[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:right}.div-table-col-header[_ngcontent-%COMP%]{display:table-column;width:236px}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ffb538;width:177px}.yellowstyle[_ngcontent-%COMP%] .narrowstyle[_ngcontent-%COMP%]{width:26px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ed1c24;width:177px}.redstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ed1c24}.yellowstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.wifi_2_4_warn[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%]{display:table}.network-assets[_ngcontent-%COMP%]{display:flex}.error-details[_ngcontent-%COMP%]{display:flex;margin-top:24px}.isLtr[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.common-ui-error[_ngcontent-%COMP%]{width:480px}.redirect-page-div[_ngcontent-%COMP%]{display:flex;align-content:center;justify-content:center}.redirect-page-link[_ngcontent-%COMP%]{text-decoration:none}.vertical-gap-24[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-right:48px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-right:48px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-left:48px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-left:48px}.network-progress-fill[_ngcontent-%COMP%]{height:50px;background-color:#1f2224}.network-test-icons[_ngcontent-%COMP%]{display:block}.error-dlg-content[_ngcontent-%COMP%]{margin:24px;min-height:32px}.error-dlg-buttons[_ngcontent-%COMP%]{min-height:52px}.isLtr[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:left}button.error-dialog-button[_ngcontent-%COMP%]{margin:8px}.error-icon[_ngcontent-%COMP%]{font-size:32px!important}.isLtr[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.error-icon-error-dialog[_ngcontent-%COMP%]{font-size:32px;margin-top:20px;min-width:32px;line-height:5px}.isLtr[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 8px 23px 23px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 8px 23px 23px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 23px 23px 8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 23px 23px 8px}.active[_ngcontent-%COMP%]{background:#76b900;opacity:1;width:12px;height:12px;margin-bottom:-2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.normal[_ngcontent-%COMP%]{background:#ffffff73;width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.error-background-active-btn[_ngcontent-%COMP%]{background-color:#76b900}.custom-svg-icon[_ngcontent-%COMP%]{width:48px;height:auto}.network-isp-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row}.network-test-warning-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin-top:12px}.nv-dot-icons-container[_ngcontent-%COMP%]{margin-top:12px}@media (max-width: 960px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:60px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:60px}.network-test-results[_ngcontent-%COMP%]{min-width:80vw}.div-table-col-header[_ngcontent-%COMP%]{width:30%}.div-table-col[_ngcontent-%COMP%]{width:18%}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:120px}}@media (max-width: 790px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:48px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:48px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:80px}}@media (max-width: 690px){.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:60px}}@media screen and (max-width: 834px) and (max-height: 1194px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:87px}.nv-dot-icons[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.active[_ngcontent-%COMP%]{width:10px;height:10px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.normal[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.div-table-col-header[_ngcontent-%COMP%]{width:160px}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{display:block;max-height:65vh;overflow-y:auto;overflow-x:unset}.common-ui-network-container[_ngcontent-%COMP%]{margin:0;overflow:unset}.common-ui-network-header[_ngcontent-%COMP%]{margin:0}.common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500}.tv-view[_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.isLtr[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.common-ui-network-content[_ngcontent-%COMP%]{height:unset;background-color:unset}.nv-ui-assets[_ngcontent-%COMP%]{height:100px;line-height:0;margin-top:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.network-test-icons[_ngcontent-%COMP%]{text-align:center;height:16px;margin-top:0}.network-isp-icons[_ngcontent-%COMP%]{align-items:center}.nv-dot-icons[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.active[_ngcontent-%COMP%]{width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.normal[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.custom-svg-icon[_ngcontent-%COMP%]{width:24px;min-height:25px}.caption[_ngcontent-%COMP%]{margin:0 auto;align-self:center}.common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content;display:flex;justify-content:center}.isLtr[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.isRtl[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.network-test-error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;box-sizing:border-box;justify-content:center;align-items:stretch;max-width:100%}.icon-alert-bang[_ngcontent-%COMP%]{font-size:36px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:57px}.result-text[_ngcontent-%COMP%]{margin-top:0}.network-test-results[_ngcontent-%COMP%]{background-color:#0000004d;padding-top:16px}.mat-mdc-tab-group[_ngcontent-%COMP%]{background-color:#0000004d}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.div-table-row[_ngcontent-%COMP%]{justify-content:space-between;max-width:240px}}@media (max-width: 959.98px) and (orientation: landscape),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{max-height:60vh}.network-test-results[_ngcontent-%COMP%]{max-width:536px;min-width:0}.common-ui-network-container[_ngcontent-%COMP%]{width:536px;max-height:80vh}}@media (max-width: 599.98px) and (orientation: portrait){.common-ui-network-container[_ngcontent-%COMP%]{width:fit-content}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}}@media screen and (max-width: 320px) and (max-height: 568px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.active[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:1px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:1px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:40px}.result-text[_ngcontent-%COMP%]{width:70%}}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%]{width:960px;max-width:960px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{height:unset;margin-top:24px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:0}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%]{height:277px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{width:320px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{width:180px}.tv-view[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{height:20vh}.tv-view[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content}.tv-view[_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%]{margin:16px}.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.isLtr.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),o})()},96145:(xe,de,t)=>{"use strict";t.d(de,{_:()=>E});var e=t(26537),n=t(58527);let E=(()=>{var O;class B{constructor(k){this.networkTestDialogData=k}}return(O=B).\u0275fac=function(k){return new(k||O)(n.rXU(e.Vh))},O.\u0275cmp=n.VBU({type:O,selectors:[["gfn-network-test-dialog"]],decls:2,vars:2,consts:[["fxFill",""],["nvBackToCloseModal","","fxFill","",3,"nvClientApp","networkTestResult"]],template:function(k,U){1&k&&(n.j41(0,"div",0),n.nrm(1,"gfn-network-test",1),n.k0s()),2&k&&(n.R7$(),n.Y8G("nvClientApp",U.networkTestDialogData.nvClientApp)("networkTestResult",U.networkTestDialogData.networkTestResult))},encapsulation:2}),B})()},79682:(xe,de,t)=>{"use strict";t.d(de,{I:()=>X});var e=t(76706),n=t(47766),E=t(26875),B=t(80583),P=t(43848),k=t(59859),U=t(3496),r=t(4208),A=t(99047),l=t(75707),I=t(65706),S=t(91384),L=t(10174),s=t(79539),M=t(83915),u=t(14714),x=t(43615),p=t(52759),i=t(18433),o=t(36206),_=t(78893),f=t(3913),J=t(61389),a=t(58527),D=t(76961),te=t(51542),N=t(44968),z=t(74965),R=t(21341),v=t(19844),h=t(61958),W=t(26537),ne=t(19061),ee=t(21172);const b=(c,g,d)=>({autoRun:c,showAdditionalActions:g,progressState:d});function w(c,g){if(1&c&&a.nrm(0,"gfn-network-test-analyzer",2),2&c){const d=a.XpG();a.Y8G("data",d.analyzerData)}}function F(c,g){if(1&c&&a.nrm(0,"gfn-network-completed",16),2&c){const d=a.XpG(4);a.Y8G("nvTestData",d.testData)("isHandset",d.isHandset)}}function Z(c,g){if(1&c&&(a.j41(0,"mat-tab-group",17)(1,"mat-tab",18),a.nI1(2,"translate"),a.nrm(3,"gfn-network-tips",19),a.k0s(),a.j41(4,"mat-tab",18),a.nI1(5,"translate"),a.nrm(6,"gfn-network-completed",16),a.k0s()()),2&c){const d=a.XpG(4);a.R7$(),a.FS9("label",a.bMT(2,5,"common.troubleshootingTips")),a.R7$(2),a.Y8G("networkConditionsData",d.networkConditionsData),a.R7$(),a.FS9("label",a.bMT(5,7,"networkTest.detailsTag")),a.R7$(2),a.Y8G("nvTestData",d.testData)("isHandset",d.isHandset)}}function se(c,g){if(1&c&&(a.qex(0),a.j41(1,"span",20),a.EFF(2),a.nI1(3,"translate"),a.k0s(),a.nrm(4,"gfn-network-tips",19),a.j41(5,"span",20),a.EFF(6),a.nI1(7,"translate"),a.k0s(),a.nrm(8,"gfn-network-completed",16),a.bVm()),2&c){const d=a.XpG(4);a.R7$(2),a.JRh(a.bMT(3,5,"common.troubleshootingTips")),a.R7$(2),a.Y8G("networkConditionsData",d.networkConditionsData),a.R7$(2),a.JRh(a.bMT(7,7,"networkTest.detailsTag")),a.R7$(2),a.Y8G("nvTestData",d.testData)("isHandset",d.isHandset)}}function Y(c,g){if(1&c&&(a.j41(0,"div",12),a.DNE(1,F,1,2,"gfn-network-completed",13)(2,Z,7,9,"mat-tab-group",14)(3,se,9,9,"ng-container",15),a.k0s()),2&c){const d=a.XpG(3);a.R7$(),a.Y8G("ngIf",!d.showTroubleshootTips),a.R7$(),a.Y8G("ngIf",d.showTroubleshootTips&&!d.isHandset),a.R7$(),a.Y8G("ngIf",d.showTroubleshootTips&&d.isHandset)}}function q(c,g){if(1&c&&(a.j41(0,"div",9),a.nrm(1,"gfn-network-icons",10),a.DNE(2,Y,4,3,"div",11),a.k0s()),2&c){const d=a.XpG(2);a.R7$(),a.Y8G("progressState",d.progressState)("nvTestData",d.testData)("maxDisplayState",d.maxDisplayState)("isWebRtcNetworkTest",d.isWebRtcNetworkTestEnabled),a.R7$(),a.Y8G("ngIf",-1!==d.progressState)}}function T(c,g){if(1&c){const d=a.RV6();a.j41(0,"div",21)(1,"gfn-network-test-error",22),a.bIt("close",function(){a.eBV(d);const Q=a.XpG(2);return a.Njj(Q.onClickClose())})("tryAgain",function(){a.eBV(d);const Q=a.XpG(2);return a.Njj(Q.onClickTryAgain())})("continue",function(){a.eBV(d);const Q=a.XpG(2);return a.Njj(Q.onClickContinue())}),a.k0s()()}if(2&c){const d=a.XpG(2);a.R7$(),a.Y8G("zoneName",d.zoneName)("networkTestErrorText",d.networkTestErrorText)("showFirewallHelpLink",d.showFirewallHelpLink)("firewallHelpUrl",d.firewallHelpUrl)("firewallHelpShortUrl",d.firewallHelpShortUrl)("firewallLinkText",d.firewallLinkText)("nvClient",d.nvClientApp)}}function H(c,g){if(1&c){const d=a.RV6();a.j41(0,"div",23)(1,"gfn-nw-test-button-placer",24),a.bIt("tryAgain",function(){a.eBV(d);const Q=a.XpG(2);return a.Njj(Q.onClickTryAgain())})("close",function(){a.eBV(d);const Q=a.XpG(2);return a.Njj(Q.onClickClose())})("continue",function(){a.eBV(d);const Q=a.XpG(2);return a.Njj(Q.onClickContinue())}),a.k0s()()}if(2&c){const d=a.XpG(2);a.R7$(),a.Y8G("placementCriteria",a.sMw(1,b,d.autoRun,d.showAdditionalActions,d.progressState))}}function y(c,g){if(1&c&&(a.j41(0,"div",3)(1,"div",4)(2,"p"),a.EFF(3),a.nI1(4,"translate"),a.k0s()(),a.j41(5,"div",5),a.DNE(6,q,3,5,"div",6)(7,T,2,7,"div",7),a.k0s(),a.DNE(8,H,2,5,"div",8),a.k0s()),2&c){const d=a.XpG();a.Y8G("ngSwitch",d.uiState),a.R7$(),a.Y8G("ngClass",d.isHandset?"font-header6":"font-header5"),a.R7$(2),a.JRh(a.bMT(4,6,d.networkTestHeaderText)),a.R7$(3),a.Y8G("ngSwitchCase","NETWORKTEST"),a.R7$(),a.Y8G("ngSwitchCase","ERROR"),a.R7$(),a.Y8G("ngIf","NETWORKTEST"===d.uiState&&-1!==d.progressState)}}let X=(()=>{var c;class g{constructor(C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe){var Be;this.networkTestService=Q,this.telemetryUtil=j,this.networkConfigurationService=le,this.redirectService=ge,this.applicationLifetimeService=ie,this.networkStatusService=ce,this.streamingProfileService=G,this.serverRouting=ue,this.networkTestTelemetryService=ae,this.appConfig=Ce,this.breakpointObserver=Se,this.dialogRef=Ne,this.matDialog=we,this.element=ve,this.focusManager=Pe,this.pluginsNotificationService=Oe,this.nvClientApp=i.sKj.MallClient,this.testData={},this.shutdownHandler=null,this.delayRetry=0,this.logger=C.getLogger("libraries/network-test/NetworkTestComponent"),this.destroy$=new B.B7,this.mobileMode=!(null===(Be=this.appConfig)||void 0===Be||null===(Be=Be.featureEnablement)||void 0===Be||!Be.mobileMode),this.networkTestHeaderText="networkTest.networkTestHeader",this.showNetworkTest=!n.zk.isBrowserPlatform()}ngOnInit(){this.autoRun=this.nvClientApp===i.sKj.StreamingClient,this.telemetryUtil.setClientType(this.autoRun?_.td.Streamer:_.td.Mall),this.platform=n.zk.isBrowserPlatform()?p.Rl.browser:this.autoRun?p.Rl.streamer:p.Rl.mall,this.showTroubleshootTips=!1,this.analyzerData={cmsId:this.cmsId},this.networkTestService.initialize(),n.zk.isBrowserPlatform()&&this.networkTestService.webrtcNetworkTestEnabled.pipe((0,r.Q)(this.destroy$)).subscribe(C=>{this.isWebRtcNetworkTestEnabled=C.enabled,this.showNetworkTest=C.showUI}),this.networkStatusService.onlineStatusChanged.pipe((0,A.$)(),(0,l.ZZ)(C=>C?this.networkTestResult?this.networkTestService.getNetworkInfo().pipe((0,I.s)(1),(0,S.M)(Q=>{if(!Q)return void this.logger.error("Invalid Network Info");this.testData.networkInfo=Q,this.testData.result=this.networkTestResult,this.logger.info("Using existing network test results: ",this.testData.result);const j=this.populateNetworkTestResultData(this.networkTestResult);this.populateNetworkConditions(),this.uiState=p.Dh.NetworkTest,this.autoRun?this.showAutoNetworkTestResultsDialog(j):this.focusManager.focusChild(this.element.nativeElement,"initial")}),(0,L.u)(C)):this.initiateNetworkAnalysis().pipe((0,L.u)(C)):(this.showNetworkTestError({networkTestStatus:i.fbu.ClientOffline,errorDetails:i.fbu.ClientOffline,errorCode:p.fv.Success}),(0,P.of)(C)))).subscribe(C=>{this.logger.info(`Network analysis was ${C?"":"not "}started on init.`)}),this.networkConfigurationService.getNetworkOverride().pipe((0,I.s)(1)).subscribe(C=>{this.zoneOverride=C}),this.shutdownHandler=this.applicationLifetimeService.addWorkOnShutdown(()=>this.serverRouting.cleanupOnCancel().pipe((0,l.ZZ)(()=>this.networkTestService.cleanupOnCancel()),(0,L.u)(void 0))),this.updateZoneName(),this.breakpointObserver.observe([e.Rp.Handset,e.Rp.Tablet]).pipe((0,r.Q)(this.destroy$)).subscribe(C=>{this.isHandset=C.matches}),this.setAnalysisState(this.autoRun&&this.progressState===p.b6.Progress)}initiateNetworkAnalysis(C=!1){return this.attemptLbr().pipe((0,l.ZZ)(Q=>(this.logger.info(`LBR was ${Q?"":"not "}attempted.`),this.attemptNetworkTest(C))),(0,S.M)(Q=>{this.logger.info(`Network Test was ${Q?"":"not "}attempted.`)}))}attemptLbr(){return this.isWebRtcNetworkTestEnabled||this.autoRun&&!this.serverRouting.isLbrRequired?(0,P.of)(!1):(this.networkTestService.setLbrState(p.Kf.Started),this.networkTestService.getNetworkInfo().pipe((0,s.H)(C=>(0,E.isNil)(C)&&!n.zk.isBrowserPlatform()?(0,k.$)("Invalid Network Info"):(this.testData.networkInfo=C,this.progressState=p.b6.Progress,this.uiState=p.Dh.NetworkTest,this.networkTestService.runLbrAndSaveOptimalZone(this.platform))),(0,I.s)(1),(0,M.T)(C=>(this.logger.info("LBR attempt succeeded with fetched zone: ",C),!0)),(0,u.W)(C=>(this.logger.info("LBR attempt failed with: ",C),(0,P.of)("Invalid Network Info"!==C))),(0,S.M)(()=>{this.autoRun&&!this.networkTestService.isNetworkTestRequired&&this.networkTestService.sendMessage(p.Nu.LBRAutoRunDone,{networkTestStatus:this.progressState,isLbrRun:this.serverRouting.isLbrRun})}),(0,x.j)(()=>this.networkTestService.setLbrState(p.Kf.Finished))))}attemptNetworkTest(C=!1){if(!this.autoRun||this.networkTestService.isNetworkTestRequired||C){this.networkTestService.setNetworkTestState(p.Kf.Started),this.showAdditionalActions=!1;const Q=Date.now();return this.networkTestService.getNetworkInfo().pipe((0,s.H)(j=>(0,E.isNil)(j)&&!n.zk.isBrowserPlatform()?(0,k.$)("Invalid Network Info"):(this.testData.networkInfo=j,this.progressState=p.b6.Progress,this.uiState=p.Dh.NetworkTest,(0,U.O)(this.delayRetry).pipe(()=>this.networkTestService.startNetworkTest(this.platform)))),(0,I.s)(1),(0,l.ZZ)(j=>{this.delayRetry=j.result===p.rk.NCT_R_CAPACITY_FULL?2*(this.delayRetry||this.appConfig.networkTest.delayFactorCapacityFull):0,this.logger.info(`Network Test Delay Retry Time: ${this.delayRetry}`),this.networkTestTelemetryStatus=i.fbu.Success;const le=this.populateNetworkTestResultData(j);return j.isSuccess&&this.populateNetworkConditions(),this.autoRun?this.showAutoNetworkTestResultsDialog(le):this.focusManager.focusChild(this.element.nativeElement,"initial"),this.networkTestTelemetryService.sendTestDoneTelemetry({autoRun:this.autoRun,isWebRtcNetworkTest:this.isWebRtcNetworkTestEnabled,testData:this.testData,zoneOverride:this.zoneOverride,networkTestTelemetryStatus:this.networkTestTelemetryStatus,startTime:Q},j).pipe((0,L.u)(!0))}),(0,u.W)(j=>(this.logger.info("Network Test failed, error code: ",j),this.networkTestTelemetryStatus=j.status?i.fbu.HTTPError:i.fbu.Other,this.showNetworkTestError({networkTestStatus:this.networkTestTelemetryStatus,errorDetails:(0,E.toString)(j&&j.status||j),errorCode:j.code}),this.networkTestTelemetryService.sendTestDoneTelemetry({autoRun:this.autoRun,isWebRtcNetworkTest:this.isWebRtcNetworkTestEnabled,testData:this.testData,zoneOverride:this.zoneOverride,networkTestTelemetryStatus:this.networkTestTelemetryStatus,startTime:Q}).pipe((0,L.u)("Invalid Network Info"!==j)))),(0,x.j)(()=>this.networkTestService.setNetworkTestState(p.Kf.Finished)))}return(0,P.of)(!1)}updateZoneName(){this.logger.info("Subscribe to zone name: "),this.networkTestService.zoneName.pipe((0,r.Q)(this.destroy$)).subscribe(C=>{this.zoneName=C.name})}populateNetworkTestResultData(C){if(this.networkTestHeaderText="networkTest.networkTestResultsHeader",this.setAnalysisState(!1),C.isSuccess){if(this.testData.result=C,this.progressState=C.analysis.networkQuality,this.logger.info("Populate Network test result data, result status: ",p.b6[this.progressState]),(this.progressState!==p.b6.Excellent||this.testData.networkInfo.NetworkType===n.Sd.WiFi2_4||"1"===this.testData.networkInfo.IsVPN)&&(this.showAdditionalActions=!0),this.showTroubleshootTips=this.progressState===p.b6.Poor||this.progressState===p.b6.Bad||this.progressState===p.b6.Excellent&&(this.testData.networkInfo.NetworkType===n.Sd.WiFi2_4||"1"===this.testData.networkInfo.IsVPN),this.populateMaxDisplayTestData(C),this.autoRun){let Q=this.progressState;return this.progressState===p.b6.Excellent&&(this.testData.networkInfo.NetworkType===n.Sd.WiFi2_4||"1"===this.testData.networkInfo.IsVPN)&&(Q=p.b6.Poor,this.logger.info("Updating network test result status due to criteria: ",Q)),this.networkTestService.sendMessage(p.Nu.NetworkTestAutoRunDone,{networkTestStatus:Q}),Q}}else this.networkTestTelemetryStatus=i.fbu.NetworkTestSdkError,this.showNetworkTestError({networkTestStatus:this.networkTestTelemetryStatus,errorDetails:C.errorDetails||(0,E.toString)(C.result),errorCode:C.result});return this.progressState}showAutoNetworkTestResultsDialog(C){if(this.logger.info("Network test result is: ",p.b6[this.progressState]),this.progressState!==p.b6.Excellent||this.progressState===p.b6.Excellent&&this.progressState!==C){this.logger.info("Network test results are not optimal; showing results dialog");const j={nvClientApp:i.sKj.StreamingClient,networkTestHeaderText:this.networkTestHeaderText,progressState:this.progressState,uiState:this.uiState,autoRun:this.autoRun,showNetworkTest:this.showNetworkTest,testData:this.testData,maxDisplayState:this.maxDisplayState,isHandset:this.isHandset,isWebRtcNetworkTestEnabled:this.isWebRtcNetworkTestEnabled,showTroubleshootTips:this.showTroubleshootTips,networkConditionsData:this.networkConditionsData,zoneName:this.zoneName,networkTestErrorText:this.networkTestErrorText,showFirewallHelpLink:this.showFirewallHelpLink,firewallHelpUrl:this.firewallHelpUrl,firewallHelpShortUrl:this.firewallHelpShortUrl,firewallLinkText:this.firewallLinkText,showAdditionalActions:this.showAdditionalActions};this.streamerNTdialog=this.focusManager.restoreFocusAfterClosed(()=>this.matDialog.open(f.H,{panelClass:["dialog-component-container","dark-hue4-background-dialog"],disableClose:!0,autoFocus:!1,enterAnimationDuration:"0ms",data:j})),this.streamerNTdialog.componentInstance.buttonClicked.pipe((0,r.Q)(this.destroy$)).subscribe(le=>{switch(le){case p.Ad.Continue:this.onClickContinue();break;case p.Ad.Close:this.onClickClose();break;case p.Ad.TryAgain:this.onClickTryAgain()}})}}populateNetworkConditions(){this.networkConditionsData={isVpn:"1"===this.testData.networkInfo.IsVPN,zoneOverride:this.zoneOverride,bandwidth:this.testData.result.bandwidth.measured,latency:this.testData.result.latency.measured,networkType:this.testData.networkInfo.NetworkType},this.logger.info("Current network conditions: : ",this.networkConditionsData)}populateMaxDisplayTestData(C){(0,E.isNil)(C.capableProfile)||this.testData.networkInfo.NetworkType===n.Sd.WiFi2_4?this.maxDisplayState=null:this.streamingProfileService.getMaxDisplayTestData(this.autoRun).pipe((0,r.Q)(this.destroy$)).subscribe(Q=>{this.maxDisplayState=(0,E.isNil)(Q)?null:{width:Q.width,height:Q.height,frameRate:Q.fps}})}showNetworkTestError(C){this.logger.info("Error in network test, errorDetails: ",C),this.uiState=p.Dh.Error,C.errorCode===p.rk.NCT_R_BLOCK_STREAM?(this.networkTestErrorText="common.genericLoadError",this.showFirewallHelpLink=!0,this.redirectService.getRedirectUrl(o.r7.GfnPcNetHelpFirewall).pipe((0,I.s)(1),(0,r.Q)(this.destroy$)).subscribe(Q=>{this.firewallHelpUrl=Q,this.firewallHelpShortUrl=o.lp[o.r7.GfnPcNetHelpFirewall]}),this.firewallLinkText="networkTest.networkTestFirefallIssue",this.logger.info("Firewall URL: ",this.firewallHelpUrl)):(this.networkTestErrorText=C.networkTestStatus!==i.fbu.ClientOffline?"networkTest.encounteredProblem":"common.connectionError",this.showFirewallHelpLink=!1),(null==C?void 0:C.networkTestStatus)!==i.fbu.ClientOffline?this.pluginsNotificationService.isPluginLoaded$(J.Ms.NetworkTest).pipe((0,I.s)(1)).subscribe(Q=>{Q?this.networkTestService.sendMessage(p.Nu.NetworkTestFailed,C):this.networkTestService.sendMessage(p.Nu.NetworkTestFailedMissingPlugin)}):this.networkTestService.sendMessage(p.Nu.NetworkTestFailed)}setAnalysisState(C){var Q;this.analyzerData={...this.analyzerData,isAnalysisDone:!C},this.logger.info("Is Network Test Analysis phase on: ",C," , Is analysis done: ",null===(Q=this.analyzerData)||void 0===Q?void 0:Q.isAnalysisDone)}onClickTryAgain(){this.networkTestHeaderText="networkTest.networkTestHeader",this.networkStatusService.onlineStatusChanged.pipe((0,A.$)(),(0,l.ZZ)(C=>{var Q;return C?(this.autoRun&&(null===(Q=this.streamerNTdialog)||void 0===Q||Q.close(),this.networkTestService.sendMessage(p.Nu.NetworkTestAutoRunTryAgain),this.showNetworkTest=!0,this.setAnalysisState(!0)),this.initiateNetworkAnalysis(!0).pipe((0,L.u)(C))):(this.uiState=p.Dh.Error,this.showNetworkTestError({networkTestStatus:i.fbu.ClientOffline,errorDetails:i.fbu.ClientOffline,errorCode:p.fv.Success}),(0,P.of)(C))})).subscribe(C=>{this.logger.info(`Network analysis was ${C?"":"not "}started on Try Again.`)})}onClickClose(){var C;this.dialogRef&&this.dialogRef.close(),this.autoRun&&(null===(C=this.streamerNTdialog)||void 0===C||C.close(),this.networkTestService.sendMessage(p.Nu.NetworkTestClosedOnError,{networkTestStatus:this.progressState}))}onClickContinue(){var C;this.showNetworkTest=!1,this.dialogRef&&this.dialogRef.close(),this.autoRun&&(null===(C=this.streamerNTdialog)||void 0===C||C.close()),this.networkTestService.sendMessage(p.Nu.NetworkTestClosed,{networkTestStatus:this.progressState})}ngOnDestroy(){var C;this.destroy$.next(!0),this.destroy$.complete(),null===(C=this.streamerNTdialog)||void 0===C||C.close(),this.serverRouting.cleanupOnCancel().pipe((0,l.ZZ)(()=>this.networkTestService.cleanupOnCancel()),(0,I.s)(1)).subscribe(()=>{this.logger.info("destroying component: network analysis cleanup is done!"),this.shutdownHandler&&this.shutdownHandler.remove()})}}return(c=g).\u0275fac=function(C){return new(C||c)(a.rXU(n.J6),a.rXU(D.q),a.rXU(i.jgD),a.rXU(te.u),a.rXU(o.Q5),a.rXU(N.lM),a.rXU(n.CF),a.rXU(z.x),a.rXU(R.bo),a.rXU(v.J),a.rXU(h.Vk),a.rXU(e.QP),a.rXU(W.CP,8),a.rXU(W.bZ),a.rXU(a.aKT),a.rXU(ne.c_),a.rXU(ee.P))},c.\u0275cmp=a.VBU({type:c,selectors:[["gfn-network-test"]],inputs:{nvClientApp:"nvClientApp",networkTestResult:"networkTestResult",cmsId:"cmsId"},decls:2,vars:2,consts:[["fxFill","",3,"data",4,"ngIf"],["nvSpatialNavigationContainer","","nvCaptureRestoreFocus","","nvTrapFocus","","class","common-ui-network-container",3,"ngSwitch",4,"ngIf"],["fxFill","",3,"data"],["nvSpatialNavigationContainer","","nvCaptureRestoreFocus","","nvTrapFocus","",1,"common-ui-network-container",3,"ngSwitch"],[1,"common-ui-network-header",3,"ngClass"],[1,"network-test-content"],["fxLayout","column","fxLayoutAlign","center stretch",4,"ngSwitchCase"],["class","network-test-error-container",4,"ngSwitchCase"],["class","nv-button-class","fxLayout","row","fxLayoutAlign","end stretch",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center stretch"],["fxLayout","column",3,"progressState","nvTestData","maxDisplayState","isWebRtcNetworkTest"],["class","network-test-results",4,"ngIf"],[1,"network-test-results"],[3,"nvTestData","isHandset",4,"ngIf"],["ngClass","mat-tabs-font-button1","mat-stretch-tabs","false","nvMatTabGroupFixUp","",4,"ngIf"],[4,"ngIf"],[3,"nvTestData","isHandset"],["ngClass","mat-tabs-font-button1","mat-stretch-tabs","false","nvMatTabGroupFixUp",""],[3,"label"],[3,"networkConditionsData"],[1,"common-ui-network-title"],[1,"network-test-error-container"],[3,"close","tryAgain","continue","zoneName","networkTestErrorText","showFirewallHelpLink","firewallHelpUrl","firewallHelpShortUrl","firewallLinkText","nvClient"],["fxLayout","row","fxLayoutAlign","end stretch",1,"nv-button-class"],[3,"tryAgain","close","continue","placementCriteria"]],template:function(C,Q){1&C&&a.DNE(0,w,1,1,"gfn-network-test-analyzer",0)(1,y,9,8,"div",1),2&C&&(a.Y8G("ngIf",Q.showNetworkTest&&Q.autoRun),a.R7$(),a.Y8G("ngIf",Q.showNetworkTest&&!Q.autoRun))},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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.font-size-xxxs[_ngcontent-%COMP%]{font-size:8px}.font-size-xxs[_ngcontent-%COMP%]{font-size:11px}.font-size-sm[_ngcontent-%COMP%]{font-size:12px}.font-size-sm1[_ngcontent-%COMP%]{font-size:13px}.font-size-lg[_ngcontent-%COMP%]{font-size:14px}.font-size-xl[_ngcontent-%COMP%]{font-size:16px}.font-size-xl1[_ngcontent-%COMP%]{font-size:18px}.font-size-20[_ngcontent-%COMP%]{font-size:20px}.font-size-xxl[_ngcontent-%COMP%]{font-size:24px}.font-size-32[_ngcontent-%COMP%]{font-size:32px}.font-size-xxxl[_ngcontent-%COMP%]{font-size:40px}.line-height-sm[_ngcontent-%COMP%]{line-height:.75em}.line-height-sm1[_ngcontent-%COMP%]{line-height:1em}.line-height-14[_ngcontent-%COMP%]{line-height:14px}.line-height-12[_ngcontent-%COMP%]{line-height:12px}.line-height-16[_ngcontent-%COMP%]{line-height:16px}.line-height-md[_ngcontent-%COMP%]{line-height:1.5em}.line-height-lg[_ngcontent-%COMP%]{line-height:3em}.line-height-30[_ngcontent-%COMP%]{line-height:30px}.line-height-36[_ngcontent-%COMP%]{line-height:36px}.line-height-lg1[_ngcontent-%COMP%]{line-height:40px}.font-style-italic[_ngcontent-%COMP%]{font-style:italic}.font-style-bold[_ngcontent-%COMP%]{font-weight:700}.font-style-normal[_ngcontent-%COMP%]{font-weight:400}.font-uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.font-lowercase[_ngcontent-%COMP%]{text-transform:lowercase}.text-transform-none[_ngcontent-%COMP%]{text-transform:none}.common-ui-network-container[_ngcontent-%COMP%]{background-color:#1f2224;max-width:789px}.common-ui-network-header[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:0;height:24px}.isLtr[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900;vertical-align:middle;min-width:24px}.isLtr[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.result-text-container[_ngcontent-%COMP%]{margin-bottom:6px}.result-text[_ngcontent-%COMP%]{margin-top:1px}.nw-icon[_ngcontent-%COMP%]{height:24px;line-height:24px;width:auto;speak:none;font-size:48px;font-variant:normal;align-self:center;color:#fff;opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:22px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:22px}.icon-alert-bang[_ngcontent-%COMP%]{margin:0}.common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.common-ui-network-container[_ngcontent-%COMP%] .result-icon.error[_ngcontent-%COMP%]{color:#ed1c24}.warn[_ngcontent-%COMP%]{color:#ffb538}.error[_ngcontent-%COMP%]{color:#ed1c24}.common-ui-errorDetails[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#76b900}.flex-1[_ngcontent-%COMP%]{flex:1}.nv-ui-assets[_ngcontent-%COMP%]{height:140px;margin-top:64px;display:flex;flex-direction:row;overflow:hidden;justify-content:center;align-items:baseline}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:79px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:79px}.nv-dot-icons[_ngcontent-%COMP%]{border-radius:50%;width:8px;height:8px;align-self:center;display:-webkit-inline-box;background:#ffffff73}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.animated[_ngcontent-%COMP%]{animation-duration:2s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:1s}.caption[_ngcontent-%COMP%]{display:block;max-width:92px;width:12vw;text-align:center;margin-bottom:0}.caption.truncate-text[_ngcontent-%COMP%]{margin-top:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.common-ui-errorDetails[_ngcontent-%COMP%]{height:72px;display:flex;justify-content:center;margin:0 24px}.connect-error-details[_ngcontent-%COMP%]{display:flex}.common-ui-network-container[_ngcontent-%COMP%] .common-ui-resultDetails[_ngcontent-%COMP%]{height:24px;margin-bottom:30px;align-self:center;margin-top:22px}.common-ui-network-content[_ngcontent-%COMP%]{height:181px;background-color:#0000004d;overflow-y:auto}.common-ui-network-content[_ngcontent-%COMP%] .nv-button-class[_ngcontent-%COMP%]{height:84px;display:flex}.common-ui-network-content[_ngcontent-%COMP%] .override-warning-container[_ngcontent-%COMP%]{margin-top:5px;padding:0 24px;align-items:center}.common-ui-network-content[_ngcontent-%COMP%] span.icon-alert-circle_reg[_ngcontent-%COMP%]{font-size:11px}.common-ui-network-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:12px;margin-top:0}.div-table[_ngcontent-%COMP%]{display:table!important;width:101%;padding-top:24px;padding-bottom:24px;max-width:100%}.div-table-row[_ngcontent-%COMP%]{display:table-row;width:auto;clear:both;height:28px}.div-table-col[_ngcontent-%COMP%]{display:table-column;width:140px;text-align:center}.isLtr[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:right}.div-table-col-header[_ngcontent-%COMP%]{display:table-column;width:236px}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ffb538;width:177px}.yellowstyle[_ngcontent-%COMP%] .narrowstyle[_ngcontent-%COMP%]{width:26px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ed1c24;width:177px}.redstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ed1c24}.yellowstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.wifi_2_4_warn[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%]{display:table}.network-assets[_ngcontent-%COMP%]{display:flex}.error-details[_ngcontent-%COMP%]{display:flex;margin-top:24px}.isLtr[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.common-ui-error[_ngcontent-%COMP%]{width:480px}.redirect-page-div[_ngcontent-%COMP%]{display:flex;align-content:center;justify-content:center}.redirect-page-link[_ngcontent-%COMP%]{text-decoration:none}.vertical-gap-24[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-right:48px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-right:48px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-left:48px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-left:48px}.network-progress-fill[_ngcontent-%COMP%]{height:50px;background-color:#1f2224}.network-test-icons[_ngcontent-%COMP%]{display:block}.error-dlg-content[_ngcontent-%COMP%]{margin:24px;min-height:32px}.error-dlg-buttons[_ngcontent-%COMP%]{min-height:52px}.isLtr[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:left}button.error-dialog-button[_ngcontent-%COMP%]{margin:8px}.error-icon[_ngcontent-%COMP%]{font-size:32px!important}.isLtr[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.error-icon-error-dialog[_ngcontent-%COMP%]{font-size:32px;margin-top:20px;min-width:32px;line-height:5px}.isLtr[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 8px 23px 23px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 8px 23px 23px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 23px 23px 8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 23px 23px 8px}.active[_ngcontent-%COMP%]{background:#76b900;opacity:1;width:12px;height:12px;margin-bottom:-2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.normal[_ngcontent-%COMP%]{background:#ffffff73;width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.error-background-active-btn[_ngcontent-%COMP%]{background-color:#76b900}.custom-svg-icon[_ngcontent-%COMP%]{width:48px;height:auto}.network-isp-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row}.network-test-warning-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin-top:12px}.nv-dot-icons-container[_ngcontent-%COMP%]{margin-top:12px}@media (max-width: 960px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:60px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:60px}.network-test-results[_ngcontent-%COMP%]{min-width:80vw}.div-table-col-header[_ngcontent-%COMP%]{width:30%}.div-table-col[_ngcontent-%COMP%]{width:18%}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:120px}}@media (max-width: 790px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:48px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:48px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:80px}}@media (max-width: 690px){.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:60px}}@media screen and (max-width: 834px) and (max-height: 1194px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:87px}.nv-dot-icons[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.active[_ngcontent-%COMP%]{width:10px;height:10px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.normal[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.div-table-col-header[_ngcontent-%COMP%]{width:160px}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{display:block;max-height:65vh;overflow-y:auto;overflow-x:unset}.common-ui-network-container[_ngcontent-%COMP%]{margin:0;overflow:unset}.common-ui-network-header[_ngcontent-%COMP%]{margin:0}.common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500}.tv-view[_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.isLtr[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.common-ui-network-content[_ngcontent-%COMP%]{height:unset;background-color:unset}.nv-ui-assets[_ngcontent-%COMP%]{height:100px;line-height:0;margin-top:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.network-test-icons[_ngcontent-%COMP%]{text-align:center;height:16px;margin-top:0}.network-isp-icons[_ngcontent-%COMP%]{align-items:center}.nv-dot-icons[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.active[_ngcontent-%COMP%]{width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.normal[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.custom-svg-icon[_ngcontent-%COMP%]{width:24px;min-height:25px}.caption[_ngcontent-%COMP%]{margin:0 auto;align-self:center}.common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content;display:flex;justify-content:center}.isLtr[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.isRtl[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.network-test-error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;box-sizing:border-box;justify-content:center;align-items:stretch;max-width:100%}.icon-alert-bang[_ngcontent-%COMP%]{font-size:36px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:57px}.result-text[_ngcontent-%COMP%]{margin-top:0}.network-test-results[_ngcontent-%COMP%]{background-color:#0000004d;padding-top:16px}.mat-mdc-tab-group[_ngcontent-%COMP%]{background-color:#0000004d}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.div-table-row[_ngcontent-%COMP%]{justify-content:space-between;max-width:240px}}@media (max-width: 959.98px) and (orientation: landscape),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{max-height:60vh}.network-test-results[_ngcontent-%COMP%]{max-width:536px;min-width:0}.common-ui-network-container[_ngcontent-%COMP%]{width:536px;max-height:80vh}}@media (max-width: 599.98px) and (orientation: portrait){.common-ui-network-container[_ngcontent-%COMP%]{width:fit-content}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}}@media screen and (max-width: 320px) and (max-height: 568px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.active[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:1px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:1px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:40px}.result-text[_ngcontent-%COMP%]{width:70%}}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%]{width:960px;max-width:960px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{height:unset;margin-top:24px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:0}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%]{height:277px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{width:320px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{width:180px}.tv-view[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{height:20vh}.tv-view[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content}.tv-view[_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%]{margin:16px}.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.isLtr.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),g})()},52759:(xe,de,t)=>{"use strict";t.d(de,{Ad:()=>B,B_:()=>te,D_:()=>x,Dh:()=>o,GP:()=>M,IE:()=>R,J8:()=>u,Kf:()=>i,Nu:()=>P,Rl:()=>E,SE:()=>r,VK:()=>k,b6:()=>O,fv:()=>D,rk:()=>a,zc:()=>z});var e=t(47766),n=t(36206),E=function(v){return v.mall="gfnpc mall_client",v.streamer="gfnpc streamer_client",v.browser="gfn_browser_client",v}(E||{}),O=function(v){return v[v.Progress=-1]="Progress",v[v.Excellent=0]="Excellent",v[v.Poor=1]="Poor",v[v.PoorWifi_2_4=2]="PoorWifi_2_4",v[v.Bad=3]="Bad",v[v.Error=4]="Error",v[v.NA=5]="NA",v}(O||{}),B=function(v){return v.Close="Close",v.Continue="Continue",v.TryAgain="TryAgain",v}(B||{}),P=function(v){return v.NetworkTestFailed="NetworkTestFailed",v.NetworkTestFailedMissingPlugin="NetworkTestPluginFailedMissingPlugin",v.NetworkTestAutoRunDone="NetworkTestAutoRunDone",v.NetworkTestAutoRunTryAgain="NetworkTestAutoRunTryAgain",v.NetworkTestClosed="NetworkTestClosed",v.NetworkTestClosedOnError="NetworkTestClosedOnError",v.LBRAutoRunDone="LBRAutoRunDone",v}(P||{}),k=function(v){return v.NetworkTestFailed="NetworkTestFailed",v.NetworkTestCancelled="NetworkTestCancelled",v.RedResult="RedResult",v.StreamerNetworkError="StreamerNetworkError",v.StreamerFrameLossTimeoutError="StreamerFrameLossTimeoutError",v.None="None",v}(k||{});const r={text:"networkTest.genericNetworkName",icon:"network_signal"},l={text:"networkTest.wifi",icon:"wifi"},I={text:"networkTest.mobile",icon:"cellular"},S={text:"networkTest.networkTestMyComputer",icon:"desktop_mac"},L={text:"networkTest.myDevice",icon:"smartphone"},M={text:"networkTest.myDevice",icon:"devices"},u={Ethernet:{text:"networkTest.ethernet",icon:"ethernet"},WiFi2_4:l,WiFi5_0:l,WiFi6_0:l,WiFiUnknown:l,Mobile:I,Mobile_2G:I,Mobile_3G:I,Mobile_4G:I,Mobile_5G:I,Wimax:r,Bluetooth:r,Other:r,Unknown:r},x={[e.Y0.Desktop]:S,[e.Y0.Laptop]:S,[e.Y0.TV]:{text:"networkTest.myTV",icon:"tv"},[e.Y0.Phone]:L,[e.Y0.Tablet]:L,[e.Y0.Server]:M,[e.Y0.Console]:M,[e.Y0.HMD]:M,[e.Y0.Undefined]:M};var i=function(v){return v.Started="Started",v.Finished="Finished",v}(i||{}),o=function(v){return v.NetworkTest="NETWORKTEST",v.Error="ERROR",v}(o||{}),a=function(v){return v[v.NCT_R_UNKNOWN=0]="NCT_R_UNKNOWN",v[v.NCT_R_SUCCESS=1]="NCT_R_SUCCESS",v[v.NCT_R_INVALID_PARAM=2]="NCT_R_INVALID_PARAM",v[v.NCT_R_SYN_FAILED=3]="NCT_R_SYN_FAILED",v[v.NCT_R_FIN_FAILED=4]="NCT_R_FIN_FAILED",v[v.NCT_R_AUTH_FAILED=5]="NCT_R_AUTH_FAILED",v[v.NCT_R_POST_FAILED=6]="NCT_R_POST_FAILED",v[v.NCT_R_TEST_IN_PROGRESS=7]="NCT_R_TEST_IN_PROGRESS",v[v.NCT_R_CANCELED=8]="NCT_R_CANCELED",v[v.NCT_R_CAPACITY_FULL=9]="NCT_R_CAPACITY_FULL",v[v.NCT_R_SESSION_EXIST=10]="NCT_R_SESSION_EXIST",v[v.NCT_R_INVALID_DATA=11]="NCT_R_INVALID_DATA",v[v.NCT_R_SETUP_FAILED=12]="NCT_R_SETUP_FAILED",v[v.NCT_R_RETRYABLE_POST_FAILURE=13]="NCT_R_RETRYABLE_POST_FAILURE",v[v.NCT_R_BLOCK_STREAM=14]="NCT_R_BLOCK_STREAM",v}(a||{}),D=function(v){return v[v.Success=0]="Success",v}(D||{});const te={"WiFi Unknown":"Unknown","WiFi 6.0":"6GHz","WiFi 5.0":"5GHz","WiFi 2.4":"2.4GHz"};var z=function(v){return v[v.Any=0]="Any",v[v.VPN=1]="VPN",v[v.ZoneOverride=2]="ZoneOverride",v[v.Latency_more_150=3]="Latency_more_150",v[v.Latency_more_80=4]="Latency_more_80",v[v.Wifi_2_4=5]="Wifi_2_4",v[v.Wifi=6]="Wifi",v[v.Bandwidth_less_15=7]="Bandwidth_less_15",v[v.Offline=8]="Offline",v}(z||{});const R=[{priority:0,text:"networkTest.youAreOfflineCheckConnection",condition:z.Offline,hasLink:!1,linkUrl:null},{priority:1,text:"networkTest.disconnectFromVpn",condition:z.VPN,hasLink:!1,linkUrl:null},{priority:2,text:"networkTest.youHaveZoveOverride",condition:z.ZoneOverride,hasLink:!1,linkUrl:null},{priority:3,text:"networkTest.farAwayFromServers",condition:z.Latency_more_150,hasLink:!0,linkUrl:n.r7.GfnServerStatus},{priority:4,text:"networkTest.wifi_2_4_Message",condition:z.Wifi_2_4,hasLink:!1,linkUrl:null},{priority:5,text:"networkTest.connectToEthernet",condition:z.Wifi,hasLink:!1,linkUrl:null},{priority:6,text:"networkTest.stopOtherStreaming",condition:z.Any,hasLink:!1,linkUrl:null},{priority:7,text:"networkTest.restartRouter",condition:z.Any,hasLink:!1,linkUrl:null},{priority:8,text:"networkTest.farAwayFromServers",condition:z.Latency_more_80,hasLink:!0,linkUrl:n.r7.GfnServerStatus},{priority:9,text:"networkTest.contactIspProvider",condition:z.Bandwidth_less_15,hasLink:!1,linkUrl:null}]},17290:(xe,de,t)=>{"use strict";t.d(de,{eW:()=>u,VK:()=>_.VK,_e:()=>i._,Nu:()=>_.Nu,Ni:()=>x.N,Rl:()=>_.Rl,qI:()=>e.q,Kf:()=>_.Kf,b6:()=>_.b6,xH:()=>n.x,no:()=>o.n});var e=t(76961),n=t(46631),E=t(26875),O=t(31315),B=t(43848),P=t(65706),k=t(8619),U=t(72147),r=t(14714),A=t(10174),l=t(47766),I=t(18433),S=t(58527),L=t(21341),s=t(19844),M=t(11346);let u=(()=>{var f;class J{constructor(D,te,N,z,R){this.loggingService=D,this.networkTestService=te,this.networkConfigurationService=N,this.networkTestTelemetry=z,this.idmService=R,this.logger=this.loggingService.getLogger("shared/background-network-test.service"),this.isWebrtcNT=!!l.zk.isBrowserPlatform()}initNetworkTest(){return this.networkTestService.initialize(),(0,O.zV)([this.idmService.accountStatusChanged.pipe((0,P.s)(1),(0,k.p)(D=>D.isAuthenticated)),this.networkConfigurationService.getNetworkOverride()]).pipe((0,P.s)(1),(0,U.n)(([D,te])=>((0,E.isNil)(te)||(this.overrideZone=te,this.logger.info(`The user selected a zone ${te.name} manually and runNetworkTest is: `,te.runNetworkTest)),this.networkTestService.isWebrtcNetworkTestRequired(te,!0).pipe((0,P.s)(1)))),(0,U.n)(D=>D?(this.logger.info("Background Network test will be run."),this.launchNetworkTest()):(0,B.of)(null)),(0,U.n)(D=>this.sendTelemetry(D)),(0,U.n)(D=>D?(this.networkTestService.setNetworkTestState(_.Kf.Finished),this.networkTestService.setNetworkTestExpiryTime()):(0,B.of)(!1)),(0,r.W)(D=>(this.logger.info("Background Network Test failed, error: ",D),this.networkTestTelemetryStatus=D.status?I.fbu.HTTPError:I.fbu.Other,this.networkTestTelemetry.sendTestDoneTelemetry({autoRun:!0,isWebRtcNetworkTest:this.isWebrtcNT,testData:D.result,zoneOverride:this.overrideZone,networkTestTelemetryStatus:this.networkTestTelemetryStatus,startTime:this.startTime}).pipe((0,A.u)(!0)))))}launchNetworkTest(){return this.startTime=Date.now(),this.networkTestService.startNetworkTest(_.Rl.browser)}sendTelemetry(D){return D?(this.networkTestTelemetryStatus=D.errorDetails?I.fbu.Failure:I.fbu.Success,this.logger.info("Background Network Test result:",D),this.networkTestTelemetry.sendTestDoneTelemetry({autoRun:!0,isWebRtcNetworkTest:this.isWebrtcNT,testData:{result:D},zoneOverride:this.overrideZone,networkTestTelemetryStatus:this.networkTestTelemetryStatus,startTime:this.startTime},D).pipe((0,A.u)(!0))):(this.logger.info("Background network test was not run as it did not meet the expiry duration requirements."),(0,B.of)(!1))}}return(f=J).\u0275fac=function(D){return new(D||f)(S.KVO(l.J6),S.KVO(e.q),S.KVO(L.uU),S.KVO(s.J),S.KVO(M.k_))},f.\u0275prov=S.jDH({token:f,factory:f.\u0275fac,providedIn:"root"}),J})();var x=t(8351),i=(t(79682),t(96145)),o=t(74692),_=t(52759)},8351:(xe,de,t)=>{"use strict";t.d(de,{N:()=>gi});var e=t(61142),n=t(51006),E=t(65240),O=t(26537),B=t(29370),P=t(47973),k=t(68477),U=t(79682),r=t(96145),A=t(26875),l=t(80583),I=t(43848),S=t(892),L=t(65706),s=t(83915),M=t(14714),u=t(4208),x=t(91384),p=t(47766),i=t(52759),o=t(58527),_=t(61958),f=t(76706),J=t(76961);const a=()=>[],D=(Et,Qt)=>({resolution:Et,fps:Qt});function te(Et,Qt){if(1&Et&&(o.qex(0),o.nrm(1,"div",14),o.bVm()),2&Et){const Gt=Qt.index,st=o.XpG(2);o.R7$(),o.Y8G("ngClass",st.progressCount===Gt?"active":"normal")}}function N(Et,Qt){if(1&Et&&(o.j41(0,"div",12),o.DNE(1,te,2,1,"ng-container",13),o.k0s()),2&Et){const Gt=o.XpG();o.R7$(),o.Y8G("ngForOf",o.lJ4(1,a).constructor(Gt.dotCount))}}function z(Et,Qt){if(1&Et&&o.nrm(0,"gfn-network-test-warning",15),2&Et){const Gt=o.XpG();o.Y8G("warningInfo",Gt.displayData.warningInfo)}}function R(Et,Qt){if(1&Et&&(o.j41(0,"div",3),o.nrm(1,"mat-icon",4),o.j41(2,"p",5),o.EFF(3),o.nI1(4,"translate"),o.k0s()()),2&Et){const Gt=o.XpG(2);o.R7$(),o.Y8G("svgIcon",null==Gt.displayData||null==Gt.displayData.networkTypeDisplayData?null:Gt.displayData.networkTypeDisplayData.icon),o.R7$(2),o.JRh(o.bMT(4,2,null==Gt.displayData||null==Gt.displayData.networkTypeDisplayData?null:Gt.displayData.networkTypeDisplayData.text))}}function v(Et,Qt){if(1&Et&&(o.j41(0,"div",3),o.nrm(1,"mat-icon",4),o.j41(2,"p",5),o.EFF(3),o.nI1(4,"translate"),o.k0s(),o.j41(5,"p",9),o.EFF(6),o.nI1(7,"translate"),o.k0s()()),2&Et){const Gt=o.XpG(2);o.R7$(),o.Y8G("svgIcon",null==Gt.displayData||null==Gt.displayData.networkTypeDisplayData?null:Gt.displayData.networkTypeDisplayData.icon),o.R7$(2),o.JRh(o.bMT(4,3,null==Gt.nvTestData||null==Gt.nvTestData.networkInfo?null:Gt.nvTestData.networkInfo.NetworkName)),o.R7$(3),o.JRh(o.bMT(7,5,Gt.displayData.wifiRouterVersion))}}function h(Et,Qt){1&Et&&(o.j41(0,"div",3),o.nrm(1,"mat-icon",19),o.j41(2,"p",5),o.EFF(3),o.nI1(4,"translate"),o.k0s()()),2&Et&&(o.R7$(3),o.JRh(o.bMT(4,1,"networkTest.genericNetworkName")))}function W(Et,Qt){if(1&Et&&(o.qex(0),o.nrm(1,"div",14),o.bVm()),2&Et){const Gt=Qt.index,st=o.XpG(2);o.R7$(),o.Y8G("ngClass",st.progressCount===st.dotCount+Gt?"active":"normal")}}function ne(Et,Qt){if(1&Et&&(o.qex(0),o.nrm(1,"div",14),o.bVm()),2&Et){const Gt=Qt.index,st=o.XpG(2);o.R7$(),o.Y8G("ngClass",st.progressCount===2*st.dotCount+Gt?"active":"normal")}}function ee(Et,Qt){if(1&Et&&(o.j41(0,"div",16),o.DNE(1,R,5,4,"div",17)(2,v,8,7,"div",17)(3,h,5,3,"div",17),o.j41(4,"div",12),o.DNE(5,W,2,1,"ng-container",13),o.k0s(),o.j41(6,"div",3),o.nrm(7,"mat-icon",18),o.j41(8,"p",9),o.EFF(9),o.nI1(10,"translate"),o.k0s()(),o.j41(11,"div",12),o.DNE(12,ne,2,1,"ng-container",13),o.k0s()()),2&Et){const Gt=o.XpG();o.R7$(),o.Y8G("ngIf",!Gt.isWebRtcNetworkTest&&!Gt.displayToggles.hasNetworkName),o.R7$(),o.Y8G("ngIf",!Gt.isWebRtcNetworkTest&&Gt.displayToggles.hasNetworkName),o.R7$(),o.Y8G("ngIf",Gt.isWebRtcNetworkTest),o.R7$(2),o.Y8G("ngForOf",o.lJ4(8,a).constructor(Gt.dotCount)),o.R7$(4),o.JRh(o.bMT(10,6,"networkTest.networkTestIsp")),o.R7$(3),o.Y8G("ngForOf",o.lJ4(9,a).constructor(Gt.dotCount))}}function b(Et,Qt){1&Et&&o.nrm(0,"mat-icon",27)}function w(Et,Qt){if(1&Et&&o.nrm(0,"mat-icon",28),2&Et){const Gt=o.XpG(2);o.Y8G("ngClass",Gt.resultIconClass)}}function F(Et,Qt){if(1&Et&&(o.j41(0,"div",29)(1,"span",30),o.EFF(2),o.nI1(3,"translate"),o.k0s()()),2&Et){const Gt=o.XpG(2);o.R7$(2),o.JRh(o.i5U(3,1,"networkTest.networkTestSupports",o.l_i(4,D,Gt.displayData.resolution,Gt.displayData.fps)))}}function Z(Et,Qt){if(1&Et&&(o.j41(0,"div",20)(1,"div",21)(2,"div",22)(3,"div",23),o.DNE(4,b,1,0,"mat-icon",24)(5,w,1,1,"ng-template",null,1,o.C5r),o.j41(7,"div",25),o.EFF(8),o.nI1(9,"translate"),o.k0s()()(),o.DNE(10,F,4,7,"div",26),o.k0s()()),2&Et){const Gt=o.sdS(6),st=o.XpG();o.R7$(4),o.Y8G("ngIf",st.displayToggles.showSuccessIcons)("ngIfElse",Gt),o.R7$(4),o.JRh(o.bMT(9,4,st.displayData.resultText)),o.R7$(2),o.Y8G("ngIf",st.displayToggles.showBestResolutionText)}}let se=(()=>{var Et;class Qt{constructor(st,Dt,Ot,at,ft){var yt;this.breakpointObserver=Ot,this.networkTestService=at,this.systemInfoService=ft,this.displayData={},this.displayToggles={},this.isWarningNetworkTest=!1,this.progressCount=-1,this.dotCount=3,this.destroy$=new l.B7,this.breakpointDimension=["(max-width: 412px)"],this.logger=Dt.getLogger("libraries/network-test/NetworkTestComponent"),this.mobileMode=!(null==st||null===(yt=st.featureEnablement)||void 0===yt||!yt.mobileMode)}ngOnInit(){var st,Dt,Ot,at;this.displayData.wifiRouterVersion=i.B_[null===(st=this.nvTestData)||void 0===st||null===(st=st.networkInfo)||void 0===st?void 0:st.NetworkType]||"",this.displayData.header="networkTest.networkTestHeader",this.displayData.zoneName=null===(Dt=this.nvTestData)||void 0===Dt||null===(Dt=Dt.result)||void 0===Dt||null===(Dt=Dt.zone)||void 0===Dt?void 0:Dt.name,this.displayData.networkTypeDisplayData=i.J8[null===(Ot=this.nvTestData)||void 0===Ot||null===(Ot=Ot.networkInfo)||void 0===Ot?void 0:Ot.NetworkType]||i.SE,this.displayToggles.hasNetworkName=!(0,A.isEmpty)(null===(at=this.nvTestData)||void 0===at||null===(at=at.networkInfo)||void 0===at?void 0:at.NetworkName)||!(0,A.isEmpty)(this.displayData.wifiRouterVersion),this.systemInfoService.getSystemInfo([p.Lu.DeviceType]).pipe((0,L.s)(1),(0,s.T)(ft=>i.D_[null==ft?void 0:ft.DeviceType]||i.GP),(0,M.W)(ft=>(this.logger.error("Error getting device type: ",ft),(0,I.of)(i.GP))),(0,u.Q)(this.destroy$)).subscribe(ft=>{this.displayData.deviceTypeDisplayData=ft}),this.breakpointObserver.observe(this.breakpointDimension).pipe((0,u.Q)(this.destroy$)).subscribe(ft=>{this.dotCount=ft.matches?2:3})}ngOnChanges(){var st;this.logger.info("Network test status changed: ",i.b6[this.progressState]),(0,A.isNil)(this.progressState)||this.progressState===i.b6.Progress?this.progressState===i.b6.Progress&&this.resetProgressState():(this.stopProgressAnimation(),this.updateResultIconClass(this.progressState),this.displayToggles.showResults=!0,this.displayToggles.isVPNConnection="1"===(null===(st=this.nvTestData)||void 0===st||null===(st=st.networkInfo)||void 0===st?void 0:st.IsVPN),this.setResultStates(this.progressState),this.setMaxDisplayState(this.maxDisplayState)),this.displayToggles.showDotIcons=this.progressState===i.b6.Progress||this.displayToggles.isExcellentResult&&this.displayData.warningInfo!==i.b6.PoorWifi_2_4}updateZoneName(){this.logger.info("Subscribe to zone name: "),this.zoneNameSub&&(this.zoneNameSub.unsubscribe(),this.zoneNameSub=null),this.zoneNameSub=this.networkTestService.zoneName.subscribe(st=>{this.displayData.zoneName=st.name})}updateResultIconClass(st){var Dt,Ot;this.progressState=st,this.resultIconClass=this.progressState===i.b6.Bad?"error":this.progressState===i.b6.Poor||(null===(Dt=this.nvTestData)||void 0===Dt||null===(Dt=Dt.networkInfo)||void 0===Dt?void 0:Dt.NetworkType)===p.Sd.WiFi2_4||"1"===(null===(Ot=this.nvTestData)||void 0===Ot||null===(Ot=Ot.networkInfo)||void 0===Ot?void 0:Ot.IsVPN)?"warn":"success"}resetProgressState(){var st;this.startProgressAnimation(),this.updateZoneName(),this.displayData.wifiRouterVersion=i.B_[null===(st=this.nvTestData)||void 0===st||null===(st=st.networkInfo)||void 0===st?void 0:st.NetworkType]||"",this.displayData.header="networkTest.networkTestHeader",this.resetEthernetState(),this.isWarningNetworkTest=!1}resetEthernetState(){var st;this.nvTestData&&this.nvTestData.networkInfo&&(this.displayToggles={hasNetworkName:!(0,A.isEmpty)(null===(st=this.nvTestData)||void 0===st||null===(st=st.networkInfo)||void 0===st?void 0:st.NetworkName)||!(0,A.isEmpty)(this.displayData.wifiRouterVersion)})}startProgressAnimation(){(0,A.isNil)(this.animationSub)&&(this.animationSub=(0,S.Y)(180).pipe((0,x.M)(()=>{this.progressCount=this.progressCount+1,this.progressCount=this.progressCount%(3*this.dotCount)})).subscribe())}stopProgressAnimation(){this.animationSub&&(this.animationSub.unsubscribe(),this.animationSub=null,this.progressCount=-1)}setResultStates(st){var Dt,Ot;switch(this.displayData.header="networkTest.networkTestResultsHeader",st){case i.b6.Excellent:this.displayData.resultText=this.displayToggles.isVPNConnection||(null===(Dt=this.nvTestData)||void 0===Dt||null===(Dt=Dt.networkInfo)||void 0===Dt?void 0:Dt.NetworkType)===p.Sd.WiFi2_4?"networkTest.networkTestPoorWifiMsg":"networkTest.networkTestSuccessMsg",this.displayToggles.isExcellentResult=!0;break;case i.b6.Poor:this.isWarningNetworkTest=!0,this.displayData.warningInfo=i.b6.Poor,this.displayData.resultText="networkTest.networkTestPoorWifiMsg";break;case i.b6.Bad:this.isWarningNetworkTest=!0,this.displayData.warningInfo=i.b6.Bad,this.displayData.resultText="networkTest.networkTestBadWifiMsg"}this.displayToggles.showSuccessIcons=this.displayToggles.isExcellentResult&&!this.displayToggles.isVPNConnection&&(null===(Ot=this.nvTestData)||void 0===Ot||null===(Ot=Ot.networkInfo)||void 0===Ot?void 0:Ot.NetworkType)!==p.Sd.WiFi2_4}setMaxDisplayState(st){this.displayToggles.showBestResolutionText=!this.isWebRtcNetworkTest&&!(0,A.isNil)(st),(0,A.isNil)(st)||(this.displayData.resolution=`\u2066${st.width} x ${st.height}\u2069`,this.displayData.fps=st.frameRate)}ngOnDestroy(){this.zoneNameSub&&(this.zoneNameSub.unsubscribe(),this.zoneNameSub=null),this.destroy$.next(!0),this.destroy$.complete()}}return(Et=Qt).\u0275fac=function(st){return new(st||Et)(o.rXU(_.Vk),o.rXU(p.J6),o.rXU(f.QP),o.rXU(J.q),o.rXU(p.zW))},Et.\u0275cmp=o.VBU({type:Et,selectors:[["gfn-network-icons"]],inputs:{progressState:"progressState",nvTestData:"nvTestData",maxDisplayState:"maxDisplayState",isWebRtcNetworkTest:"isWebRtcNetworkTest"},features:[o.OA$],decls:20,vars:14,consts:[["isWarningView",""],["isWarningIconView",""],[1,"nv-ui-assets"],[1,"network-test-icons"],[1,"nw-icon","custom-svg-icon",3,"svgIcon"],[1,"caption","font-body3"],["class","nv-dot-icons-container",4,"ngIf","ngIfElse"],["class","network-isp-icons",4,"ngIf"],["svgIcon","storage",1,"nw-icon","custom-svg-icon"],[1,"caption","truncate-text","font-body3"],[1,"common-ui-errorDetails"],["fxLayout","row","fxLayoutAlign","center start",4,"ngIf"],[1,"nv-dot-icons-container"],[4,"ngFor","ngForOf"],[1,"nv-dot-icons","animated",3,"ngClass"],[3,"warningInfo"],[1,"network-isp-icons"],["class","network-test-icons",4,"ngIf"],["svgIcon","isp",1,"nw-icon","custom-svg-icon"],["svgIcon","network_signal",1,"nw-icon","custom-svg-icon"],["fxLayout","row","fxLayoutAlign","center start"],["fxLayout","column","fxLayoutAlign","start center"],[1,"result-text-container"],["fxFlex","","fxLayout","row","fxLayoutAlign","center start",1,"font-sub1"],["class","nv-custom-icons nw-icon-small result-icon success icon-optimized_reg","mat-font-set","material-icons",4,"ngIf","ngIfElse"],[1,"result-text"],["class","result-resolution-container",4,"ngIf"],["mat-font-set","material-icons",1,"nv-custom-icons","nw-icon-small","result-icon","success","icon-optimized_reg"],["mat-font-set","material-icons",1,"nv-custom-icons","nw-icon-small","result-icon","icon-alert-circle_reg",3,"ngClass"],[1,"result-resolution-container"],[1,"font-body3"]],template:function(st,Dt){if(1&st&&(o.j41(0,"div",2)(1,"div",3),o.nrm(2,"mat-icon",4),o.j41(3,"p",5),o.EFF(4),o.nI1(5,"translate"),o.k0s()(),o.DNE(6,N,2,2,"div",6)(7,z,1,1,"ng-template",null,0,o.C5r)(9,ee,13,10,"div",7),o.j41(10,"div",3),o.nrm(11,"mat-icon",8),o.j41(12,"p",5),o.EFF(13),o.nI1(14,"translate"),o.k0s(),o.j41(15,"p",9),o.EFF(16),o.nI1(17,"translate"),o.k0s()()(),o.j41(18,"div",10),o.DNE(19,Z,11,6,"div",11),o.k0s()),2&st){const Ot=o.sdS(8);o.R7$(2),o.Y8G("svgIcon",null==Dt.displayData||null==Dt.displayData.deviceTypeDisplayData?null:Dt.displayData.deviceTypeDisplayData.icon),o.R7$(2),o.JRh(o.bMT(5,8,null==Dt.displayData||null==Dt.displayData.deviceTypeDisplayData?null:Dt.displayData.deviceTypeDisplayData.text)),o.R7$(2),o.Y8G("ngIf",Dt.displayToggles.showDotIcons)("ngIfElse",Ot),o.R7$(3),o.Y8G("ngIf",!Dt.isWarningNetworkTest),o.R7$(4),o.JRh(o.bMT(14,10,"common.gfn")),o.R7$(3),o.JRh(o.bMT(17,12,Dt.displayData.zoneName)),o.R7$(3),o.Y8G("ngIf",Dt.displayToggles.showResults)}},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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.font-size-xxxs[_ngcontent-%COMP%]{font-size:8px}.font-size-xxs[_ngcontent-%COMP%]{font-size:11px}.font-size-sm[_ngcontent-%COMP%]{font-size:12px}.font-size-sm1[_ngcontent-%COMP%]{font-size:13px}.font-size-lg[_ngcontent-%COMP%]{font-size:14px}.font-size-xl[_ngcontent-%COMP%]{font-size:16px}.font-size-xl1[_ngcontent-%COMP%]{font-size:18px}.font-size-20[_ngcontent-%COMP%]{font-size:20px}.font-size-xxl[_ngcontent-%COMP%]{font-size:24px}.font-size-32[_ngcontent-%COMP%]{font-size:32px}.font-size-xxxl[_ngcontent-%COMP%]{font-size:40px}.line-height-sm[_ngcontent-%COMP%]{line-height:.75em}.line-height-sm1[_ngcontent-%COMP%]{line-height:1em}.line-height-14[_ngcontent-%COMP%]{line-height:14px}.line-height-12[_ngcontent-%COMP%]{line-height:12px}.line-height-16[_ngcontent-%COMP%]{line-height:16px}.line-height-md[_ngcontent-%COMP%]{line-height:1.5em}.line-height-lg[_ngcontent-%COMP%]{line-height:3em}.line-height-30[_ngcontent-%COMP%]{line-height:30px}.line-height-36[_ngcontent-%COMP%]{line-height:36px}.line-height-lg1[_ngcontent-%COMP%]{line-height:40px}.font-style-italic[_ngcontent-%COMP%]{font-style:italic}.font-style-bold[_ngcontent-%COMP%]{font-weight:700}.font-style-normal[_ngcontent-%COMP%]{font-weight:400}.font-uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.font-lowercase[_ngcontent-%COMP%]{text-transform:lowercase}.text-transform-none[_ngcontent-%COMP%]{text-transform:none}.common-ui-network-container[_ngcontent-%COMP%]{background-color:#1f2224;max-width:789px}.common-ui-network-header[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:0;height:24px}.isLtr[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900;vertical-align:middle;min-width:24px}.isLtr[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.result-text-container[_ngcontent-%COMP%]{margin-bottom:6px}.result-text[_ngcontent-%COMP%]{margin-top:1px}.nw-icon[_ngcontent-%COMP%]{height:24px;line-height:24px;width:auto;speak:none;font-size:48px;font-variant:normal;align-self:center;color:#fff;opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:22px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:22px}.icon-alert-bang[_ngcontent-%COMP%]{margin:0}.common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.common-ui-network-container[_ngcontent-%COMP%] .result-icon.error[_ngcontent-%COMP%]{color:#ed1c24}.warn[_ngcontent-%COMP%]{color:#ffb538}.error[_ngcontent-%COMP%]{color:#ed1c24}.common-ui-errorDetails[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#76b900}.flex-1[_ngcontent-%COMP%]{flex:1}.nv-ui-assets[_ngcontent-%COMP%]{height:140px;margin-top:64px;display:flex;flex-direction:row;overflow:hidden;justify-content:center;align-items:baseline}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:79px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:79px}.nv-dot-icons[_ngcontent-%COMP%]{border-radius:50%;width:8px;height:8px;align-self:center;display:-webkit-inline-box;background:#ffffff73}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.animated[_ngcontent-%COMP%]{animation-duration:2s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:1s}.caption[_ngcontent-%COMP%]{display:block;max-width:92px;width:12vw;text-align:center;margin-bottom:0}.caption.truncate-text[_ngcontent-%COMP%]{margin-top:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.common-ui-errorDetails[_ngcontent-%COMP%]{height:72px;display:flex;justify-content:center;margin:0 24px}.connect-error-details[_ngcontent-%COMP%]{display:flex}.common-ui-network-container[_ngcontent-%COMP%] .common-ui-resultDetails[_ngcontent-%COMP%]{height:24px;margin-bottom:30px;align-self:center;margin-top:22px}.common-ui-network-content[_ngcontent-%COMP%]{height:181px;background-color:#0000004d;overflow-y:auto}.common-ui-network-content[_ngcontent-%COMP%] .nv-button-class[_ngcontent-%COMP%]{height:84px;display:flex}.common-ui-network-content[_ngcontent-%COMP%] .override-warning-container[_ngcontent-%COMP%]{margin-top:5px;padding:0 24px;align-items:center}.common-ui-network-content[_ngcontent-%COMP%] span.icon-alert-circle_reg[_ngcontent-%COMP%]{font-size:11px}.common-ui-network-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:12px;margin-top:0}.div-table[_ngcontent-%COMP%]{display:table!important;width:101%;padding-top:24px;padding-bottom:24px;max-width:100%}.div-table-row[_ngcontent-%COMP%]{display:table-row;width:auto;clear:both;height:28px}.div-table-col[_ngcontent-%COMP%]{display:table-column;width:140px;text-align:center}.isLtr[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:right}.div-table-col-header[_ngcontent-%COMP%]{display:table-column;width:236px}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ffb538;width:177px}.yellowstyle[_ngcontent-%COMP%] .narrowstyle[_ngcontent-%COMP%]{width:26px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ed1c24;width:177px}.redstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ed1c24}.yellowstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.wifi_2_4_warn[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%]{display:table}.network-assets[_ngcontent-%COMP%]{display:flex}.error-details[_ngcontent-%COMP%]{display:flex;margin-top:24px}.isLtr[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.common-ui-error[_ngcontent-%COMP%]{width:480px}.redirect-page-div[_ngcontent-%COMP%]{display:flex;align-content:center;justify-content:center}.redirect-page-link[_ngcontent-%COMP%]{text-decoration:none}.vertical-gap-24[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-right:48px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-right:48px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-left:48px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-left:48px}.network-progress-fill[_ngcontent-%COMP%]{height:50px;background-color:#1f2224}.network-test-icons[_ngcontent-%COMP%]{display:block}.error-dlg-content[_ngcontent-%COMP%]{margin:24px;min-height:32px}.error-dlg-buttons[_ngcontent-%COMP%]{min-height:52px}.isLtr[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:left}button.error-dialog-button[_ngcontent-%COMP%]{margin:8px}.error-icon[_ngcontent-%COMP%]{font-size:32px!important}.isLtr[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.error-icon-error-dialog[_ngcontent-%COMP%]{font-size:32px;margin-top:20px;min-width:32px;line-height:5px}.isLtr[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 8px 23px 23px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 8px 23px 23px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 23px 23px 8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 23px 23px 8px}.active[_ngcontent-%COMP%]{background:#76b900;opacity:1;width:12px;height:12px;margin-bottom:-2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.normal[_ngcontent-%COMP%]{background:#ffffff73;width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.error-background-active-btn[_ngcontent-%COMP%]{background-color:#76b900}.custom-svg-icon[_ngcontent-%COMP%]{width:48px;height:auto}.network-isp-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row}.network-test-warning-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin-top:12px}.nv-dot-icons-container[_ngcontent-%COMP%]{margin-top:12px}@media (max-width: 960px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:60px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:60px}.network-test-results[_ngcontent-%COMP%]{min-width:80vw}.div-table-col-header[_ngcontent-%COMP%]{width:30%}.div-table-col[_ngcontent-%COMP%]{width:18%}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:120px}}@media (max-width: 790px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:48px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:48px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:80px}}@media (max-width: 690px){.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:60px}}@media screen and (max-width: 834px) and (max-height: 1194px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:87px}.nv-dot-icons[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.active[_ngcontent-%COMP%]{width:10px;height:10px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.normal[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.div-table-col-header[_ngcontent-%COMP%]{width:160px}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{display:block;max-height:65vh;overflow-y:auto;overflow-x:unset}.common-ui-network-container[_ngcontent-%COMP%]{margin:0;overflow:unset}.common-ui-network-header[_ngcontent-%COMP%]{margin:0}.common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500}.tv-view[_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.isLtr[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.common-ui-network-content[_ngcontent-%COMP%]{height:unset;background-color:unset}.nv-ui-assets[_ngcontent-%COMP%]{height:100px;line-height:0;margin-top:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.network-test-icons[_ngcontent-%COMP%]{text-align:center;height:16px;margin-top:0}.network-isp-icons[_ngcontent-%COMP%]{align-items:center}.nv-dot-icons[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.active[_ngcontent-%COMP%]{width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.normal[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.custom-svg-icon[_ngcontent-%COMP%]{width:24px;min-height:25px}.caption[_ngcontent-%COMP%]{margin:0 auto;align-self:center}.common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content;display:flex;justify-content:center}.isLtr[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.isRtl[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.network-test-error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;box-sizing:border-box;justify-content:center;align-items:stretch;max-width:100%}.icon-alert-bang[_ngcontent-%COMP%]{font-size:36px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:57px}.result-text[_ngcontent-%COMP%]{margin-top:0}.network-test-results[_ngcontent-%COMP%]{background-color:#0000004d;padding-top:16px}.mat-mdc-tab-group[_ngcontent-%COMP%]{background-color:#0000004d}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.div-table-row[_ngcontent-%COMP%]{justify-content:space-between;max-width:240px}}@media (max-width: 959.98px) and (orientation: landscape),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{max-height:60vh}.network-test-results[_ngcontent-%COMP%]{max-width:536px;min-width:0}.common-ui-network-container[_ngcontent-%COMP%]{width:536px;max-height:80vh}}@media (max-width: 599.98px) and (orientation: portrait){.common-ui-network-container[_ngcontent-%COMP%]{width:fit-content}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}}@media screen and (max-width: 320px) and (max-height: 568px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.active[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:1px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:1px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:40px}.result-text[_ngcontent-%COMP%]{width:70%}}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%]{width:960px;max-width:960px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{height:unset;margin-top:24px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:0}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%]{height:277px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{width:320px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{width:180px}.tv-view[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{height:20vh}.tv-view[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content}.tv-view[_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%]{margin:16px}.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.isLtr.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),Qt})();var Y=t(18433);function q(Et,Qt){1&Et&&(o.j41(0,"div",3),o.nrm(1,"mat-icon",21),o.j41(2,"p",5),o.EFF(3),o.nI1(4,"translate"),o.k0s()()),2&Et&&(o.R7$(3),o.JRh(o.bMT(4,1,"networkTest.networkTestMyComputer")))}function T(Et,Qt){1&Et&&(o.j41(0,"div",3),o.nrm(1,"mat-icon",22),o.j41(2,"p",5),o.EFF(3),o.nI1(4,"translate"),o.k0s()()),2&Et&&(o.R7$(3),o.JRh(o.bMT(4,1,"networkTest.myDevice")))}function H(Et,Qt){1&Et&&o.nrm(0,"gfn-server-status-link",23)}function y(Et,Qt){if(1&Et&&o.nrm(0,"a",24),2&Et){const Gt=o.XpG();o.FS9("translate",Gt.firewallLinkText),o.Y8G("href",Gt.firewallHelpUrl,o.B4B)("shortUrl",Gt.firewallHelpShortUrl)}}function X(Et,Qt){1&Et&&(o.j41(0,"span"),o.EFF(1),o.nI1(2,"translate"),o.k0s()),2&Et&&(o.R7$(),o.JRh(o.bMT(2,1,"common.quit")))}function c(Et,Qt){1&Et&&(o.j41(0,"span"),o.EFF(1),o.nI1(2,"translate"),o.k0s()),2&Et&&(o.R7$(),o.JRh(o.bMT(2,1,"common.close")))}let g=(()=>{var Et;class Qt{constructor(st){var Dt;this.showFirewallHelpLink=!1,this.nvClient=Y.sKj.MallClient,this.tryAgain=new o.bkB,this.close=new o.bkB,this.continue=new o.bkB,this.networkTestStates=i.b6,this.mobileMode=!(null==st||null===(Dt=st.featureEnablement)||void 0===Dt||!Dt.mobileMode)}ngOnInit(){this.autoRun=this.nvClient===Y.sKj.StreamingClient}onClickClose(){this.close.emit()}onClickTryAgain(){this.tryAgain.emit()}onClickContinue(){this.continue.emit()}}return(Et=Qt).\u0275fac=function(st){return new(st||Et)(o.rXU(_.Vk))},Et.\u0275cmp=o.VBU({type:Et,selectors:[["gfn-network-test-error"]],inputs:{networkTestErrorText:"networkTestErrorText",zoneName:"zoneName",showFirewallHelpLink:"showFirewallHelpLink",firewallHelpUrl:"firewallHelpUrl",firewallHelpShortUrl:"firewallHelpShortUrl",firewallLinkText:"firewallLinkText",nvClient:"nvClient"},outputs:{tryAgain:"tryAgain",close:"close",continue:"continue"},decls:31,vars:19,consts:[[1,"nv-ui-assets"],["class","network-test-icons",4,"ngIf"],[3,"warningInfo"],[1,"network-test-icons"],["svgIcon","storage",1,"nw-icon","custom-svg-icon"],[1,"caption","font-body3"],[1,"caption","zone","font-body3"],[1,"common-ui-errorDetails"],["fxLayout","row","fxLayoutAlign","center start"],["fxLayout","column","fxLayoutAlign","start center"],[1,"result-text-container"],["fxFlex","","fxLayout","row","fxLayoutAlign","center start",1,"font-sub1"],["mat-font-set","nv-custom-icon",1,"nv-custom-icons","nw-icon-small","result-icon","icon-alert-circle_reg","error"],["fxFlex","","fxLayout","column","fxLayoutAlign","start start"],[1,"result-text"],["class","error-url",4,"ngIf"],["class","font-body2-link",3,"href","shortUrl","translate",4,"ngIf"],[1,"nv-button-class","error-dlg-buttons"],["mat-button","",1,"error-dialog-button","font-button2",3,"click"],["mat-button","","cdkFocusInitial","",1,"error-dialog-button","font-button2","error-background-active-btn",3,"click"],[4,"ngIf"],["svgIcon","desktop_mac",1,"nw-icon","custom-svg-icon"],["svgIcon","devices",1,"nw-icon","custom-svg-icon"],[1,"error-url"],[1,"font-body2-link",3,"href","shortUrl","translate"]],template:function(st,Dt){1&st&&(o.j41(0,"div",0),o.DNE(1,q,5,3,"div",1)(2,T,5,3,"div",1),o.nrm(3,"gfn-network-test-warning",2),o.j41(4,"div",3),o.nrm(5,"mat-icon",4),o.j41(6,"p",5),o.EFF(7),o.nI1(8,"translate"),o.k0s(),o.j41(9,"p",6),o.EFF(10),o.nI1(11,"translate"),o.k0s()()(),o.j41(12,"div",7)(13,"div",8)(14,"div",9)(15,"div",10)(16,"div",11),o.nrm(17,"mat-icon",12),o.j41(18,"div",13)(19,"div",14),o.EFF(20),o.nI1(21,"translate"),o.k0s(),o.DNE(22,H,1,0,"gfn-server-status-link",15)(23,y,1,3,"a",16),o.k0s()()()()()(),o.j41(24,"div",17)(25,"button",18),o.bIt("click",function(){return Dt.onClickTryAgain()}),o.EFF(26),o.nI1(27,"translate"),o.k0s(),o.j41(28,"button",19),o.bIt("click",function(){return Dt.onClickClose()}),o.DNE(29,X,3,3,"span",20)(30,c,3,3,"span",20),o.k0s()()),2&st&&(o.R7$(),o.Y8G("ngIf",!Dt.mobileMode),o.R7$(),o.Y8G("ngIf",Dt.mobileMode),o.R7$(),o.Y8G("warningInfo",Dt.networkTestStates.Bad),o.R7$(4),o.JRh(o.bMT(8,11,"common.gfn")),o.R7$(3),o.JRh(o.bMT(11,13,Dt.zoneName)),o.R7$(10),o.JRh(o.bMT(21,15,Dt.networkTestErrorText)),o.R7$(2),o.Y8G("ngIf",!Dt.showFirewallHelpLink),o.R7$(),o.Y8G("ngIf",Dt.showFirewallHelpLink),o.R7$(3),o.SpI(" ",o.bMT(27,17,"common.tryAgain")," "),o.R7$(3),o.Y8G("ngIf",Dt.autoRun),o.R7$(),o.Y8G("ngIf",!Dt.autoRun))},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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.font-size-xxxs[_ngcontent-%COMP%]{font-size:8px}.font-size-xxs[_ngcontent-%COMP%]{font-size:11px}.font-size-sm[_ngcontent-%COMP%]{font-size:12px}.font-size-sm1[_ngcontent-%COMP%]{font-size:13px}.font-size-lg[_ngcontent-%COMP%]{font-size:14px}.font-size-xl[_ngcontent-%COMP%]{font-size:16px}.font-size-xl1[_ngcontent-%COMP%]{font-size:18px}.font-size-20[_ngcontent-%COMP%]{font-size:20px}.font-size-xxl[_ngcontent-%COMP%]{font-size:24px}.font-size-32[_ngcontent-%COMP%]{font-size:32px}.font-size-xxxl[_ngcontent-%COMP%]{font-size:40px}.line-height-sm[_ngcontent-%COMP%]{line-height:.75em}.line-height-sm1[_ngcontent-%COMP%]{line-height:1em}.line-height-14[_ngcontent-%COMP%]{line-height:14px}.line-height-12[_ngcontent-%COMP%]{line-height:12px}.line-height-16[_ngcontent-%COMP%]{line-height:16px}.line-height-md[_ngcontent-%COMP%]{line-height:1.5em}.line-height-lg[_ngcontent-%COMP%]{line-height:3em}.line-height-30[_ngcontent-%COMP%]{line-height:30px}.line-height-36[_ngcontent-%COMP%]{line-height:36px}.line-height-lg1[_ngcontent-%COMP%]{line-height:40px}.font-style-italic[_ngcontent-%COMP%]{font-style:italic}.font-style-bold[_ngcontent-%COMP%]{font-weight:700}.font-style-normal[_ngcontent-%COMP%]{font-weight:400}.font-uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.font-lowercase[_ngcontent-%COMP%]{text-transform:lowercase}.text-transform-none[_ngcontent-%COMP%]{text-transform:none}.common-ui-network-container[_ngcontent-%COMP%]{background-color:#1f2224;max-width:789px}.common-ui-network-header[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:0;height:24px}.isLtr[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900;vertical-align:middle;min-width:24px}.isLtr[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.result-text-container[_ngcontent-%COMP%]{margin-bottom:6px}.result-text[_ngcontent-%COMP%]{margin-top:1px}.nw-icon[_ngcontent-%COMP%]{height:24px;line-height:24px;width:auto;speak:none;font-size:48px;font-variant:normal;align-self:center;color:#fff;opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:22px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:22px}.icon-alert-bang[_ngcontent-%COMP%]{margin:0}.common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.common-ui-network-container[_ngcontent-%COMP%] .result-icon.error[_ngcontent-%COMP%]{color:#ed1c24}.warn[_ngcontent-%COMP%]{color:#ffb538}.error[_ngcontent-%COMP%]{color:#ed1c24}.common-ui-errorDetails[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#76b900}.flex-1[_ngcontent-%COMP%]{flex:1}.nv-ui-assets[_ngcontent-%COMP%]{height:140px;margin-top:64px;display:flex;flex-direction:row;overflow:hidden;justify-content:center;align-items:baseline}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:79px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:79px}.nv-dot-icons[_ngcontent-%COMP%]{border-radius:50%;width:8px;height:8px;align-self:center;display:-webkit-inline-box;background:#ffffff73}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.animated[_ngcontent-%COMP%]{animation-duration:2s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:1s}.caption[_ngcontent-%COMP%]{display:block;max-width:92px;width:12vw;text-align:center;margin-bottom:0}.caption.truncate-text[_ngcontent-%COMP%]{margin-top:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.common-ui-errorDetails[_ngcontent-%COMP%]{height:72px;display:flex;justify-content:center;margin:0 24px}.connect-error-details[_ngcontent-%COMP%]{display:flex}.common-ui-network-container[_ngcontent-%COMP%] .common-ui-resultDetails[_ngcontent-%COMP%]{height:24px;margin-bottom:30px;align-self:center;margin-top:22px}.common-ui-network-content[_ngcontent-%COMP%]{height:181px;background-color:#0000004d;overflow-y:auto}.common-ui-network-content[_ngcontent-%COMP%] .nv-button-class[_ngcontent-%COMP%]{height:84px;display:flex}.common-ui-network-content[_ngcontent-%COMP%] .override-warning-container[_ngcontent-%COMP%]{margin-top:5px;padding:0 24px;align-items:center}.common-ui-network-content[_ngcontent-%COMP%] span.icon-alert-circle_reg[_ngcontent-%COMP%]{font-size:11px}.common-ui-network-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:12px;margin-top:0}.div-table[_ngcontent-%COMP%]{display:table!important;width:101%;padding-top:24px;padding-bottom:24px;max-width:100%}.div-table-row[_ngcontent-%COMP%]{display:table-row;width:auto;clear:both;height:28px}.div-table-col[_ngcontent-%COMP%]{display:table-column;width:140px;text-align:center}.isLtr[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:right}.div-table-col-header[_ngcontent-%COMP%]{display:table-column;width:236px}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ffb538;width:177px}.yellowstyle[_ngcontent-%COMP%] .narrowstyle[_ngcontent-%COMP%]{width:26px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ed1c24;width:177px}.redstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ed1c24}.yellowstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.wifi_2_4_warn[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%]{display:table}.network-assets[_ngcontent-%COMP%]{display:flex}.error-details[_ngcontent-%COMP%]{display:flex;margin-top:24px}.isLtr[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.common-ui-error[_ngcontent-%COMP%]{width:480px}.redirect-page-div[_ngcontent-%COMP%]{display:flex;align-content:center;justify-content:center}.redirect-page-link[_ngcontent-%COMP%]{text-decoration:none}.vertical-gap-24[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-right:48px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-right:48px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-left:48px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-left:48px}.network-progress-fill[_ngcontent-%COMP%]{height:50px;background-color:#1f2224}.network-test-icons[_ngcontent-%COMP%]{display:block}.error-dlg-content[_ngcontent-%COMP%]{margin:24px;min-height:32px}.error-dlg-buttons[_ngcontent-%COMP%]{min-height:52px}.isLtr[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:left}button.error-dialog-button[_ngcontent-%COMP%]{margin:8px}.error-icon[_ngcontent-%COMP%]{font-size:32px!important}.isLtr[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.error-icon-error-dialog[_ngcontent-%COMP%]{font-size:32px;margin-top:20px;min-width:32px;line-height:5px}.isLtr[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 8px 23px 23px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 8px 23px 23px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 23px 23px 8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 23px 23px 8px}.active[_ngcontent-%COMP%]{background:#76b900;opacity:1;width:12px;height:12px;margin-bottom:-2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.normal[_ngcontent-%COMP%]{background:#ffffff73;width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.error-background-active-btn[_ngcontent-%COMP%]{background-color:#76b900}.custom-svg-icon[_ngcontent-%COMP%]{width:48px;height:auto}.network-isp-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row}.network-test-warning-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin-top:12px}.nv-dot-icons-container[_ngcontent-%COMP%]{margin-top:12px}@media (max-width: 960px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:60px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:60px}.network-test-results[_ngcontent-%COMP%]{min-width:80vw}.div-table-col-header[_ngcontent-%COMP%]{width:30%}.div-table-col[_ngcontent-%COMP%]{width:18%}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:120px}}@media (max-width: 790px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:48px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:48px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:80px}}@media (max-width: 690px){.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:60px}}@media screen and (max-width: 834px) and (max-height: 1194px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:87px}.nv-dot-icons[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.active[_ngcontent-%COMP%]{width:10px;height:10px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.normal[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.div-table-col-header[_ngcontent-%COMP%]{width:160px}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{display:block;max-height:65vh;overflow-y:auto;overflow-x:unset}.common-ui-network-container[_ngcontent-%COMP%]{margin:0;overflow:unset}.common-ui-network-header[_ngcontent-%COMP%]{margin:0}.common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500}.tv-view[_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.isLtr[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.common-ui-network-content[_ngcontent-%COMP%]{height:unset;background-color:unset}.nv-ui-assets[_ngcontent-%COMP%]{height:100px;line-height:0;margin-top:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.network-test-icons[_ngcontent-%COMP%]{text-align:center;height:16px;margin-top:0}.network-isp-icons[_ngcontent-%COMP%]{align-items:center}.nv-dot-icons[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.active[_ngcontent-%COMP%]{width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.normal[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.custom-svg-icon[_ngcontent-%COMP%]{width:24px;min-height:25px}.caption[_ngcontent-%COMP%]{margin:0 auto;align-self:center}.common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content;display:flex;justify-content:center}.isLtr[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.isRtl[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.network-test-error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;box-sizing:border-box;justify-content:center;align-items:stretch;max-width:100%}.icon-alert-bang[_ngcontent-%COMP%]{font-size:36px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:57px}.result-text[_ngcontent-%COMP%]{margin-top:0}.network-test-results[_ngcontent-%COMP%]{background-color:#0000004d;padding-top:16px}.mat-mdc-tab-group[_ngcontent-%COMP%]{background-color:#0000004d}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.div-table-row[_ngcontent-%COMP%]{justify-content:space-between;max-width:240px}}@media (max-width: 959.98px) and (orientation: landscape),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{max-height:60vh}.network-test-results[_ngcontent-%COMP%]{max-width:536px;min-width:0}.common-ui-network-container[_ngcontent-%COMP%]{width:536px;max-height:80vh}}@media (max-width: 599.98px) and (orientation: portrait){.common-ui-network-container[_ngcontent-%COMP%]{width:fit-content}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}}@media screen and (max-width: 320px) and (max-height: 568px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.active[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:1px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:1px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:40px}.result-text[_ngcontent-%COMP%]{width:70%}}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%]{width:960px;max-width:960px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{height:unset;margin-top:24px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:0}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%]{height:277px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{width:320px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{width:180px}.tv-view[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{height:20vh}.tv-view[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content}.tv-view[_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%]{margin:16px}.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.isLtr.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),Qt})();var d=t(51542),C=t(51394),Q=t(3457),j=t(28139),le=t(54504);const ge=(Et,Qt)=>({warn:Et,error:Qt});function ie(Et,Qt){if(1&Et&&(o.j41(0,"div",6)(1,"div",7)(2,"p",10),o.EFF(3),o.nI1(4,"translate"),o.k0s()(),o.j41(5,"div",11)(6,"p",12),o.EFF(7),o.k0s()(),o.j41(8,"div",8)(9,"p",12),o.EFF(10),o.k0s()(),o.j41(11,"div",8)(12,"p",12),o.EFF(13),o.k0s()()()),2&Et){const Gt=Qt.$implicit;o.R7$(3),o.SpI(" ",o.bMT(4,5,Gt.settingLabel)," "),o.R7$(2),o.Y8G("ngClass",o.l_i(7,ge,Gt.isPoorValue,Gt.isBadValue)),o.R7$(2),o.JRh(Gt.measuredValue),o.R7$(3),o.JRh(Gt.requiredValue),o.R7$(3),o.JRh(Gt.recommendedValue)}}function ce(Et,Qt){if(1&Et&&(o.j41(0,"div",5)(1,"div",6)(2,"div",7),o.EFF(3,"\xa0"),o.k0s(),o.j41(4,"div",8)(5,"p"),o.EFF(6),o.nI1(7,"translate"),o.k0s()(),o.j41(8,"div",8)(9,"p"),o.EFF(10),o.nI1(11,"translate"),o.k0s()(),o.j41(12,"div",8)(13,"p"),o.EFF(14),o.nI1(15,"translate"),o.k0s()()(),o.DNE(16,ie,14,10,"div",9),o.k0s()),2&Et){const Gt=o.XpG();o.R7$(6),o.JRh(o.bMT(7,4,"networkTest.networkTestMeasured")),o.R7$(4),o.JRh(o.bMT(11,6,"networkTest.networkTestRequired")),o.R7$(4),o.JRh(o.bMT(15,8,"common.recommended")),o.R7$(2),o.Y8G("ngForOf",Gt.propertyData)}}function G(Et,Qt){if(1&Et&&(o.j41(0,"div",5)(1,"div",14)(2,"p"),o.EFF(3),o.nI1(4,"translate"),o.k0s()(),o.j41(5,"div",6)(6,"p",15),o.EFF(7),o.nI1(8,"translate"),o.k0s(),o.j41(9,"p",16),o.EFF(10),o.k0s()(),o.j41(11,"div",6)(12,"p",15),o.EFF(13),o.nI1(14,"translate"),o.k0s(),o.j41(15,"p",17),o.EFF(16),o.k0s()(),o.j41(17,"div",18)(18,"p",15),o.EFF(19),o.nI1(20,"translate"),o.k0s(),o.j41(21,"p",17),o.EFF(22),o.k0s()()()),2&Et){const Gt=Qt.$implicit;o.R7$(3),o.JRh(o.bMT(4,8,Gt.settingLabel)),o.R7$(4),o.JRh(o.bMT(8,10,"networkTest.networkTestMeasured")),o.R7$(2),o.Y8G("ngClass",o.l_i(16,ge,Gt.isPoorValue,Gt.isBadValue)),o.R7$(),o.SpI(" ",Gt.measuredValue," "),o.R7$(3),o.JRh(o.bMT(14,12,"networkTest.networkTestRequired")),o.R7$(3),o.JRh(Gt.requiredValue),o.R7$(3),o.JRh(o.bMT(20,14,"common.recommended")),o.R7$(3),o.JRh(Gt.recommendedValue)}}function ue(Et,Qt){if(1&Et&&(o.j41(0,"div",5),o.DNE(1,G,23,19,"div",13),o.k0s()),2&Et){const Gt=o.XpG();o.R7$(),o.Y8G("ngForOf",Gt.propertyData)}}function ae(Et,Qt){1&Et&&(o.qex(0),o.j41(1,"span",19),o.EFF(2),o.nI1(3,"translate"),o.k0s(),o.bVm()),2&Et&&(o.R7$(2),o.JRh(o.bMT(3,1,"networkTest.overrideZoneWarning")))}let Ce=(()=>{var Et;class Qt{constructor(st){this.networkConfigurationService=st}ngOnInit(){this.networkConfigurationService.getNetworkOverride().pipe((0,L.s)(1)).subscribe(st=>{this.showZoneOverrideWarning=!(0,A.isNil)(st)&&this.nvTestData.result.bandwidth.measured>=this.nvTestData.result.bandwidth.recommended&&this.nvTestData.result.frameLoss.measured=this.nvTestData.result.bandwidth.recommended?`> ${this.nvTestData.result.bandwidth.measured}`:this.nvTestData.result.bandwidth.measured,recommendedValue:`> ${this.nvTestData.result.bandwidth.recommended}`,requiredValue:`> ${this.nvTestData.result.bandwidth.limit}`,isPoorValue:(0,A.inRange)(this.nvTestData.result.bandwidth.measured,this.nvTestData.result.bandwidth.limit,this.nvTestData.result.bandwidth.recommended),isBadValue:this.nvTestData.result.bandwidth.measured<=this.nvTestData.result.bandwidth.limit},{settingLabel:"networkTest.packetLoss",measuredValue:this.nvTestData.result.frameLoss.measured.toFixed(1),recommendedValue:`< ${this.nvTestData.result.frameLoss.recommended.toFixed(1)}`,requiredValue:`< ${this.nvTestData.result.frameLoss.limit.toFixed(1)}`,isPoorValue:(0,A.inRange)(this.nvTestData.result.frameLoss.measured,this.nvTestData.result.frameLoss.recommended,this.nvTestData.result.frameLoss.limit),isBadValue:this.nvTestData.result.frameLoss.measured>=this.nvTestData.result.frameLoss.limit},{settingLabel:"networkTest.latency",measuredValue:this.nvTestData.result.latency.measured,recommendedValue:`< ${this.nvTestData.result.latency.recommended}`,requiredValue:`< ${this.nvTestData.result.latency.limit}`,isPoorValue:(0,A.inRange)(this.nvTestData.result.latency.measured,this.nvTestData.result.latency.recommended,this.nvTestData.result.latency.limit),isBadValue:this.nvTestData.result.latency.measured>=this.nvTestData.result.latency.limit}]}}return(Et=Qt).\u0275fac=function(st){return new(st||Et)(o.rXU(d.u))},Et.\u0275cmp=o.VBU({type:Et,selectors:[["gfn-network-completed"]],inputs:{nvTestData:"nvTestData",isHandset:"isHandset"},decls:6,vars:3,consts:[["fxLayout","column","tabindex","0",1,"common-ui-network-content"],["fxLayout","column","fxFlex","",1,"div-table","font-sub2"],["fxLayout","column","fxFlex","",4,"ngIf"],["fxLayout","row",1,"override-warning-container"],[4,"ngIf"],["fxLayout","column","fxFlex",""],["fxLayout","row","fxFlex","",1,"div-table-row"],[1,"div-table-col-header","font-body2"],[1,"div-table-col","font-body2"],["class","div-table-row","fxLayout","row","fxFlex","",4,"ngFor","ngForOf"],["nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3"],[1,"div-table-col","font-body2",3,"ngClass"],["dir","auto"],["fxLayout","column","fxFlex","",4,"ngFor","ngForOf"],[1,"font-sub2"],[1,"font-body3"],["dir","auto",1,"font-sub3",3,"ngClass"],["dir","auto",1,"font-sub3"],["fxLayout","row","fxFlex","",1,"div-table-row","font-body3"],[1,"font-body3-italic"]],template:function(st,Dt){1&st&&(o.j41(0,"div",0)(1,"div",1),o.DNE(2,ce,17,10,"div",2)(3,ue,2,1,"div",2),o.j41(4,"div",3),o.DNE(5,ae,4,3,"ng-container",4),o.k0s()()()),2&st&&(o.R7$(2),o.Y8G("ngIf",!Dt.isHandset),o.R7$(),o.Y8G("ngIf",Dt.isHandset),o.R7$(2),o.Y8G("ngIf",Dt.showZoneOverrideWarning))},dependencies:[C.ig,e.YU,e.Sq,e.bT,Q.DJ,Q.UI,j.PW,le.a,E.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.font-size-xxxs[_ngcontent-%COMP%]{font-size:8px}.font-size-xxs[_ngcontent-%COMP%]{font-size:11px}.font-size-sm[_ngcontent-%COMP%]{font-size:12px}.font-size-sm1[_ngcontent-%COMP%]{font-size:13px}.font-size-lg[_ngcontent-%COMP%]{font-size:14px}.font-size-xl[_ngcontent-%COMP%]{font-size:16px}.font-size-xl1[_ngcontent-%COMP%]{font-size:18px}.font-size-20[_ngcontent-%COMP%]{font-size:20px}.font-size-xxl[_ngcontent-%COMP%]{font-size:24px}.font-size-32[_ngcontent-%COMP%]{font-size:32px}.font-size-xxxl[_ngcontent-%COMP%]{font-size:40px}.line-height-sm[_ngcontent-%COMP%]{line-height:.75em}.line-height-sm1[_ngcontent-%COMP%]{line-height:1em}.line-height-14[_ngcontent-%COMP%]{line-height:14px}.line-height-12[_ngcontent-%COMP%]{line-height:12px}.line-height-16[_ngcontent-%COMP%]{line-height:16px}.line-height-md[_ngcontent-%COMP%]{line-height:1.5em}.line-height-lg[_ngcontent-%COMP%]{line-height:3em}.line-height-30[_ngcontent-%COMP%]{line-height:30px}.line-height-36[_ngcontent-%COMP%]{line-height:36px}.line-height-lg1[_ngcontent-%COMP%]{line-height:40px}.font-style-italic[_ngcontent-%COMP%]{font-style:italic}.font-style-bold[_ngcontent-%COMP%]{font-weight:700}.font-style-normal[_ngcontent-%COMP%]{font-weight:400}.font-uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.font-lowercase[_ngcontent-%COMP%]{text-transform:lowercase}.text-transform-none[_ngcontent-%COMP%]{text-transform:none}.common-ui-network-container[_ngcontent-%COMP%]{background-color:#1f2224;max-width:789px}.common-ui-network-header[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:0;height:24px}.isLtr[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900;vertical-align:middle;min-width:24px}.isLtr[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.result-text-container[_ngcontent-%COMP%]{margin-bottom:6px}.result-text[_ngcontent-%COMP%]{margin-top:1px}.nw-icon[_ngcontent-%COMP%]{height:24px;line-height:24px;width:auto;speak:none;font-size:48px;font-variant:normal;align-self:center;color:#fff;opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:22px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:22px}.icon-alert-bang[_ngcontent-%COMP%]{margin:0}.common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.common-ui-network-container[_ngcontent-%COMP%] .result-icon.error[_ngcontent-%COMP%]{color:#ed1c24}.warn[_ngcontent-%COMP%]{color:#ffb538}.error[_ngcontent-%COMP%]{color:#ed1c24}.common-ui-errorDetails[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#76b900}.flex-1[_ngcontent-%COMP%]{flex:1}.nv-ui-assets[_ngcontent-%COMP%]{height:140px;margin-top:64px;display:flex;flex-direction:row;overflow:hidden;justify-content:center;align-items:baseline}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:79px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:79px}.nv-dot-icons[_ngcontent-%COMP%]{border-radius:50%;width:8px;height:8px;align-self:center;display:-webkit-inline-box;background:#ffffff73}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.animated[_ngcontent-%COMP%]{animation-duration:2s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:1s}.caption[_ngcontent-%COMP%]{display:block;max-width:92px;width:12vw;text-align:center;margin-bottom:0}.caption.truncate-text[_ngcontent-%COMP%]{margin-top:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.common-ui-errorDetails[_ngcontent-%COMP%]{height:72px;display:flex;justify-content:center;margin:0 24px}.connect-error-details[_ngcontent-%COMP%]{display:flex}.common-ui-network-container[_ngcontent-%COMP%] .common-ui-resultDetails[_ngcontent-%COMP%]{height:24px;margin-bottom:30px;align-self:center;margin-top:22px}.common-ui-network-content[_ngcontent-%COMP%]{height:181px;background-color:#0000004d;overflow-y:auto}.common-ui-network-content[_ngcontent-%COMP%] .nv-button-class[_ngcontent-%COMP%]{height:84px;display:flex}.common-ui-network-content[_ngcontent-%COMP%] .override-warning-container[_ngcontent-%COMP%]{margin-top:5px;padding:0 24px;align-items:center}.common-ui-network-content[_ngcontent-%COMP%] span.icon-alert-circle_reg[_ngcontent-%COMP%]{font-size:11px}.common-ui-network-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:12px;margin-top:0}.div-table[_ngcontent-%COMP%]{display:table!important;width:101%;padding-top:24px;padding-bottom:24px;max-width:100%}.div-table-row[_ngcontent-%COMP%]{display:table-row;width:auto;clear:both;height:28px}.div-table-col[_ngcontent-%COMP%]{display:table-column;width:140px;text-align:center}.isLtr[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:right}.div-table-col-header[_ngcontent-%COMP%]{display:table-column;width:236px}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ffb538;width:177px}.yellowstyle[_ngcontent-%COMP%] .narrowstyle[_ngcontent-%COMP%]{width:26px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ed1c24;width:177px}.redstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ed1c24}.yellowstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.wifi_2_4_warn[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%]{display:table}.network-assets[_ngcontent-%COMP%]{display:flex}.error-details[_ngcontent-%COMP%]{display:flex;margin-top:24px}.isLtr[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.common-ui-error[_ngcontent-%COMP%]{width:480px}.redirect-page-div[_ngcontent-%COMP%]{display:flex;align-content:center;justify-content:center}.redirect-page-link[_ngcontent-%COMP%]{text-decoration:none}.vertical-gap-24[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-right:48px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-right:48px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-left:48px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-left:48px}.network-progress-fill[_ngcontent-%COMP%]{height:50px;background-color:#1f2224}.network-test-icons[_ngcontent-%COMP%]{display:block}.error-dlg-content[_ngcontent-%COMP%]{margin:24px;min-height:32px}.error-dlg-buttons[_ngcontent-%COMP%]{min-height:52px}.isLtr[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:left}button.error-dialog-button[_ngcontent-%COMP%]{margin:8px}.error-icon[_ngcontent-%COMP%]{font-size:32px!important}.isLtr[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.error-icon-error-dialog[_ngcontent-%COMP%]{font-size:32px;margin-top:20px;min-width:32px;line-height:5px}.isLtr[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 8px 23px 23px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 8px 23px 23px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 23px 23px 8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 23px 23px 8px}.active[_ngcontent-%COMP%]{background:#76b900;opacity:1;width:12px;height:12px;margin-bottom:-2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.normal[_ngcontent-%COMP%]{background:#ffffff73;width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.error-background-active-btn[_ngcontent-%COMP%]{background-color:#76b900}.custom-svg-icon[_ngcontent-%COMP%]{width:48px;height:auto}.network-isp-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row}.network-test-warning-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin-top:12px}.nv-dot-icons-container[_ngcontent-%COMP%]{margin-top:12px}@media (max-width: 960px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:60px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:60px}.network-test-results[_ngcontent-%COMP%]{min-width:80vw}.div-table-col-header[_ngcontent-%COMP%]{width:30%}.div-table-col[_ngcontent-%COMP%]{width:18%}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:120px}}@media (max-width: 790px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:48px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:48px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:80px}}@media (max-width: 690px){.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:60px}}@media screen and (max-width: 834px) and (max-height: 1194px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:87px}.nv-dot-icons[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.active[_ngcontent-%COMP%]{width:10px;height:10px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.normal[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.div-table-col-header[_ngcontent-%COMP%]{width:160px}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{display:block;max-height:65vh;overflow-y:auto;overflow-x:unset}.common-ui-network-container[_ngcontent-%COMP%]{margin:0;overflow:unset}.common-ui-network-header[_ngcontent-%COMP%]{margin:0}.common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500}.tv-view[_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.isLtr[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.common-ui-network-content[_ngcontent-%COMP%]{height:unset;background-color:unset}.nv-ui-assets[_ngcontent-%COMP%]{height:100px;line-height:0;margin-top:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.network-test-icons[_ngcontent-%COMP%]{text-align:center;height:16px;margin-top:0}.network-isp-icons[_ngcontent-%COMP%]{align-items:center}.nv-dot-icons[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.active[_ngcontent-%COMP%]{width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.normal[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.custom-svg-icon[_ngcontent-%COMP%]{width:24px;min-height:25px}.caption[_ngcontent-%COMP%]{margin:0 auto;align-self:center}.common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content;display:flex;justify-content:center}.isLtr[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.isRtl[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.network-test-error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;box-sizing:border-box;justify-content:center;align-items:stretch;max-width:100%}.icon-alert-bang[_ngcontent-%COMP%]{font-size:36px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:57px}.result-text[_ngcontent-%COMP%]{margin-top:0}.network-test-results[_ngcontent-%COMP%]{background-color:#0000004d;padding-top:16px}.mat-mdc-tab-group[_ngcontent-%COMP%]{background-color:#0000004d}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.div-table-row[_ngcontent-%COMP%]{justify-content:space-between;max-width:240px}}@media (max-width: 959.98px) and (orientation: landscape),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{max-height:60vh}.network-test-results[_ngcontent-%COMP%]{max-width:536px;min-width:0}.common-ui-network-container[_ngcontent-%COMP%]{width:536px;max-height:80vh}}@media (max-width: 599.98px) and (orientation: portrait){.common-ui-network-container[_ngcontent-%COMP%]{width:fit-content}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}}@media screen and (max-width: 320px) and (max-height: 568px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.active[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:1px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:1px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:40px}.result-text[_ngcontent-%COMP%]{width:70%}}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%]{width:960px;max-width:960px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{height:unset;margin-top:24px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:0}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%]{height:277px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{width:320px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{width:180px}.tv-view[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{height:20vh}.tv-view[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content}.tv-view[_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%]{margin:16px}.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.isLtr.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),Qt})();const Se=Et=>({narrowstyle:Et});let Ne=(()=>{var Et;class Qt{constructor(){this.isWifi_2_4=!1,this.isBadNetworkResult=!1}ngOnInit(){switch(this.warningInfo){case i.b6.PoorWifi_2_4:this.isWifi_2_4=!0;break;case i.b6.Bad:this.isBadNetworkResult=!0}}}return(Et=Qt).\u0275fac=function(st){return new(st||Et)},Et.\u0275cmp=o.VBU({type:Et,selectors:[["gfn-network-test-warning"]],inputs:{warningInfo:"warningInfo"},decls:4,vars:7,consts:[[1,"network-test-warning-icons",3,"ngClass"],[3,"ngClass"],["mat-font-set","material-icons",1,"nv-custom-icons","nw-icon","icon-alert-bang"]],template:function(st,Dt){1&st&&(o.j41(0,"div",0),o.nrm(1,"hr",1)(2,"mat-icon",2)(3,"hr",1),o.k0s()),2&st&&(o.Y8G("ngClass",Dt.isBadNetworkResult?"redstyle":"yellowstyle"),o.R7$(),o.Y8G("ngClass",o.eq3(3,Se,Dt.isWifi_2_4)),o.R7$(2),o.Y8G("ngClass",o.eq3(5,Se,Dt.isWifi_2_4)))},dependencies:[B.An,e.YU,j.PW],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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.font-size-xxxs[_ngcontent-%COMP%]{font-size:8px}.font-size-xxs[_ngcontent-%COMP%]{font-size:11px}.font-size-sm[_ngcontent-%COMP%]{font-size:12px}.font-size-sm1[_ngcontent-%COMP%]{font-size:13px}.font-size-lg[_ngcontent-%COMP%]{font-size:14px}.font-size-xl[_ngcontent-%COMP%]{font-size:16px}.font-size-xl1[_ngcontent-%COMP%]{font-size:18px}.font-size-20[_ngcontent-%COMP%]{font-size:20px}.font-size-xxl[_ngcontent-%COMP%]{font-size:24px}.font-size-32[_ngcontent-%COMP%]{font-size:32px}.font-size-xxxl[_ngcontent-%COMP%]{font-size:40px}.line-height-sm[_ngcontent-%COMP%]{line-height:.75em}.line-height-sm1[_ngcontent-%COMP%]{line-height:1em}.line-height-14[_ngcontent-%COMP%]{line-height:14px}.line-height-12[_ngcontent-%COMP%]{line-height:12px}.line-height-16[_ngcontent-%COMP%]{line-height:16px}.line-height-md[_ngcontent-%COMP%]{line-height:1.5em}.line-height-lg[_ngcontent-%COMP%]{line-height:3em}.line-height-30[_ngcontent-%COMP%]{line-height:30px}.line-height-36[_ngcontent-%COMP%]{line-height:36px}.line-height-lg1[_ngcontent-%COMP%]{line-height:40px}.font-style-italic[_ngcontent-%COMP%]{font-style:italic}.font-style-bold[_ngcontent-%COMP%]{font-weight:700}.font-style-normal[_ngcontent-%COMP%]{font-weight:400}.font-uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.font-lowercase[_ngcontent-%COMP%]{text-transform:lowercase}.text-transform-none[_ngcontent-%COMP%]{text-transform:none}.common-ui-network-container[_ngcontent-%COMP%]{background-color:#1f2224;max-width:789px}.common-ui-network-header[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:0;height:24px}.isLtr[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900;vertical-align:middle;min-width:24px}.isLtr[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.result-text-container[_ngcontent-%COMP%]{margin-bottom:6px}.result-text[_ngcontent-%COMP%]{margin-top:1px}.nw-icon[_ngcontent-%COMP%]{height:24px;line-height:24px;width:auto;speak:none;font-size:48px;font-variant:normal;align-self:center;color:#fff;opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:22px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:22px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:22px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:22px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:22px}.icon-alert-bang[_ngcontent-%COMP%]{margin:0}.common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{font-size:24px;color:#76b900}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.common-ui-network-container[_ngcontent-%COMP%] .result-icon.error[_ngcontent-%COMP%]{color:#ed1c24}.warn[_ngcontent-%COMP%]{color:#ffb538}.error[_ngcontent-%COMP%]{color:#ed1c24}.common-ui-errorDetails[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#76b900}.flex-1[_ngcontent-%COMP%]{flex:1}.nv-ui-assets[_ngcontent-%COMP%]{height:140px;margin-top:64px;display:flex;flex-direction:row;overflow:hidden;justify-content:center;align-items:baseline}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:79px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:79px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:79px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:79px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:79px}.nv-dot-icons[_ngcontent-%COMP%]{border-radius:50%;width:8px;height:8px;align-self:center;display:-webkit-inline-box;background:#ffffff73}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.animated[_ngcontent-%COMP%]{animation-duration:2s;animation-iteration-count:infinite;animation-fill-mode:both;animation-delay:1s}.caption[_ngcontent-%COMP%]{display:block;max-width:92px;width:12vw;text-align:center;margin-bottom:0}.caption.truncate-text[_ngcontent-%COMP%]{margin-top:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.common-ui-errorDetails[_ngcontent-%COMP%]{height:72px;display:flex;justify-content:center;margin:0 24px}.connect-error-details[_ngcontent-%COMP%]{display:flex}.common-ui-network-container[_ngcontent-%COMP%] .common-ui-resultDetails[_ngcontent-%COMP%]{height:24px;margin-bottom:30px;align-self:center;margin-top:22px}.common-ui-network-content[_ngcontent-%COMP%]{height:181px;background-color:#0000004d;overflow-y:auto}.common-ui-network-content[_ngcontent-%COMP%] .nv-button-class[_ngcontent-%COMP%]{height:84px;display:flex}.common-ui-network-content[_ngcontent-%COMP%] .override-warning-container[_ngcontent-%COMP%]{margin-top:5px;padding:0 24px;align-items:center}.common-ui-network-content[_ngcontent-%COMP%] span.icon-alert-circle_reg[_ngcontent-%COMP%]{font-size:11px}.common-ui-network-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:12px;margin-top:0}.div-table[_ngcontent-%COMP%]{display:table!important;width:101%;padding-top:24px;padding-bottom:24px;max-width:100%}.div-table-row[_ngcontent-%COMP%]{display:table-row;width:auto;clear:both;height:28px}.div-table-col[_ngcontent-%COMP%]{display:table-column;width:140px;text-align:center}.isLtr[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{--dummy0: 0;float:right}.div-table-col-header[_ngcontent-%COMP%]{display:table-column;width:236px}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:left}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:left}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{float:right}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isLtr[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ffb538;width:177px}.yellowstyle[_ngcontent-%COMP%] .narrowstyle[_ngcontent-%COMP%]{width:26px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:inline-block;border:16px;border-top:.1rem solid #ed1c24;width:177px}.redstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ed1c24}.yellowstyle[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.wifi_2_4_warn[_ngcontent-%COMP%] .nv-custom-icons[_ngcontent-%COMP%]:before{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{color:#ffb538}.network-test-warning-icons[_ngcontent-%COMP%]{display:table}.network-assets[_ngcontent-%COMP%]{display:flex}.error-details[_ngcontent-%COMP%]{display:flex;margin-top:24px}.isLtr[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .error-details[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-details[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .error-details[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.common-ui-error[_ngcontent-%COMP%]{width:480px}.redirect-page-div[_ngcontent-%COMP%]{display:flex;align-content:center;justify-content:center}.redirect-page-link[_ngcontent-%COMP%]{text-decoration:none}.vertical-gap-24[_ngcontent-%COMP%]{height:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-left:24px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-left:24px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{margin-right:24px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy3: 0;margin-right:24px}.isLtr[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-right:48px}html[dir=ltr][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-right:48px}.isRtl[_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .network-tips-link[_ngcontent-%COMP%]{padding-left:48px}html[dir=rtl][_ngcontent-%COMP%] .network-tips-link[_ngcontent-%COMP%]{--dummy2: 0;padding-left:48px}.network-progress-fill[_ngcontent-%COMP%]{height:50px;background-color:#1f2224}.network-test-icons[_ngcontent-%COMP%]{display:block}.error-dlg-content[_ngcontent-%COMP%]{margin:24px;min-height:32px}.error-dlg-buttons[_ngcontent-%COMP%]{min-height:52px}.isLtr[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .error-dlg-buttons[_ngcontent-%COMP%]{--dummy0: 0;float:left}button.error-dialog-button[_ngcontent-%COMP%]{margin:8px}.error-icon[_ngcontent-%COMP%]{font-size:32px!important}.isLtr[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.error-icon-error-dialog[_ngcontent-%COMP%]{font-size:32px;margin-top:20px;min-width:32px;line-height:5px}.isLtr[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-right:16px}html[dir=ltr][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-right:16px}.isRtl[_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{margin-left:16px}html[dir=rtl][_ngcontent-%COMP%] .error-icon-error-dialog[_ngcontent-%COMP%]{--dummy4: 0;margin-left:16px}.isLtr[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 8px 23px 23px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 8px 23px 23px}.isRtl[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{margin:23px 23px 23px 8px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .close-dlg-btn[_ngcontent-%COMP%]{--dummy: 0;margin:23px 23px 23px 8px}.active[_ngcontent-%COMP%]{background:#76b900;opacity:1;width:12px;height:12px;margin-bottom:-2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.normal[_ngcontent-%COMP%]{background:#ffffff73;width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.error-background-active-btn[_ngcontent-%COMP%]{background-color:#76b900}.custom-svg-icon[_ngcontent-%COMP%]{width:48px;height:auto}.network-isp-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row}.network-test-warning-icons[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin-top:12px}.nv-dot-icons-container[_ngcontent-%COMP%]{margin-top:12px}@media (max-width: 960px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:60px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:60px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:60px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:60px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:60px}.network-test-results[_ngcontent-%COMP%]{min-width:80vw}.div-table-col-header[_ngcontent-%COMP%]{width:30%}.div-table-col[_ngcontent-%COMP%]{width:18%}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:120px}}@media (max-width: 790px){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:48px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:48px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:48px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:48px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:48px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:80px}}@media (max-width: 690px){.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:60px}}@media screen and (max-width: 834px) and (max-height: 1194px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:36px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:36px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:36px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:36px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:36px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:8px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:87px}.nv-dot-icons[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.active[_ngcontent-%COMP%]{width:10px;height:10px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.normal[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}.div-table-col-header[_ngcontent-%COMP%]{width:160px}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{display:block;max-height:65vh;overflow-y:auto;overflow-x:unset}.common-ui-network-container[_ngcontent-%COMP%]{margin:0;overflow:unset}.common-ui-network-header[_ngcontent-%COMP%]{margin:0}.common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 14px;--font-header-line-height: 20px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500}.tv-view[_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--font-header-font-size: 28px;--font-header-line-height: 40px}.isLtr[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-network-title[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.common-ui-network-content[_ngcontent-%COMP%]{height:unset;background-color:unset}.nv-ui-assets[_ngcontent-%COMP%]{height:100px;line-height:0;margin-top:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-left:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy3: 0;margin-right:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy4: 0;margin-left:0}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.network-test-icons[_ngcontent-%COMP%]{text-align:center;height:16px;margin-top:0}.network-isp-icons[_ngcontent-%COMP%]{align-items:center}.nv-dot-icons[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.active[_ngcontent-%COMP%]{width:8px;height:8px;margin-bottom:0}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.normal[_ngcontent-%COMP%]{width:4px;height:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:4px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:4px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:4px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:4px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:4px}.custom-svg-icon[_ngcontent-%COMP%]{width:24px;min-height:25px}.caption[_ngcontent-%COMP%]{margin:0 auto;align-self:center}.common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content;display:flex;justify-content:center}.isLtr[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=ltr][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.isRtl[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{margin:0 24px}html[dir=rtl][_ngcontent-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{--dummy: 0;margin:0 24px}.network-test-error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;box-sizing:border-box;justify-content:center;align-items:stretch;max-width:100%}.icon-alert-bang[_ngcontent-%COMP%]{font-size:36px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:57px}.result-text[_ngcontent-%COMP%]{margin-top:0}.network-test-results[_ngcontent-%COMP%]{background-color:#0000004d;padding-top:16px}.mat-mdc-tab-group[_ngcontent-%COMP%]{background-color:#0000004d}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .div-table[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .div-table[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .div-table[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.div-table-row[_ngcontent-%COMP%]{justify-content:space-between;max-width:240px}}@media (max-width: 959.98px) and (orientation: landscape),(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape){.network-test-content[_ngcontent-%COMP%]{max-height:60vh}.network-test-results[_ngcontent-%COMP%]{max-width:536px;min-width:0}.common-ui-network-container[_ngcontent-%COMP%]{width:536px;max-height:80vh}}@media (max-width: 599.98px) and (orientation: portrait){.common-ui-network-container[_ngcontent-%COMP%]{width:fit-content}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:6px}.isLtr[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-right:6px}html[dir=ltr][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:6px}.isRtl[_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nw-icon[_ngcontent-%COMP%]{margin-left:6px}html[dir=rtl][_ngcontent-%COMP%] .nw-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:6px}}@media screen and (max-width: 320px) and (max-height: 568px) and (orientation: portrait){.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .nv-dot-icons[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.active[_ngcontent-%COMP%]{width:6px;height:6px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-left:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy3: 0;margin-right:1px}.isLtr[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-right:1px}html[dir=ltr][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-right:1px}.isRtl[_nghost-%COMP%] .active[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .active[_ngcontent-%COMP%]{margin-left:1px}html[dir=rtl][_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{--dummy4: 0;margin-left:1px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-left:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy3: 0;margin-right:2px}.isLtr[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-right:2px}html[dir=ltr][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-right:2px}.isRtl[_nghost-%COMP%] .normal[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .normal[_ngcontent-%COMP%]{margin-left:2px}html[dir=rtl][_ngcontent-%COMP%] .normal[_ngcontent-%COMP%]{--dummy4: 0;margin-left:2px}.redstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%], .yellowstyle[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{width:40px}.result-text[_ngcontent-%COMP%]{width:70%}}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%]{width:960px;max-width:960px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] .common-ui-network-header[_ngcontent-%COMP%]{height:unset;margin-top:24px}.tv-view[_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:0}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%]{height:277px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-row[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col-header[_ngcontent-%COMP%]{width:320px}.tv-view[_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-network-content[_ngcontent-%COMP%] .div-table-col[_ngcontent-%COMP%]{width:180px}.tv-view[_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .nv-ui-assets[_ngcontent-%COMP%]{height:20vh}.tv-view[_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .common-ui-errorDetails[_ngcontent-%COMP%]{height:fit-content}.tv-view[_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .error-dialog-button[_ngcontent-%COMP%]{margin:16px}.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.isLtr.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-right:20px}html[dir=ltr] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:20px}.isRtl.tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{margin-left:20px}html[dir=rtl] .tv-view[_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .result-icon.mat-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:20px}"]}),Qt})();var we=t(74692),ve=t(97888);function Pe(Et,Qt){if(1&Et){const Gt=o.RV6();o.j41(0,"button",3),o.bIt("click",function(){o.eBV(Gt);const Dt=o.XpG();return o.Njj(Dt.execLeftButtonAction())}),o.EFF(1),o.nI1(2,"translate"),o.nI1(3,"uppercase"),o.k0s()}if(2&Et){const Gt=o.XpG();o.R7$(),o.SpI(" ",o.bMT(3,3,o.bMT(2,1,Gt.leftButtonText))," ")}}let Oe=(()=>{var Et;class Qt{constructor(){this.tryAgain=new o.bkB,this.close=new o.bkB,this.continue=new o.bkB,this.showButton=!0}ngOnInit(){switch(this.placementCriteria.progressState){case i.b6.Excellent:this.showButton=this.placementCriteria.showAdditionalActions,this.leftButtonText="common.tryAgain",this.rightButtonText=this.placementCriteria.autoRun?"common.continueTitleCase":"common.ok";break;case i.b6.Bad:this.leftButtonText=this.placementCriteria.autoRun?"networkTest.continueAnyway":"common.close",this.rightButtonText="common.tryAgain";break;default:this.leftButtonText=this.placementCriteria.autoRun?"common.continueTitleCase":"common.close",this.rightButtonText="common.tryAgain"}}execLeftButtonAction(){this.placementCriteria.progressState===i.b6.Excellent?this.tryAgain.emit():this.placementCriteria.autoRun?this.continue.emit():this.close.emit()}execRightButtonAction(){this.placementCriteria.progressState===i.b6.Excellent?this.placementCriteria.autoRun?this.continue.emit():this.close.emit():this.tryAgain.emit()}}return(Et=Qt).\u0275fac=function(st){return new(st||Et)},Et.\u0275cmp=o.VBU({type:Et,selectors:[["gfn-nw-test-button-placer"]],inputs:{placementCriteria:"placementCriteria"},outputs:{tryAgain:"tryAgain",close:"close",continue:"continue"},decls:6,vars:6,consts:[[1,"container"],["mat-flat-button","","cdkFocusInitial","",1,"action-btn","font-button2","mat-accent",3,"click"],["mat-button","","class","font-button2 back-hover-override",3,"click",4,"ngIf"],["mat-button","",1,"font-button2","back-hover-override",3,"click"]],template:function(st,Dt){1&st&&(o.j41(0,"div",0)(1,"button",1),o.bIt("click",function(){return Dt.execRightButtonAction()}),o.EFF(2),o.nI1(3,"translate"),o.nI1(4,"uppercase"),o.k0s(),o.DNE(5,Pe,4,5,"button",2),o.k0s()),2&st&&(o.R7$(2),o.SpI(" ",o.bMT(4,4,o.bMT(3,2,Dt.rightButtonText))," "),o.R7$(3),o.Y8G("ngIf",Dt.showButton))},dependencies:[P.iV,e.bT,ve.Aq,e.Pc,E.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.action-btn[_ngcontent-%COMP%]{height:36px;min-width:64px;border-radius:0;margin:13px 8px}.isLtr[_nghost-%COMP%] .action-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .action-btn[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .action-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .action-btn[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.isLtr[_nghost-%COMP%] .action-btn[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .action-btn[_ngcontent-%COMP%]{padding-right:16px}html[dir=ltr][_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{--dummy2: 0;padding-right:16px}.isRtl[_nghost-%COMP%] .action-btn[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .action-btn[_ngcontent-%COMP%]{padding-left:16px}html[dir=rtl][_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{--dummy2: 0;padding-left:16px}.back-hover-override[_ngcontent-%COMP%]:hover{background-color:#ffffff0a}.container[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;padding:8px;gap:8px 13px}.container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:0}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.container[_ngcontent-%COMP%]{flex-wrap:wrap}}.tv-view[_nghost-%COMP%] .action-btn[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .action-btn[_ngcontent-%COMP%]{height:auto}.tv-view[_nghost-%COMP%] .container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .container[_ngcontent-%COMP%]{padding:16px;gap:16px 32px}"]}),Qt})();var Be=t(54594),tt=t(19061),Ee=t(40262),ot=t(55833),We=t(53461),Qe=t(48571),Fe=t(81834),Xe=t(66974),_e=t(37073),He=t(14043);const De=Et=>({"analysis-done":Et});function Re(Et,Qt){1&Et&&o.nrm(0,"div",6),2&Et&&o.Y8G("@networkTestAnalyzerAnimation",void 0)}function K(Et,Qt){if(1&Et&&(o.nrm(0,"gfn-small-landscape-loader",7),o.nI1(1,"async")),2&Et){let Gt;const st=o.XpG();o.Y8G("showHeaderSection",!st.isAnalysisDone)("canShowRating",st.canShowRating)("loadingScreensData",st.loadingScreensData)("contentRatings",null==(Gt=o.bMT(1,4,st.appMetadata$))?null:Gt.contentRatings)}}function ke(Et,Qt){if(1&Et&&(o.j41(0,"div",15)(1,"span"),o.EFF(2),o.nI1(3,"translate"),o.k0s()()),2&Et){const Gt=o.XpG(2);o.Y8G("@networkTestAnalyzerAnimation",void 0),o.R7$(2),o.SpI("",o.bMT(3,2,Gt.loadingScreensData.loadingText),"...")}}function Ue(Et,Qt){if(1&Et&&(o.j41(0,"div",16),o.nrm(1,"mat-progress-bar",17),o.k0s()),2&Et){const Gt=o.XpG(2);o.Y8G("@networkTestAnalyzerAnimation",void 0),o.R7$(),o.Y8G("mode",Gt.loadingScreensData.progressBar)}}function et(Et,Qt){if(1&Et&&(o.qex(0),o.nrm(1,"gfn-content-rating",18),o.bVm()),2&Et){const Gt=Qt.ngIf;o.R7$(),o.Y8G("contentRatings",Gt)}}function gt(Et,Qt){1&Et&&(o.j41(0,"div")(1,"span",19),o.EFF(2),o.nI1(3,"translate"),o.k0s(),o.nrm(4,"mat-icon",20),o.k0s()),2&Et&&(o.R7$(2),o.JRh(o.bMT(3,1,"setup.guestApp.poweredBy")))}function vt(Et,Qt){if(1&Et&&(o.j41(0,"div",8),o.DNE(1,ke,4,4,"div",9)(2,Ue,2,2,"div",10),o.j41(3,"div",11),o.DNE(4,et,2,1,"ng-container",12),o.nI1(5,"async"),o.k0s(),o.j41(6,"div",13)(7,"div",14),o.DNE(8,gt,5,3,"div",12),o.k0s()()()),2&Et){let Gt;const st=o.XpG();o.R7$(),o.Y8G("ngIf",!st.isAnalysisDone),o.R7$(),o.Y8G("ngIf",!st.isAnalysisDone),o.R7$(),o.Y8G("ngClass",o.eq3(8,De,st.isAnalysisDone)),o.R7$(),o.Y8G("ngIf",!st.isGuestAppFlow&&(null==(Gt=o.bMT(5,6,st.appMetadata$))?null:Gt.contentRatings)),o.R7$(2),o.Y8G("@networkTestAnalyzerAnimation",void 0),o.R7$(2),o.Y8G("ngIf",!st.isWhiteLabelingEnabled)}}let Mt=(()=>{var Et;class Qt{constructor(st,Dt,Ot,at,ft){this.ratingService=Ot,this.lcarsService=at,this.elementRef=ft,this.isDefaultGameArtVisible=!0,this.isGuestAppFlow=!1,this.isWhiteLabelingEnabled=!0,this.isAnalysisDone=!1,this.loadingScreensData={loadingText:"networkTest.networkTestHeader",progressBar:Qe.lF.InDeterminate},this.isSmallScreen=!1,this.canShowRating=!0,this.logger=st.getLogger("NetworkAnalyzerComponent"),this.isGuestAppFlow=Dt.isGuestAppFlow(),this.isGuestAppFlow&&(this.isWhiteLabelingEnabled=Dt.isWhiteLabelingEnabled()),this.destroy$=new l.B7}ngOnInit(){var st,Dt;this.isAnalysisDone=null===(st=this.data)||void 0===st?void 0:st.isAnalysisDone,this.appMetadata$=this.lcarsService.getMetadataByCmsId(null===(Dt=this.data)||void 0===Dt?void 0:Dt.cmsId).pipe((0,ot.t)())}ngAfterViewInit(){Fe._4.resizeObserver(this.elementRef.nativeElement,{minWidth:tt.rX.MaxS1Width,maxHeight:tt.Oh,maxWidth:tt.rX.MaxS3Width}).pipe((0,We.F)(),(0,u.Q)(this.destroy$)).subscribe(st=>{this.logger.info("Is small screen device: ",st),this.isSmallScreen=st},st=>{this.logger.error("Resize Observer error: ",st.toString())})}ngOnChanges(){var st,Dt;this.isAnalysisDone=null===(st=this.data)||void 0===st?void 0:st.isAnalysisDone,this.logger.info("isAnalysisDone changed: ",null===(Dt=this.data)||void 0===Dt?void 0:Dt.isAnalysisDone)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(Et=Qt).\u0275fac=function(st){return new(st||Et)(o.rXU(p.J6),o.rXU(Xe.x),o.rXU(_e.F),o.rXU(He.Br),o.rXU(o.aKT))},Et.\u0275cmp=o.VBU({type:Et,selectors:[["gfn-network-test-analyzer"]],inputs:{data:"data"},features:[o.OA$],decls:6,vars:3,consts:[["class","analyzer-ui-scrim depth-lowest",4,"ngIf"],[3,"showHeaderSection","canShowRating","loadingScreensData","contentRatings",4,"ngIf"],["fxLayout","column","fxFlex","",1,"depth-middle","analyzer-ui-container"],[1,"analyzer-ui-top-image"],["src","shared/assets/img/DefaultStreamerBackgroundArt.jpg",1,"game-art"],["class","analyzer-ui-full-scrollable-container","fxLayout","column","fxFlex","",4,"ngIf"],[1,"analyzer-ui-scrim","depth-lowest"],[3,"showHeaderSection","canShowRating","loadingScreensData","contentRatings"],["fxLayout","column","fxFlex","",1,"analyzer-ui-full-scrollable-container"],["class","analyzer-ui-header",4,"ngIf"],["class","analyzer-ui-progress-bar",4,"ngIf"],[1,"analyzer-ui-primary-content-scrollable-container",3,"ngClass"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","space-between start",1,"analyzer-ui-secondary-content-container"],[1,"analyzer-ui-secondary-content"],[1,"analyzer-ui-header"],[1,"analyzer-ui-progress-bar"],[3,"mode"],[3,"contentRatings"],[1,"no-wrap","font-sub3"],["svgIcon","nvidia-logo-horiz-rgb-wht-for-screen",1,"poweredByIcon"]],template:function(st,Dt){1&st&&(o.DNE(0,Re,1,1,"div",0)(1,K,2,6,"gfn-small-landscape-loader",1),o.j41(2,"div",2)(3,"div",3),o.nrm(4,"img",4),o.k0s(),o.DNE(5,vt,9,10,"div",5),o.k0s()),2&st&&(o.Y8G("ngIf",!Dt.isSmallScreen),o.R7$(),o.Y8G("ngIf",Dt.isSmallScreen),o.R7$(4),o.Y8G("ngIf",!Dt.isSmallScreen))},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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.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%]{--full-scrollable-container-left-margin: 40px}.analyzer-ui-container[_ngcontent-%COMP%]{background-color:transparent;overflow:hidden;position:relative}.analyzer-ui-scrim[_ngcontent-%COMP%]{background:linear-gradient(90deg,#000000e6,#000000d9 29%,#000000c9 42%,#000000b3 54%,#0009,#0000007a 74%,#00000054 82%,#0000003b 87%,#00000012 95%,#0000);width:100%;height:100%;position:absolute}.isRtl[_nghost-%COMP%] .analyzer-ui-scrim[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-scrim[_ngcontent-%COMP%]{background:linear-gradient(270deg,#000000e6,#000000d9 29%,#000000c9 42%,#000000b3 54%,#0009,#0000007a 74%,#00000054 82%,#0000003b 87%,#00000012 95%,#0000)}.analyzer-ui-top-image[_ngcontent-%COMP%]{display:none}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{height:100%;width:400px}.isLtr[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-left:var(--full-scrollable-container-left-margin)}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:var(--full-scrollable-container-left-margin)}.isRtl[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-right:var(--full-scrollable-container-left-margin)}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:var(--full-scrollable-container-left-margin)}.analyzer-ui-header[_ngcontent-%COMP%]{--font-header-font-size: 34px;--font-header-line-height: 48px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:700;margin-top:48px}.tv-view[_ngcontent-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%]{--font-header-font-size: 68px;--font-header-line-height: 96px}.analyzer-ui-header[_ngcontent-%COMP%] .eta-info[_ngcontent-%COMP%]{margin-top:16px}.analyzer-ui-progress-bar[_ngcontent-%COMP%]{margin-top:16px;margin-bottom:24px}.analyzer-ui-primary-content-scrollable-container[_ngcontent-%COMP%]{height:100%;overflow-y:auto}.analyzer-ui-primary-content-scrollable-container.analysis-done[_ngcontent-%COMP%]{margin-top:24px}.analyzer-ui-secondary-content-container[_ngcontent-%COMP%]{width:calc(100vw - var(--full-scrollable-container-left-margin));margin-top:24px;margin-bottom:24px}.analyzer-ui-secondary-content[_ngcontent-%COMP%]{width:400px}.analyzer-ui-secondary-content[_ngcontent-%COMP%] .poweredByIcon[_ngcontent-%COMP%]{width:82px;height:15px;vertical-align:middle}.isLtr[_nghost-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%] .poweredByIcon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%] .poweredByIcon[_ngcontent-%COMP%]{margin-left:10px}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%] .poweredByIcon[_ngcontent-%COMP%]{--dummy3: 0;margin-left:10px}.isRtl[_nghost-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%] .poweredByIcon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%] .poweredByIcon[_ngcontent-%COMP%]{margin-right:10px}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%] .poweredByIcon[_ngcontent-%COMP%]{--dummy3: 0;margin-right:10px}.tv-view[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{overflow-y:auto;overflow-x:hidden;width:720px}.tv-view[_nghost-%COMP%] .analyzer-ui-scrim[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .analyzer-ui-scrim[_ngcontent-%COMP%]{max-width:1080px}.tv-view[_nghost-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%]{width:720px}@media (max-width: 479px){.analyzer-ui-scrim[_ngcontent-%COMP%]{background:#191919!important}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--full-scrollable-container-left-margin: 24px;--full-scrollable-container-right-padding: 24px;overflow-y:auto;overflow-x:hidden;width:auto}.isLtr[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-left:var(--full-scrollable-container-left-margin)}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:var(--full-scrollable-container-left-margin)}.isRtl[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-right:var(--full-scrollable-container-left-margin)}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:var(--full-scrollable-container-left-margin)}.isLtr[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{padding-right:var(--full-scrollable-container-right-padding)}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:var(--full-scrollable-container-right-padding)}.isRtl[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{padding-left:var(--full-scrollable-container-right-padding)}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:var(--full-scrollable-container-right-padding)}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%]{width:auto}.analyzer-ui-header[_ngcontent-%COMP%]{--font-header-font-size: 24px;--font-header-line-height: 32px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500;margin-top:24px}.tv-view[_ngcontent-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%]{--font-header-font-size: 48px;--font-header-line-height: 64px}.analyzer-ui-top-image[_ngcontent-%COMP%]{display:block}.analyzer-ui-top-image[_ngcontent-%COMP%] .game-art[_ngcontent-%COMP%]{width:100vw;height:auto}.analyzer-ui-primary-content-scrollable-container[_ngcontent-%COMP%]{overflow-y:initial;height:initial}.analyzer-ui-secondary-content-container[_ngcontent-%COMP%]{flex-direction:column!important;width:100%}}@media (min-width: 480px) and (max-width: 719px){.analyzer-ui-scrim[_ngcontent-%COMP%]{max-width:100%}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{width:83.33%}.isLtr[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-left:32px}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:32px}.isRtl[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-right:32px}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:32px}}@media (min-width: 720px) and (max-width: 959px){.analyzer-ui-scrim[_ngcontent-%COMP%]{max-width:100%}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{width:62.5%}.isLtr[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-left:32px}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:32px}.isRtl[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-right:32px}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:32px}}@media (min-width: 960px) and (max-width: 1439px){.analyzer-ui-scrim[_ngcontent-%COMP%]{max-width:50%}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{width:50%}.isLtr[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-left:40px}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:40px}.isRtl[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-right:40px}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:40px}}@media (min-width: 1440px) and (max-width: 1919px),(min-width: 1920px){.analyzer-ui-scrim[_ngcontent-%COMP%]{max-width:50%}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{width:33%}.isLtr[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-left:40px}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-left:40px}.isRtl[_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{margin-right:40px}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{--dummy3: 0;margin-right:40px}}@media screen and (min-width: 480px) and (max-width: 719px),screen and (min-width: 481px) and (max-height: 431px){.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%]{overflow-y:auto;overflow-x:hidden;width:auto;display:block!important}.analyzer-ui-full-scrollable-container[_ngcontent-%COMP%] .analyzer-ui-secondary-content[_ngcontent-%COMP%]{width:400px}.analyzer-ui-header[_ngcontent-%COMP%]{--font-header-font-size: 24px;--font-header-line-height: 32px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:500;margin-top:24px}.tv-view[_ngcontent-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .analyzer-ui-header[_ngcontent-%COMP%]{--font-header-font-size: 48px;--font-header-line-height: 64px}.analyzer-ui-progress-bar[_ngcontent-%COMP%]{width:400px}.isLtr[_nghost-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%]{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%]{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%]{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .analyzer-ui-progress-bar[_ngcontent-%COMP%]{--dummy4: 0;margin-left:8px}.analyzer-ui-primary-content-scrollable-container[_ngcontent-%COMP%]{overflow-y:hidden;height:initial}.analyzer-ui-secondary-content-container[_ngcontent-%COMP%]{flex-direction:column!important;width:100%}}"],data:{animation:[(0,Ee.hZ)("networkTestAnalyzerAnimation",[(0,Ee.kY)("void => *",[(0,Ee.iF)({opacity:"0"}),(0,Ee.i0)("0.3s ease-in",(0,Ee.iF)({opacity:"1"}))]),(0,Ee.kY)("* => void",[(0,Ee.iF)({opacity:"1"}),(0,Ee.i0)("0.3s ease-out",(0,Ee.iF)({opacity:"0"}))])])]}}),Qt})();var Rt=t(94073),Ut=t(3913),ct=t(31308),Me=t(50323),bt=t(2218),Tt=t(54676),kt=t(81247),At=t(49219),mn=t(25369),rn=t(60990),Tn=t(40514),wn=t(20288),qn=t(622),di=t(95522);let gi=(()=>{var Et;class Qt{}return(Et=Qt).\u0275fac=function(st){return new(st||Et)},Et.\u0275mod=o.$C({type:Et}),Et.\u0275inj=o.G2t({imports:[O.hM,B.m_,P.wG,e.MD,E.h,n.YF,k.RI,Be.t,tt.bm,Rt.i,_e.k,ct.Pd,Qe.g,we.n]}),Qt})();o.wjB(U.I,[e.YU,e.bT,e.ux,e.e1,Q.DJ,Q.sA,Q.G2,j.PW,k.mq,k.T8,Me.O,bt.R,Tt.sd,kt.D,At.q,se,g,Ce,Oe,Mt],[E.D9]),o.wjB(r._,[Q.G2,mn.D,U.I],[]),o.wjB(se,[B.An,e.YU,e.Sq,e.bT,Q.DJ,Q.sA,Q.UI,j.PW,Ne],[E.D9]),o.wjB(g,[B.An,P.iV,e.bT,E.Mm,Q.DJ,Q.sA,Q.UI,rn.r,Tn.e,we.n,Ne],[E.D9]),o.wjB(Mt,[B.An,e.YU,e.bT,Q.DJ,Q.sA,Q.UI,j.PW,wn.HM,qn.Q,di.J],[e.Jj,E.D9]),o.wjB(Ut.H,[e.YU,e.bT,e.ux,e.e1,Q.DJ,Q.sA,j.PW,k.mq,k.T8,Me.O,bt.R,Tt.sd,se,g,Ce,Oe],[E.D9])},76961:(xe,de,t)=>{"use strict";t.d(de,{q:()=>H});var e=t(33367),n=t(47766),E=t(26875),B=t(85735),P=t(80583),k=t(26513),U=t(36466),r=t(31315),A=t(43848),l=t(35146),I=t(59859),S=t(83915),L=t(75707),s=t(8619),M=t(65706),u=t(14714),x=t(25590),p=t(34593),i=t(72147),o=t(10174),_=t(99047),f=t(4208),J=t(91384),a=t(18433),D=t(52759),te=t(46631),N=t(40996),z=t(50778),R=t(78893),v=t(36206),h=t(18005),W=t(58527),ne=t(8773),ee=t(11346),b=t(80838),w=t(51542),F=t(45903),Z=t(61958),se=t(81834),Y=t(14354),q=t(34178),T=t(48472);let H=(()=>{var y;class X{constructor(g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve){var Pe,Oe;this.systemInfo=d,this.streamingProfileService=C,this.idmService=Q,this.gridService=j,this.bridgeService=le,this.networkConfigurationService=ge,this.remoteConfigurationService=ie,this.appConfig=ce,this.gfnSdkService=G,this.localeService=ue,this.telemetryUtil=ae,this.eventStreamFactory=Ce,this.cloudVariableHelperService=Se,this.router=Ne,this.clientHeaderService=we,this.zoneStorage=ve,this.prod="Prod",this.selectedZone$=new B.m(1),this.messages=new P.B7,this.networkTestCancelled$=new P.B7,this.retriggerPolicy$=new k.t(a.ZpH.Manual),this.startedListenToTokenRequest=!1,this.networkTestRun=!1,this.networkTestState$=new P.B7,this.lbrState$=new P.B7,this.networkLinksSubject=new B.m(1),this.isWebrtcNetworktestEnabledSubject=new B.m(1),this.isStreamer=!1,this.cachedWebrtcSupportedZonesList=[],this.isWebrtcNTSupportedOnUpdatedZoneSubject=new B.m(1),this.capableSupportedResolutions=null,this.isInitCalled=!1,this.networkTestFinishedCallbackResult$=new P.B7,this.maxSubscriptionProfile=null,this.logger=g.getLogger("shared/network-test.service"),this.qhdResolutionIdentifier=null==ce||null===(Pe=ce.client)||void 0===Pe||null===(Pe=Pe.streamingModeResolutionsConfiguration)||void 0===Pe||null===(Pe=Pe.resolutionIdentifier)||void 0===Pe?void 0:Pe.QHD,this.isNetworkTestInProgress=!1,this.initCurrentDisplayResolutionStream(),this.initCurrentMaxSubscriptionProfileStream(),this.initSupportedResolutionsStream(),this.initCapableResolutionsStream(),this.registerDisplayModeChangeEvent(),null!=ce&&null!==(Oe=ce.networkTest)&&void 0!==Oe&&Oe.prefetchStreams&&(this.currentMaxSubscriptionProfileStream.get$().subscribe(U.l,U.l),this.currentDisplayResolutionStream.get$().subscribe(U.l,U.l))}registerDisplayModeChangeEvent(){var g;null===(g=this.streamingProfileService.onDisplayModeChanged())||void 0===g||g.pipe((0,S.T)(()=>{this.currentDisplayResolutionStream.refresh()})).subscribe()}initCurrentDisplayResolutionStream(){this.currentDisplayResolutionStream=this.eventStreamFactory.createStream(()=>this.streamingProfileService.getPrimaryDisplayResolution().pipe((0,S.T)(g=>({width:g.width,height:g.height,frameRate:g.fps}))))}initCurrentMaxSubscriptionProfileStream(){this.currentMaxSubscriptionProfileStream=this.eventStreamFactory.createStream(()=>this.streamingProfileService.getAvailableResolutionList().pipe((0,S.T)(()=>{const g=this.streamingProfileService.getPlatformSpecificBalancedPresetResolution();return this.maxSubscriptionProfile={height:g.height,width:g.width,frameRate:g.fps},this.maxSubscriptionProfile})))}initSupportedResolutionsStream(){this.supportedResolutionsStream=this.eventStreamFactory.createStream(()=>this.streamingProfileService.getAvailableResolutionList().pipe((0,S.T)(g=>{const d=new Map;return null==g||g.forEach(C=>{var Q;C.enabled&&(null===(Q=C.fpsList)||void 0===Q||Q.forEach(j=>{j.enabled&&d.set(`$h-${C.height}-w-${C.width}-f-${j.value}`,{height:C.height,width:C.width,frameRate:j.value})}))}),Array.from(d.values())})))}initCapableResolutionsStream(){this.capableResolutionsStream=this.eventStreamFactory.createStream(()=>(0,r.zV)([this.currentDisplayResolutionStream.get$(),this.supportedResolutionsStream.get$()]).pipe((0,L.ZZ)(([g,d])=>(this.logger.info("Primary display resolution: ",g.width,"x",g.height," @",g.frameRate),this.getDynamicStreamingProfilesByRatio(d,g.width/g.height,16/9).pipe((0,S.T)(j=>(this.capableSupportedResolutions=j,this.capableSupportedResolutions)))))))}initGxTargetConfiguration(g){if(this.isStreamer=(0,R.I2)(this.router.url),!g)return this.isWebrtcNetworkTestEnabled=!1,void this.isWebrtcNetworktestEnabledSubject.next({enabled:this.isWebrtcNetworkTestEnabled,showUI:!1});this.queryGxTarget()}initialize(){this.isInitCalled||(this.isInitCalled=!0,this.networkConfigurationService.readNetworkSessionId(),this.remoteConfig$=this.remoteConfigurationService.remoteConfigFetched$,(0,r.zV)([this.webrtcNetworkTestEnabled,this.remoteConfig$]).subscribe(([g,d])=>{g.enabled&&this.configureWebrtcNetworkSettings(d)},g=>this.logger.error("Error fetching remote config and configuring Network Test settings."+g)),this.constructHelpLinks().pipe((0,S.T)(g=>{this.networkLinksSubject.next(g)})).subscribe())}get isNetworkTestRequired(){return this.networkTestRequired}set isNetworkTestRequired(g){this.networkTestRequired=g}get networkTestMessages(){return this.messages.asObservable()}get zoneName(){return this.selectedZone$}get isNetworkTestRun(){return this.networkTestRun}get networkTestState(){return this.networkTestState$.asObservable()}get lbrState(){return this.lbrState$.asObservable()}get networkLinks(){return this.networkLinksSubject.asObservable()}get webrtcNetworkTestEnabled(){return this.isWebrtcNetworktestEnabledSubject.asObservable()}get webrtcNTSupportForZone(){return this.isWebrtcNTSupportedOnUpdatedZoneSubject.asObservable()}resetNetworkTestStatus(){this.networkTestRun=!1}getRetriggerPolicy(){return this.retriggerPolicy$.asObservable()}setRetriggerPolicy(g){this.retriggerPolicy$.next(g)}setParentSpanForNetworkTest(g){this.parentSpan=g}setNetworkTestState(g){this.networkTestState$.next(g)}setLbrState(g){this.lbrState$.next(g)}sendMessage(g,d){this.messages.next({message:g,data:d})}getNetworkInfo(){return n.zk.isBrowserPlatform()?(0,A.of)({}):this.systemInfo.getSystemInfo([n.Lu.Network]).pipe((0,S.T)(g=>g.Network))}isSystemOnline(){return window.navigator.onLine}isZoneSupported(g,d){return!!this.allZonesSupported||(this.isProdZone(g)?this.cachedWebrtcSupportedZonesList.includes(null==d?void 0:d.address):this.cachedWebrtcSupportedZonesList.includes(null==g?void 0:g.address))}isUpdatedZoneSupported(g,d){return this.isWebrtcNTSupportedOnUpdatedZone=this.isZoneSupported(g,d),this.isWebrtcNTSupportedOnUpdatedZoneSubject.next(this.isWebrtcNTSupportedOnUpdatedZone),this.isWebrtcNTSupportedOnUpdatedZone}isProdZone(g){return g.name===this.prod}queryGxTarget(){const g=!!this.isStreamer,d=this.gridService.getCachedZone(),C=this.gridService.detectedLocalZone$,Q=this.cloudVariableHelperService.getFeatureToggle(h.Yi.BACKGROUND_WEBRTC_NETWORK_TEST,{configCheckEnabled:!0,useDifferentConfigAttributeName:!0,buildVariant:this.appConfig.build.variant,useCache:g});this.idmService.accountStatusChanged.pipe((0,s.p)(j=>j.isAuthenticated),(0,L.ZZ)(j=>(0,l.yU)(d,Q,C))).subscribe(([j,le,ge])=>{var ie,ce,G,ue,ae,Ce;this.logger.info("GxTarget webrtc network test response: ",le.value);const Se=this.isProdZone(j)?ge:null;var Ne;if(this.logger.info("Current zone:",j,", detected local zone: ",Se),null!=le&&null!==(ie=le.value)&&void 0!==ie&&ie.enabled&&null!=le&&null!==(ce=le.value)&&void 0!==ce&&ce.supportedZonesList&&0!==(null==le||null===(G=le.value)||void 0===G?void 0:G.supportedZonesList.length))this.cachedWebrtcSupportedZonesList=Object.assign([],le.value.supportedZonesList),this.allZonesSupported=!1,this.isWebrtcNetworkTestEnabled=!0,this.isWebrtcNetworktestEnabledSubject.next({enabled:this.isWebrtcNetworkTestEnabled,showUI:(null==le||null===(Ne=le.value)||void 0===Ne?void 0:Ne.showUI)||!1}),this.isWebrtcNTSupportedOnUpdatedZoneSubject.next(this.isZoneSupported(j,Se));else if(null!=le&&null!==(ue=le.value)&&void 0!==ue&&ue.enabled&&null!=le&&null!==(ae=le.value)&&void 0!==ae&&ae.supportedZonesList&&0===(null==le||null===(Ce=le.value)||void 0===Ce?void 0:Ce.supportedZonesList.length)){var we;this.allZonesSupported=!0,this.isWebrtcNetworkTestEnabled=!0,this.isWebrtcNetworktestEnabledSubject.next({enabled:this.isWebrtcNetworkTestEnabled,showUI:(null==le||null===(we=le.value)||void 0===we?void 0:we.showUI)||!1}),this.isWebrtcNTSupportedOnUpdatedZoneSubject.next(this.isWebrtcNetworkTestEnabled)}else{var ve;this.isWebrtcNetworkTestEnabled=!1,this.isWebrtcNetworktestEnabledSubject.next({enabled:this.isWebrtcNetworkTestEnabled,showUI:(null==le||null===(ve=le.value)||void 0===ve?void 0:ve.showUI)||!1}),this.isWebrtcNTSupportedOnUpdatedZoneSubject.next(this.isWebrtcNetworkTestEnabled)}},j=>{this.logger.info("Failed to resolve gx-target cloud variable webRtcNetworkTestV2:",j),this.isWebrtcNetworkTestEnabled=!1,this.isWebrtcNetworktestEnabledSubject.next({enabled:this.isWebrtcNetworkTestEnabled,showUI:!1}),this.isWebrtcNTSupportedOnUpdatedZoneSubject.next(!1)})}configureWebrtcNetworkSettings(g){let d;const C=null==g?void 0:g.overrides;null!=C&&C.isFetchedFromGXT?(d={gxtOverrideData:JSON.stringify(null==C?void 0:C.data)},this.logger.info("Sending rconfig data from GXT to ConfigureNetworkTestSettings"),this.bridgeService.executeCommand(e.Ts.Gfn.Networktest.ConfigureNetworkTestSettings,d).subscribe()):this.logger.info("No Network Test remote overrides available.")}getRemoteConfigForIndirectPolicy(g){let d;switch(g){case D.VK.RedResult:d=this.appConfig.featureEnablement.networkTestPolicy.isRedResultEnabled;break;case D.VK.StreamerFrameLossTimeoutError:d=this.appConfig.featureEnablement.networkTestPolicy.isFrameLossTimeoutErrorEnabled;break;default:d=!0}return d}hasMaxSubscriptionProfileUpgraded(g,d){return!n.zk.isBrowserPlatform()&&(g?d.height*d.width>g.height*g.width:d.width*d.height>=this.qhdResolutionIdentifier.lowerLimit)}shouldNetworkTestRun(){return(0,r.zV)([this.networkConfigurationService.getCurrentFingerprintInfo(),this.currentMaxSubscriptionProfileStream.get$().pipe((0,M.s)(1))]).pipe((0,S.T)(([g,d])=>{let C=!1;return(0,E.isNil)(g)?(this.logger.info("This fingerprint is observed for the first time, on which Network Test was never run."),this.setRetriggerPolicy(a.ZpH.FingerprintChanged),C=!0):(0,E.isNil)(g.runNetworkTest)?(this.logger.info("Client upgraded to the version having the decoupling feature."),this.setRetriggerPolicy(a.ZpH.ClientUpdated),C=!0):g.runNetworkTest?(C=this.getRemoteConfigForIndirectPolicy(g.indirectNetworkTestPolicy),this.logger.info(`An indirect policy: ${g.indirectNetworkTestPolicy} got triggered. Network test will ${C?"":"not "}be run.`),C&&(g.indirectNetworkTestPolicy.startsWith("Streamer")&&(g.indirectNetworkTestPolicy=D.VK.StreamerNetworkError),this.setRetriggerPolicy(g.indirectNetworkTestPolicy))):this.hasMaxSubscriptionProfileUpgraded(null==g?void 0:g.maxSubscriptionProfile,d)&&(this.logger.info("Network test should run again as maxSubscriptionProfile has changed"),this.setRetriggerPolicy(a.ZpH.MaxSubscriptionProfileUpgraded),C=!0),C}),(0,u.W)(g=>(this.logger.error("Error trying to determine if Network Test should run, therefore run Network Test.",g),this.setRetriggerPolicy(a.ZpH.PolicyCheckFailed),(0,A.of)(!0))))}launchNetworkTest(g){return this.networkConfigurationService.getNetworkOverride().pipe((0,x.E)(this.remoteConfig$.pipe((0,p.Z)({overrides:{},config:this.appConfig}))),(0,i.n)(([d,C])=>(this.appConfig=C.config,this.startedListenToTokenRequest||this.listenToTokenRequest(),this.executeNetworkTest(g).pipe((0,L.ZZ)(Q=>this.updateNetworkTestOverrideFlag(Q)),(0,L.ZZ)(Q=>this.networkTestPolicyChecks(Q)),(0,L.ZZ)(Q=>this.updateMaxDisplay(Q)),(0,L.ZZ)(Q=>this.updateNetworkTestSession(Q))))))}updateNetworkTestSession(g){return g.isSuccess?this.networkConfigurationService.setCachedNetworkSessionId(g.networkSessionId).pipe((0,o.u)(g)):(0,A.of)(g)}updateNetworkTestInfoInFingerprint(g,d,C){return g.result.result===D.rk.NCT_R_SUCCESS&&d&&C?this.networkConfigurationService.updateNetworkTestInfoInFingerprint(d,g,C):(0,A.of)(!1)}exceuteNetworkTestFinishedCallback(){this.bridgeService.executeCommand(e.Ts.Gfn.Networktest.NetworkTestFinishedCallback).pipe((0,M.s)(1)).subscribe(g=>{this.networkTestFinishedCallbackResult$.next(g)},g=>{this.networkTestFinishedCallbackResult$.error(g)})}executeNetworkTest(g,d=!1){let C,Q,j,le,ge;return this.exceuteNetworkTestFinishedCallback(),(0,r.zV)([this.prepareNetworkParams(g,d),this.getResolutionForThresholdComparision()]).pipe((0,L.ZZ)(([ie,ce])=>(C=ce,Q=ie,this.bridgeService.executeCommand(e.Ts.Gfn.Networktest.Start,ie))),(0,L.ZZ)(ie=>this.getNetworkTestFinishedCallbackResult$().pipe((0,M.s)(1))),(0,L.ZZ)(ie=>{var ce;return this.logger.info("Network Test result received: ",ie),(null==ie||null===(ce=ie.result)||void 0===ce?void 0:ce.result)===z.u7.NCT_R_AUTH_FAILED?!1===d?(this.logger.info("Auth error, attempting to refresh credentials"),(0,I.$)(z.u7.NCT_R_AUTH_FAILED)):(0,I.$)("Auth error, will not attempt to refresh credentials"):(0,A.of)(ie)}),(0,L.ZZ)(ie=>{var ce;return(null==ie||null===(ce=ie.result)||void 0===ce?void 0:ce.result)===z.u7.NCT_R_SUCCESS&&(j=this.selectThresholdForResolution(ie.testResult.thresholds,C)),le=ie,this.analyzeNetworkTestResults(ie,j)}),(0,L.ZZ)(ie=>{var ce,G;return ge=ie,this.updateNetworkTestInfoInFingerprint(le,null===(ce=Q)||void 0===ce?void 0:ce.maxDisplayResolution,null===(G=j)||void 0===G?void 0:G.profile)}),(0,S.T)(ie=>ge),(0,u.W)(ie=>ie===z.u7.NCT_R_AUTH_FAILED?this.executeNetworkTest(g,!0):(this.logger.error("Failed executing Network test command, error: ",ie),(0,I.$)(ie))))}networkTestPolicyChecks(g){const d=this.appConfig.featureEnablement.networkTestPolicy.isRedResultEnabled&&g.analysis.networkQuality===D.b6.Bad;let C=D.VK.None;return d&&(C=D.VK.RedResult,this.logger.info("Got a red result on analysis, hence Network Test will run on next streamer launch.")),this.networkConfigurationService.updateCurrentFingerprintNetworkTestFlag(d,C).pipe((0,o.u)(g))}updateMaxDisplay(g){return this.appConfig.featureEnablement.dynamicStreamingResolution?(this.logger.info("Dynamic res. is enabled by Remote config"),g.isSuccess?this.networkConfigurationService.setCurrentFingerprintMaxDisplay(g.capableProfile).pipe((0,o.u)(g)):(0,A.of)(g)):(this.logger.info("Dynamic res. is disabled by remote config, remove maxDisplay from sharedstorage"),this.networkConfigurationService.clearCurrentFingerprintMaxDisplay().pipe((0,o.u)(g)))}updateNetworkTestOverrideFlag(g){return this.networkConfigurationService.updateNetworkOverrideNetworkTestFlag(!1).pipe((0,_.$)(),(0,o.u)(g))}startNetworkTest(g){return this.isNetworkTestInProgress=!0,this.networkTestRun=!0,this.launchNetworkTest(g).pipe((0,f.Q)(this.networkTestCancelled$),(0,J.M)(d=>{this.logger.info("Network Test completed: ",d),this.isNetworkTestInProgress=!1}),(0,u.W)(d=>(this.isNetworkTestInProgress=!1,this.logger.info("Network Test failed, hence Network Test will run on next streamer launch."),this.networkConfigurationService.updateCurrentFingerprintNetworkTestFlag(!0,D.VK.NetworkTestFailed).pipe((0,L.ZZ)(()=>(0,I.$)(d))))))}listenToTokenRequest(){this.logger.info("Network Test starts listening to auth token request: "),this.bridgeService.executeCommand(e.Ts.Gfn.Networktest.AuthTokenRequest,{}).pipe((0,L.ZZ)(()=>(this.logger.info("Got token REQUEST from NetworkTest SDK "),this.idmService.getAuthToken(!1,this.parentSpan))),(0,L.ZZ)(g=>{if((0,E.isNil)(g)||(0,E.isNil)(g.token))return this.logger.info("Jarvis failed to return token, do not send command UpdateAuthToken..."),(0,A.of)({});{const d={authToken:g.token};return this.logger.info("Sending delegate token to NT2 SDK, using command UpdateAuthToken"),this.bridgeService.executeCommand(e.Ts.Gfn.Networktest.UpdateAuthToken,d)}})).subscribe(()=>this.startedListenToTokenRequest=!0,g=>this.logger.error("Error sending oauth token to NetworkTest",g))}sendNetworkTroubleshootClickedTelemetry(g){this.telemetryUtil.sendClickEvent(a.EBD.NetworkTroubleshooting,"Network troubleshoot clicked",g)}selectThresholdForResolution(g,d){g.sort((Q,j)=>{const le=Q.profile.height*Q.profile.width-j.profile.height*j.profile.width;return 0===le?Q.profile.frameRate-j.profile.frameRate:le});let C=-1;for(let Q=g.length-1;Q>=0;Q--)if(d.width*d.height>=g[Q].profile.width*g[Q].profile.height){if(Q-1>=0){const j=g[Q],le=g[Q-1];j.profile.width===le.profile.width&&j.profile.height===le.profile.height&&d.frameRate{let C;return C=g.width<=d.width&&g.height<=d.height?g:d,C}))}roundTestResultNumbers(g){var d;return this.logger.info("Rounding of network test results"),g.testResult.downlinkBandwidth=Math.round(g.testResult.downlinkBandwidth/1e6),g.testResult.uplinkBandwidth=Math.round(g.testResult.uplinkBandwidth/1e6)||0,null===(d=g.testResult.thresholds)||void 0===d||d.forEach(C=>{C.bandwidthLimit=Math.round(C.bandwidthLimit),C.bandwidthRecommended=Math.round(C.bandwidthRecommended)}),g.testResult.packetLoss=Math.round(100*g.testResult.packetLoss)/100,g.testResult.latency=Math.round(g.testResult.latency),g.testResult.percentile99thFrameJitter=g.testResult.percentile99thFrameJitter/1e3||0,g}filterResolutionsByRatio(g,d,C){var Q;this.logger.info("filter Resolutions By Ratio, targetRatio: ",d);let j=null==g?void 0:g.filter(le=>d===le.width/le.height);return 0===(null===(Q=j)||void 0===Q?void 0:Q.length)&&(this.logger.info("filter Resolutions By Ratio, fallbackRatio: ",C),j=null==g?void 0:g.filter(le=>C===le.width/le.height)),this.streamingProfileService.getAutoMaxBitrateValueForResolutionArray(j)}getDynamicStreamingProfilesByRatio(g,d,C){return this.filterResolutionsByRatio(g,d,C).pipe((0,S.T)(Q=>{let j=Q;j.sort((ie,ce)=>{const G=ce.width*ce.height-ie.width*ie.height;return 0===G?ce.fps-ie.fps:G});const le=j[j.length-1],ge=j.filter(ie=>30===ie.fps&&ie.width===le.width&&ie.height===le.height);return j=j.filter(ie=>30!==ie.fps).concat(ge),j=j.map(ie=>({...ie,pixelCount:ie.width*ie.height})),j=(0,E.orderBy)(j,["pixelCount","maxBandwidth"],["desc","desc"]),this.logger.info("supportedResolutions filtered by ratio, 30fps removed + smallest resolution with 30fps: ",j),j}))}getCapableProfileForNetworkTest(g){return this.capableResolutionsStream.get$().pipe((0,M.s)(1),(0,S.T)(d=>{const C=d[d.length-1],Q=g.testResult.downlinkBandwidth;let j={width:C.width,height:C.height,frameRate:C.fps};for(const ge of d)if(Q>=ge.maxBandwidth){j={frameRate:ge.fps,height:ge.height,width:ge.width};break}return this.logger.info("estimated streaming resolution for Network Test: ",j),j}),(0,u.W)(d=>(this.logger.error("Error in estimating streaming resolution for network test. error:",d),this.isWebrtcNetworkTestEnabled?(this.logger.error("Returning dummy profile info for webclient"),(0,A.of)({width:0,height:0,frameRate:0})):(0,I.$)("Failed estimating streaming resolution for network test"))))}analyzeNetworkTestResults(g,d,C=!0){const Q=C?this.roundTestResultNumbers(g):g;return this.logger.info("Network test analysis results are: ",Q,this.zone),this.getCapableProfileForNetworkTest(Q).pipe((0,S.T)(j=>{const le=Q.result.result!==D.rk.NCT_R_SUCCESS?D.b6.NA:this.compareMetric(Q.testResult.downlinkBandwidth,null==d?void 0:d.bandwidthLimit,null==d?void 0:d.bandwidthRecommended,!0),ge=Q.result.result!==D.rk.NCT_R_SUCCESS?D.b6.NA:this.compareMetric(Q.testResult.packetLoss,null==d?void 0:d.packetLossLimit,null==d?void 0:d.packetLossRecommended,!1),ie=Q.result.result!==D.rk.NCT_R_SUCCESS?D.b6.NA:this.compareMetric(Q.testResult.latency,null==d?void 0:d.latencyLimit,null==d?void 0:d.latencyRecommended,!1),ce=Q.result.result!==D.rk.NCT_R_SUCCESS?D.b6.NA:this.calculateNetworkQuality(le,ge,ie);return{bandwidth:{measured:Q.testResult.downlinkBandwidth,limit:null==d?void 0:d.bandwidthLimit,recommended:null==d?void 0:d.bandwidthRecommended},uplinkBandwidth:Q.testResult.uplinkBandwidth,latency:{measured:Q.testResult.latency,limit:null==d?void 0:d.latencyLimit,recommended:null==d?void 0:d.latencyRecommended},latencyWithStream:Q.testResult.latencyWithStream,measuredPathMtu:Q.testResult.measuredPathMtu,frameLoss:{measured:Q.testResult.packetLoss,limit:null==d?void 0:d.packetLossLimit,recommended:null==d?void 0:d.packetLossRecommended},analysis:{networkQuality:ce,bandwidthQuality:le,frameLossQuality:ge,latencyQuality:ie},capableProfile:j,percentile99thFrameJitter:Q.testResult.percentile99thFrameJitter,networkSessionId:Q.testResult.networkSessionId,result:Q.result.result,isNetworkTest2:!0,isSuccess:Q.result.result===D.rk.NCT_R_SUCCESS,zone:Q.testResult.zone?{name:this.zone.name,address:Q.testResult.zone}:this.zone,errorDetails:Q.testResult.errorDetails||"",thresholds:Q.testResult.thresholds,maxUserCapableProfile:this.capableSupportedResolutions[0],maxPacketSize:Q.testResult.maxPacketSize,maxTestBandwidthMbps:Q.testResult.maxTestBandwidthMbps}}),(0,u.W)(j=>(this.logger.error("Error in analyzing network test result: ",j),(0,I.$)(j))))}calculateNetworkQuality(g,d,C){let Q;return g===D.b6.Excellent&&d===D.b6.Excellent&&C===D.b6.Excellent?Q=D.b6.Excellent:g===D.b6.Bad||d===D.b6.Bad||C===D.b6.Bad?Q=D.b6.Bad:(g===D.b6.Poor||d===D.b6.Poor||C===D.b6.Poor)&&(Q=D.b6.Poor),Q}compareMetric(g,d,C,Q){let j;return j=Q?g>=C?D.b6.Excellent:g=d?D.b6.Bad:D.b6.Poor,j}getNetworkTestFinishedCallbackResult$(){return this.networkTestFinishedCallbackResult$.asObservable()}runLbrAndSaveOptimalZone(g){return this.gfnSdkService.getAuthType().pipe((0,L.ZZ)(d=>{let C=(0,A.of)(null);(d===N.hT.IDM||d===N.hT.IDM_FALLBACK)&&(C=this.idmService.accountStatusChanged);const Q=[C,this.systemInfo.getSystemInfo([n.Lu.DeviceId])];return(0,l.yU)(...Q).pipe((0,i.n)(([j,le])=>{const ge={userId:j&&!(0,E.isEmpty)(j.userId)?j.userId:"UnknownUser",platformId:g,deviceId:le.DeviceId};return this.gridService.getZone(ge,this.parentSpan)}))}))}prepareNetworkParams(g,d=!1){return this.logger.info("Getting network test parameters"),(0,l.yU)(this.idmService.accountStatusChanged,this.systemInfo.getSystemInfo([n.Lu.DeviceId]),this.currentDisplayResolutionStream.get$().pipe((0,M.s)(1)),this.gridService.getCachedZone(),this.idmService.getAuthToken(d,this.parentSpan),this.gfnSdkService.getAuthInfo(),this.currentMaxSubscriptionProfileStream.get$().pipe((0,M.s)(1)),this.capableResolutionsStream.get$().pipe((0,M.s)(1)),this.clientHeaderService.getCommonHeaders({withClientId:"lcars"})).pipe((0,L.ZZ)(([C,Q,j,le,ge,ie,ce,G,ue])=>{this.logger.info("Preparing Network Test parameters"),this.zone=le,this.selectedZone$.next(le);let ae=z.tS.NVB_AUTH_JWT_GFN,Ce=ge.token;(!Ce||0===Ce.length)&&ie.authType===N.hT.JWT&&(ae=z.tS.NVB_AUTH_JWT,Ce=ie.authToken);const Se={platformId:g,user:(0,E.isEmpty)(C.userId)?"UnknownUser":C.userId,authType:ae,authToken:Ce||"",address:le.address,deviceId:Q.DeviceId,displayResolution:{width:j.width,height:j.height,frameRate:j.frameRate},profiles:G.map(we=>({height:we.height,width:we.width,frameRate:we.fps})),maxDisplayResolution:ce,httpHeaders:this.getHttpHeaders(ue)},Ne=(0,E.cloneDeep)(Se);return delete Ne.authToken,this.logger.info("Network test parameters: ",Ne),(0,A.of)(Se)}))}translateGFWSLSupportedString(g){switch(g){case n.t_.XBox:case n.t_.Windows:return"Windows";case n.t_.ChromeOS:return"Chrome OS";case n.t_.MacOS:return"macOS";case n.t_.IOS:case n.t_.IPadOS:case n.t_.VisionOS:return"iOS";case n.t_.Linux:return"Linux";case n.t_.Android:return"Android";case n.t_.WebOS:return"WebOS";case n.t_.Tizen:return"Tizen";case n.t_.SteamOS:return"SteamOS";default:return n.t_.Undefined}}getHttpHeaders(g){return n.zk.isBrowserPlatform()?[]:Object.entries(g).map(([d,C])=>({headerName:d,headerValue:C instanceof Array?C[0]:C}))}constructHelpLinks(){const g=this.localeService.localeChanged.pipe((0,_.$)());return(0,l.yU)(g,this.systemInfo.getDeviceOSType()).pipe((0,S.T)(C=>{const Q={cNm:n.zk.isBrowserPlatform()?te.D.gfnWebClient:te.D.gfn,Plt:this.translateGFWSLSupportedString(C[1])},j=new URL(v.r7.BaseUrl+C[0]);j.searchParams.append("page",v.r7.NetworkTroubleshoot),j.searchParams.append("jso",btoa(JSON.stringify(Q))),this.logger.info("Network Troubleshooting tips link: ",j.toString());const le=v.lp[v.r7.NetworkTroubleshoot],ge=`${v.r7.BaseUrl}${C[0]}&page=${v.r7.RecommendedRoutersProductPage}`,ie=v.lp[v.r7.RecommendedRoutersProductPage];return this.logger.info("Recommended Routers link: ",ge),[j.toString(),le,ge,ie]}))}cleanupOnCancel(){return this.networkTestCancelled$.next(),this.isNetworkTestInProgress?(this.logger.info("Cancelled network test, hence Network Test will run on next streamer launch."),this.networkConfigurationService.updateCurrentFingerprintNetworkTestFlag(!0,D.VK.NetworkTestCancelled)):(0,A.of)(!0)}isCachedZone(g,d){return g===d}isSupportedAndCachedZone(g,d,C){return(null==g?void 0:g.address)&&this.isZoneSupported(g,C)&&this.isCachedZone(g.address,null==d?void 0:d.address)}checkExpiry(g){var d,C;if(null==g||null===(d=g.networkTestExpiry)||void 0===d||!d.expiryTime)return!0;if(null!=g&&null!==(C=g.networkTestExpiry)&&void 0!==C&&C.expiryTime){const Q=new Date,j=new Date(g.networkTestExpiry.expiryTime);return this.logger.info("Webrtc Network Test Expiry time "+j+", time now "+Q),j{var j,le,ge,ie;return this.isSupportedAndCachedZone(g,null==C||null===(j=C.networkTestExpiry)||void 0===j?void 0:j.zone,Q)||!g&&this.isSupportedAndCachedZone(d,null==C||null===(le=C.networkTestExpiry)||void 0===le?void 0:le.zone,Q)?this.checkExpiry(C):!(!g||!this.isZoneSupported(g,Q)||this.isCachedZone(g.address,null==C||null===(ge=C.networkTestExpiry)||void 0===ge?void 0:ge.zone.address))||!(g||!this.isZoneSupported(d,Q)||this.isCachedZone(d.address,null==C||null===(ie=C.networkTestExpiry)||void 0===ie||null===(ie=ie.zone)||void 0===ie?void 0:ie.address))}))}isWebrtcNetworkTestRequired(g,d=!1){return(0,r.zV)([this.webrtcNetworkTestEnabled,this.webrtcNTSupportForZone]).pipe((0,L.ZZ)(([C,Q])=>(this.isWebrtcNetworkTestEnabled=d?C.enabled&&!C.showUI&&Q:C.enabled&&C.showUI&&Q,this.isWebrtcNetworkTestEnabled?this.isWebrtcNetworkTestExpiryTimeElapsed(g).pipe((0,S.T)(j=>j?g?g&&g.runNetworkTest?(this.logger.info("Override zone has been set, hence run webrtc network test"),this.setRetriggerPolicy(a.ZpH.OverrideFlagSet),!0):(this.logger.info("runNetworkTest for set override zone is false, not running Network test."),!1):(this.logger.info("Webrtc network test is enabled, run Network test."),!0):(this.logger.info("Network Test expiry time has not elapsed yet, not running Network test."),!1))):(this.logger.info("Network Test disabled, skipping Network test."),(0,A.of)(!1)))))}setNetworkTestExpiryTime(){var g;const d=new Date,C=null===(g=this.appConfig.networkTest)||void 0===g?void 0:g.expiryTime;return this.isWebrtcNetworkTestEnabled&&!(0,E.isNil)(C)?(d.setDate(d.getDate()+C),(0,l.yU)(this.gridService.getCachedZone(),this.networkConfigurationService.getNetworkConfig()).pipe((0,i.n)(([Q,j])=>{this.logger.info(`Updating Network Test Expiry time for zone ${Q.name}: `+d);const le={zone:Q,expiryTime:null==d?void 0:d.toISOString()};return j=(0,E.extend)(j,{networkTestExpiry:le}),this.networkConfigurationService.writeNetworkConfig(j,!0)}),(0,u.W)(Q=>(this.logger.error("Set Network Test expiry time failed: ",Q),(0,A.of)(!1))))):(0,A.of)(!1)}}return(y=X).\u0275fac=function(g){return new(g||y)(W.KVO(n.J6),W.KVO(n.zW),W.KVO(ne.xf),W.KVO(ee.k_),W.KVO(b.G),W.KVO(n.NZ),W.KVO(w.u),W.KVO(F.a),W.KVO(Z.Vk),W.KVO(N.DL),W.KVO(n.iH),W.KVO(a.jgD),W.KVO(se.mZ),W.KVO(h.r1),W.KVO(Y.Ix),W.KVO(q.y1),W.KVO(T.p))},y.\u0275prov=W.jDH({token:y,factory:y.\u0275fac,providedIn:"root"}),X})()},19844:(xe,de,t)=>{"use strict";t.d(de,{J:()=>l});var e=t(26875),E=t(43848),O=t(99047),B=t(83915),P=t(17290),k=t(18433),U=t(58527),r=t(47766),A=t(78812);let l=(()=>{var I;class S{constructor(s,M,u,x){this.loggingService=s,this.telemetryUtil=M,this.networkTestService=u,this.telemetryService=x,this.isSilentWebrtcNT=!1,this.logger=this.loggingService.getLogger("shared/network-test-telemetry.service"),this.networkTestService.webrtcNetworkTestEnabled.subscribe(p=>{var i;this.isSilentWebrtcNT=null!==(i=p.enabled)&&void 0!==i&&i})}getNetworkTestDataWithPolicy(s){return this.networkTestService.getRetriggerPolicy().pipe((0,O.$)(),(0,B.T)(M=>(s.policy=M,s)))}sendTestDoneTelemetry(s,M){const u=this.constructTestDoneTelemetryData(s,M);return this.isSilentWebrtcNT?(u.policy=k.ZpH.Manual,(0,E.of)(this.telemetryService.push(new k.gvg(u),s.startTime))):this.getNetworkTestDataWithPolicy(u).pipe((0,B.T)(x=>this.telemetryService.push(new k.gvg(x),s.startTime)))}constructTestDoneTelemetryData(s,M){var u,x,p,i,o,_,f;const J=this.networkTestService.maxSubscriptionProfile,a=null==M?void 0:M.maxUserCapableProfile,D={networkTestVersion:2,bandwidth:M&&M.bandwidth.measured?M.bandwidth.measured:0,uplinkBandwidth:M&&M.uplinkBandwidth?M.uplinkBandwidth:0,clientType:this.telemetryUtil.getClientType(),displayProfile:(0,e.isNil)(M)?k.Hgm.NVB_PROFILE_DEFAULT:this.formatDisplayProfile(M.capableProfile),userCapableProfileWidth:(null==M||null===(u=M.capableProfile)||void 0===u?void 0:u.width)||0,userCapableProfileHeight:(null==M||null===(x=M.capableProfile)||void 0===x?void 0:x.height)||0,userCapableProfileFrameRate:(null==M||null===(p=M.capableProfile)||void 0===p?void 0:p.frameRate)||0,maxUserCapableProfileWidth:(null==a?void 0:a.width)||0,maxUserCapableProfileHeight:(null==a?void 0:a.height)||0,maxUserCapableProfileFrameRate:(null==a?void 0:a.fps)||0,maxSubscriptionProfileWidth:(null==J?void 0:J.width)||0,maxSubscriptionProfileHeight:(null==J?void 0:J.height)||0,maxSubscriptionProfileFrameRate:(null==J?void 0:J.frameRate)||0,maxTestBandwidthMbps:(null==M?void 0:M.maxTestBandwidthMbps)||0,errorCode:(0,e.isNil)(M)?0:M.result,status:s.networkTestTelemetryStatus,errorReason:(0,e.isNil)(M)?this.formatNetworkErrorReason(s.networkTestTelemetryStatus):this.formatNetworkErrorReason(s.networkTestTelemetryStatus,M.result),dataLoss:M&&M.frameLoss.measured?M.frameLoss.measured:0,latency:M&&M.latency.measured?M.latency.measured:0,latencyWithStream:M&&M.latencyWithStream?M.latencyWithStream:0,measuredPathMtu:M&&M.measuredPathMtu?M.measuredPathMtu:0,networkQuality:(0,e.isNil)(M)?k.kKp.Unknown:this.formatNetworkQuality(M.analysis.networkQuality),networkSessionId:M&&M.networkSessionId?M.networkSessionId:"",networkTestMode:s.autoRun?k.QQA.Automatic:k.QQA.Manual,networkType:(0,e.isNil)(M)?k.w7B.Unknown:this.telemetryUtil.getNetworkType(null==s||null===(i=s.testData)||void 0===i||null===(i=i.networkInfo)||void 0===i?void 0:i.NetworkType),totalMs:0,VPNConnection:(0,e.isNil)(null==s||null===(o=s.testData)||void 0===o?void 0:o.networkInfo)||(0,e.isNil)(null===(_=s.testData.networkInfo)||void 0===_?void 0:_.IsVPN)?k.T80.UNDEFINED:"1"===(null==s||null===(f=s.testData)||void 0===f||null===(f=f.networkInfo)||void 0===f?void 0:f.IsVPN)?k.T80.TRUE:k.T80.FALSE,zone:(0,e.isNil)(M)?"":M.zone.address,overrideZone:(0,e.isNil)(s.zoneOverride)?"":s.zoneOverride.address,overrideActive:(0,e.isNil)(s.zoneOverride)?k.T80.FALSE:k.T80.TRUE,percentile99thFrameJitter:M&&M.percentile99thFrameJitter?M.percentile99thFrameJitter:0,resultCode:(0,e.isNil)(M)?0:M.result,errorDetails:(0,e.isNil)(M)?this.formatNetworkErrorReason(s.networkTestTelemetryStatus):s.isWebRtcNetworkTest?null==M?void 0:M.errorDetails:this.formatNetworkErrorReason(s.networkTestTelemetryStatus,M.result),policy:k.ZpH.Manual,maxPacketSize:(null==M?void 0:M.maxPacketSize)||0};return this.logger.info("Network test telemetry data: ",D),D}formatDisplayProfile(s){let M=k.Hgm.NVB_PROFILE_DEFAULT;return 1366===s.width&&768===s.height?M=30===s.frameRate?k.Hgm.NT_1366_768_30:k.Hgm.NT_1366_768_60:1920===s.width&&1080===s.height?M=30===s.frameRate?k.Hgm.NVB_PROFILE_GAMING_1080P_30FPS:k.Hgm.NVB_PROFILE_GAMING_1080P_60FPS:1280===s.width&&720===s.height?M=30===s.frameRate?k.Hgm.NVB_PROFILE_GAMING_720P_30FPS:k.Hgm.NVB_PROFILE_GAMING_720P_60FPS:1920===s.width&&1200===s.height?M=30===s.frameRate?k.Hgm.NT_1920_1200_30:k.Hgm.NT_1920_1200_60:1680===s.width&&1050===s.height?M=30===s.frameRate?k.Hgm.NT_1680_1050_30:k.Hgm.NT_1680_1050_60:1440===s.width&&900===s.height?M=30===s.frameRate?k.Hgm.NT_1440_900_30:k.Hgm.NT_1440_900_60:1280===s.width&&800===s.height&&(M=30===s.frameRate?k.Hgm.NT_1280_800_30:k.Hgm.NT_1280_800_60),M}formatNetworkErrorReason(s,M){let u;return u=s===k.fbu.NetworkTestSdkError?this.formatNetworkTestV2ErrorReason(M):s===k.fbu.Success?k.zTU.NA:(0,e.isNil)(M)||151!==M?(0,e.isNil)(M)||204!==M?k.zTU.UNKNOWN:k.zTU.PacketLoss:k.zTU.FAILED,u}formatNetworkTestV2ErrorReason(s){let M;switch(s){case k.RX8.UNKNOWN:M=k.zTU.UNKNOWN;break;case k.RX8.SUCCESS:M=k.zTU.NA;break;case k.RX8.INVALID_PARAM:M=k.zTU.INVALID_PARAM;break;case k.RX8.SYN_FAILED:M=k.zTU.SYN_FAILED;break;case k.RX8.FIN_FAILED:M=k.zTU.FIN_FAILED;break;case k.RX8.AUTH_FAILED:M=k.zTU.AUTH_FAILED;break;case k.RX8.POST_FAILED:M=k.zTU.POST_FAILED;break;case k.RX8.TEST_IN_PROGRESS:M=k.zTU.TEST_IN_PROGRESS;break;case k.RX8.CANCELED:M=k.zTU.CANCELED;break;case k.RX8.CAPACITY_FULL:M=k.zTU.CAPACITY_FULL;break;case k.RX8.SESSION_EXIST:M=k.zTU.SESSION_EXIST;break;case k.RX8.INVALID_DATA:M=k.zTU.INVALID_DATA;break;case k.RX8.SETUP_FAILED:M=k.zTU.SETUP_FAILED;break;case k.RX8.RETRYABLE_POST_FAILURE:M=k.zTU.RETRYABLE_POST_FAILURE;break;case k.RX8.BLOCK_STREAM:M=k.zTU.BLOCK_STREAM;break;default:M=k.zTU.UNKNOWN}return M}formatNetworkQuality(s){let M=k.kKp.Unknown;switch(s){case P.b6.Excellent:M=k.kKp.Excellent;break;case P.b6.Poor:M=k.kKp.Poor;break;case P.b6.Bad:M=k.kKp.Bad}return M}}return(I=S).\u0275fac=function(s){return new(s||I)(U.KVO(r.J6),U.KVO(k.jgD),U.KVO(P.qI),U.KVO(A.H0))},I.\u0275prov=U.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},46631:(xe,de,t)=>{"use strict";t.d(de,{D:()=>e,x:()=>n});const e={gfn:"gfn",gfnWebClient:"gfnb"};var n=function(E){return E.Skipped="Skipped",E.Passed="Passed",E.UserInputPrompted="UserInputPrompted",E.LbrDone="LbrDone",E.SkippedDueToMissingPlugin="SkippedDueToMissingPlugin",E}(n||{})},50323:(xe,de,t)=>{"use strict";t.d(de,{O:()=>te});var e=t(47766),n=t(52759),E=t(26875),B=t(80583),P=t(4208),k=t(99047),U=t(36206),r=t(58527),A=t(76961),l=t(18433),I=t(58202),S=t(61142),L=t(3457),s=t(60990),M=t(40514),u=t(31308),x=t(65240);const p=N=>({troubleshootLink:N}),i=N=>({serversLink:N}),o=N=>({routersLink:N});function _(N,z){if(1&N&&(r.j41(0,"span",10),r.EFF(1),r.nI1(2,"translate"),r.k0s()),2&N){const R=r.XpG().$implicit;r.R7$(),r.JRh(r.bMT(2,1,R.text))}}function f(N,z){if(1&N&&(r.nrm(0,"span",11),r.nI1(1,"translate")),2&N){const R=r.XpG().$implicit,v=r.XpG();r.Y8G("innerHTML",r.i5U(1,1,v.tipLinkString,r.eq3(4,i,'href="'+R.linkUrl+'" class="font-body2-link"')),r.npT)}}function J(N,z){if(1&N&&(r.j41(0,"div")(1,"div",6),r.nrm(2,"span",7),r.DNE(3,_,3,3,"span",8)(4,f,2,6,"span",9),r.k0s()()),2&N){const R=z.$implicit;r.R7$(3),r.Y8G("ngIf",!R.hasLink),r.R7$(),r.Y8G("ngIf",R.hasLink)}}function a(N,z){if(1&N){const R=r.RV6();r.j41(0,"span",3),r.nI1(1,"translate"),r.bIt("click",function(){r.eBV(R);const h=r.XpG();return r.Njj(h.onClickTroubleshoot())}),r.k0s()}if(2&N){const R=r.XpG();r.Y8G("innerHTML",r.i5U(1,2,"networkTest.checkRecommendedRouters",r.eq3(5,o,'href="'+R.routersLink+'" class="font-body3-link"')),r.npT)("shortUrl",R.routersShortUrl)}}function D(N,z){1&N&&(r.j41(0,"span",12),r.EFF(1),r.nI1(2,"translate"),r.k0s()),2&N&&(r.R7$(),r.JRh(r.bMT(2,1,"networkTest.checkRecommendedRoutersEcomRestricted")))}let te=(()=>{var N;class z{constructor(v,h,W,ne,ee){this.localeService=h,this.networkTestService=W,this.telemetryUtil=ne,this.ecomService=ee,this.tipLinkString="networkTest.farAwayFromServers",this.canHardUpsell=!0,this.logger=v.getLogger("libraries/network-test/NetworkTipsComponent"),this.destroy$=new B.B7,this.canHardUpsell=this.ecomService.canHardUpsell()}ngOnInit(){this.updateTips(),this.networkTestService.networkLinks.pipe((0,P.Q)(this.destroy$)).subscribe(v=>{this.troubleshootLink=v[0],this.troubleshootShortUrl=v[1],this.routersLink=v[2],this.routersShortUrl=v[3]})}ngOnChanges(){this.updateTips()}updateTips(){this.logger.info("update network tips, network conditions: ",this.networkConditionsData),(0,E.isNil)(this.networkConditionsData)||(this.networkConditions=[],this.trobleshootTips=[],this.getNetworkConditions(),this.getTroubleshootTips())}getNetworkConditions(){this.logger.info("Current network conditions passed from parent component: ",this.networkConditionsData),this.networkConditionsData.isVpn&&this.networkConditions.push(n.zc.VPN),(0,E.isNil)(this.networkConditionsData.zoneOverride)||this.networkConditions.push(n.zc.ZoneOverride),(0,E.isNil)(this.networkConditionsData.latency)||(this.networkConditionsData.latency>150&&this.networkConditions.push(n.zc.Latency_more_150),this.networkConditionsData.latency>80&&this.networkConditionsData.latency<=150&&this.networkConditions.push(n.zc.Latency_more_80)),(0,E.isNil)(this.networkConditionsData.bandwidth)||this.networkConditionsData.bandwidth<15&&this.networkConditions.push(n.zc.Bandwidth_less_15),(0,E.isNil)(this.networkConditionsData.networkType)||(this.networkConditionsData.networkType===e.Sd.WiFi2_4&&this.networkConditions.push(n.zc.Wifi_2_4),(this.networkConditionsData.networkType===e.Sd.WiFi2_4||this.networkConditionsData.networkType===e.Sd.WiFi5_0||this.networkConditionsData.networkType===e.Sd.WiFi6_0||this.networkConditionsData.networkType===e.Sd.WiFiUnknown)&&this.networkConditions.push(n.zc.Wifi)),this.networkConditionsData.isOffline&&this.networkConditions.push(n.zc.Offline),this.logger.info("Current network conditions are: ",this.networkConditions)}getTroubleshootTips(){const v=[],h=this.networkConditionsData.isOffline?2:this.networkConditionsData.isVpn?1:3;this.networkConditions.forEach(W=>{const ne=(0,E.cloneDeep)(n.IE.find(ee=>ee.condition===W));ne.hasLink&&this.localeService.localeChanged.pipe((0,k.$)()).subscribe(ee=>{ne.linkUrl=`${U.r7.BaseUrl}${ee}&page=${ne.linkUrl}`}),v.push(ne)}),n.IE.forEach(W=>{W.condition===n.zc.Any&&v.push(W)}),v.sort((W,ne)=>W.priority-ne.priority),this.networkConditionsData.isOffline&&(v[1]=n.IE.find(W=>"networkTest.restartRouter"===W.text)),this.trobleshootTips=v.slice(0,h),this.logger.info("Show top trobleshoot tips for current network: ",this.trobleshootTips)}onClickTroubleshoot(){this.networkTestService.sendNetworkTroubleshootClickedTelemetry(this.telemetryUtil.getClientType())}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(N=z).\u0275fac=function(v){return new(v||N)(r.rXU(e.J6),r.rXU(e.iH),r.rXU(A.q),r.rXU(l.jgD),r.rXU(I.yJ))},N.\u0275cmp=r.VBU({type:N,selectors:[["gfn-network-tips"]],inputs:{networkConditionsData:"networkConditionsData"},features:[r.OA$],decls:8,vars:10,consts:[["fxLayout","column","fxLayoutAlign","space-between start",1,"network-tips","tips-results"],[4,"ngFor","ngForOf"],["cdkMonitorSubtreeFocus",""],[1,"font-body3","help-links",3,"click","innerHTML","shortUrl"],["class","font-body3 help-links",3,"innerHTML","shortUrl","click",4,"ngIf"],["class","font-body3 help-links",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start start"],[1,"bullet-unordered-tips","font-body2"],["class","font-body2",4,"ngIf"],["cdkMonitorSubtreeFocus","","class","font-body2",3,"innerHTML",4,"ngIf"],[1,"font-body2"],["cdkMonitorSubtreeFocus","",1,"font-body2",3,"innerHTML"],[1,"font-body3","help-links"]],template:function(v,h){1&v&&(r.j41(0,"div",0)(1,"div"),r.DNE(2,J,5,2,"div",1),r.k0s(),r.j41(3,"div",2)(4,"span",3),r.nI1(5,"translate"),r.bIt("click",function(){return h.onClickTroubleshoot()}),r.k0s(),r.DNE(6,a,2,7,"span",4)(7,D,3,3,"span",5),r.k0s()()),2&v&&(r.R7$(2),r.Y8G("ngForOf",h.trobleshootTips),r.R7$(2),r.Y8G("innerHTML",r.i5U(5,5,"networkTest.viewMoreTroubleshootTips",r.eq3(8,p,'href="'+h.troubleshootLink+'" class="font-body3-link", target="_blank"')),r.npT)("shortUrl",h.troubleshootShortUrl),r.R7$(2),r.Y8G("ngIf",h.canHardUpsell),r.R7$(),r.Y8G("ngIf",!h.canHardUpsell))},dependencies:[S.Sq,S.bT,L.DJ,L.sA,s.r,M.e,u.vR,x.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.network-tips[_ngcontent-%COMP%]{height:181px;padding:24px;overflow-y:auto}.tips-results[_ngcontent-%COMP%]{background-color:#0000004d}.help-links[_ngcontent-%COMP%]{margin-top:24px}.bullet-unordered-tips[_ngcontent-%COMP%]:before{content:"-"}.isLtr[_nghost-%COMP%] .bullet-unordered-tips[_ngcontent-%COMP%]:before, .isLtr [_nghost-%COMP%] .bullet-unordered-tips[_ngcontent-%COMP%]:before{margin-right:8px}html[dir=ltr][_ngcontent-%COMP%] .bullet-unordered-tips[_ngcontent-%COMP%]:before{--dummy4: 0;margin-right:8px}.isRtl[_nghost-%COMP%] .bullet-unordered-tips[_ngcontent-%COMP%]:before, .isRtl [_nghost-%COMP%] .bullet-unordered-tips[_ngcontent-%COMP%]:before{margin-left:8px}html[dir=rtl][_ngcontent-%COMP%] .bullet-unordered-tips[_ngcontent-%COMP%]:before{--dummy4: 0;margin-left:8px}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.network-tips[_ngcontent-%COMP%]{height:unset;background-color:unset}}.tv-view[_nghost-%COMP%] .network-tips[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .network-tips[_ngcontent-%COMP%]{height:300px;padding:38px}']}),z})()},54594:(xe,de,t)=>{"use strict";t.d(de,{t:()=>k});var e=t(61142),n=t(65240),E=t(51006),O=t(19061),B=t(31308),P=t(58527);let k=(()=>{var U;class r{}return(U=r).\u0275fac=function(l){return new(l||U)},U.\u0275mod=P.$C({type:U}),U.\u0275inj=P.G2t({imports:[e.MD,n.h,E.YF,O.bm,B.Pd]}),r})()},12860:(xe,de,t)=>{"use strict";t.d(de,{z:()=>O});var e=t(58527),n=t(61958),E=t(19061);let O=(()=>{var B;class P{constructor(U,r){var A;this.spatialNavigationService=r,this.agreeButtonClicked=new e.bkB,this.tvMode=!(null==U||null===(A=U.featureEnablement)||void 0===A||!A.tvMode)}ngOnInit(){this.currentSpatialNavigationActivation=this.spatialNavigationService.activated,this.spatialNavigationService.enabled&&!this.currentSpatialNavigationActivation&&(this.spatialNavigationService.activated=!0)}onAgreeButtonClicked(){this.agreeButtonClicked.emit()}ngOnDestroy(){this.spatialNavigationService.activated=this.currentSpatialNavigationActivation}}return(B=P).\u0275fac=function(U){return new(U||B)(e.rXU(n.Vk),e.rXU(E.ED))},B.\u0275cmp=e.VBU({type:B,selectors:[["gfn-oobe"]],outputs:{agreeButtonClicked:"agreeButtonClicked"},decls:2,vars:1,consts:[[1,"oobe-dialog"],[1,"oobe-screen",3,"agreeButtonClick","tvMode"]],template:function(U,r){1&U&&(e.j41(0,"div",0)(1,"gfn-oobe-welcome",1),e.bIt("agreeButtonClick",function(){return r.onAgreeButtonClicked()}),e.k0s()()),2&U&&(e.R7$(),e.Y8G("tvMode",r.tvMode))},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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.oobe-dialog[_ngcontent-%COMP%]{width:705px;height:auto;max-height:100vh;-webkit-backface-visibility:hidden;background:#393939}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.oobe-dialog[_ngcontent-%COMP%]{width:100vw;height:100%}}.oobe-screen[_ngcontent-%COMP%]{-webkit-font-smoothing:antialiased;width:100%;height:100%;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);max-width:100vw;max-height:100vh}.isLtr[_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%]{padding-left:max(24px,env(safe-area-inset-left))}html[dir=ltr][_ngcontent-%COMP%] .oobe-screen[_ngcontent-%COMP%]{--dummy1: 0;padding-left:max(24px,env(safe-area-inset-left))}.isRtl[_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%]{padding-right:max(24px,env(safe-area-inset-left))}html[dir=rtl][_ngcontent-%COMP%] .oobe-screen[_ngcontent-%COMP%]{--dummy1: 0;padding-right:max(24px,env(safe-area-inset-left))}.isLtr[_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%]{padding-right:max(24px,env(safe-area-inset-right))}html[dir=ltr][_ngcontent-%COMP%] .oobe-screen[_ngcontent-%COMP%]{--dummy2: 0;padding-right:max(24px,env(safe-area-inset-right))}.isRtl[_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .oobe-screen[_ngcontent-%COMP%]{padding-left:max(24px,env(safe-area-inset-right))}html[dir=rtl][_ngcontent-%COMP%] .oobe-screen[_ngcontent-%COMP%]{--dummy2: 0;padding-left:max(24px,env(safe-area-inset-right))}.tv-view[_nghost-%COMP%] .oobe-dialog[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .oobe-dialog[_ngcontent-%COMP%]{width:100vw;height:100vh;display:flex;justify-content:center;align-items:flex-start}"]}),P})()},80561:(xe,de,t)=>{"use strict";t.d(de,{Z:()=>e.Z,M:()=>k});var e=t(26114),n=t(18433),E=t(26875),O=t(47766),B=t(58527),P=t(78812);let k=(()=>{var U;class r{constructor(l,I){this.telemetryService=l,this.telemetryUtilService=I,this._oobeCompleted=!1,this.asyncActions={}}set oobeCompleted(l){this._oobeCompleted=l}get oobeCompleted(){return this._oobeCompleted}startActionAsync(l){this.asyncActions[l]={currentScreen:this.telemetryService.getScreen(),startTime:Date.now()}}endActionAsync(l,I,S){if(!(0,E.isNil)(l)&&!(0,E.isNil)(this.asyncActions[l])){const L=this.asyncActions[l];I===n.fbu.AppExit&&this.telemetryService.changeSync(!0);const s=new n.BAK({currentScreen:L.currentScreen,clientType:this.telemetryUtilService.getClientType(),userAction:l,status:I,errorDetails:S||"",totalMs:0,errorUri:"",serverErrorCode:""});this.telemetryService.push(s,L.startTime),delete this.asyncActions[l]}}sendOobeAcceptEvent(l,I,S){let L=n.Osi.NotShown;I&&(L=S===O.Rg.Full?n.Osi.UserConsented:n.Osi.UserDidNotConsent);const s={currentScreen:this.telemetryService.getScreen(),action:l,technicalConsent:L},M=new n.Uqt(s);this.telemetryService.push(M)}}return(U=r).\u0275fac=function(l){return new(l||U)(B.KVO(P.H0),B.KVO(n.jgD))},U.\u0275prov=B.jDH({token:U,factory:U.\u0275fac,providedIn:"root"}),r})()},26114:(xe,de,t)=>{"use strict";t.d(de,{Z:()=>te});var e=t(47766),n=t(26875),E=t(85735),O=t(93181),B=t(31315),P=t(43848),k=t(83915),U=t(65706),r=t(55833),A=t(75707),l=t(4208),I=t(33367),S=t(61958),L=t(12860);var u=t(78812),x=t(82187),p=t(58527),i=t(66348),o=t(26537),_=t(18587),f=t(40996),J=t(66974),a=t(54250),D=t(19061);let te=(()=>{var N;class z{constructor(v,h,W,ne,ee,b,w,F,Z,se,Y,q){var T,H;this.sharedStorageService=v,this.dialog=h,this.appConfig=W,this.systemInfoService=ne,this.userConsentService=ee,this.localeService=b,this.gfnSdkService=F,this.guestModeHelperService=Z,this.unsupportedBrowserService=se,this.bridgeService=Y,this.focusManager=q,this.oobeDialogRef=null,this.isOobeDialogClosedSubject=new E.m(1),this.isLoginWallEnabled=!1,this.logger=w.getLogger("OobeService/Logger"),this.tvMode=!(null==W||null===(T=W.featureEnablement)||void 0===T||!T.tvMode),this.isGDNDomain=null===(H=window)||void 0===H?void 0:H.isGDNDomain,this.nativeEulaAcceptedVersion$=this.bridgeService.executeCommand(I.Ts.Common.Consent.getAccepted).pipe((0,k.T)(y=>y.value),(0,U.s)(1),(0,r.t)(1)),this.isLoginWallEnabled=this.appConfig.featureEnablement.showLoginWall}initialize(){e.zk.isAndroidPlatform()&&this.bridgeService.executeCommand(I.Ts.Common.Consent.setCurrent,{value:+this.appConfig.oobe.termsOfUseVersion}).subscribe()}get oobeDialogClosedState(){return this.isOobeDialogClosedSubject.asObservable()}get getProductVersion(){return(0,S.Cl)(this.appConfig)}getOobeDataFromSharedStorage(){return this.sharedStorageService.readBlock("oobe")}loadTermsOfUseAcceptedVersion(){return e.zk.isAndroidPlatform()?this.loadTermsOfUseAcceptedVersionForAndroid():this.getOobeDataFromSharedStorage().pipe((0,k.T)(v=>(null==v?void 0:v.termsOfUseAcceptedVersion)||"0"))}loadTermsOfUseAcceptedVersionForAndroid(){return(0,O.p)({oobeData:this.getOobeDataFromSharedStorage(),nativeEulaAcceptedVersion:this.nativeEulaAcceptedVersion$}).pipe((0,k.T)(v=>{var h;return Math.max(+(null===(h=v.oobeData)||void 0===h?void 0:h.termsOfUseAcceptedVersion)||0,v.nativeEulaAcceptedVersion||0).toString()}))}isTermsOfUseChangedSinceAccepted(){return this.loadTermsOfUseAcceptedVersion().pipe((0,k.T)(v=>!!(0,n.isNil)(v)||+this.appConfig.oobe.termsOfUseVersion>+v))}saveTermsOfUseAcceptedVersion(){return this.getOobeDataFromSharedStorage().pipe((0,A.ZZ)(v=>(v.termsOfUseAcceptedVersion=this.appConfig.oobe.termsOfUseVersion,e.zk.isAndroidPlatform()&&this.bridgeService.executeCommand(I.Ts.Common.Consent.setAccepted,{value:+this.appConfig.oobe.termsOfUseVersion}).subscribe(),this.saveOobeDataInSharedStorage(v))))}saveOobeDataInSharedStorage(v){return this.sharedStorageService.writeBlock("oobe",v)}launch(){return(0,O.p)({isEulaChanged:this.isTermsOfUseChangedSinceAccepted(),isAnonUser:this.gfnSdkService.getIsAnonymousUser()}).pipe((0,A.ZZ)(v=>!v.isEulaChanged&&!v.isAnonUser||this.isGDNDomain||this.guestModeHelperService.isGuestMode?(this.isOobeDialogClosedSubject.next(!0),this.isOobeDialogClosedSubject.complete(),this.logger.event("no oobe setDefaultConsentData"),this.userConsentService.setDefaultConsentData(this.isGDNDomain||this.guestModeHelperService.isGuestMode?u.FE:u.bC)):(0,B.zV)([this.localeService.layoutDirectionUpdated$,this.unsupportedBrowserService.shouldDisplayPWAGuidance$()]).pipe((0,U.s)(1),(0,A.ZZ)(([h,W])=>window.location.hash.includes(x.py.PlayGame)&&W||this.isLoginWallEnabled&&W?(0,P.of)(!1):this.openOobeDialog()))))}openOobeDialog(){if(this.oobeDialogRef)return(0,P.of)(!1);const v={panelClass:"dialogWelcome",disableClose:!0,autoFocus:!1,maxWidth:"100vw"};return this.tvMode&&(v.height="100%"),this.oobeDialogRef=this.focusManager.restoreFocusAfterClosed(()=>this.dialog.open(L.z,v)),this.oobeDialogRef.componentInstance.agreeButtonClicked.pipe((0,U.s)(1),(0,l.Q)(this.oobeDialogRef.afterClosed())).subscribe(h=>{this.oobeDialogRef.close()}),this.oobeDialogRef.afterClosed().pipe((0,k.T)(()=>(this.oobeDialogRef=null,this.isOobeDialogClosedSubject.next(!0),this.isOobeDialogClosedSubject.complete(),this.logger.info("oobe closed"),!0)))}}return(N=z).\u0275fac=function(v){return new(v||N)(p.KVO(i.yQ),p.KVO(o.bZ),p.KVO(S.Vk),p.KVO(e.zW),p.KVO(_.F),p.KVO(e.iH),p.KVO(e.J6),p.KVO(f.DL),p.KVO(J.x),p.KVO(a.Lk),p.KVO(e.NZ),p.KVO(D.c_))},N.\u0275prov=p.jDH({token:N,factory:N.\u0275fac,providedIn:"root"}),z})()},77200:(xe,de,t)=>{"use strict";t.d(de,{Em:()=>s,Fv:()=>I,Gl:()=>U,Jp:()=>L,RJ:()=>l,U8:()=>S,YS:()=>M,Zr:()=>P,b3:()=>k,dI:()=>p,lH:()=>u,lo:()=>B,pm:()=>A});var e=t(90116);const B="https://steamcommunity.com/profiles/",P=-1,k="STEAM",U="UPLAY",A=["UNKNOWN","NONE"],l={notificationType:e.$9.AccountLinkingExpired,messageStr:{key:"accountConnection.accountLinking.warningExpired"},secondaryButtonText:"common.notNow",primaryButtonText:"common.goToSettings"},I={notificationType:e.$9.NewSyncFeature,messageStr:{key:"notification.newUbisoftFeatureBanner"},secondaryButtonText:"common.notNow",primaryButtonText:"common.goToSettings"};var S=function(i){return i.onboardingReconnect="onboardingReconnect",i.reconnect="reconnect",i.syncDenied="syncDenied",i}(S||{}),L=function(i){return i.syncFailed="syncFailed",i.profileNotCreated="profileNotCreated",i.privateProfile="privateProfile",i}(L||{}),s=function(i){return i.UNKNOWN="UNKNOWN",i.SYNC_FAILED="SYNC_FAILED",i.SYNC_DENIED="SYNC_DENIED",i.PROFILE_NOT_CREATED="PROFILE_NOT_CREATED",i.SYNC_SUCCESS="SYNC_SUCCESS",i}(s||{});class M{constructor(o=36e5,_=864e5,f=12096e5){this.now=o,this.today=_,this.soon=f}}var u=function(i){return i[i.NotExpired=0]="NotExpired",i[i.ExpiresNow=1]="ExpiresNow",i[i.ExpiresToday=2]="ExpiresToday",i[i.ExpiresSoon=3]="ExpiresSoon",i[i.Expired=4]="Expired",i}(u||{}),p=function(i){return i[i.InitialFetchDone=0]="InitialFetchDone",i[i.LinkingDone=1]="LinkingDone",i[i.LinkingError=2]="LinkingError",i[i.SyncingDone=3]="SyncingDone",i[i.SyncingError=4]="SyncingError",i[i.Disconnected=5]="Disconnected",i[i.Expiring=6]="Expiring",i}(p||{})},42423:(xe,de,t)=>{"use strict";t.d(de,{m:()=>e});const e={webcam:"",webcamDevId:"",microphone:"",micDevId:""}},82197:(xe,de,t)=>{"use strict";t.d(de,{$3:()=>e,AT:()=>B,JK:()=>O,KG:()=>n,KU:()=>E,Pb:()=>U,VA:()=>l,Z0:()=>r,e8:()=>k,ep:()=>A,yd:()=>P});const e=560,n=540,E=512,O=512,B=-127,P=0,k=.4,U=100,r="standardWebrtc",A="red5ProPublisherSdk",l=6e4},69751:(xe,de,t)=>{"use strict";t.d(de,{y:()=>U});var e=t(19392),n=t(65706),E=t(83915),O=t(42423),B=t(58527),P=t(47766),k=t(65240);let U=(()=>{var r;class A{constructor(I,S){this.loggingService=I,this.translateService=S,this.audioInputDevices=[],this.videoInputDevices=[],this.logger=this.loggingService.getLogger("GFNWebcamService"),this.mediaSetup=O.m}getMediaDeviceInfo(I){return(0,e.H)(navigator.mediaDevices.enumerateDevices()).pipe((0,n.s)(1),(0,E.T)(S=>(S.forEach(L=>{"audioinput"===L.kind?this.audioInputDevices.push({deviceId:L.deviceId,label:L.label,groupId:L.groupId}):"videoinput"===L.kind&&this.videoInputDevices.push({deviceId:L.deviceId,label:L.label,groupId:L.groupId})}),this.audioInputDevices=this.audioInputDevices.filter((L,s,M)=>M.findIndex(u=>u.groupId===L.groupId)===s),this.videoInputDevices=this.videoInputDevices.filter((L,s,M)=>M.findIndex(u=>u.groupId===L.groupId)===s),{videoInput:this.videoInputDevices,audioInput:this.audioInputDevices})))}}return(r=A).\u0275fac=function(I){return new(I||r)(B.KVO(P.J6),B.KVO(k.c$))},r.\u0275prov=B.jDH({token:r,factory:r.\u0275fac,providedIn:"root"}),A})()},13515:(xe,de,t)=>{"use strict";t.d(de,{KG:()=>x.KG,$3:()=>x.$3,SO:()=>r,zn:()=>Ce,YG:()=>ne,RI:()=>s,tP:()=>ge});var e=t(58527),n=t(80583),E=t(47766),O=t(3457),B=t(47973),P=t(26537),k=t(61142),U=t(65240);let r=(()=>{var Se;class Ne{constructor(ve){this.loggingService=ve,this.primaryButtonClick=new e.bkB,this.destroy$=new n.B7}ngOnInit(){this.logger=this.loggingService.getLogger("playtest-error")}onPrimaryButtonClick(){this.primaryButtonClick.emit(!1)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(e.rXU(E.J6))},Se.\u0275cmp=e.VBU({type:Se,selectors:[["gfn-playtestlive-error"]],inputs:{primaryButton:"primaryButton"},outputs:{primaryButtonClick:"primaryButtonClick"},decls:14,vars:11,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlexFill","",1,"error-dialog-container"],["fxFlex","1 1 auto","fxLayout","column"],[1,"error-dialog-header"],[1,"font-header6"],[1,"error-dialog-body"],[1,"font-body2",3,"innerHtml"],["fxLayout","row","fxLayoutAlign","end center","fxLayoutGap","10px"],["mat-button","","mat-dialog-close","",1,"font-button2","hig-button",3,"click"]],template:function(ve,Pe){1&ve&&(e.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),e.EFF(4),e.nI1(5,"translate"),e.k0s()(),e.j41(6,"div",4),e.nrm(7,"span",5),e.nI1(8,"translate"),e.k0s()(),e.j41(9,"mat-dialog-actions",6)(10,"button",7),e.bIt("click",function(){return Pe.onPrimaryButtonClick()}),e.EFF(11),e.nI1(12,"translate"),e.nI1(13,"uppercase"),e.k0s()()()),2&ve&&(e.R7$(4),e.JRh(e.bMT(5,3,"playtestLive.errorDialog.header")),e.R7$(3),e.Y8G("innerHtml",e.bMT(8,5,"playtestLive.errorDialog.notAccessibleError"),e.npT),e.R7$(4),e.SpI(" ",e.bMT(13,9,e.bMT(12,7,"common.ok"))," "))},dependencies:[O.DJ,O.BO,O.sA,O.G2,O.UI,B.iV,P.tx,P.E7,k.Pc,U.D9],styles:[".error-dialog-container[_ngcontent-%COMP%]{max-width:100%}.error-dialog-container[_ngcontent-%COMP%] .error-dialog-header[_ngcontent-%COMP%]{margin-bottom:15px}.error-dialog-container[_ngcontent-%COMP%] .error-dialog-body[_ngcontent-%COMP%]{margin-bottom:20px}"]}),Ne})();var A=t(56589);function l(Se,Ne){1&Se&&(e.nrm(0,"span",5),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.privacyPermissionsDialog.permissionGameplay"),e.npT)}function I(Se,Ne){1&Se&&(e.nrm(0,"span",5),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.privacyPermissionsDialog.permissionInputs"),e.npT)}function S(Se,Ne){1&Se&&(e.nrm(0,"span",5),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.privacyPermissionsDialog.permissionWebcam"),e.npT)}function L(Se,Ne){1&Se&&(e.nrm(0,"span",5),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.privacyPermissionsDialog.permissionMicrophone"),e.npT)}let s=(()=>{var Se;class Ne{constructor(ve,Pe){this.loggingService=ve,this.playtestLiveService=Pe,this.primaryButtonClick=new e.bkB,this.secondaryButtonClick=new e.bkB,this.destroy$=new n.B7}ngOnInit(){this.logger=this.loggingService.getLogger("PermissionHig"),this.featureFlags=this.playtestLiveService.featureFlags}onPrimaryButtonClick(){this.primaryButtonClick.emit(!0)}onCancelButtonClick(){this.secondaryButtonClick.emit(!0)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(e.rXU(E.J6),e.rXU(A.C))},Se.\u0275cmp=e.VBU({type:Se,selectors:[["gfn-playtestlive-permissionhig"]],inputs:{primaryButton:"primaryButton"},outputs:{primaryButtonClick:"primaryButtonClick",secondaryButtonClick:"secondaryButtonClick"},decls:22,vars:21,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlexFill","",1,"permissionhig-dialog-container"],["fxFlex","1 1 auto","fxLayout","column"],[1,"permissionhig-dialog-header"],[1,"font-header6"],[1,"permissionhig-dialog-body"],[1,"font-body2",3,"innerHtml"],["class","font-body2",3,"innerHtml",4,"ngIf"],["fxLayout","row-reverse","fxLayoutAlign","start center","fxLayoutGap","10px"],["mat-button","",1,"font-button2","hig-button",3,"click","mat-dialog-close"],["mat-button","","mat-dialog-close","",1,"font-button2","hig-button",3,"click"]],template:function(ve,Pe){1&ve&&(e.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),e.EFF(4),e.nI1(5,"translate"),e.k0s()(),e.j41(6,"div",4),e.nrm(7,"span",5),e.nI1(8,"translate"),e.DNE(9,l,2,3,"span",6)(10,I,2,3,"span",6)(11,S,2,3,"span",6)(12,L,2,3,"span",6),e.k0s()(),e.j41(13,"mat-dialog-actions",7)(14,"button",8),e.bIt("click",function(){return Pe.onPrimaryButtonClick()}),e.EFF(15),e.nI1(16,"translate"),e.nI1(17,"uppercase"),e.k0s(),e.j41(18,"button",9),e.bIt("click",function(){return Pe.onCancelButtonClick()}),e.EFF(19),e.nI1(20,"translate"),e.nI1(21,"uppercase"),e.k0s()()()),2&ve&&(e.R7$(4),e.SpI(" ",e.bMT(5,9,"playtestLive.privacyPermissionsDialog.header")," "),e.R7$(3),e.Y8G("innerHtml",e.bMT(8,11,"playtestLive.privacyPermissionsDialog.permissionIntro"),e.npT),e.R7$(2),e.Y8G("ngIf",Pe.featureFlags.captureGameplay),e.R7$(),e.Y8G("ngIf",Pe.featureFlags.captureInput),e.R7$(),e.Y8G("ngIf",Pe.featureFlags.captureWebcam),e.R7$(),e.Y8G("ngIf",Pe.featureFlags.captureMicrophone),e.R7$(2),e.Y8G("mat-dialog-close",!0),e.R7$(),e.SpI(" ",e.bMT(17,15,e.bMT(16,13,"playtestLive.privacyPermissionsDialog.accept"))," "),e.R7$(4),e.SpI(" ",e.bMT(21,19,e.bMT(20,17,"common.cancel"))," "))},dependencies:[k.bT,O.DJ,O.BO,O.sA,O.G2,O.UI,B.iV,P.tx,P.E7,k.Pc,U.D9],styles:[".permissionhig-dialog-container[_ngcontent-%COMP%]{max-width:100%}.permissionhig-dialog-container[_ngcontent-%COMP%] .permissionhig-dialog-header[_ngcontent-%COMP%]{margin-bottom:25px}.permissionhig-dialog-container[_ngcontent-%COMP%] .permissionhig-dialog-body[_ngcontent-%COMP%]{margin-bottom:20px}"]}),Ne})();var M=t(4208),u=t(65706),x=t(82197),p=t(69751),i=t(56106),o=t(28139),_=t(4418),f=t(12949),J=t(51635),a=t(20288),D=t(54676),te=t(98504);const N=["disableButton"],z=Se=>({"microphone-display-none":Se});function R(Se,Ne){if(1&Se&&(e.j41(0,"mat-option",19),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&Se){const we=e.XpG();e.Y8G("value",we.selectedMicrophoneId),e.R7$(),e.SpI(" ",e.bMT(2,2,"playtestLive.selectMicrophoneDialog.noMicrophone")," ")}}function v(Se,Ne){if(1&Se&&(e.j41(0,"mat-option",20),e.EFF(1),e.k0s()),2&Se){const we=Ne.$implicit;e.Y8G("value",we.deviceId),e.R7$(),e.SpI(" ",we.label," ")}}function h(Se,Ne){1&Se&&(e.j41(0,"div",13),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&Se&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"playtestLive.hardwarePermissionError")," "))}function W(Se,Ne){1&Se&&(e.j41(0,"div",13),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&Se&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"playtestLive.hardwarePermissionErrorOptional")," "))}let ne=(()=>{var Se;class Ne{constructor(ve,Pe,Oe,Be){this.gfnWebcamService=ve,this.loggingService=Pe,this.playtestLiveService=Oe,this.systemInfoService=Be,this.primaryButtonClick=new e.bkB,this.micSensitivity=0,this.isMicReady=!1,this.destroy$=new n.B7,this.selectedMicrophoneId="",this.checkboxState=!1,this.stopMicAfterPreview=!1,this.onAudioProcess=()=>{if(this.playtestLiveService.audioAnalyzer){const tt=new Uint8Array(this.playtestLiveService.audioAnalyzer.frequencyBinCount);this.playtestLiveService.audioAnalyzer.getByteFrequencyData(tt);let Ee=0;const ot=Array.from(tt);for(const We of ot)Ee+=We;this.micSensitivity=Ee/tt.length}else this.micSensitivity=0}}ngOnInit(){this.logger=this.loggingService.getLogger("MicrophonePreview"),this.featureFlags=this.playtestLiveService.featureFlags,this.audioDevices=[],this.systemInfoService.getDeviceOSType().pipe((0,M.Q)(this.destroy$),(0,u.s)(1)).subscribe(ve=>{this.stopMicAfterPreview=!E.zk.isCefPlatform()||ve!==E.t_.Windows}),this.gfnWebcamService.getMediaDeviceInfo(this.featureFlags).pipe((0,M.Q)(this.destroy$)).subscribe(ve=>{this.audioDevices=ve.audioInput.map(Pe=>Pe),0{this.logger.info("Error fetching mic: ",ve)}),this.audioIntervalHandle=window.setInterval(this.onAudioProcess,x.Pb)}onMicrophoneSelected(ve){const Pe=this.audioDevices.find(Oe=>Oe.deviceId===ve);Pe&&(this.selectedMicrophoneId=Pe.deviceId,this.gfnWebcamService.mediaSetup.microphone=Pe.label,this.gfnWebcamService.mediaSetup.micDevId=Pe.deviceId,this.playtestLiveService.stopMic(),this.playtestLiveService.startMic(Pe.deviceId),this.isMicReady=!0)}onPrimaryButtonClick(){this.primaryButtonClick.emit(!0)}onDisableChange(){this.checkboxState?(this.playtestLiveService.stopMic(),this.gfnWebcamService.mediaSetup.microphone="Disable",this.gfnWebcamService.mediaSetup.micDevId="Disable"):this.onMicrophoneSelected(this.selectedMicrophoneId)}isSelectorEmpty(){return 0===this.audioDevices.length||!this.audioDevices[0].deviceId||0===this.audioDevices[0].deviceId.length}ngOnDestroy(){window.clearInterval(this.audioIntervalHandle),this.audioIntervalHandle=null,this.stopMicAfterPreview?(this.logger.info("Stopping mic after preview"),this.playtestLiveService.stopMic()):this.logger.info("Not stopping mic after preview"),this.destroy$.next(!0),this.destroy$.complete(),this.audioDevices=[]}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(e.rXU(p.y),e.rXU(E.J6),e.rXU(A.C),e.rXU(E.zW))},Se.\u0275cmp=e.VBU({type:Se,selectors:[["gfn-playtestlive-microphonepreview"]],viewQuery:function(ve,Pe){if(1&ve&&e.GBs(N,5),2&ve){let Oe;e.mGM(Oe=e.lsd())&&(Pe.disableButton=Oe.first)}},inputs:{primaryButton:"primaryButton"},outputs:{primaryButtonClick:"primaryButtonClick"},decls:34,vars:39,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlexFill","",1,"microphone-dialog-container"],["fxFlex","1 1 auto","fxLayout","column"],[1,"microphone-dialog-header"],[1,"font-header6"],["fxFlex","0 0 auto","fxLayout","row","fxLayoutAlign","center center",1,"microphone-dialog-select","font-body2"],[3,"valueChange","selectionChange","disableOptionCentering","value","disabled"],["selected","",3,"value",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutGap","15px",1,"microphone-dialog-preview"],[1,"font-body2","nowrap"],["mode","determinate",1,"mic-progress",3,"value"],[1,"microphone-dialog-disable"],[3,"ngModelChange","change","ngClass","ngModel"],[1,"font-body2"],[1,"font-body2","font-color-warning",3,"ngClass"],["class","font-body2",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxLayoutGap","10px"],["mat-button","","mat-dialog-close","",1,"font-button2","hig-button"],["mat-button","",1,"font-button2","hig-button",3,"mat-dialog-close","disabled"],["selected","",3,"value"],[3,"value"]],template:function(ve,Pe){1&ve&&(e.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),e.EFF(4),e.nI1(5,"translate"),e.k0s()(),e.j41(6,"div",4)(7,"mat-select",5),e.mxI("valueChange",function(Be){return e.DH7(Pe.selectedMicrophoneId,Be)||(Pe.selectedMicrophoneId=Be),Be}),e.bIt("selectionChange",function(Be){return Pe.onMicrophoneSelected(Be.value)}),e.DNE(8,R,3,4,"mat-option",6)(9,v,2,2,"mat-option",7),e.k0s()(),e.j41(10,"div",8)(11,"span",9),e.EFF(12),e.nI1(13,"translate"),e.k0s(),e.nrm(14,"mat-progress-bar",10),e.k0s(),e.j41(15,"div",11)(16,"mat-checkbox",12),e.mxI("ngModelChange",function(Be){return e.DH7(Pe.checkboxState,Be)||(Pe.checkboxState=Be),Be}),e.bIt("change",function(){return Pe.onDisableChange()}),e.j41(17,"span",13),e.EFF(18),e.nI1(19,"translate"),e.k0s()(),e.j41(20,"div",14),e.EFF(21),e.nI1(22,"translate"),e.k0s()(),e.DNE(23,h,3,3,"div",15)(24,W,3,3,"div",15),e.k0s(),e.j41(25,"mat-dialog-actions",16)(26,"button",17),e.EFF(27),e.nI1(28,"translate"),e.nI1(29,"uppercase"),e.k0s(),e.j41(30,"button",18),e.EFF(31),e.nI1(32,"translate"),e.nI1(33,"uppercase"),e.k0s()()()),2&ve&&(e.R7$(4),e.SpI(" ",e.bMT(5,19,"playtestLive.selectMicrophoneDialog.selectYourMicrophone")," "),e.R7$(3),e.Y8G("disableOptionCentering",!0),e.R50("value",Pe.selectedMicrophoneId),e.Y8G("disabled",Pe.checkboxState||Pe.isSelectorEmpty()),e.R7$(),e.Y8G("ngIf",Pe.isSelectorEmpty()),e.R7$(),e.Y8G("ngForOf",Pe.audioDevices),e.R7$(3),e.SpI(" ",e.bMT(13,21,"playtestLive.selectMicrophoneDialog.inputLevel")," "),e.R7$(2),e.Y8G("value",Pe.checkboxState?0:Pe.micSensitivity),e.R7$(2),e.Y8G("ngClass",e.eq3(35,z,!Pe.featureFlags.captureMicrophoneOptional)),e.R50("ngModel",Pe.checkboxState),e.R7$(2),e.SpI(" ",e.bMT(19,23,"playtestLive.selectMicrophoneDialog.disableMicrophone")," "),e.R7$(2),e.Y8G("ngClass",e.eq3(37,z,!Pe.isSelectorEmpty()||Pe.featureFlags.captureMicrophoneOptional)),e.R7$(),e.SpI(" ",e.bMT(22,25,"playtestLive.selectMicrophoneDialog.requireMicrophone")," "),e.R7$(2),e.Y8G("ngIf",Pe.isSelectorEmpty()&&!Pe.featureFlags.captureMicrophoneOptional),e.R7$(),e.Y8G("ngIf",Pe.isSelectorEmpty()&&Pe.featureFlags.captureMicrophoneOptional),e.R7$(3),e.SpI(" ",e.bMT(29,29,e.bMT(28,27,"common.cancel"))," "),e.R7$(3),e.Y8G("mat-dialog-close",!0)("disabled",Pe.isSelectorEmpty()&&(!Pe.featureFlags.captureMicrophoneOptional||!Pe.checkboxState)),e.R7$(),e.SpI(" ",e.bMT(33,33,e.bMT(32,31,"playtestLive.joinPlaytest"))," "))},dependencies:[k.YU,k.Sq,k.bT,i.BC,i.vS,O.DJ,O.BO,O.sA,O.G2,O.UI,o.PW,B.iV,_.So,P.tx,P.E7,f.VO,J.wT,a.HM,D.tG,te.nM,k.Pc,U.D9],styles:[".isLtr[_nghost-%COMP%] .mat-select-trigger, .isLtr [_nghost-%COMP%] .mat-select-trigger{padding-right:10px}html[dir=ltr][_ngcontent-%COMP%] .mat-select-trigger{--dummy2: 0;padding-right:10px}.isRtl[_nghost-%COMP%] .mat-select-trigger, .isRtl [_nghost-%COMP%] .mat-select-trigger{padding-left:10px}html[dir=rtl][_ngcontent-%COMP%] .mat-select-trigger{--dummy2: 0;padding-left:10px}.isLtr[_nghost-%COMP%] .mat-select-trigger, .isLtr [_nghost-%COMP%] .mat-select-trigger{padding-left:10px}html[dir=ltr][_ngcontent-%COMP%] .mat-select-trigger{--dummy1: 0;padding-left:10px}.isRtl[_nghost-%COMP%] .mat-select-trigger, .isRtl [_nghost-%COMP%] .mat-select-trigger{padding-right:10px}html[dir=rtl][_ngcontent-%COMP%] .mat-select-trigger{--dummy1: 0;padding-right:10px}.microphone-dialog-container[_ngcontent-%COMP%]{max-width:100%}.microphone-dialog-container[_ngcontent-%COMP%] .microphone-dialog-header[_ngcontent-%COMP%]{margin-bottom:15px}.microphone-dialog-container[_ngcontent-%COMP%] .microphone-dialog-select[_ngcontent-%COMP%]{height:48px;margin-bottom:16px;background:#494949}.microphone-dialog-container[_ngcontent-%COMP%] .microphone-dialog-preview[_ngcontent-%COMP%], .microphone-dialog-container[_ngcontent-%COMP%] .microphone-dialog-disable[_ngcontent-%COMP%]{margin-bottom:10px}.microphone-dialog-container[_ngcontent-%COMP%] .microphone-dialog-disable[_ngcontent-%COMP%] .font-color-warning[_ngcontent-%COMP%]{color:#ffb43e}.microphone-dialog-container[_ngcontent-%COMP%] .mic-progress[_ngcontent-%COMP%]{margin-top:8px}.microphone-dialog-container[_ngcontent-%COMP%] .nowrap[_ngcontent-%COMP%]{white-space:nowrap}.microphone-dialog-container[_ngcontent-%COMP%] .microphone-display-none[_ngcontent-%COMP%]{display:none}"]}),Ne})();var ee=t(3496),b=t(19392),w=t(43848),F=t(59859),Z=t(91384),se=t(99204);const Y=["webcamHolder"],q=["disableButton"],T=Se=>({"webcam-hidden":Se}),H=Se=>({"webcam-display-none":Se});function y(Se,Ne){if(1&Se&&(e.j41(0,"mat-option",20),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&Se){const we=e.XpG();e.Y8G("value",we.selectedWebcamId),e.R7$(),e.SpI(" ",e.bMT(2,2,"playtestLive.selectWebcamDialog.noWebcam")," ")}}function X(Se,Ne){if(1&Se&&(e.j41(0,"mat-option",21),e.EFF(1),e.k0s()),2&Se){const we=Ne.$implicit;e.Y8G("value",we.deviceId),e.R7$(),e.SpI(" ",we.label," ")}}function c(Se,Ne){1&Se&&(e.j41(0,"div",24),e.nrm(1,"mat-progress-spinner",25),e.k0s())}function g(Se,Ne){if(1&Se&&(e.j41(0,"div",22),e.DNE(1,c,2,0,"div",23),e.k0s()),2&Se){const we=e.XpG();e.R7$(),e.Y8G("ngIf",we.showSpinner)}}function d(Se,Ne){1&Se&&(e.j41(0,"div",15),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&Se&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"playtestLive.hardwarePermissionError")," "))}function C(Se,Ne){1&Se&&(e.j41(0,"div",15),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&Se&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"playtestLive.hardwarePermissionErrorOptional")," "))}function Q(Se,Ne){if(1&Se&&(e.j41(0,"div",26)(1,"div",27)(2,"div",28),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.DNE(5,d,3,3,"div",29)(6,C,3,3,"div",29),e.k0s()()),2&Se){const we=e.XpG();e.R7$(3),e.SpI(" ",e.bMT(4,3,"playtestLive.selectWebcamDialog.noWebcam")," "),e.R7$(2),e.Y8G("ngIf",!we.featureFlags.captureWebcamOptional),e.R7$(),e.Y8G("ngIf",we.featureFlags.captureWebcamOptional)}}function j(Se,Ne){if(1&Se&&(e.j41(0,"button",30),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"uppercase"),e.k0s()),2&Se){const we=e.XpG();e.Y8G("mat-dialog-close",!0)("disabled",!we.isWebcamReady),e.R7$(),e.SpI(" ",e.bMT(3,5,e.bMT(2,3,"playtestLive.selectWebcamDialog.next"))," ")}}function le(Se,Ne){if(1&Se&&(e.j41(0,"button",30),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"uppercase"),e.k0s()),2&Se){const we=e.XpG();e.Y8G("mat-dialog-close",!0)("disabled",!we.isWebcamReady&&!we.checkboxState),e.R7$(),e.SpI(" ",e.bMT(3,5,e.bMT(2,3,"playtestLive.joinPlaytest"))," ")}}let ge=(()=>{var Se;class Ne{constructor(ve,Pe,Oe){this.gfnWebcamService=ve,this.loggingService=Pe,this.playtestLiveService=Oe,this.secondaryButtonClick=new e.bkB,this.destroy$=new n.B7,this.isWebcamReady=!1,this.selectedWebcamId="",this.checkboxState=!1,this.showSpinner=!0,this.spinnerTimeout=null}startSpinner(){this.stopSpinner(),this.showSpinner=!0,this.spinnerTimeout=(0,ee.O)(7e3).subscribe(()=>{this.stopSpinner()})}stopSpinner(){var ve;null===(ve=this.spinnerTimeout)||void 0===ve||ve.unsubscribe(),this.spinnerTimeout=null,this.showSpinner=!1}ngOnInit(){this.logger=this.loggingService.getLogger("WebcamPreview"),this.featureFlags=this.playtestLiveService.featureFlags,this.videoDevices=[],this.startSpinner(),this.gfnWebcamService.getMediaDeviceInfo(this.featureFlags).pipe((0,M.Q)(this.destroy$)).subscribe(ve=>{this.videoDevices=ve.videoInput.map(Pe=>Pe),0{this.logger.info("Error fetching webcam: ",ve),this.stopSpinner()})}onWebcamSelected(ve){const Pe=this.videoDevices.find(Oe=>Oe.deviceId===ve);this.isWebcamReady=!1,this.startSpinner(),Pe&&(this.selectedWebcamId=Pe.deviceId,(0,b.H)(navigator.mediaDevices.getUserMedia({audio:!1,video:{width:x.KU,deviceId:Pe.deviceId}})).pipe((0,u.s)(1),(0,M.Q)(this.destroy$),(0,Z.M)(Oe=>Oe.getVideoTracks().some(Be=>Be.enabled&&"live"===Be.readyState)?(0,w.of)(Oe):(0,F.$)("Webcam not ready"))).subscribe(Oe=>{this.clearTracks(),this.webcamHolder.nativeElement.srcObject=Oe,this.webcamHolder.nativeElement.onloadedmetadata=Be=>{this.stopSpinner(),this.isWebcamReady=!0,this.webcamHolder.nativeElement.play(),this.gfnWebcamService.mediaSetup.webcam=Pe.label,this.gfnWebcamService.mediaSetup.webcamDevId=Pe.deviceId}},Oe=>{this.stopSpinner(),this.isWebcamReady=!1,this.clearTracks(),this.logger.info("Error accessing your webcam: ",Oe)}))}onDisableChange(){this.checkboxState?(this.stopSpinner(),this.isWebcamReady=!1,this.clearTracks(),this.gfnWebcamService.mediaSetup.webcam="Disable",this.gfnWebcamService.mediaSetup.webcamDevId="Disable"):this.onWebcamSelected(this.selectedWebcamId)}isSelectorEmpty(){return 0===this.videoDevices.length||!this.videoDevices[0].deviceId||0===this.videoDevices[0].deviceId.length}clearTracks(){var ve;const Pe=null===(ve=this.webcamHolder)||void 0===ve||null===(ve=ve.nativeElement)||void 0===ve||null===(ve=ve.srcObject)||void 0===ve?void 0:ve.getTracks();null==Pe||Pe.forEach(Oe=>Oe.stop())}ngOnDestroy(){this.stopSpinner(),this.clearTracks(),this.checkboxState&&(this.gfnWebcamService.mediaSetup.webcam="Disable",this.gfnWebcamService.mediaSetup.webcamDevId="Disable"),this.destroy$.next(!0),this.destroy$.complete()}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(e.rXU(p.y),e.rXU(E.J6),e.rXU(A.C))},Se.\u0275cmp=e.VBU({type:Se,selectors:[["gfn-playtestlive-webcampreview"]],viewQuery:function(ve,Pe){if(1&ve&&(e.GBs(Y,5),e.GBs(q,5)),2&ve){let Oe;e.mGM(Oe=e.lsd())&&(Pe.webcamHolder=Oe.first),e.mGM(Oe=e.lsd())&&(Pe.disableButton=Oe.first)}},outputs:{secondaryButtonClick:"secondaryButtonClick"},decls:30,vars:33,consts:[["webcamHolder",""],["fxLayout","column","fxLayoutAlign","start stretch","fxFlexFill","",1,"webcam-dialog-container"],["fxFlex","1 1 auto","fxLayout","column"],[1,"webcam-dialog-header"],[1,"font-header6"],["fxFlex","0 0 auto","fxLayout","row","fxLayoutAlign","center center",1,"webcam-dialog-select","font-body2"],[3,"valueChange","selectionChange","disableOptionCentering","value","disabled"],["selected","",3,"value",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","0 0 auto",1,"webcam-dialog-preview"],[1,"video-preview",3,"ngClass"],["class","video-box",4,"ngIf"],["class","video-text-box",4,"ngIf"],[1,"webcam-dialog-disable"],[3,"ngModelChange","change","ngClass","ngModel"],[1,"font-body2"],[1,"font-body2","font-color-warning",3,"ngClass"],["fxLayout","row","fxLayoutAlign","end center","fxLayoutGap","10px"],["mat-button","","mat-dialog-close","",1,"font-button2","hig-button"],["mat-button","","class","font-button2 hig-button",3,"mat-dialog-close","disabled",4,"ngIf"],["selected","",3,"value"],[3,"value"],[1,"video-box"],["class","hig-dialog-spinner","fxLayout","column","fxLayoutAlign","center center","fxFlex","1 1 auto",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","1 1 auto",1,"hig-dialog-spinner"],["mode","indeterminate","diameter","48","strokeWidth","4","color","accent"],[1,"video-text-box"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","1 1 auto"],[1,"no-webcam-header","font-sub1"],["class","font-body2",4,"ngIf"],["mat-button","",1,"font-button2","hig-button",3,"mat-dialog-close","disabled"]],template:function(ve,Pe){if(1&ve){const Oe=e.RV6();e.j41(0,"div",1)(1,"div",2)(2,"div",3)(3,"span",4),e.EFF(4),e.nI1(5,"translate"),e.k0s()(),e.j41(6,"div",5)(7,"mat-select",6),e.mxI("valueChange",function(tt){return e.eBV(Oe),e.DH7(Pe.selectedWebcamId,tt)||(Pe.selectedWebcamId=tt),e.Njj(tt)}),e.bIt("selectionChange",function(tt){return e.eBV(Oe),e.Njj(Pe.onWebcamSelected(tt.value))}),e.DNE(8,y,3,4,"mat-option",7)(9,X,2,2,"mat-option",8),e.k0s()(),e.j41(10,"div",9),e.nrm(11,"video",10,0),e.DNE(13,g,2,1,"div",11)(14,Q,7,5,"div",12),e.k0s(),e.j41(15,"div",13)(16,"mat-checkbox",14),e.mxI("ngModelChange",function(tt){return e.eBV(Oe),e.DH7(Pe.checkboxState,tt)||(Pe.checkboxState=tt),e.Njj(tt)}),e.bIt("change",function(){return e.eBV(Oe),e.Njj(Pe.onDisableChange())}),e.j41(17,"span",15),e.EFF(18),e.nI1(19,"translate"),e.k0s()(),e.j41(20,"div",16),e.EFF(21),e.nI1(22,"translate"),e.k0s()()(),e.j41(23,"mat-dialog-actions",17)(24,"button",18),e.EFF(25),e.nI1(26,"translate"),e.nI1(27,"uppercase"),e.k0s(),e.DNE(28,j,4,7,"button",19)(29,le,4,7,"button",19),e.k0s()()}2&ve&&(e.R7$(4),e.JRh(e.bMT(5,17,"playtestLive.selectWebcamDialog.selectYourWebcam")),e.R7$(3),e.Y8G("disableOptionCentering",!0),e.R50("value",Pe.selectedWebcamId),e.Y8G("disabled",Pe.checkboxState||Pe.isSelectorEmpty()),e.R7$(),e.Y8G("ngIf",Pe.isSelectorEmpty()),e.R7$(),e.Y8G("ngForOf",Pe.videoDevices),e.R7$(2),e.Y8G("ngClass",e.eq3(27,T,Pe.checkboxState||!Pe.isWebcamReady)),e.R7$(2),e.Y8G("ngIf",Pe.showSpinner||Pe.checkboxState||!Pe.isWebcamReady||Pe.isSelectorEmpty()),e.R7$(),e.Y8G("ngIf",!Pe.showSpinner&&!Pe.checkboxState&&(Pe.isSelectorEmpty()||!Pe.isWebcamReady)),e.R7$(2),e.Y8G("ngClass",e.eq3(29,H,!Pe.featureFlags.captureWebcamOptional)),e.R50("ngModel",Pe.checkboxState),e.R7$(2),e.SpI(" ",e.bMT(19,19,"playtestLive.selectWebcamDialog.disableWebcam"),""),e.R7$(2),e.Y8G("ngClass",e.eq3(31,H,Pe.featureFlags.captureWebcamOptional||!Pe.isSelectorEmpty())),e.R7$(),e.SpI(" ",e.bMT(22,21,"playtestLive.selectWebcamDialog.requireWebcam")," "),e.R7$(4),e.SpI(" ",e.bMT(27,25,e.bMT(26,23,"common.cancel"))," "),e.R7$(3),e.Y8G("ngIf",Pe.featureFlags.captureMicrophone&&!Pe.checkboxState),e.R7$(),e.Y8G("ngIf",!Pe.featureFlags.captureMicrophone||Pe.checkboxState))},dependencies:[k.YU,k.Sq,k.bT,i.BC,i.vS,O.DJ,O.BO,O.sA,O.G2,O.UI,o.PW,B.iV,_.So,se.LG,P.tx,P.E7,f.VO,J.wT,D.tG,te.nM,k.Pc,U.D9],styles:[".isLtr[_nghost-%COMP%] .mat-select-trigger, .isLtr [_nghost-%COMP%] .mat-select-trigger{padding-right:10px}html[dir=ltr][_ngcontent-%COMP%] .mat-select-trigger{--dummy2: 0;padding-right:10px}.isRtl[_nghost-%COMP%] .mat-select-trigger, .isRtl [_nghost-%COMP%] .mat-select-trigger{padding-left:10px}html[dir=rtl][_ngcontent-%COMP%] .mat-select-trigger{--dummy2: 0;padding-left:10px}.isLtr[_nghost-%COMP%] .mat-select-trigger, .isLtr [_nghost-%COMP%] .mat-select-trigger{padding-left:10px}html[dir=ltr][_ngcontent-%COMP%] .mat-select-trigger{--dummy1: 0;padding-left:10px}.isRtl[_nghost-%COMP%] .mat-select-trigger, .isRtl [_nghost-%COMP%] .mat-select-trigger{padding-right:10px}html[dir=rtl][_ngcontent-%COMP%] .mat-select-trigger{--dummy1: 0;padding-right:10px}.webcam-dialog-container[_ngcontent-%COMP%]{max-width:100%}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-header[_ngcontent-%COMP%]{margin-bottom:15px}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-select[_ngcontent-%COMP%]{height:48px;margin-bottom:16px;background:#494949}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-preview[_ngcontent-%COMP%]{height:288px;margin-bottom:10px;position:relative}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-preview[_ngcontent-%COMP%] .video-preview[_ngcontent-%COMP%]{object-fit:cover;height:100%;width:100%;position:absolute}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-preview[_ngcontent-%COMP%] .video-box[_ngcontent-%COMP%]{height:100%;width:100%;position:absolute;background:#292929}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-preview[_ngcontent-%COMP%] .video-text-box[_ngcontent-%COMP%]{height:100%;width:76%;left:12%;position:absolute;text-align:center}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-preview[_ngcontent-%COMP%] .video-text-box[_ngcontent-%COMP%] .no-webcam-header[_ngcontent-%COMP%]{margin-bottom:5px}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-disable[_ngcontent-%COMP%]{margin-bottom:10px}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-dialog-disable[_ngcontent-%COMP%] .font-color-warning[_ngcontent-%COMP%]{color:#ffb43e}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-hidden[_ngcontent-%COMP%]{visibility:hidden}.webcam-dialog-container[_ngcontent-%COMP%] .webcam-display-none[_ngcontent-%COMP%]{display:none}"]}),Ne})();function ie(Se,Ne){1&Se&&(e.nrm(0,"div",8),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.playtestFeedbackDialog.feedbackIntro"),e.npT)}function ce(Se,Ne){1&Se&&(e.nrm(0,"div",8),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.playtestFeedbackDialog.feedbackGameplay"),e.npT)}function G(Se,Ne){1&Se&&(e.nrm(0,"div",8),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.playtestFeedbackDialog.feedbackInputs"),e.npT)}function ue(Se,Ne){1&Se&&(e.nrm(0,"div",8),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.playtestFeedbackDialog.feedbackWebcam"),e.npT)}function ae(Se,Ne){1&Se&&(e.nrm(0,"div",8),e.nI1(1,"translate")),2&Se&&e.Y8G("innerHtml",e.bMT(1,1,"playtestLive.playtestFeedbackDialog.feedbackMicrophone"),e.npT)}let Ce=(()=>{var Se;class Ne{constructor(ve,Pe){this.loggingService=ve,this.playtestLiveService=Pe,this.primaryButtonClick=new e.bkB,this.destroy$=new n.B7}ngOnInit(){this.logger=this.loggingService.getLogger("FeedbackHig"),this.featureFlags=this.playtestLiveService.featureFlags}onPrimaryButtonClick(){this.primaryButtonClick.emit(!0)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(Se=Ne).\u0275fac=function(ve){return new(ve||Se)(e.rXU(E.J6),e.rXU(A.C))},Se.\u0275cmp=e.VBU({type:Se,selectors:[["gfn-playtestlive-feedbackhig"]],inputs:{primaryButton:"primaryButton"},outputs:{primaryButtonClick:"primaryButtonClick"},decls:17,vars:14,consts:[["fxLayout","column",1,"feedbackhig-dialog-container"],[1,"feedbackhig-dialog-header"],[1,"font-header6"],[1,"feedbackhig-dialog-intro"],["class","font-body2",3,"innerHtml",4,"ngIf"],[1,"feedbackhig-dialog-items"],["fxLayout","row","fxLayoutAlign","end center","fxLayoutGap","10px"],["mat-button","",1,"font-button2","hig-button",3,"click","mat-dialog-close"],[1,"font-body2",3,"innerHtml"]],template:function(ve,Pe){1&ve&&(e.j41(0,"div",0)(1,"span",1)(2,"span",2),e.EFF(3),e.nI1(4,"translate"),e.k0s()(),e.j41(5,"span",3),e.DNE(6,ie,2,3,"div",4),e.k0s(),e.j41(7,"span",5),e.DNE(8,ce,2,3,"div",4)(9,G,2,3,"div",4)(10,ue,2,3,"div",4)(11,ae,2,3,"div",4),e.k0s(),e.j41(12,"mat-dialog-actions",6)(13,"button",7),e.bIt("click",function(){return Pe.onPrimaryButtonClick()}),e.EFF(14),e.nI1(15,"translate"),e.nI1(16,"uppercase"),e.k0s()()()),2&ve&&(e.R7$(3),e.SpI(" ",e.bMT(4,8,"playtestLive.playtestFeedbackDialog.header")," "),e.R7$(3),e.Y8G("ngIf",Pe.featureFlags.captureWebcam||Pe.featureFlags.captureMicrophone||Pe.featureFlags.captureGameplay||Pe.featureFlags.captureInput),e.R7$(2),e.Y8G("ngIf",Pe.featureFlags.captureGameplay),e.R7$(),e.Y8G("ngIf",Pe.featureFlags.captureInput),e.R7$(),e.Y8G("ngIf",Pe.featureFlags.captureWebcam),e.R7$(),e.Y8G("ngIf",Pe.featureFlags.captureMicrophone),e.R7$(2),e.Y8G("mat-dialog-close",!0),e.R7$(),e.SpI(" ",e.bMT(16,12,e.bMT(15,10,"common.done"))," "))},dependencies:[k.bT,O.DJ,O.BO,O.sA,B.iV,P.tx,P.E7,k.Pc,U.D9],styles:[".feedbackhig-dialog-container[_ngcontent-%COMP%]{max-width:100%}.feedbackhig-dialog-container[_ngcontent-%COMP%] .feedbackhig-dialog-header[_ngcontent-%COMP%]{margin-bottom:20px}.feedbackhig-dialog-container[_ngcontent-%COMP%] .feedbackhig-dialog-intro[_ngcontent-%COMP%]{margin-bottom:10px}.feedbackhig-dialog-container[_ngcontent-%COMP%] .feedbackhig-dialog-items[_ngcontent-%COMP%]{margin-bottom:20px}"]}),Ne})()},56589:(xe,de,t)=>{"use strict";t.d(de,{C:()=>F});var e=t(70650),n=t(33367),E=t(47766),O=t(80583),B=t(43848),P=t(59859),k=t(19392),U=t(3496),r=t(75707),A=t(65706),l=t(14714),I=t(4208),S=t(91384);const L={protocol:"",host:"",port:443,app:"",streamName:"",iceServers:[],tcpMuxPolicy:"",mediaElementId:void 0,mediaConstraints:{audio:{deviceId:"",echoCancellation:!0},video:{deviceId:"",width:{min:320,ideal:640,max:640},height:{min:240,ideal:360,max:480},frameRate:30}},connectionParams:{host:"",app:"live"},bandwidth:{audio:56,video:512},cameraWidth:640,cameraHeight:360};var x=t(82197),p=t(37543),i=t(78812),o=t(14331),_=t(58527),f=t(70815),J=t(69751),a=t(35833),D=t(17053),te=t(72147),N=t(83915),z=t(88085),R=t(42423);const v={offerToReceiveAudio:!0,offerToReceiveVideo:!0};let W=(()=>{var Z;class se{constructor(q){this.loggingService=q,this.messagesSubject=new O.B7,this.signalingMessages$=this.messagesSubject.asObservable(),this.numIceCandidates=0,this.signalingUrl="",this.streamName="",this.handleICECandidateEvent=T=>{this.logger.info(T),T.candidate&&this.sendCandidateMessage({handleCandidate:this.streamName,data:{candidate:T.candidate}})},this.handleNegotiationNeededEvent=T=>{this.logger.info(T)},this.handleICEConnectionStateChangeEvent=T=>{switch(this.logger.info(T),this.rtcPeerConnection.iceConnectionState){case"closed":case"failed":case"disconnected":this.closeWebRtc()}},this.handleSignalingStateChangeEvent=T=>{"closed"===(this.logger.info(T),this.rtcPeerConnection.signalingState)&&this.closeWebRtc()},this.handleTrackEvent=T=>{this.logger.info(T)},this.reportError=T=>{this.logger.error("got Error: "+T.name)},this.logger=this.loggingService.getLogger("WebrtcService"),this.mediaSetup=R.m}connect(){(!this.socket$||this.socket$.closed)&&(this.socket$=this.createWebSocket(),this.socket$.subscribe(q=>{this.logger.verbose("Received a message: send to msgHandler"),this.messagesSubject.next(q)}))}createWebSocket(){return(0,z.K)({url:this.signalingUrl,protocol:"json",openObserver:{next:()=>{this.logger.info("WebrtcService: connected to websocket")}},closeObserver:{next:()=>{this.logger.info("WebrtcService: websocket connection closed"),this.socket$=void 0}}})}setUrlAndStreamName(q,T){this.signalingUrl=q,this.streamName=T,this.logger.info("setUrlAndStreamName "+this.signalingUrl+": "+this.streamName)}initSignalingConnection(){return this.logger.info("initSignalingConnection"),""===this.signalingUrl?(this.logger.error("invalid signaling url"),!1):"ws"!==this.signalingUrl.substr(0,2)?(this.logger.error("invalid protocol requested"),!1):(this.addIncomingMessageHandler(),this.requestMediaDevices().pipe((0,A.s)(1)).subscribe(q=>{this.logger.info("got media: signaling initialized"),this.initRtcPeerConnection()}),!0)}requestMediaDevices(){return new D.c(q=>{this.logger.info("requestMediaDevices");try{this.logger.info("selected devices: "+this.mediaSetup.micDevId+": "+this.mediaSetup.webcamDevId),(0,k.H)(navigator.mediaDevices.getUserMedia({audio:{deviceId:this.mediaSetup.micDevId,echoCancellation:!0},video:{width:864,height:480,deviceId:this.mediaSetup.webcamDevId}})).subscribe(T=>{T.getTracks().forEach(H=>{this.logger.info("track: "+H.id+" readyState: "+H.readyState)}),this.mediaStream=T,q.next()})}catch(T){q.error(T),this.logger.error(`getUserMedia() error: ${T.name}`)}})}initRtcPeerConnection(){this.logger.info("initRtcPeerConnetion"),this.createPeerConnection(),this.mediaStream.getTracks().forEach(q=>this.rtcPeerConnection.addTrack(q,this.mediaStream));try{let q;(0,k.H)(this.rtcPeerConnection.createOffer(v)).pipe((0,A.s)(1),(0,S.M)(T=>{q=T}),(0,te.n)(T=>(0,k.H)(this.rtcPeerConnection.setLocalDescription(q)))).subscribe(T=>{this.logger.info("offer created and set"),this.sendOfferMessage({handleOffer:this.streamName,transport:"udp",data:{sdp:q}})})}catch(q){this.handleGetUserMediaError(q)}}addIncomingMessageHandler(){this.connect(),this.logger.info("connect() done: addIncomingMessageHandler"),this.signalingMessages$.subscribe(q=>{if(this.logger.info("Received message obj:"),this.logger.info(q.data),q.data.type)switch(q.data.type){case"status":this.logger.info("Received message status");break;case"offer":this.logger.info("Received message offer"),this.handleOfferMessage(q.data);break;case"answer":this.logger.info("Received message answer"),this.handleAnswerMessage(q.data);break;case"hangup":this.handleHangupMessage(q);break;case"ice-candidate":case"candidate":this.logger.info("Received message ice-candidate"),this.handleICECandidateMessage(q.data.candidate);break;default:this.logger.info("unknown message of type "+q.type)}else q.data.sdp&&(this.logger.info("Received message is SDP"),"answer"===q.data.sdp.type&&(this.logger.info("Received message sdp-answer"),this.handleAnswerMessage(q.data.sdp)))},q=>this.logger.error(q)),this.logger.info("addIncomingMessageHandler done")}sendMessage(q){this.logger.info("sending message: "+q.type),this.socket$.next(q)}sendOfferMessage(q){this.logger.info("sending offerMessage"),this.socket$.next(q)}sendCandidateMessage(q){this.logger.info("sending candidateMessage"),this.socket$.next(q)}sendPublishMessage(q){this.logger.info("sending PUBLISH msg"),this.socket$.next(q)}handleOfferMessage(q){this.logger.info("handle incoming offer"),this.rtcPeerConnection||this.createPeerConnection(),this.mediaStream||this.startWebRtc(),(0,k.H)(this.rtcPeerConnection.setRemoteDescription(new RTCSessionDescription(q))).pipe((0,A.s)(1),(0,S.M)(T=>{this.mediaStream.getTracks().forEach(H=>this.rtcPeerConnection.addTrack(H,this.mediaStream)),this.logger.info("setRemoteDescription done")}),(0,te.n)(T=>(0,k.H)(this.rtcPeerConnection.createAnswer())),(0,S.M)(T=>{this.logger.info(`createAnswer done: ${T}`)}),(0,te.n)(T=>(0,k.H)(this.rtcPeerConnection.setLocalDescription(T))),(0,A.s)(1),(0,N.T)(T=>{this.logger.info(`localDescription done: ${this.rtcPeerConnection.localDescription}`),this.sendMessage({type:"answer",data:this.rtcPeerConnection.localDescription})})).subscribe(T=>{this.logger.info("Negotiation succeeded: ",T)},T=>{this.logger.info("Negotiation error: ",T),this.handleGetUserMediaError(T)},()=>{this.logger.info("Negotiation success")})}handleAnswerMessage(q){this.logger.info("handle incoming answer"),this.rtcPeerConnection.setRemoteDescription(q)}handleHangupMessage(q){this.logger.info(q),this.closeWebRtc()}handleICECandidateMessage(q){const T=new RTCIceCandidate(q);this.rtcPeerConnection.addIceCandidate(T).catch(this.reportError),this.numIceCandidates++,this.numIceCandidates>1&&(this.logger.info("PUBLISH NOW"),this.sendPublishMessage({publish:this.streamName,mode:"live",keyFramerate:3e3}))}createPeerConnection(){this.logger.info("creating PeerConnection"),this.rtcPeerConnection=new RTCPeerConnection({iceServers:[{urls:"stun:stun2.l.google.com:19302"}]}),this.rtcPeerConnection.onicecandidate=this.handleICECandidateEvent,this.rtcPeerConnection.oniceconnectionstatechange=this.handleICEConnectionStateChangeEvent,this.rtcPeerConnection.onsignalingstatechange=this.handleSignalingStateChangeEvent,this.rtcPeerConnection.onnegotiationneeded=this.handleNegotiationNeededEvent,this.rtcPeerConnection.ontrack=this.handleTrackEvent}startWebRtc(){this.logger.info("starting local stream"),this.mediaStream.getTracks().forEach(q=>{q.enabled=!0,this.logger.info("track: "+q+" readyState: "+q.readyState)})}closeWebRtc(){this.logger.info("Close webrtc"),this.rtcPeerConnection&&(this.rtcPeerConnection.ontrack=null,this.rtcPeerConnection.onicecandidate=null,this.rtcPeerConnection.oniceconnectionstatechange=null,this.rtcPeerConnection.onsignalingstatechange=null,this.mediaStream.getTracks().forEach(q=>{q.stop()}),this.rtcPeerConnection.getTransceivers().forEach(q=>{q.stop()}),this.rtcPeerConnection.close(),this.rtcPeerConnection=null)}handleGetUserMediaError(q){switch(null==q?void 0:q.name){case"NotFoundError":this.logger.info("Unable to start streaming because no camera and/or microphone found");break;case"SecurityError":case"PermissionDeniedError":break;case null:case void 0:this.logger.error("Undefined error message.");break;default:this.logger.error("Error opening your camera and/or microphone: "+q.message)}this.closeWebRtc()}}return(Z=se).\u0275fac=function(q){return new(q||Z)(_.KVO(E.J6))},Z.\u0275prov=_.jDH({token:Z,factory:Z.\u0275fac,providedIn:"root"}),se})();var ne=t(21531);let ee=(()=>{var Z;class se{constructor(q){this.loggingService=q,this.logger=this.loggingService.getLogger("Red5PublisherService"),this.mediaSetup=R.m,this.rtcPublisher=new ne.RTCPublisher}startRed5RtcPublish(q){this.logger.info("[startRed5RtcPublish]: started"),this.logger.info("Connecting using rtcConfig: ",q),(0,k.H)(this.rtcPublisher.init(q)).pipe((0,S.M)(this.rtcPublisher.on("*",this.onRed5PublisherEvent.bind(this))),(0,r.ZZ)(T=>this.rtcPublisher.publish()),(0,A.s)(1)).subscribe(T=>{this.logger.info("[startRed5RtcPublish]: Red5Publish succeeded: ",T)},T=>{this.logger.error("[startRed5RtcPublish]: Publisher Failed",T)})}onRed5PublisherEvent(q){this.logger.info("[onRed5PublisherEvent]:",q.type)}stopRed5RtcPublish(){this.logger.info("[stopRed5RtcPublish]: Stop Red5Pro streaming"),this.rtcPublisher.unpreview(),(0,k.H)(this.rtcPublisher.unpublish()).pipe((0,A.s)(1)).subscribe(q=>{this.rtcPublisher.off("*",this.onRed5PublisherEvent),this.logger.info("[stopRed5RtcPublish]: Unpublish Complete")},q=>{this.logger.error("[stopRed5RtcPublish]: Unpublish Failed: ",q)})}}return(Z=se).\u0275fac=function(q){return new(q||Z)(_.KVO(E.J6))},Z.\u0275prov=_.jDH({token:Z,factory:Z.\u0275fac,providedIn:"root"}),se})();var b=t(61958),w=t(50801);let F=(()=>{var Z;class se{constructor(q,T,H,y,X,c,g,d,C,Q,j,le,ge){this.loggingService=q,this.bridgeService=T,this.endpointFactory=H,this.gfnWebcamService=y,this.dialogService=X,this.webrtcService=c,this.red5PublisherService=g,this.appConfig=d,this.idmService=C,this.telemetryUtilService=Q,this.telemetryService=j,this.projectInterfaceService=le,this.networkStatusService=ge,this.clientIngestURL="",this.webCamSupport=x.ep,this.playtestPermissionsGranted=!1,this.validIngest=!1,this.id="",this.heartbeatSubscription=null,this.timerSource=void 0,this.micTested=!1,this.streamerSessionId="",this.vdkSessionId="",this.stop$=new O.B7,this.audioContext=null,this.audioSource=null,this.mediaStream=null,this.isPlaytestLive=!1,this.blockReconnect=!1,this.disablePostSessionTips=!1,this.disableFeedback=!1,this.disableUds=!1,this.audioAnalyzer=null,this.featureFlags={captureWebcam:!0,captureWebcamOptional:!1,captureMicrophone:!0,captureMicrophoneOptional:!1,captureGameplay:!0,captureInput:!0},this.logger=this.loggingService.getLogger("PlaytestLiveService"),this.vdkPlaytestConfig=this.appConfig.vdkPlaytestConfig,this.endPoint=this.createEndpoint(!0)}initialize(){var q;null!==(q=this.appConfig.featureEnablement)&&void 0!==q&&q.playtest&&(this.projectInterfaceService.streamingSessionSetupSuccess$.subscribe(T=>{this.logger.info("Received streaming streamingSessionSetupSuccess notification:",T),this.setStreamingSessionId(T.sessionId)},T=>{this.logger.error("Error while receiving streamingSessionSetupSuccess:",T)}),this.projectInterfaceService.streamingBegin$.subscribe(T=>{this.logger.info("Received streaming streamingBegin notification:",T),this.startPlaytestLive()},T=>{this.logger.error("Error while receiving streamingBegin:",T)}),this.projectInterfaceService.streamingEnd$.subscribe(T=>{this.logger.info("Received streaming streamingEnd notification:",T),this.stopPlaytestLive()},T=>{this.logger.error("Error while receiving streamingEnd:",T)}))}initiatePlaytestLive(q,T){var H;if(null!==(H=this.appConfig.featureEnablement)&&void 0!==H&&H.playtest)return this.logger.info("Initiating playtest"),this.streamerSessionId="",this.id=q,this.vdkSessionId=T,this.telemetryService.setEventsCommonData({integrationId:o.HJ.GFN_PLAYTEST},!1,!0),(E.zk.isBrowserPlatform()?(0,B.of)(!0):this.bridgeService.executeCommand(n.Ts.Gfn.Streaming.AuthorizeAVDevices,{mic:!0,camera:!0})).pipe((0,r.ZZ)(d=>d?this.idmService.getAuthToken(!1):(0,P.$)("AuthorizeAVDevices Error")),(0,r.ZZ)(d=>(null!=d&&d.token&&(this.authToken=d.token),this.getSessionInfo())),(0,r.ZZ)(d=>d?(this.featureFlags.captureWebcam=!this.playtestSession.featureFlags.includes("WEBCAM_DISABLED"),this.featureFlags.captureWebcamOptional=this.playtestSession.featureFlags.includes("WEBCAM_OPTIONAL"),this.featureFlags.captureMicrophone=!this.playtestSession.featureFlags.includes("MICROPHONE_DISABLED"),this.featureFlags.captureMicrophoneOptional=this.playtestSession.featureFlags.includes("MICROPHONE_OPTIONAL"),this.featureFlags.captureGameplay=!this.playtestSession.featureFlags.includes("RECORDING_DISABLED"),this.featureFlags.captureInput=!this.playtestSession.featureFlags.includes("INPUT_DISABLED"),this.featureFlags.captureWebcam||this.featureFlags.captureMicrophone||this.featureFlags.captureGameplay||this.featureFlags.captureInput?this.dialogService.openPlaytestLivePermissionHigDialog(this.playtestSession):(0,B.of)(!0)):this.dialogService.openPlaytestLiveErrorDialog()),(0,r.ZZ)(d=>d?this.featureFlags.captureWebcam?this.dialogService.openPlaytestLiveWebcamPreview(this.playtestSession):(0,B.of)(!0):(this.sendTelemetry(p._b3.SessionConsentDenied,p.YDY.Success),(0,P.$)("Permissions not granted"))),(0,r.ZZ)(d=>d?(this.gfnWebcamService.mediaSetup.webcamDevId.match("Disable")&&(this.featureFlags.captureWebcam=!1),this.featureFlags.captureMicrophone=this.featureFlags.captureWebcam,this.featureFlags.captureMicrophoneOptional=!1,this.featureFlags.captureMicrophone?this.dialogService.openPlaytestLiveMicrophonePreview(this.playtestSession):(0,B.of)(!0)):(this.sendTelemetry(p._b3.SessionConsentDenied,p.YDY.Success),(0,P.$)("Webcam permissions not granted"))),(0,r.ZZ)(d=>d?(this.logger.info("Permissions granted"),this.playtestPermissionsGranted=!0,(0,B.of)(!0)):(this.sendTelemetry(p._b3.SessionConsentDenied,p.YDY.Success),(0,P.$)("Launch Cancelled"))),(0,A.s)(1),(0,l.W)(d=>(this.logger.error("initiatePlaytestLive error:",d),(0,P.$)("initiatePlaytestLive Error"))))}startMic(q){var T;null!==(T=this.appConfig.featureEnablement)&&void 0!==T&&T.playtest&&(0,k.H)(navigator.mediaDevices.getUserMedia({audio:{deviceId:q,echoCancellation:!0}})).pipe((0,A.s)(1),(0,I.Q)(this.stop$),(0,S.M)(H=>H.getAudioTracks().some(y=>y.enabled&&"live"===y.readyState)?(0,B.of)(H):(0,P.$)("Microphone not ready"))).subscribe(H=>{this.mediaStream=H,this.audioContext=new AudioContext,this.audioAnalyzer=this.audioContext.createAnalyser(),this.audioSource=this.audioContext.createMediaStreamSource(this.mediaStream),this.audioAnalyzer.fftSize=x.JK,this.audioAnalyzer.minDecibels=x.AT,this.audioAnalyzer.maxDecibels=x.yd,this.audioAnalyzer.smoothingTimeConstant=x.e8,this.audioSource.connect(this.audioAnalyzer),this.logger.info("Starting mic")},H=>{this.logger.info("Error accessing microphone: ",H)})}stopMic(){var q,T;null!==(q=this.appConfig.featureEnablement)&&void 0!==q&&q.playtest&&(this.logger.info("Stopping mic"),this.audioSource&&this.audioAnalyzer&&this.audioSource.disconnect(this.audioAnalyzer),this.audioSource=null,this.audioAnalyzer=null,this.audioContext&&this.audioContext.close(),this.audioContext=null,this.mediaStream&&(null===(T=this.mediaStream.getTracks())||void 0===T||T.forEach(H=>{H.stop()})),this.mediaStream=null,this.stop$.next(!0),this.stop$.complete())}disableClientRecord(){var q;return(null===(q=this.appConfig.featureEnablement)||void 0===q?void 0:q.playtest)&&this.playtestPermissionsGranted}skipReconnect(){var q;const T=(null===(q=this.appConfig.featureEnablement)||void 0===q?void 0:q.playtest)&&this.networkStatusService.isOnline&&this.blockReconnect;return this.disablePostSessionTips=T,T}skipPostSessionTips(){var q;const T=(null===(q=this.appConfig.featureEnablement)||void 0===q?void 0:q.playtest)&&this.disablePostSessionTips;return this.disablePostSessionTips=!1,T}skipFeedback(){var q;const T=(null===(q=this.appConfig.featureEnablement)||void 0===q?void 0:q.playtest)&&this.disableFeedback;return this.disableFeedback=!1,T}skipUds(){var q;const T=(null===(q=this.appConfig.featureEnablement)||void 0===q?void 0:q.playtest)&&this.disableUds;return this.disableUds=!1,T}createEndpoint(q){return this.endpointFactory.createEndpoint({config:{timeout:this.vdkPlaytestConfig.defaultTimeout,timeBetweenRetries:this.vdkPlaytestConfig.defaultTimeBetweenRetries,maxRetries:q?1:3}})}ptmsHeartbeatPing(){const q=`${this.vdkPlaytestConfig.ptmsUrl}/v1/playtest/session/${this.playtestSession.sessionID}/heartbeat`;this.logger.verbose("Heartbeat API call"),this.endPoint.post(q,{headers:{Authorization:`Bearer ${this.authToken}`}}).pipe((0,A.s)(1)).subscribe(H=>{this.logger.verbose("Heartbeat ping success")},H=>{401===H.status?this.idmService.getAuthToken(!0).pipe((0,A.s)(1)).subscribe(y=>{this.logger.info("Heartbeat getAuthToken refreshed"),this.authToken=y.token,this.ptmsHeartbeatPing()}):this.logger.error("Heartbeat ping error: ",H)})}getIngestUrls(){return this.endPoint.post(`${this.vdkPlaytestConfig.ptmsUrl}/v1/playtest/session/${this.playtestSession.sessionID}/ingest`,{headers:{Authorization:`Bearer ${this.authToken}`}}).pipe((0,S.M)(H=>{this.validIngest=!0,this.startHeartbeatPing(),this.ingestDetails=Object.assign({},{ingest:H.ingest},{webcam:H.webcam},{streamProperties:H.streamProperties})},H=>{this.logger.error("Ingest url error: ",H),(0,P.$)("getIngestUrls Error")}))}getSessionInfo(){return this.endPoint.get(`${this.vdkPlaytestConfig.ptmsUrl}/v1/playtest/session/${this.vdkSessionId}`,{headers:{Authorization:`Bearer ${this.authToken}`}}).pipe((0,S.M)(H=>{this.playtestSession=H}),(0,l.W)(H=>(this.logger.error("getSessionInfo error: ",H),(0,B.of)(null))))}clientWebcamStart(){try{const q=this.clientIngestURL.lastIndexOf("/"),T=this.clientIngestURL.slice(q+1,this.clientIngestURL.length);if(this.webCamSupport===x.Z0)return this.logger.info("Standard WebRTC streaming started"),this.webrtcService.setUrlAndStreamName(this.clientIngestURL,T),this.webrtcService.mediaSetup.micDevId=this.gfnWebcamService.mediaSetup.micDevId,this.webrtcService.mediaSetup.webcamDevId=this.gfnWebcamService.mediaSetup.webcamDevId,void this.webrtcService.initSignalingConnection();this.webCamSupport===x.ep&&(this.featureFlags.captureMicrophone&&(this.red5PublisherService.mediaSetup.micDevId=this.gfnWebcamService.mediaSetup.micDevId),this.featureFlags.captureWebcam&&(this.red5PublisherService.mediaSetup.webcamDevId=this.gfnWebcamService.mediaSetup.webcamDevId),this.featureFlags.captureMicrophone||this.featureFlags.captureWebcam?(this.ingestDetails.webcam=Object.assign({},this.ingestDetails.webcam,{mediaConstraints:L.mediaConstraints,mediaElementId:void 0}),this.ingestDetails.webcam.mediaConstraints.audio.deviceId=this.gfnWebcamService.mediaSetup.micDevId,this.ingestDetails.webcam.mediaConstraints.video.deviceId=this.gfnWebcamService.mediaSetup.webcamDevId,this.ingestDetails.webcam.cameraWidth=L.cameraWidth,this.ingestDetails.webcam.cameraHeight=L.cameraHeight,this.ingestDetails.webcam.bandwidth=L.bandwidth,this.logger.info("Red5Pro startRed5RtcPublish"),this.red5PublisherService.startRed5RtcPublish(this.ingestDetails.webcam)):this.logger.info("Red5Pro startRed5RtcPublish skipped"))}catch{this.logger.info("clientWebcamStart error")}}clientWebcamStop(){try{"standardWebrtc"===this.webCamSupport?this.webrtcService.closeWebRtc():"red5ProPublisherSdk"===this.webCamSupport&&(this.featureFlags.captureMicrophone||this.featureFlags.captureWebcam?(this.logger.info("Red5Pro stopRed5RtcPublish"),this.red5PublisherService.stopRed5RtcPublish()):this.logger.info("Red5Pro stopRed5RtcPublish skipped"))}catch{this.logger.info("clientWebcamStop error")}}setStreamingSessionId(q){this.streamerSessionId=q}startPlaytestLive(){this.blockReconnect=!1,this.disableFeedback=!1,this.disableUds=!1,null!=this.playtestSession&&this.playtestPermissionsGranted&&this.getIngestUrls().pipe((0,A.s)(1)).subscribe(q=>{this.clientWebcamStart(),this.logger.info("Playtest started"),this.isPlaytestLive=!0,this.blockReconnect=!0,this.disableFeedback=!0,this.disableUds=!0,this.sendTelemetry(p._b3.SessionStart,p.YDY.Success)},q=>{var T;this.logger.info("Playtest broadcast connection error: ",q),this.clientWebcamStop(),this.ptmsStopIngest(),null===(T=this.heartbeatSubscription)||void 0===T||T.unsubscribe(),this.heartbeatSubscription=null,this.authToken=null,this.playtestSession=null,this.stopMic(),this.sendTelemetry(p._b3.SessionStart,p.YDY.Failure),this.telemetryService.setEventsCommonData({integrationId:i.oX.Undefined},!1,!0)})}ptmsStopIngest(){this.validIngest&&this.endPoint.delete(`${this.vdkPlaytestConfig.ptmsUrl}/v1/playtest/session/${this.playtestSession.sessionID}/ingest`,{headers:{Authorization:`Bearer ${this.authToken}`}}).subscribe(H=>{this.validIngest=!1},H=>{this.logger.error("Stop ingest error: ",H),401===H.status?this.idmService.getAuthToken(!0).pipe((0,A.s)(1)).subscribe(y=>{this.authToken=y.token,this.ptmsStopIngest()}):(0,P.$)("ptmsStopIngest Error")})}stopPlaytestLive(){var q;this.isPlaytestLive&&(this.logger.info("Playtest ended"),this.sendTelemetry(p._b3.SessionStop,p.YDY.Success,!0),this.clientWebcamStop(),this.ptmsStopIngest(),null===(q=this.heartbeatSubscription)||void 0===q||q.unsubscribe(),this.heartbeatSubscription=null,this.stopMic(),this.isPlaytestLive=!1,this.dialogService.openPlaytestLiveFeedbackHigDialog(this.playtestSession)),this.playtestPermissionsGranted=!1,this.authToken=null,this.playtestSession=null}startHeartbeatPing(){this.timerSource=(0,U.O)(1e3,x.VA),this.heartbeatSubscription=this.timerSource.subscribe(q=>{this.logger.verbose("HeartBeating every 60 seconds call "),this.ptmsHeartbeatPing()})}sendTelemetry(q,T,H=!1){var y=this;return(0,e.A)(function*(){try{var X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue;yield y.telemetryUtilService.sendPlaytesterSessionEvent(q,T,null!==(X=null===(c=y.playtestSession)||void 0===c?void 0:c.sessionID)&&void 0!==X?X:"",null!==(g=y.streamerSessionId)&&void 0!==g?g:"",null!==(d=null===(C=y.playtestSession)||void 0===C||null===(C=C.gameInfo)||void 0===C?void 0:C.gameDeveloper)&&void 0!==d?d:"",null!==(Q=null===(j=y.playtestSession)||void 0===j||null===(j=j.gameInfo)||void 0===j?void 0:j.gameName)&&void 0!==Q?Q:"",null!==(le=null===(ge=y.playtestSession)||void 0===ge||null===(ge=ge.gameInfo)||void 0===ge?void 0:ge.gameBuild)&&void 0!==le?le:"",null!==(ie=null===(ce=y.playtestSession)||void 0===ce||null===(ce=ce.gameInfo)||void 0===ce?void 0:ce.gameCMSID)&&void 0!==ie?ie:"",null!==(G=y.gfnWebcamService.mediaSetup.webcam)&&void 0!==G?G:"",null!==(ue=y.gfnWebcamService.mediaSetup.microphone)&&void 0!==ue?ue:"",y.micTested?p.O67.Yes:p.O67.No,"")}catch(ae){y.logger.error("Telemetry send failed",ae)}H&&y.telemetryService.setEventsCommonData({integrationId:i.oX.Undefined},!1,!0)})()}}return(Z=se).\u0275fac=function(q){return new(q||Z)(_.KVO(E.J6),_.KVO(E.NZ),_.KVO(f.t),_.KVO(J.y),_.KVO(a.o3),_.KVO(W),_.KVO(ee),_.KVO(b.Vk),_.KVO(p.k_2),_.KVO(p.jgD),_.KVO(i.H0),_.KVO(w.qQ),_.KVO(E.CF))},Z.\u0275prov=_.jDH({token:Z,factory:Z.\u0275fac,providedIn:"root"}),se})()},61389:(xe,de,t)=>{"use strict";t.d(de,{QF:()=>s,Vd:()=>M,Ms:()=>L,XO:()=>S,_V:()=>u});var e=t(33367),n=t(37543),E=t(85735),O=t(35146),B=t(56237),P=t(43848),k=t(75707),U=t(65706),r=t(58527),A=t(47766),l=t(21172),I=t(78812);let S=(()=>{var x;class p{constructor(o,_,f,J,a){this.pluginsNotificationService=_,this.bridgeService=f,this.dialogService=J,this.telemetryService=a,this.isPluginLoadStatusTelemetryTriggered=!1,this.telemetrySent$=new E.m(1),this.logger=o.getLogger("PluginsHandlerService")}initialize(){this.pluginsNotificationService.mandatoryPluginsLoaded$.subscribe(o=>{this.handlePluginLoadNotification(o.loaded,!0)}),this.pluginsNotificationService.optionalPluginsLoaded$.subscribe(o=>{this.handlePluginLoadNotification(o.loaded,!1,o.name)}),this.pluginsNotificationService.getPluginsLoadInfo$().subscribe(o=>{this.sendPluginLoadStatusTelemetry(o,!1,!1)})}handlePluginLoadNotification(o,_,f=null){if(o)return;_?this.logger.error("Mandatory plugin failed to load ",f):f?this.logger.error("Optional plugins failed to load ",f):this.logger.error("Multiple optional plugin failed to load");const J=this.pluginsNotificationService.getCurrentPluginsLoadinfo();this.sendPluginLoadStatusTelemetry(J,!0,_),this.telemetrySent$.asObservable().pipe((0,k.ZZ)(a=>this.dialogService.openPluginFailureDialog(_,f)),(0,U.s)(1)).subscribe(a=>{a&&_?this.QuitApp():a&&this.logger.info("Dialog closed for optional plugin failure")})}QuitApp(){this.bridgeService.executeCommand(e.Ts.Common.Windowcontrol.Close).pipe((0,U.s)(1)).subscribe()}sendPluginLoadStatusTelemetry(o,_,f){if(!this.isPluginLoadStatusTelemetryTriggered){var J;this.isPluginLoadStatusTelemetryTriggered=!0;const a=o.map(z=>({status:z.isLoaded?n.fbu.Success:n.fbu.Failure,pluginName:z.pluginName,loadDurationMs:z.loadDurationMs})),D=!(null===(J=o.find(z=>z.pluginName.toLowerCase()===n.Msi.SystemInfo.toLowerCase()))||void 0===J||!J.isLoaded),te={immediateRequest:f,anonymize:!D},N=new n.mGP({plugins:[],isErrorDialogShown:_});(0,O.yU)(this.telemetryService.getDefaultClientConsentObserable(),(0,B.T)(()=>D,this.telemetryService.getCommonDataObservable(),(0,P.of)(!0))).subscribe(z=>{a.forEach((R,v)=>{if(f&&v+1===a.length&&(te.afterDone=()=>{this.telemetrySent$.next(!0)}),R.status!==n.fbu.Success){const h=new n.mGP({plugins:[R],isErrorDialogShown:_});this.telemetryService.push(h,null,te)}else N.parameters.plugins.push(R)}),N.parameters.plugins.length&&this.telemetryService.push(N,null,te)})}}}return(x=p).\u0275fac=function(o){return new(o||x)(r.KVO(A.J6),r.KVO(l.P),r.KVO(A.NZ),r.KVO(n.o3x),r.KVO(I.H0))},x.\u0275prov=r.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})();var L=function(x){return x.SystemInfo="SystemInfo",x.MessageBusRouter="MessageBusRouter",x.BackgroundProcess="BackgroundProcess",x.BackgroundAgent="BackgroundAgent",x.Gallery="Gallery",x.NetworkTest="NetworkTest",x.NvCamera="NvCamera",x.ShareServer="ShareServer",x}(L||{});const s=[L.SystemInfo,L.MessageBusRouter,L.BackgroundAgent,L.BackgroundProcess],M=[L.Gallery,L.NetworkTest,L.NvCamera,L.ShareServer],u=6e4},84422:(xe,de,t)=>{"use strict";t.d(de,{hL:()=>H,bj:()=>n.bj,Ab:()=>n.Ab,xL:()=>n.xL,Pi:()=>X,AZ:()=>n.AZ,MP:()=>n.MP,NQ:()=>n.NQ,bz:()=>n.bz}),t(14279);var n=t(1646),E=t(31315),O=t(43848),B=t(65706),P=t(8619),k=t(72147),U=t(83915),r=t(14714),A=t(26875),l=t(47766),I=t(18433),S=t(76449),L=t(58527),s=t(61142),M=t(11346),u=t(61958),x=t(70521),p=t(78812),i=t(43117);let o=(()=>{var c;class g{constructor(C,Q,j,le,ge){this.serviceWorkerService=Q,this.telemetryService=j,this.configuration=le,this.refreshUiService=ge,this.logger=C.getLogger("PushNotificationTelemetryService"),this.serviceWorkerService.swPushNotificationTelemetryListener.subscribe(this.onNewTelemetryEvent.bind(this))}sendTokenRegisteredSuccessTelemetry(C){this.fetchFirebaseProjectID().pipe((0,B.s)(1)).subscribe(Q=>{this.logger.info("sending Token Registered Success Telemetry"),this.telemetryService.push(this.createPushNotificationTokenRegisteredDef(C,Q))},Q=>{this.logger.info("Error while fetching firebase Project Id",Q),this.telemetryService.push(this.createPushNotificationTokenRegisteredDef(C))})}sendPushNotificationFailureTelemetry(C,Q){this.fetchFirebaseProjectID().pipe((0,B.s)(1)).subscribe(j=>{this.logger.info("sending Token Failure Telemetry"),this.telemetryService.push(this.createPushNotificationErrorDef(C,Q,j))},j=>{this.logger.info("Error while fetching firebase Project Id",j),this.telemetryService.push(this.createPushNotificationErrorDef(C,Q))})}sendPushNotificationCleanUpTelemetry(C){this.fetchFirebaseProjectID().pipe((0,B.s)(1)).subscribe(Q=>{this.logger.info("sending KV Store CleanUp Telemetry"),this.telemetryService.push(this.createPushNotificationPurgedEntriesDef(C,Q))},Q=>{this.logger.info("Error while fetching firebase Project Id",Q),this.telemetryService.push(this.createPushNotificationPurgedEntriesDef(C))})}fetchFirebaseProjectID(){var C;return this.firebaseProjectId=null===(C=this.configuration)||void 0===C||null===(C=C.firebase)||void 0===C||null===(C=C.pns)||void 0===C?void 0:C.projectId,(0,O.of)(this.firebaseProjectId)}onNewTelemetryEvent(C){if(this.logger.info("Telemetry message recieved from SW",C),(null==C?void 0:C.type)===x.oY.PushNotificationTelemetry&&null!=C&&C.content){const we=JSON.parse(null==C?void 0:C.content);if(this.logger.info("Telemetry Message Type is: ",null==we?void 0:we.type),(null==we?void 0:we.type)===x._F.PushNotificationReceived){var Q,j,le,ge,ie,ce,G,ue,ae,Ce;const ve=new I.U1f({requestId:null!==(Q=null==we||null===(j=we.data)||void 0===j?void 0:j.requestId)&&void 0!==Q?Q:"",projectId:null!==(le=null==we||null===(ge=we.data)||void 0===ge?void 0:ge.projectId)&&void 0!==le?le:"",sentTs:null!==(ie=null==we||null===(ce=we.data)||void 0===ce?void 0:ce.sentTs)&&void 0!==ie?ie:0,ttl:null!==(G=null==we||null===(ue=we.data)||void 0===ue?void 0:ue.ttl)&&void 0!==G?G:0,type:null!==(ae=null==we||null===(Ce=we.data)||void 0===Ce?void 0:Ce.type)&&void 0!==ae?ae:I.RgL.UNKNOWN});this.telemetryService.push(ve)}else if((null==we?void 0:we.type)===x._F.PushNotificationError){var Se,Ne;this.sendPushNotificationFailureTelemetry(null==we||null===(Se=we.data)||void 0===Se?void 0:Se.errorDetails,null==we||null===(Ne=we.data)||void 0===Ne?void 0:Ne.errorCategory)}}}createPushNotificationErrorDef(C,Q,j){return new I.Xci({errorDetails:null!=C?C:"",errorCategory:null!=Q?Q:I.mUs.GENERAL,projectId:null!=j?j:""})}createPushNotificationTokenRegisteredDef(C,Q){return new I.uXT({registrationProvider:C,projectId:null!=Q?Q:""})}createPushNotificationPurgedEntriesDef(C,Q){return new I.YRL({deviceIds:C,projectId:null!=Q?Q:""})}}return(c=g).\u0275fac=function(C){return new(C||c)(L.KVO(l.J6),L.KVO(x.lS),L.KVO(p.H0),L.KVO(u.Vk),L.KVO(i.F4))},c.\u0275prov=L.jDH({token:c,factory:c.\u0275fac,providedIn:"root"}),g})();var _=t(34178),f=t(17716),J=t(66348);let te=(()=>{var c;class g{constructor(C,Q,j,le,ge,ie,ce,G,ue,ae){this.datePipe=Q,this.idmService=j,this.systemInfoService=le,this.configuration=ge,this.distributedTracingUtilService=ie,this.pushNotificationTelemetryService=ce,this.clientHeadersService=G,this.pnsEndpointSdk=ue,this.sharedStorage=ae,this.browserProviderId=5,this.client="client_",this.uniqueClientsKey="client_unique_ids",this.dateFormat="yyyy-MM-dd HH:mm:ss +zzzz",this.logger=C.getLogger("PushNotificationRegistationService"),this.commonHeaders$=this.clientHeadersService.getCommonHeaders().pipe((0,B.s)(1))}registerDeviceForPns(C,Q){return this.idmService.accountStatusChanged.pipe((0,B.s)(1),(0,P.p)(j=>j.isAuthenticated),(0,k.n)(j=>(0,E.zV)([(0,O.of)(j),this.idmService.getAuthToken(!1),this.commonHeaders$,this.systemInfoService.getSystemInfo([l.Lu.DeviceId])])),(0,k.n)(([j,le,ge,ie])=>(this.commonHeaders=Object.assign({},{...ge,Authorization:`GFNJWT ${le.token}`}),this.cachedPnsData=Object.assign({},{fcmToken:C,authToken:le.token}),this.pnsEndpointSdk.pnsRegister({registrationToken:C,deviceId:ie.DeviceId},this.commonHeaders,Q))),(0,U.T)(j=>(this.logger.info("PNS registration response: ",j),this.pushNotificationTelemetryService.sendTokenRegisteredSuccessTelemetry(I.key.PNS),!0)),(0,r.W)(j=>{var le;return this.logger.error("Error registering device with PNS: ",j),this.pushNotificationTelemetryService.sendPushNotificationFailureTelemetry(JSON.stringify(null!==(le=null==j?void 0:j.status)&&void 0!==le?le:j),I.mUs.DEVICE_REGISTRATION),Q&&(this.distributedTracingUtilService.setSpanAttribute(Q,S.NS.ErrorDetails,"Error registering device with PNS"),this.distributedTracingUtilService.closeSpan(Q)),(0,O.of)(!1)}))}unregisterFromPns(C=!0){C&&(this.logger.info("Unregister from PNS on user logout."),this.callUnregister())}callUnregister(C){var Q;const j=this.distributedTracingUtilService.startSpan(S.pB.PnsUnregister);var ge,ie;this.commonHeaders=(0,A.merge)(this.commonHeaders,this.pnsEndpointSdk.getCommonHeaders()),null!==(Q=this.cachedPnsData)&&void 0!==Q&&Q.fcmToken||C?fetch(this.pnsEndpointSdk.generateUrl("unregister"),{method:"POST",body:JSON.stringify({previousRegistrationTokens:[null!==(ge=null===(ie=this.cachedPnsData)||void 0===ie?void 0:ie.fcmToken)&&void 0!==ge?ge:C]}),headers:this.commonHeaders,keepalive:!0}).then(ce=>{this.distributedTracingUtilService.closeSpan(j),this.logger.info("Unregister Fetch api call response: ",ce.status),204===ce.status&&this.sharedStorage.removeBlock("pnsFcmToken").subscribe()}).catch(ce=>{this.distributedTracingUtilService.setSpanAttribute(j,S.NS.ErrorDetails,"Error unregistering device from PNS"),this.distributedTracingUtilService.closeSpan(j),this.logger.error("Unregister Fetch api call failed: ",ce)}):this.logger.error("FCM token was not found, not calling unregister api")}}return(c=g).\u0275fac=function(C){return new(C||c)(L.KVO(l.J6),L.KVO(s.vh),L.KVO(M.k_),L.KVO(l.zW),L.KVO(u.Vk),L.KVO(S.Z1),L.KVO(o),L.KVO(_.y1),L.KVO(f.Rc),L.KVO(J.yQ))},c.\u0275prov=L.jDH({token:c,factory:c.\u0275fac,providedIn:"root"}),g})();var N=t(85735),z=t(15652),R=t(55833),v=t(73180),h=t(75707),W=t(43615),ne=t(91384),ee=t(26814),b=t(37543),w=t(46356),F=t(65597),Z=t(65240),se=t(50801),Y=t(66974),q=t(35077),T=t(19061);let H=(()=>{var c;class g{constructor(C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe){this.configuration=Q,this.idmService=j,this.serviceWorkerService=le,this.experienceControl=ge,this.localeService=ie,this.snackbar=ce,this.translateService=G,this.projectInterfaceService=ue,this.guestModeHelperService=ae,this.distributedTracingUtilService=Ce,this.pushNotificationRegistationService=Se,this.sharedStorageService=Ne,this.appConfig=we,this.bannerNotificationService=ve,this.offDeviceLinkService=Pe,this.throttleTime=2e4,this.snackBarDuration=7e3,this.permissionRequestTracker=new N.m(1),this.permissionToastDismissTracker=new N.m(1),this.logger=C.getLogger("BrowserPushNotificationService"),this.firebaseStatusToSpanName=new Map}init(){this.pushNotificationConfiguration$=this.fetchPushNotificationConfig().pipe((0,R.t)(1)),this.projectInterfaceService.setNotificationAllowedCallBack(this.isNotificationAllowed.bind(this)),this.registerDeviceForPushNotifications().subscribe(C=>{C?this.logger.info("Device Registration is Sucessful"):this.logger.error("Error while Registering the Device")}),this.initializePushNotifications().subscribe(C=>{C&&this.logger.info("Push Notification is Sucessfully initiated for permission = granted users")}),this.initializePushNotificationKBAUrl(),this.listenToTracingEventsFromServiceWorker(),this.unregisterFromPnsOnUserLogout(),this.checkPushNotificationAndAddBanner()}get pushNotificationKBAUrl(){return this.pushNotificationUrl}requestPermissionForPushNotification(){this.setPermissionRequested(),Notification.requestPermission().then(C=>{C===n.NQ.Granted?(this.logger.info("Browser Push Notification Permissions are Success"),this.showSuccessMessage(),this.initialize().subscribe(Q=>{this.logger.info("Push Notification initialization is Success",Q)})):C===n.NQ.Denied?(this.logger.info("Browser Push Notification Permissions are denied"),this.showSnackBarWithKBA()):this.logger.info(C===n.NQ.Default?"User has closed the Dialog without granting / denying the permissions":"Something unexpected happened, please check further logs")})}initialize(){return this.logger.info("initialize() is called"),this.isNotificationSupported()&&!this.registrationInProgress?(this.registrationInProgress=!0,(0,E.zV)([this.pushNotificationConfiguration$,this.idmService.accountStatusChanged]).pipe((0,v.c)(this.throttleTime),(0,h.ZZ)(([C,Q])=>{if(C&&Q.isAuthenticated){var j;this.parentSpan=this.distributedTracingUtilService.startSpan(S.pB.PushNotificationRegistration);const le=JSON.stringify(null===(j=this.configuration)||void 0===j||null===(j=j.firebase)||void 0===j?void 0:j.pns);return this.logger.info("Push Notification Settings are fetched; Sending Push Notification Settings to SW: ",le),this.serviceWorkerService.postMessageSw({type:x.oY.PushNotification,content:le}),this.registrationInProgress=!1,(0,O.of)(!0)}return this.logger.info("Push Notifications are not Supported for logged out users"),this.registrationInProgress=!1,(0,O.of)(!1)}))):(this.logger.info("Push Notifications are not Supported"),(0,O.of)(!1))}setPermissionToastDismissed(){this.permissionToastDismissTracker.next(!1)}setPermissionRequested(){this.permissionRequestTracker.next(!0)}willBeEnabledOnStreamStart(){return this.isNotificationAllowed().pipe((0,h.ZZ)(C=>C&&Notification.permission!==n.NQ.Granted&&Notification.permission!==n.NQ.Denied?(0,z.O4)(this.permissionRequestTracker.asObservable(),this.permissionToastDismissTracker.asObservable()).pipe((0,B.s)(1),(0,W.j)(()=>{this.permissionRequestTracker.complete(),this.permissionRequestTracker=new N.m(1),this.permissionToastDismissTracker.complete(),this.permissionToastDismissTracker=new N.m(1)})):(0,O.of)(!1)))}checkPushNotificationAndAddBanner(){this.isNotificationAllowed().pipe((0,h.ZZ)(C=>(this.logger.info("Notification Banner is allowed to show: ",C),C?this.showPushNotificationBanner():(0,O.of)(!1)))).subscribe(C=>{this.logger.info("Notification Banner is shown: ",C)},C=>{this.logger.error("Error occured while checking for Push Notification Banner",C)})}showPushNotificationBanner(){return this.sharedStorageService.readBlock(n.O7).pipe((0,U.T)(C=>{if(this.isNotificationSupported()&&Notification.permission!==n.NQ.Granted&&(!C.appVersion||!C.isPromptDismissed||(0,b.ZZv)(C.appVersion,this.appConfig.build.branch)&&(0,b.yLo)(C.timeLastShown,7))){this.logger.info("Showing Browser Push Notification Permission Prompt"),this.logger.info("Notification.permission from Notification API ",Notification.permission);const Q=Notification.permission===n.NQ.Denied,j=Q?n.Sz:n._x;return j.onPrimaryButtonClick=Q?this.onClickLearnMore.bind(this):this.onClickAllowNotification.bind(this),j.onSecondaryButtonClick=this.persistPushNotificationPromptState.bind(this),this.bannerNotificationService.addNotificationToQueue(j),!0}return this.bannerNotificationService.removeNotificationFromQueue(b.$94.BrowserPushNotification),!1}))}onClickLearnMore(){this.persistPushNotificationPromptState(),this.offDeviceLinkService.open(this.pushNotificationKBAUrl,{shortUrl:b.lph[b.r7g.GfnPcBrowserPushNotification]})}onClickAllowNotification(){this.persistPushNotificationPromptState(),this.requestPermissionForPushNotification()}persistPushNotificationPromptState(){this.sharedStorageService.writeBlock(n.O7,{appVersion:this.appConfig.build.version,isPromptDismissed:!0,timeLastShown:Date.now()}).pipe((0,B.s)(1)).subscribe(()=>this.logger.info("persist Push Notification Prompt State is success"),C=>this.logger.error("Error while writing to shared storage for browserPushNotification",C))}showSuccessMessage(){this.translateService.get("notification.notificationSuccessMessage").pipe((0,B.s)(1)).subscribe(Q=>this.snackbar.open(Q,"",{duration:this.snackBarDuration,horizontalPosition:"left",panelClass:["nv-hig"]}),Q=>{this.logger.info("Error getting the toast message",Q)})}showSnackBarWithKBA(){(0,E.zV)([this.translateService.get("common.learnMore"),this.translateService.get("notification.notificationBlockMessage")]).pipe((0,U.T)(([j,le])=>{this.snackbar.open(le,j,{duration:this.snackBarDuration,horizontalPosition:"left",panelClass:["nv-hig"]}).onAction().subscribe(ge=>window.open(this.pushNotificationKBAUrl))})).subscribe(()=>this.logger.info("show Snack Bar With KBA is success"),j=>this.logger.error("Error while showing snackbar wirh KBAs",j))}initializePushNotificationKBAUrl(){const C=this.configuration.redirect.serverUrl,Q=b.niw.GFN_PC_BROWSER_PUSH_NOTIFICATION;this.localeService.localeChanged.subscribe(j=>{this.pushNotificationUrl=`${C}${j}&page=${Q}`},j=>{this.logger.error("Some error occured while fetching locale for push Notification KBAUrl",j)})}initializePushNotifications(){if(this.logger.info("Initialising Push Notifications on Refresh"),this.isNotificationSupported()){if(Notification.permission===n.NQ.Granted)return this.logger.info("Permission is granted"),this.initialize();Notification.permission===n.NQ.Denied?this.logger.info("Permission is denied"):Notification.permission===n.NQ.Default&&this.logger.info("Permission is set to default")}return(0,O.of)(!1)}isNotificationAllowed(){return!this.isNotificationSupported()||this.guestModeHelperService.isGuestMode?(0,O.of)(!1):this.pushNotificationConfiguration$.pipe((0,B.s)(1))}registerDeviceForPushNotifications(){return this.serviceWorkerService.swPushNotificationListener.pipe((0,h.ZZ)(C=>(null==C?void 0:C.type)===x.oY.PushNotification?(this.registrationInProgress=!0,this.logger.info("message recieved from Service Worker, updating the KV Store",null==C?void 0:C.content),this.pushNotificationRegistationService.registerDeviceForPns(C.content,this.parentSpan)):(0,O.of)(!1)),(0,h.ZZ)(C=>C?(this.logger.info("PNS registration response: ",C),this.registrationInProgress=!1,this.parentSpan&&(this.distributedTracingUtilService.setSpanAttribute(this.parentSpan,S.NS.Error,!1),this.distributedTracingUtilService.closeSpan(this.parentSpan)),(0,O.of)(!0)):(0,O.of)(!1)),(0,r.W)(C=>(this.logger.error("Error registering device with PNS: ",C),this.registrationInProgress=!1,(0,O.of)(!1))))}unregisterFromPnsOnUserLogout(){this.idmService.sameTabAuthStarted().pipe((0,ne.M)(C=>{C===w.l4.LogoutStarted&&this.pushNotificationRegistationService.unregisterFromPns()})).subscribe()}listenToTracingEventsFromServiceWorker(){this.serviceWorkerService.swPushNotificationTracingListener.pipe((0,U.T)(C=>{if((null==C?void 0:C.type)===x.oY.PushNotificationTracing){this.logger.info("message recieved from Service Worker, updating open traceing flow",null==C?void 0:C.content);const Q=JSON.parse(null==C?void 0:C.content);if(null!=Q&&Q.start){const j=this.distributedTracingUtilService.startSpan(Q.spanName,this.parentSpan);this.firebaseStatusToSpanName.set(Q.spanName,j)}else{const j=this.firebaseStatusToSpanName.get(Q.spanName);j&&(this.logger.info("Closing the Span. Span is open for ",Q.spanName),this.distributedTracingUtilService.setSpanAttribute(j,S.NS.Error,Q.error),this.distributedTracingUtilService.closeSpan(j),Q.error&&(this.logger.info("Error is received with Close Span Event"),this.distributedTracingUtilService.setSpanAttribute(this.parentSpan,S.NS.ErrorDetails,"Unexpected Error with FCM"),this.distributedTracingUtilService.closeSpan(this.parentSpan)))}return!0}return!1}),(0,r.W)(C=>(this.logger.error("Some error occured while listening to Span Events from SW",C),this.parentSpan&&(this.distributedTracingUtilService.setSpanAttribute(this.parentSpan,S.NS.ErrorDetails,"Error while listening to Child Span Events from SW"),this.distributedTracingUtilService.closeSpan(this.parentSpan)),(0,O.of)(!1)))).subscribe(C=>{C?this.logger.info("Child Span is received from SW"):this.logger.error("Error while updating Firebase Spans from SW")})}isNotificationSupported(){return l.zk.isBrowserPlatform()&&"Notification"in window}fetchPushNotificationConfig(){return this.experienceControl.getCloudVariable(this.configuration.gxTarget.experiences.enableBrowserPushNotification,{},{useCache:!1},ee.Ky.GxTargetGetCloudVariable,ee.Id.GxTargetGetKBLayoutsConfig).pipe((0,U.T)(C=>C.value.enableBrowserPushNotifications),(0,r.W)(C=>(this.logger.error("Failed to resolve gx-target cloud variable:",C),(0,O.of)(!1))))}}return(c=g).\u0275fac=function(C){return new(C||c)(L.KVO(l.J6),L.KVO(u.Vk),L.KVO(M.k_),L.KVO(x.lS),L.KVO(ee.BW),L.KVO(l.iH),L.KVO(F.UG),L.KVO(Z.c$),L.KVO(se.qQ),L.KVO(Y.x),L.KVO(S.Z1),L.KVO(te),L.KVO(J.yQ),L.KVO(u.Vk),L.KVO(q.Hm),L.KVO(T.nO))},c.\u0275prov=L.jDH({token:c,factory:c.\u0275fac,providedIn:"root"}),g})();var y=t(33367);let X=(()=>{var c;class g{constructor(C,Q,j,le,ge,ie){this.translateService=Q,this.localeService=j,this.bridgeService=le,this.guestModeHelperService=ge,this.audioPlayService=ie,this.logger=C.getLogger("BrowserNotificationUiService")}show(C){if(!this.guestModeHelperService.isGuestMode&&l.zk.isBrowserPlatform()){this.logger.verbose("inside show method");const Q=this.getTitleAndBodyMessage(C),j={title:Q.title,body:Q.body,language:this.localeService.getLocale(),direction:this.localeService.isRTLLocale(this.localeService.getLocale())?"rtl":"ltr",tag:C.notificationId,silent:!0};this.bridgeService.executeCommand(y.Ts.Common.Clientnotification.ShowClientNotifications,j).subscribe(le=>{if(le===y.Or.Common.Clientnotification.InternalErrorCodeEnum.Success){this.logger.info("Notifications are sent to Framework");const ge=C.notificationType;(ge===b.bzs.RigIsReady||ge===b.bzs.CountdownTimerBegins)&&this.audioPlayService.playAudio(b.OjG.RigReadyAndStreamerIdleTimeout.type,ge)}else this.logger.info("Notifications are not sent. Result is ",le)})}}deleteNotification(C){l.zk.isBrowserPlatform()&&this.bridgeService.executeCommand(y.Ts.Common.Clientnotification.DeleteNotification,{uniqueId:C}).subscribe(Q=>{Q===y.Or.Common.Clientnotification.InternalErrorCodeEnum.Success?this.logger.info("Notifications is deleted from Notification Center"):this.logger.info("Notifications clear request is not executed. Result is",Q)})}clearNotificationsQueue(){l.zk.isBrowserPlatform()&&this.bridgeService.executeCommand(y.Ts.Common.Clientnotification.ClearNotificationsQueue,{clear:!0}).subscribe(C=>{C===y.Or.Common.Clientnotification.InternalErrorCodeEnum.Success?this.logger.info("Notification Centre is cleared"):this.logger.info("Notifications Centre clear request is not executed. Result is ",C)})}getTitleAndBodyMessage(C){const Q=b.xLz.get(C.notificationType);let j="";return j=C.notificationType===b.bzs.CountdownTimerBegins?this.translateService.instant(Q.title,{timeLeft:C.countdownTime}):this.translateService.instant(Q.title),{title:j,body:this.translateService.instant(Q.body)}}}return(c=g).\u0275fac=function(C){return new(C||c)(L.KVO(l.J6),L.KVO(Z.c$),L.KVO(l.iH),L.KVO(l.NZ),L.KVO(Y.x),L.KVO(l.aP))},c.\u0275prov=L.jDH({token:c,factory:c.\u0275fac,providedIn:"root"}),g})()},14279:(xe,de,t)=>{"use strict";t.d(de,{T:()=>S});var e=t(80583),n=t(85830),E=t(1646),O=t(81834),B=t(76449),P=t(83915),k=t(75707),U=t(33367),r=t(58527),A=t(47766),l=t(6687),I=t(61958);let S=(()=>{var L;class s{constructor(u,x,p,i,o){this.ipcService=x,this.bridgeService=p,this.distributedTracingUtilService=i,this.appConfig=o,this.messageTypeObservableMap=new Map,this.routePushNotification=_=>{_&&_.messageType?this.messageTypeObservableMap[_.messageType]&&this.messageTypeObservableMap[_.messageType].forEach(f=>{this.logger.info("routing push notification for ",_.messageType),this.logger.trace(O.N_.PushNotification,"Received push notification for",E.MP[_.messageType]),f.next(_)}):this.logger.error("Invalid content received: ",_)},this.logger=u.getLogger("PushNotificationService"),this.subscribeForPushMessages()}subscribeForPushMessages(){let u;switch(this.appConfig.client.pushMessageSource){case E.jB.IPC:u=this.ipcService.get$(n.kN.PushNotification).pipe((0,P.T)(x=>[x]));break;case E.jB.NativeCallback:u=this.bridgeService.executeCommand(U.Ts.Common.Backgroundagent.OnPushMessage).pipe((0,k.ZZ)(x=>this.bridgeService.executeCommand(U.Ts.Common.Backgroundagent.PopAllMessages)),(0,P.T)(x=>x.messages.map(p=>p.content)));break;default:return void this.logger.error("Unsupported push message source. Ignoring message")}u.subscribe(x=>{x.forEach(p=>{this.handlePushMessage(p)})})}handlePushMessage(u){try{const p=JSON.parse(u).data;p||this.logger.error("Push notification data received is: ",p);const i={messageType:JSON.parse(null==p?void 0:p.messageType)},o={};if(null!=p&&p.requestMetaData){var x;const f=JSON.parse(p.requestMetaData);null==f||null===(x=f.traceContext)||void 0===x||x.forEach(J=>{o[J.key]=J.value})}const _=this.distributedTracingUtilService.startSpanUsingContext(B.pB.PushMessageReceived,o);this.distributedTracingUtilService.setSpanAttributes(_,{[B.NS.PushMessageType]:null==i?void 0:i.messageType}),this.distributedTracingUtilService.closeSpan(_),null!=p&&p.regionIdType&&(i.regionIdType=JSON.parse(p.regionIdType)),null!=p&&p.regionIds&&(i.regionIds=JSON.parse(p.regionIds)),null!=p&&p.changeIdType&&(i.changeIdType=JSON.parse(p.changeIdType)),null!=p&&p.changedIds&&(i.changedIds=JSON.parse(p.changedIds)),null!=p&&p.sessionInfo&&(i.sessionInfo=JSON.parse(p.sessionInfo)),null!=p&&p.patchingInfo&&(i.patchingInfo=JSON.parse(p.patchingInfo)),null!=p&&p.accountLinkedInfo&&(i.accountLinkedInfo=JSON.parse(p.accountLinkedInfo)),null!=p&&p.campaignInfo&&(i.campaignInfo=JSON.parse(p.campaignInfo)),null!=p&&p.platformSyncInfo&&(i.platformSyncInfo=JSON.parse(p.platformSyncInfo)),this.routePushNotification(i)}catch(p){this.logger.error("Error while parsing push notification",p)}}registerPushNotification(u){this.logger.info("registerPushNotification map: ",u),this.messageTypeObservableMap[u]||(this.messageTypeObservableMap[u]=[]);const x=new e.B7;return this.messageTypeObservableMap[u].push(x),x.asObservable()}}return(L=s).\u0275fac=function(u){return new(u||L)(r.KVO(A.J6),r.KVO(l.Uj),r.KVO(A.NZ),r.KVO(B.Z1),r.KVO(I.Vk))},L.\u0275prov=r.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})()},1646:(xe,de,t)=>{"use strict";t.d(de,{AZ:()=>r,Ab:()=>I,MP:()=>k,NQ:()=>B,O7:()=>n,Sz:()=>O,Wq:()=>l,_x:()=>E,bj:()=>A,bz:()=>P,jB:()=>s,xL:()=>S});var e=t(90116);const n="browserPushNotification",E={notificationType:e.$9.BrowserPushNotification,icon:"notifications",messageStr:{key:"notification.browserPushNotificationMessage"},secondaryButtonText:"common.notNow",primaryButtonText:"notification.notifyMe"},O={...E,secondaryButtonText:"common.learnMore"};var B=function(M){return M.Granted="granted",M.Denied="denied",M.Default="default",M}(B||{}),P=function(M){return M.RigIsReady="RigIsReady",M.CountdownTimerBegins="CountdownTimerBegins",M.GracePeriodStart="GracePeriodStart",M}(P||{}),k=function(M){return M.UNKNOWN="UNKNOWN",M.SESSION_CHANGE="SESSION_CHANGE",M.APP_CHANGE="APP_CHANGE",M.PRODUCT_CHANGE="PRODUCT_CHANGE",M.SUBSCRIPTION_CHANGE="SUBSCRIPTION_CHANGE",M.ASSET_CHANGE="ASSET_CHANGE",M.GSWS_SYNC="GSWS_SYNC",M.SERVER_INFO_SYNC="SERVER_INFO_SYNC",M.CONFIGURATION_CHANGE="CONFIGURATION_CHANGE",M.LAYOUT_CHANGE="LAYOUT_CHANGE",M.SECTION_CHANGE="SECTION_CHANGE",M.LINKEDACCOUNT_CHANGE="LINKEDACCOUNT_CHANGE",M.PATCHING_EVENT="PATCHING_EVENT",M.LIBRARY_CHANGE="LIBRARY_CHANGE",M.KV_STORE_CHANGE="KV_STORE_CHANGE",M.PLATFORM_SYNC_CHANGE="PLATFORM_SYNC_CHANGE",M.CAMPAIGN_CHANGE="CAMPAIGN_CHANGE",M.FAVORITES_CHANGE="FAVORITES_CHANGE",M}(k||{}),r=function(M){return M.UNKNOWN="UNKNOWN",M.SERVER_MAINTENANCE_STARTED="SERVER_MAINTENANCE_STARTED",M.SERVE_MAINTENANCE_COMPLETED="SERVE_MAINTENANCE_COMPLETED",M.PATCHING_STARTED="PATCHING_STARTED",M.PATCHING_COMPLETED="PATCHING_COMPLETED",M}(r||{}),A=function(M){return M.UNKNOWN="UNKNOWN",M.CAMPAIGN_SCHEDULED="CAMPAIGN_SCHEDULED",M.CAMPAIGN_START="CAMPAIGN_START",M.CAMPAIGN_COMPLETE="CAMPAIGN_COMPLETE",M.CAMPAIGN_CANCELED="CAMPAIGN_CANCELED",M}(A||{}),l=function(M){return M.REGION="REGION",M.VPC="VPC",M}(l||{}),I=function(M){return M.APPID="APPID",M.CMSID="CMSID",M.PANEL="PANEL",M}(I||{});const S=new Map([[P.CountdownTimerBegins,{title:"notification.CountdownTimerBegins",body:"notification.body"}],[P.RigIsReady,{title:"notification.RigIsReady",body:"notification.body"}],[P.GracePeriodStart,{title:"notification.opportunity.queuePaused",body:"notification.opportunity.stayInQueue"}]]);var s=function(M){return M.IPC="ipc",M.NativeCallback="nativeCallback",M}(s||{})},17901:(xe,de,t)=>{"use strict";t.d(de,{eE:()=>p,SL:()=>u});var e=t(47766),n=t(43848),E=t(35146),O=t(8619),B=t(83915),P=t(34593),k=t(53461),U=t(55833),r=t(75707),A=t(10174),l=function(i){return i.CacheName="offlineStore",i.DBKey="hitOfflineState",i}(l||{}),L=t(58527),s=t(76706);const M=i=>`(display-mode: ${i})`;let u=(()=>{var i;class o{constructor(f,J,a,D){this.dbService=J,this.dbCacheService=a,this.breakpointObserver=D,this.logger=f.getLogger("gfn-shared/PWAService"),this.isInPWAMode$=void 0!==window.navigator.standalone?(0,n.of)(window.navigator.standalone):(0,E.yU)(D.observe(M("standalone")),D.observe(M("browser"))).pipe((0,O.p)(([te,N])=>te.matches||N.matches),(0,B.T)(([te,N])=>te.matches||this.isInPWAMode()),(0,P.Z)(this.isInPWAMode()),(0,k.F)(),(0,U.t)({bufferSize:1,refCount:!0}))}isInPWAMode(){return window.navigator.standalone||e.zk.isPWAModeOnLGTV()||e.zk.isPWAModeOnSamsungTV()||this.breakpointObserver.isMatched(M("standalone"))}get onPWAModeChange(){return this.isInPWAMode$}initialize(){this.logger.info("initialising Offline Datastore"),this.dbCacheService.getOrCreateCachedGlobalItem(l.CacheName,l.DBKey).sync_().subscribe()}checkForOfflineLaunch(){return this.dbService.getGlobalStore(l.CacheName).length().pipe((0,r.ZZ)(f=>f>0?(this.logger.info("offlineStoreValue is present in database"),this.dbService.getGlobalStore(l.CacheName).clear().pipe((0,A.u)(!0))):(this.logger.info("offlineStoreValue is not present in database"),(0,n.of)(!1))))}}return(i=o).\u0275fac=function(f){return new(f||i)(L.KVO(e.J6),L.KVO(e.at),L.KVO(e.sc),L.KVO(s.QP))},i.\u0275prov=L.jDH({token:i,factory:i.\u0275fac,providedIn:"root"}),o})();var x=t(85735);let p=(()=>{var i;class o{constructor(f){this.pwaInstallPromptEvent=null,this.pwaInstallPromptCaptured=new x.m(1),this.logger=f.getLogger("gfn-shared/PWAPromptService")}get pwaInstallPromptCaptured$(){return this.pwaInstallPromptCaptured.asObservable()}setDeferredPromptEvent(f){this.pwaInstallPromptEvent=f,this.logger.info("PWA event captured",f),this.pwaInstallPromptCaptured.next()}promptFromDeferredEvent(){this.logger.info("PWA event requested"),this.pwaInstallPromptEvent?(this.pwaInstallPromptEvent.prompt(),this.pwaInstallPromptEvent=null):this.logger.info("No PWA beforeinstallprompt event was captured")}}return(i=o).\u0275fac=function(f){return new(f||i)(L.KVO(e.J6))},i.\u0275prov=L.jDH({token:i,factory:i.\u0275fac,providedIn:"root"}),o})()},36206:(xe,de,t)=>{"use strict";t.d(de,{Gl:()=>n.Gl,Q5:()=>e.Q,lp:()=>n.lp,r7:()=>n.r7});var e=t(27561),n=t(81732)},27561:(xe,de,t)=>{"use strict";t.d(de,{Q:()=>k});var e=t(65706),n=t(83915),E=t(81732),O=t(58527),B=t(47766),P=t(13090);let k=(()=>{var U;class r{constructor(l,I,S){this.localeService=I,this.offDeviceLinkService=S,this.logger=l.getLogger("gfn/RedirectService")}handleUnsupportedAndroidPlatform(){this.redirectTo(E.r7.GfnPcUnsupportedDeviceAndroid,{replace:!0})}handleUnsupportedBrowser(){this.redirectTo(E.r7.GfnPcUnsupportedDevice,{replace:!0,jso:{Plt:E.Gl.Browser}})}redirectTo(l,I){this.getRedirectUrl(l,null==I?void 0:I.jso).subscribe(S=>{this.logger.info("Redirecting to",S),null!=I&&I.replace?window.location.replace(S):window.location.href=S})}redirectToExternalUrl(l,I){null!=I&&I.replace?window.location.replace(l):window.location.href=l}getRedirectUrl(l,I){return this.localeService.localeChanged.pipe((0,e.s)(1)).pipe((0,n.T)(S=>{let L=`${E.r7.BaseUrl}${S}&page=${l}`;return I&&(L+=`&jso=${window.btoa(JSON.stringify(I))}`),L}))}openRedirectUrl(l,I,S){this.logger.info("Support Url clicked for: ",l,I);const L=I?{shortUrl:I}:void 0;this.getRedirectUrl(l,S).pipe((0,e.s)(1)).subscribe(s=>{this.offDeviceLinkService.open(s,L)})}}return(U=r).\u0275fac=function(l){return new(l||U)(O.KVO(B.J6),O.KVO(B.iH),O.KVO(P.n))},U.\u0275prov=O.jDH({token:U,factory:U.\u0275fac,providedIn:"root"}),r})()},81732:(xe,de,t)=>{"use strict";t.d(de,{Gl:()=>e,lp:()=>E,r7:()=>n});var e=function(O){return O.PC="pc",O.Mac="mac",O.Browser="browser",O}(e||{}),n=function(O){return O.BaseUrl="https://www.nvidia.com/content/drivers/redirect.asp?language=",O.NetworkTroubleshoot="gfn_pc_net_help",O.RecommendedRoutersProductPage="gfn_pc_recommended_routers_product_page",O.GfnPcInfo="gfn_pc_info",O.GfnPcHelp="gfn_pc_help",O.TermsConditions="gfn_pc_terms_of_use",O.AccountTerms="nvidia_account_tos",O.OssLicenses="gfn_pc_oss",O.PrivacyPolicy="privacy_policy",O.PrivacyCenter="privacy_portal",O.AccountManagement="nvidia_account_management",O.SysRequirements="gfn_pc_sys_req",O.UdpBufferTips="gfn_pc_net_help_udp_socket",O.GfnPcUnSupportedRegion="gfn_pc_unsupported_region",O.GfnPcUnsupportedDevice="gfn_pc_unsupported_device",O.GfnPcUnsupportedDeviceAndroid="gfn_pc_unsupported_device_android",O.GfnPcUnsupportedBrowser="gfn_pc_unsupported_browser",O.GfnPcNetHelpFirewall="gfn_pc_net_help_firewall",O.GfnPcNetHelpWifi="gfn_pc_net_help_wifi",O.GfnPcHelpUpdate="gfn_pc_help_update",O.GfnPcHelpMissingDecoder="gfn_pc_help_missing_decoder",O.GfnServerStatus="gfn_pc_status",O.GfnPcDirectMouseInputHelp="gfn_pc_direct_mouse_input_help",O.CookiePolicy="nvidia_cookie_policy",O.GfnPcRecommendedGamepads="gfn_pc_recommended_gamepads",O.GfnAccountManagementSSO="nvidia_account_management_default",O.GfnAccountManagement="nvidia_account_management_gfn",O.GfnPcMembershipJoin="gfn_pc_membership",O.GfnPcMembershipUpgrade="gfn_pc_membership_upgrade",O.GfnPcMembershipDayPass="gfn_pc_membership_daypass",O.GfnPcCheckoutDayPass="gfn_pc_checkout_daypass",O.GfnPcRedeemActivationCode="gfn_pc_redeem_activation_code",O.GfnPcHelpKeyboardGamesUnavailable="gfn_pc_help_keyboard_games_unavailable",O.GfnPcHelpTvGamepadOnly="gfn_pc_help_tv_gamepad_only",O.GfnPcWaitList="gfn_pc_waitlist",O.GfnPcAccountNotActivated="gfn_pc_account_not_activated",O.GfnPcKeyboardTroubleshooting="gfn_pc_keyboard_troubleshooting",O.GfnPcCustomProfileLearnMore="gfn_pc_custom_profile_learn_more",O.GfnPcResolutionProfileUpscalingLearnMore="gfn_pc_resolution_upscaling_learn_more",O.GfnPcHdrUnsupportedSystemsLearnMore="gfn_pc_hdr_unsupported_systems_learn_more",O.GfnPcUnsupportedResolutionsLearnMore="gfn_pc_unsupported_resolutions_learn_more",O.GfnPcUnsupportedReflexLearnMore="gfn_pc_unsupported_reflex_learn_more",O.GfnPcHelpConnections="gfn_pc_help_connections",O.GfnPcOpportunityBlockerLearnMore="gfn_pc_ad_blocker_learn_more",O.GdnHomePage="gdn_home_page",O.GdnInvalidDeeplink="gdn_invalid_deeplink",O.GfnPcUdsLearnMore="gfn_pc_uds_learn_more",O.GfnPcAddPlaytime="gfn_pc_checkout_playtime",O.GfnPcViewPlaytime="nvidia_account_management_gfn_playsummary",O.GfnPcHowPlaytimeWorks="gfn_pc_help_playtime",O.GfnPcLimitedFeaturesGamePlay="gfn_pc_help_playtime_limited_features",O.GfnPcSafariBrowserLearnMore="gfn_pc_safari_browser_learn_more",O.GfnPcCloudGsyncLearnMore="gfn_pc_cloud_gsync_learn_more",O.GfnPcl4sLearnMore="gfn_pc_l4s_learn_more",O.GfnPcBrowserPushNotification="gfn_pc_help_browser_push_notification",O.GfnPcDownload="gfn_pc_download",O.GfnPcMembershipCatalogLearnMore="gfn_pc_membership_catalog",O.GFNPcUnsupportedOS="gfn_pc_unsupported_os",O.GfnPcSupport="gfn_pc_support",O.GfnPcHelpPaste="gfn_pc_help_paste",O.GfnPcHelpLinuxInstallation="gfn_pc_help_linux_installation",O.GfnOffDeviceLogin="gfn_off_device_login",O.GfnOffDeviceAccountLink="gfn_off_device_account_link",O}(n||{});const E={[n.PrivacyPolicy]:"nvidia.com/privacy",[n.PrivacyCenter]:"nvidia.com/privacy-center",[n.CookiePolicy]:"nvidia.com/cookies",[n.TermsConditions]:"gfn.link/terms",[n.AccountTerms]:"nvidia.com/account/terms",[n.OssLicenses]:"gfn.link/licenses",[n.GfnPcRecommendedGamepads]:"gfn.link/gamepads",[n.GfnAccountManagement]:"gfn.link/account",[n.GfnAccountManagementSSO]:"account.nvidia.com",[n.GfnPcMembershipJoin]:"gfn.link/join",[n.GfnPcMembershipUpgrade]:"gfn.link/upgrade",[n.GfnPcMembershipDayPass]:"gfn.link/daypass",[n.GfnPcCheckoutDayPass]:"gfn.link/adddays",[n.GfnPcRedeemActivationCode]:"gfn.link/redeem",[n.GfnServerStatus]:"gfn.link/status",[n.GfnPcHelpTvGamepadOnly]:"gfn.link/5258",[n.UdpBufferTips]:"gfn.link/4535",[n.GfnPcNetHelpFirewall]:"gfn.link/4566",[n.GfnPcNetHelpWifi]:"gfn.link/4567",[n.GfnPcHelpUpdate]:"gfn.link/4628",[n.GfnPcUnSupportedRegion]:"geforcenow.com",[n.GfnPcHelpMissingDecoder]:"gfn.link/4637",[n.GfnPcWaitList]:"gfn.link/waitlist",[n.RecommendedRoutersProductPage]:"gfn.link/routers",[n.NetworkTroubleshoot]:"gfn.link/4504",[n.GfnPcKeyboardTroubleshooting]:"gfn.link/5024",[n.GfnPcUnsupportedDevice]:"gfn.link/unsupported",[n.GfnPcUnsupportedBrowser]:"gfn.link/unsupported",[n.GfnPcCustomProfileLearnMore]:"gfn.link/5340",[n.GfnPcUnsupportedResolutionsLearnMore]:"gfn.link/5388",[n.GfnPcHelpConnections]:"gfn.link/5399",[n.GfnPcOpportunityBlockerLearnMore]:"gfn.link/5464",[n.GfnPcAddPlaytime]:"gfn.link/addtime",[n.GfnPcViewPlaytime]:"gfn.link/playtime",[n.GfnPcHowPlaytimeWorks]:"gfn.link/1200",[n.GfnPcLimitedFeaturesGamePlay]:"gfn.link/1201",[n.GfnPcSafariBrowserLearnMore]:"gfn.link/5495",[n.GfnPcInfo]:"geforcenow.com",[n.GfnPcl4sLearnMore]:"gfn.link/5522",[n.GfnPcBrowserPushNotification]:"gfn.link/5221",[n.GfnPcHdrUnsupportedSystemsLearnMore]:"gfn.link/5390",[n.GfnPcMembershipCatalogLearnMore]:"gfn.link/5601",[n.GfnPcSupport]:"gfn.link/support",[n.GfnPcHelpLinuxInstallation]:"gfn.link/5337",[n.GfnOffDeviceLogin]:"gfn.link/login",[n.GfnOffDeviceAccountLink]:"gfn.link/connect",[n.GfnPcDownload]:"gfn.link/download"}},43117:(xe,de,t)=>{"use strict";t.d(de,{sD:()=>S,BO:()=>L,x4:()=>s,F4:()=>W});var e=t(14354),n=t(47766),E=t(65706),O=t(83915),B=t(91384),P=t(14714),k=t(8619),U=t(14749),r=t(75707),A=t(10174),l=t(80583),I=t(95318),S=function(ne){return ne.ServerInfo="ServerInfo",ne.Apps="Apps",ne.Layout="Layout",ne.Subscription="Subscription",ne.ALS="ALS",ne.PanelLibrary="Panel_Library",ne.PanelMain="Panel_Main",ne.PanelMarquee="Panel_Marquee",ne.PanelFavorites="Panel_Favorites",ne.UserDatastore="User_Datastore",ne.CampaignsData="CampaignsData",ne.FilterGroupDefinitions="Filter_Group_Definitions",ne.StaticAppData="Static_App_Data",ne.SessionChange="SessionChange",ne}(S||{});const L={[I.HP.Main]:S.PanelMain,[I.HP.Marquee]:S.PanelMarquee,[I.HP.Library]:S.PanelLibrary,[I.HP.Favorites]:S.PanelFavorites};var s=function(ne){return ne.OnFocus="onFocus",ne.OnScreenChange="onScreenChange",ne.OnPushNotification="onPushNotification",ne.OnReset="OnReset",ne}(s||{}),M=function(ne){return ne.ServerInfo="ServerInfo",ne.Subscription="Subscription",ne.Apps="Apps",ne.Layout="Layout",ne.SkuData="SkuData",ne.Asset="Asset",ne.Library="Library",ne.Panel="Panel",ne.PatchingInfo="PatchingInfo",ne.LinkedAccount="LinkedAccount",ne.CampaignData="CampaignData",ne.SyncChange="SyncChange",ne.Favorites="Favorites",ne.StaticAppData="StaticAppData",ne.SessionChange="SessionChange",ne}(M||{});const u={};Object.keys(M).forEach(ne=>{u[ne]=new l.B7});const x=[{key:M.ServerInfo,contentExpiryKey:[S.ServerInfo],shouldCheckOnMallorSettings:!0},{key:M.Subscription,contentExpiryKey:[S.Subscription],shouldCheckOnMallorSettings:!0},{key:M.LinkedAccount,contentExpiryKey:[S.UserDatastore],shouldCheckOnMallorSettings:!0},{key:M.StaticAppData,contentExpiryKey:[S.StaticAppData],shouldCheckOnMallorSettings:!0},{key:M.CampaignData,contentExpiryKey:[S.CampaignsData],shouldCheckOnMall:!0,dependants:[M.Layout]},{key:M.Apps,contentExpiryKey:[S.Apps],shouldCheckOnMall:!0},{key:M.Layout,contentExpiryKey:[S.Layout],shouldCheckOnMall:!0,dependants:[M.Panel,M.Library,M.Favorites]},{key:M.Panel,contentExpiryKey:[S.PanelMain,S.PanelMarquee],shouldCheckOnMall:!0},{key:M.Library,contentExpiryKey:[S.PanelLibrary],shouldCheckOnMall:!0},{key:M.Favorites,contentExpiryKey:[S.PanelFavorites],shouldCheckOnMall:!0},{key:M.SessionChange,contentExpiryKey:[S.SessionChange],shouldCheckOnMall:!0}];var p=t(85735),i=t(31315),o=t(43848),_=t(59859),f=t(15652),J=t(3496),a=t(1646),D=t(23953),te=t(26814),N=t(37543),z=t(81834),R=t(26875),v=t(58527),h=t(14279);let W=(()=>{var ne;class ee{constructor(w,F,Z,se,Y,q,T,H,y){this.windowService=F,this.router=Z,this.pushNotificationService=se,this.experienceControlService=Y,this.routerService=q,this.idmService=T,this.appConfig=H,this.injector=y,this.contentExpiryInfo={},this.gxtPunctualUIConfigFetched=new p.m(1),this.scheduledRequests=[],this.notificationTimerRaceMap=new Map,this.refreshSubjectMap=u,this.serverInfoRefresh$=this.refreshSubjectMap[M.ServerInfo].asObservable(),this.subscriptionRefresh$=this.refreshSubjectMap[M.Subscription].asObservable(),this.appsRefresh$=this.refreshSubjectMap[M.Apps].asObservable(),this.layoutRefresh$=this.refreshSubjectMap[M.Layout].asObservable(),this.skuDataRefresh$=this.refreshSubjectMap[M.SkuData].asObservable(),this.assetRefresh$=this.refreshSubjectMap[M.Asset].asObservable(),this.libraryRefresh$=this.refreshSubjectMap[M.Library].asObservable(),this.panelRefresh$=this.refreshSubjectMap[M.Panel].asObservable(),this.patchingInfoRefresh$=this.refreshSubjectMap[M.PatchingInfo].asObservable(),this.linkedAccountRefresh$=this.refreshSubjectMap[M.LinkedAccount].asObservable(),this.campaignDataRefresh$=this.refreshSubjectMap[M.CampaignData].asObservable(),this.syncChangeRefresh$=this.refreshSubjectMap[M.SyncChange].asObservable(),this.favoritesRefresh$=this.refreshSubjectMap[M.Favorites].asObservable(),this.staticAppDataRefresh$=this.refreshSubjectMap[M.StaticAppData].asObservable(),this.sessionChange$=this.refreshSubjectMap[M.SessionChange].asObservable(),this.logger=w.getLogger("RefreshUiService"),this.pushNotificationHandlerMap=new Map([[a.MP.APP_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.Apps],contentExpiryFlagToCheck:S.Apps}]}],[a.MP.SUBSCRIPTION_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.Subscription],contentExpiryFlagToCheck:S.Subscription}],getTimeout:()=>60*Math.random()*1e3}],[a.MP.SERVER_INFO_SYNC,{info:[{refreshTrigger:this.refreshSubjectMap[M.ServerInfo],contentExpiryFlagToCheck:S.ServerInfo}]}],[a.MP.LAYOUT_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.Panel]}],aggregationOverrides:{considerChangedIds:!0},shouldHandle:this.shouldHandleLayoutChangeNotification.bind(this)}],[a.MP.PRODUCT_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.Subscription],contentExpiryFlagToCheck:S.Subscription}]}],[a.MP.ASSET_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.Asset]}],aggregationOverrides:{considerChangedIds:!0},shouldHandle:this.shouldHandleAssetChangeNotification.bind(this)}],[a.MP.PATCHING_EVENT,{info:[{refreshTrigger:this.refreshSubjectMap[M.PatchingInfo]}],aggregationOverrides:{bypassAggregation:!0},shouldHandle:this.shouldHandlePatchingNotification.bind(this),getTimeout:()=>60*Math.random()*1e3}],[a.MP.LIBRARY_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.Library],contentExpiryFlagToCheck:S.PanelLibrary}],getTimeout:()=>0}],[a.MP.LINKEDACCOUNT_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.LinkedAccount],contentExpiryFlagToCheck:S.UserDatastore}],getTimeout:()=>0}],[a.MP.CAMPAIGN_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.CampaignData],contentExpiryFlagToCheck:S.CampaignsData}],aggregationOverrides:{considerPropertyPath:"campaignInfo.eventType"}}],[a.MP.PLATFORM_SYNC_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.SyncChange],contentExpiryFlagToCheck:S.UserDatastore}],getTimeout:()=>0}],[a.MP.FAVORITES_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.Favorites],contentExpiryFlagToCheck:S.PanelFavorites}],getTimeout:()=>0}],[a.MP.SESSION_CHANGE,{info:[{refreshTrigger:this.refreshSubjectMap[M.SessionChange],contentExpiryFlagToCheck:S.SessionChange}],aggregationOverrides:{bypassAggregation:!0},getTimeout:()=>0}]])}get getPunctualUIConfig$(){return this.gxtPunctualUIConfigFetched.asObservable()}init(){this.fetchPunctualUIConfigCloudVariable(),this.refreshDataOnScreenChange(),this.refreshDataOnFocusGain(),this.handlePushNotifications()}getContentExpiryInfo(w){return this.contentExpiryInfo[w]}setContentExpiryInfo(w){(0,i.zV)([this.getPunctualUIConfig$,this.idmService.accountStatusChanged]).pipe((0,E.s)(1),(0,O.T)(([F,Z])=>w===S.SessionChange?F.refreshIntervalSessionChange:Z.isAuthenticated?F.refreshIntervalLoggedInUser:F.refreshIntervalLoggedOutUser),(0,B.M)(F=>{this.contentExpiryInfo[w]=Date.now()+60*F*1e3})).subscribe(()=>{},F=>this.logger.error("Error setting content expiry info",F))}resetContentExpiryInfo(w){w&&(this.contentExpiryInfo[w]=0)}resetContentExpiryAndRefreshOnFocus(w){if(document.hasFocus()){let F=!1;this.pushNotificationHandlerMap.forEach(Z=>{var se;null==Z||null===(se=Z.info)||void 0===se||se.forEach(Y=>{(null==Y?void 0:Y.contentExpiryFlagToCheck)===w&&!F&&(null==Y||Y.refreshTrigger.next({source:s.OnReset}),F=!0)})})}else this.resetContentExpiryInfo(w)}isPushNotificationEnabled$(){var w;let F=(0,o.of)(!1);if(null!==(w=this.appConfig)&&void 0!==w&&null!==(w=w.featureEnablement)&&void 0!==w&&w.supportsPushNotifications){if(!n.zk.isBrowserPlatform())return(0,o.of)(!0);{const Z=this.injector.get(N.hLj);Z&&(F=Z.isNotificationAllowed())}}return F.pipe((0,E.s)(1),(0,O.T)(Z=>{var se;const Y=Z&&(null===(se=Notification)||void 0===se?void 0:se.permission)===a.NQ.Granted;return this.logger.info("notificationEnabled: ",Y),Y}))}fetchPunctualUIConfigCloudVariable(){this.experienceControlService.getCloudVariable(this.appConfig.gxTarget.experiences.punctualUIConfig,{},{useCache:!0,useNetworkTimeoutForCacheFallback:!0},te.Ky.GxTargetGetCloudVariable,te.Id.GxTargetGetPunctualUIConfig).pipe((0,E.s)(1),(0,B.M)(w=>{const F={...this.appConfig.defaultPunctualUIConfig,...null==w?void 0:w.value};this.gxtPunctualUIConfigFetched.next(F)}),(0,P.W)(w=>(this.gxtPunctualUIConfigFetched.next(this.appConfig.defaultPunctualUIConfig),(0,_.$)(w)))).subscribe(()=>this.logger.info("Successfully fetched punctualUIConfig cv"),w=>this.logger.info("Error while fetching punctualUIConfig cv",w))}triggerRefresh(w,F,Z){F.next({source:w,metadata:Z})}isContentExpired(w){return 0===this.contentExpiryInfo[w]||Date.now()>this.contentExpiryInfo[w]}triggerExpiredDataRefresh(w,F){const Z=null!=F?F:this.router.url;this.logger.info("triggerExpiredDataRefresh if needed on ",w);const se=new Set;x.forEach(Y=>{if(!se.has(Y.key)&&Y.contentExpiryKey.some(y=>this.isContentExpired(y))&&(Y.shouldCheckOnMallorSettings&&this.routerService.isMallOrSettingsUrl(Z)||Y.shouldCheckOnMall&&this.routerService.isMallUrl(Z))){this.logger.info(`Refreshed triggered via source ${w} for key ${Y.key}`),this.triggerRefresh(w,this.refreshSubjectMap[Y.key]),se.add(Y.key);const y=Y.dependants;for(;null!=y&&y.length;){var q,T;const X=y.shift();let c=null!==(q=null===(T=x.find(g=>g.key===X))||void 0===T?void 0:T.dependants)&&void 0!==q?q:[];c=c.filter(g=>!se.has(g)),y.push(...c),se.add(X)}}})}refreshDataOnFocusGain(){return this.windowService.getFocusEvent().subscribe(()=>{this.triggerExpiredDataRefresh(s.OnFocus)})}refreshDataOnScreenChange(){let w;return this.router.events.pipe((0,k.p)(F=>F instanceof e.ld),(0,U.J)(),(0,O.T)(F=>(w=F[1]&&F[1].urlAfterRedirects,!!this.routerService.isMallOrSettingsUrl(w))),(0,P.W)(F=>(this.logger.error("Error in refreshDataOnScreenChange",F),(0,o.of)(!1)))).subscribe(F=>{F&&this.triggerExpiredDataRefresh(s.OnScreenChange,w)})}refreshCheckForRegionIds(w){const F=this.injector.get(D.G);return null!=w&&w.regionIdType&&(null==w?void 0:w.regionIdType)===a.Wq.REGION?null==F?void 0:F.detectedLocalZone$.pipe((0,E.s)(1),(0,r.ZZ)(Z=>Z?(0,o.of)(Z):(this.logger.info("Detected local zone is empty"),null==F?void 0:F.getCachedZone())),(0,O.T)(Z=>{var se;const Y=null==Z||null===(se=Z.address)||void 0===se?void 0:se.split(".",1);if((null==Y?void 0:Y.length)>0){var q;const T=Y[0].toLowerCase();return this.logger.info("Local-Region Prefix",T),null==w||null===(q=w.regionIds)||void 0===q?void 0:q.some(H=>H.toLowerCase()===T)}return!1}),(0,P.W)(Z=>(this.logger.error("Error in getting Local-Region",Z),(0,o.of)(!1)))):null==F?void 0:F.vpcId$.pipe((0,E.s)(1),(0,O.T)(Z=>(Z=Z.toLowerCase(),this.logger.info("current VpcID",Z),null==w?void 0:w.regionIds.some(se=>se.toLowerCase()===Z))),(0,P.W)(Z=>(this.logger.error("Error in getting current VPC ID",Z),(0,o.of)(!1))))}canIgnoreNotification(w,F){var Z;if(null!=F&&F.bypassAggregation)return!1;const se=this.scheduledRequests.filter(T=>T.messageType===w.messageType);if(!se.length)return!1;if(null!=F&&F.considerPropertyPath){if(!se.filter(H=>(0,R.get)(H,F.considerPropertyPath)===(0,R.get)(w,F.considerPropertyPath)).length)return!1;this.logger.info("Request of same message type with same property value exists")}if(null==F||!F.considerChangedIds)return this.logger.info("Request of same message type exists, considerChangedIds = false. Ignoring notification"),!0;const Y=se.filter(T=>T.changeIdType===w.changeIdType);if(!Y.length)return!1;const q=Y[0];return null===(Z=w.changedIds)||void 0===Z||Z.forEach(T=>{q.changeIds.includes(T)||q.changeIds.push(T)}),this.logger.info("Request of same message type exists, changeIds updated. Ignoring notification"),!0}defaultShouldHandlePushNotification(w,F,Z){return this.logger.info("pushNotification data handling for message type: "+a.MP[w.messageType]),this.logger.info("Is window active: "+document.hasFocus()),this.logger.info("current screen url"+this.router.url),this.canIgnoreNotification(w,Z)?(0,o.of)(!1):document.hasFocus()&&this.routerService.isMallOrSettingsUrl(this.router.url)?(null==w||null===(se=w.regionIds)||void 0===se?void 0:se.length)>0?this.refreshCheckForRegionIds(w):(0,o.of)(!0):(F.forEach(Y=>{this.resetContentExpiryInfo(null==Y?void 0:Y.contentExpiryFlagToCheck)}),(0,o.of)(!1));var se}handlePushNotifications(){this.pushNotificationHandlerMap.forEach((w,F)=>{this.pushNotificationService.registerPushNotification(F).pipe((0,r.ZZ)(Z=>(0,i.zV)(null!=w&&w.shouldHandle?[w.shouldHandle(Z,null==w?void 0:w.info,null==w?void 0:w.aggregationOverrides),(0,o.of)(Z)]:[this.defaultShouldHandlePushNotification(Z,null==w?void 0:w.info,null==w?void 0:w.aggregationOverrides),(0,o.of)(Z)]))).subscribe(([Z,se])=>{if(Z){var Y,q,T;let y;if(null!=w&&w.getTimeout)y=w.getTimeout();else{var H;const g=null!==(H=this.appConfig.punctualUI.notificationProcessingDelay)&&void 0!==H?H:3e5;y=Math.random()*g}const X=(0,z.bz)(),c={requestId:X,messageType:se.messageType,changeIds:null!==(Y=se.changedIds)&&void 0!==Y?Y:[],changeIdType:se.changeIdType,considerChangedIds:null===(q=w.aggregationOverrides)||void 0===q?void 0:q.considerChangedIds};null!==(T=w.aggregationOverrides)&&void 0!==T&&T.considerPropertyPath&&(0,R.set)(c,w.aggregationOverrides.considerPropertyPath,(0,R.get)(se,w.aggregationOverrides.considerPropertyPath)),this.scheduledRequests.push(c),setTimeout(()=>{const g=this.scheduledRequests.findIndex(C=>C.requestId===X),d=this.scheduledRequests[g].changeIds;this.scheduledRequests.splice(g,1),se.changedIds=d,this.logger.info("Handling Push Messgae for ",a.MP[F]),null!=w&&w.handle?null==w||w.handle(se):null==w||w.info.forEach(C=>{null==C||C.refreshTrigger.next({source:s.OnPushNotification,metadata:se})})},y)}})})}shouldHandleAssetChangeNotification(w,F,Z){return this.defaultShouldHandlePushNotification(w,F,Z).pipe((0,B.M)(se=>{se||this.resetContentExpiryInfo(S.Apps)}))}shouldHandleLayoutChangeNotification(w,F,Z){return this.defaultShouldHandlePushNotification(w,F,Z).pipe((0,B.M)(se=>{if(!se)if((null==w?void 0:w.changeIdType)===a.Ab.PANEL){var Y;null==w||null===(Y=w.changedIds)||void 0===Y||Y.forEach(q=>{this.resetContentExpiryInfo(L[q])})}else this.resetContentExpiryInfo(S.Layout)}))}shouldHandlePatchingNotification(w){var F;return(null==w||null===(F=w.regionIds)||void 0===F?void 0:F.length)>0?this.refreshCheckForRegionIds(w):(0,o.of)(!0)}getNotificationObservable(w,F={}){switch(w){case a.MP.LIBRARY_CHANGE:return this.libraryRefresh$;case a.MP.FAVORITES_CHANGE:return this.favoritesRefresh$;case a.MP.PLATFORM_SYNC_CHANGE:const Z=null==F?void 0:F.appStore;return this.syncChangeRefresh$.pipe((0,k.p)(se=>{var Y;return(null===(Y=se.metadata)||void 0===Y||null===(Y=Y.platformSyncInfo)||void 0===Y?void 0:Y.platformCode)===Z}));default:return null}}startNotificationTimerRace(w,F,Z={}){var se,Y;const q=new p.m(1),T=this.getNotificationObservable(w,Z);if(!T)return void this.logger.error(`No notification observable configured for ${w}. Will not initiate race`);(0,f.O4)(T.pipe((0,E.s)(1),(0,A.u)(!0)),(0,J.O)(F).pipe((0,A.u)(!1))).subscribe(y=>{q.next(y)});const H=null!==(se=null==Z?void 0:Z.key)&&void 0!==se?se:w;null===(Y=this.notificationTimerRaceMap.get(H))||void 0===Y||Y.complete(),this.notificationTimerRaceMap.set(H,q)}getNotificationTimerRaceResult(w,F={}){var Z;const se=null!==(Z=null==F?void 0:F.key)&&void 0!==Z?Z:w;return this.notificationTimerRaceMap.has(se)||(0,_.$)(`Error: waiting on notification vs timer race for ${se} result without starting it`),this.notificationTimerRaceMap.get(se).asObservable()}}return(ne=ee).\u0275fac=function(w){return new(w||ne)(v.KVO(n.J6),v.KVO(n.s7),v.KVO(e.Ix),v.KVO(h.T),v.KVO(te.BW),v.KVO(N.HMi),v.KVO(N.k_2),v.KVO(N.Vk6),v.KVO(v.zZn))},ne.\u0275prov=v.jDH({token:ne,factory:ne.\u0275fac,providedIn:"root"}),ee})()},45903:(xe,de,t)=>{"use strict";t.d(de,{a:()=>e.a});var e=t(86703)},86703:(xe,de,t)=>{"use strict";t.d(de,{a:()=>x});var e=t(75707),n=t(14714),E=t(91384),O=t(83915),B=t(85735),P=t(43848),k=t(36466),U=t(26875),A=t(11909),l=t(58527),I=t(47766),S=t(51542),L=t(11961),s=t(66348),M=t(29567);const u="remoteOverrides";let x=(()=>{var p;class i{constructor(_,f,J,a,D,te){this.networkConfig=f,this.zoneStorage=J,this.sharedStorageService=a,this.appConfig=D,this.bridgeService=te,this.remoteConfigFetchedSubject=new B.m(1),this.zonePrefixForCachedRCTelemetry="",this.vpcIdForForCachedRCTelemetry="",this.projectRevisionForCachedRCTelemetry="",this.currentRemoteConfigRevision="",this.logger=_.getLogger("shared/remote-config.service"),this.lastCachedZone$=this.networkConfig.getCurrentCachedZone().pipe((0,e.ZZ)(N=>(0,U.isNil)(N)||(0,U.isEmpty)(N)?this.zoneStorage.getDefaultZone():(this.logger.info("got cached zone",N),(0,P.of)(N)))),this.lastSavedZone$=this.networkConfig.getNetworkOverride().pipe((0,e.ZZ)(N=>(0,U.isNil)(N)||(0,U.isEmpty)(N)?(this.logger.info("get cached zone"),this.lastCachedZone$):(this.logger.info("got override zone",N),(0,P.of)(N))),(0,n.W)(N=>(this.logger.error("failed to fetch zone",N),(0,P.of)(null))))}get remoteConfigFetched$(){return this.remoteConfigFetchedSubject.asObservable()}getLastSavedZone(){return this.lastSavedZone$}configureRemoteOverrides(_){var f;null!=_&&_.isFetchedFromGXT?this.appConfig.setRemoteOverridesFromGXT(_.data,null===(f=_.metaData)||void 0===f?void 0:f.rcParamNameToLocalConfigKeyPathMap):this.logger.info("configureRemoteOverrides are not from GXT",_)}constructOverrides(_,f,J,a,D){return{metaData:{lastFetchedFrom:_,lastFetchedAt:Date.now(),regionName:J,zoneName:a,rcParamNameToLocalConfigKeyPathMap:D},data:f}}saveRemoteOverrides(_){this.logger.info("save remote overides",_);const f={overrideData:{data:_.data}};this.sharedStorageService.writeBlock(u,_).pipe((0,e.ZZ)(()=>(this.logger.info("notify geronimo"),this.bridgeService.executeCommand(A.T.Gfn.Streaming.UpdateRemoteConfig,f)))).subscribe(()=>k.l,J=>this.logger.error("failed to save remoteOverrides",J))}loadPreviousOverrides(){return this.sharedStorageService.readBlock(u).pipe((0,n.W)(_=>(this.logger.info("failed to fetch overrides",_),(0,P.of)({}))))}isValidObject(_,f){return!(0,U.isNil)(_)&&!(0,U.isEmpty)(_)&&!(0,U.isEmpty)(_[f])}isValidString(_){return!(0,U.isNil)(_)&&!(0,U.isEmpty)(_)}getZonePrefix(_){let f="";if(this.isValidObject(_,"address")){const J=_.address.split(".",1);J.length>0&&(f=J[0])}return f}getRemoteConfigOnLaunch(){return this.loadPreviousOverrides().pipe((0,E.M)(_=>{var f,J,a,D;this.zonePrefixForCachedRCTelemetry=null==_||null===(f=_.metaData)||void 0===f?void 0:f.regionName,this.vpcIdForForCachedRCTelemetry=null==_||null===(J=_.metaData)||void 0===J?void 0:J.zoneName,null!=_&&_.isFetchedFromGXT?(this.appConfig.setRemoteOverridesFromGXT(_.data,null==_||null===(a=_.metaData)||void 0===a?void 0:a.rcParamNameToLocalConfigKeyPathMap),this.projectRevisionForCachedRCTelemetry=null==_||null===(D=_.data)||void 0===D||null===(D=D.debugInfo)||void 0===D?void 0:D.revision):this.logger.info("Saved overrided are not from GXT",_)}))}getCurrentZonePrefix(){return this.logger.info("getCurrentZone"),this.lastSavedZone$.pipe((0,O.T)(_=>{const f=this.getZonePrefix(_);return this.isValidString(f)?f:(this.logger.info("invalid zone",_),null)}))}propagatePreviousOverides(){this.loadPreviousOverrides().subscribe(_=>{this.remoteConfigFetchedSubject.next({overrides:_,config:this.appConfig.get()})})}updateRemoteConfigFromGXT(_,f,J,a){var D;const N=this.constructOverrides("",_,f,J,a);N.isFetchedFromGXT=!0,this.currentRemoteConfigRevision=null==N||null===(D=N.data)||void 0===D||null===(D=D.debugInfo)||void 0===D?void 0:D.revision,this.saveRemoteOverrides(N),this.configureRemoteOverrides(N),this.logger.info("fire config fetched from GXT notification"),this.remoteConfigFetchedSubject.next({overrides:N,config:this.appConfig.get()})}}return(p=i).\u0275fac=function(_){return new(_||p)(l.KVO(I.J6),l.KVO(S.u),l.KVO(L.p),l.KVO(s.yQ),l.KVO(M.oO),l.KVO(I.NZ))},p.\u0275prov=l.jDH({token:p,factory:p.\u0275fac,providedIn:"root"}),i})()},78893:(xe,de,t)=>{"use strict";t.d(de,{td:()=>r,wE:()=>N,V6:()=>B,Ib:()=>te,kE:()=>P,HM:()=>ee,u6:()=>z,lQ:()=>R,f:()=>O,f7:()=>L,BS:()=>s,RZ:()=>I,ED:()=>u,I2:()=>k,tE:()=>U,y1:()=>S,$H:()=>l,IQ:()=>A,K:()=>M});var e=t(87687),n=t(50778),E=t(82187),O=function(b){return b.Base="/",b.Home="/layout/games",b.Gallery="/layout/gallery",b.Settings="/layout/settings",b.SettingsAccount="/layout/settings/account",b.SettingsConnections="/layout/settings/connections",b.SettingsGameplay="/layout/settings/gameplay",b.SettingsSystem="/layout/settings/system",b.SettingsAbout="/layout/settings/about",b.Surveys="/layout/surveys",b.GamesGrid="/layout/games/gameSectionGrid",b.Deeplink="/deeplink",b.PwaWall="/install",b.DefaultStreamerExitUrl="/layout/games",b.LoginWall="/loginwall",b}(O||{}),B=function(b){return b.Home="layout/games",b.BrowserBookmark="",b.DefaultRedirect="layout/games",b.StreamerRoot="streamer",b.PwaWall="install",b}(B||{}),P=function(b){return b.CmsId="cmsId",b.LaunchSource="launchSource",b.ShortName="shortName",b.AppLaunchMode="appLaunchMode",b.SdkClient="sdkClient",b.ParentGameId="parentGameId",b.AccountLinked="accountLinked",b.CascadePreviewToken="cascadePreviewToken",b.Locale="locale",b.PreviewAtTime="previewAtTime",b}(P||{});function k(b){const w=window.location.href;return U(b)||-1!==w.indexOf("launchSource=External")||-1!==w.indexOf("action=play-game")}function U(b){return b.startsWith(`/${B.StreamerRoot}`)}var r=function(b){return b.Mall="GeForceNOW",b.Streamer="GeForceNOWStreamer",b}(r||{});function A(b){return`/${B.StreamerRoot}?${P.LaunchSource}=${b.launchSource}${b.cmsId?`&${P.CmsId}=${b.cmsId}`:""}${b.shortName?`&${P.ShortName}=${b.shortName}`:""}${b.appLaunchMode?`&${P.AppLaunchMode}=${b.appLaunchMode}`:""}${b.sdkClient?`&${P.SdkClient}=${b.sdkClient}`:""}${b.accountLinked?`&${P.AccountLinked}=true`:""}${b.parentGameId?`&${P.ParentGameId}=${b.parentGameId}`:""}`}function l(b,w=!1){return`${w?window.geForceNowStartLocationOrigin:window.location.origin}${w?window.geForceNowStartLocationPathName:window.location.pathname}#${A(b)}`}function I(b){return(b.has(P.ParentGameId)||b.has(P.CmsId))&&b.has(P.LaunchSource)}function S(b){const w=b.indexOf("?");return L(new URLSearchParams(b.slice(w)))}function L(b){let Y,w=0,F="",Z=e.vhU.Unknown,se="",q=n.NG.Default,T=!1;if(b.has(P.ParentGameId)&&(F=b.get(P.ParentGameId)),b.has(P.CmsId)&&(w=+b.get(P.CmsId)),b.has(P.AppLaunchMode)){const H=b.get(P.AppLaunchMode);switch(H){case n.NG.GamepadFriendly:case n.NG.TouchFriendly:q=H;break;default:q=n.NG.Default}}if(b.has(P.LaunchSource)){const H=b.get(P.LaunchSource);switch(H){case e.vhU.GeForceNOW:case e.vhU.External:case e.vhU.Deeplink:Z=H;break;default:Z=e.vhU.Unknown}}return b.has(P.ShortName)&&(se=b.get(P.ShortName)),b.has(P.SdkClient)&&(Y=b.get(P.SdkClient)),b.has(P.AccountLinked)&&(T="true"===b.get(P.AccountLinked)),{parentGameId:F,cmsId:w,appLaunchMode:q,launchSource:Z,shortName:se,sdkClient:Y,accountLinked:T}}function s(b){var w;const F=null===(w=window)||void 0===w?void 0:w.geForceNowStartLocationHref;if((null==F?void 0:F.indexOf("?"))>-1){const Z=F.slice(F.indexOf("?"));return new URLSearchParams(Z).get(b)||null}return null}function M(b,w,F){const Z=new RegExp("([?&])"+w+"=.*?(&|$)","i"),se=-1!==b.indexOf("?")?"&":"?";return b.match(Z)?b.replace(Z,"$1"+w+"="+F+"$2"):b+se+w+"="+F}function u(){return null!==s(E.aj.Nonce)}const x=[O.Home,O.GamesGrid],p=[O.Settings];var i=t(14354),o=t(8619),_=t(72147),f=t(83915),J=t(65706),a=t(34593),D=t(53461),te=function(b){return b.enableInitFocusOnNavigate="enableInitFocusOnNavigate",b.initFocusOnGivenFragment="initFocusOnGivenFragment",b}(te||{}),N=function(b){return b.showSearchBarOnNavigateGamesGrid="showSearchBarOnNavigateGamesGrid",b.initFocusOnSearchBar="initFocusOnSearchBar",b}(N||{});const z={ServerLocation:"settings_server_location",AccountLinkingIntegration:"settings_integrations",GameLanguage:"settings_preferred_game_language"},R={[O.Home]:{[te.enableInitFocusOnNavigate]:!0},[O.Settings]:{[te.enableInitFocusOnNavigate]:!0},[O.GamesGrid]:{[te.enableInitFocusOnNavigate]:!0,[N.showSearchBarOnNavigateGamesGrid]:!0,[N.initFocusOnSearchBar]:!0}};var v=t(58527),h=t(47766),W=t(61958),ne=t(73718);let ee=(()=>{var b;class w{constructor(Z,se,Y,q){var T;this.appConfig=se,this.router=Y,this.gameShareUrlService=q,this.defaultNavigationBehaviorOptions={},this.logger=Z.getLogger("gfn/RouterService"),this.defaultNavigationBehaviorOptions.skipLocationChange=!(null===(T=this.appConfig.client)||void 0===T||!T.skipLocationChange),this.logger.info("Using default navigation options:",this.defaultNavigationBehaviorOptions),this.initNavStartSubscription()}initNavStartSubscription(){this.router.events.pipe((0,o.p)(Z=>Z instanceof i.Z)).subscribe(Z=>{this.currentNavigationStartURL=Z.url})}get onExitingStreamer(){return this.router.events.pipe((0,o.p)(Z=>Z instanceof i.Z&&U(this.router.url)&&Z.url!==O.Base&&!U(Z.url)),(0,_.n)(Z=>this.router.events.pipe((0,o.p)(se=>se instanceof i.wF||se instanceof i.L6||se instanceof i.j5),(0,f.T)(se=>se instanceof i.wF),(0,J.s)(1))))}isRouteActive(Z){return this.router.url.startsWith(Z)}getRouteActivatedState(Z){return this.router.events.pipe((0,o.p)(se=>se instanceof i.wF),(0,f.T)(se=>this.isRouteActive(Z)),(0,a.Z)(this.isRouteActive(Z)),(0,D.F)())}navigateByUrl(Z,se){return this.router.navigateByUrl(Z,{...this.defaultNavigationBehaviorOptions,...se})}navigate(Z,se){var Y;return null!==(Y=null==se?void 0:se.fragment)&&void 0!==Y&&Y&&(se.state={[te.enableInitFocusOnNavigate]:!0,[te.initFocusOnGivenFragment]:!0,...se.state}),this.router.navigate(Z,{...this.defaultNavigationBehaviorOptions,...se})}getStreamerExitUrl(){return this.exitUrl?this.exitUrl:O.DefaultStreamerExitUrl}setStreamerExitUrl(Z){this.exitUrl=Z||O.DefaultStreamerExitUrl}resetStreamerExitUrl(){this.exitUrl=O.DefaultStreamerExitUrl}getNavigationStartUrl(){return this.currentNavigationStartURL}getCurrentUrl(){let Z;return Z=this.gameShareUrlService.getIsAddressbarUrlUpdated()?this.gameShareUrlService.getDeeplinkShareUrl():document.baseURI+this.currentNavigationStartURL,this.logger.info("return URL is ",Z,this.gameShareUrlService.getIsAddressbarUrlUpdated()),Z}isMallUrl(Z){return x.some(Y=>Z.startsWith(Y))}isMallOrSettingsUrl(Z){const se=this.isMallUrl(Z),Y=p.some(q=>Z.startsWith(q));return se||Y}isLayoutUrl(Z){return Z.startsWith("/layout")}getRouterNavigation(){var Z;return null!==(Z=this.router.getCurrentNavigation())&&void 0!==Z?Z:this.router.lastSuccessfulNavigation}getFragment(){var Z;return null===(Z=this.getRouterNavigation().extras)||void 0===Z?void 0:Z.fragment}shouldInitiateFocusAfterRendered(){var Z,se;const Y=!(null===(Z=this.appConfig)||void 0===Z||null===(Z=Z.featureEnablement)||void 0===Z||!Z.tvMode);return null!==(se=this.getRoutingStateValueByKey(te.enableInitFocusOnNavigate))&&void 0!==se?se:Y}getRoutingStateValueByKey(Z){var se;return null===(se=this.getRouterNavigation().extras)||void 0===se||null===(se=se.state)||void 0===se?void 0:se[Z]}}return(b=w).\u0275fac=function(Z){return new(Z||b)(v.KVO(h.J6),v.KVO(W.Vk),v.KVO(i.Ix),v.KVO(ne.u))},b.\u0275prov=v.jDH({token:b,factory:b.\u0275fac,providedIn:"root"}),w})()},18320:(xe,de,t)=>{"use strict";t.d(de,{HV:()=>O,RQ:()=>n});const n=5,O="Unknown"},21341:(xe,de,t)=>{"use strict";t.d(de,{RQ:()=>B.RQ,uU:()=>n.u,bo:()=>e.b});var e=t(47261),n=t(51542);t(26875);var B=t(18320)},51542:(xe,de,t)=>{"use strict";t.d(de,{u:()=>o});var e=t(85735),n=t(43848),E=t(35146),O=t(65706),B=t(99047),P=t(83915),k=t(75707),U=t(53461),r=t(91384),A=t(14714),l=t(47766),I=t(26875),L=t(18320),s=t(58527),M=t(66348),u=t(7703);const x="networkConfig",i="zones";let o=(()=>{var _;class f{constructor(a,D,te,N,z){this.systemInfo=D,this.sharedStorage=te,this.deeplinkHelperService=N,this.networkStatusService=z,this.currentFingerprint="",this.networkSessionIdUpdated$=new e.m(1),this.logger=a.getLogger("gfn/networkConfiguration"),this.isBrowserPlatform=l.zk.isBrowserPlatform(),this.deeplinkOverrideZone=this.deeplinkHelperService.getDeeplinkZoneOverride()}get networkSessionId$(){return this.networkSessionIdUpdated$.asObservable()}readNetworkSessionId(){this.getCachedNetworkSessionId().pipe((0,O.s)(1)).subscribe(a=>this.networkSessionIdUpdated$.next(null!=a?a:""),a=>{this.logger.error("Error fetching cached networkSessionId",a),this.networkSessionIdUpdated$.next("")})}set deeplinkOverrideZone(a){this._deeplinkOverrideZone=a}get deeplinkOverrideZone(){return this._deeplinkOverrideZone}getFingerprint(){return this.systemInfo.getSystemInfo([l.Lu.Network]).pipe((0,B.$)(),(0,P.T)(a=>a.Network),(0,P.T)(a=>(null!=a&&a.Fingerprint&&this.updateFingerPrintIfChanged(a.Fingerprint),(0,I.isNil)(a)||(0,I.isEmpty)(a.Fingerprint)?null:a.Fingerprint)))}updateFingerPrintIfChanged(a){if(this.currentFingerprint!==a)return this.currentFingerprint=a,this.modifyNetworkConfig(D=>((0,I.isNil)(a)||(D.currentFingerPrint=a),D),"Failed tp update fingerprint").subscribe()}cacheCurrentFingerprint(){return this.getFingerprint().pipe((0,P.T)(a=>!(0,I.isNil)(a)&&(this.lastCachedFingerprint=a,!0)))}getFingerprintInfo(a){return this.getNetworkConfig().pipe((0,P.T)(D=>(0,I.isNil)(D.networks[a])?null:D.networks[a]))}getCurrentFingerprintInfo(){return this.getFingerprint().pipe((0,k.ZZ)(a=>this.getFingerprintInfo(a)))}getCachedZone(a){return this.getNetworkConfig().pipe((0,P.T)(D=>(0,I.isNil)(D.networks[a])||(0,I.isNil)(D.networks[a].lbrZone)?null:D.networks[a].lbrZone))}getCurrentCachedZone(){return this.getFingerprint().pipe((0,k.ZZ)(a=>this.getCachedZone(a)))}getCurrentCachedZone$(){return this.cachedZone$||(this.cachedZone$=new e.m(1),this.getCurrentCachedZone().pipe((0,O.s)(1)).subscribe(a=>this.cachedZone$.next(a))),this.cachedZone$.asObservable().pipe((0,U.F)())}getCachedLatencies(a){return this.getNetworkConfig().pipe((0,P.T)(D=>(0,I.isNil)(D.networks[a])||(0,I.isNil)(D.networks[a].zonesLatencies)?null:D.networks[a].zonesLatencies))}getCurrentCachedLatencies(){return this.getFingerprint().pipe((0,k.ZZ)(a=>this.getCachedLatencies(a)))}getCachedNetworkSessionId(){return this.getFingerprint().pipe((0,k.ZZ)(a=>this.getNetworkConfig().pipe((0,P.T)(D=>(0,I.isNil)(D.networks[a])||(0,I.isNil)(D.networks[a].networkSessionId)?null:D.networks[a].networkSessionId))))}updateCurrentFingerprintNetworkTestFlag(a,D){return this.getFingerprint().pipe((0,k.ZZ)(te=>this.modifyNetworkConfig(N=>{const z=(0,I.isNil)(te)?this.lastCachedFingerprint:te;return(0,I.isNil)(z)||(N.networks[z]=N.networks[z]||{},(0,I.merge)(N.networks[z],{runNetworkTest:a,indirectNetworkTestPolicy:D})),N},`Unable to ${a?"set":"reset"} the network test requirement with policy: ${D}.`)))}setCachedLatencies(a,D){const te={},N=[];if(!(0,I.isNil)(D)&&D!==L.HV)for(const z of D.split(/[|]/)){const R=z.split(":"),v=2===R.length?Number(R[1]):NaN;isNaN(v)||N.push({key:R[0],val:R[1]})}for(const z of N)te["latency@"+z.key]=z.val;return this.modifyNetworkConfig(z=>(z.networks[a]=z.networks[a]||{},z.networks[a].zonesLatencies=(0,I.isEmpty)(te)?null:te,z),`Unable to save latency information for ${a}.`)}setCachedZone(a,D){return this.modifyNetworkConfig(te=>(te.networks[a]=te.networks[a]||{},te.networks[a].lbrZone=D,te),`Unable to save zone information for ${a}.`).pipe((0,r.M)(te=>{te&&this.cachedZone$&&this.cachedZone$.next(D)}))}setCachedNetworkSessionId(a){return this.getFingerprint().pipe((0,k.ZZ)(D=>this.modifyNetworkConfig(te=>(te.networks[D]=te.networks[D]||{},te.networks[D].networkSessionId=a,te),`Unable to save networkSessionId information for ${D}.`).pipe((0,r.M)(te=>{te&&this.networkSessionIdUpdated$.next(a)}))))}updateNetworkTestInfoInFingerprint(a,D,te){return this.getFingerprint().pipe((0,k.ZZ)(N=>N?this.modifyNetworkConfig(z=>(z.networks[N]=z.networks[N]||{},z.networks[N].maxSubscriptionProfile=a,z.networks[N].networkTestReturn=D,z.networks[N].lastShownThresholdProfile=te,z),`Unable to save maxSubscriptionProfile, networkTestReturn, lastShownThresholdProfile information for ${N}.`):(0,n.of)(!1)))}updateNetworkTestThresholdProfile(a){return this.getFingerprint().pipe((0,k.ZZ)(D=>this.modifyNetworkConfig(te=>(te.networks[D]=te.networks[D]||{},te.networks[D].lastShownThresholdProfile=a,te),`Unable to save lastShownThresholdProfile information for ${D}.`)))}clearFingerprintCachedZone(a){return this.modifyNetworkConfig(D=>(this.logger.info("clear Cached Zone for fingerprint: ",a),(0,I.isNil)(D.networks[a])||delete D.networks[a].lbrZone,D),`Unable to clear zone information for ${a}.`)}getNetworkConditions(){const a={isVpn:!1,isVPNDetectable:!1,zoneOverride:null,networkType:l.Sd.Unknown,isOffline:!1};return this.networkStatusService.isOnline?(0,E.yU)(this.systemInfo.getSystemInfo([l.Lu.Network]),this.getNetworkOverride()).pipe((0,B.$)(),(0,P.T)(([D,te])=>({isVpn:!!D.Network&&"1"===D.Network.IsVPN,isVPNDetectable:D.Network&&void 0!==D.Network.IsVPN,zoneOverride:te,networkType:D.Network?D.Network.NetworkType:l.Sd.Unknown,isOffline:!1})),(0,A.W)(D=>(this.logger.error("failed to set post session network conditions while online. Error: ",D),(0,n.of)(a)))):this.getNetworkOverride().pipe((0,B.$)(),(0,P.T)(D=>({isVpn:!1,isVPNDetectable:!1,zoneOverride:D,networkType:l.Sd.Unknown,isOffline:!0})),(0,A.W)(D=>(this.logger.error("failed to set post session network conditions while offline. Error: ",D),(0,n.of)(a))))}clearCachedDisplayForFingerprint(a){return this.modifyNetworkConfig(D=>(this.logger.info("clear Cached Display for fingerprint: ",a),(0,I.isNil)(D.networks[a])||delete D.networks[a].maxDisplay,D),`Unable to clear display information for ${a}.`)}clearCachedCurrentFingerprint(){return this.getFingerprint().pipe((0,k.ZZ)(a=>this.modifyNetworkConfig(D=>(this.logger.info("clear the network fingerprint: ",a),(0,I.isNil)(D.networks[a])||delete D.networks[a],D),`Unable to clear information for ${a}.`)))}setZoneList(a){return this.sharedStorage.writeBlock(i,a)}getZoneList(){return this.sharedStorage.readBlock(i)}setFingerprintMaxDisplay(a,D){return this.modifyNetworkConfig(te=>(this.logger.info(`fingerprint ${D} display set to ${a.width}x${a.height}@${a.frameRate}`),te.networks[D]=te.networks[D]||{},te.networks[D].maxDisplay=a,te),`Unable to save information for ${D}.`)}setCurrentFingerprintMaxDisplay(a){return this.getFingerprint().pipe((0,k.ZZ)(D=>this.setFingerprintMaxDisplay(a,D)))}getFingerprintMaxDisplay(a){return this.getNetworkConfig().pipe((0,P.T)(D=>(0,I.isNil)(D.networks[a])||(0,I.isNil)(D.networks[a].maxDisplay)?null:D.networks[a].maxDisplay))}getFingerprintMaxPacketSize(a){return this.getNetworkConfig().pipe((0,P.T)(D=>{var te;return(0,I.isNil)(D.networks[a])||(0,I.isNil)(null===(te=D.networks[a].networkTestReturn)||void 0===te||null===(te=te.testResult)||void 0===te?void 0:te.maxPacketSize)?null:D.networks[a].networkTestReturn.testResult.maxPacketSize}))}getCurrentFingerprintMaxDisplay(){return this.getFingerprint().pipe((0,k.ZZ)(a=>this.getFingerprintMaxDisplay(a)),(0,r.M)(a=>{(0,I.isNil)(a)||this.logger.info(`Get Current maxDisplay: ${a.width}x${a.height}@${a.frameRate}`)}))}getCurrentFingerprintMaxPacketSize(){return this.getFingerprint().pipe((0,k.ZZ)(a=>this.getFingerprintMaxPacketSize(a)),(0,r.M)(a=>{(0,I.isNil)(a)||this.logger.info(`Get Current maxPacketSize: ${a}`)}))}getNetworkOverride(){return this.deeplinkOverrideZone?(0,n.of)(this.deeplinkOverrideZone):this.sharedStorage.readBlock(x).pipe((0,P.T)(a=>a.routingOverride||null))}setNetworkOverride(a){return this.modifyNetworkConfig(D=>(D.routingOverride=a,D),`Unable to save zone override information for ${a}.`)}updateNetworkOverrideNetworkTestFlag(a){return this.modifyNetworkConfig(D=>(D.routingOverride&&(D.routingOverride.runNetworkTest=!!this.isBrowserPlatform||a),D),`Unable to ${a?"set":"clear"} the network test requirement.`)}clearNetworkOverride(){return this.deeplinkOverrideZone?(this.deeplinkOverrideZone=null,(0,n.of)(!0)):this.modifyNetworkConfig(a=>(delete a.routingOverride,a),"Unable to clear zone override.")}clearCurrentFingerprintCachedZone(){return this.logger.info("deleting CachedZone for current fingerprint"),this.getFingerprint().pipe((0,k.ZZ)(a=>this.clearFingerprintCachedZone(a)))}clearCurrentFingerprintMaxDisplay(){return this.logger.info("deleting Cached Display for current fingerprint"),this.getFingerprint().pipe((0,k.ZZ)(a=>this.clearCachedDisplayForFingerprint(a)))}modifyNetworkConfig(a,D){return this.getNetworkConfig().pipe((0,k.ZZ)(te=>this.sharedStorage.writeBlock(x,a(te))),(0,A.W)(this.logError(D,!1)))}getNetworkConfig(){return this.sharedStorage.readBlock(x).pipe((0,P.T)(a=>(0,I.merge)(a,{networks:{}})))}logError(a,D){return te=>(this.logger.error(a,te),(0,n.of)(D))}writeNetworkConfig(a,D){return this.sharedStorage.writeBlock(x,a,D)}}return(_=f).\u0275fac=function(a){return new(a||_)(s.KVO(l.J6),s.KVO(l.zW),s.KVO(M.yQ),s.KVO(u.w),s.KVO(l.CF))},_.\u0275prov=s.jDH({token:_,factory:_.\u0275fac,providedIn:"root"}),f})()},47261:(xe,de,t)=>{"use strict";t.d(de,{b:()=>_});var e=t(80583),n=t(26513),E=t(35146),O=t(43848),B=t(59859),P=t(83915),k=t(75707),U=t(10174),r=t(14714),A=t(4208),l=t(99047),I=t(33367),S=t(26875),s=t(18320),M=t(18433),u=t(76449),x=t(58527),p=t(51542),i=t(47766),o=t(78812);let _=(()=>{var f;class J{constructor(D,te,N,z,R,v){this.networkConfig=D,this.bridgeService=te,this.telemetryService=N,this.telemetryUtilService=z,this.distributedTracingUtilService=R,this.lbrCancelled$=new e.B7,this.retriggerPolicy$=new n.t(M.RsW.Manual),this.logger=v.getLogger("gfn/serverRouting"),this.isLbrInProgress=!1,this.lbrRun=!1}get isLbrRequired(){return this.lbrRequired}set isLbrRequired(D){this.lbrRequired=D}get isLbrRun(){return this.lbrRun}resetLbrStatus(){this.lbrRequired=!1,this.lbrRun=!1}setRetriggerPolicy(D){this.retriggerPolicy$.next(D)}getCachedServerZone(){const D=[this.networkConfig.getNetworkOverride(),this.networkConfig.getCurrentCachedZone()];return(0,E.yU)(...D).pipe((0,P.T)(te=>{const[N,z]=te;return(0,S.isNil)(N)?(this.logger.info("DiskCachedZone is: ",z," and cachedZone is: ",this.cachedZone),(0,S.isNil)(this.cachedZone)?z:this.cachedZone):(this.logger.info("Latency-based routing override found.",N),N)}))}getFastestRegionalZone(D,te,N){const z=(0,S.keys)(te);this.isLbrInProgress=!0;const R={user:D.userId,deviceId:D.deviceId,platformId:D.platformId,addresses:z},v=this.cacheZoneList(te),h=this.networkConfig.getNetworkOverride(),W=this.networkConfig.getCurrentCachedLatencies();return(0,E.yU)(v,h,W).pipe((0,k.ZZ)(([,ne,ee])=>(0,S.isNil)(ne)?(this.logger.info("override zone is not found, run LBR"),(0,S.isNil)(N)||this.distributedTracingUtilService.setSpanAttribute(N,u.NS.UsedLatencyBasedRouting,!0),this.performLbr(R,te,ne,D.defaultZone)):(this.logger.info("Latency-based routing override found: ",ne),(0,S.isNil)(N)||(this.logger.info("Setting isLBRRun to false"),this.distributedTracingUtilService.setSpanAttribute(N,u.NS.UsedLatencyBasedRouting,!1)),this.performLbr(R,te,ne,D.defaultZone).pipe((0,U.u)(ne),(0,r.W)(b=>(this.logger.error("Failed to perform LBR, returning overriden zone.",b),(0,O.of)(ne)))))))}shouldLbrRun(D){if((0,S.isEmpty)(D))return this.logger.info("Call to ServerInfo failed, therefore run LBR."),this.setRetriggerPolicy(M.RsW.ServerInfoFailed),this.cacheZoneList(D).pipe((0,U.u)(!0));const te=[this.networkConfig.getZoneList(),this.networkConfig.getCurrentFingerprintInfo()];return(0,E.yU)(...te).pipe((0,k.ZZ)(([N,z])=>{const R=(0,S.isNil)(this.cachedZone)&&!(0,S.isNil)(z)?z.lbrZone:this.cachedZone,v=(0,S.keys)(D),h=(0,S.keys)(N);let W=!1;return(0,S.isNil)(z)?(this.logger.info("This fingerprint is observed for the first time, on which LBR was never run."),this.setRetriggerPolicy(M.RsW.FingerprintChanged),W=!0):(0,S.isEmpty)(N)||(0,S.isNil)(z.zonesLatencies)||-1===(0,S.keys)(z.zonesLatencies)[0].indexOf(".")?(this.logger.info("Zone list or zonesLatencies not saved, therefore run LBR."),this.setRetriggerPolicy(M.RsW.ZoneListEmpty),W=!0):(0,S.isNil)(R)?(this.logger.info("The user didn't have a cached zone, therefore run LBR."),this.setRetriggerPolicy(M.RsW.CachedZoneNotStored),W=!0):v.includes(R.address)?(0,S.difference)(v,h).length>0&&(this.logger.info("New zones have been added to the pool."),this.setRetriggerPolicy(M.RsW.NewZonesAdded),W=!0):(this.logger.info("The user's cached zone is no longer available."),this.setRetriggerPolicy(M.RsW.CachedZoneNotAvailable),W=!0),this.cacheZoneList(D).pipe((0,U.u)(W))}),(0,r.W)(N=>(this.logger.error("Error trying to determine if LBR should run, therefore run LBR.",N),this.setRetriggerPolicy(M.RsW.PolicyCheckFailed),this.cacheZoneList(D).pipe((0,U.u)(!0)))))}cacheZoneList(D){return this.networkConfig.setZoneList(D).pipe((0,P.T)(()=>(this.logger.info("Successfully stored zone list in shared storage"),!0)),(0,r.W)(te=>(this.logger.warn("Failed to store zone list: ",te),(0,O.of)(!1))))}performLbr(D,te,N,z){if((0,S.isEmpty)(te))return this.logger.error("Cannot perform latency based routing as zones is empty"),(0,B.$)("zones is empty.");this.lbrRun=!0;const R=Date.now();return this.networkConfig.getFingerprint().pipe((0,k.ZZ)(v=>this.bridgeService.executeCommand(I.Ts.Gfn.Serverrouting.PerformRouting,D).pipe((0,A.Q)(this.lbrCancelled$),(0,k.ZZ)(h=>{this.cachedZone=te[null==h?void 0:h.url],this.cachedZone.defaultZone=z;const W=this.networkConfig.setCachedZone(v,this.cachedZone).pipe((0,k.ZZ)(ee=>h.cacheResult?(this.isLbrInProgress=!1,(0,O.of)(ee)):this.networkConfig.clearFingerprintCachedZone(v))),ne=this.networkConfig.setCachedLatencies(v,h.results);return this.logRoutingSuccess(h),(0,E.yU)(W,ne).pipe((0,k.ZZ)(()=>this.sendRoutingStatusTelemetry(h,N,h.cacheResult?M.fbu.Success:M.fbu.Other,R)),(0,U.u)(this.cachedZone))}),(0,r.W)(h=>{const W=h,ne=(()=>{try{return JSON.parse(W.message)}catch{return this.logger.error(`Unable to determine error from ${W.message}`),{results:s.HV,ipAddresses:s.HV,networkSessionId:s.HV,resultCode:W.code,resultText:W.message}}})();this.logRoutingFailure(ne);const ee=this.networkConfig.clearFingerprintCachedZone(v),b=this.networkConfig.setCachedLatencies(v,ne.results);return(0,E.yU)(ee,b).pipe((0,k.ZZ)(()=>(this.cachedZone=null,this.sendRoutingStatusTelemetry(ne,N,M.fbu.ClientError,R))),(0,k.ZZ)(()=>(0,B.$)(h)))}))))}getRoutingInfoWithPolicy(D){return this.retriggerPolicy$.pipe((0,l.$)(),(0,P.T)(te=>(D.policy=te,D)))}sendRoutingStatusTelemetry(D,te,N,z){const R={clientType:this.telemetryUtilService.getClientType(),serverRecommendedZone:"",clientRecommendedZone:D.url||"",clientRecommendedZoneLatency:D.latency||0,results:D.results,ipAddresses:D.ipAddresses,status:N,errorCode:""+D.resultCode,errorDetails:D.resultText,networkSessionId:D.networkSessionId,totalMs:Date.now()-z,overrideZone:(0,S.isNil)(te)?"":te.address,overrideActive:(0,S.isNil)(te)?M.T80.FALSE:M.T80.TRUE};return this.getRoutingInfoWithPolicy(R).pipe((0,P.T)(v=>this.telemetryService.push(new M.Q2O(v))))}logRoutingSuccess(D){this.logger.info(`Latency-based routing ${D.cacheResult?"":"partially"} succeeded with code: '${D.resultText}'`),this.logger.info(`Least latency zone is ${D.url} with ${D.latency}ms`),this.logger.info("Results",D.results),this.logger.info("IP addresses",D.ipAddresses)}logRoutingFailure(D){this.logger.error(`Latency-based routing failed with code: '${D.resultText}'`),this.logger.info("Results",D.results),this.logger.info("IP addresses",D.ipAddresses)}cleanupOnCancel(){return this.lbrCancelled$.next(),this.isLbrInProgress?this.networkConfig.clearCurrentFingerprintCachedZone():(0,O.of)(!0)}}return(f=J).\u0275fac=function(D){return new(D||f)(x.KVO(p.u),x.KVO(i.NZ),x.KVO(o.H0),x.KVO(M.jgD),x.KVO(u.Z1),x.KVO(i.J6))},f.\u0275prov=x.jDH({token:f,factory:f.\u0275fac,providedIn:"root"}),J})()},20038:(xe,de,t)=>{"use strict";t.d(de,{Bx:()=>J,CB:()=>Z,DN:()=>i,Fu:()=>g,I2:()=>l,JW:()=>A,L4:()=>L,Ls:()=>O,M0:()=>Y,SB:()=>B,SS:()=>y,TE:()=>M,TK:()=>S,UT:()=>b,UW:()=>a,YE:()=>X,_R:()=>o,aG:()=>v,d6:()=>T,eW:()=>P,gY:()=>W,im:()=>r,ir:()=>p,m$:()=>I,nQ:()=>q,oN:()=>_,oY:()=>s,sN:()=>c,sj:()=>x,wp:()=>z,x1:()=>H,y9:()=>u,yN:()=>ne,zA:()=>h,ze:()=>k});var e=t(33367),n=t(31877),E=t(36206),O=function(d){return d[d.Loading=0]="Loading",d[d.Ready=1]="Ready",d}(O||{}),B=function(d){return d.Balanced="balanced",d.DataSaver="dataSaver",d.Competitive="competitive",d.Custom="custom",d}(B||{}),P=function(d){return d.balanced="BALANCED",d.dataSaver="DATA_SAVER",d.competitive="COMPETITIVE",d.custom="BALANCED",d}(P||{}),k=function(d){return d.Low="Low",d.Medium="Medium",d.High="High",d.Off="Off",d}(k||{}),U=function(d){return d.Standard="Standard",d.Enhanced="Enhanced",d.AiEnhanced="AI-enhanced",d.NvScaler="NvScaler",d.NvSharpen="NvSharpen",d}(U||{}),r=function(d){return d.Standard="Standard",d.Enhanced="Enhanced",d.AiEnhanced="AiEnhanced",d.NvScaler="NvScaler",d.NvSharpen="NvSharpen",d}(r||{}),A=function(d){return d.Warnings="WARNINGS",d.On="ON",d.Off="OFF",d}(A||{}),l=function(d){return d.Logical="Logical",d.Physical="Physical",d}(l||{});const I=[{value:!0,displayName:"common.auto",enabled:!0},{value:!1,displayName:"settings.streamingProfiles.custom",enabled:!0}],S=[{value:e.Or.Gfn.Streaming.HdrStreamingMode.HDR10_PLUS_GAMING,label:"settings.streamingProfiles.hdr.hdr10PlusGaming",upsellFlag:n.q3.SUPPORT_HDR10_PLUS_GAMING,enabled:!1},{value:e.Or.Gfn.Streaming.HdrStreamingMode.HDR,label:"settings.streamingProfiles.hdr.hdr10",upsellFlag:n.q3.SUPPORT_HDR,enabled:!1},{value:e.Or.Gfn.Streaming.HdrStreamingMode.OFF,label:"common.off",enabled:!0}];var L=function(d){return d.Resolution="UpScalingResolutionId",d.AiSharpness="AiSharpnessValue",d.EnhSharpness="EnhancedSharpnessValue",d}(L||{});const s={BlockName:"appSettingsConfig",LatencyPropertyName:"advancedLatencyOptimization",DirectInputPropertyName:"directInput",NetworkQuality:"networkQuality",PlayWithMobileNetwork:"playWithMobileNetwork",StreamingProfiles:"streamingProfiles",CustomProfile:"customProfile",DiscordRichPresence:"discordRpEnabled",DirectInputCatalinaOsOrHigher:"directInputCatalinaOsOrHigher",InGameGraphics:"inGameGraphics",UpScalingResolutionId:"upScalingResolutionId",AiSharpnessValue:"aiSharpnessValue",EnhancedSharpnessValue:"enhancedSharpnessValue",UpscalingModeUpdatedByUser:"upscalingModeUpdatedByUser",ClipboardPaste:"clipboardPaste",UdsSnoozeStopDateTime:"udsSnoozeStopDateTime",CustomModeHdr:"customModeHdr",CustomModeReflex:"customModeReflex",CustomModeCloudGsync:"customModeCloudGsync",PreferredGameLanguage:"preferredGameLanguage"},M={OFF:{value:0,displayName:"common.off"},WARNINGS:{value:1,displayName:"settings.network.networkQualitySettingWarnings"}},u={advancedLatencyOptimization:!1,directInput:!0,networkQuality:M.WARNINGS.value,playWithMobileNetwork:!1,discordRpEnabled:!0,directInputCatalinaOsOrHigher:!1,clipboardPaste:!1},x={BALANCED:{value:B.Balanced,displayName:"settings.streamingProfiles.balanced",translatedDisplayName:""},DATA_SAVER:{value:B.DataSaver,displayName:"settings.streamingProfiles.dataSaver",translatedDisplayName:""},COMPETITIVE:{value:B.Competitive,displayName:"settings.streamingProfiles.competitive",translatedDisplayName:""},CUSTOM:{value:B.Custom,displayName:"settings.streamingProfiles.custom",translatedDisplayName:""}},p={OFF:{id:0,label:"common.off",value:4,name:k.Off},LOW:{id:1,label:"settings.resolutionUpscaling.sharpnessLow",value:0,name:k.Low},MEDIUM:{id:2,label:"settings.resolutionUpscaling.sharpnessMed",value:2,name:k.Medium},HIGH:{id:3,label:"settings.resolutionUpscaling.sharpnessHigh",value:3,name:k.High}},i={STANDARD:{id:0,checked:!1,disabled:!1,value:U.Standard,displayName:"settings.resolutionUpscaling.standard",resolutionInfo:"settings.resolutionUpscaling.standardInfo"},ENHANCED:{id:1,checked:!0,disabled:!1,value:U.Enhanced,displayName:"settings.resolutionUpscaling.enhanced",resolutionInfo:"settings.resolutionUpscaling.enhancedInfo"},AI_ENHANCED:{id:2,checked:!1,disabled:!1,value:U.AiEnhanced,displayName:"settings.resolutionUpscaling.aiEnhanced",resolutionInfo:"settings.resolutionUpscaling.aiInfo",error:{1:"",2:"settings.resolutionUpscaling.aiWarning.dispFlagErrMinDrv",4:"",8:"",16:"",32:"",64:"",128:"settings.resolutionUpscaling.aiWarning.dispFlagErrNvPixelsLoad",512:"",1024:"",4096:""}},NV_SCALER:{id:3,value:U.NvScaler},NV_SHARP:{id:4,value:U.NvSharpen}},o={ValueOff:{value:0,displayName:"common.off",enabled:!0},ValueOn:{value:1,displayName:"settings.streamingProfiles.on",enabled:!0},ValueAdaptive:{value:2,displayName:"settings.streamingProfiles.adaptive",enabled:!0}},_=[o.ValueOff,o.ValueOn,o.ValueAdaptive],J={value:8,enabled:!1},a={value:10,enabled:!1},z={balanced:{name:B.Balanced,description:"settings.streamingProfiles.balancedDescription",width:1920,height:1080,fps:60,maxBitrate:0,dataUsage:10,drc:!0,vSync:o.ValueAdaptive.value,networkInfo:{}},dataSaver:{name:B.DataSaver,description:"settings.streamingProfiles.dataSaverDescription",width:1280,height:720,fps:60,maxBitrate:12,dataUsage:4,drc:!0,vSync:o.ValueAdaptive.value,networkInfo:{}},competitive:{name:B.Competitive,description:"settings.streamingProfiles.competitiveDescription",width:1280,height:720,fps:60,maxBitrate:0,dataUsage:6,drc:!0,vSync:o.ValueOff.value,networkInfo:{}}},v={Value240:{value:240,displayName:"240 FPS",enabled:!1},Value120:{value:120,displayName:"120 FPS",enabled:!1},Value60:{value:60,displayName:"60 FPS",enabled:!0},Value30:{value:30,displayName:"30 FPS",enabled:!0}},h=59,W=119,ne=" FPS",ee={Ar_16_10:1.6,Ar_16_9:16/9,Ar_4_3:4/3,Ar_5_4:5/4,Ar_19_5_9:2.15,Ar_24_10:2.4,Ar_32_9:32/9,Ar_21_9_1:3440/1440,Ar_21_9_2:2560/1080,Ar_21_9_3:1680/720},b=[{ratio:ee.Ar_16_10,formattedRatio:"(16:10)"},{ratio:ee.Ar_16_9,formattedRatio:"(16:9)"},{ratio:ee.Ar_4_3,formattedRatio:"(4:3)"},{ratio:ee.Ar_5_4,formattedRatio:"(5:4)"},{ratio:ee.Ar_19_5_9,formattedRatio:"(19.5:9)"},{ratio:ee.Ar_24_10,formattedRatio:"(24:10)"},{ratio:ee.Ar_32_9,formattedRatio:"(32:9)"},{ratio:ee.Ar_21_9_1,formattedRatio:"(21:9)"},{ratio:ee.Ar_21_9_2,formattedRatio:"(21:9)"},{ratio:ee.Ar_21_9_3,formattedRatio:"(21:9)"}],Z={bitRateMin:5,bitRateMax:75};var Y=function(d){return d.maxBitrate="maxBitrate",d.maxBitrateValue="maxBitrateValue",d.resolution="resolution",d.frameRate="frameRate",d.drc="drc",d.vSync="vSync",d.hdr="hdr",d.reflex="reflex",d.cloudGsync="cloudGsync",d.l4s="l4s",d.bitDepth="bitDepth",d}(Y||{});const q=[n.q3.BETTER_PRODUCT,n.q3.HIGHER_RESOLUTION,n.q3.HIGHER_FPS,n.q3.SUPPORT_HDR,n.q3.SUPPORT_HDR10_PLUS_GAMING,n.q3.LOWER_SESSION_QUEUE_WAIT_TIME,n.q3.HIGHER_SESSION_LENGTH,n.q3.SUPPORT_IN_GAME_SETTINGS_PERSISTENCE,n.q3.SUPPORT_CLOUD_GSYNC],T=[...q,n.q3.SUPPORT_REFLEX];var H=function(d){return d[d.PROFILE_MAXBITRATE=99]="PROFILE_MAXBITRATE",d[d.PROFILE_RESOLUTION=100]="PROFILE_RESOLUTION",d[d.PROFILE_FPS=101]="PROFILE_FPS",d}(H||{});const y=[{id:H.PROFILE_MAXBITRATE,label:"settings.streamingProfiles.maxBitrate",displayByDefault:!0},{id:H.PROFILE_RESOLUTION,label:"settings.streamingProfiles.resolution",displayByDefault:!0,hasBadgeImage:!0},{id:H.PROFILE_FPS,label:"settings.streamingProfiles.framerate",displayByDefault:!0},{id:n.tk.PROFILE_VSYNC,label:"settings.streamingProfiles.vSync",displayByDefault:!0,clientFeatureToggleKey:"platformSupportVsync"},{id:n.tk.PROFILE_CLOUD_GSYNC,entitlementFlag:n.N1.CLOUD_GSYNC,upsellFlag:n.q3.SUPPORT_CLOUD_GSYNC,kbaLinkRedirect:E.r7.GfnPcCloudGsyncLearnMore},{id:n.tk.PROFILE_REFLEX,label:"settings.streamingProfiles.reflex",entitlementFlag:n.N1.ENABLED_REFLEX,upsellFlag:n.q3.SUPPORT_REFLEX},{id:n.tk.PROFILE_HDR_VERSION,label:"settings.streamingProfiles.hdrStreaming",entitlementFlag:n.N1.SUPPORTED_HDR_VERSION},{id:n.tk.PROFILE_BIT_DEPTH,label:"settings.streamingProfiles.colorPrecision",entitlementFlag:n.N1.BIT_DEPTH,upsellFlag:n.q3.HIGHER_BIT_DEPTH},{id:n.tk.PROFILE_ADJUST_FOR_NETWORK,label:"settings.streamingProfiles.drc",displayByDefault:!0},{id:n.tk.PROFILE_L4S,label:"settings.streamingProfiles.l4sSetting",entitlementFlag:n.N1.ENABLED_L4S,upsellFlag:n.q3.SUPPORT_L4S,kbaLinkRedirect:E.r7.GfnPcl4sLearnMore,shortUrl:E.lp[E.r7.GfnPcl4sLearnMore]}],X=[{id:H.PROFILE_MAXBITRATE,label:"settings.streamingProfiles.maxBitrate",displayByDefault:!0},{id:H.PROFILE_RESOLUTION,label:"settings.streamingProfiles.resolution",displayByDefault:!0,hasBadgeImage:!0},{id:H.PROFILE_FPS,label:"settings.streamingProfiles.framerate",displayByDefault:!0},{id:n.tk.PROFILE_VSYNC,label:"settings.streamingProfiles.vSync",displayByDefault:!0,clientFeatureToggleKey:"platformSupportVsync"},{id:n.tk.PROFILE_ADJUST_FOR_NETWORK,label:"settings.streamingProfiles.drc",displayByDefault:!0}],c={platformSupportsCloudGsync:!1,isVrrCapableDisplay:!1,isGsyncDisplay:!1,cloudGsyncDependencies:{osSupportsCloudGsync:!1,driverSupportsCloudGsync:!1,minFpsForCloudGsync:60}};var g=function(d){return d.UserAccount="UserAccount",d.Connections="Connections",d.Gameplay="Gameplay",d.System="System",d.About="About",d}(g||{})},8773:(xe,de,t)=>{"use strict";t.d(de,{UW:()=>s.UW,Bx:()=>s.Bx,UT:()=>s.UT,M0:()=>s.M0,Ls:()=>s.Ls,TE:()=>s.TE,SB:()=>s.SB,ir:()=>s.ir,d5:()=>h,DN:()=>s.DN,SC:()=>x,L4:()=>s.L4,y9:()=>s.y9,Fu:()=>s.Fu,h$:()=>N,oY:()=>s.oY,ze:()=>s.ze,xf:()=>W.x,im:()=>s.im,_R:()=>s._R});var e=t(26875),n=t(80583),E=t(3496),O=t(43848),B=t(31315),P=t(75707),k=t(65706),U=t(91384),r=t(14714),A=t(83915),l=t(53461),I=t(55833),S=t(47766),L=t(33367),s=t(20038),M=t(18433),u=t(37543);class x{static getUpScaleSettingList(){return Object.values(u.DNU)}static getSharpnessList(){return Object.values(u.irY)}static getUpScaleSetting(ee){const b=x.getUpScaleSettingList().find(w=>w.id===ee);return b&&{...b,checked:!0}}static getSharpnessbyProperty(ee,b){return Object.values(u.irY).find(w=>w[b]===ee)||u.irY.LOW}static getSharpnessbyId(ee){return x.getSharpnessbyProperty(ee,"id")}static getSharpnessbyValue(ee){return x.getSharpnessbyProperty(ee,"value")}static isEnhanced(ee){return ee===u.DNU.ENHANCED.id}static isAiEnhanced(ee){return ee===u.DNU.AI_ENHANCED.id}static isNvScaler(ee){return ee===u.DNU.NV_SCALER.id}static isNvSharpen(ee){return ee===u.DNU.NV_SHARP.id}static isNvScalerOrNvSharpen(ee){return x.isNvScaler(ee)||x.isNvSharpen(ee)}static isSharpnessOff(ee){return ee.name===u.zeh.Off}}class p{static getTelemetrySettingDescription(ee,b){let w="";switch(ee){case s.oY.UpScalingResolutionId:w=x.getUpScaleSetting(b).value;break;case s.oY.AiSharpnessValue:case s.oY.EnhancedSharpnessValue:w=x.getSharpnessbyValue(b).name;break;case s.oY.UpscalingModeUpdatedByUser:w=b?M.T80.TRUE:M.T80.FALSE;break;case s.oY.NetworkQuality:w=this.getNetworkSettingTelemetryName(b);break;case s.oY.DiscordRichPresence:case s.oY.DirectInputPropertyName:case s.oY.InGameGraphics:case s.oY.CustomModeHdr:case s.oY.CustomModeReflex:case s.oY.CustomModeCloudGsync:w=this.getBooleanSettingTelemetryName(b);break;case s.oY.StreamingProfiles:case s.oY.PreferredGameLanguage:w=b}return w}static getNetworkSettingTelemetryName(ee){let b="";switch(ee){case 0:b=s.JW.Off;break;case 1:b=s.JW.Warnings;break;case 2:b=s.JW.On}return b}static getBooleanSettingTelemetryName(ee){return ee?M.Txn.Enabled:M.Txn.Disabled}}var i=t(50778),o=t(87687),_=t(58527),f=t(66348),J=t(78812),a=t(95346),D=t(61958),te=t(81834);let N=(()=>{var ne;class ee{get isConnectionsPageReady$(){return this.isConnectionsPageReadySubject.asObservable()}get showServerLocationCTA(){return this._showServerLocationCTA}set showServerLocationCTA(w){this._showServerLocationCTA=w}get showPreferredGameLanguageCTA(){return this._showPreferredGameLanguageCTA}set showPreferredGameLanguageCTA(w){this._showPreferredGameLanguageCTA=w}constructor(w,F,Z,se,Y,q,T,H,y){this.loggingService=w,this.sharedStorageService=F,this.bridgeService=Z,this.telemetryService=se,this.telemetryUtilService=Y,this.appConfig=q,this.systemInfoService=T,this.localeService=y,this.isConnectionsPageReadySubject=new n.B7,this._showServerLocationCTA=!1,this._showPreferredGameLanguageCTA=!1,this.logger=this.loggingService.getLogger("gfn/settingsService"),this.sharedSettingsStream=H.createStream(this.getSettingsData.bind(this)),this.bridgeService.executeCommand(L.Ts.Gfn.Streaming.VsyncToggle).subscribe(X=>{this.platformSupportsVsyncToggle=X}),(0,E.O)(this.appConfig.jsEvents.systemInfoEventDelay).pipe((0,P.ZZ)(X=>this.getPreferredGameLanguage$()),(0,k.s)(1),(0,U.M)(X=>this.telemetryUtilService.preferredGameLanguageSubject.next(X)),(0,r.W)(X=>(this.telemetryUtilService.preferredGameLanguageSubject.next({language:S.MY,isAuto:!0}),(0,O.of)(X)))).subscribe()}get networkWarningsEnabled$(){return this.sharedSettingsStream.get$().pipe((0,A.T)(w=>{var F;return(null!==(F=null==w?void 0:w.networkQuality)&&void 0!==F?F:s.y9.networkQuality)===s.TE.WARNINGS.value}),(0,l.F)())}setNetworkWarningsEnabled(w){this.logger.info(w?"Enabling":"Disabling","network warnings"),this.storeChangedSettings({settingType:s.oY.NetworkQuality,selectedOption:w?s.TE.WARNINGS.value:s.TE.OFF.value})}setPlayWithMobileNetworkEnabled(w){this.logger.info(w?"Enabling":"Disabling","play with mobile network"),this.storeChangedSettings({settingType:s.oY.PlayWithMobileNetwork,selectedOption:w})}getAutoGameLanguage$(){return(0,B.zV)([this.localeService.localeChanged,this.systemInfoService.getSystemInfo([S.Lu.UserDefaultUILanguage])]).pipe((0,A.T)(([w,F])=>({language:w===S.MY?F.UserDefaultUILanguage:w,isAuto:!0})))}getPreferredGameLanguage$(){return this.gameLanguagePreference$.pipe((0,P.ZZ)(w=>w.isAuto?this.getAutoGameLanguage$():(0,O.of)(w)))}get gameLanguagePreference$(){return this.sharedSettingsStream.get$().pipe((0,A.T)(w=>{var F,Z,se,Y;return{isAuto:null===(F=null==w||null===(Z=w.preferredGameLanguage)||void 0===Z?void 0:Z.startsWith(i.Lu))||void 0===F||F,language:null!==(se=null==w||null===(Y=w.preferredGameLanguage)||void 0===Y?void 0:Y.replace(i.Lu,""))&&void 0!==se?se:""}}),(0,r.W)(w=>(this.logger.error("Error fetching preferred language from shared settings",w),(0,O.of)({isAuto:!0,language:""}))),(0,l.F)((w,F)=>w.isAuto===F.isAuto&&w.language===F.language))}setPreferredGameLanguage(w,F){this.logger.info(`Setting preferred game language: ${F?i.Lu:""}${w}`),this.storeChangedSettings({settingType:s.oY.PreferredGameLanguage,selectedOption:F?i.Lu+w:w})}isVsyncChangedAndToggleSupported(){return void 0!==this.currentVsyncValue&&void 0!==this.firstVsyncValue&&this.currentVsyncValue!==this.firstVsyncValue&&!this.platformSupportsVsyncToggle}setVsyncValue(w){void 0===this.firstVsyncValue?this.firstVsyncValue=w:this.currentVsyncValue=w}resetVsyncChanged(){this.firstVsyncValue=void 0,this.currentVsyncValue=void 0}getLinksUrl(w,F){w===i.ni.OSS_LICENSES&&(F="en_US");const Z=this.appConfig.redirect.serverUrl+F+"&page="+w;return this.logger.info(w+"url",Z),Z}getIohidConfigurable(){return this.ioHidConfig$||(this.ioHidConfig$=this.bridgeService.executeCommand(L.Ts.Common.Applicationcontrol.ReadConfig,{appname:"GeForceNOW"}).pipe((0,I.t)(1))),this.ioHidConfig$}getSwitchValue(w,F){let Z=!1;return(0,e.toArray)(w).forEach(Y=>{if((0,e.includes)(Y,F))return Z="true"===Y.split("=")[1].trim(),Z}),Z}getSettingsData(){return this.sharedStorageService.readBlock(s.oY.BlockName)}storeChangedSettings(w,F=!0){const Z={};this.getSettingsData().subscribe(se=>{(0,e.isNull)(se)?(Z[w.settingType]=w.selectedOption,se=Z):se[w.settingType]=w.selectedOption,this.writeData(se,w,F)})}isCatalinaOsOrHigher(){return this.isMinCatalinaOs$||(this.isMinCatalinaOs$=this.systemInfoService.getSystemInfo([S.Lu.OSName,S.Lu.OSVersion]).pipe((0,A.T)(w=>{if(this.logger.info("current OS: ",w.OSName,w.OSVersion),"macos"===w.OSName.toLowerCase()){const F=w.OSVersion.split("."),Z=parseInt(F[0],10),se=parseInt(F[1],10);return Z>=10&&se>=15}return!1}),(0,I.t)(1))),this.isMinCatalinaOs$}getClientPlatform(){return this.clientPlatform$||(this.clientPlatform$=this.systemInfoService.getSystemInfo([S.Lu.Platform]).pipe((0,A.T)(w=>{let F;return F=S.zk.isAndroidPlatform()?"android":S.zk.isBrowserPlatform()?"browser":"desktop",F+w.Platform}),(0,I.t)(1))),this.clientPlatform$}writeData(w,F,Z=!0){this.sharedStorageService.writeBlock(s.oY.BlockName,w,!0).subscribe(se=>{Z&&this.sendTelemetry(F),this.sharedSettingsStream.refresh()},se=>{Z&&this.sendTelemetry(F,se.errorMessage)})}sendTelemetry(w,F=""){const Z={clientType:this.telemetryUtilService.getClientType(),settingLabel:w.settingType,settingValue:p.getTelemetrySettingDescription(w.settingType,w.selectedOption),errorDetails:F},se=new o.l1U(Z);this.telemetryService.push(se)}persistInGameGraphicsEnabled(){return this.getSettingsData().pipe((0,A.T)(w=>!(null==w||!w.inGameGraphics)&&w.inGameGraphics))}}return(ne=ee).\u0275fac=function(w){return new(w||ne)(_.KVO(S.J6),_.KVO(f.yQ),_.KVO(S.NZ),_.KVO(J.H0),_.KVO(a.j),_.KVO(D.Vk),_.KVO(S.zW),_.KVO(te.mZ),_.KVO(S.iH))},ne.\u0275prov=_.jDH({token:ne,factory:ne.\u0275fac,providedIn:"root"}),ee})();var z=t(85735),R=t(35146);const v=L.Ts.Gfn.Streaming;let h=(()=>{var ne;class ee{constructor(w,F,Z,se,Y){this.loggingService=w,this.bridgeService=F,this.settingsService=Z,this.telemetryService=se,this.appconfig=Y,this.isUpscalingVisibleSubject=new z.m(1),this.isAiSupportedSubject=new z.m(1),this.uiUpScaleDisplaySettingSubject=new z.m(1),this.aiSharpnessSettingSubject=new z.m(1),this.enhSharpnessSettingSubject=new z.m(1),this.nvScalerNvSharpSupportSubject=new z.m(1),this.logger=this.loggingService.getLogger("gfn/resolutionUpscaleService")}initialize(){this.setUpScalingOnAppLaunch()}saveSetting(w,F,Z=!1){this.settingsService.storeChangedSettings({settingType:u.oY8[w],selectedOption:F},Z),Z&&w===u.L4P.Resolution&&this.settingsService.storeChangedSettings({settingType:u.oY8.UpscalingModeUpdatedByUser,selectedOption:!0})}isValidId(w){return"number"==typeof w&&!Number.isNaN(w)}sendUpscalingErrorTelemetry(w,F){const Z={settingType:w,selectedOption:null};(0,R.yU)(this.telemetryService.getDefaultClientConsentObserable(),this.telemetryService.getCommonDataObservable()).pipe((0,k.s)(1)).subscribe(se=>{this.settingsService.sendTelemetry(Z,F.toString())})}getNvScalerNvSharpSupport(){return this.nvScalerNvSharpSupportSubject.asObservable()}setNvScalerNvSharpSupport(w){this.nvScalerNvSharpSupportSubject.next(w)}getUpscalingVisibility(){return this.isUpscalingVisibleSubject.asObservable()}setUpscalingVisibility(w){this.isUpscalingVisibleSubject.next(w)}getAiSupport(){return this.isAiSupportedSubject.asObservable()}setAiSupport(w){this.isAiSupportedSubject.next(w)}getUpScaleDisplaySetting(){return this.uiUpScaleDisplaySettingSubject.asObservable()}setUpScaleDisplaySetting(w){const F=x.isNvScalerOrNvSharpen(w.id)?u.DNU.ENHANCED:x.getUpScaleSetting(w.id);this.uiUpScaleDisplaySettingSubject.next(F)}getAiSharpnessSetting(){return this.aiSharpnessSettingSubject.asObservable()}setAiSharpnessSetting(w){this.aiSharpnessSettingSubject.next(w)}getEnhSharpnessSetting(){return this.enhSharpnessSettingSubject.asObservable()}setEnhSharpnessSetting(w){this.enhSharpnessSettingSubject.next(w)}setUpScalingOnAppLaunch(){const w={filterSupportList:x.getUpScaleSettingList().map(F=>({filterId:F.id}))};this.bridgeService.executeCommand(v.GetMagnificationFilterSupportList,w).pipe((0,k.s)(1)).subscribe(F=>{if(this.logger.info("Supported magnification filters.",F),F.filterSupportList){const Z=F.filterSupportList.find(H=>x.isEnhanced(H.filterId)),se=!(null==Z||!Z.MagnificationFilterSupport);if(this.setUpscalingVisibility(se),!se)return void this.sendUpscalingErrorTelemetry(u.im9.Enhanced,null==Z?void 0:Z.FrameFilterErrorInfo);const Y=F.filterSupportList.find(H=>x.isNvScaler(H.filterId)),q=F.filterSupportList.find(H=>x.isNvSharpen(H.filterId)),T=F.filterSupportList.find(H=>x.isAiEnhanced(H.filterId));this.handleUpScaleSetting(Y,q,T)}},F=>{this.logger.error("Magnification filter error.",F)})}handleUpScaleSetting(w,F,Z){const se=!(null==w||!w.MagnificationFilterSupport),Y=!(null==F||!F.MagnificationFilterSupport),q=!(null==Z||!Z.MagnificationFilterSupport),T=null==Z?void 0:Z.FrameFilterErrorInfo,H=u.DNU.AI_ENHANCED.error[T];this.setNvScalerNvSharpSupport({isNvScalerSupported:se,isNvSharpenSupported:Y}),this.setAiSupport({isAiSupported:q,aiErrorMessage:H}),this.settingsService.getSettingsData().pipe((0,k.s)(1)).subscribe(y=>{let X=null==y?void 0:y.upScalingResolutionId;const c=null==y?void 0:y.upscalingModeUpdatedByUser,g=x.getSharpnessbyValue(null==y?void 0:y.aiSharpnessValue),d=x.getSharpnessbyValue(null==y?void 0:y.enhancedSharpnessValue);if(this.setAiSharpnessSetting(g),this.setEnhSharpnessSetting(d),q||(this.sendUpscalingErrorTelemetry(u.im9.AiEnhanced,T),x.isAiEnhanced(X)&&(X=null)),this.isValidId(X)&&c)switch(this.setMagnificationFilter(X),X){case u.DNU.AI_ENHANCED.id:this.setSharpnessFilter(g);break;case u.DNU.ENHANCED.id:(se||Y)&&this.setSharpnessFilter(d)}else{const C=this.appconfig.resolutionUpscalingConfig.defaultOptionId;this.setMagnificationFilter(C),this.saveSetting(u.L4P.Resolution,C,!1),(se||Y)&&this.setSharpnessFilter(d)}},y=>{this.logger.error("Failed to get settings ",y)})}setMagnificationFilter(w){let F;(0,B.zV)([this.getNvScalerNvSharpSupport(),this.getEnhSharpnessSetting()]).pipe((0,k.s)(1)).subscribe(([Z,se])=>{!x.isSharpnessOff(se)&&x.isEnhanced(w)&&(F=Z.isNvScalerSupported&&u.DNU.NV_SCALER.id||Z.isNvSharpenSupported&&u.DNU.NV_SHARP.id),this.processMagnificationFilter(F||w)})}processMagnificationFilter(w){const F=x.getUpScaleSetting(w);F&&this.bridgeService.executeCommand(v.SetMagnificationFilter,{filterId:F.id}).pipe((0,k.s)(1)).subscribe(()=>{this.setUpScaleDisplaySetting(F),this.logger.info("Resolution upscaling changed to ",F.id,F.value)},se=>{this.logger.error("Failed to change resolution upscaling to ",F.id,F.value,se)})}setSharpnessFilter(w){const F=w.value;this.bridgeService.executeCommand(v.SetMagnificationFilterSharpness,{sharpness:F}).pipe((0,k.s)(1)).subscribe(()=>{this.logger.info("Sharpness changed to ",F)},se=>{this.logger.error("Failed to change sharpness to ",F,se)})}}return(ne=ee).\u0275fac=function(w){return new(w||ne)(_.KVO(S.J6),_.KVO(S.NZ),_.KVO(u.h$Q),_.KVO(J.H0),_.KVO(u.Vk6))},ne.\u0275prov=_.jDH({token:ne,factory:ne.\u0275fac,providedIn:"root"}),ee})();var W=t(74965)},74965:(xe,de,t)=>{"use strict";t.d(de,{x:()=>Y});var e=t(85735),n=t(80583),E=t(26513),O=t(36466),B=t(43848),P=t(31315),k=t(56237),U=t(36877),r=t(72147),A=t(91384),l=t(55833),I=t(8619),S=t(83915),L=t(65706),s=t(75707),M=t(14714),u=t(53461),x=t(73180),p=t(26875),o=t(56123),f=t(50961),a=t(47766),D=t(20038),te=t(33367),N=t(58202),z=t(31877),R=t(81834),v=t(81732),h=t(58527),W=t(66348),ne=t(21341),ee=t(61958),b=t(11346),w=t(27561),F=t(14043),Z=t(65240),se=t(45903);let Y=(()=>{var q;class T{get isStreamingProfileDataReady(){return this.isStreamingProfileDataReadySubject.asObservable()}set isStreamingProfileDataReady(y){this.isStreamingProfileDataReadySubject.next(y)}constructor(y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue,ae){this.loggingService=y,this.sharedStorageService=X,this.systemInfoService=c,this.bridgeService=g,this.networkConfigService=d,this.config=C,this.ecommerceService=Q,this.idmService=j,this.nativeEventService=le,this.redirectService=ge,this.lcarsService=ie,this.translateParser=ce,this.remoteConfigurationService=G,this.libLoggingService=ue,this.eventStreamFactory=ae,this.fpsList=[D.aG.Value60,D.aG.Value30],this.bitDepthListsSubject=new e.m(1),this.updatedPresetProfiles={...D.wp},this.updatedBitrateValues=D.CB,this.streamingProfileGuid=(0,R.bz)(),this.streamingProfileGuidSubject=new e.m(1),this.isPlatformSupportsHigherResolutions$=new e.m(1),this.isPlatformSupportsHigherFps$=new e.m(1),this.networkInfoSubject=new e.m(1),this.displayModeChanged$=new n.B7,this.gameFeaturePropertiesSubject$=new e.m(1),this.hdrDropdownListSubject=new e.m(1),this.hdrDecodeSupportedSubject$=new E.t(!1),this.hdrRenderingSupportedSubject$=new E.t([]),this.hdrLearnMoreUrlSubject$=new e.m(1),this.hdrStreamingModeSubject$=new e.m,this.isReflexToggleTurnedOffSubject$=new e.m,this.streamingModeSubject$=new e.m,this.reflexLearnMoreUrlSubject$=new e.m(1),this.upsellFlags={},this.deviceCapabilitiesReady$=new e.m(1),this.modeSelectionReady$=new e.m(1),this.availableResolutionList$=new e.m(1),this.subscriptionBitDepthList=[],this.supportedVsyncTypes$=new e.m(1),this.supportedProfileNames$=new e.m(1),this.uwResolutions=[],this.isPresetProfileDetailsExpanded=!1,this.isCustomProfileDetailsExpanded=!0,this.logger=this.loggingService.getLogger("streaming-profile.service"),this.isBrowserPlatform=a.zk.isBrowserPlatform(),this.isBrowserLikePlatform=a.zk.isBrowserLikePlatform(),this.isStreamingProfileDataReadySubject=new n.B7,this.updateConfigurationVariables(),this.registerEvents(),this.initializeMembers()}get networkInfo$(){return this.networkInfoSubject.asObservable()}get SupportedResolutionList(){return this.supportedResolutionList}get UnsupportedDisabledResolutionsList(){return this.unsupportedDisabledResolutionsList}get IsPlatformSupportsHDRDecode(){return this.hdrDecodeSupportedSubject$.value}get platformSupportedHDRRendering(){return this.hdrRenderingSupportedSubject$.value}get IsPlatformSupportsCloudGsync(){var y;return null===(y=this.cloudGsyncCapabilities)||void 0===y?void 0:y.platformSupportsCloudGsync}get IsVrrDisplayDetected(){var y;return null===(y=this.cloudGsyncCapabilities)||void 0===y?void 0:y.isVrrCapableDisplay}get isGsyncDisplay(){var y;return null===(y=this.cloudGsyncCapabilities)||void 0===y?void 0:y.isGsyncDisplay}get CloudGsyncDependencies(){var y;return null===(y=this.cloudGsyncCapabilities)||void 0===y?void 0:y.cloudGsyncDependencies}get minFpsForReflexWithoutVrr(){return this.deviceCapabilities.features.minimumFpsForReflexWithoutVrr}getAvailableResolutionList(){return this.availableResolutionList$.asObservable()}initializeStreamingProfiles$(y=!1){return this.initializeStreamingProfilesObservable$||(this.initializeStreamingProfilesObservable$=this.subscriptionInfoStream.get$().pipe((0,r.n)(X=>(this.updateStreamingModeFromEntitlementData(),this.getDeviceCapabilities$(X,y))),(0,A.M)(()=>{this.updateMaxBitrate(),this.updateBitDepthList()}),(0,l.t)(1))),this.initializeStreamingProfilesObservable$}clientModeSelectionLogCallback(y){this.libLoggingService.sendLog({logModule:"ClientModeSelection",timeStamp:"",logLevel:"d"===y.level?a.$b.DEBUG:"w"===y.level?a.$b.WARN:a.$b.INFO,logTag:y.tag,logStr:y.message})}setSubscriptionFeaturesAndGetResolutions(y){var X,c,g,d;this.subscriptionFeatures=null===(X=y.subscription)||void 0===X?void 0:X.features,this.subscriptionStreamingQualities=null===(c=y.subscription)||void 0===c?void 0:c.streamingQualities,this.subscriptionBitDepthList=this.getSubscriptionBitDepthList(this.subscriptionFeatures);let Q=null===(g=y.subscription)||void 0===g||null===(g=g.features)||void 0===g?void 0:g.resolutions;var j,le,ge;return y.membershipStatus!==N.OO.Entitled&&(Q=null===(j=y.unentitledUserData)||void 0===j?void 0:j.resolutions,Q=null===(le=Q)||void 0===le?void 0:le.map(ie=>({...ie,isEntitled:!0})),this.subscriptionFeatures={resolutions:Q,features:[]},this.subscriptionStreamingQualities=null===(ge=y.unentitledUserData)||void 0===ge?void 0:ge.streamingQualities),null===(d=Q)||void 0===d||d.sort(function(ie,ce){return ce.widthInPixels*ce.heightInPixels-ie.widthInPixels*ie.heightInPixels}),Q}initSubscriptionInfoStream(){this.subscriptionInfoStream=this.eventStreamFactory.createStream(()=>this.ecommerceService.getUserMembership().pipe((0,I.p)(y=>y.membershipStatus!==N.OO.UnKnown),(0,A.M)(()=>this.setPlatformSupportedHDRMode()),(0,S.T)(y=>this.setSubscriptionFeaturesAndGetResolutions(y)),(0,I.p)(y=>{const X=(null==y?void 0:y.length)>0&&!(0,p.isEqual)(y,this.lastProcessedResolutions);return this.lastProcessedResolutions=y,X}),(0,A.M)(()=>this.deviceCapabilitiesFetched$=null)))}setPlatformSupportedHDRMode(){const y=[];for(let X=0;X{const c=this.modeSelection.sortModes(y.map(d=>({width:d.widthInPixels,height:d.heightInPixels,fps:d.framesPerSecond})),{width:0,height:0,fps:0},[{field:"fps-abs",dir:"desc"},{field:"pixel-count-abs",dir:"desc"}]);return this.logger.info("GetDeviceCapabilities parameters: ",c),this.bridgeService.executeCommand(te.Ts.Gfn.Streaming.GetDeviceCapabilities,{supportedModes:c}).pipe((0,S.T)(d=>this.processDeviceCapabilitiesResponse(d)),(0,A.M)(()=>{this.supportedResolutionList=this.getSupportedResolutionsAndFpsList(y),this.availableResolutionList=this.supportedResolutionList.filter(d=>d.enabled),this.availableResolutionList$.next(this.availableResolutionList)}))}),(0,L.s)(1),(0,l.t)(1))),this.deviceCapabilitiesFetched$}processDeviceCapabilitiesResponse(y){var X,c;this.logger.info("GetDeviceCapabilities response: ",y),this.deviceCapabilities=y;const g=this.modeSelection.getSupportedVsyncTypes(this.deviceCapabilities);this.createSupportedVsyncList(g),this.createProfileNamesList(g);const d=this.deviceCapabilities.features.bitDepth>=10,C=d&&this.deviceCapabilities.features.hdr,Q=d&&!(0,p.isUndefined)(null===(X=this.deviceCapabilities.features)||void 0===X||null===(X=X.hdr10PlusGamingData)||void 0===X?void 0:X.version)&&0!==(null===(c=this.deviceCapabilities.features)||void 0===c||null===(c=c.hdr10PlusGamingData)||void 0===c?void 0:c.version);this.hdrDecodeSupportedSubject$.next(d);const j=[];Q&&j.push(te.Or.Gfn.Streaming.HdrStreamingMode.HDR10_PLUS_GAMING),C&&j.push(te.Or.Gfn.Streaming.HdrStreamingMode.HDR),this.hdrRenderingSupportedSubject$.next(j);const le=this.modeSelection.isResolutionSupported(this.deviceCapabilities,this.unsupportedResolutionIdentifier.width,this.unsupportedResolutionIdentifier.height),ge=this.modeSelection.isFpsSupported(this.deviceCapabilities,this.unsupportedFpsIdentifier);return this.isPlatformSupportsHigherResolutions$.next(le),this.isPlatformSupportsHigherFps$.next(ge),this.logger.info("platformSupportedHDR decode, rendering modes, uhdSupported, fpsSupported for fpsValue: ",d,j,le,ge,this.unsupportedFpsIdentifier),this.deviceCapabilitiesReady$.next(),!0}createSupportedVsyncList(y){const X=D.oN.filter(c=>y.includes(c.value));this.supportedVsyncTypes$.next(X)}createProfileNamesList(y){this.isBrowserLikePlatform||(y.some(X=>X===D._R.ValueOff.value)?this.supportedProfileNames$.next([D.sj.BALANCED,D.sj.DATA_SAVER,D.sj.COMPETITIVE,D.sj.CUSTOM]):this.supportedProfileNames$.next([D.sj.BALANCED,D.sj.DATA_SAVER,D.sj.CUSTOM]))}getCachedGxtOverrides(){return this.remoteConfigurationService.loadPreviousOverrides().pipe((0,S.T)(y=>null!=y&&y.data&&null!=y&&y.isFetchedFromGXT?JSON.stringify(y.data):(this.logger.info("No GXT overrides available."),"")),(0,L.s)(1))}initializeMembers(){this.initSubscriptionInfoStream(),this.initializeStreamingProfiles$().subscribe(O.l,O.l),this.initializeHdrDropdownList().subscribe(),this.previousStreamingProfile=this.getSpecificPresetProfile(),this.gameFeaturePropertiesInitialized$().subscribe(),this.getCachedGxtOverrides().pipe((0,s.ZZ)(y=>{let X;return this.modeSelection=new f.ClientModeSelection(y),this.modeSelection.setLogCallback(c=>this.clientModeSelectionLogCallback(c)),""!==y?(X={gxtOverrideData:y},this.bridgeService.executeCommand(te.Ts.Gfn.Streaming.ConfigureStreamingSettings,X)):(this.logger.info("configureStreaming remote overrides are not from GXT"),(0,B.of)(""))})).subscribe(()=>this.modeSelectionReady$.next())}registerEvents(){this.idmService.accountStatusChanged.subscribe(()=>{this.logger.info("Streaming profile reset for user account change."),this.initializeStreamingProfilesObservable$=null,this.clearCachedStreamingProfile()}),this.displayModeChangeListener$().pipe((0,A.M)(()=>this.logger.info("Received Display mode changed event.")),(0,s.ZZ)(()=>this.subscriptionInfoStream.get$()),(0,s.ZZ)(y=>this.getDeviceCapabilities$(y,!0)),(0,s.ZZ)(()=>this.fetchPlatformSupportCloudGsync$(!0)),(0,s.ZZ)(()=>this.systemInfoService.getSystemInfo([a.Lu.Display],!0))).subscribe(()=>{this.displayModeChanged$.next(!0)},y=>{this.logger.error("Error in DisplayModeChange event.",y)}),this.systemInfoService.onNetworkChanged().subscribe(y=>{this.networkInfoSubject.next(y)})}updateStreamingModeFromEntitlementData(){Object.values(D.SB).filter(y=>y!==D.SB.Custom).forEach(y=>{const X=this.ecommerceService.getStreamingModeDetails(y);let c=this.updatedPresetProfiles[y];!X||!c||(c={...c,...X},this.updatedPresetProfiles[y]=c)})}updateMaxBitrate(){const y=this.ecommerceService.getMaxBitrate();y&&(this.updatedBitrateValues.bitRateMin=y.minBitrateValue,this.updatedBitrateValues.bitRateMax=y.maxBitrateValue)}updateBitDepthList(){const y=[],X=[];this.subscriptionBitDepthList.sort((g,d)=>d.value-g.value);const c=this.deviceCapabilities.features.sdrBitDepth||this.deviceCapabilities.features.bitDepth||D.Bx.value;this.subscriptionBitDepthList.forEach(g=>{g.value>c?(g.enabled=!1,X.push(g)):y.push(g)}),this.bitDepthListsSubject.next([y,X])}initializeHdrDropdownList(){return(0,P.zV)([this.hdrDecodeSupportedSubject$.asObservable(),this.hdrRenderingSupportedSubject$.asObservable()]).pipe((0,s.ZZ)(([y,X])=>{var c,g;const d=[],C=[],Q=[],j=null!==(c=null===(g=this.ecommerceService.getFeatureMetadata(z.N1.SUPPORTED_HDR_VERSION))||void 0===g?void 0:g.setValue)&&void 0!==c?c:[];!j.includes(te.Or.Gfn.Streaming.HdrStreamingMode.HDR)&&this.ecommerceService.isFeatureAvailableToUser(z.N1.HDR_ENABLED,z.q3.SUPPORT_HDR)&&j.push(te.Or.Gfn.Streaming.HdrStreamingMode.HDR);const le=new Map(D.TK.map((ie,ce)=>[ie.value,ce]));j.sort((ie,ce)=>le.get(ie)-le.get(ce));const ge=ie=>{const ce=!(null==ie||!ie.upsellFlag)&&this.ecommerceService.featureUpsellAvailable(ie.upsellFlag);ce||y&&X.some(G=>ie.value===G)?(ie.enabled=!ce,d.push(ie)):y?Q.push(ie):C.push(ie)};for(let ie=0;ie<(null==j?void 0:j.length);ie++){const ce=D.TK.find(G=>G.value===j[ie]);!ce||ce.value===te.Or.Gfn.Streaming.HdrStreamingMode.OFF||ge({...ce})}return d.push({...D.TK.find(ie=>ie.value===te.Or.Gfn.Streaming.HdrStreamingMode.OFF)}),this.hdrDropdownListSubject.next({supportedList:d,displayNotDetectedList:Q,unsupportedList:C}),this.fetchHdrModeState$(!0)}))}initializeGameFeatureProperties$(){return this.gameFeatureProperties$||(this.gameFeatureProperties$=(0,P.zV)([this.fetchHdrModeState$(),this.fetchHdrLearnMoreUrl$().pipe((0,L.s)(1)),this.deviceCapabilitiesReady$.asObservable(),this.fetchSelectedStreamingMode$(),this.fetchReflexLearnMoreUrl$().pipe((0,L.s)(1)),this.fetchReflexToggleState$()]).pipe((0,r.n)(()=>this.gameFeaturePropertiesSubject$.asObservable()),(0,l.t)(1))),this.gameFeatureProperties$}updateConfigurationVariables(){var y,X,c,g,d,C,Q,j,le,ge,ie,ce;const G=null===(y=this.config)||void 0===y||null===(y=y.client)||void 0===y||null===(y=y.streamingModeResolutionsConfiguration)||void 0===y?void 0:y.resolutionBadges;this.resolutionBadges=G?Object.entries(G).map(ue=>ue[1]):[],null!=G&&null!==(X=G.uwQHD)&&void 0!==X&&X.resolutions&&this.uwResolutions.push(...G.uwQHD.resolutions),null!=G&&null!==(c=G.uwFHD)&&void 0!==c&&c.resolutions&&this.uwResolutions.push(...G.uwFHD.resolutions),this.displayUnsupportedResolution=null===(g=this.config)||void 0===g||null===(g=g.client)||void 0===g||null===(g=g.streamingModeResolutionsConfiguration)||void 0===g?void 0:g.displayUnsupportedResolution,this.unsupportedFpsIdentifier=null===(d=this.config)||void 0===d||null===(d=d.client)||void 0===d||null===(d=d.streamingModeResolutionsConfiguration)||void 0===d?void 0:d.unsupportedFpsIdentifier,this.unsupportedResolutionIdentifier=null===(C=this.config)||void 0===C||null===(C=C.client)||void 0===C||null===(C=C.streamingModeResolutionsConfiguration)||void 0===C?void 0:C.unsupportedResolutionIdentifier,this.displayUnsupportedFps=null===(Q=this.config)||void 0===Q||null===(Q=Q.client)||void 0===Q||null===(Q=Q.streamingModeResolutionsConfiguration)||void 0===Q?void 0:Q.displayUnsupportedFps,this.platformSupportVsync=!(null===(j=this.config)||void 0===j||null===(j=j.client)||void 0===j||null===(j=j.streamingModeResolutionsConfiguration)||void 0===j||!j.platformSupportVsync),this.higherFpsUpsell=null===(le=this.config)||void 0===le||null===(le=le.client)||void 0===le||null===(le=le.streamingModeResolutionsConfiguration)||void 0===le?void 0:le.higherFpsUpsell,this.fallbackFpsUpsell=null===(ge=this.config)||void 0===ge||null===(ge=ge.client)||void 0===ge||null===(ge=ge.streamingModeResolutionsConfiguration)||void 0===ge?void 0:ge.fallbackFpsUpsell,this.higherResolutionUpsell=null===(ie=this.config)||void 0===ie||null===(ie=ie.client)||void 0===ie||null===(ie=ie.streamingModeResolutionsConfiguration)||void 0===ie?void 0:ie.higherResolutionUpsell,this.fallbackResolutionUpsell=null===(ce=this.config)||void 0===ce||null===(ce=ce.client)||void 0===ce||null===(ce=ce.streamingModeResolutionsConfiguration)||void 0===ce?void 0:ce.fallbackResolutionUpsell}gameFeaturePropertiesInitialized$(){return(0,P.zV)([this.getHdrStreamingMode$(),this.getHdrLearnMoreUrl$(),this.getIsPlatformSupportsHDRDecode$(),this.getIsPlatformSupportsHDRRendering$(),this.getStreamingMode$(),this.getReflexLearnMoreUrl$(),this.getIsReflexToggleTurnedOff$()]).pipe((0,S.T)(([y,X,c,g,d,C,Q])=>(this.gameFeaturePropertiesSubject$.next({hdrStreamingMode:y,hdrLearnMoreUrl:X,hdrDecodeSupported:c,hdrModesRenderSupported:g,streamingMode:d,reflexLearnMoreUrl:C,reflexToggledOff:Q}),!0)),(0,l.t)(1))}getIsPlatformSupportsHDRDecode$(){return this.hdrDecodeSupportedSubject$.asObservable()}getIsPlatformSupportsHDRRendering$(){return this.hdrRenderingSupportedSubject$.asObservable()}getHdrStreamingMode$(){return this.hdrStreamingModeSubject$.asObservable()}getHdrLearnMoreUrl$(){return this.hdrLearnMoreUrlSubject$.asObservable()}getStreamingMode$(){return this.streamingModeSubject$.asObservable()}getReflexLearnMoreUrl$(){return this.reflexLearnMoreUrlSubject$.asObservable()}getIsReflexToggleTurnedOff$(){return this.isReflexToggleTurnedOffSubject$.asObservable()}getStreamingProfileGuid(){return this.streamingProfileGuidSubject.asObservable()}updateStreamingProfileGuid(y){(0,p.isEqual)(y,this.previousStreamingProfile)||(this.streamingProfileGuid=(0,R.bz)(),this.previousStreamingProfile=y),this.streamingProfileGuidSubject.next(this.streamingProfileGuid)}getSpecificPresetProfile(y=D.SB.Balanced){return{...this.updatedPresetProfiles[y]}}getAutoMaxBitrateValue(y,X,c){const g=[];return g.push({frameRate:c,height:X,width:y}),this.getAutoMaxBitrateValueForResolutionArray(g).pipe((0,L.s)(1),(0,S.T)(d=>d[0].maxBandwidth))}getAutoMaxBitrateValueForResolutionArray(y){return this.bridgeService.executeCommand(te.Ts.Gfn.Streaming.PlatformGetMaxBitRateForArray,{resolutions:y}).pipe((0,L.s)(1),(0,S.T)(c=>{this.logger.info("PlatformGetMaxBitRateForArray response: ",c);const g=c.resolutions;return null==g||g.forEach(d=>{d.maxBandwidth=Math.round(d.maxBandwidth/1e3)}),g}),(0,M.W)(c=>{this.logger.error("Error in PlatformGetMaxBitRateForArray bridge command: ",c);const g=[];return y.forEach(d=>{g.push({width:d.width,height:d.height,fps:d.frameRate,maxBandwidth:0})}),(0,B.of)(g)}))}getResolutionLabel(y,X){var c;return null===(c=this.resolutionBadges.filter(g=>g.resolutions.some(d=>d.height===X&&d.width===y))[0])||void 0===c?void 0:c.badgeUrl}isCustomDataInSubscription(y){var X;const g=(null===(X=this.availableResolutionList)||void 0===X?void 0:X.some(d=>{var C;return d.height===y.height&&d.width===y.width&&(null===(C=d.fpsList)||void 0===C?void 0:C.some(Q=>Q.value===y.fps&&Q.enabled))}))&&this.isCustomModeFeaturesEntitled(y);return g||this.logger.info("Requested profile is not entitled, customData: ",y),g}isCustomModeFeaturesEntitled(y){const X=!(!(0,p.isUndefined)(y.cloudGsync)&&y.cloudGsync)||this.ecommerceService.featureEntitled(z.N1.CLOUD_GSYNC),c=!(!(0,p.isUndefined)(y.hdrStreamingMode)&&y.hdrStreamingMode!==te.Or.Gfn.Streaming.HdrStreamingMode.OFF)||this.ecommerceService.featureSetValueEntitled(z.N1.SUPPORTED_HDR_VERSION)||this.ecommerceService.featureEntitled(z.N1.HDR_ENABLED),g=!(!(0,p.isUndefined)(y.reflex)&&y.reflex)||this.ecommerceService.featureEntitled(z.N1.ENABLED_REFLEX),d=!(!(0,p.isUndefined)(y.l4sEnabled)&&y.l4sEnabled)||this.ecommerceService.featureEntitled(z.N1.ENABLED_L4S),C=!(!(0,p.isUndefined)(y.bitDepth)&&y.bitDepth!==D.Bx.value)||this.ecommerceService.featureArrayItemEntitled(z.N1.BIT_DEPTH,y.bitDepth);return this.logger.info("Requested profile features entitlements state: gsync, hdr, reflex, l4s, bitdepth: ",X,c,g,d,C),X&&c&&g&&d&&C}getProfileNamesList$(){return this.isBrowserLikePlatform?(0,B.of)([D.sj.BALANCED,D.sj.CUSTOM]):this.supportedProfileNames$.asObservable()}isVsyncSupported(){return!(a.zk.isAndroidPlatform()||a.zk.isBrowserPlatform())}calculateDataUsage(y,X,c,g){this.logger.info("Calculate data usage, params: ",y,X,c,g);const d={width:y,height:X,frameRate:c,bitRateKbps:1e3*g};if(a.zk.isAndroidPlatform()){let C=d.bitRateKbps;0===C&&(C=(0,o.CalculateMaxBitrateKbps)(d.width,d.height,d.frameRate));const Q=(0,o.CalculateDataUsage)(d.frameRate,C);return(0,B.of)(Q)}return this.bridgeService.executeCommand(te.Ts.Gfn.Streaming.CalculateDataUsage,d).pipe((0,L.s)(1),(0,S.T)(C=>(this.logger.info("CalculateDataUsage response: ",C),C.dataUsage)),(0,M.W)(C=>(this.logger.error("Error in CalculateDataUsage bridge command: ",C),(0,B.of)(0))))}getSubscriptionBitDepthList(y){var X;const c=null==y||null===(X=y.features)||void 0===X||null===(X=X.find(g=>g.key===z.N1.BIT_DEPTH))||void 0===X?void 0:X.textValue;return c?JSON.parse(c).map(C=>({value:JSON.parse(C.value),enabled:C.isEntitled})):[]}calculateAspectRatio(y,X,c=!0){const g=y/X;let d=D.UT[0];for(const C of D.UT)Math.abs(g-C.ratio){const c=X.Display,g=c[0].PhysicalResolution.split("x"),d=c[0].LogicalResolution.split("x");let C;return this.physicalResolution={width:parseInt(g[0],10),height:parseInt(g[1],10),fps:parseInt(c[0].RefreshRate,10)},C=y===D.I2.Logical?{width:parseInt(d[0],10),height:parseInt(d[1],10),fps:parseInt(c[0].RefreshRate,10)}:this.physicalResolution,this.config.featureEnablement.landscapeOnlyStreaming&&(C={...C,width:Math.max(C.width,C.height),height:Math.min(C.width,C.height)},this.physicalResolution={...this.physicalResolution,width:Math.max(this.physicalResolution.width,this.physicalResolution.height),height:Math.min(this.physicalResolution.width,this.physicalResolution.height)}),this.logger.info(`Primary display ${y} resolution: `,C),C})):this.bridgeService.executeCommand(te.Ts.Gfn.Streaming.GetDisplayMode).pipe((0,L.s)(1),(0,S.T)(X=>{let c;return this.physicalResolution={width:X.physical.width,height:X.physical.height,fps:X.physical.refreshRate},c=y===D.I2.Logical?{width:X.logical.width,height:X.logical.height,fps:X.logical.refreshRate}:this.physicalResolution,this.logger.info(`Active display mode ${y} resolution: `,X),c}))}getCurrentPhysicalResolution(){return this.physicalResolution?{horizontalPixels:this.physicalResolution.width,verticalPixels:this.physicalResolution.height}:null}mapToClientModeSelectionNetworkType(y){switch(y){case a.Sd.WiFi2_4:return 2;case a.Sd.WiFi5_0:return 3;case a.Sd.Ethernet:return 1}return 0}getModeSelectionProfileType(y=D.SB.Balanced){switch(y){case D.SB.Competitive:return 2;case D.SB.DataSaver:return 3;case D.SB.Custom:return 0}return 1}getStreamingProfileName(){return this.sharedStorageService.readBlock(D.oY.BlockName).pipe((0,S.T)(y=>{let X=y[D.oY.StreamingProfiles];return X=(0,p.isUndefined)(X)?D.SB.Balanced:X,X}))}getStreamingProfile(y=0,X){if(this.streamingProfile$&&0===y)return this.streamingProfile$;let c;return c=this.networkInfo$.pipe(0===y?(0,L.s)(1):(0,u.F)()),this.streamingProfile$=(0,P.zV)([this.sharedStorageService.readBlock(D.oY.BlockName).pipe((0,L.s)(1)),this.getPrimaryDisplayResolution().pipe((0,L.s)(1)),this.networkConfigService.getCurrentFingerprintMaxDisplay().pipe((0,L.s)(1)),this.networkConfigService.getCurrentFingerprintMaxPacketSize().pipe((0,L.s)(1)),c,this.initializeStreamingProfiles$().pipe((0,L.s)(1))]).pipe((0,s.ZZ)(([g,d,C,Q,j,le])=>{var ge;this.settingsBlock=(0,p.merge)({},g);const ie=null!==(ge=null!=X?X:this.settingsBlock[D.oY.StreamingProfiles])&&void 0!==ge?ge:D.SB.Balanced;let ue,ce=this.getModeSelectionProfileType(ie),G=!1;if(ie===D.SB.Custom){const ve=this.settingsBlock[D.oY.CustomProfile];!(0,p.isUndefined)(ve)&&this.isCustomDataInSubscription(ve)?(ue={...ve},null!=ve.l4sEnabled&&(ue.l4sEnabled=ve.l4sEnabled&&ve.drc),(0,p.isUndefined)(null==ve?void 0:ve.hdrStreamingMode)?delete ue.hdrStreaming:ue.hdrStreaming=ve.hdrStreamingMode!==te.Or.Gfn.Streaming.HdrStreamingMode.OFF):((0,p.isUndefined)(ve)||(G=!0),ce=1)}let ae=this.getSpecificPresetProfile(ie!==D.SB.Custom?ie:D.SB.Balanced);const Ce=this.modeSelection.parseSubscription(this.subscriptionFeatures,this.subscriptionStreamingQualities),{desired:Se,options:Ne}=Ce.get(ce);return ue&&(ae={...ae,...ue},Se.fps=ae.fps,Se.height=ae.height,Se.width=ae.width,Ne.desiredFeatures.vsync=ae.vSync,Ne.desiredFeatures.hdr=ae.hdrStreamingMode!==te.Or.Gfn.Streaming.HdrStreamingMode.OFF,Ne.desiredFeatures.reflex=ae.reflex,Ne.desiredFeatures.bitDepth=ae.bitDepth,Ne.desiredFeatures.cloudGsync=ae.cloudGsync,Ne.desiredFeatures.l4s=ae.l4sEnabled,Ne.desiredFeatures.hdr10PlusGaming=ae.hdrStreamingMode===te.Or.Gfn.Streaming.HdrStreamingMode.HDR10_PLUS_GAMING),ae.networkInfo=j,Ne.selectKind=y,Ne.networkType=this.mapToClientModeSelectionNetworkType(j.NetworkType),C&&ie!==D.SB.Custom&&(Ne.networkMaxMode={...C,fps:C.frameRate}),(0,k.T)(()=>G,this.storeCustomProfileData(null,!0).pipe((0,A.M)(()=>this.logger.info("Custom mode reset due to values outside entitlement"))),(0,B.of)(!0)).pipe((0,S.T)(()=>this.getStreamingMode(Se,Ne,ce,ae,ie,Q,d,C,y)))}),(0,M.W)(g=>(this.logger.error("Error/Exception in getStreamingProfile: (default profile data used)",g),(0,B.of)(this.setupProfileData(this.getSpecificPresetProfile(),y)))),(0,A.M)(g=>this.updateStreamingProfileGuid(g)),(0,l.t)(1)),this.streamingProfile$}getStreamingMode(y,X,c,g,d,C,Q,j,le){var ge;const ie=this.modeSelection.selectModeWithProfile(y,this.deviceCapabilities,X,c);return this.logger.info("modeSelection.selectModeWithProfile: response ",ie),g.width=ie.selectedVideoMode.width,g.height=ie.selectedVideoMode.height,g.fps=ie.selectedVideoMode.fps,g.audioMode=ie.selectedFeatures.audioChannelCount,g.cloudGsync=ie.selectedFeatures.cloudGsync,g.hdrStreaming=ie.selectedFeatures.hdr,g.reflex=ie.selectedFeatures.reflex,g.vSync=ie.selectedFeatures.vsync,g.l4sEnabled=ie.selectedFeatures.l4s,g.bitDepth=ie.selectedFeatures.bitDepth,g.hdrStreamingMode=null!==(ge=ie.selectedFeatures)&&void 0!==ge&&ge.hdr10PlusGaming?te.Or.Gfn.Streaming.HdrStreamingMode.HDR10_PLUS_GAMING:ie.selectedFeatures.hdr?te.Or.Gfn.Streaming.HdrStreamingMode.HDR:te.Or.Gfn.Streaming.HdrStreamingMode.OFF,this.setupProfileData(g,le,d,C,Q,j)}setupProfileData(y,X,c,g,d,C){var Q;return c&&(y.name=c),g&&(y.maxPacketSize=g),d&&(y.primaryDisplayResolution=d),C&&(y.currentFingerprintMaxDisplay=C),0===X&&(y.maxBitrate=1e3*y.maxBitrate),y.aspectRatio=this.calculateAspectRatio(y.width,y.height),y.hdrStreamingMode===te.Or.Gfn.Streaming.HdrStreamingMode.HDR10_PLUS_GAMING&&(y.hdr10PlusGamingData=null===(Q=this.deviceCapabilities.features)||void 0===Q?void 0:Q.hdr10PlusGamingData),this.logger.info("Settings for "+(0===X?"streaming are: ":"display are: "),y),y}clearCachedStreamingProfile(){this.streamingProfile$=null}readCustomProfileData(){return this.sharedStorageService.readBlock(D.oY.BlockName).pipe((0,S.T)(y=>(this.settingsBlock=(0,p.merge)({},y),this.logger.info("Read settings block from sharedStorage: ",y),y[D.oY.CustomProfile])))}storeCustomProfileData(y,X){return this.sharedStorageService.readBlock(D.oY.BlockName).pipe((0,s.ZZ)(c=>(X?delete this.settingsBlock[D.oY.CustomProfile]:(delete y.hdr10PlusGamingData,this.settingsBlock=(0,p.merge)({},c),this.settingsBlock[D.oY.CustomProfile]=y),this.sharedStorageService.writeBlock(D.oY.BlockName,this.settingsBlock))))}getFpsList(){return this.fpsList}getBitDepthLists$(){return this.bitDepthListsSubject.asObservable()}getHdrDropdownLists$(){return this.hdrDropdownListSubject.asObservable()}getSupportedVsyncList$(){return this.supportedVsyncTypes$.asObservable()}getFpsOption(y){return{value:y.framesPerSecond,displayName:y.framesPerSecond+D.yN,enabled:y.isEntitled}}getSupportedResolutionsAndFpsList(y){const X=[];if(this.unsupportedDisabledResolutionsList=[],0===(null==y?void 0:y.length)){this.logger.info("Subscription resolution list is empty using default custom resolution");const c=this.getSpecificPresetProfile(),g=this.getResolution(c.width,c.height);X.push(g)}else y.forEach(c=>{if(!X.some(d=>d.width===c.widthInPixels&&d.height===c.heightInPixels)){const d=this.getResolution(c.widthInPixels,c.heightInPixels);if(!this.modeSelection.isResolutionSupported(this.deviceCapabilities,d.width,d.height))return void(this.displayUnsupportedResolution&&!this.unsupportedDisabledResolutionsList.some(Q=>Q.width===c.widthInPixels&&Q.height===c.heightInPixels)&&(this.unsupportedDisabledResolutionsList.push(d),d.enabled=!1));const C=y.filter(Q=>Q.widthInPixels===d.width&&Q.heightInPixels===d.height);if(d.enabled=null==C?void 0:C.some(Q=>Q.isEntitled),d.enabled){var g;d.fpsList=C.map(j=>this.getFpsOption(j)),null===(g=d.fpsList)||void 0===g||g.sort((j,le)=>le.value-j.value);const Q=d.fpsList.filter(j=>!this.modeSelection.isModeSupported(this.deviceCapabilities,{width:d.width,height:d.height,fps:j.value}));Q.length>0&&(d.fpsList=d.fpsList.filter(j=>!Q.some(le=>le.value===j.value)),this.displayUnsupportedFps&&(d.unsupportedFpsList=Q.map(j=>({...j,enabled:!1}))))}X.push(d)}});return X}getResolutionUpsellMessage(y,X){var c;return{parameter:X&&null!==(c=y.subscription)&&void 0!==c&&null!==(c=c.features)&&void 0!==c&&null!==(c=c.resolutions)&&void 0!==c&&c.some(d=>{var C,Q;return d.widthInPixels*d.heightInPixels>=(null===(C=this.unsupportedResolutionIdentifier)||void 0===C?void 0:C.width)*(null===(Q=this.unsupportedResolutionIdentifier)||void 0===Q?void 0:Q.height)})?this.higherResolutionUpsell:this.fallbackResolutionUpsell}}getFpsUpsellMessage(y,X){var c;return{parameter:X&&null!==(c=y.subscription)&&void 0!==c&&null!==(c=c.features)&&void 0!==c&&null!==(c=c.resolutions)&&void 0!==c&&c.some(d=>d.framesPerSecond>=this.unsupportedFpsIdentifier)?this.higherFpsUpsell:this.fallbackFpsUpsell}}getPlatformSpecificBalancedPresetResolution(){var y,X;const c=this.getSpecificPresetProfile();if(c&&null!==(y=this.availableResolutionList)&&void 0!==y&&y.length&&(null===(X=this.availableResolutionList)||void 0===X||!X.some(d=>d.height===(null==c?void 0:c.height)&&d.width===(null==c?void 0:c.width)))){var g;const d=Object.assign({},c);return d.width=this.availableResolutionList[0].width,d.height=this.availableResolutionList[0].height,d.fps=null===(g=this.availableResolutionList)||void 0===g||null===(g=g.find(C=>C.width===d.width&&C.height===d.height))||void 0===g||null===(g=g.fpsList[0])||void 0===g?void 0:g.value,d}return c}getMaxbitRateList(){return(0,p.cloneDeep)(D.m$)}fetchHdrLearnMoreUrl$(){return this.hdrLearnMoreUrl$||(this.hdrLearnMoreUrl$=this.redirectService.getRedirectUrl(v.r7.GfnPcHdrUnsupportedSystemsLearnMore).pipe((0,A.M)(y=>{this.hdrLearnMoreUrlSubject$.next(y)}),(0,l.t)(1))),this.hdrLearnMoreUrl$}fetchHdrModeState$(y){return y&&this.hdrStreamingMode$&&(this.hdrStreamingMode$=null),this.hdrStreamingMode$||(this.hdrStreamingMode$=this.sharedStorageService.readBlock(D.oY.BlockName).pipe((0,S.T)(X=>{var c;this.settingsBlock=(0,p.merge)({},X);const g=!(0,p.isUndefined)(this.settingsBlock[D.oY.StreamingProfiles])&&this.settingsBlock[D.oY.StreamingProfiles]===D.SB.Custom&&!(0,p.isUndefined)(null===(c=this.settingsBlock[D.oY.CustomProfile])||void 0===c?void 0:c.hdrStreamingMode)&&this.settingsBlock[D.oY.CustomProfile].hdrStreamingMode;return this.hdrStreamingModeSubject$.next(g),g}),(0,l.t)(1))),this.hdrStreamingMode$}onDisplayModeChanged(){return this.displayModeChanged$.asObservable()}getSettingsValueString(y){return y?"settings.streamingProfiles.on":"common.off"}getVsyncValueString(y){return y===D._R.ValueOff.value?"common.off":y===D._R.ValueOn.value?"settings.streamingProfiles.on":"settings.streamingProfiles.adaptive"}getPlatformSupportedHDRModes(){return this.hdrPlatformSupportedModes}isHDRFeatureAvailableToUser(){return!!this.getPlatformSupportedHDRModes().length}getSupportedHDRMode(y){return this.getPlatformSupportedHDRModes().find(g=>{let d=y.some(C=>this.lcarsService.isFeatureSupportedOnVariant(C,z.N1.SUPPORTED_HDR_VERSION,g));return g===te.Or.Gfn.Streaming.HdrStreamingMode.HDR&&!d&&(d=y.some(C=>this.lcarsService.isFeatureSupportedOnVariant(C,z.N1.HDR_ENABLED))),d})}getHdrLabel(y){var X,c,g,d;let C=te.Or.Gfn.Streaming.HdrStreamingMode.OFF;const Q=null!==(X=null==y?void 0:y.hdrStreamingMode)&&void 0!==X?X:null===(c=this.getPlatformSupportedHDRModes())||void 0===c?void 0:c[0];return this.IsPlatformSupportsHDRDecode&&null!==(g=this.platformSupportedHDRRendering)&&void 0!==g&&g.length&&Q!==te.Or.Gfn.Streaming.HdrStreamingMode.OFF&&!this.ecommerceService.featureUpsellAvailable(D.TK.find(j=>j.value===Q).upsellFlag)&&(C=Q),null===(d=D.TK.find(j=>j.value===C))||void 0===d?void 0:d.label}getCloudGsyncLabel(y,X,c,g){return this.fetchPlatformSupportCloudGsync$().pipe((0,S.T)(()=>this.getCloudGsyncLabelSync(y,X,c,g)))}getCloudGsyncLabelSync(y,X,c,g){var d;return this.IsPlatformSupportsCloudGsync?X?"common.off":this.IsVrrDisplayDetected?(0,p.isUndefined)(c)||c===D._R.ValueAdaptive.value?!(0,p.isUndefined)(g)&&g<(null===(d=this.CloudGsyncDependencies)||void 0===d?void 0:d.minFpsForCloudGsync)?"settings.streamingProfiles.vrrFpsTip":y?"settings.streamingProfiles.on":"common.off":"settings.streamingProfiles.vrrVsyncTip":"settings.streamingProfiles.vrrNotDetected":"settings.streamingProfiles.hdrSystemUnsupportedTip"}getReflexLabel(y,X){return X||!y?"common.off":"settings.streamingProfiles.on"}getBitRateValues(){return this.updatedBitrateValues}displayModeChangeListener$(){return this.isBrowserPlatform?(0,U.R)(window,"resize").pipe((0,x.c)(100),(0,I.p)(()=>!!this.physicalResolution&&this.physicalResolution.width!==Math.floor(window.screen.width*window.devicePixelRatio))):this.nativeEventService.get$(a.D4.DisplayModeChange,a.Jm.Types.HandlerEventType.SimpleWindowEvent)}fetchPlatformSupportCloudGsync$(y){return this.isBrowserPlatform||a.zk.isAndroidPlatform()?(0,B.of)(D.sN):(y&&this.cloudGsyncCapabilities$&&(this.cloudGsyncCapabilities$=null),this.cloudGsyncCapabilities$||(this.cloudGsyncCapabilities$=this.bridgeService.executeCommand(te.Ts.Gfn.Streaming.GetPlatformCloudGsyncCapabilities).pipe((0,L.s)(1),(0,S.T)(X=>(this.logger.info("fetchPlatformSupportCloudGsync response: ",X),this.cloudGsyncCapabilities=X,this.cloudGsyncCapabilities)),(0,M.W)(X=>(this.logger.info("fetchPlatformSupportCloudGsync error: ",X),(0,B.of)(null))),(0,l.t)(1))),this.cloudGsyncCapabilities$)}fetchReflexLearnMoreUrl$(){return this.reflexLearnMoreUrl$||(this.reflexLearnMoreUrl$=this.redirectService.getRedirectUrl(v.r7.GfnPcUnsupportedReflexLearnMore).pipe((0,A.M)(y=>{this.reflexLearnMoreUrlSubject$.next(y)}),(0,l.t)(1))),this.reflexLearnMoreUrl$}fetchSelectedStreamingMode$(y){return y&&this.streamingMode$&&(this.streamingMode$=null),this.streamingMode$||(this.streamingMode$=this.sharedStorageService.readBlock(D.oY.BlockName).pipe((0,S.T)(X=>{this.settingsBlock=(0,p.merge)({},X);const c=(0,p.isUndefined)(this.settingsBlock[D.oY.StreamingProfiles])?D.SB.Balanced:this.settingsBlock[D.oY.StreamingProfiles];return this.streamingModeSubject$.next(c),c}),(0,l.t)(1))),this.streamingMode$}fetchReflexToggleState$(y){return y&&this.isReflexToggleTurnedOff$&&(this.isReflexToggleTurnedOff$=null),this.isReflexToggleTurnedOff$||(this.isReflexToggleTurnedOff$=this.sharedStorageService.readBlock(D.oY.BlockName).pipe((0,S.T)(X=>{var c;this.settingsBlock=(0,p.merge)({},X);const g=(0,p.isUndefined)(this.settingsBlock[D.oY.StreamingProfiles])||this.settingsBlock[D.oY.StreamingProfiles]===D.SB.Custom&&((0,p.isUndefined)(null===(c=this.settingsBlock[D.oY.CustomProfile])||void 0===c?void 0:c.reflex)||!this.settingsBlock[D.oY.CustomProfile].reflex);return this.isReflexToggleTurnedOffSubject$.next(g),g}),(0,l.t)(1))),this.isReflexToggleTurnedOff$}clearSelectedModeAndToggles(){this.streamingMode$=null,this.hdrStreamingMode$=null,this.isReflexToggleTurnedOff$=null,this.gameFeatureProperties$=null}getClientUpsellMessages(y=D.nQ){return(0,P.zV)([this.lcarsService.getUpsellMessages(),this.ecommerceService.getUserMembership(),this.isPlatformSupportsHigherResolutions$.asObservable(),this.isPlatformSupportsHigherFps$.asObservable(),this.fetchPlatformSupportCloudGsync$(),this.getIsPlatformSupportsHDRDecode$()]).pipe((0,S.T)(([X,c,g,d])=>{const C=this.getAllUpsellMessagesFromLCARSResponse(X),Q=this.getResolutionUpsellMessage(c,g),j=this.getFpsUpsellMessage(c,d);return this.clientUpsellMessage=this.updateUpsellMessagesParameters(C,Q,j),this.compileUpsellMessageArray(y)}),(0,l.t)(1),(0,M.W)(()=>(0,B.of)([])))}compileUpsellMessageArray(y){const X=[];return this.updateUpsellFlagValues(),y.forEach(c=>{if(this.upsellFlags[c]){const g=this.clientUpsellMessage[c];g.length>0&&X.push(g)}}),X}updateUpsellFlagValues(){const y=this.ecommerceService.featureArrayUpsellAvailable(D.d6);D.d6.forEach((X,c)=>{this.upsellFlags[X]=y[c]}),this.upsellFlags[z.q3.SUPPORT_HDR10_PLUS_GAMING]=this.upsellFlags[z.q3.SUPPORT_HDR10_PLUS_GAMING]&&this.IsPlatformSupportsHDRDecode,this.upsellFlags[z.q3.SUPPORT_HDR]=this.upsellFlags[z.q3.SUPPORT_HDR]&&this.IsPlatformSupportsHDRDecode&&!this.upsellFlags[z.q3.SUPPORT_HDR10_PLUS_GAMING],this.upsellFlags[z.q3.SUPPORT_CLOUD_GSYNC]=this.upsellFlags[z.q3.SUPPORT_CLOUD_GSYNC]&&this.IsPlatformSupportsCloudGsync}updateUpsellMessagesParameters(y,X,c){let g=y[z.q3.HIGHER_RESOLUTION],d=y[z.q3.HIGHER_FPS];return g=this.translateParser.interpolate(g,{resolution:X.parameter}),y[z.q3.HIGHER_RESOLUTION]=g,d=this.translateParser.interpolate(d,{fps:c.parameter}),this.ecommerceService.featureUpsellAvailable(z.q3.SUPPORT_REFLEX)&&(d+=y[z.q3.SUPPORT_REFLEX]),y[z.q3.HIGHER_FPS]=d,y}getAllUpsellMessagesFromLCARSResponse(y){const X={},c=Object.entries(y);return D.d6.forEach(g=>{const d=c.findIndex(C=>C[0]===g);X[g]=-1===d?"":c[d][1]}),X}getMaxDisplayTestData(y){return this.getStreamingProfile().pipe((0,L.s)(1),(0,S.T)(X=>{const c=null==X?void 0:X.primaryDisplayResolution;let g=[...this.availableResolutionList];if(y||this.clearCachedStreamingProfile(),(0,p.isNil)(g)||(0,p.isNil)(X)||X.name!==D.SB.Balanced)return null;g=g.sort((Q,j)=>j.width*j.height-Q.width*Q.height);const d=this.getCappedFramerate(g,c);return X.width<(null==c?void 0:c.width)||X.fpsQ.height*Q.width==X.height*X.width);if((null===(c=d)||void 0===c?void 0:c.length)<=0&&(d=y.filter(Q=>Q.height*Q.width0){var C;const Q=null===(C=d[0])||void 0===C||null===(C=C.fpsList)||void 0===C?void 0:C.filter(j=>j.enabled);if((null==Q?void 0:Q.length)>0){const j=Q.filter(le=>le.value<=X.fps+1);if((null==j?void 0:j.length)>0)return j[0].value}}return(null==X?void 0:X.fps)>=D.gY?D.aG.Value120.value:(null==X?void 0:X.fps)>=D.zA?D.aG.Value60.value:D.aG.Value30.value}isDisplayHighestForAspectRatio(y,X,c){for(const d of X){var g;if(d.width/d.height!=y.width/y.height)continue;let C=null===(g=d.fpsList.filter(Q=>!0===Q.enabled)[0])||void 0===g?void 0:g.value;return C=Cy.width||C>y.fps)}return!0}getProfileSettingOptions(y,X){const c=[];return(X?D.YE:D.SS).forEach(d=>c.push({id:d.id,display:this.isDisplaySettingOption(d),disabled:this.isSettingOptionDisable(d),label:this.getSettingOptionLabel(d),value:this.getSettingOptionValue(d,y),valuePlaceholder:this.getSettingOptionValuePlaceholder(d,y),kbaLinkRedirect:d.kbaLinkRedirect,shortUrl:d.shortUrl,valueBadgeImage:this.getSettingOptionValueBadgeImage(d,y)})),c}getSettingOptionValueBadgeImage(y,X){return y.hasBadgeImage?this.getResolutionLabel(X.width,X.height):null}isDisplaySettingOption(y){let X=!0;return y.clientFeatureToggleKey?this[y.clientFeatureToggleKey]:(y.remoteFeatureToggleKey&&(X=this[y.remoteFeatureToggleKey]),y.displayByDefault||X&&this.isFeatureAvailableToUser(y.entitlementFlag,y.upsellFlag))}isFeatureAvailableToUser(y,X){return y===z.N1.SUPPORTED_HDR_VERSION?this.isHDRFeatureAvailableToUser()||this.ecommerceService.isFeatureAvailableToUser(z.N1.HDR_ENABLED,z.q3.SUPPORT_HDR):this.ecommerceService.isFeatureAvailableToUser(y,X)}isSettingOptionDisable(y){return!y.displayByDefault&&this.ecommerceService.featureUpsellAvailable(y.upsellFlag)}getSettingOptionLabel(y){return y.id===z.tk.PROFILE_CLOUD_GSYNC?this.isGsyncDisplay?"settings.streamingProfiles.vrrGsyncDisplay":"settings.streamingProfiles.vrrDisplay":y.label}getSettingOptionValue(y,X){switch(y.id){case D.x1.PROFILE_MAXBITRATE:return 0!==X.maxBitrate?`${X.maxBitrate} Mbps`:"common.auto";case D.x1.PROFILE_RESOLUTION:return X.width+" x "+X.height+" "+X.aspectRatio;case D.x1.PROFILE_FPS:return X.fps+" FPS";case z.tk.PROFILE_VSYNC:return this.getVsyncValueString(X.vSync);case z.tk.PROFILE_CLOUD_GSYNC:return this.getCloudGsyncLabelSync(X.cloudGsync,this.ecommerceService.featureUpsellAvailable(y.upsellFlag));case z.tk.PROFILE_REFLEX:return this.getReflexLabel(X.reflex,this.ecommerceService.featureUpsellAvailable(y.upsellFlag));case z.tk.PROFILE_HDR_VERSION:return this.getHdrLabel(X);case z.tk.PROFILE_BIT_DEPTH:return"settings.streamingProfiles.colorPrecisionValue";case z.tk.PROFILE_ADJUST_FOR_NETWORK:return this.getSettingsValueString(X.drc);case z.tk.PROFILE_L4S:return this.getSettingsValueString(X.l4sEnabled)}}getSettingOptionValuePlaceholder(y,X){return y.id===z.tk.PROFILE_BIT_DEPTH?{bitDepth:X.bitDepth}:y.valuePlaceholder}}return(q=T).\u0275fac=function(y){return new(y||q)(h.KVO(a.J6),h.KVO(W.yQ),h.KVO(a.zW),h.KVO(a.NZ),h.KVO(ne.uU),h.KVO(ee.Vk),h.KVO(N.yJ),h.KVO(b.k_),h.KVO(a.dU),h.KVO(w.Q),h.KVO(F.Br),h.KVO(Z.Sd),h.KVO(se.a),h.KVO(a.wt),h.KVO(R.mZ))},q.\u0275prov=h.jDH({token:q,factory:q.\u0275fac,providedIn:"root"}),T})()},38006:(xe,de,t)=>{"use strict";t.d(de,{up:()=>e,VC:()=>S});var e=function(L){return L.ServerInfo="ServerInfo",L.AppMetadata="AppMetadata",L.CountryCode="CountryCode",L}(e||{});const n="SharedStorageCache";var E=t(43848),O=t(14714),B=t(75707),P=t(10174),k=t(83915),U=t(26875),r=t(58527),A=t(47766),l=t(66348),I=t(61958);let S=(()=>{var L;class s{constructor(u,x,p){this.sharedStorageService=x,this.appConfig=p,this.logger=u.getLogger("gfn/Shared-Storage-Caching")}readSharedStorageCache(){return this.sharedStorageService.readBlock(n).pipe((0,O.W)(u=>(this.logger.info("Got error reading cache from shared storage:",u),(0,E.of)({}))))}saveItem(u,x){this.logger.info(`Saving the Item ${u} to shared storage cache`);const p={data:x,creationTs:Date.now()};return this.readSharedStorageCache().pipe((0,B.ZZ)(i=>(i[u]=p,this.sharedStorageService.writeBlock(n,i))),(0,O.W)(i=>(this.logger.info(`Error saving the item to the block ${n}: ${i}`),(0,E.of)(p))),(0,P.u)(x))}getItem(u){const x=this.appConfig.sharedStorageCache[u];return this.logger.info(`Get Item ${u}`),this.readSharedStorageCache().pipe((0,k.T)(p=>{const i={};if((0,U.has)(p,u)){this.logger.info(`Found the item ${u} in shared storage cache`);const o=p[u];i.data=o.data,i.expired=o.creationTs+x.cacheDuration<=Date.now()}return i}))}deleteItem(u){return this.logger.info(`Deleting the item: ${u}`),this.readSharedStorageCache().pipe((0,k.T)(x=>(delete x[u],x)),(0,B.ZZ)(x=>this.sharedStorageService.writeBlock(n,x)),(0,O.W)(x=>(this.logger.info(`Error deleting the item ${u} from shared storage cache - ${x}`),(0,E.of)(!1))))}isExpiredValueAllowed(u){return this.appConfig.sharedStorageCache[u].allowExpiredValue}}return(L=s).\u0275fac=function(u){return new(u||L)(r.KVO(A.J6),r.KVO(l.yQ),r.KVO(I.Vk))},L.\u0275prov=r.jDH({token:L,factory:L.\u0275fac,providedIn:"root"}),s})()},95522:(xe,de,t)=>{"use strict";t.d(de,{J:()=>x});var e=t(58527),n=t(40262),E=t(47766),O=t(66974);function B(p,i){if(1&p&&(e.j41(0,"div",15)(1,"span",16),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"span",17),e.EFF(5),e.nI1(6,"translate"),e.k0s()()),2&p){const o=e.XpG(2);e.R7$(2),e.JRh(e.bMT(3,2,"setup.estimatedWaitTime")),e.R7$(3),e.SpI("\xa0",e.i5U(6,4,o.loadingScreensData.queueTimeKey,o.loadingScreensData.queueTimeValues),"")}}function P(p,i){if(1&p&&(e.nrm(0,"div",18),e.nI1(1,"translate"),e.nI1(2,"trustAsHtml")),2&p){const o=e.XpG(2);e.Y8G("innerHTML",e.bMT(2,3,e.bMT(1,1,o.loadingScreensData.loadingText)),e.npT)}}function k(p,i){if(1&p&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.j41(3,"span"),e.EFF(4),e.k0s()()),2&p){const o=e.XpG(3);e.R7$(),e.SpI("",e.bMT(2,2,"setup.gamersAheadOfYou")," "),e.R7$(3),e.SpI(" ",o.loadingScreensData.queuePosition-1,"")}}function U(p,i){1&p&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&p&&(e.R7$(),e.JRh(e.bMT(2,1,"setup.youAreNext")))}function r(p,i){if(1&p&&(e.j41(0,"div",19),e.DNE(1,k,5,4,"span",6)(2,U,3,3,"span",6),e.k0s()),2&p){const o=e.XpG(2);e.R7$(),e.Y8G("ngIf",o.loadingScreensData.queuePosition>1),e.R7$(),e.Y8G("ngIf",1===o.loadingScreensData.queuePosition)}}function A(p,i){1&p&&(e.j41(0,"div",20)(1,"span"),e.EFF(2),e.nI1(3,"translate"),e.k0s()()),2&p&&(e.R7$(2),e.SpI(" ",e.bMT(3,1,"setup.opportunity.promptText")," "))}function l(p,i){1&p&&(e.j41(0,"span",23),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&p&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"setup.cleanupPreviousSession")," "))}function I(p,i){if(1&p&&(e.j41(0,"div",21),e.DNE(1,l,3,3,"span",22),e.k0s()),2&p){const o=e.XpG(2);e.R7$(),e.Y8G("ngIf",!o.isGuestAppFlow)}}function S(p,i){if(1&p&&(e.j41(0,"div",7),e.DNE(1,B,7,7,"div",8)(2,P,3,5,"div",9)(3,r,3,2,"div",10),e.j41(4,"div",11),e.nrm(5,"mat-progress-bar",12),e.k0s(),e.DNE(6,A,4,3,"div",13)(7,I,2,1,"div",14),e.k0s()),2&p){const o=e.XpG();e.R7$(),e.Y8G("ngIf",o.loadingScreensData.queueTimeVisible&&!o.loadingScreensData.queuePositionVisible),e.R7$(),e.Y8G("ngIf",!o.showVideo),e.R7$(),e.Y8G("ngIf",o.loadingScreensData.queuePositionVisible),e.R7$(2),e.Y8G("mode",o.loadingScreensData.progressBar)("value",o.loadingScreensData.progressValue),e.BMQ("tabindex",null),e.R7$(),e.Y8G("ngIf",o.showVideo),e.R7$(),e.Y8G("ngIf",o.showSessionCleanupDesc)}}function L(p,i){if(1&p&&(e.j41(0,"div",24),e.nrm(1,"gfn-content-rating",25),e.k0s()),2&p){const o=e.XpG();e.R7$(),e.Y8G("contentRatings",o.contentRatings)}}function s(p,i){1&p&&(e.j41(0,"mat-icon"),e.EFF(1,"open_in_new"),e.k0s())}function M(p,i){if(1&p){const o=e.RV6();e.j41(0,"button",27),e.bIt("click",function(){e.eBV(o);const f=e.XpG(2);return e.Njj(f.upgradeButtonClick())}),e.DNE(1,s,2,0,"mat-icon",6),e.EFF(2),e.nI1(3,"translate"),e.k0s()}if(2&p){const o=e.XpG(2);e.Y8G("isVisible",o.loadingScreensData.showLoadingOnUpgradePromptButton),e.R7$(),e.Y8G("ngIf",o.loadingScreensData.showUpgradeLinkIcon),e.R7$(),e.SpI(" ",e.bMT(3,3,o.loadingScreensData.upgradePromptButtonText)," ")}}function u(p,i){if(1&p&&(e.qex(0),e.DNE(1,M,4,5,"button",26),e.bVm()),2&p){const o=e.XpG();e.R7$(),e.Y8G("ngIf",o.showUpsellCta)}}let x=(()=>{var p;class i{constructor(_,f){this.guestModeHelperService=f,this.showHeaderSection=!0,this.clickUpgradeButton=new e.bkB,this.clickViewAccountButton=new e.bkB,this.isGuestAppFlow=!1,this.logger=_.getLogger("SmallLandscapeLoaderComponent"),this.isGuestAppFlow=f.isGuestAppFlow()}upgradeButtonClick(){this.clickUpgradeButton.emit(!0)}viewAccountButtonClick(){this.clickViewAccountButton.emit(!0)}}return(p=i).\u0275fac=function(_){return new(_||p)(e.rXU(E.J6),e.rXU(O.x))},p.\u0275cmp=e.VBU({type:p,selectors:[["gfn-small-landscape-loader"]],inputs:{loadingScreensData:"loadingScreensData",showVideo:"showVideo",showHeaderSection:"showHeaderSection",canShowRating:"canShowRating",showSessionCleanupDesc:"showSessionCleanupDesc",contentRatings:"contentRatings",showUpsellCta:"showUpsellCta",canHardUpsell:"canHardUpsell"},outputs:{clickUpgradeButton:"clickUpgradeButton",clickViewAccountButton:"clickViewAccountButton"},decls:7,vars:4,consts:[[1,"small-landscape-loader-container"],[1,"small-landscape-loader-bottom-sheet-wrapper"],[1,"small-landscape-loader-bottom-sheet"],["fxLayout","column",1,"bottom-sheet-container"],["class","header-content-container font-sub2","fxLayout","column",4,"ngIf"],["class","content-rating",4,"ngIf"],[4,"ngIf"],["fxLayout","column",1,"header-content-container","font-sub2"],["class","font-sub3",4,"ngIf"],["class","font-sub2","cdkMonitorSubtreeFocus","",3,"innerHTML",4,"ngIf"],["class","font-sub3","fxLayout","row","fxLayoutAlign","start center",4,"ngIf"],[1,"small-landscape-loader-progress-bar"],[3,"mode","value"],["class","prompt-text font-sub3",4,"ngIf"],["class","session-cleanup-description",4,"ngIf"],[1,"font-sub3"],[1,"font-color-primary"],[1,"font-sub1"],["cdkMonitorSubtreeFocus","",1,"font-sub2",3,"innerHTML"],["fxLayout","row","fxLayoutAlign","start center",1,"font-sub3"],[1,"prompt-text","font-sub3"],[1,"session-cleanup-description"],["class","font-sub2",4,"ngIf"],[1,"font-sub2"],[1,"content-rating"],[3,"contentRatings"],["mat-button","","class","upgrade-button text-button-icon font-button2","nvProgressCircular","",3,"isVisible","click",4,"ngIf"],["mat-button","","nvProgressCircular","",1,"upgrade-button","text-button-icon","font-button2",3,"click","isVisible"]],template:function(_,f){1&_&&(e.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),e.DNE(4,S,8,8,"div",4)(5,L,2,1,"div",5),e.k0s(),e.DNE(6,u,2,1,"ng-container",6),e.k0s()()()),2&_&&(e.Y8G("@loadingAnimation","SmallScreenFadeIn"),e.R7$(4),e.Y8G("ngIf",f.showHeaderSection),e.R7$(),e.Y8G("ngIf",f.canShowRating&&!f.isGuestAppFlow&&f.contentRatings),e.R7$(),e.Y8G("ngIf",f.canHardUpsell))},styles:[".small-landscape-loader-container[_ngcontent-%COMP%]{z-index:1000;height:50%;width:100%;position:absolute;bottom:0;background:linear-gradient(180deg,#0000,#0000000d 11.44%,#00000026 23.55%,#0000004d 35.87%,#00000080 51.55%,#0009 64.77%,#000000b3 81.94%,#000c);display:flex;justify-content:center}.small-landscape-loader-bottom-sheet-wrapper[_ngcontent-%COMP%]{display:flex;width:90%}.small-landscape-loader-bottom-sheet[_ngcontent-%COMP%]{z-index:1001;width:-webkit-fill-available;width:-moz-available;display:flex;align-items:end;justify-content:space-between;padding:0 16px 16px;gap:4px}.small-landscape-loader-bottom-sheet[_ngcontent-%COMP%] .upgrade-button[_ngcontent-%COMP%]{min-width:auto}.bottom-sheet-container[_ngcontent-%COMP%]{gap:8px}.bottom-sheet-container[_ngcontent-%COMP%] .header-content-container[_ngcontent-%COMP%]{width:fit-content}.bottom-sheet-container[_ngcontent-%COMP%] .header-content-container[_ngcontent-%COMP%] .small-landscape-loader-progress-bar[_ngcontent-%COMP%], .bottom-sheet-container[_ngcontent-%COMP%] .header-content-container[_ngcontent-%COMP%] .prompt-text[_ngcontent-%COMP%], .bottom-sheet-container[_ngcontent-%COMP%] .header-content-container[_ngcontent-%COMP%] .session-cleanup-description[_ngcontent-%COMP%]{margin-top:8px}.bottom-sheet-container[_ngcontent-%COMP%] .content-rating[_ngcontent-%COMP%]{margin-top:16px}"],data:{animation:[(0,n.hZ)("loadingAnimation",[(0,n.kY)("void => SmallScreenFadeIn",[(0,n.iF)({opacity:"0"}),(0,n.i0)("0.3s ease-out",(0,n.iF)({opacity:"1"}))]),(0,n.kY)("SmallScreenFadeIn => void",[(0,n.iF)({opacity:"1"}),(0,n.i0)("0.3s ease-in",(0,n.iF)({opacity:"0"}))]),(0,n.kY)("* => *",[(0,n.iF)({opacity:"0"}),(0,n.i0)("0.3s ease-out",(0,n.iF)({opacity:"1"}))])])]}}),i})()},48571:(xe,de,t)=>{"use strict";t.d(de,{lF:()=>n,g:()=>i});var e=t(95522),n=function(o){return o.Determinate="determinate",o.InDeterminate="indeterminate",o}(n||{}),E=t(61142),O=t(51006),B=t(47766),P=t(65240),k=t(94073),U=t(19061),r=t(37073),A=t(58527),l=t(60990),I=t(40514),S=t(69225),L=t(3457),s=t(47973),M=t(29370),u=t(20288),x=t(622),p=t(33328);let i=(()=>{var o;class _{}return(o=_).\u0275fac=function(J){return new(J||o)},o.\u0275mod=A.$C({type:o}),o.\u0275inj=A.G2t({imports:[U.bm,E.MD,P.h.forChild(),O.YF,k.i,B._N,r.k]}),_})();A.wjB(e.J,function(){return[l.r,I.e,S.q,L.DJ,L.sA,E.bT,s.iV,M.An,u.HM,x.Q]},function(){return[P.D9,p.O]})},88610:(xe,de,t)=>{"use strict";t.d(de,{I5:()=>O,Ow:()=>A,RX:()=>P,Tx:()=>U,Vd:()=>r,_Y:()=>E,iV:()=>k,xe:()=>l});var e=t(47766),n=t(87687),E=function(I){return I[I.MaxGpu=2]="MaxGpu",I[I.MaxDisk=3]="MaxDisk",I[I.MaxDisplay=3]="MaxDisplay",I[I.MaxInputDevicePerType=3]="MaxInputDevicePerType",I}(E||{}),O=function(I){return I.GameDetails="GAME_DETAILS",I.IntegrationDetails="INTEGRATION_DETAILS",I.MarqueeTile="MARQUEE_TILE",I}(O||{}),P=function(I){return I[I.UNKNOWN=0]="UNKNOWN",I[I.SUCCESS=1]="SUCCESS",I[I.INVALID_PARAM=2]="INVALID_PARAM",I[I.SYN_FAILED=3]="SYN_FAILED",I[I.FIN_FAILED=4]="FIN_FAILED",I[I.AUTH_FAILED=5]="AUTH_FAILED",I[I.POST_FAILED=6]="POST_FAILED",I[I.TEST_IN_PROGRESS=7]="TEST_IN_PROGRESS",I[I.CANCELED=8]="CANCELED",I[I.CAPACITY_FULL=9]="CAPACITY_FULL",I[I.SESSION_EXIST=10]="SESSION_EXIST",I[I.INVALID_DATA=11]="INVALID_DATA",I[I.SETUP_FAILED=12]="SETUP_FAILED",I[I.RETRYABLE_POST_FAILURE=13]="RETRYABLE_POST_FAILURE",I[I.BLOCK_STREAM=14]="BLOCK_STREAM",I}(P||{}),k=function(I){return I.InitialLaunch="initialLaunch",I.StreamerCefInit="streamerCefInit",I.StreamerJsInit="streamerJsInit",I.UpdateCheck="updateCheck",I.PreStreaming="preStreaming",I.ManualLoginEntry="manualLoginEntry",I.AutoLogin="autoLogin",I.PlatformSelection="platformSelection",I.AccountLinking="accountLinking",I.NesAuthorization="nesAuthorization",I.Lbr="Lbr",I.NetworkTest="networkTest",I.SessionCleanup="sessionCleanup",I.SessionQueue="sessionQueue",I.StartSession="startSession",I.StreamerClientSetupDuration="streamerClientSetupDuration",I.StreamerConnectionDuration="streamerConnectionDuration",I.SeatConfigDuration="seatConfigDuration",I.StreamingStartDuration="streamingStartDuration",I}(k||{}),U=function(I){return I.Enabled="ENABLED",I.Disabled="DISABLED",I}(U||{}),r=function(I){return I.Native="Native",I.Browser="Browser",I.GFNSDK="GFNSDK",I.Undefined="undefined",I}(r||{}),A=function(I){return I.iBeta="iBeta",I.Release="Release",I.Undefined="undefined",I}(A||{});const l={[e.Sd.Ethernet]:n.w7B.Ethernet,[e.Sd.WiFi2_4]:n.w7B.Wifi_2_4,[e.Sd.WiFi5_0]:n.w7B.Wifi_5_0,[e.Sd.WiFi6_0]:n.w7B.Wifi_6_0,[e.Sd.WiFiUnknown]:n.w7B.Wifi_Unknown,[e.Sd.Mobile]:n.w7B.Mobile,[e.Sd.Mobile_2G]:n.w7B.Mobile_2G,[e.Sd.Mobile_3G]:n.w7B.Mobile_3G,[e.Sd.Mobile_4G]:n.w7B.Mobile_4G,[e.Sd.Mobile_5G]:n.w7B.Mobile_5G,[e.Sd.Wimax]:n.w7B.Wimax,[e.Sd.Bluetooth]:n.w7B.Bluetooth,[e.Sd.Other]:n.w7B.Other,[e.Sd.Unknown]:n.w7B.Unknown}},87687:(xe,de,t)=>{"use strict";t.d(de,{$1L:()=>Xe,$Tx:()=>c,$_D:()=>x,$_K:()=>en,$cp:()=>oi,$sO:()=>ao,B4z:()=>So,BAK:()=>qi,BEl:()=>at,Bhf:()=>Jt,Cv0:()=>r,De:()=>pe,Dz:()=>s,EBD:()=>Y,FEW:()=>k,Fdg:()=>io,G8H:()=>Kt,GSb:()=>To,GoL:()=>fo,H$b:()=>ui,H9T:()=>ue,HBm:()=>a,HOo:()=>Ki,HVs:()=>xn,Hgm:()=>te,HjG:()=>b,I0o:()=>Fn,IWs:()=>Lt,Ixb:()=>pi,J64:()=>wo,JUy:()=>Yn,JWD:()=>lo,Kbb:()=>j,L15:()=>p,LCb:()=>Qi,LQP:()=>Oe,LUK:()=>Qe,Lbi:()=>U,MCB:()=>Ut,MPq:()=>jo,MYy:()=>Et,Mwe:()=>yt,N0J:()=>qn,Nj_:()=>Fi,O3b:()=>At,O67:()=>Pe,OCG:()=>Bi,OOF:()=>G,Osh:()=>si,Osi:()=>ee,Pk9:()=>X,PvP:()=>ii,Q2O:()=>dn,QF:()=>l,QQA:()=>De,RXY:()=>Ge,RgL:()=>B,Rhb:()=>ho,RsW:()=>_,SBT:()=>Xi,Ssl:()=>di,Sx:()=>ri,T80:()=>g,Tb$:()=>K,Tjv:()=>Do,Tv4:()=>vt,U1f:()=>Yt,UJ3:()=>q,Unl:()=>rt,Uqt:()=>ni,Uu$:()=>S,V_v:()=>L,WCA:()=>_e,XM7:()=>wn,Xci:()=>Ao,YDY:()=>Ot,YRL:()=>vi,Yjq:()=>wi,Yno:()=>nn,YwK:()=>ie,Zhy:()=>eo,ZpH:()=>tt,_aO:()=>sn,_b3:()=>Dt,_nL:()=>Xn,_o$:()=>Gn,aa0:()=>pt,ay7:()=>I,c4O:()=>o,cKB:()=>Ro,cPF:()=>Ue,cPM:()=>oe,dZ:()=>A,ddl:()=>Ui,deY:()=>qo,duU:()=>D,e13:()=>Ei,e6l:()=>to,eK6:()=>le,fBK:()=>ki,fbL:()=>Pn,fbu:()=>ke,gho:()=>vo,gvg:()=>On,h8t:()=>$t,i6T:()=>$i,iLx:()=>mo,iQN:()=>Wt,jG:()=>Re,jQD:()=>Ze,kJn:()=>zi,kKp:()=>Ne,kQl:()=>rn,kSA:()=>we,key:()=>Tn,l1U:()=>Io,lv$:()=>h,mGP:()=>co,mTv:()=>bi,mUs:()=>mn,myS:()=>xo,nzM:()=>ce,oO8:()=>Rt,p2o:()=>z,ptg:()=>un,px4:()=>zo,qH9:()=>M,sKj:()=>ne,t4p:()=>ge,tdz:()=>v,uKc:()=>ve,uQS:()=>Wn,uXT:()=>Kn,uxn:()=>ti,vWR:()=>_o,vhU:()=>Me,vtl:()=>on,w$q:()=>Pt,w7B:()=>He,waC:()=>Pi,war:()=>N,wfL:()=>$e,xEK:()=>cn,xkk:()=>Be,yEy:()=>i,yj4:()=>H,zMM:()=>ft,zTU:()=>C,zcd:()=>$o});var n=function(V){return V.Functional="functional",V.Technical="technical",V.Behavioral="behavioral",V}(n||{}),E=function(V){return V.Anonymous="anonymous",V.DeviceOnly="deviceOnly",V.DevicePreferred="devicePreferred",V.UserPreferred="userPreferred",V.UserRequired="userRequired",V}(E||{}),B=function(V){return V.PRODUCT_CHANGE="PRODUCT_CHANGE",V.ASSET_CHANGE="ASSET_CHANGE",V.SESSION_CHANGE="SESSION_CHANGE",V.LAYOUT_CHANGE="LAYOUT_CHANGE",V.GSWS_SYNC="GSWS_SYNC",V.SECTION_CHANGE="SECTION_CHANGE",V.LINKEDACCOUNT_CHANGE="LINKEDACCOUNT_CHANGE",V.APP_CHANGE="APP_CHANGE",V.SERVER_INFO_SYNC="SERVER_INFO_SYNC",V.CONFIGURATION_CHANGE="CONFIGURATION_CHANGE",V.SUBSCRIPTION_CHANGE="SUBSCRIPTION_CHANGE",V.UNKNOWN="UNKNOWN",V.PATCHING_EVENT="PATCHING_EVENT",V.KV_STORE_CHANGE="KV_STORE_CHANGE",V.LIBRARY_CHANGE="LIBRARY_CHANGE",V.PLATFORM_SYNC_CHANGE="PLATFORM_SYNC_CHANGE",V.CAMPAIGN_CHANGE="CAMPAIGN_CHANGE",V.FAVORITES_CHANGE="FAVORITES_CHANGE",V}(B||{}),k=function(V){return V.Oldest="Oldest",V.AtoZ="AtoZ",V.Newest="Newest",V.ZtoA="ZtoA",V}(k||{}),U=function(V){return V.AppsRefresh="AppsRefresh",V.PanelRefresh="PanelRefresh",V.CampaignsRefresh="CampaignsRefresh",V.TimerRefresh="TimerRefresh",V}(U||{}),r=function(V){return V.EndOfSession="EndOfSession",V.Mall="Mall",V.Notification="Notification",V}(r||{}),A=function(V){return V.Highlights="Highlights",V.Game="Game",V.Media="Media",V}(A||{}),l=function(V){return V.GameShortcutUrl="GameShortcutUrl",V}(l||{}),I=function(V){return V.AddDesktopShortcut="AddDesktopShortcut",V.LaunchGame="LaunchGame",V.NesAutoAuthorization="NesAutoAuthorization",V.LoginWithJarvisOAuth="LoginWithJarvisOAuth",V.LoginWithFacebook="LoginWithFacebook",V.NesGetCompleteLayouts="NesGetCompleteLayouts",V.LoginWithAffiliate="LoginWithAffiliate",V.LoginWithGoogle="LoginWithGoogle",V.Continue="Continue",V.ManageECommerceSubscription="ManageECommerceSubscription",V.UninstallGame="UninstallGame",V.LoginWithOther="LoginWithOther",V.AddGameToLibrary="AddGameToLibrary",V.Resend="Resend",V.LoginWithStarfleet="LoginWithStarfleet",V.ServiceWorkerActivation="ServiceWorkerActivation",V.SilentLoginDirectLaunch="SilentLoginDirectLaunch",V.LoginviaLoginHint="LoginviaLoginHint",V.SilentLoginRedirectFromDMO="SilentLoginRedirectFromDMO",V.AutoEntitle="AutoEntitle",V.LoginWithStarfleetViaLoginWall="LoginWithStarfleetViaLoginWall",V}(I||{}),S=function(V){return V.Jarvis="Jarvis",V.Gfc="Gfc",V.Lcars="Lcars",V.Grid="Grid",V.Cms="Cms",V.Aem="Aem",V.Survey="Survey",V.DR="DR",V.RemoteConfig="RemoteConfig",V.Starfleet="Starfleet",V.Other="Other",V.Rating="Rating",V.Gfwsl="Gfwsl",V.KVStore="KVStore",V.GxTarget="GxTarget",V.NES="NES",V.ALS="ALS",V.AwsS3="AwsS3",V.PNS="PNS",V.UAS="UAS",V.UDS="UDS",V}(S||{}),L=function(V){return V.COMMUNICATION_BANNER="COMMUNICATION_BANNER",V.UXTEST_BANNER="UXTEST_BANNER",V.SURVEY_BANNER="SURVEY_BANNER",V.POST_GAME="POST_GAME",V.FEEDBACK="FEEDBACK",V.NOTIFICATION_BANNER="NOTIFICATION_BANNER",V}(L||{}),s=function(V){return V.NA="NA",V.EmptyLayout="EmptyLayout",V.AppsListFetch="AppsListFetch",V.VpcId="VpcId",V.Unknown="Unknown",V.SessionToken="SessionToken",V.DelegateTokenFetch="DelegateTokenFetch",V.LayoutFetch="LayoutFetch",V.OfflineNoCache="OfflineNoCache",V.DiskCache="DiskCache",V.AppMetadataFetch="AppMetadataFetch",V}(s||{}),M=function(V){return V.Passed="Passed",V.Unknown="Unknown",V.LbrDone="LbrDone",V.Skipped="Skipped",V.DialogShown="DialogShown",V}(M||{}),x=function(V){return V.IO="IO",V.Network="Network",V.General="General",V.JSON="JSON",V.None="None",V.File="File",V.Optimization="Optimization",V.IPC="IPC",V}(x||{}),p=function(V){return V.Success="Success",V.Failure="Failure",V}(p||{}),i=function(V){return V.AutoResume="AutoResume",V.DeviceTransition="DeviceTransition",V.None="None",V}(i||{}),o=function(V){return V.GetFreestyleFeature="GetFreestyleFeature",V.SendUsabilityStudyResponse="SendUsabilityStudyResponse",V.GetDeeplinkSupport="GetDeeplinkSupport",V.GetCloudSearch="GetCloudSearch",V.GetSurveyFeature="GetSurveyFeature",V.GetLayoutRefreshInterval="GetLayoutRefreshInterval",V.GetUsabilityStudy="GetUsabilityStudy",V.GetIgoSupportOnBrowserClient="GetIgoSupportOnBrowserClient",V.GetECommerceFeature="GetECommerceFeature",V.GetKeyboardLayout="GetKeyboardLayout",V.GetAutohighlightFeature="GetAutohighlightFeature",V.GetStarfleetPhase1="GetStarfleetPhase1",V.GetStarfleetPhase2="GetStarfleetPhase2",V.GetQueueETAConfig="GetQueueETAConfig",V.GetUpsellMessage="GetUpsellMessage",V.GetAllCloudVariables="GetAllCloudVariables",V.GetBrowserClientCanary="GetBrowserClientCanary",V.GetReservedSKUEnabled="GetReservedSKUEnabled",V.GetReservedSKUIBetaFlag="GetReservedSKUIBetaFlag",V.GetAnselFeature="GetAnselFeature",V.GetGfnBroadcastFeature="GetGfnBroadcastFeature",V.GetKBLayoutsConfig="GetKBLayoutsConfig",V.GetClipboardPasteConfig="GetClipboardPasteConfig",V.GetPathToPurchaseConfig="GetPathToPurchaseConfig",V.GetEnableRemoteConfigOnGXT="GetEnableRemoteConfigOnGXT",V.GetPunctualUIConfig="GetPunctualUIConfig",V.GetGameOwnershipABConfig="GetGameOwnershipABConfig",V.GetEnableBrowserIGSS="GetEnableBrowserIGSS",V.GetClientIMESupportedConfig="GetClientIMESupportedConfig",V.GetGameLaunchUniversalConfig="GetGameLaunchUniversalConfig",V.Other="Other",V}(o||{}),_=function(V){return V.FingerprintChanged="FingerprintChanged",V.ZoneListEmpty="ZoneListEmpty",V.PolicyCheckFailed="PolicyCheckFailed",V.Manual="Manual",V.CachedZoneNotStored="CachedZoneNotStored",V.ServerInfoFailed="ServerInfoFailed",V.CachedZoneNotAvailable="CachedZoneNotAvailable",V.NewZonesAdded="NewZonesAdded",V}(_||{}),a=function(V){return V.App_Exit="App_Exit",V.Dialog_Closed="Dialog_Closed",V.Goto_Settings="Goto_Settings",V.Continue_Login="Continue_Login",V.Proceed_Connect="Proceed_Connect",V.Paste_Confirmation="Paste_Confirmation",V.Continue_Play_Anyway="Continue_Play_Anyway",V.Continue_Add_Playtime="Continue_Add_Playtime",V.Continue_To_Game_Store="Continue_To_Game_Store",V}(a||{}),D=function(V){return V.Release_Highlights="Release_Highlights",V.Account_Link_Required="Account_Link_Required",V.Account_Link_Expired="Account_Link_Expired",V.Account_Link_Expires_Today="Account_Link_Expires_Today",V.Account_Link_Expires_Soon="Account_Link_Expires_Soon",V.Scheduled_Maintenance_Warning="Scheduled_Maintenance_Warning",V.Unsupported_Browser_Or_Platform_Load="Unsupported_Browser_Or_Platform_Load",V.Unsupported_Browser_Or_Platform_Login="Unsupported_Browser_Or_Platform_Login",V.Unsupported_Browser_Or_Platform_Game_Launch="Unsupported_Browser_Or_Platform_Game_Launch",V.InStream_Paste_Gesture_Dialog="InStream_Paste_Gesture_Dialog",V.Playtime_Not_Added="Playtime_Not_Added",V.Low_State_Game_Launch="Low_State_Game_Launch",V.Limited_State_Game_Launch="Limited_State_Game_Launch",V.Loading_Screen_Upgrade="Loading_Screen_Upgrade",V.Loading_Screen_Get_Day_Pass="Loading_Screen_Get_Day_Pass",V.Loading_Screen_Add_Playtime="Loading_Screen_Add_Playtime",V.Game_Launch_Unplayable_Error="Game_Launch_Unplayable_Error",V.Buy_Protection_Information="Buy_Protection_Information",V.Unknown="Unknown",V}(D||{}),te=function(V){return V.NVB_PROFILE_ROAMING_720P_30FPS="NVB_PROFILE_ROAMING_720P_30FPS",V.NVB_PROFILE_GAMING_1080P_60FPS="NVB_PROFILE_GAMING_1080P_60FPS",V.NT_1280_800_60="NT_1280_800_60",V.NVB_PROFILE_PROFESSIONAL="NVB_PROFILE_PROFESSIONAL",V.NVB_PROFILE_GAMING_720P_30FPS="NVB_PROFILE_GAMING_720P_30FPS",V.NT_1920_1200_60="NT_1920_1200_60",V.NT_1920_1200_30="NT_1920_1200_30",V.NT_1366_768_30="NT_1366_768_30",V.NT_1366_768_60="NT_1366_768_60",V.NT_1680_1050_30="NT_1680_1050_30",V.NT_1280_800_30="NT_1280_800_30",V.NT_1440_900_30="NT_1440_900_30",V.NT_1680_1050_60="NT_1680_1050_60",V.NVB_PROFILE_GAMING="NVB_PROFILE_GAMING",V.NVB_PROFILE_ROAMING_720P_60FPS="NVB_PROFILE_ROAMING_720P_60FPS",V.NT_1440_900_60="NT_1440_900_60",V.NVB_PROFILE_GAMING_720P_60FPS="NVB_PROFILE_GAMING_720P_60FPS",V.NVB_PROFILE_GAMING_1080P_30FPS="NVB_PROFILE_GAMING_1080P_30FPS",V.NVB_PROFILE_DEFAULT="NVB_PROFILE_DEFAULT",V}(te||{}),N=function(V){return V.Nvidia_Access_Denied="Nvidia_Access_Denied",V.Unknown="Unknown",V.Rate_Limited="Rate_Limited",V.Platform_Access_Denied="Platform_Access_Denied",V.Platform_Profile_Denied="Platform_Profile_Denied",V.Success="Success",V.Sync_Failed="Sync_Failed",V.Sync_Denied="Sync_Denied",V.Profile_Not_Created="Profile_Not_Created",V.Sync_Success="Sync_Success",V}(N||{}),z=function(V){return V.DismissManual="DismissManual",V.Completed="Completed",V.Notify="Notify",V.DismissAppExit="DismissAppExit",V.DismissLogout="DismissLogout",V.DismissSleep="DismissSleep",V.DismissTimeout="DismissTimeout",V.Participate="Participate",V.DismissManualPostMinimize="DismissManualPostMinimize",V.NotifyPostMinimize="NotifyPostMinimize",V.ParticpatePostMinimize="ParticpatePostMinimize",V.Minimized="Minimized",V.Deferred="Deferred",V.LearnMoreClicked="LearnMoreClicked",V}(z||{}),v=function(V){return V.Dev="Dev",V.Release="Release",V.IBeta="IBeta",V.Autoplay="Autoplay",V}(v||{}),h=function(V){return V.Video="Video",V.Image="Image",V}(h||{}),ne=function(V){return V.StreamingClient="StreamingClient",V.MallClient="MallClient",V.StoreLibrary="StoreLibrary",V.Unknown="Unknown",V.BackgroundAgent="BackgroundAgent",V}(ne||{}),ee=function(V){return V.UserConsented="UserConsented",V.NotShown="NotShown",V.UserDidNotConsent="UserDidNotConsent",V}(ee||{}),b=function(V){return V.Adaptive="Adaptive",V.Off="Off",V.On="On",V}(b||{}),Y=function(V){return V.UpdBufferTips="UpdBufferTips",V.PlatformSelection="PlatformSelection",V.PlatformChangeConsent="PlatformChangeConsent",V.Redeem="Redeem",V.ManualLogout="ManualLogout",V.StreamerBackNavigation="StreamerBackNavigation",V.Settings="Settings",V.NetworkTroubleshooting="NetworkTroubleshooting",V.AllGames="AllGames",V.JoinGfn="JoinGfn",V.AddGameToLibrary="AddGameToLibrary",V.ManageMembership="ManageMembership",V.ViewMembershipDetails="ViewMembershipDetails",V.MarketingMarquee="MarketingMarquee",V.ReleaseHighlights="ReleaseHighlights",V.ShareGame="ShareGame",V.LaunchGame="LaunchGame",V.AddGameShortcut="AddGameShortcut",V.MyLibrary="MyLibrary",V.ViewGameDetails="ViewGameDetails",V.UninstallGame="UninstallGame",V.AccountManagementSso="AccountManagementSso",V.Upgrade="Upgrade",V.InvokeSearch="InvokeSearch",V.AddBrowserShortcut="AddBrowserShortcut",V.AccountMenu="AccountMenu",V.OpenClientIME="OpenClientIME",V.OpenFeedbackDialog="OpenFeedbackDialog",V.OpenOnScreenKeyboard="OpenOnScreenKeyboard",V.CloseOnScreenKeyboard="CloseOnScreenKeyboard",V.PasteClipboardText="PasteClipboardText",V.ShowVirtualGamepad="ShowVirtualGamepad",V.ToggleMicrophone="ToggleMicrophone",V.ToggleNetworkWarnings="ToggleNetworkWarnings",V.QuitGame="QuitGame",V.LearnMoreAboutStreamingProfiles="LearnMoreAboutStreamingProfiles",V.SeeMore="SeeMore",V.FilterTile="FilterTile",V.PathToPurchase="PathToPurchase",V.PromoCTA="PromoCTA",V.Unmute="Unmute",V.Mute="Mute",V.AddPlaytime="AddPlaytime",V.ViewPlaytime="ViewPlaytime",V.HowPlaytimeWorksKBA="HowPlaytimeWorksKBA",V.LimitedFeaturesKBA="LimitedFeaturesKBA",V.GetDayPass="GetDayPass",V.AddDayPass="AddDayPass",V.RefreshUserSubscription="RefreshUserSubscription",V.AddToFavorite="AddToFavorite",V.RemoveFromFavorite="RemoveFromFavorite",V.ClickedUrl="ClickedUrl",V.ChangePreferredGameLanguage="ChangePreferredGameLanguage",V.SkuBasedCatalogLearnMoreKBA="SkuBasedCatalogLearnMoreKBA",V.VisitSupport="VisitSupport",V.MarketingSectionTile="MarketingSectionTile",V}(Y||{}),q=function(V){return V.Keyboard="Keyboard",V.Gamepad="Gamepad",V.Mouse="Mouse",V.Touch="Touch",V.Unknown="Unknown",V}(q||{}),H=function(V){return V.Joystick="Joystick",V.Mouse="Mouse",V.Unknown="Unknown",V.Keyboard="Keyboard",V.GamePad="GamePad",V}(H||{}),X=function(V){return V.StreamerUsedFreeUpsell="StreamerUsedFreeUpsell",V.StreamerQueueUpsell="StreamerQueueUpsell",V.StreamerNoFreeUpsell="StreamerNoFreeUpsell",V.StreamerPostSessionFreeGaaSUpsell="StreamerPostSessionFreeGaaSUpsell",V.StreamerPostSessionUpsell="StreamerPostSessionUpsell",V.StreamerPostSessionAnonGaaSUpsell="StreamerPostSessionAnonGaaSUpsell",V.Standard="Standard",V}(X||{}),c=function(V){return V.Clicked="Clicked",V.Dismissed="Dismissed",V}(c||{}),g=function(V){return V.UNDEFINED="UNDEFINED",V.TRUE="TRUE",V.FALSE="FALSE",V}(g||{}),C=function(V){return V.AUTH_FAILED="AUTH_FAILED",V.SESSION_EXIST="SESSION_EXIST",V.RETRYABLE_POST_FAILURE="RETRYABLE_POST_FAILURE",V.BLOCK_STREAM="BLOCK_STREAM",V.WIFI_2_4="WIFI_2_4",V.INVALID_PARAM="INVALID_PARAM",V.TEST_IN_PROGRESS="TEST_IN_PROGRESS",V.POST_FAILED="POST_FAILED",V.NA="NA",V.FAILED="FAILED",V.INVALID_DATA="INVALID_DATA",V.CANCELED="CANCELED",V.SETUP_FAILED="SETUP_FAILED",V.PacketLoss="PacketLoss",V.UNKNOWN="UNKNOWN",V.SYN_FAILED="SYN_FAILED",V.FIN_FAILED="FIN_FAILED",V.CAPACITY_FULL="CAPACITY_FULL",V}(C||{}),j=function(V){return V.Cancel="Cancel",V.Send="Send",V}(j||{}),le=function(V){return V.Unknown="Unknown",V.NotStarted="NotStarted",V.Started="Started",V.Completed="Completed",V.Canceled="Canceled",V.Paused="Paused",V.Resumed="Resumed",V}(le||{}),ge=function(V){return V.Landscape="Landscape",V.Portrait="Portrait",V.Unknown="Unknown",V}(ge||{}),ie=function(V){return V.Unknown="Unknown",V.Windows="Windows",V.Mac="Mac",V.Android="Android",V.Web="Web",V.Linux="Linux",V}(ie||{}),ce=function(V){return V.PlayGame="PlayGame",V.ViewGame="ViewGame",V.None="None",V}(ce||{}),G=function(V){return V.GetServerInformation="GetServerInformation",V.JARVIS_Get_User_Token="JARVIS_Get_User_Token",V.Image_Retrieval_Tile_Feature="Image_Retrieval_Tile_Feature",V.JARVIS_Set_Pin="JARVIS_Set_Pin",V.JARVIS_Redeem_Delegate_Token="JARVIS_Redeem_Delegate_Token",V.Append_Client_Data="Append_Client_Data",V.Get_Client_Settings="Get_Client_Settings",V.NES_Cancel_Subscription="NES_Cancel_Subscription",V.Get_Client_Data="Get_Client_Data",V.GetAppVariants="GetAppVariants",V.NES_Update_Subscription="NES_Update_Subscription",V.GetAppData="GetAppData",V.Layout_Get_Tile_Data="Layout_Get_Tile_Data",V.NES_Get_PlayTime="NES_Get_PlayTime",V.InitiateDownload="InitiateDownload",V.DR_Get_Product="DR_Get_Product",V.NES_Install="NES_Install",V.NES_Get_Subscriptions="NES_Get_Subscriptions",V.NES_Get_Products="NES_Get_Products",V.JARVIS_Chain_Session="JARVIS_Chain_Session",V.FCM_Checkin="FCM_Checkin",V.GetPrivacyPolicy="GetPrivacyPolicy",V.NES_Get_Credits="NES_Get_Credits",V.JARVIS_Get_Third_Party_Provider_Info="JARVIS_Get_Third_Party_Provider_Info",V.FCM_Subscribe="FCM_Subscribe",V.FCM_Unregister="FCM_Unregister",V.JARVIS_Request_Email_Verify="JARVIS_Request_Email_Verify",V.JARVIS_Verify_Pin="JARVIS_Verify_Pin",V.GetCloudVariable="GetCloudVariable",V.CheckForUpdate="CheckForUpdate",V.DR_Put_Cart="DR_Put_Cart",V.Get_Client_Token="Get_Client_Token",V.FCM_Unsubscribe="FCM_Unsubscribe",V.Streaming_GetFeedbackToken="Streaming_GetFeedbackToken",V.GetRemoteConfig="GetRemoteConfig",V.Get_Release_Highlights="Get_Release_Highlights",V.Get_User_Info="Get_User_Info",V.PrepareToDownload="PrepareToDownload",V.NES_Get_Resource="NES_Get_Resource",V.DR_Get_Payment="DR_Get_Payment",V.GetFeatureRollout="GetFeatureRollout",V.NES_Get_ServiceUrls="NES_Get_ServiceUrls",V.JARVIS_Get_Login_Token="JARVIS_Get_Login_Token",V.JARVIS_Get_Delegate_Token="JARVIS_Get_Delegate_Token",V.Set_Client_Data="Set_Client_Data",V.Layout_Get_Section="Layout_Get_Section",V.DR_Edit_Payment="DR_Edit_Payment",V.FeedbackHead="FeedbackHead",V.DR_Empty_Cart="DR_Empty_Cart",V.NES_Get_Apps="NES_Get_Apps",V.DR_Get_Orders="DR_Get_Orders",V.FCM_Register="FCM_Register",V.DR_Apply_Shopper="DR_Apply_Shopper",V.DR_Get_Token="DR_Get_Token",V.GetTermsAndConditions="GetTermsAndConditions",V.GetSurvey="GetSurvey",V.Layout_Get_Sections="Layout_Get_Sections",V.JARVIS_Get_Pin="JARVIS_Get_Pin",V.Get_Access_Token="Get_Access_Token",V.Delete_Client_Data="Delete_Client_Data",V.GetRatingsInfo="GetRatingsInfo",V.FeedbackAttachment="FeedbackAttachment",V.Image_Retrieval_Tile_Game="Image_Retrieval_Tile_Game",V.NES_Uninstall="NES_Uninstall",V.DR_Submit_Cart="DR_Submit_Cart",V.GetLayout="GetLayout",V.SendSurveyResponse="SendSurveyResponse",V.Feature_Tile_Image_Retrieval="Feature_Tile_Image_Retrieval",V.JARVIS_Get_Session_Token="JARVIS_Get_Session_Token",V.GetSpecificServerInformation="GetSpecificServerInformation",V.Layout_Manager_Data_Retrieval="Layout_Manager_Data_Retrieval",V.JARVIS_Get_User_Info="JARVIS_Get_User_Info",V.Streaming_GetJarvisDelegateToken="Streaming_GetJarvisDelegateToken",V.NES_Get_Product_Credits="NES_Get_Product_Credits",V.DR_Get_Cart="DR_Get_Cart",V.GetApps="GetApps",V.LinkAccount="LinkAccount",V.UnlinkAccount="UnlinkAccount",V.GetOAuthURL="GetOAuthURL",V.LibrarySync="LibrarySync",V.Other="Other",V.FetchJSFile="FetchJSFile",V.FetchLocaleJson="FetchLocaleJson",V.GetPanel="GetPanel",V.PNS_Registrations="PNS_Registrations",V.PNS_Unregister="PNS_Unregister",V.GetUserAccount="GetUserAccount",V.NES_GetClientStreamingQuality="NES_GetClientStreamingQuality",V.GetCampaigns="GetCampaigns",V.AcquireUser="AcquireUser",V.GetAcquisitionState="GetAcquisitionState",V.GetFilterGroupAndSortOrderDefinitions="GetFilterGroupAndSortOrderDefinitions",V.GetLoginWallData="GetLoginWallData",V.GetLoginWallStrings="GetLoginWallStrings",V.AddFavoriteApp="AddFavoriteApp",V.RemoveFavoriteApp="RemoveFavoriteApp",V.AddOwnedVariant="AddOwnedVariant",V.RemoveOwnedVariant="RemoveOwnedVariant",V.SelectOwnedVariant="SelectOwnedVariant",V.UdsEndOfSessionReport="UdsEndOfSessionReport",V.UdsSummonedReport="UdsSummonedReport",V.OverallGfnSupportedLanguages="OverallGfnSupportedLanguages",V}(G||{}),ue=function(V){return V.Unknown="Unknown",V.Connected="Connected",V.Disconnected="Disconnected",V}(ue||{}),Ne=function(V){return V.Excellent="Excellent",V.Poor="Poor",V.Bad="Bad",V.Unknown="Unknown",V}(Ne||{}),we=function(V){return V.SelfUpdateInstallAuto="SelfUpdateInstallAuto",V.SelfUpdateInstallManual="SelfUpdateInstallManual",V.CustomOfflinePage="CustomOfflinePage",V.LaunchUI="LaunchUI",V.FirstApplicationInstall="FirstApplicationInstall",V.LaunchPwaUI="LaunchPwaUI",V.ScheduledMaintenanceTimer="ScheduledMaintenanceTimer",V.SessionLengthTimer="SessionLengthTimer",V.UDSToastShown="UDSToastShown",V}(we||{}),ve=function(V){return V.OobeAgreeAndContinue="OobeAgreeAndContinue",V.OobeTermsOfUseHyperlink="OobeTermsOfUseHyperlink",V}(ve||{}),Pe=function(V){return V.No="No",V.Yes="Yes",V.None="None",V}(Pe||{}),Oe=function(V){return V.GameNotFound="GameNotFound",V.BadRequest="BadRequest",V.Unknown="Unknown",V.ServerError="ServerError",V.ClipboardError="ClipboardError",V.Unauthorized="Unauthorized",V.PartnerAuthFailed="PartnerAuthFailed",V.ZoneNotFound="ZoneNotFound",V.RedirectURLNotAllowed="RedirectURLNotAllowed",V.None="None",V}(Oe||{}),Be=function(V){return V.AccountLinked="AccountLinked",V.Disconnect="Disconnect",V.ResyncAfterResolve="ResyncAfterResolve",V.ResyncAfterProfileCreate="ResyncAfterProfileCreate",V.Sync="Sync",V.Resync="Resync",V.ReconnectForOnboarding="ReconnectForOnboarding",V.Reconnect="Reconnect",V.ReconnectAfterSyncDenied="ReconnectAfterSyncDenied",V.ResyncAfterSyncFailed="ResyncAfterSyncFailed",V}(Be||{}),tt=function(V){return V.FingerprintChanged="FingerprintChanged",V.ClientUpdated="ClientUpdated",V.StreamerNetworkError="StreamerNetworkError",V.NetworkTestCancelled="NetworkTestCancelled",V.OverrideFlagSet="OverrideFlagSet",V.MaxDisplayRequired="MaxDisplayRequired",V.PolicyCheckFailed="PolicyCheckFailed",V.Manual="Manual",V.RedResult="RedResult",V.NetworkTestFailed="NetworkTestFailed",V.MaxSubscriptionProfileUpgraded="MaxSubscriptionProfileUpgraded",V}(tt||{}),Qe=function(V){return V.SolidState="SolidState",V.Unknown="Unknown",V.Rotational="Rotational",V}(Qe||{}),Xe=function(V){return V.Streamer="Streamer",V.Gallery="Gallery",V.Layout_L0="Layout_L0",V.Settings="Settings",V.Layout_L1="Layout_L1",V}(Xe||{}),_e=function(V){return V.Add="Add",V.Delete="Delete",V.TrimNew="TrimNew",V.Play="Play",V.OpenLocation="OpenLocation",V.TrimReplace="TrimReplace",V.Preview="Preview",V}(_e||{}),He=function(V){return V.Other="Other",V.Ethernet="Ethernet",V.Unknown="Unknown",V.Wifi_2_4="Wifi_2_4",V.Wifi_5_0="Wifi_5_0",V.Wifi_6_0="Wifi_6_0",V.Wifi_Unknown="Wifi_Unknown",V.Mobile="Mobile",V.Mobile_2G="Mobile_2G",V.Mobile_3G="Mobile_3G",V.Mobile_4G="Mobile_4G",V.Mobile_5G="Mobile_5G",V.Wimax="Wimax",V.Bluetooth="Bluetooth",V}(He||{}),De=function(V){return V.Manual="Manual",V.Automatic="Automatic",V}(De||{}),Re=function(V){return V.TabSwitch="TabSwitch",V.SessionEndPushNotification="SessionEndPushNotification",V.LocaleChange="LocaleChange",V.StreamerInstanceClosed="StreamerInstanceClosed",V.ClickRetry="ClickRetry",V.TwentyFourHourRefresh="TwentyFourHourRefresh",V.AppMetadataRefresh="AppMetadataRefresh",V.FocusGain="FocusGain",V.StreamerTerminated="StreamerTerminated",V.LoginStatusChange="LoginStatusChange",V.RemoveGame="RemoveGame",V.VpcIdRefresh="VpcIdRefresh",V.RemoveGameFailed="RemoveGameFailed",V.IntegrationChanged="IntegrationChanged",V.EcomStatusChanged="EcomStatusChanged",V.OnlineStatusChange="OnlineStatusChange",V.AppsListRefresh="AppsListRefresh",V.RefreshOnDataExpiry="RefreshOnDataExpiry",V.InitialFetch="InitialFetch",V.UserSKUChanged="UserSKUChanged",V.RefreshOnCampaignChange="RefreshOnCampaignChange",V}(Re||{}),K=function(V){return V.SystemInfo="SystemInfo",V}(K||{}),ke=function(V){return V.StreamerConnecting="StreamerConnecting",V.CancelledLoginCompleted="CancelledLoginCompleted",V.RagnarokLaunchError="RagnarokLaunchError",V.Success="Success",V.StreamerQueueUpsell="StreamerQueueUpsell",V.HTTPError="HTTPError",V.StreamerPostSessionFreeGaaSUpsell="StreamerPostSessionFreeGaaSUpsell",V.StreamerQueueApology="StreamerQueueApology",V.StreamerPostSessionUpsell="StreamerPostSessionUpsell",V.NesAuthFailed="NesAuthFailed",V.StreamerPostSessionAnonGaaSUpsell="StreamerPostSessionAnonGaaSUpsell",V.GeronimoLaunchError="GeronimoLaunchError",V.Failure="Failure",V.AppExit="AppExit",V.StreamerUsedFreeUpsell="StreamerUsedFreeUpsell",V.JarvisPinAuthFailed="JarvisPinAuthFailed",V.StreamerLoading="StreamerLoading",V.StreamerNoFreeUpsell="StreamerNoFreeUpsell",V.NesNotEntitled="NesNotEntitled",V.EmailNotVerified="EmailNotVerified",V.ServerError="ServerError",V.ECommercePaywallLaunchError="ECommercePaywallLaunchError",V.NetworkInfoError="NetworkInfoError",V.LoginFailed="LoginFailed",V.GeronimoNetworkTestError="GeronimoNetworkTestError",V.NetworkTestSdkError="NetworkTestSdkError",V.EmptyLibrary="EmptyLibrary",V.GetLayoutError="GetLayoutError",V.ClientError="ClientError",V.ClientOffline="ClientOffline",V.Other="Other",V.ServiceWorkerActivationOngoing="ServiceWorkerActivationOngoing",V.ServiceWorkerActivated="ServiceWorkerActivated",V.UALoginComplete="UALoginComplete",V.UALoginFailed="UALoginFailed",V.UALoginPending="UALoginPending",V.UALoginPendingTimedOut="UALoginPendingTimedOut",V.UALoginPendingSuccess="UALoginPendingSuccess",V.UALoginPendingFailure="UALoginPendingFailure",V.ServiceWorkerRegistrationFailed="ServiceWorkerRegistrationFailed",V.ServiceWorkerRegistrationSuccess="ServiceWorkerRegistrationSuccess",V.ServiceWorkerNotSupported="ServiceWorkerNotSupported",V.ServiceWorkerInstalled="ServiceWorkerInstalled",V.ServiceWorkerActivationError="ServiceWorkerActivationError",V.Registered="Registered",V.NotRegistered="NotRegistered",V.Played="Played",V}(ke||{}),Ue=function(V){return V.DeleteUndo="DeleteUndo",V.Enter="Enter",V.FiltersCleared="FiltersCleared",V.TrimCancel="TrimCancel",V.Montage="Montage",V.Edit="Edit",V}(Ue||{}),vt=function(V){return V.UpdateSuccess="UpdateSuccess",V.UpdateFailure="UpdateFailure",V.QueryFailure="QueryFailure",V.DownloadStarted="DownloadStarted",V.Query="Query",V.IPCReceived="IPCReceived",V.UpdateInitiated="UpdateInitiated",V.IPCSent="IPCSent",V.DownloadFailure="DownloadFailure",V.Error="Error",V.Optimization="Optimization",V.Downloaded="Downloaded",V.Cancelled="Cancelled",V}(vt||{}),Rt=function(V){return V.UGC="UGC",V.Game="Game",V}(Rt||{}),Ut=function(V){return V.ScreenOobeWelcome="ScreenOobeWelcome",V.ScreenToastMessage="ScreenToastMessage",V.ScreenMainToolbar="ScreenMainToolbar",V.ScreenMarquee="ScreenMarquee",V.ScreenAllGames="ScreenAllGames",V.ScreenAccountMenu="ScreenAccountMenu",V.ScreenSettings="ScreenSettings",V.ScreenAutoLogin="ScreenAutoLogin",V.ScreenMontage="ScreenMontage",V.ScreenEmailVerification="ScreenEmailVerification",V.ScreenPreview="ScreenPreview",V.ScreenGallery="ScreenGallery",V.ScreenStreamer="ScreenStreamer",V.ScreenMyLibrary="ScreenMyLibrary",V.ScreenJoinGfnDialog="ScreenJoinGfnDialog",V.ScreenGridView="ScreenGridView",V.ScreenEvidencePanel="ScreenEvidencePanel",V.ScreenMallHome="ScreenMallHome",V.ScreenPlatformSelectionDialog="ScreenPlatformSelectionDialog",V.ScreenSwitchProvider="ScreenSwitchProvider",V.ScreenUpgradeBanner="ScreenUpgradeBanner",V.ScreenDesktopShortcut="ScreenDesktopShortcut",V.ScreenPlaytimeNotAddedDialog="ScreenPlaytimeNotAddedDialog",V.ScreenAddPlaytimeBanner="ScreenAddPlaytimeBanner",V.ScreenLimitedStateGameLaunchDialog="ScreenLimitedStateGameLaunchDialog",V.ScreenLowStateGameLaunchDialog="ScreenLowStateGameLaunchDialog",V.ScreenLowPlaytimeDayPassBanner="ScreenLowPlaytimeDayPassBanner",V.ScreenDayPassExpiryBanner="ScreenDayPassExpiryBanner",V.ScreenLowPlaytimeDayPassDialog="ScreenLowPlaytimeDayPassDialog",V.ScreenHelpMenu="ScreenHelpMenu",V}(Ut||{}),Me=function(V){return V.Unknown="Unknown",V.GeForceNOW="GeForceNOW",V.External="External",V.Deeplink="Deeplink",V}(Me||{}),At=function(V){return V.Search="Search",V.FilterTile="FilterTile",V.SeeAll="SeeAll",V.Deeplink="Deeplink",V.Marquee="Marquee",V.FilterPanelAddFilter="FilterPanelAddFilter",V.FilterPanelRemoveFilter="FilterPanelRemoveFilter",V.FilterChipRemoveFilter="FilterChipRemoveFilter",V.LibraryItemRemoved="LibraryItemRemoved",V.SortOrderChanged="SortOrderChanged",V.ClearAll="ClearAll",V.AppsRefresh="AppsRefresh",V.LibraryRefresh="LibraryRefresh",V.CampaignRefresh="CampaignRefresh",V.ManualRetry="ManualRetry",V.NextPage="NextPage",V.None="None",V}(At||{}),mn=function(V){return V.TOKEN_REGISTRATION="TOKEN_REGISTRATION",V.DISPATCH_NOTIFICATION="DISPATCH_NOTIFICATION",V.DEVICE_REGISTRATION="DEVICE_REGISTRATION",V.CLIENT_SERVER_COMMUNICATION="CLIENT_SERVER_COMMUNICATION",V.SUBSCRIPTION="SUBSCRIPTION",V.PAYLOAD_DECRYPTION="PAYLOAD_DECRYPTION",V.GENERAL="GENERAL",V}(mn||{}),rn=function(V){return V.Join="Join",V.Close="Close",V.Login="Login",V}(rn||{}),Tn=function(V){return V.NNS="NNS",V.PNS="PNS",V}(Tn||{}),wn=function(V){return V.InstantReplay="InstantReplay",V.Highlight="Highlight",V.Manual="Manual",V.Montage="Montage",V.Screenshot="Screenshot",V.Normal="Normal",V}(wn||{}),qn=function(V){return V.Video="Video",V.Audio="Audio",V}(qn||{}),di=function(V){return V.Success="Success",V.Failure="Failure",V}(di||{}),Et=function(V){return V.EventNone="EventNone",V.EditBox="EditBox",V}(Et||{}),Dt=function(V){return V.SessionStart="SessionStart",V.SessionStop="SessionStop",V.SessionConsentDenied="SessionConsentDenied",V}(Dt||{}),Ot=function(V){return V.Success="Success",V.Failure="Failure",V.Unknown="Unknown",V}(Ot||{}),at=function(V){return V.Full="Full",V.Low="Low",V.Limited="Limited",V}(at||{}),ft=function(V){return V.Desktop="Desktop",V.Mobile="Mobile",V.Game="Game",V.Unknown="Unknown",V}(ft||{}),yt=function(V){return V.UpdateCheckAttemptsExhausted="UpdateCheckAttemptsExhausted",V.DownloadAttemptExhausted="DownloadAttemptExhausted",V.InstallationAttemptExhausted="InstallationAttemptExhausted",V.Banner="Banner",V}(yt||{}),sn=function(V){return V.PopupShown="PopupShown",V.RelaunchNow="RelaunchNow",V.Redirect="Redirect",V}(sn||{}),on=function(V){return V.Html="Html",V.Json="Json",V.Image="Image",V.Video="Video",V.Marquee="Marquee",V.Icon="Icon",V.Unknown="Unknown",V}(on||{}),un=function(V){return V.FromMall="FromMall",V.FromStreamer="FromStreamer",V}(un||{});const $e={CaptureEvent:{name:"CaptureEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},GalleryContentEvent:{name:"GalleryContentEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},ClientAudioError:{name:"ClientAudioError",gdprLevel:n.Technical,personalization:E.UserPreferred},AnselFreestyleError:{name:"AnselFreestyleError",gdprLevel:n.Functional,personalization:E.UserPreferred},HighlightsGameSetting:{name:"HighlightsGameSetting",gdprLevel:n.Functional,personalization:E.UserPreferred},TextSearch:{name:"TextSearch",gdprLevel:n.Behavioral,personalization:E.UserPreferred},ProcessStarted:{name:"ProcessStarted",gdprLevel:n.Functional,personalization:E.UserPreferred},MicrophoneSettingChange:{name:"MicrophoneSettingChange",gdprLevel:n.Functional,personalization:E.UserPreferred},MicrophoneInitialized:{name:"MicrophoneInitialized",gdprLevel:n.Functional,personalization:E.UserPreferred},CheckGFN:{name:"CheckGFN",gdprLevel:n.Functional,personalization:E.UserPreferred},UIAction:{name:"UIAction",gdprLevel:n.Functional,personalization:E.UserPreferred},QueueEtaUpgradeClicked:{name:"QueueEtaUpgradeClicked",gdprLevel:n.Functional,personalization:E.UserPreferred},QueueEtaAddPlaytimeClicked:{name:"QueueEtaAddPlaytimeClicked",gdprLevel:n.Technical,personalization:E.UserPreferred},AudioNotificationEvent:{name:"AudioNotificationEvent",gdprLevel:n.Technical,personalization:E.UserPreferred},PopUpDialogClosed:{name:"PopUpDialogClosed",gdprLevel:n.Technical,personalization:E.UserPreferred},NetworkTest_Exception_Event:{name:"NetworkTest_Exception_Event",gdprLevel:n.Technical,personalization:E.UserPreferred},Game_Launch_Event:{name:"Game_Launch_Event",gdprLevel:n.Functional,personalization:E.UserPreferred},Game_Quit_Event:{name:"Game_Quit_Event",gdprLevel:n.Functional,personalization:E.UserPreferred},LaunchProcess:{name:"LaunchProcess",gdprLevel:n.Functional,personalization:E.UserPreferred},ClientImeOpenEvent:{name:"ClientImeOpenEvent",gdprLevel:n.Technical,personalization:E.UserPreferred},OpenedIGO:{name:"OpenedIGO",gdprLevel:n.Functional,personalization:E.UserPreferred},GalleryPlayedVideo:{name:"GalleryPlayedVideo",gdprLevel:n.Behavioral,personalization:E.UserPreferred},AnselFreestyleFeatureDisabled:{name:"AnselFreestyleFeatureDisabled",gdprLevel:n.Technical,personalization:E.UserPreferred},SettingSnapshot:{name:"SettingSnapshot",gdprLevel:n.Behavioral,personalization:E.UserPreferred},Application_Install:{name:"Application_Install",gdprLevel:n.Functional,personalization:E.UserPreferred},QueueAbandoned:{name:"QueueAbandoned",gdprLevel:n.Functional,personalization:E.UserPreferred},OwnershipSyncEvent:{name:"OwnershipSyncEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},PopUpDialogShown:{name:"PopUpDialogShown",gdprLevel:n.Functional,personalization:E.UserPreferred},PushNotificationReceived:{name:"PushNotificationReceived",gdprLevel:n.Functional,personalization:E.UserPreferred},UITransition:{name:"UITransition",gdprLevel:n.Behavioral,personalization:E.UserPreferred},OOBE_Accept:{name:"OOBE_Accept",gdprLevel:n.Functional,personalization:E.UserPreferred},RoutingStatus:{name:"RoutingStatus",gdprLevel:n.Functional,personalization:E.UserPreferred},CrashInfo:{name:"CrashInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},HTTPFailure:{name:"HTTPFailure",gdprLevel:n.Functional,personalization:E.UserPreferred},AnselFreestyleSession:{name:"AnselFreestyleSession",gdprLevel:n.Functional,personalization:E.UserPreferred},PushNotificationTokenRegistered:{name:"PushNotificationTokenRegistered",gdprLevel:n.Functional,personalization:E.UserPreferred},AutoUpdate:{name:"AutoUpdate",gdprLevel:n.Functional,personalization:E.UserPreferred},LayoutTelemetry:{name:"LayoutTelemetry",gdprLevel:n.Functional,personalization:E.UserPreferred},BrowserClientCanary:{name:"BrowserClientCanary",gdprLevel:n.Functional,personalization:E.UserPreferred},HTTPSuccess:{name:"HTTPSuccess",gdprLevel:n.Functional,personalization:E.UserPreferred},SDKCallResult:{name:"SDKCallResult",gdprLevel:n.Functional,personalization:E.UserPreferred},Drag:{name:"Drag",gdprLevel:n.Technical,personalization:E.UserPreferred},HighlightsIndividualGameToggle:{name:"HighlightsIndividualGameToggle",gdprLevel:n.Behavioral,personalization:E.UserPreferred},NetworkTest:{name:"NetworkTest",gdprLevel:n.Functional,personalization:E.UserPreferred},GFNSession:{name:"GFNSession",gdprLevel:n.Functional,personalization:E.UserPreferred},DeeplinkSource:{name:"DeeplinkSource",gdprLevel:n.Functional,personalization:E.UserPreferred},HIDInfo:{name:"HIDInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},SystemInfo:{name:"SystemInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},GameSearchFilterEvent:{name:"GameSearchFilterEvent",gdprLevel:n.Behavioral,personalization:E.UserPreferred},GalleryOpenedFileLocation:{name:"GalleryOpenedFileLocation",gdprLevel:n.Behavioral,personalization:E.UserPreferred},Click:{name:"Click",gdprLevel:n.Technical,personalization:E.UserPreferred},AnselFreestyleFilters:{name:"AnselFreestyleFilters",gdprLevel:n.Functional,personalization:E.UserPreferred},GalleryFilterUsed:{name:"GalleryFilterUsed",gdprLevel:n.Behavioral,personalization:E.UserPreferred},UserSession:{name:"UserSession",gdprLevel:n.Functional,personalization:E.UserPreferred},NavigationPerformanceMetrics:{name:"NavigationPerformanceMetrics",gdprLevel:n.Technical,personalization:E.UserPreferred},GalleryDeleteCountEvent:{name:"GalleryDeleteCountEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},MontageEvent:{name:"MontageEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},CreateHTTPServerError:{name:"CreateHTTPServerError",gdprLevel:n.Functional,personalization:E.UserPreferred},AnselScreenshotEvent:{name:"AnselScreenshotEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},Hit_Event:{name:"Hit_Event",gdprLevel:n.Functional,personalization:E.UserPreferred},CloudSearch:{name:"CloudSearch",gdprLevel:n.Functional,personalization:E.UserPreferred},AuthenticationProvider:{name:"AuthenticationProvider",gdprLevel:n.Functional,personalization:E.UserPreferred},ExperienceControlInfo:{name:"ExperienceControlInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},PageLoadPerformanceMetrics:{name:"PageLoadPerformanceMetrics",gdprLevel:n.Technical,personalization:E.UserPreferred},SettingState:{name:"SettingState",gdprLevel:n.Technical,personalization:E.UserPreferred},DeeplinkShare:{name:"DeeplinkShare",gdprLevel:n.Functional,personalization:E.UserPreferred},Game_Launch_Metrics:{name:"Game_Launch_Metrics",gdprLevel:n.Functional,personalization:E.UserPreferred},NetworkTest_Http_Event:{name:"NetworkTest_Http_Event",gdprLevel:n.Functional,personalization:E.UserPreferred},GalleryAction:{name:"GalleryAction",gdprLevel:n.Functional,personalization:E.UserPreferred},GFNPCLogsInfo:{name:"GFNPCLogsInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},CTATileClickEvent:{name:"CTATileClickEvent",gdprLevel:n.Technical,personalization:E.UserPreferred},StreamingProfile:{name:"StreamingProfile",gdprLevel:n.Technical,personalization:E.UserPreferred},ClientImeInteractionEvent:{name:"ClientImeInteractionEvent",gdprLevel:n.Technical,personalization:E.UserPreferred},StreamNowButtonClick:{name:"StreamNowButtonClick",gdprLevel:n.Functional,personalization:E.UserPreferred},HighlightCapture:{name:"HighlightCapture",gdprLevel:n.Functional,personalization:E.UserPreferred},GalleryFileRemoved:{name:"GalleryFileRemoved",gdprLevel:n.Behavioral,personalization:E.UserPreferred},GalleryFilterEvent:{name:"GalleryFilterEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},MontageAction:{name:"MontageAction",gdprLevel:n.Functional,personalization:E.UserPreferred},UserSurvey:{name:"UserSurvey",gdprLevel:n.Functional,personalization:E.UserPreferred},PluginAPIStatus:{name:"PluginAPIStatus",gdprLevel:n.Technical,personalization:E.UserPreferred},GPUInfo:{name:"GPUInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},GallerySortEvent:{name:"GallerySortEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},OverrideKeyboardLayout:{name:"OverrideKeyboardLayout",gdprLevel:n.Functional,personalization:E.UserPreferred},Exception:{name:"Exception",gdprLevel:n.Functional,personalization:E.UserPreferred},OpportunityViewStatus:{name:"OpportunityViewStatus",gdprLevel:n.Functional,personalization:E.UserPreferred},HighlightsCancelled:{name:"HighlightsCancelled",gdprLevel:n.Functional,personalization:E.UserPreferred},GalleryAccess:{name:"GalleryAccess",gdprLevel:n.Functional,personalization:E.UserPreferred},PushNotificationError:{name:"PushNotificationError",gdprLevel:n.Functional,personalization:E.UserPreferred},PushNotificationPurgedEntries:{name:"PushNotificationPurgedEntries",gdprLevel:n.Functional,personalization:E.UserPreferred},FreestyleStylesApplied:{name:"FreestyleStylesApplied",gdprLevel:n.Functional,personalization:E.UserPreferred},MediaPlay:{name:"MediaPlay",gdprLevel:n.Technical,personalization:E.UserPreferred},StatsClosedEvent:{name:"StatsClosedEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},StatsViewChangedEvent:{name:"StatsViewChangedEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},GFNEventStatus:{name:"GFNEventStatus",gdprLevel:n.Functional,personalization:E.UserPreferred},GameplayEntryEvent:{name:"GameplayEntryEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},StreamingQualityChangedEvent:{name:"StreamingQualityChangedEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},ResolutionUpscalingChangedEvent:{name:"ResolutionUpscalingChangedEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},WidgetViewChangedEvent:{name:"WidgetViewChangedEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},NotificationChangedEvent:{name:"NotificationChangedEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},PlaytesterSessionEvent:{name:"PlaytesterSessionEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},ClipboardPasteEvent:{name:"ClipboardPasteEvent",gdprLevel:n.Functional,personalization:E.UserPreferred},StorageUsageMetrics:{name:"StorageUsageMetrics",gdprLevel:n.Technical,personalization:E.UserPreferred},LoginStart:{name:"LoginStart",gdprLevel:n.Functional,personalization:E.UserPreferred},RemoteConfigInfo:{name:"RemoteConfigInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},GameCampaignsUpdate:{name:"GameCampaignsUpdate",gdprLevel:n.Functional,personalization:E.UserPreferred},UDSDialogShown:{name:"UDSDialogShown",gdprLevel:n.Functional,personalization:E.UserPreferred},UDSSuggestionFeedback:{name:"UDSSuggestionFeedback",gdprLevel:n.Functional,personalization:E.UserPreferred},PluginsStatus:{name:"PluginsStatus",gdprLevel:n.Technical,personalization:E.UserPreferred},ClientSelfUpdate:{name:"ClientSelfUpdate",gdprLevel:n.Functional,personalization:E.UserPreferred},UserWindowInfo:{name:"UserWindowInfo",gdprLevel:n.Functional,personalization:E.UserPreferred},ResourceLoadError:{name:"ResourceLoadError",gdprLevel:n.Functional,personalization:E.UserPreferred}};class It{constructor(dt){this.parameters=dt,this.ts=(new Date).toISOString()}}class Yn extends It{constructor(dt){super(dt),this.name=$e.GalleryContentEvent.name,this.gdprLevel=$e.GalleryContentEvent.gdprLevel,this.personalization=$e.GalleryContentEvent.personalization}}class ti extends It{constructor(dt){super(dt),this.name=$e.MicrophoneSettingChange.name,this.gdprLevel=$e.MicrophoneSettingChange.gdprLevel,this.personalization=$e.MicrophoneSettingChange.personalization}}class wi extends It{constructor(dt){super(dt),this.name=$e.MicrophoneInitialized.name,this.gdprLevel=$e.MicrophoneInitialized.gdprLevel,this.personalization=$e.MicrophoneInitialized.personalization}}class oi extends It{constructor(dt){super(dt),this.name=$e.CheckGFN.name,this.gdprLevel=$e.CheckGFN.gdprLevel,this.personalization=$e.CheckGFN.personalization}}class Wn extends It{constructor(dt){super(dt),this.name=$e.UIAction.name,this.gdprLevel=$e.UIAction.gdprLevel,this.personalization=$e.UIAction.personalization}}class rt extends It{constructor(dt){super(dt),this.name=$e.QueueEtaUpgradeClicked.name,this.gdprLevel=$e.QueueEtaUpgradeClicked.gdprLevel,this.personalization=$e.QueueEtaUpgradeClicked.personalization}}class Kt extends It{constructor(dt){super(dt),this.name=$e.QueueEtaAddPlaytimeClicked.name,this.gdprLevel=$e.QueueEtaAddPlaytimeClicked.gdprLevel,this.personalization=$e.QueueEtaAddPlaytimeClicked.personalization}}class $t extends It{constructor(dt){super(dt),this.name=$e.AudioNotificationEvent.name,this.gdprLevel=$e.AudioNotificationEvent.gdprLevel,this.personalization=$e.AudioNotificationEvent.personalization}}class oe extends It{constructor(dt){super(dt),this.name=$e.PopUpDialogClosed.name,this.gdprLevel=$e.PopUpDialogClosed.gdprLevel,this.personalization=$e.PopUpDialogClosed.personalization}}class pe extends It{constructor(dt){super(dt),this.name=$e.NetworkTest_Exception_Event.name,this.gdprLevel=$e.NetworkTest_Exception_Event.gdprLevel,this.personalization=$e.NetworkTest_Exception_Event.personalization}}class Ge extends It{constructor(dt){super(dt),this.name=$e.Game_Launch_Event.name,this.gdprLevel=$e.Game_Launch_Event.gdprLevel,this.personalization=$e.Game_Launch_Event.personalization}}class Ze extends It{constructor(dt){super(dt),this.name=$e.Game_Quit_Event.name,this.gdprLevel=$e.Game_Quit_Event.gdprLevel,this.personalization=$e.Game_Quit_Event.personalization}}class pt extends It{constructor(dt){super(dt),this.name=$e.ClientImeOpenEvent.name,this.gdprLevel=$e.ClientImeOpenEvent.gdprLevel,this.personalization=$e.ClientImeOpenEvent.personalization}}class Wt extends It{constructor(dt){super(dt),this.name=$e.Application_Install.name,this.gdprLevel=$e.Application_Install.gdprLevel,this.personalization=$e.Application_Install.personalization}}class en extends It{constructor(dt){super(dt),this.name=$e.QueueAbandoned.name,this.gdprLevel=$e.QueueAbandoned.gdprLevel,this.personalization=$e.QueueAbandoned.personalization}}class Lt extends It{constructor(dt){super(dt),this.name=$e.OwnershipSyncEvent.name,this.gdprLevel=$e.OwnershipSyncEvent.gdprLevel,this.personalization=$e.OwnershipSyncEvent.personalization}}class cn extends It{constructor(dt){super(dt),this.name=$e.PopUpDialogShown.name,this.gdprLevel=$e.PopUpDialogShown.gdprLevel,this.personalization=$e.PopUpDialogShown.personalization}}class Yt extends It{constructor(dt){super(dt),this.name=$e.PushNotificationReceived.name,this.gdprLevel=$e.PushNotificationReceived.gdprLevel,this.personalization=$e.PushNotificationReceived.personalization}}class ni extends It{constructor(dt){super(dt),this.name=$e.OOBE_Accept.name,this.gdprLevel=$e.OOBE_Accept.gdprLevel,this.personalization=$e.OOBE_Accept.personalization}}class dn extends It{constructor(dt){super(dt),this.name=$e.RoutingStatus.name,this.gdprLevel=$e.RoutingStatus.gdprLevel,this.personalization=$e.RoutingStatus.personalization}}class Gn extends It{constructor(dt){super(dt),this.name=$e.HTTPFailure.name,this.gdprLevel=$e.HTTPFailure.gdprLevel,this.personalization=$e.HTTPFailure.personalization}}class Kn extends It{constructor(dt){super(dt),this.name=$e.PushNotificationTokenRegistered.name,this.gdprLevel=$e.PushNotificationTokenRegistered.gdprLevel,this.personalization=$e.PushNotificationTokenRegistered.personalization}}class bi extends It{constructor(dt){super(dt),this.name=$e.AutoUpdate.name,this.gdprLevel=$e.AutoUpdate.gdprLevel,this.personalization=$e.AutoUpdate.personalization}}class xn extends It{constructor(dt){super(dt),this.name=$e.LayoutTelemetry.name,this.gdprLevel=$e.LayoutTelemetry.gdprLevel,this.personalization=$e.LayoutTelemetry.personalization}}class Qi extends It{constructor(dt){super(dt),this.name=$e.BrowserClientCanary.name,this.gdprLevel=$e.BrowserClientCanary.gdprLevel,this.personalization=$e.BrowserClientCanary.personalization}}class Jt extends It{constructor(dt){super(dt),this.name=$e.HTTPSuccess.name,this.gdprLevel=$e.HTTPSuccess.gdprLevel,this.personalization=$e.HTTPSuccess.personalization}}class ri extends It{constructor(dt){super(dt),this.name=$e.Drag.name,this.gdprLevel=$e.Drag.gdprLevel,this.personalization=$e.Drag.personalization}}class On extends It{constructor(dt){super(dt),this.name=$e.NetworkTest.name,this.gdprLevel=$e.NetworkTest.gdprLevel,this.personalization=$e.NetworkTest.personalization}}class ii extends It{constructor(dt){super(dt),this.name=$e.DeeplinkSource.name,this.gdprLevel=$e.DeeplinkSource.gdprLevel,this.personalization=$e.DeeplinkSource.personalization}}class Pn extends It{constructor(dt){super(dt),this.name=$e.HIDInfo.name,this.gdprLevel=$e.HIDInfo.gdprLevel,this.personalization=$e.HIDInfo.personalization}}class ho extends It{constructor(dt){super(dt),this.name=$e.SystemInfo.name,this.gdprLevel=$e.SystemInfo.gdprLevel,this.personalization=$e.SystemInfo.personalization}}class Xi extends It{constructor(dt){super(dt),this.name=$e.GameSearchFilterEvent.name,this.gdprLevel=$e.GameSearchFilterEvent.gdprLevel,this.personalization=$e.GameSearchFilterEvent.personalization}}class Fn extends It{constructor(dt){super(dt),this.name=$e.Click.name,this.gdprLevel=$e.Click.gdprLevel,this.personalization=$e.Click.personalization}}class qi extends It{constructor(dt){super(dt),this.name=$e.UserSession.name,this.gdprLevel=$e.UserSession.gdprLevel,this.personalization=$e.UserSession.personalization}}class $o extends It{constructor(dt){super(dt),this.name=$e.NavigationPerformanceMetrics.name,this.gdprLevel=$e.NavigationPerformanceMetrics.gdprLevel,this.personalization=$e.NavigationPerformanceMetrics.personalization}}class mo extends It{constructor(dt){super(dt),this.name=$e.GalleryDeleteCountEvent.name,this.gdprLevel=$e.GalleryDeleteCountEvent.gdprLevel,this.personalization=$e.GalleryDeleteCountEvent.personalization}}class zo extends It{constructor(dt){super(dt),this.name=$e.CreateHTTPServerError.name,this.gdprLevel=$e.CreateHTTPServerError.gdprLevel,this.personalization=$e.CreateHTTPServerError.personalization}}class pi extends It{constructor(dt){super(dt),this.name=$e.Hit_Event.name,this.gdprLevel=$e.Hit_Event.gdprLevel,this.personalization=$e.Hit_Event.personalization}}class eo extends It{constructor(dt){super(dt),this.name=$e.AuthenticationProvider.name,this.gdprLevel=$e.AuthenticationProvider.gdprLevel,this.personalization=$e.AuthenticationProvider.personalization}}class si extends It{constructor(dt){super(dt),this.name=$e.PageLoadPerformanceMetrics.name,this.gdprLevel=$e.PageLoadPerformanceMetrics.gdprLevel,this.personalization=$e.PageLoadPerformanceMetrics.personalization}}class Io extends It{constructor(dt){super(dt),this.name=$e.SettingState.name,this.gdprLevel=$e.SettingState.gdprLevel,this.personalization=$e.SettingState.personalization}}class Do extends It{constructor(dt){super(dt),this.name=$e.DeeplinkShare.name,this.gdprLevel=$e.DeeplinkShare.gdprLevel,this.personalization=$e.DeeplinkShare.personalization}}class To extends It{constructor(dt){super(dt),this.name=$e.Game_Launch_Metrics.name,this.gdprLevel=$e.Game_Launch_Metrics.gdprLevel,this.personalization=$e.Game_Launch_Metrics.personalization}}class to extends It{constructor(dt){super(dt),this.name=$e.NetworkTest_Http_Event.name,this.gdprLevel=$e.NetworkTest_Http_Event.gdprLevel,this.personalization=$e.NetworkTest_Http_Event.personalization}}class Xn extends It{constructor(dt){super(dt),this.name=$e.GalleryAction.name,this.gdprLevel=$e.GalleryAction.gdprLevel,this.personalization=$e.GalleryAction.personalization}}class jo extends It{constructor(dt){super(dt),this.name=$e.CTATileClickEvent.name,this.gdprLevel=$e.CTATileClickEvent.gdprLevel,this.personalization=$e.CTATileClickEvent.personalization}}class Ki extends It{constructor(dt){super(dt),this.name=$e.StreamingProfile.name,this.gdprLevel=$e.StreamingProfile.gdprLevel,this.personalization=$e.StreamingProfile.personalization}}class Ro extends It{constructor(dt){super(dt),this.name=$e.ClientImeInteractionEvent.name,this.gdprLevel=$e.ClientImeInteractionEvent.gdprLevel,this.personalization=$e.ClientImeInteractionEvent.personalization}}class vo extends It{constructor(dt){super(dt),this.name=$e.StreamNowButtonClick.name,this.gdprLevel=$e.StreamNowButtonClick.gdprLevel,this.personalization=$e.StreamNowButtonClick.personalization}}class xo extends It{constructor(dt){super(dt),this.name=$e.GalleryFilterEvent.name,this.gdprLevel=$e.GalleryFilterEvent.gdprLevel,this.personalization=$e.GalleryFilterEvent.personalization}}class io extends It{constructor(dt){super(dt),this.name=$e.UserSurvey.name,this.gdprLevel=$e.UserSurvey.gdprLevel,this.personalization=$e.UserSurvey.personalization}}class Ui extends It{constructor(dt){super(dt),this.name=$e.PluginAPIStatus.name,this.gdprLevel=$e.PluginAPIStatus.gdprLevel,this.personalization=$e.PluginAPIStatus.personalization}}class $i extends It{constructor(dt){super(dt),this.name=$e.GPUInfo.name,this.gdprLevel=$e.GPUInfo.gdprLevel,this.personalization=$e.GPUInfo.personalization}}class Pi extends It{constructor(dt){super(dt),this.name=$e.GallerySortEvent.name,this.gdprLevel=$e.GallerySortEvent.gdprLevel,this.personalization=$e.GallerySortEvent.personalization}}class ki extends It{constructor(dt){super(dt),this.name=$e.Exception.name,this.gdprLevel=$e.Exception.gdprLevel,this.personalization=$e.Exception.personalization}}class fo extends It{constructor(dt){super(dt),this.name=$e.OpportunityViewStatus.name,this.gdprLevel=$e.OpportunityViewStatus.gdprLevel,this.personalization=$e.OpportunityViewStatus.personalization}}class Ao extends It{constructor(dt){super(dt),this.name=$e.PushNotificationError.name,this.gdprLevel=$e.PushNotificationError.gdprLevel,this.personalization=$e.PushNotificationError.personalization}}class vi extends It{constructor(dt){super(dt),this.name=$e.PushNotificationPurgedEntries.name,this.gdprLevel=$e.PushNotificationPurgedEntries.gdprLevel,this.personalization=$e.PushNotificationPurgedEntries.personalization}}class nn extends It{constructor(dt){super(dt),this.name=$e.MediaPlay.name,this.gdprLevel=$e.MediaPlay.gdprLevel,this.personalization=$e.MediaPlay.personalization}}class Fi extends It{constructor(dt){super(dt),this.name=$e.GFNEventStatus.name,this.gdprLevel=$e.GFNEventStatus.gdprLevel,this.personalization=$e.GFNEventStatus.personalization}}class _o extends It{constructor(dt){super(dt),this.name=$e.PlaytesterSessionEvent.name,this.gdprLevel=$e.PlaytesterSessionEvent.gdprLevel,this.personalization=$e.PlaytesterSessionEvent.personalization}}class ao extends It{constructor(dt){super(dt),this.name=$e.ClipboardPasteEvent.name,this.gdprLevel=$e.ClipboardPasteEvent.gdprLevel,this.personalization=$e.ClipboardPasteEvent.personalization}}class qo extends It{constructor(dt){super(dt),this.name=$e.StorageUsageMetrics.name,this.gdprLevel=$e.StorageUsageMetrics.gdprLevel,this.personalization=$e.StorageUsageMetrics.personalization}}class lo extends It{constructor(dt){super(dt),this.name=$e.LoginStart.name,this.gdprLevel=$e.LoginStart.gdprLevel,this.personalization=$e.LoginStart.personalization}}class Pt extends It{constructor(dt){super(dt),this.name=$e.RemoteConfigInfo.name,this.gdprLevel=$e.RemoteConfigInfo.gdprLevel,this.personalization=$e.RemoteConfigInfo.personalization}}class Ei extends It{constructor(dt){super(dt),this.name=$e.GameCampaignsUpdate.name,this.gdprLevel=$e.GameCampaignsUpdate.gdprLevel,this.personalization=$e.GameCampaignsUpdate.personalization}}class So extends It{constructor(dt){super(dt),this.name=$e.UDSDialogShown.name,this.gdprLevel=$e.UDSDialogShown.gdprLevel,this.personalization=$e.UDSDialogShown.personalization}}class ui extends It{constructor(dt){super(dt),this.name=$e.UDSSuggestionFeedback.name,this.gdprLevel=$e.UDSSuggestionFeedback.gdprLevel,this.personalization=$e.UDSSuggestionFeedback.personalization}}class co extends It{constructor(dt){super(dt),this.name=$e.PluginsStatus.name,this.gdprLevel=$e.PluginsStatus.gdprLevel,this.personalization=$e.PluginsStatus.personalization}}class Bi extends It{constructor(dt){super(dt),this.name=$e.ClientSelfUpdate.name,this.gdprLevel=$e.ClientSelfUpdate.gdprLevel,this.personalization=$e.ClientSelfUpdate.personalization}}class wo extends It{constructor(dt){super(dt),this.name=$e.UserWindowInfo.name,this.gdprLevel=$e.UserWindowInfo.gdprLevel,this.personalization=$e.UserWindowInfo.personalization}}class zi extends It{constructor(dt){super(dt),this.name=$e.ResourceLoadError.name,this.gdprLevel=$e.ResourceLoadError.gdprLevel,this.personalization=$e.ResourceLoadError.personalization}}},18433:(xe,de,t)=>{"use strict";t.d(de,{iQN:()=>n.iQN,Zhy:()=>n.Zhy,mTv:()=>n.mTv,$_D:()=>n.$_D,Tv4:()=>n.Tv4,T80:()=>n.T80,LCb:()=>n.LCb,MPq:()=>n.MPq,EBD:()=>n.EBD,Kbb:()=>n.Kbb,cKB:()=>n.cKB,aa0:()=>n.aa0,OCG:()=>n.OCG,sKj:()=>n.sKj,I58:()=>e.I5,px4:()=>n.px4,LQP:()=>n.LQP,oO8:()=>n.oO8,HBm:()=>n.HBm,Hgm:()=>n.Hgm,QF:()=>n.QF,fbu:()=>n.fbu,fBK:()=>n.fBK,Nj_:()=>n.Nj_,MYy:()=>n.MYy,_nL:()=>n._nL,WCA:()=>n.WCA,JUy:()=>n.JUy,iLx:()=>n.iLx,myS:()=>n.myS,dZ:()=>n.dZ,XM7:()=>n.XM7,lv$:()=>n.lv$,waC:()=>n.waC,FEW:()=>n.FEW,cPF:()=>n.cPF,e13:()=>n.e13,Lbi:()=>n.Lbi,vhU:()=>n.vhU,iVs:()=>e.iV,yEy:()=>n.yEy,SBT:()=>n.SBT,H9T:()=>n.H9T,war:()=>n.war,xkk:()=>n.xkk,RXY:()=>n.RXY,GSb:()=>n.GSb,$1L:()=>n.$1L,_o$:()=>n._o$,Bhf:()=>n.Bhf,kSA:()=>n.kSA,Ixb:()=>n.Ixb,RsW:()=>n.RsW,Dz:()=>n.Dz,jG:()=>n.jG,HVs:()=>n.HVs,JWD:()=>n.JWD,Yno:()=>n.Yno,Ssl:()=>n.Ssl,Yjq:()=>n.Yjq,uxn:()=>n.uxn,kKp:()=>n.kKp,gvg:()=>n.gvg,zTU:()=>n.zTU,QQA:()=>n.QQA,ZpH:()=>n.ZpH,RX8:()=>e.RX,qH9:()=>n.qH9,w7B:()=>n.w7B,Uqt:()=>n.Uqt,Osi:()=>n.Osi,uKc:()=>n.uKc,eK6:()=>n.eK6,GoL:()=>n.GoL,t4p:()=>n.t4p,Uu$:()=>n.Uu$,IWs:()=>n.IWs,YDY:()=>n.YDY,_b3:()=>n._b3,mGP:()=>n.mGP,xEK:()=>n.xEK,duU:()=>n.duU,mUs:()=>n.mUs,Xci:()=>n.Xci,RgL:()=>n.RgL,YRL:()=>n.YRL,U1f:()=>n.U1f,key:()=>n.key,uXT:()=>n.uXT,$_K:()=>n.$_K,G8H:()=>n.G8H,Unl:()=>n.Unl,ptg:()=>n.ptg,BEl:()=>n.BEl,w$q:()=>n.w$q,vtl:()=>n.vtl,Q2O:()=>n.Q2O,MCB:()=>n.MCB,O3b:()=>n.O3b,_aO:()=>n._aO,Mwe:()=>n.Mwe,c4O:()=>n.c4O,OOF:()=>n.OOF,N0J:()=>n.N0J,HOo:()=>n.HOo,p2o:()=>n.p2o,V_v:()=>n.V_v,$Tx:()=>n.$Tx,O67:()=>n.O67,jgD:()=>E.j,Txn:()=>e.Tx,B4z:()=>n.B4z,Cv0:()=>n.Cv0,kQl:()=>n.kQl,Pk9:()=>n.Pk9,ay7:()=>n.ay7,BAK:()=>n.BAK,Fdg:()=>n.Fdg,HjG:()=>n.HjG,QP$:()=>O});var e=t(88610),n=t(87687),E=t(95346);function O(B,P,k){const U=k>0?Date.now()-k:0;return new n.jQD({useCase:B,streamSessionId:P,clientPerceivedSessionTimeMs:U})}},95346:(xe,de,t)=>{"use strict";t.d(de,{j:()=>se});var e=t(85735),n=t(26513),E=t(35146),O=t(31315),B=t(43848),P=t(3496),k=t(75707),U=t(65706),r=t(83915),A=t(14714),l=t(91384),I=t(65770),S=t(55833),L=t(26875),M=t(47766),u=t(78812),x=t(33367),p=t(88610),i=t(87687),o=t(6687),_=t(81834),f=t(78893),J=t(50778),a=t(14331),D=t(68868),te=t(70710),N=t(58527),z=t(43354),R=t(66348),v=t(29567),h=t(40996),W=t(17901),ne=t(14354),ee=t(66974),b=t(7703);const w="gfnTelemetry",F={cmsId:null,shortName:"",appLaunchMode:J.NG.Default,launchSource:i.vhU.Unknown,sdkClient:""},Z="telemetrySessionId";let se=(()=>{var Y;class q{constructor(H,y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue){var ae;this.loggingService=H,this.appConfig=y,this.sharedStorageService=X,this.telemetryService=c,this.systemInfoService=g,this.ipcService=d,this.appConfigParams=C,this.gfnsdkService=Q,this.pwaService=j,this.router=le,this.guestModeHelperService=ge,this.deeplinkHelper=ie,this.inputModalityService=ce,this.ngZone=G,this.audioPlayService=ue,this.enableSoundNotification=!1,this.HIDInfo=void 0,this.clientType=i.sKj.Unknown,this.deviceIdSetSubject=new e.m(1),this.sendAppLaunchTelemetrySubject=new n.t(!1),this.streamerTelemetryConfig=F,this.isBrowserClient=!1,this.isGpuEventSent=!1,this.lastClickInputSource=i.UJ3.Unknown,this.clientVersion="",this.preferredGameLanguageSubject=new e.m(1),this.logger=this.loggingService.getLogger("telemetry-util.service"),this.enableSoundNotification=!(null==y||null===(ae=y.featureEnablement)||void 0===ae||!ae.enableSoundNotification),this.setClientType((0,f.I2)(this.router.url)?f.td.Streamer:f.td.Mall),this.isBrowserClient=M.zk.isBrowserPlatform()}init(H){this.clientVersion=H,this.initialize().subscribe(y=>{this.logger.info("Successfully generated and stored device id"),this.deviceIdSetSubject.next(),this.deviceIdSetSubject.complete()},y=>{this.logger.error("Error fetching deviceId: ",y)})}initializeAudioTelemetry(){this.enableSoundNotification&&this.audioPlayService.getAudioTelemetryData().subscribe(H=>{this.logger.info("Event received from audio service : ",H),this.sendAudioTelemetry(H)})}sendAudioTelemetry(H){var y;this.telemetryService.push(new i.h8t({scenario:null!==(y=H.eventScenario)&&void 0!==y?y:"",status:this.transformToEventStatus(H.eventStatus),errorDetails:(0,_.AA)(H.errorDetails,u._Y)}))}transformToEventStatus(H){return i.fbu[M.Hf[H]]}restoreTelemetrySessionId(){null!==window.sessionStorage.getItem(Z)&&(this.telemetryService.updateTelemetrySessionId(window.sessionStorage.getItem(Z)),window.sessionStorage.removeItem(Z))}saveTelmetrySessionIdOnLoginAndLogout(H){this.logger.info("Subscribing to Login initiated notification"),H.subscribe(y=>{this.logger.info("Received notification for ",y),window.sessionStorage.setItem(Z,this.telemetryService.telemetrySessionId),this.logger.info("Completed saving telemetrySessionId")})}initialize(){this.restoreTelemetrySessionId(),this.ngZone.runOutsideAngular(()=>{this.inputModalityService.inputModalityChanged$.subscribe(y=>{switch(y){case D.M.Keyboard:this.lastClickInputSource=i.UJ3.Keyboard;break;case D.M.Gamepad:this.lastClickInputSource=i.UJ3.Gamepad;break;case D.M.Mouse:this.lastClickInputSource=i.UJ3.Mouse;break;case D.M.Touch:this.lastClickInputSource=i.UJ3.Touch}})});const H=this.systemInfoService.getSystemInfo([M.Lu.DeviceId,M.Lu.Platform,M.Lu.OSVersion,M.Lu.VendorName,M.Lu.SystemName,M.Lu.DeviceType,M.Lu.BrowserName]);return(0,E.yU)(this.systemInfoService.getDeviceOSType(),H).pipe((0,k.ZZ)(([y,X])=>{const c={deviceOS:y,clientType:this.isBrowserClient?p.Vd.Browser:p.Vd.Native,clientVer:this.clientVersion,systemInfo:X,integrationId:this.getIntegrationId(),productName:this.appConfig.jsEvents.productName,productVersion:(0,te.C)(this.appConfig)};return this.initCommonData(c)}))}initCommonData(H){const y=H.systemInfo;return this.telemetryService.setEventsCommonData({clientVer:H.clientVer,deviceId:y.DeviceId,clientType:H.clientType,clientVariant:this.getCommonClientVariant(this.appConfig.build.variant),deviceOS:H.deviceOS,deviceOSVersion:y.OSVersion,deviceMake:y.VendorName||M.Qe,deviceModel:y.SystemName||M.Qe,deviceType:y.DeviceType||M.Qe,integrationId:H.integrationId,browserType:y.BrowserName,productName:H.productName||M.Qe,productVersion:H.productVersion||M.Qe},!1),this.sharedStorageService.readBlock(w).pipe((0,k.ZZ)(X=>(X.clientVersion=this.appConfig.build.version,X.deviceId=y.DeviceId,this.sharedStorageService.writeBlock(w,X))))}setTelemetryConfig(H){this.streamerTelemetryConfig=null!=H?H:F,this.sendSystemInfoTelemetry()}getIntegrationId(){let H=M.Qe;const y=this.deeplinkHelper.getUpdatedPartnerId((0,f.BS)(a.aj.PartnerId));return(this.guestModeHelperService.isGuestMode||this.deeplinkHelper.isSpecialAffiliatePartner(y))&&(H=y||M.Qe),H}getPlatformType(H){switch(H){case"Mac":return i.YwK.Mac;case"Windows":return i.YwK.Windows;case"Android":case"Shield":return i.YwK.Android;case"Linux":return i.YwK.Linux;default:return i.YwK.Unknown}}getCurrentUiMode(H){switch(H){case x.Or.Common.Systeminfo.UiModeEnum.Desktop:return i.zMM.Desktop;case x.Or.Common.Systeminfo.UiModeEnum.Mobile:return i.zMM.Mobile;case x.Or.Common.Systeminfo.UiModeEnum.Game:return i.zMM.Game;default:return i.zMM.Unknown}}getCommonClientVariant(H){switch(H){case"ibeta":return p.Ow.iBeta;case"release":return p.Ow.Release;default:return p.Ow.Undefined}}getProductName(){return this.appConfig.jsEvents.productName}getDisplayDetails(H){const y=[];for(let X=0;Xy!==M.Lu.DxVersion)),(0,O.zV)([this.systemInfoService.getSystemInfo(H),this.systemInfoService.getSystemInfoGuid(),this.appConfig.isGameLanguageSupportEnabled?this.preferredGameLanguageSubject.asObservable():(0,B.of)(null)]).pipe((0,U.s)(1),(0,r.T)(([y,X,c])=>this.prepareSystemInfoTelemetryObject(y,X,c)))}getLaunchSource(){return this.gfnsdkService.isThisAGFNSDKSession()&&!this.guestModeHelperService.isGuestMode?this.streamerTelemetryConfig.sdkClient||"Unknown":this.streamerTelemetryConfig.launchSource===i.vhU.External?"External":this.streamerTelemetryConfig.launchSource===i.vhU.GeForceNOW?"Mall":this.streamerTelemetryConfig.launchSource===i.vhU.Deeplink?"Deeplink":"Unknown"}sendLaunchUiTelemetry(){const H=new i.Ixb({clientType:this.getClientType(),type:i.kSA.LaunchUI});this.telemetryService.push(H)}sendSystemInfoTelemetry(){this.sharedSystemInfoSub||(this.sharedSystemInfoSub=(0,P.O)(this.appConfig.jsEvents.systemInfoEventDelay).pipe((0,k.ZZ)(()=>this.getSystemInformationForTelemetry()),(0,A.W)(H=>(this.logger.error("Error when getting system info: ",H),(0,B.of)(null))),(0,l.M)(H=>{if((0,L.isUndefined)(H)||(0,L.isNull)(H))this.logger.error("No system information found for telemetry");else{const y=new i.Rhb(H);this.telemetryService.push(y),this.sendHIDTelemetry()}}),(0,I.u)())),this.sharedSystemInfoSub.subscribe()}sendSDKTelemetry(){this.gfnsdkService.getTelemetryData().subscribe(H=>{this.logger.info("Parsing sdk client events for ",H.platformName),this.logger.info(`Sending ${H.checkGFNItems.length} CheckGFN events`),this.logger.info(`Sending ${H.streamNowButtonClickItems.length} StreamNowButtonClick events`);for(const y of H.checkGFNItems)this.telemetryService.push(new i.$cp({status:y.status,timeTaken:y.timeTaken,gfnSDKVersion:y.version,gfnDLLVersion:y.dllVersion,originalTimestamp:y.originalTimestamp,originalSource:H.platformName||"Unspecified",originalCmsId:y.originalCmsId,originalShortname:y.originalShortname,originalAuthMethod:y.originalAuthMethod}));for(const y of H.streamNowButtonClickItems)this.logger.info("StreamNowButtonClick event found",this.streamerTelemetryConfig),this.telemetryService.push(new i.gho({status:y.status,timeTaken:y.timeTaken,gfnSDKVersion:y.version,cmsId:""+this.streamerTelemetryConfig.cmsId,gameShortName:this.streamerTelemetryConfig.shortName||"",gfnDLLVersion:y.dllVersion,originalTimestamp:y.originalTimestamp,originalSource:H.platformName||"Unspecified",originalCmsId:y.originalCmsId,originalShortname:y.originalShortname,originalAuthMethod:y.originalAuthMethod,timeRemaining:y.timeRemaining,hasPartnerData:y.hasPartnerData?i.O67.Yes:i.O67.No,hasPartnerSecureData:y.hasPartnerSecureData?i.O67.Yes:i.O67.No}));this.gfnsdkService.clearTelemetryData(H)})}sendPwaTelemetry(){this.pwaService.onPWAModeChange.pipe((0,U.s)(1),(0,l.M)(H=>{if(H){this.logger.info("Sending PWA launch event");const y=new i.Ixb({clientType:this.getClientType(),type:i.kSA.LaunchPwaUI});this.telemetryService.push(y)}})).subscribe()}sendOfflineLaunchTelemetry(){this.pwaService.checkForOfflineLaunch().subscribe(H=>{if(H){this.logger.info("Sending Offline Launch Event");const y=new i.Ixb({clientType:this.getClientType(),type:i.kSA.CustomOfflinePage});this.telemetryService.push(y)}else this.logger.info("No offline data present")})}sendStorageUsageEvent(){if(!this.isBrowserClient)return;const H=navigator.storage;null!=H&&H.estimate?H.estimate().then(y=>{var X,c,g,d,C,Q,j,le;this.logger.info("Sending storage usage metrics");const ge=new i.deY({totalQuota:null!==(X=y.quota)&&void 0!==X?X:0,totalUsage:null!==(c=y.usage)&&void 0!==c?c:0,cacheUsage:null!==(g=null===(d=y.usageDetails)||void 0===d?void 0:d.caches)&&void 0!==g?g:0,indexedDBUsage:null!==(C=null===(Q=y.usageDetails)||void 0===Q?void 0:Q.indexedDB)&&void 0!==C?C:0,serviceWorkerRegistrationsUsage:null!==(j=null===(le=y.usageDetails)||void 0===le?void 0:le.serviceWorkerRegistrations)&&void 0!==j?j:0});this.telemetryService.push(ge)}).catch(y=>{this.logger.error("Failed to obtain storage estimate:",y)}):this.logger.info("StorageManager#estimate is not supported. Skipping sending storage metrics")}sendViewportTelemetry(){var H,y,X,c,g,d,C,Q;const j=new i.J64({windowInnerHeight:null!==(H=null===(y=window)||void 0===y?void 0:y.innerHeight)&&void 0!==H?H:-1,windowInnerWidth:null!==(X=null===(c=window)||void 0===c?void 0:c.innerWidth)&&void 0!==X?X:-1,visualViewportHeight:null!==(g=null===(d=window)||void 0===d||null===(d=d.visualViewport)||void 0===d?void 0:d.height)&&void 0!==g?g:-1,visualViewportWidth:null!==(C=null===(Q=window)||void 0===Q||null===(Q=Q.visualViewport)||void 0===Q?void 0:Q.width)&&void 0!==C?C:-1,screenOrientationType:window.matchMedia("(orientation: landscape)").matches?i.t4p.Landscape:i.t4p.Portrait});this.telemetryService.push(j)}sendLaunchTimeTelemetry(){this.deviceIdSetSubject.subscribe(()=>{const H=this.telemetryService.getLaunchUiEventSent();H||(this.sendLaunchUiTelemetry(),this.sendSystemInfoTelemetry(),this.sendSDKTelemetry(),this.sendPwaTelemetry(),this.sendOfflineLaunchTelemetry(),this.sendStorageUsageEvent(),this.initializeAudioTelemetry(),this.sendViewportTelemetry(),this.telemetryService.setLaunchUiEventSent(!0)),this.sendAppLaunchTelemetrySubject.next(!H)})}getAppLaunchTelemetryObservable(){return this.sendAppLaunchTelemetrySubject.asObservable()}getPlatform(){return this.systemInfoService.getSystemInfo([M.Lu.Platform]).pipe((0,r.T)(H=>this.getPlatformType(H.Platform)),(0,S.t)(1))}getClientVariant(){return this.getClientVariantType(this.appConfig.build.variant)}sendLoginTelemetry(H,y,X,c){const g=new i.BAK({clientType:this.getClientType(),currentScreen:X,userAction:y,status:H?i.fbu.Success:i.fbu.LoginFailed,errorDetails:H.toString(),totalMs:0,errorUri:"",serverErrorCode:""});this.telemetryService.push(g,c)}triggerExceptionInfoUpload(H){H.logsFeedbackId=this.telemetryService.telemetrySessionId;const y={type:o.kN.UploadExceptionInfo,content:JSON.stringify(H),sender:this.getClientType()===i.sKj.MallClient?o.pQ.GfnMall:o.pQ.GfnStreamer,recipient:o.pQ.GfnUpdater};this.logger.info("Sending IPC message:",y),this.ipcService.pushMessage(y).subscribe(X=>this.logger.info("Exception info upload triggered: ",X),X=>this.logger.error("Error triggering exception info upload: ",X))}getXRequestIdForHttpEvent(H){let y="";return H&&H.config&&H.config.headers&&H.config.headers["x-request-id"]&&(y=H.config.headers["x-request-id"]),y}sendUiActionEvent(H,y){const X=new i.uQS({actionTaken:H,uiVariant:y});this.telemetryService.push(X)}sendJoinTodayAlertDialogUiAction(H){let y;switch(H){case J.o.Close:y=i.kQl.Close;break;case J.o.Join:y=i.kQl.Join;break;case J.o.Login:y=i.kQl.Login}y&&this.sendUiActionEvent(y,i.Pk9.Standard)}getJoinTodayAlertDialogHierarchy(H,y){let X;switch(H){case i.MCB.ScreenEvidencePanel:X=y;break;case i.MCB.ScreenMarquee:X=`${i.MCB.ScreenMallHome}`;break;default:X=""}return X&&(X=`${X}/${H}`),X}sendUserSessionEvent(H,y,X,c,g){const d=g||this.telemetryService.getScreen(),C=new i.BAK({currentScreen:d,clientType:this.clientType,userAction:H,status:y,errorDetails:(0,_.AA)(c,u._Y),totalMs:0,errorUri:"",serverErrorCode:""});this.telemetryService.push(C,X)}sendClickEvent(H,y,X,c=!1,g="",d="",C){const Q=c?`${this.telemetryService.getScreen()}/${X}`:X,j=new i.I0o({itemType:H,itemLabel:y,hierarchy:Q||"",inputSource:this.lastClickInputSource,gameCampaignId:null!=g?g:"",additionalData:d});this.telemetryService.push(j,null,C)}sendDragEvent(H,y,X,c=!1){const g=c?`${this.telemetryService.getScreen()}/${X}`:X,d=new i.Sx({itemType:H,itemLabel:y,hierarchy:g||""});this.telemetryService.push(d)}sendPageLoadPerfEvent(H,{viewDataLoadDuration:y=0,sectionNames:X=["","","","",""],sectionDataLoadDurations:c=[0,0,0,0,0],sectionTotalLoadDurations:g=[0,0,0,0,0],imageLoadDuration:d=-1,imageCount:C=-1,imageTransferSize:Q=-1,usedJsHeapSize:j=-1}){const le=new i.Osh({viewName:H,viewDataLoadDuration:Math.round(y),sectionOneName:X[0],sectionOneDataLoadDuration:Math.round(c[0]),sectionOneTotalLoadDuration:Math.round(g[0]),sectionTwoName:X[1],sectionTwoDataLoadDuration:Math.round(c[1]),sectionTwoTotalLoadDuration:Math.round(g[1]),sectionThreeName:X[2],sectionThreeDataLoadDuration:Math.round(c[2]),sectionThreeTotalLoadDuration:Math.round(g[2]),sectionFourName:X[3],sectionFourDataLoadDuration:Math.round(c[3]),sectionFourTotalLoadDuration:Math.round(g[3]),sectionFiveName:X[4],sectionFiveDataLoadDuration:Math.round(c[4]),sectionFiveTotalLoadDuration:Math.round(g[4]),totalViewLoadDuration:Math.round(g[4]),imageLoadDuration:Math.round(d),imageCount:Math.round(C),imageTransferSize:Math.round(Q),usedJsHeapSize:Math.round(j)});this.telemetryService.push(le)}sendNavigationPerfEvent(){const H=window.performance.timing,y=new i.zcd({domainLookupDuration:H.domainLookupEnd-H.domainLookupStart,connectDuration:H.connectEnd-H.connectStart,requestResponseDuration:H.responseEnd-H.requestStart,responseDuration:H.responseEnd-H.responseStart,timeToFirstByte:H.responseStart-H.requestStart,pageRenderDuration:H.domComplete-H.domLoading,pageLoadDuration:H.loadEventEnd-H.fetchStart,redirectDuration:H.redirectEnd-H.redirectStart});this.telemetryService.push(y)}sendDeeplinkShareEvent(H,y,X=i.LQP.None,c=""){const g=new i.Tjv({queryParamsString:H,shareType:y,serviceName:c,error:X});this.telemetryService.push(g)}sendDeeplinkSourceEvent(H,y){const X=new i.PvP(H);this.telemetryService.push(X,void 0,y)}sendPopUpDialogShownEvent(H){const y=new i.xEK({name:H});this.telemetryService.push(y)}sendPopUpDialogClosedEvent(H,y,X=0,c=0,g=i.T80.FALSE,d=i.T80.FALSE){const C=new i.cPM({name:H,exitTriggerPoint:y,totalMs:X,inWindowClicks:c,scrolled:g,checkBoxChecked:d});this.telemetryService.push(C)}sendClipboardPasteEvent(H){const y=new i.$sO({clientClipboardRead:H.clientClipboardRead,clipboardDataSent:H.clipboardDataSent,clipboardDataLength:H.clipboardDataLength,streamSessionId:H.streamSessionId||"",streamSubSessionId:H.streamSubSessionId||"",requestId:H.requestId||""});this.telemetryService.push(y)}sendPlaytesterSessionEvent(H,y,X,c,g,d,C,Q,j,le,ge,ie){const ce=new i.vWR({userAction:H,status:y,sessionId:null!=X?X:"",streamSessionId:null!=c?c:"",gameDeveloperName:null!=g?g:"",gameName:null!=d?d:"",gameBuildNumber:null!=C?C:"",cmsId:null!=Q?Q:"",webcamName:null!=j?j:"",microphoneName:null!=le?le:"",microphoneTested:null!=ge?ge:i.O67.No,errorInfo:null!=ie?ie:""});return this.telemetryService.pushWithPromise(ce,null,{immediateRequest:!0})}sendResourceLoadErrorEvent(H){const y=new i.kJn({...H});this.telemetryService.push(y)}}return(Y=q).\u0275fac=function(H){return new(H||Y)(N.KVO(M.J6),N.KVO(z.V),N.KVO(R.yQ),N.KVO(u.H0),N.KVO(M.zW),N.KVO(o.Uj),N.KVO(v.aT),N.KVO(h.DL),N.KVO(W.SL),N.KVO(ne.Ix),N.KVO(ee.x),N.KVO(b.w),N.KVO(D.p),N.KVO(N.SKi),N.KVO(M.aP))},Y.\u0275prov=N.jDH({token:Y,factory:Y.\u0275fac,providedIn:"root"}),q})()},60315:(xe,de,t)=>{"use strict";t.d(de,{M:()=>le});var e=t(58527),n=t(65706),E=t(4208),O=t(80583),B=t(31315),P=t(16632),k=t(87687),U=t(36206),r=t(78812),A=t(1548),l=t(47766),I=t(27561),S=t(65240),L=t(61142),s=t(56106),M=t(47973),u=t(4418),x=t(99204),p=t(29370),i=t(3457),o=t(28139),_=t(26945),f=t(2218),J=t(54676),a=t(60990),D=t(81247),te=t(22355),N=t(98504),z=t(40514),R=t(97888),v=t(6364),h=t(54504);const W=(ge,ie)=>({"warning-label":ge,"error-label":ie});let ee=(()=>{var ge;class ie{set score(G){this._score=(0,v.OE)(G),this._scorethis.max&&(this._score=this.max)}get score(){return this._score}constructor(){this._score=0}}return(ge=ie).\u0275fac=function(G){return new(G||ge)},ge.\u0275cmp=e.VBU({type:ge,selectors:[["gfn-uds-graph"]],inputs:{min:"min",max:"max",score:"score",label:"label",level:"level"},decls:11,vars:10,consts:[[1,"graph-container"],[1,"graph-score"],["nvEllipsifiedTextWithTooltip","","tooltipClass","mat-tooltip-font-body3",1,"graph-label","font-body2",3,"ngClass","isMultiLineEllipsis"],["fxLayout","row","fxLayoutAlign","space-between center",1,"graph-range"],[1,"graph-icon","flip-rtl-element",3,"svgIcon"]],template:function(G,ue){1&G&&(e.j41(0,"div",0)(1,"div",1),e.EFF(2),e.k0s(),e.j41(3,"div",2),e.EFF(4),e.k0s(),e.j41(5,"div",3)(6,"span"),e.EFF(7),e.k0s(),e.j41(8,"span"),e.EFF(9),e.k0s()(),e.nrm(10,"mat-icon",4),e.k0s()),2&G&&(e.R7$(2),e.JRh(ue.score),e.R7$(),e.Y8G("ngClass",e.l_i(7,W,1===ue.level,0===ue.level))("isMultiLineEllipsis",!0),e.R7$(),e.SpI(" ",ue.label," "),e.R7$(3),e.JRh(ue.min),e.R7$(2),e.JRh(ue.max),e.R7$(),e.FS9("svgIcon","score_graph_L"+ue.level))},dependencies:[L.YU,p.An,i.DJ,i.sA,o.PW,h.a],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}[_nghost-%COMP%]{--graph-container-width: 92px;--graph-container-height: 90px;--graph-icon-width: 92px;--graph-icon-height: 55px;--graph-score-top: 21px;--graph-score-right: 1px;--graph-label-top: 66px;--graph-range-top: 44px}.tv-view[_nghost-%COMP%] -no-combinator[_nghost-%COMP%], .tv-view [_nghost-%COMP%]{--graph-container-width: 184px;--graph-container-height: 180px;--graph-icon-width: 184px;--graph-icon-height: 110px;--graph-score-top: 42px;--graph-score-right: 2px;--graph-label-top: 132px;--graph-range-top: 88px}.graph-container[_ngcontent-%COMP%]{position:relative;width:var(--graph-container-width);height:var(--graph-container-height)}.graph-container[_ngcontent-%COMP%] .warning-label[_ngcontent-%COMP%]{color:#ffb43e}.graph-container[_ngcontent-%COMP%] .error-label[_ngcontent-%COMP%]{color:#e02828}.graph-score[_ngcontent-%COMP%]{position:absolute;top:var(--graph-score-top);text-align:center;width:100%;--font-header-font-size: 28px;--font-header-line-height: 48px;font-family:NVIDIA,sans-serif;color:var(--hig-ui-text-primary-color);font-style:normal;text-transform:none;font-size:var(--font-header-font-size);line-height:var(--font-header-line-height);letter-spacing:0;font-weight:700}.isLtr[_nghost-%COMP%] .graph-score[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .graph-score[_ngcontent-%COMP%]{right:var(--graph-score-right)}html[dir=ltr][_ngcontent-%COMP%] .graph-score[_ngcontent-%COMP%]{--dummy6: 0;right:var(--graph-score-right)}.isRtl[_nghost-%COMP%] .graph-score[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .graph-score[_ngcontent-%COMP%]{left:var(--graph-score-right)}html[dir=rtl][_ngcontent-%COMP%] .graph-score[_ngcontent-%COMP%]{--dummy6: 0;left:var(--graph-score-right)}.tv-view[_ngcontent-%COMP%] .graph-score[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .graph-score[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .graph-score[_ngcontent-%COMP%]{--font-header-font-size: 56px;--font-header-line-height: 96px}.graph-label[_ngcontent-%COMP%]{position:absolute;top:var(--graph-label-top);text-align:center;width:100%;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;align-self:center;text-overflow:ellipsis}.graph-range[_ngcontent-%COMP%]{position:absolute;width:100%;top:var(--graph-range-top);--font-body-color: var(--hig-ui-text-secondary-color);--font-body-size: 8px;--font-body-line-height: 16px;font-family:NVIDIA,sans-serif;color:var(--font-body-color);font-weight:400;font-style:normal;text-transform:none;font-size:var(--font-body-size);line-height:var(--font-body-line-height);letter-spacing:0;color:#fff9}.tv-view[_ngcontent-%COMP%] .graph-range[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .graph-range[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .graph-range[_ngcontent-%COMP%]{--font-body-size: 16px;--font-body-line-height: 32px;--font-body-color: rgba(255, 255, 255, .85)}.graph-icon[_ngcontent-%COMP%]{position:absolute;width:var(--graph-icon-width);height:var(--graph-icon-height);top:0}"]}),ie})();const b=(ge,ie)=>({"warning-icon":ge,"error-icon":ie});function w(ge,ie){1&ge&&e.nrm(0,"div",8)}function F(ge,ie){if(1&ge&&(e.qex(0),e.nrm(1,"mat-icon",6),e.DNE(2,w,1,0,"div",7),e.bVm()),2&ge){const ce=ie.$implicit,G=ie.last,ue=e.XpG();e.R7$(),e.Y8G("ngClass",e.l_i(3,b,ue.scoreHeaderIconStateMap[ce]===ue.scoreHeaderIconStateType.Warning,ue.scoreHeaderIconStateMap[ce]===ue.scoreHeaderIconStateType.Error))("svgIcon",ce),e.R7$(),e.Y8G("ngIf",!G)}}function Z(ge,ie){if(1&ge&&(e.qex(0),e.nrm(1,"gfn-uds-graph",9),e.bVm()),2&ge){const ce=ie.$implicit;e.R7$(),e.Y8G("score",ce.score)("label",ce.label)("level",ce.level)}}let se=(()=>{var ge;class ie{get saScores(){return this._saScores}set saScores(G){this.scoreHeaderIconStateMap=new Map,G.forEach(ue=>{const ae=ue.level===P.xy.Poor,Ce=ue.level===P.xy.Bad;P.qZ.get(ue.type).forEach(Ne=>{ae?this.scoreHeaderIconStateMap[Ne]=P._Z.Error:Ce&&!this.scoreHeaderIconStateMap[Ne]&&(this.scoreHeaderIconStateMap[Ne]=P._Z.Warning)})}),this._saScores=G}constructor(){this.scoreHeaderIconOrderedList=[P.Cz.DesktopWindows,P.Cz.Wifi,P.Cz.Isp,P.Cz.Storage],this.scoreHeaderIconStateType=P._Z,this._saScores=[]}}return(ge=ie).\u0275fac=function(G){return new(G||ge)},ge.\u0275cmp=e.VBU({type:ge,selectors:[["gfn-uds-score-container"]],inputs:{saScores:"saScores"},decls:9,vars:5,consts:[["fxLayout","column","fxFlexFill",""],["fxLayout","row","fxLayoutAlign","space-between center",1,"uds-score-header"],[1,"font-sub1","font-color-primary","score-title"],["fxLayout","row","fxLayoutAlign","center center"],[4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","center center",1,"uds-score-graph"],[1,"score-icons",3,"ngClass","svgIcon"],["class","score-dots",4,"ngIf"],[1,"score-dots"],["min","0","max","100",3,"score","label","level"]],template:function(G,ue){1&G&&(e.j41(0,"div",0)(1,"div",1)(2,"span",2),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.j41(5,"div",3),e.DNE(6,F,3,6,"ng-container",4),e.k0s()(),e.j41(7,"div",5),e.DNE(8,Z,2,3,"ng-container",4),e.k0s()()),2&G&&(e.R7$(3),e.SpI(" ",e.bMT(4,3,"uds.scoreTitle")," "),e.R7$(3),e.Y8G("ngForOf",ue.scoreHeaderIconOrderedList),e.R7$(2),e.Y8G("ngForOf",ue.saScores))},dependencies:[L.YU,L.Sq,L.bT,p.An,i.DJ,i.sA,i.G2,o.PW,ee,S.D9],styles:["[_nghost-%COMP%]{--uds-score-header-min-height: 48px;--uds-score-dots-width: 12px;--uds-score-dots-border-width: 1px;--uds-score-icon-size: 24px;--uds-score-header-padding: 12px 16px;--uds-score-icons-padding: 12px;--uds-score-graph-gap: 24px;--uds-score-graph-margin-top-bottom: 24px;--uds-score-graph-margin-left-right: 24px;--uds-score-title-margin-right: 8px;--uds-score-header-gap: 10px}[_nghost-%COMP%] .tv-view[_nghost-%COMP%], .tv-view [_nghost-%COMP%]{--uds-score-header-min-height: 72px;--uds-score-dots-width: 24px;--uds-score-dots-border-width: 2px;--uds-score-icon-size: 42px;--uds-score-header-padding: 24px 32px;--uds-score-icons-padding: 24px;--uds-score-graph-gap: 48px;--uds-score-graph-margin-top-bottom: 48px;--uds-score-graph-margin-left-right: 24px;--uds-score-title-margin-right: 16px;--uds-score-header-gap: 20px}.uds-score-header[_ngcontent-%COMP%]{min-height:var(--uds-score-header-min-height);background:#393939;padding:var(--uds-score-header-padding);display:flex;flex-wrap:wrap;align-items:center;gap:var(--uds-score-header-gap)}.isLtr[_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-title[_ngcontent-%COMP%]{margin-right:var(--uds-score-title-margin-right)}html[dir=ltr][_ngcontent-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-title[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--uds-score-title-margin-right)}.isRtl[_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-title[_ngcontent-%COMP%]{margin-left:var(--uds-score-title-margin-right)}html[dir=rtl][_ngcontent-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-title[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--uds-score-title-margin-right)}.uds-score-header[_ngcontent-%COMP%] .score-dots[_ngcontent-%COMP%]{width:var(--uds-score-dots-width);height:0px;border:var(--uds-score-dots-border-width) dashed #737373}.isLtr[_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:last-child), .isLtr [_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:last-child){padding-right:var(--uds-score-icons-padding)}html[dir=ltr][_ngcontent-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:last-child){--dummy2: 0;padding-right:var(--uds-score-icons-padding)}.isRtl[_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:last-child), .isRtl [_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:last-child){padding-left:var(--uds-score-icons-padding)}html[dir=rtl][_ngcontent-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:last-child){--dummy2: 0;padding-left:var(--uds-score-icons-padding)}.isLtr[_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:first-child), .isLtr [_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:first-child){padding-left:var(--uds-score-icons-padding)}html[dir=ltr][_ngcontent-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:first-child){--dummy1: 0;padding-left:var(--uds-score-icons-padding)}.isRtl[_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:first-child), .isRtl [_nghost-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:first-child){padding-right:var(--uds-score-icons-padding)}html[dir=rtl][_ngcontent-%COMP%] .uds-score-header[_ngcontent-%COMP%] .score-icons[_ngcontent-%COMP%]:not(:first-child){--dummy1: 0;padding-right:var(--uds-score-icons-padding)}.uds-score-header[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%]{color:#ffb43e}.uds-score-header[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{color:#e02828}.uds-score-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{min-width:var(--uds-score-icon-size);min-height:var(--uds-score-icon-size);font-size:var(--uds-score-icon-size)}.uds-score-graph[_ngcontent-%COMP%]{gap:var(--uds-score-graph-gap);display:flex;flex-wrap:wrap;margin:var(--uds-score-graph-margin-top-bottom) var(--uds-score-graph-margin-left-right)}"]}),ie})();var Y=t(33328);const q=ge=>({"selected-thumb":ge}),T=ge=>({numOfDays:ge});function H(ge,ie){if(1&ge){const ce=e.RV6();e.j41(0,"div",9)(1,"span"),e.EFF(2),e.k0s(),e.j41(3,"a",10),e.bIt("click",function(){e.eBV(ce);const ue=e.XpG();return e.Njj(ue.onLearnMoreClick())}),e.EFF(4),e.nI1(5,"translate"),e.k0s()()}if(2&ge){const ce=e.XpG();e.R7$(2),e.SpI("",ce.errorMessage,"\xa0"),e.R7$(),e.FS9("href",ce.udsLearnMoreUrl,e.B4B),e.R7$(),e.JRh(e.bMT(5,3,"common.learnMore"))}}function y(ge,ie){1&ge&&(e.j41(0,"div"),e.nrm(1,"mat-progress-spinner",11),e.k0s())}function X(ge,ie){if(1&ge&&(e.j41(0,"div",26),e.EFF(1),e.k0s()),2&ge){const ce=e.XpG(2);e.R7$(),e.SpI(" ",ce.suggestionHeader," ")}}function c(ge,ie){if(1&ge){const ce=e.RV6();e.j41(0,"mat-expansion-panel",32),e.bIt("opened",function(){e.eBV(ce);const ue=e.XpG(4);return e.Njj(ue.onSuggestionPanelItemOpened())}),e.j41(1,"mat-expansion-panel-header",33)(2,"mat-panel-title",34),e.EFF(3),e.k0s()(),e.nrm(4,"div",35,0),e.nI1(6,"trustAsHtml"),e.k0s()}if(2&ge){const ce=e.XpG().$implicit,G=e.XpG(3);e.Y8G("expanded",G.recommendationExpand),e.R7$(3),e.SpI(" ",null==ce?null:ce.solutionTitle," "),e.R7$(),e.Y8G("innerHtml",e.bMT(6,3,null==ce?null:ce.solutionDetail),e.npT)}}function g(ge,ie){if(1&ge&&(e.j41(0,"div",30),e.DNE(1,c,7,5,"mat-expansion-panel",31),e.k0s()),2&ge){const ce=ie.$implicit;e.R7$(),e.Y8G("ngIf",null==ce?null:ce.solutionTitle)}}function d(ge,ie){if(1&ge&&(e.j41(0,"div",27)(1,"mat-accordion",28),e.DNE(2,g,2,1,"div",29),e.k0s()()),2&ge){const ce=e.XpG(2);e.R7$(),e.Y8G("multi",!0),e.R7$(),e.Y8G("ngForOf",ce.suggestionList)}}function C(ge,ie){1&ge&&(e.j41(0,"div",36)(1,"span",37),e.EFF(2),e.nI1(3,"translate"),e.k0s()()),2&ge&&(e.R7$(2),e.JRh(e.bMT(3,1,"uds.goodScoreMessage")))}function Q(ge,ie){if(1&ge){const ce=e.RV6();e.j41(0,"div",38)(1,"mat-checkbox",39),e.mxI("ngModelChange",function(ue){e.eBV(ce);const ae=e.XpG(2);return e.DH7(ae.isSnoozed,ue)||(ae.isSnoozed=ue),e.Njj(ue)}),e.j41(2,"span",40),e.EFF(3),e.nI1(4,"translate"),e.k0s()()()}if(2&ge){const ce=e.XpG(2);e.R7$(),e.R50("ngModel",ce.isSnoozed),e.R7$(2),e.SpI("",e.i5U(4,2,"uds.snoozeText",e.eq3(5,T,ce.snoozeDurationInDays))," ")}}function j(ge,ie){if(1&ge){const ce=e.RV6();e.j41(0,"div",12)(1,"div",13)(2,"div"),e.EFF(3),e.k0s(),e.j41(4,"div"),e.EFF(5),e.k0s()(),e.j41(6,"div",14),e.nrm(7,"gfn-uds-score-container",15),e.k0s(),e.DNE(8,X,2,1,"div",16)(9,d,3,2,"div",17)(10,C,4,3,"div",18),e.j41(11,"div",19)(12,"span",20),e.EFF(13),e.nI1(14,"translate"),e.k0s(),e.j41(15,"button",21),e.bIt("click",function(){e.eBV(ce);const ue=e.XpG();return e.Njj(ue.thumbUpClicked())}),e.j41(16,"mat-icon",22),e.EFF(17,"thumb_up"),e.k0s()(),e.j41(18,"button",23),e.bIt("click",function(){e.eBV(ce);const ue=e.XpG();return e.Njj(ue.thumbDownClicked())}),e.j41(19,"mat-icon",22),e.EFF(20,"thumb_down"),e.k0s()()(),e.j41(21,"div",24)(22,"a",10),e.bIt("click",function(){e.eBV(ce);const ue=e.XpG();return e.Njj(ue.onLearnMoreClick())}),e.EFF(23),e.nI1(24,"translate"),e.k0s()(),e.DNE(25,Q,5,7,"div",25),e.k0s()}if(2&ge){const ce=e.XpG();e.R7$(3),e.JRh(ce.gameTitle),e.R7$(2),e.JRh(ce.udsReportDateTime),e.R7$(2),e.Y8G("saScores",ce.saScores),e.R7$(),e.Y8G("ngIf",ce.suggestionHeader),e.R7$(),e.Y8G("ngIf",ce.suggestionList),e.R7$(),e.Y8G("ngIf",ce.showGoodScoreReport),e.R7$(3),e.SpI(" ",e.bMT(14,12,"uds.feedbackTitle")," "),e.R7$(2),e.Y8G("ngClass",e.eq3(16,q,ce.currentFeedbackSelection===ce.udsFeedbackSelection.thumbUp)),e.R7$(3),e.Y8G("ngClass",e.eq3(18,q,ce.currentFeedbackSelection===ce.udsFeedbackSelection.thumbDown)),e.R7$(4),e.FS9("href",ce.udsLearnMoreUrl,e.B4B),e.R7$(),e.SpI(" ",e.bMT(24,14,"common.learnMore")," "),e.R7$(2),e.Y8G("ngIf",ce.snoozeDurationInDays&&ce.launchSource===ce.UDSLaunchSource.EndOfSession)}}let le=(()=>{var ge;class ie{onClick(G){G.target instanceof HTMLAnchorElement&&this.onLinkClicked(G)}onEscapeKey(G){this.onExit()}get snoozeDurationInDays(){return this.udsHelperService.snoozeDurationInDays}constructor(G,ue,ae,Ce,Se,Ne){this.telemetryService=G,this.udsHelperService=ue,this.dateHandlerService=ae,this.redirectService=Ce,this.translateService=Se,this.destroy$=new O.B7,this.saScores=[],this.linkIdsClicked=[],this.gameTitle="",this.currentFeedbackSelection=P.is.none,this.udsFeedbackSelection=P.is,this.UDSLaunchSource=P.zO,this.isSnoozed=!1,this.isSuggestionExpanded=!1,this.isLearnMoreClicked=!1,this.udsReportDateTime="",this.noUDSReport=!1,this.errorMessage="",this.isLoading=!0,this.showGoodScoreReport=!1,this.recommendationExpand=!1,this.udsUIClosed=new e.bkB,this.logger=Ne.getLogger("UdsUiComponent")}ngOnInit(){this.udsHelperService.getUDSDiagnosticData$().pipe((0,n.s)(1),(0,E.Q)(this.destroy$)).subscribe(()=>{var G,ue,ae;if(this.isLoading=!1,!this.response||null===(G=Object.keys(this.response))||void 0===G||!G.length||null!==(ue=this.response)&&void 0!==ue&&ue.error){var Ce,Se;this.launchSource!==P.zO.EndOfSession&&(this.noUDSReport=!0,this.errorMessage=null!==(Ce=null===(Se=this.response)||void 0===Se?void 0:Se.message)&&void 0!==Ce?Ce:this.translateService.instant("uds.noUDSReport"))}else{var Ne;const ve=null===(Ne=this.response)||void 0===Ne?void 0:Ne.reports[0];var we;this.gameTitle=null==ve?void 0:ve.streamedAppName,this.setUDSReportDateTime(ve),this.saScores=null==ve?void 0:ve.saScores,null!=ve&&ve.areSAScoresGood&&this.launchSource!==P.zO.EndOfSession?this.showGoodScoreReport=!0:(this.suggestionHeader=null==ve?void 0:ve.recommendationListHeader,null==ve||ve.recommendationList.forEach(Pe=>{null!=Pe&&Pe.solutionDetail&&this.setLinkClass(Pe)}),this.suggestionList=null==ve?void 0:ve.recommendationList,this.recommendationExpand=null===(we=this.response)||void 0===we?void 0:we.recommendationExpand)}this.constructUDSLearnMoreLink(null===(ae=this.response)||void 0===ae?void 0:ae.errorCode)})}onLinkClicked(G){var ue,ae;this.logger.info(`Link clicked in component: ${null===(ue=G.target)||void 0===ue?void 0:ue.id}`);const Ce=null===(ae=G.target)||void 0===ae?void 0:ae.id;Ce&&!this.linkIdsClicked.includes(Ce)&&this.linkIdsClicked.push(Ce)}setLinkClass(G){const ae=(new DOMParser).parseFromString(G.solutionDetail,"text/html");Array.from(ae.getElementsByTagName("a")).forEach(Se=>{Se.classList.add("font-body2-link")}),G.solutionDetail=ae.body.innerHTML}getRedirectKeyword(G){return U.r7.GfnPcUdsLearnMore}constructUDSLearnMoreLink(G){const ue=this.getRedirectKeyword(G);this.redirectService.getRedirectUrl(ue).pipe((0,n.s)(1),(0,E.Q)(this.destroy$)).subscribe(ae=>{this.udsLearnMoreUrl=ae,this.logger.info("UDS Learn more URL: ",this.udsLearnMoreUrl)})}setUDSReportDateTime(G){const ue=this.dateHandlerService.getLocalizedDate(G.sessionStartTimeStamp),ae=this.dateHandlerService.getLocalizedDate(G.sessionEndTimeStamp),Ce={hour:"numeric",minute:"2-digit",hour12:!0},Se=this.dateHandlerService.getLocalizedTime(G.sessionStartTimeStamp,Ce),Ne=this.dateHandlerService.getLocalizedTime(G.sessionEndTimeStamp,Ce);(0,B.zV)([ue,ae,Se,Ne]).pipe((0,n.s)(1),(0,E.Q)(this.destroy$)).subscribe(([we,ve,Pe,Oe])=>{Pe=this.dateHandlerService.formatAMPMToUpperCase(Pe),Oe=this.dateHandlerService.formatAMPMToUpperCase(Oe),this.udsReportDateTime=we===ve?we+" "+Pe+" - "+Oe:we+" "+Pe+" - "+ve+" "+Oe})}get exitButtonString(){return this.currentFeedbackSelection!==P.is.none?"common.send":"common.close"}sendUDSSuggestionFeedbackTelemetry(){var G,ue,ae,Ce,Se,Ne;let we=k.O67.None;this.currentFeedbackSelection===P.is.thumbUp?we=k.O67.Yes:this.currentFeedbackSelection===P.is.thumbDown&&(we=k.O67.No);const ve=null===(G=this.response)||void 0===G||null===(G=G.reports)||void 0===G?void 0:G.length,Be={sessionId:ve&&null!==(ue=null===(ae=this.response)||void 0===ae||null===(ae=ae.reports[0])||void 0===ae?void 0:ae.sessionId)&&void 0!==ue?ue:"",subSessionId:ve&&null!==(Ce=null===(Se=this.response)||void 0===Se||null===(Se=Se.reports[0])||void 0===Se?void 0:Se.subSessionId)&&void 0!==Ce?Ce:"",wasHelpful:we,apiVersion:ve?null===(Ne=this.response)||void 0===Ne||null===(Ne=Ne.reports[0])||void 0===Ne?void 0:Ne.udsVersion:"",snooze:this.isSnoozed?k.T80.TRUE:k.T80.FALSE,showMore:this.isSuggestionExpanded?k.T80.TRUE:k.T80.FALSE,source:this.udsHelperService.udsTriggerSource(this.launchSource),learnMore:this.isLearnMoreClicked?k.T80.TRUE:k.T80.FALSE,linkIdsClicked:this.linkIdsClicked};this.telemetryService.push(new k.H$b(Be))}thumbUpClicked(){this.currentFeedbackSelection=this.currentFeedbackSelection!==P.is.thumbUp?P.is.thumbUp:P.is.none}thumbDownClicked(){this.currentFeedbackSelection=this.currentFeedbackSelection!==P.is.thumbDown?P.is.thumbDown:P.is.none}onSuggestionPanelItemOpened(){this.isSuggestionExpanded=!0}onExit(){this.sendUDSSuggestionFeedbackTelemetry(),this.isSnoozed&&this.udsHelperService.snoozeUDS(),this.udsUIClosed.emit()}onLearnMoreClick(){this.isLearnMoreClicked=!0}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return(ge=ie).\u0275fac=function(G){return new(G||ge)(e.rXU(r.H0),e.rXU(A.u),e.rXU(l.I_),e.rXU(I.Q),e.rXU(S.c$),e.rXU(l.J6))},ge.\u0275cmp=e.VBU({type:ge,selectors:[["gfn-uds-ui"]],hostBindings:function(G,ue){1&G&&e.bIt("click",function(Ce){return ue.onClick(Ce)})("keydown.escape",function(Ce){return ue.onEscapeKey(Ce)})},inputs:{launchSource:"launchSource",response:"response"},outputs:{udsUIClosed:"udsUIClosed"},decls:13,vars:9,consts:[["suggestionDetails",""],["nvTrapFocus","","nvSpatialNavigationGroup","","navigateAction","focus","fxLayout","column",1,"uds-main-container","depth-highest"],[1,"uds-title","font-header5","font-color-primary"],["svgIcon","analytics",1,"uds-title-icon"],["class","uds-noreport font-body2 font-color-secondary",4,"ngIf"],[4,"ngIf"],["class","uds-full-scroll-container",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end end",1,"uds-buttons-container"],["mat-button","","nvAutoFocus","",1,"font-button2","mat-accent","mat-flat-button",3,"click"],[1,"uds-noreport","font-body2","font-color-secondary"],["target","_blank","cdkMonitorElementFocus","",1,"font-body2-link","no-wrap",3,"click","href"],["mode","indeterminate","color","accent","diameter","48","strokeWidth","4",1,"uds-spinner"],[1,"uds-full-scroll-container"],[1,"uds-subtitle","font-body2","font-color-secondary"],["fxLayout","column",1,"uds-score-container"],[3,"saScores"],["class","uds-suggestion-header font-color-primary font-sub1",4,"ngIf"],["class","uds-suggestion-container",4,"ngIf"],["class","uds-good-score-header-container",4,"ngIf"],[1,"uds-feedback-container"],[1,"uds-feedback-title","font-color-primary","font-body2"],["mat-icon-button","",1,"uds-thumb-up-button",3,"click","ngClass"],["mat-font-set","material-icons"],["mat-icon-button","",3,"click","ngClass"],[1,"uds-learn-more-container"],["class","uds-snooze-container nv-hig",4,"ngIf"],[1,"uds-suggestion-header","font-color-primary","font-sub1"],[1,"uds-suggestion-container"],[3,"multi"],["class","uds-suggestion-list",4,"ngFor","ngForOf"],[1,"uds-suggestion-list"],[3,"expanded","opened",4,"ngIf"],[3,"opened","expanded"],["nvMatExpansionPanelHeaderKeyboardFixup","","cdkMonitorElementFocus","",1,"uds-expansion-panel-header"],[1,"font-body2"],["nvOffDeviceLink","",1,"uds-expansion-panel-details","font-color-tertiary","font-body2",3,"innerHtml"],[1,"uds-good-score-header-container"],[1,"font-color-primary","font-sub2"],[1,"uds-snooze-container","nv-hig"],[3,"ngModelChange","ngModel"],[1,"font-body1"]],template:function(G,ue){1&G&&(e.j41(0,"div",1)(1,"div",2),e.nrm(2,"mat-icon",3),e.j41(3,"span"),e.EFF(4),e.nI1(5,"translate"),e.k0s()(),e.DNE(6,H,6,5,"div",4)(7,y,2,0,"div",5)(8,j,26,20,"div",6),e.j41(9,"div",7)(10,"button",8),e.bIt("click",function(){return ue.onExit()}),e.EFF(11),e.nI1(12,"translate"),e.k0s()()()),2&G&&(e.R7$(4),e.JRh(e.bMT(5,5,"uds.title")),e.R7$(2),e.Y8G("ngIf",ue.noUDSReport),e.R7$(),e.Y8G("ngIf",ue.isLoading),e.R7$(),e.Y8G("ngIf",!ue.noUDSReport&&!ue.isLoading),e.R7$(3),e.SpI(" ",e.bMT(12,7,ue.exitButtonString)," "))},dependencies:[L.YU,L.Sq,L.bT,s.BC,s.vS,M.iV,u.So,x.LG,p.An,i.DJ,i.sA,o.PW,_.BS,_.GK,_.Z2,_.WN,f.$,J.v4,J.tG,a.r,D.D,te.N,N.nM,z.e,R.Aq,se,Y.O,S.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}[_nghost-%COMP%]{--uds-container-max-width: 700px;--uds-container-padding: 16px 0px;--uds-score-container-min-height: 180px;--uds-icon-size: 24px;--uds-expansion-panel-padding: 12px 16px;--uds-expansion-details-padding: 0px 16px 16px 16px;--uds-noreport-padding: 0px 16px;--uds-scroll-container-padding: 0px 16px;--uds-suggestion-header-padding: 12px 16px;--uds-spinner-margin: 48px;--uds-noreport-margin-bottom: 48px;--uds-score-container-margin-bottom: 24px;--uds-subtitle-margin-bottom: 24px;--uds-suggestion-container-margin-bottom: 24px;--uds-title-icon-margin-top: 4px;--uds-title-icon-margin-right: 8px;--uds-title-margin-bottom: 10px;--uds-title-padding: 0px 16px;--uds-feedback-title-margin-right: 16px;--uds-feedback-title-vertical-align: sub;--uds-feedback-button-height: 40px;--uds-feedback-button-width: 40px;--uds-feedback-icon-align: middle;--uds-thumb-up-button-margin-right: 16px;--uds-feedback-padding-bottom: 16px;--uds-good-score-header-margin: 16px auto;--uds-buttons-padding-top: 16px;--uds-buttons-padding-right: 16px;--uds-expansion-indicator-padding: 3px}[_nghost-%COMP%] .tv-view[_nghost-%COMP%], .tv-view [_nghost-%COMP%]{--uds-container-max-width: 1184px;--uds-container-padding: 32px 0px;--uds-score-container-min-height: 200px;--uds-icon-size: 42px;--uds-expansion-panel-padding: 24px 32px;--uds-expansion-details-padding: 0px 32px 32px 32px;--uds-noreport-padding: 0px 32px;--uds-scroll-container-padding: 0px 32px;--uds-suggestion-header-padding: 24px 32px;--uds-spinner-margin: 96px;--uds-noreport-margin-bottom: 96px;--uds-score-container-margin-bottom: 48px;--uds-subtitle-margin-bottom: 48px;--uds-suggestion-container-margin-bottom: 48px;--uds-title-icon-margin-top: 8px;--uds-title-icon-margin-right: 16px;--uds-title-margin-bottom: 20px;--uds-title-padding: 0px 32px;--uds-feedback-title-margin-right: 32px;--uds-feedback-title-vertical-align: middle;--uds-feedback-button-height: 64px;--uds-feedback-button-width: 64px;--uds-feedback-icon-align: bottom;--uds-thumb-up-button-margin-right: 32px;--uds-feedback-padding-bottom: 32px;--uds-good-score-header-margin: 32px auto;--uds-buttons-padding-top: 32px;--uds-buttons-padding-right: 32px;--uds-expansion-indicator-padding: 6px}.uds-main-container[_ngcontent-%COMP%]{width:100%;max-width:var(--uds-container-max-width);max-height:87vh;padding:var(--uds-container-padding);overflow:hidden}.uds-main-container[_ngcontent-%COMP%] .uds-title[_ngcontent-%COMP%]{display:flex;align-items:flex-start;margin-bottom:var(--uds-title-margin-bottom);padding:var(--uds-title-padding)}.uds-main-container[_ngcontent-%COMP%] .uds-title-icon[_ngcontent-%COMP%]{min-width:var(--uds-icon-size);min-height:var(--uds-icon-size);margin-top:var(--uds-title-icon-margin-top)}.isLtr[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-title-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-title-icon[_ngcontent-%COMP%]{margin-right:var(--uds-title-icon-margin-right)}html[dir=ltr][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-title-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--uds-title-icon-margin-right)}.isRtl[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-title-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-title-icon[_ngcontent-%COMP%]{margin-left:var(--uds-title-icon-margin-right)}html[dir=rtl][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-title-icon[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--uds-title-icon-margin-right)}.uds-main-container[_ngcontent-%COMP%] .uds-subtitle[_ngcontent-%COMP%]{margin-bottom:var(--uds-subtitle-margin-bottom)}.uds-main-container[_ngcontent-%COMP%] .uds-spinner[_ngcontent-%COMP%]{margin:var(--uds-spinner-margin) auto}.uds-main-container[_ngcontent-%COMP%] .uds-noreport[_ngcontent-%COMP%]{margin-bottom:var(--uds-noreport-margin-bottom);padding:var(--uds-noreport-padding)}.uds-main-container[_ngcontent-%COMP%] .uds-full-scroll-container[_ngcontent-%COMP%]{overflow-y:overlay;padding:var(--uds-scroll-container-padding)}.uds-main-container[_ngcontent-%COMP%] .uds-score-container[_ngcontent-%COMP%]{min-height:var(--uds-score-container-min-height);border:1px solid #494949;margin-bottom:var(--uds-score-container-margin-bottom)}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-header[_ngcontent-%COMP%]{border-top:1px solid #494949;border-left:1px solid #494949;border-right:1px solid #494949;background-color:#393939;padding:var(--uds-suggestion-header-padding)}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%]{border:1px solid #494949;margin-bottom:var(--uds-suggestion-container-margin-bottom);overflow-y:hidden}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%] .mat-expansion-panel[_ngcontent-%COMP%] .uds-expansion-panel-details[_ngcontent-%COMP%]{padding:var(--uds-expansion-details-padding)}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%] .mat-expansion-panel-header[_ngcontent-%COMP%]{--mat-expansion-header-collapsed-state-height: auto;--mat-expansion-header-expanded-state-height: auto;padding:var(--uds-expansion-panel-padding)}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%] .uds-expansion-panel-header[_ngcontent-%COMP%] .mat-expansion-panel-header-title[_ngcontent-%COMP%]{background-color:transparent}@media (hover: hover){.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%] .uds-expansion-panel-header[_ngcontent-%COMP%]:hover{background-color:#ffffff14!important}}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%] .uds-expansion-panel-header[_ngcontent-%COMP%]:active, .uds-main-container[_ngcontent-%COMP%] .uds-suggestion-container[_ngcontent-%COMP%] .uds-expansion-panel-header.cdk-keyboard-focused[_ngcontent-%COMP%]{background-color:#ffffff52!important;transition:background-color .75s ease}.uds-main-container[_ngcontent-%COMP%] .uds-suggestion-list[_ngcontent-%COMP%]:not(:last-child){border-bottom:1px solid #494949}.uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-feedback-title[_ngcontent-%COMP%]{vertical-align:var(--uds-feedback-title-vertical-align)}.isLtr[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-feedback-title[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-feedback-title[_ngcontent-%COMP%]{margin-right:var(--uds-feedback-title-margin-right)}html[dir=ltr][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-feedback-title[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--uds-feedback-title-margin-right)}.isRtl[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-feedback-title[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-feedback-title[_ngcontent-%COMP%]{margin-left:var(--uds-feedback-title-margin-right)}html[dir=rtl][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-feedback-title[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--uds-feedback-title-margin-right)}.uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%]{height:var(--uds-feedback-button-height);width:var(--uds-feedback-button-width)}.uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{line-height:1;vertical-align:var(--uds-feedback-icon-align)}.isLtr[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-thumb-up-button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-thumb-up-button[_ngcontent-%COMP%]{margin-right:var(--uds-thumb-up-button-margin-right)}html[dir=ltr][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-thumb-up-button[_ngcontent-%COMP%]{--dummy4: 0;margin-right:var(--uds-thumb-up-button-margin-right)}.isRtl[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-thumb-up-button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-thumb-up-button[_ngcontent-%COMP%]{margin-left:var(--uds-thumb-up-button-margin-right)}html[dir=rtl][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .uds-thumb-up-button[_ngcontent-%COMP%]{--dummy4: 0;margin-left:var(--uds-thumb-up-button-margin-right)}.uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%] .selected-thumb[_ngcontent-%COMP%]{background-color:#ffffff29}.uds-main-container[_ngcontent-%COMP%] .uds-feedback-container[_ngcontent-%COMP%], .uds-main-container[_ngcontent-%COMP%] .uds-snooze-container[_ngcontent-%COMP%], .uds-main-container[_ngcontent-%COMP%] .uds-learn-more-container[_ngcontent-%COMP%]{padding-bottom:var(--uds-feedback-padding-bottom)}.uds-main-container[_ngcontent-%COMP%] .uds-good-score-header-container[_ngcontent-%COMP%]{margin:var(--uds-good-score-header-margin);text-align:center}.uds-main-container[_ngcontent-%COMP%] .uds-buttons-container[_ngcontent-%COMP%]{padding-top:var(--uds-buttons-padding-top)}.isLtr[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-buttons-container[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-buttons-container[_ngcontent-%COMP%]{padding-right:var(--uds-buttons-padding-right)}html[dir=ltr][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-buttons-container[_ngcontent-%COMP%]{--dummy2: 0;padding-right:var(--uds-buttons-padding-right)}.isRtl[_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-buttons-container[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-buttons-container[_ngcontent-%COMP%]{padding-left:var(--uds-buttons-padding-right)}html[dir=rtl][_ngcontent-%COMP%] .uds-main-container[_ngcontent-%COMP%] .uds-buttons-container[_ngcontent-%COMP%]{--dummy2: 0;padding-left:var(--uds-buttons-padding-right)}.uds-main-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:var(--uds-icon-size);height:var(--uds-icon-size);font-size:var(--uds-icon-size)}"]}),ie})()},1548:(xe,de,t)=>{"use strict";t.d(de,{u:()=>N});var e=t(31315),n=t(85735),E=t(80583),O=t(26513),B=t(43848),P=t(56237),k=t(65706),U=t(83915),r=t(75707),A=t(14714),l=t(8619),I=t(91384),S=t(34593),L=t(47766),s=t(8773),M=t(16632),u=t(37543),x=t(58527),p=t(61958),i=t(45903),o=t(66974),_=t(76449),f=t(70815);let J=(()=>{var z;class R{constructor(h,W,ne,ee,b,w){this.endpointFactory=W,this.distributedtracingUtilService=ne,this.idmService=ee,this.headerService=b,this.appConfig=w,this.logger=h.getLogger("UdsSdkService");const{defaultRetries:F,defaultTimeout:Z,exponentialBackoffMaxDelay:se}=this.appConfig.uasConfig;this.udsEndpoint=this.endpointFactory.createEndpoint({config:{maxRetries:F,timeout:Z,exponentialBackoffMaxDelay:se}})}createRequestOptions(h,W,ne,ee={},b={},w=!1){return this.createHeader(h,W).pipe((0,U.T)(F=>({headers:h?F:{},params:b,body:ee,reportRequestData:{reportSuccessTelemetry:"true",originalService:u.Uu$.UDS,serviceUseCase:ne},includeRequestId:!0,includeFullResponse:w})))}createHeader(h,W){return this.headerService.getCommonHeaders({withClientId:"lcars"}).pipe((0,U.T)(ne=>Object.assign({[f.SA.authorization]:`Bearer ${h.token}`,"NV-Device-ID":W},ne)))}buildApiUrl(h){var W;return(null===(W=this.appConfig.udsConfig)||void 0===W?void 0:W.server)+"/v1/"+h}getSummonedUdsReport(h,W,ne=!1){return this.idmService.getAuthToken(ne,W).pipe((0,r.ZZ)(ee=>this.createRequestOptions(ee,null==h?void 0:h.deviceId,u.OOF.UdsSummonedReport,{},{source:u.zOq.Mall,locale:null==h?void 0:h.locale})),(0,r.ZZ)(ee=>{const b=this.udsEndpoint.get(this.buildApiUrl("uds/session/reports"),ee);return this.distributedtracingUtilService.handleHttpEndpointSpan(b,ee,_.pB.GetUdsSummonedReport,W)}),(0,A.W)(ee=>this.idmService.handleAuthError(ee,ne,this.getSummonedUdsReport.bind(this),h,W)))}getEndOfSessionUdsReport(h={},W,ne,ee=!1){return this.idmService.getAuthToken(ee,ne).pipe((0,k.s)(1),(0,r.ZZ)(b=>this.createRequestOptions(b,W,u.OOF.UdsEndOfSessionReport,h,{})),(0,r.ZZ)(b=>{const w=this.udsEndpoint.post(this.buildApiUrl("uds/session/reports"),b);return this.distributedtracingUtilService.handleHttpEndpointSpan(w,b,_.pB.GetUdsEndOfSessionReport,ne)}),(0,A.W)(b=>this.idmService.handleAuthError(b,ee,this.getEndOfSessionUdsReport.bind(this),h,W,ne)))}}return(z=R).\u0275fac=function(h){return new(h||z)(x.KVO(L.J6),x.KVO(f.t),x.KVO(_.Z1),x.KVO(u.k_2),x.KVO(u.y1M),x.KVO(u.Vk6))},z.\u0275prov=x.jDH({token:z,factory:z.\u0275fac,providedIn:"root"}),R})();var a=t(78812),D=t(26537),te=t(19061);let N=(()=>{var z;class R{get udsSuggestionsShownInStream(){return this._udsSuggestionsShownInStream}set udsSuggestionsShownInStream(h){this._udsSuggestionsShownInStream=h}get snoozeDurationInDays(){return this._snoozeDurationInDays}set snoozeDurationInDays(h){this._snoozeDurationInDays=h}get streamingErrorDetails(){return this._streamingErrorDetails}set streamingErrorDetails(h){this._streamingErrorDetails=h}get rawUDSDataFromGS(){return this._rawUDSDataFromGS}set rawUDSDataFromGS(h){this._rawUDSDataFromGS=h}get sessionDurationInMinsForUDS(){return this._sessionDurationInMins}set sessionDurationInMinsForUDS(h){this._sessionDurationInMins=h/60}updateUDSData(h){return(0,e.zV)([this.gridService.vpcId$,this.ecommerceService.getUserMembership(),this.systemInfoService.getSystemInfo([L.Lu.GPU,L.Lu.OSVersion]),this.streamingProfileService.getStreamingProfile()]).pipe((0,k.s)(1),(0,U.T)(([W,ne,ee,b])=>{var w,F,Z,se,Y,q,T,H,y,X,c,g,d,C,Q,j,le,ge;const ie=null===(w=ne.subscription)||void 0===w?void 0:w.firstEntitlementStartDateTime,ce=["networkInfo"],G=Object.assign({},...Object.keys(b).filter(Pe=>!ce.includes(Pe)).map(Pe=>({[Pe]:b[Pe]}))),ue=null===(F=ne.subscription)||void 0===F?void 0:F.productSku,ae=(null===(Z=ne.subscription)||void 0===Z||null===(Z=Z.upsells)||void 0===Z?void 0:Z.length)>0?null===(se=ne.subscription)||void 0===se?void 0:se.upsells:[],Ce=ie?L.Nq.getDaysElapsedFromDate(ie):0;ie?this.logger.info("elapsedTime since firstEntitlement",Ce):this.logger.info("firstEntitlementStartDateTime from GES is empty/null");const Se=this.rawUDSDataFromGS,we={elapsedTimeInDays:Ce||0,sessionDurationInMins:this.sessionDurationInMinsForUDS||0,sessionEndTimeStamp:Date.now(),sessionId:null!==(Y=null===(q=this.streamingProperties)||void 0===q?void 0:q.sessionId)&&void 0!==Y?Y:"",subSessionId:null!==(T=null===(H=this.streamingProperties)||void 0===H?void 0:H.subSessionId)&&void 0!==T?T:"",streamingResolution:(null===(y=this.streamingProperties)||void 0===y?void 0:y.streamingResolution)||null,streamedAppName:null!==(X=null===(c=this.streamingProperties)||void 0===c?void 0:c.streamedAppName)&&void 0!==X?X:"",gpuType:null!==(g=null===(d=this.streamingProperties)||void 0===d?void 0:d.gpuType)&&void 0!==g?g:"",upsells:ae,gpu0LongName:null!==(C=null===(Q=ee.GPU)||void 0===Q||null===(Q=Q.GPUData[0])||void 0===Q?void 0:Q.LongGPUName)&&void 0!==C?C:"",zoneName:W,ui_source:M.zO.EndOfSession,sku:null!=ue?ue:"",streamingProfile:G,osVersion:null!==(j=ee.OSVersion)&&void 0!==j?j:"",...h};var ve;return null!==(le=this.appConfig)&&void 0!==le&&null!==(le=le.udsConfig)&&void 0!==le&&le.useOverriddenSAScores&&Se&&null!==(ge=this.appConfig)&&void 0!==ge&&null!==(ge=ge.udsConfig)&&void 0!==ge&&ge.saScores&&(Se.saScores={...Se.saScores,...null===(ve=this.appConfig)||void 0===ve||null===(ve=ve.udsConfig)||void 0===ve?void 0:ve.saScores},this.logger.info("Overriding saScores ",Se.saScores)),{...Se,...we}}))}get streamingProperties(){return this._currentStreamingProperties}set streamingProperties(h){this._currentStreamingProperties={...h}}getUDSDiagnosticData$(){return this.udsDiagnosticDataReplaySubject.asObservable()}constructor(h,W,ne,ee,b,w,F,Z,se,Y,q,T,H,y,X,c,g){this.settingsService=h,this.appConfig=W,this.remoteConfigService=ne,this.guestModeHelperService=ee,this.localeService=b,this.idmService=w,this.dbCacheService=F,this.udsSdkService=Z,this.telemetryService=se,this.systemInfoService=Y,this.matDialog=q,this.gridService=T,this.focusManager=H,this.streamingProfileService=y,this.networkConfigService=c,this.ecommerceService=g,this._udsSuggestionsShownInStream=!1,this._rawUDSDataFromGS=null,this._currentStreamingProperties=null,this.udsDBStore=null,this.udsDiagnosticDataReplaySubject=new n.m(1),this.udsIconVisibilityState=new E.B7,this._streamingErrorDetails=null,this.onUdsDataUpdatedSubject=new E.B7,this.udsNotificationState=new O.t({canShowIcon:!1,hasNotification:!1}),this.logger=X.getLogger("UdsHelperService"),this.initUdsDataUpdatedListener(),this.initUdsNotificationState()}initUdsDataUpdatedListener(){this.onUdsDataUpdatedSubject.asObservable().pipe((0,r.ZZ)(()=>(this.logger.info("Fetching uds data.."),this.postUDSData())),(0,A.W)(h=>(this.logger.error("Error fetching uds suggestion"+h),(0,B.of)(!1)))).subscribe()}getUdsIconVisibiltityState(){return this.udsIconVisibilityState.asObservable()}sendUDSDataToServer(){this.onUdsDataUpdatedSubject.next()}postUDSData(){const h=this.networkConfigService.getNetworkConditions().pipe((0,l.p)(W=>null!==W));return this.canPostUDSData().pipe((0,k.s)(1),(0,r.ZZ)(W=>(0,P.T)(()=>W,h.pipe((0,k.s)(1),(0,r.ZZ)(ne=>{const ee={zoneOverride:null==ne?void 0:ne.zoneOverride,sessionStartTimeStamp:this.streamingProperties.sessionStartTime,...this.streamingErrorDetails};return null!=ne&&ne.isVPNDetectable&&(ee.isVPN=ne.isVpn),this.updateUDSData(ee)}),(0,r.ZZ)(ne=>this.fetchUdsEndOfSessionReport(ne))),(0,B.of)(!1))),(0,I.M)(()=>{this.rawUDSDataFromGS=null,this.streamingProperties=null,this.streamingErrorDetails=null}))}getSessionDurationInSeconds(){const h=Date.now()-this.streamingProperties.sessionStartTime,W=Math.floor(h/1e3);return this.logger.info("Streaming session duration in seconds: ",W),W}fetchUdsSummonedReport(h){const W=this.localeService.localeChanged,ne=this.systemInfoService.getSystemInfo([L.Lu.DeviceId]);return(0,e.zV)([W,ne]).pipe((0,k.s)(1),(0,r.ZZ)(([ee,b])=>this.udsSdkService.getSummonedUdsReport({locale:ee,deviceId:b.DeviceId})),(0,I.M)(ee=>{this.persistUDSNotificationIcon(!1),this.udsIconVisibilityState.next(!1),ee.error?this.handleUDSSuggestionError(ee.error,h,ee):this.sendUDSDialogShownTelemetry(ee,h)}),(0,A.W)(ee=>{const b="Error fetching summoned UDS report";return this.logger.error(b,ee),this.handleUDSSuggestionError(b,h,null),(0,B.of)(null)}))}showDiagnosticDialog(h){this.startWaitingForDiagnosticData();const W=this.focusManager.restoreFocusAfterClosed(()=>this.matDialog.open(u.MgU,{panelClass:["dialog-component-container","dark-hue4-background-dialog"],autoFocus:!1,hasBackdrop:!0,disableClose:!0,maxWidth:"100vw",enterAnimationDuration:"0ms"}));this.fetchUdsSummonedReport(h).pipe((0,k.s)(1)).subscribe(ne=>{W.componentInstance.response=ne,this.udsDiagnosticDataReplaySubject.next(ne)}),W.componentInstance.launchSource=h,W.componentInstance.udsUIClosed.pipe((0,k.s)(1)).subscribe(ne=>{W.close()})}startWaitingForDiagnosticData(){this.udsDiagnosticDataReplaySubject.complete(),this.udsDiagnosticDataReplaySubject=null,this.udsDiagnosticDataReplaySubject=new n.m(1)}fetchUdsEndOfSessionReport(h){let W;return(0,e.zV)([this.localeService.localeChanged,this.idmService.accountStatusChanged,this.systemInfoService.getSystemInfo([L.Lu.DeviceId])]).pipe((0,k.s)(1),(0,r.ZZ)(([ne,ee,b])=>(W={udsData:h},W.udsData.locale=ne,W.udsData.idpId=null==ee?void 0:ee.idpId,this.udsSdkService.getEndOfSessionUdsReport(W,b.DeviceId))),(0,U.T)(ne=>{var ee;if(this.logger.info("Show notify icon for summon button",!(null==ne||!ne.notifyIcon)),this.persistUDSNotificationIcon(!(null==ne||!ne.notifyIcon)),0===(null===(ee=Object.keys(ne))||void 0===ee?void 0:ee.length)||null!=ne&&ne.error){var b;const w=0===(null===(b=Object.keys(ne))||void 0===b?void 0:b.length)?"emptyError: No data is available":String(null==ne?void 0:ne.error);return this.handleUDSSuggestionError(w,M.zO.EndOfSession,ne,W),!1}return ne.reports[0].areSAScoresGood?(this.handleUDSSuggestionError("Good SAS score",M.zO.EndOfSession,ne,W),!1):(this.startWaitingForDiagnosticData(),this.udsDiagnosticDataReplaySubject.next(ne),this.udsSuggestionsShownInStream=!0,this.sendUDSDialogShownTelemetry(ne,M.zO.EndOfSession,W),!0)}),(0,A.W)(ne=>(this.handleUDSSuggestionError("Error fetching end of session UDS report",M.zO.EndOfSession,null,W),this.logger.error("Error fetching end of session UDS report",ne),(0,B.of)(!1))))}handleUDSSuggestionError(h,W,ne,ee={}){this.udsSuggestionsShownInStream=!1,this.logger.error("handling UDSSuggestion Error: ",h,"Launch Source: ",W),this.sendUDSDialogShownTelemetry(ne,W,ee,h)}udsTriggerSource(h){switch(h){case M.zO.EndOfSession:return u.Cv0.EndOfSession;case M.zO.Mall:return u.Cv0.Mall;case M.zO.Notification:return u.Cv0.Notification}}sendUDSDialogShownTelemetry(h,W,ne={},ee=""){var b,w;const F=null==h?void 0:h.reports[0],Z={sessionId:(null==F?void 0:F.sessionId)||(null==ne?void 0:ne.sessionId)||"",subSessionId:(null==F?void 0:F.subSessionId)||(null==ne?void 0:ne.subSessionId)||"",isSuccess:ee?u.T80.FALSE:u.T80.TRUE,error:ee,apiVersion:null!==(b=null==F?void 0:F.udsVersion)&&void 0!==b?b:"",udsData:(null===(w=JSON.stringify(ne))||void 0===w?void 0:w.substring(0,1024))||"",category:(null==F?void 0:F.recommendationCategory)||"",source:this.udsTriggerSource(W)};this.telemetryService.push(new u.B4z(Z))}canShowUDSSummonedUIIcon(){return this.remoteConfigService.remoteConfigFetched$.pipe((0,U.T)(h=>{var W;const ne=!this.guestModeHelperService.isGuestMode&&(null===(W=h.config)||void 0===W?void 0:W.udsConfig.canEnableSummonedUI);return this.logger.info("showUDSSummonedUIIcon flag",ne),ne}),(0,A.W)(h=>(this.logger.error("Error in canShowUDSSummonedUIIcon",h),(0,B.of)(!1))))}canPostUDSData(){return this.remoteConfigService.remoteConfigFetched$.pipe((0,k.s)(1),(0,U.T)(h=>{var W,ne;this.sessionDurationInMinsForUDS=this.getSessionDurationInSeconds(),this.snoozeDurationInDays=null===(W=h.config)||void 0===W?void 0:W.udsConfig.snoozeDurationInDays;const ee=!this.guestModeHelperService.isGuestMode&&(null===(ne=h.config)||void 0===ne?void 0:ne.udsConfig.canEnableEndOfSessionUI);return this.logger.info("canPostUDSData flag ",ee),ee}),(0,A.W)(h=>(this.logger.error("Error in canPostUDSData",h),(0,B.of)(!1))))}snoozeUDS(){var h;const W=null!==(h=24*this.snoozeDurationInDays*60*60*1e3)&&void 0!==h?h:0,ne={settingType:s.oY.UdsSnoozeStopDateTime,selectedOption:new Date(Date.now()+W).toISOString()};this.settingsService.storeChangedSettings(ne)}isUdsSnoozed(){var h;return null!==(h=this.appConfig.udsConfig)&&void 0!==h&&h.disableSnooze?(0,B.of)(!1):this.settingsService.getSettingsData().pipe((0,U.T)(W=>{if(null!=W&&W.udsSnoozeStopDateTime){const ne=new Date(W.udsSnoozeStopDateTime).getTime();if((new Date).getTime()(this.udsDBStore[h]=W,this.udsDBStore.persist_()))).subscribe()}getUdsStoreData(){return this.idmService.accountStatusChanged.pipe((0,k.s)(1),(0,l.p)(h=>h.isAuthenticated),(0,r.ZZ)(h=>(this.logger.info("intializing UDSDataStore"),this.udsDBStore=this.dbCacheService.getOrCreateCachedGlobalItem(M.TS,h.userId),this.udsDBStore.sync_())))}showUDSToast$(){return this.getUdsStoreData().pipe((0,r.ZZ)(()=>this.canShowUDSSummonedUIIcon()),(0,U.T)(h=>{const W=h&&!this.udsDBStore.toastShown;return this.logger.info("canShowUDSToast",W),W}))}readUdsNotificationIconState(){return this.getUdsStoreData().pipe((0,U.T)(h=>(this.logger.info("show uds notification icon",this.udsDBStore.showUdsNotificationIcon),!!this.udsDBStore.showUdsNotificationIcon)))}initUdsNotificationState(){(0,e.zV)([this.canShowUDSSummonedUIIcon(),this.readUdsNotificationIconState().pipe((0,S.Z)(!1))]).pipe((0,U.T)(([h,W])=>this.buildNotificationState(h,W))).subscribe(h=>{this.udsNotificationState.next(h)})}buildNotificationState(h,W){return{canShowIcon:h,hasNotification:h&&W}}getUdsNotificationState(){return this.udsNotificationState.asObservable()}getCanShowUdsNotificationIcon(){return this.getUdsNotificationState().pipe((0,U.T)(h=>h.hasNotification))}persistUDSNotificationIcon(h){this.setUserPreference(u.mGo.showUdsNotificationIcon,h),this.canShowUDSSummonedUIIcon().pipe((0,k.s)(1),(0,U.T)(W=>this.buildNotificationState(W,h))).subscribe(W=>{this.udsNotificationState.next(W)})}}return(z=R).\u0275fac=function(h){return new(h||z)(x.KVO(s.h$),x.KVO(p.Vk),x.KVO(i.a),x.KVO(o.x),x.KVO(L.iH),x.KVO(u.k_2),x.KVO(L.sc),x.KVO(J),x.KVO(a.H0),x.KVO(L.zW),x.KVO(D.bZ),x.KVO(u.Gip),x.KVO(te.c_),x.KVO(s.xf),x.KVO(L.J6),x.KVO(u.uUB),x.KVO(u.yJU))},z.\u0275prov=x.jDH({token:z,factory:z.\u0275fac,providedIn:"root"}),R})()},16632:(xe,de,t)=>{"use strict";t.d(de,{Cz:()=>O,TS:()=>r,_Z:()=>E,is:()=>B,qZ:()=>U,xy:()=>n,zO:()=>e});var e=function(A){return A.EndOfSession="END_OF_SESSION",A.Mall="MALL",A.Notification="NOTIFICATION",A}(e||{}),n=function(A){return A[A.Poor=0]="Poor",A[A.Bad=1]="Bad",A[A.Good=2]="Good",A[A.Excellent=3]="Excellent",A}(n||{}),E=function(A){return A[A.None=0]="None",A[A.Warning=1]="Warning",A[A.Error=2]="Error",A}(E||{}),O=function(A){return A.DesktopWindows="desktop_windows",A.Wifi="wifi",A.Isp="isp",A.Storage="storage",A}(O||{}),B=function(A){return A[A.none=0]="none",A[A.thumbUp=1]="thumbUp",A[A.thumbDown=2]="thumbDown",A}(B||{}),P=function(A){return A.DecoderScore="decoderScore",A.DownlinkCongestion="downlinkCongestion",A.DownlinkLag="downlinkLag",A.GpuPerfScore="gpuPerfScore",A.Overall="overall",A.ServerPerfScore="serverPerfScore",A.Uplink="uplink",A.VisualScore="visualScore",A}(P||{});const U=new Map([[P.DecoderScore,[O.DesktopWindows]],[P.Uplink,[O.Wifi]],[P.DownlinkLag,[O.Wifi,O.Isp]],[P.DownlinkCongestion,[O.Wifi,O.Isp]],[P.GpuPerfScore,[O.Storage]]]),r="UDSDataStore"},18587:(xe,de,t)=>{"use strict";t.d(de,{F:()=>J});var e=t(26875),n=t(85735),E=t(93181),O=t(43848),B=t(31315),P=t(12532),k=t(892),U=t(83915),r=t(75707),A=t(14714),l=t(10174),I=t(78812),S=t(33367),L=t(47766),s=t(18433),M=t(8094),u=t(40996),x=t(81834),p=t(58527),i=t(37543),o=t(66348),_=t(11346),f=t(98231);let J=(()=>{var a;class D{constructor(N,z,R,v,h,W,ne,ee,b){this.appConfig=N,this.loggingService=z,this.sharedStorageService=R,this.idmService=v,this.telemetryService=h,this.telemetryUtilService=W,this.gfnSdkService=ne,this.idmIpcService=ee,this.bridgeService=b,this.blockName="userConsentInfo",this.userConsentExpirationHours=24,this.isClientGdprConsentSet=!1,this.isManualLogin=null,this.userConsentSubject=new n.m(1),this.deviceConsentSubject=new n.m(1),this.eventDataElementsSubject=new n.m,this.logger=this.loggingService.getLogger("user-consent.service"),this.initLoginStatusSubscription(),this.sendEventDataElementsToRagnarok()}initUserConsent(){this.sharedStorageService.readBlock(this.blockName).pipe((0,U.T)(N=>!(0,e.isEmpty)(N)&&((0,e.isNil)(N.userId)||(0,e.isEmpty)(N.userId)?(this.logger.event("no stored consent setDefaultClientConsent",N.userConsent),this.telemetryService.setDefaultClientConsent(N.userConsent)):this.telemetryService.setUserConsent([N]),!0))).subscribe(N=>{N?this.logger.info("Consent read from userConsentInfo block sent to jsevents for initialization."):this.logger.error("No client consent sent to jsevents.")},N=>{this.logger.error("Reading UserConsentInfo block failed with error: ",N)})}writeUserConsent(N){return this.sharedStorageService.writeBlock(this.blockName,N,!0)}getDeviceConsent$(){return this.deviceConsentSubject.asObservable()}getUserConsent$(){return this.userConsentSubject.asObservable()}getEventDataElements$(){return this.eventDataElementsSubject.asObservable()}fetchAndUpdateUserConsent(N){return(0,E.p)([this.sharedStorageService.readBlock(this.blockName),this.telemetryService.getDefaultClientConsentObserable()]).pipe((0,r.ZZ)(([z,R])=>(z=this.refreshExpiryTime(z),this.updateUserConsentTelemetry(z,N),this.logger.info("Send app launch telemetry for valid userId"),this.telemetryUtilService.sendLaunchTimeTelemetry(),this.setExpiryIntervalSubscription(N),this.userConsentSubject.next(z.userConsent),this.writeUserConsent(z))))}sendEventDataElementsToRagnarok(){var N;const z=null===(N=this.appConfig)||void 0===N||null===(N=N.featureEnablement)||void 0===N?void 0:N.useGridServer2;(L.zk.isBrowserPlatform()||z)&&(this.telemetryService.getCommonData$().pipe((0,r.ZZ)(R=>{const v={commonData:R,config:{server:this.appConfig.jsEvents.server,version:this.appConfig.jsEvents.version}};return v.commonData.sentTs=void 0,v.commonData.events=void 0,z?(this.eventDataElementsSubject.next(v),(0,O.of)(!0)):this.bridgeService.executeCommand(S.Ts.Gfn.Streaming.UpdateEventDataElements,v)})).subscribe(),(0,B.zV)([this.getDeviceConsent$(),this.getUserConsent$()]).pipe((0,r.ZZ)(([R,v])=>{const h={commonData:{}};return h.commonData.deviceGdprFuncOptIn=R.functional,h.commonData.deviceGdprTechOptIn=R.technical,h.commonData.deviceGdprBehOptIn=R.behavioral,h.commonData.gdprFuncOptIn=v.functional,h.commonData.gdprTechOptIn=v.technical,h.commonData.gdprBehOptIn=v.behavioral,z?(this.eventDataElementsSubject.next(h),(0,O.of)(!0)):this.bridgeService.executeCommand(S.Ts.Gfn.Streaming.UpdateEventDataElements,h)})).subscribe())}createConsentBlock(N){const z=(0,e.merge)({},I.XZ);return z.userConsent=N,z}createConsentBlockWithAuthInfo(N,z){const R=(0,e.merge)(I.XZ,{userId:N.userId,externalUserId:N.externalUserId,idpId:N.idpId});return R.userConsent=z,R}initLoginStatusSubscription(){this.idmService.cachedUser.pipe((0,r.ZZ)(N=>(this.isManualLogin=!N.data.isAuthenticated,(0,B.zV)([this.gfnSdkService.getAuthInfo(),this.idmService.accountStatusChanged]).pipe((0,r.ZZ)(([R,v])=>{let h=v;if(!h.isAuthenticated&&this.checkIntervalSubscription)this.checkIntervalSubscription.unsubscribe();else if(h.isAuthenticated||R.authType===u.hT.JWT){let W={userId:h.userId,externalUserId:h.externalId,idpId:h.idpId};return R.authType===u.hT.JWT&&(W={userId:R.userId,externalUserId:R.externalUserId,idpId:R.idpId},h={...h,userId:R.userId,externalId:R.externalUserId,idpId:R.idpId}),(""===h.idpId||(0,e.isNil)(h.idpId))&&(W={userId:I.oX.Undefined,externalUserId:h.userId,idpId:I.oX.Undefined}),this.telemetryService.setEventsCommonData(W,!0),this.fetchAndUpdateUserConsent(h)}return h.isAuthenticated?P.w:this.updateUserConsentInfoOnLogout()})))),(0,A.W)(N=>(this.logger.error("Error in getting/setting consent data on user refresh, Setting to default",N),(0,O.of)(!1)))).subscribe(N=>{this.logger.info("Updated user consent result successfully:",N),this.idmIpcService.sendLoginStatusChange()})}isExpired(N){let z=!0;const R=new Date;if(N&&N.expiryTime){const v=new Date(N.expiryTime);this.logger.info("Expiry time "+v+" now "+R),z=v{if(!(0,e.isEmpty)(N))return this.isExpired(N)?this.idmService.refreshUser().pipe((0,l.u)(!0)):(this.logger.info("Consent data is still valid"),this.updateUserConsentTelemetry(N,this.currentUser),P.w)}))}setExpiryIntervalSubscription(N){if(this.currentUser=N,this.telemetryUtilService.getClientType()!==s.sKj.StreamingClient){const z=(0,k.Y)(60*this.userConsentExpirationHours*60*1e3);this.checkIntervalSubscription=z.pipe((0,r.ZZ)(()=>this.checkConsentInterval())).subscribe()}else this.logger.info("Not checking consent info on regular intervals for streamer")}setUpJarvisUserChangedSubscription(){this.idmService.accountStatusChanged.subscribe(N=>{!N.isAuthenticated&&!this.telemetryService.getLaunchUiEventSent()&&(this.logger.info("No user present, send launch time telemetry for undefined userId"),this.telemetryUtilService.sendLaunchTimeTelemetry())})}setDefaultConsentData(N){return this.logger.trace(x.N_.UserDetails,x.YD.UserInfo,"User consent is Behavioral:"+N.behavioral+" Functional:"+N.functional+" Technical:"+N.technical),this.isClientGdprConsentSet?(this.logger.info("Client GDPR consent is already set."),(0,O.of)(!1)):(this.logger.event("client consent not yet set - setDefaultClientConsent",N),this.telemetryService.setDefaultClientConsent(N),this.setUpJarvisUserChangedSubscription(),this.isClientGdprConsentSet=!0,this.deviceConsentSubject.next(N),this.writeUserConsent(this.createConsentBlock(N)))}setAnonUserConsentData(N){return this.logger.event("client consent not yet set - setAnonUserConsentData",N),this.telemetryService.setDefaultClientConsent(N),this.setUpJarvisUserChangedSubscription(),this.isClientGdprConsentSet=!0,this.gfnSdkService.getAuthInfo().pipe((0,r.ZZ)(z=>this.writeUserConsent(this.createConsentBlockWithAuthInfo(z,N))))}getAnonUserConsentData(){return this.sharedStorageService.readBlock(this.blockName).pipe((0,r.ZZ)(N=>(0,O.of)(N)))}updateUserConsentInfoOnLogout(){return this.sharedStorageService.readBlock(this.blockName).pipe((0,r.ZZ)(N=>(0,e.isEmpty)(N)?(this.logger.warn("UserConsentInfo section is empty in sharedstorage"),(0,O.of)(!1)):(N.userConsent=I.bC,delete N.userId,N.externalUserId&&delete N.externalUserId,N.idpId&&delete N.idpId,N.expiryTime&&delete N.expiryTime,this.userConsentSubject.next(N.userConsent),this.writeUserConsent(N))))}ngOnDestroy(){this.checkIntervalSubscription&&this.checkIntervalSubscription.unsubscribe()}}return(a=D).\u0275fac=function(N){return new(N||a)(p.KVO(i.Vk6),p.KVO(L.J6),p.KVO(o.yQ),p.KVO(_.k_),p.KVO(I.H0),p.KVO(s.jgD),p.KVO(u.DL),p.KVO(f.S),p.KVO(L.NZ))},a.\u0275prov=p.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),D})()},94829:(xe,de,t)=>{"use strict";t.d(de,{iS:()=>L,$0:()=>I,rF:()=>S,yj:()=>A,rc:()=>e.rc,c2:()=>e.c2,Me:()=>e.Me,yJ:()=>e.yJ,dO:()=>e.dO,n9:()=>e.n9,a7:()=>e.a7,zC:()=>e.zC,ZE:()=>e.ZE,r2:()=>e.r2,u2:()=>e.u2,zy:()=>e.zy,VC:()=>x,_r:()=>_,$w:()=>p,xY:()=>o,yd:()=>i,WC:()=>e.WC,Df:()=>e.Df});var e=t(8094),n=t(80583),E=t(17053),O=t(18433),B=t(58527),P=t(47766),k=t(78812),U=function(f){return f.HaveNothing="HAVE_NOTHING",f.HaveMetadata="HAVE_METADATA",f.HaveCurrentData="HAVE_CURRENT_DATA",f.HaveFutureData="HAVE_FUTURE_DATA",f.HaveEnoughData="HAVE_ENOUGH_DATA",f}(U||{}),r=function(f){return f.NetworkEmpty="NETWORK_EMPTY",f.NetworkIdle="NETWORK_IDLE",f.NetworkLoading="NETWORK_LOADING",f.NetworkNoSource="NETWORK_NO_SOURCE",f}(r||{});let A=(()=>{var f;class J{constructor(D,te){this.telemetryService=te,this.mediaPlayExceptionSubject=new n.B7,this.logger=D.getLogger("MediaHelperService")}playMedia(D,te,N){null!=D&&D.parentElement||this.logger.warn("Attempting to play a media with null parentElement (probably not in DOM?)");const z=R=>{this.logger.info(`${R} - type=${te}, srcObject=${null!=D&&D.srcObject?"defined":"undefined"}, played=${null==D?void 0:D.played}, paused=${null==D?void 0:D.paused}, readyState=${this.getVideoState(null==D?void 0:D.readyState)}, muted=${null==D?void 0:D.muted},\n sessionInfo=${JSON.stringify(N)}`)};return z("Attempting to play media"),new E.c(R=>{var v,h,W,ne,ee;const b=null==D?void 0:D.play();if(!b)return z("Undefined play result"),R.next(!(null!=D&&D.paused)),void R.complete();null===(v=b.then)||void 0===v||null===(h=(W=v.call(b,()=>{z("Successfully played"),this.sendMediaPlayEvent(te,N),R.next(!0)})).catch)||void 0===h||null===(ne=(ee=h.call(W,w=>{z("Failed to play"),this.logger.error(`${te} play failed with error: ${w.name}: ${w.message}`),this.sendMediaPlayEvent(te,N,w),this.mediaPlayExceptionSubject.next(w),R.next(!1)})).finally)||void 0===ne||ne.call(ee,()=>{R.complete()})})}pauseMedia(D){null==D||D.pause()}mediaPlayFailure$(){return this.mediaPlayExceptionSubject.asObservable()}sendMediaPlayEvent(D,te,N){var z,R,v,h,W,ne;const ee=new O.Yno({streamSessionId:null!==(z=null==te?void 0:te.sessionId)&&void 0!==z?z:"",streamSubSessionId:null!==(R=null==te?void 0:te.subSessionId)&&void 0!==R?R:"",mediaType:"video"===D?O.N0J.Video:O.N0J.Audio,result:void 0===N?O.Ssl.Success:O.Ssl.Failure,errorDetails:null!==(v=null==N?void 0:N.message)&&void 0!==v?v:"",errorName:null!==(h=null==N?void 0:N.name)&&void 0!==h?h:"",isResume:null!==(W=null==te?void 0:te.isResumed)&&void 0!==W?W:O.T80.FALSE,useCase:null!==(ne=null==te?void 0:te.useCase)&&void 0!==ne?ne:""});this.telemetryService.push(ee)}getVideoState(D){let te;switch(D){case HTMLMediaElement.HAVE_NOTHING:te=U.HaveNothing;break;case HTMLMediaElement.HAVE_METADATA:te=U.HaveMetadata;break;case HTMLMediaElement.HAVE_CURRENT_DATA:te=U.HaveCurrentData;break;case HTMLMediaElement.HAVE_FUTURE_DATA:te=U.HaveFutureData;break;case HTMLMediaElement.HAVE_ENOUGH_DATA:te=U.HaveEnoughData;break;default:te=D}return te}getVideoNetworkState(D){let te;switch(D){case HTMLMediaElement.NETWORK_EMPTY:te=r.NetworkEmpty;break;case HTMLMediaElement.NETWORK_IDLE:te=r.NetworkIdle;break;case HTMLMediaElement.NETWORK_LOADING:te=r.NetworkLoading;break;case HTMLMediaElement.NETWORK_NO_SOURCE:te=r.NetworkNoSource;break;default:te=D}return te}logMediaEventObject(D){this.logger.info("Logging event: ");for(const z in D)if("target"===z){for(const R in D[z])if("error"===R){var te,N;this.logger.info("event.target.error: ",R,":",null===(te=D[z][R])||void 0===te?void 0:te.code,null===(N=D[z][R])||void 0===N?void 0:N.message)}else("networkState"===R||"readyState"===R)&&this.logger.info("event.target.",R,":",D[z][R]);break}}}return(f=J).\u0275fac=function(D){return new(D||f)(B.KVO(P.J6),B.KVO(k.H0))},f.\u0275prov=B.jDH({token:f,factory:f.\u0275fac,providedIn:"root"}),J})();var l=t(95318);const I=1920,S=560,L=.56,s=[l.f$.KEYBOARD,l.f$.MOUSE,l.f$.MOUSE_KEYBOARD],M=[l.f$.DIRECT_INPUT_GAMEPAD,l.f$.X_INPUT_GAMEPAD,l.f$.GAMEPAD],u=[l.f$.DIRECT_INPUT_GAMEPAD_PARTIAL,l.f$.X_INPUT_GAMEPAD_PARTIAL,l.f$.GAMEPAD_PARTIAL];function x(f,J=!0){return J||!(null==f||!f.some(a=>!s.includes(a)))}function p(f,J=!0){return J&&!(null==f||!f.some(a=>s.includes(a)))}function i(f,J=!0){return J&&!(null==f||!f.includes(l.f$.TOUCHSCREEN))}function o(f,J=!0){return J&&!(null==f||!f.some(a=>u.includes(a)))}function _(f,J=!0){return J&&!(null==f||!f.some(a=>M.includes(a)))}},8094:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A$:()=>formatConsentData,Df:()=>removeSpacesInString,Me:()=>extractCmsId,WC:()=>removeElementFromArray,ZE:()=>formatVanityUrlForDisplay,a7:()=>formatTimeString,c2:()=>evalCss,dO:()=>formatTimeConfig,n9:()=>formatTimeInMinutesToString,r2:()=>getTranslatedLanguageLabel,rc:()=>convertNegativeErrorCodes,u2:()=>getUserFacingDeviceType,yJ:()=>formatHexString,zC:()=>formatUserCodeForDisplay,zy:()=>getUserFacingOSName});var lodash__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(26875),lodash__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__),crimson__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(47766),js_events__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(78812),_constants__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(50778);const minutesInAnHour=60,maxUnsigned32BitInteger=4294967295,HTTP_RESPONSE_STATES={UNDEFINED_RESPONSE:"undefined-response",NULL_URL:"null-url"},formatTimeConfig={HOURS:"hours",MINUTES:"minutes",SECONDS:"seconds"};function formatTimeString(xe,de){const t=crimson__WEBPACK_IMPORTED_MODULE_1__.Nq.createDuration(xe),e=[];if(-1!==de.indexOf(formatTimeConfig.HOURS)){const n=leftPad(null==t?void 0:t.hours.toString(),"0",2);e.push(n)}if(-1!==de.indexOf(formatTimeConfig.MINUTES)){const n=leftPad(null==t?void 0:t.minutes.toString(),"0",2);e.push(n)}if(-1!==de.indexOf(formatTimeConfig.SECONDS)){const n=leftPad(null==t?void 0:t.seconds.toString(),"0",2);e.push(n)}return e.join(":")}function formatHexString(xe){if(Number.isInteger(xe)){let de=(xe>>>=0).toString(16).toUpperCase();return de=leftPad(de,"0",8),"0x"+de}return""}function leftPad(xe,de,t){const e=t-xe.length;return e>0?Array(e+1).join(de)+xe:xe}function hasValue(xe,de){return!(0,lodash__WEBPACK_IMPORTED_MODULE_0__.isNil)(xe)}function getUrl(xe,de){let t="";return t=(0,lodash__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(xe)?de+"/"+HTTP_RESPONSE_STATES.UNDEFINED_RESPONSE:(0,lodash__WEBPACK_IMPORTED_MODULE_0__.isNull)(xe.url)?de+"/"+HTTP_RESPONSE_STATES.NULL_URL:xe.url,t}function getHttpResponseStatus(xe){let de;return de=(0,lodash__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(xe)?HTTP_RESPONSE_STATES.UNDEFINED_RESPONSE:xe.status,de}function validateObject(xe,de,t=hasValue){const e=!(0,lodash__WEBPACK_IMPORTED_MODULE_0__.isNil)(xe);return(0,lodash__WEBPACK_IMPORTED_MODULE_0__.reduce)(de,(n,E)=>n&&t(xe[E],n),e)}function validateJson(xe,de,t){const e={isValid:!1,data:null,error:""};try{e.data=JSON.parse(xe),e.isValid=!0}catch(n){e.error=n.message}return e.isValid=e.isValid&&validateObject(e.data,de,t),e}function extractCmsId(xe,de){const t=xe.search("cmsId");if(t<0)return de.info("cmsId not found, ignoring event"),null;let e=xe.substring(t),n=e.split("&");return n.length<=0?(de.error("cmsId found, but string splitting on & returned 0 strings"),null):(e=n[0],n=e.split("="),n.length<=1?(de.error("cmsId key found, but no value was found"),null):+n[1])}function formatConsentData(xe){const de=(0,lodash__WEBPACK_IMPORTED_MODULE_0__.merge)({},js_events__WEBPACK_IMPORTED_MODULE_2__.bC);return xe&&(de.technical=xe.technicalConsent,de.behavioral=xe.behavioralConsent),de}function removeSpacesInString(xe){return xe.replace(/\s/g,"")}function formatVanityUrlForDisplay(xe){return xe.replace(/(^\w+:|^)\/\//,"")}function formatUserCodeForDisplay(xe){if(xe.length<6)return xe;const de=Math.round(xe.length/2);return xe.slice(0,de)+" - "+xe.slice(de)}function getUserFacingOSName(xe){switch(xe){case crimson__WEBPACK_IMPORTED_MODULE_1__.t_.WebOS:return"webOS";case crimson__WEBPACK_IMPORTED_MODULE_1__.t_.Tizen:return"Tizen";case crimson__WEBPACK_IMPORTED_MODULE_1__.t_.XBox:return"Xbox";case crimson__WEBPACK_IMPORTED_MODULE_1__.t_.SteamOS:return"SteamOS";case crimson__WEBPACK_IMPORTED_MODULE_1__.t_.Shield:case crimson__WEBPACK_IMPORTED_MODULE_1__.t_.Android:return"Android";default:return}}function getUserFacingDeviceType(xe){switch(xe){case crimson__WEBPACK_IMPORTED_MODULE_1__.Y0.TV:return"TV";case crimson__WEBPACK_IMPORTED_MODULE_1__.Y0.Console:return"Console";default:return}}function evalCss(expr){return eval(expr.trim().replace(/calc/g,"").replace(/px/g,"").replace(/100vw/g,window.innerWidth.toString()).replace(/100vh/g,window.innerHeight.toString()).replace(/[^-()\d/*+.]/g,""))}function formatTimeInMinutesToString(xe){if(0===xe)return{time:"0m"};let de="";xe>=minutesInAnHour&&(de+=Math.floor(xe/minutesInAnHour)+"h");const t=xe%minutesInAnHour;return t>0&&(de+=" "+t+"m"),{time:de}}function convertNegativeErrorCodes(xe){return xe>=0?xe:maxUnsigned32BitInteger- -1*xe+1}function removeElementFromArray(xe,de){const t=xe.indexOf(de);t>-1&&xe.splice(t,1)}function getTranslatedLanguageLabel(xe,de){try{var t,e,n;return de.match(/(zh)[a-zA-Z0-9_-]*(CN|TW)/g)?null!==(n=_constants__WEBPACK_IMPORTED_MODULE_3__.EJ.get(de))&&void 0!==n?n:de:null!==(t=null!==(e=xe.displayNames.of(de.replace(/_/g,"-")))&&void 0!==e?e:_constants__WEBPACK_IMPORTED_MODULE_3__.EJ.get(de))&&void 0!==t?t:de}catch{var E;return null!==(E=_constants__WEBPACK_IMPORTED_MODULE_3__.EJ.get(de))&&void 0!==E?E:de}}},89917:(xe,de,t)=>{"use strict";t.d(de,{JS:()=>l,Yk:()=>k});var e=t(21690),n=t(19392),E=t(892),O=t(43848),B=t(65706),P=t(10174),k=function(I){return I.Timeout="Timeout",I.Cleared="Cleared",I.Tick="Tick",I.Unknown="Unknown",I}(k||{}),r=t(58527),A=t(47766);let l=(()=>{var I;class S{constructor(s){this.logger=s.getLogger("GfnWebWorkerService")}initialize(){if(typeof Worker<"u"){const s=new Worker(t.tu(new URL(t.p+t.u(403),t.b)),{type:void 0,name:"gfn-web"});this.gfnWorker=(0,e.LV)(s)}else this.logger.warn("Web workers not supported, will use fallback mechanism");return this.gfnWorker}hash(s){return(0,n.H)(this.gfnWorker.sha1(s))}intervalHandler(s,M){return this.gfnWorker?(0,n.H)(this.gfnWorker.registerTimer(s,(0,e.BX)(M))):s.startTimer?(this.logger.info("Fallback mechanism triggered, starting timer"),this.timer$=(0,E.Y)(s.timeout).pipe((0,B.s)(1),(0,P.u)(k.Timeout)),this.timer$):(this.logger.info("Fallback mechanism triggered, clearing timer"),this.timer$=null,(0,O.of)(k.Cleared))}periodicIntervalHandler(s,M){return this.gfnWorker?(this.gfnWorker.registerInterval(s,(0,e.BX)(M)),(0,O.of)(k.Unknown)):s.startInterval?(this.logger.info("Fallback mechanism triggered, starting interval"),this.interval$=(0,E.Y)(s.tickInterval).pipe((0,P.u)(k.Tick)),this.interval$):(this.logger.info("Fallback mechanism triggered, clearing interval"),this.interval$=null,(0,O.of)(k.Cleared))}}return(I=S).\u0275fac=function(s){return new(s||I)(r.KVO(A.J6))},I.\u0275prov=r.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},48472:(xe,de,t)=>{"use strict";t.d(de,{p:()=>e.p});var e=t(11961)},11961:(xe,de,t)=>{"use strict";t.d(de,{p:()=>O});var e=t(58527),n=t(66348);const E="defaultZone";let O=(()=>{var B;class P{constructor(U){this.sharedStorage=U}setDefaultZone(U){return this.sharedStorage.writeBlock(E,U)}getDefaultZone(){return this.sharedStorage.readBlock(E)}}return(B=P).\u0275fac=function(U){return new(U||B)(e.KVO(n.yQ))},B.\u0275prov=e.jDH({token:B,factory:B.\u0275fac,providedIn:"root"}),P})()},37543:(xe,de,t)=>{"use strict";t.d(de,{pLN:()=>Nn.pL,Xey:()=>Un.Xe,apq:()=>Nt.ap,Mm1:()=>Gn.Mm,Ut0:()=>ii,LTU:()=>An,GRF:()=>qe,F5M:()=>Ce.F5,eWN:()=>Xn.eW,$94:()=>Pn.$9,UWk:()=>dn.UW,BxN:()=>dn.Bx,T80:()=>G.T80,Tzh:()=>Uo.T,mGo:()=>Un.mG,hLj:()=>Rn.hL,niw:()=>Gn.ni,MPq:()=>G.MPq,WTI:()=>Dn.WT,Jwh:()=>Dn.Jw,Abi:()=>Rn.Ab,EBD:()=>G.EBD,wiu:()=>Pn.wi,y1M:()=>ut.y1,Kbb:()=>G.Kbb,cKB:()=>G.cKB,aa0:()=>G.aa0,Gfd:()=>Un.Gf,HD9:()=>Un.HD,sKj:()=>G.sKj,UtN:()=>yo,WWE:()=>ms,r1C:()=>sr.r1,Yi6:()=>sr.Yi,UT3:()=>dn.UT,mcm:()=>Pn.mc,sbY:()=>C,ajQ:()=>Un.aj,r7g:()=>ae.r7,lph:()=>ae.lp,I58:()=>G.I58,Vk6:()=>At.Vk,NnO:()=>$e,Ozc:()=>wt.Oz,sD:()=>Fo.sD,kjn:()=>No.k,qfF:()=>kr,Y65:()=>fi,cNv:()=>ko,gHK:()=>Un.gH,M0g:()=>dn.M0,xOh:()=>ao,LE3:()=>Ce.LE,LQP:()=>G.LQP,wCY:()=>Cr.w,mYR:()=>Un.mY,IxP:()=>Un.Ix,pyK:()=>Un.py,oO8:()=>G.oO8,eL_:()=>Un.eL,u8D:()=>ai.u8,WIN:()=>Gn.WI,Dd1:()=>Ce.Dd,OS:()=>Wt.OS,HBm:()=>G.HBm,o3x:()=>Nn.o3,$fW:()=>wt.$f,EUA:()=>wt.EU,X9O:()=>wt.X9,qr_:()=>Xo,ho6:()=>So.h,xYH:()=>Ce.xY,qQZ:()=>Ce.qQ,Y1$:()=>Ce.Y1,yJU:()=>Ce.yJ,U3S:()=>Ce.U3,$6u:()=>Dn.$6,DaX:()=>Dn.D,b9P:()=>Un.b9,jHU:()=>Qr,fbu:()=>G.fbu,kJc:()=>ni,jv9:()=>en.jv,uoe:()=>Un.uo,jQy:()=>Kt,jYw:()=>Gn.jY,fhr:()=>At.fh,Nj_:()=>G.Nj_,MYy:()=>G.MYy,_nL:()=>G._nL,WCA:()=>G.WCA,JUy:()=>G.JUy,iLx:()=>G.iLx,myS:()=>G.myS,dZ:()=>G.dZ,XM7:()=>G.XM7,lv$:()=>G.lv$,waC:()=>G.waC,FEW:()=>G.FEW,cPF:()=>G.cPF,e13:()=>G.e13,Lbi:()=>G.Lbi,gYD:()=>xi,B1v:()=>Un.B1,ZvN:()=>ye,kKh:()=>Dn.kK,$w$:()=>Ii,vhU:()=>G.vhU,iVs:()=>G.iVs,yEy:()=>G.yEy,SBT:()=>G.SBT,uBn:()=>ts.u,f$1:()=>Dn.f$,ZFx:()=>Dn.ZF,RXY:()=>G.RXY,GSb:()=>G.GSb,$vj:()=>Gr,wEh:()=>_n.wE,q8U:()=>oo,OjG:()=>Gn.Oj,BGm:()=>Dn.BG,V6C:()=>_n.V6,m$y:()=>Nt.m$,DSb:()=>Dn.DS,Ib8:()=>_n.Ib,BSK:()=>nt,LsN:()=>dn.Ls,RHK:()=>Ct,AdR:()=>To,$1L:()=>G.$1L,JSj:()=>ki.JS,Gip:()=>Xt.G,xDS:()=>Pe.x,NPJ:()=>Pe.N,JvS:()=>Un.Jv,mwu:()=>Nn.mw,iSG:()=>Ht.iS,kSA:()=>G.kSA,Ixb:()=>G.Ixb,KmM:()=>ai.r1,naM:()=>tr.n,k_2:()=>ai.k_,VK0:()=>Xn.VK,msD:()=>Pn.ms,Yk_:()=>ki.Yk,kNP:()=>Lt.kN,oaC:()=>Gn.o,NGk:()=>Gn.NG,Dz:()=>G.Dz,C$e:()=>At.C$,jG:()=>G.jG,HVs:()=>G.HVs,$_h:()=>Dn.$_,Br4:()=>Dn.Br,E8c:()=>Dn.E8,Ah1:()=>_t.A,Xtz:()=>_t.X,QF_:()=>go.QF,ORI:()=>Un.OR,$0t:()=>Ht.$0,Lg7:()=>_s,rFk:()=>Ht.rF,Ht9:()=>Un.Ht,yjM:()=>Ht.yj,Yno:()=>G.Yno,Ssl:()=>G.Ssl,eTF:()=>Bt,Yjq:()=>G.Yjq,uxn:()=>G.uxn,tS_:()=>Gn.tS,v$R:()=>Oi,WX8:()=>en.WX,iD4:()=>en.iD,iCI:()=>en.iC,lWV:()=>Wt.lW,uUB:()=>to.uU,TEy:()=>dn.TE,cEG:()=>hn.c,_eY:()=>Xn._e,Nu3:()=>Xn.Nu,NiE:()=>Xn.Ni,ZpH:()=>G.ZpH,qIF:()=>Xn.qI,Kfi:()=>Xn.Kf,b60:()=>Xn.b6,xHf:()=>Xn.xH,qH9:()=>G.qH9,tlj:()=>Ei.t,xLz:()=>Rn.xL,Pii:()=>Rn.Pi,Vdg:()=>go.Vd,d8l:()=>Sr,ZSB:()=>we.Z,Mlu:()=>we.M,eK6:()=>G.eK6,GoL:()=>G.GoL,t4p:()=>G.t4p,Uu$:()=>G.Uu$,Itz:()=>ds,eEz:()=>vr.eE,SLD:()=>vr.SL,diF:()=>Dn.di,HPU:()=>Dn.HP,BOh:()=>Fo.BO,AZq:()=>Rn.AZ,yNE:()=>Dn.yN,lA3:()=>Vo,CC_:()=>ps.C,YDY:()=>G.YDY,_b3:()=>G._b3,Msi:()=>go.Ms,XOo:()=>go.XO,mGP:()=>G.mGP,xEK:()=>G.xEK,duU:()=>G.duU,SBM:()=>dn.SB,lFF:()=>zt.lF,dIJ:()=>qt.dI,MPU:()=>Rn.MP,NQq:()=>Rn.NQ,kEU:()=>_n.kE,$_K:()=>G.$_K,G8H:()=>G.G8H,Unl:()=>G.Unl,ptg:()=>G.ptg,FFI:()=>No.F,Gl:()=>ae.Gl,Q5Y:()=>ae.Q5,x4T:()=>Fo.x4,F4T:()=>Fo.F4,nT5:()=>so,wIR:()=>gr,BEl:()=>G.BEl,w$q:()=>G.w$q,aN9:()=>no.a,irY:()=>dn.ir,d5b:()=>dn.d5,DNU:()=>dn.DN,SCF:()=>dn.SC,vtl:()=>G.vtl,HMi:()=>_n.HM,MCB:()=>G.MCB,O3b:()=>G.O3b,bo5:()=>to.bo,noQ:()=>Xn.no,OOF:()=>G.OOF,L4P:()=>dn.L4,PbG:()=>fs,y9Y:()=>dn.y9,u6d:()=>_n.u6,Fud:()=>dn.Fu,h$Q:()=>dn.h$,mBZ:()=>Un.mB,oY8:()=>dn.oY,x5$:()=>Gn.x5,OUV:()=>Gn.OU,zeh:()=>dn.ze,gaE:()=>zt.g,blp:()=>Jo,zi2:()=>tn,HFx:()=>pn,N0J:()=>G.N0J,HOo:()=>G.HOo,xfC:()=>dn.xf,N1D:()=>en.N1,zZZ:()=>en.zZ,hz6:()=>en.hz,q3U:()=>en.q3,AEW:()=>_r.AE,_Nb:()=>Ci,Icg:()=>pr,p2o:()=>G.p2o,$Tx:()=>G.$Tx,TOI:()=>Ce.TO,O67:()=>G.O67,jgD:()=>G.jgD,DUE:()=>Un.DU,qqX:()=>Dn.qq,nbT:()=>Dn.nb,_Vf:()=>go._V,lQj:()=>_n.lQ,B4z:()=>G.B4z,zOq:()=>Ze.zO,Cv0:()=>G.Cv0,umq:()=>pt.u,MgU:()=>lt.M,bzs:()=>Rn.bz,Lki:()=>_r.Lk,B_w:()=>_r.B_,Ql7:()=>Pn.Ql,b2f:()=>Gn.b2,HoT:()=>si,rGU:()=>Fn,im9:()=>dn.im,faX:()=>_n.f,ay7:()=>G.ay7,FX3:()=>Ne.F,OON:()=>Ce.OO,_RN:()=>dn._R,HjG:()=>G.HjG,enm:()=>Ft.e,pDb:()=>gs.p,yLo:()=>Pn.yL,rcS:()=>Ht.rc,QP$:()=>G.QP$,f73:()=>_n.f7,Z9m:()=>Ce.Z9,Tq5:()=>Ce.Tq,nCs:()=>Ce.nC,Pqy:()=>Ce.Pq,Cg6:()=>Pn.Cg,h5R:()=>Pn.h5,c2l:()=>Ht.c2,MeQ:()=>Ht.Me,yJs:()=>Ht.yJ,dOZ:()=>Ht.dO,n96:()=>Ht.n9,a7o:()=>Ht.a7,A$m:()=>Dn.A$,ClN:()=>At.Cl,BSV:()=>_n.BS,r21:()=>Ht.r2,RZv:()=>_n.RZ,VCb:()=>Ht.VC,C3T:()=>Pn.C3,_ri:()=>Ht._r,EDS:()=>_n.ED,$wn:()=>Ht.$w,ZZv:()=>Pn.ZZ,xYq:()=>Ht.xY,I2J:()=>_n.I2,tEe:()=>_n.tE,yd9:()=>Ht.yd,Sx9:()=>en.Sx,kG8:()=>en.kG,y1F:()=>_n.y1,WC5:()=>Ht.WC,$Hl:()=>_n.$H,IQP:()=>_n.IQ,STY:()=>Pn.ST});var e=t(61142),n=t(51006),E=t(56106),O=t(65240),B=t(26537),P=t(47766),k=t(80583),U=t(17053);var A=t(78812);const l={PopUpDialogShown:{name:"PopUpDialogShown",gdprLevel:A.EU.Functional},PopUpDialogClosed:{name:"PopUpDialogClosed",gdprLevel:A.EU.Technical}};var I=function(be){return be.UNDEFINED="UNDEFINED",be.TRUE="TRUE",be.FALSE="FALSE",be}(I||{}),S=function(be){return be.App_Exit="App_Exit",be.Dialog_Closed="Dialog_Closed",be.Goto_Settings="Goto_Settings",be}(S||{}),L=function(be){return be.Release_Highlights="Release_Highlights",be.Account_Link_Required="Account_Link_Required",be.Account_Link_Expired="Account_Link_Expired",be.Account_Link_Expires_Today="Account_Link_Expires_Today",be.Account_Link_Expires_Soon="Account_Link_Expires_Soon",be.Unknown="Unknown",be}(L||{});class s extends A.YH{constructor(Te){super(Te),this.name=l.PopUpDialogShown.name,this.gdprLevel=l.PopUpDialogShown.gdprLevel}}class M extends A.YH{constructor(Te){super(Te),this.name=l.PopUpDialogClosed.name,this.gdprLevel=l.PopUpDialogClosed.gdprLevel}}var u=t(26875),x=t(4208),p=t(65706),i=t(58527),o=t(19061),_=t(44968),f=t(76706),J=t(3457),a=t(28139),D=t(29370),te=t(99204),N=t(47973),z=t(44224),R=t(2218),v=t(60990),h=t(81247),W=t(25369),ne=t(40514),ee=t(79858),b=t(31308),w=t(33328);const F=["articleContentContainer"];function Z(be,Te){1&be&&(i.j41(0,"div",6),i.nrm(1,"mat-progress-spinner",7),i.k0s())}function se(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"div",17)(1,"button",18),i.bIt("click",function(){i.eBV(Ke);const re=i.XpG(3);return i.Njj(re.closeDialog())}),i.nrm(2,"mat-icon",19),i.k0s()()}}function Y(be,Te){if(1&be&&(i.j41(0,"span",20),i.EFF(1),i.nI1(2,"translate"),i.k0s()),2&be){const Ke=i.XpG(3);i.R7$(),i.JRh(i.bMT(2,1,Ke.articleDataParams.subTitle))}}function q(be,Te){1&be&&i.nrm(0,"div",21)}function T(be,Te){if(1&be&&(i.nrm(0,"span",22),i.nI1(1,"trustAsHtml")),2&be){const Ke=i.XpG(3);i.Y8G("innerHTML",i.bMT(1,2,Ke.articleDataParams.content),i.npT),i.BMQ("tabindex",Ke.scrollable?0:null)}}function H(be,Te){1&be&&i.nrm(0,"div",23)}function y(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"div")(1,"div",8)(2,"span",9),i.EFF(3),i.nI1(4,"translate"),i.k0s(),i.DNE(5,se,3,0,"div",10),i.k0s(),i.nrm(6,"mat-divider"),i.DNE(7,Y,3,3,"span",11),i.j41(8,"div",12),i.DNE(9,q,1,0,"div",13),i.k0s(),i.j41(10,"mat-dialog-content",14,0),i.bIt("scroll",function(re){i.eBV(Ke);const me=i.XpG(2);return i.Njj(me.onScroll(re))}),i.DNE(12,T,2,4,"span",15),i.k0s(),i.DNE(13,H,1,0,"div",16),i.k0s()}if(2&be){const Ke=i.XpG(2);i.R7$(3),i.JRh(i.bMT(4,7,Ke.articleDataParams.title)),i.R7$(2),i.Y8G("ngIf",Ke.closeButtonVisible),i.R7$(2),i.Y8G("ngIf",Ke.articleDataParams.subTitle),i.R7$(2),i.Y8G("ngIf",Ke.showTopOverlay),i.R7$(),i.Y8G("enableLongPressScroll",Ke.scrollable),i.R7$(2),i.Y8G("ngIf",Ke.articleDataParams.content),i.R7$(),i.Y8G("ngIf",Ke.showBottomOverlay)}}function X(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"div",3),i.bIt("click",function(){i.eBV(Ke);const re=i.XpG();return i.Njj(re.OnDialogClick())}),i.DNE(1,Z,2,0,"div",4)(2,y,14,9,"div",5),i.k0s()}if(2&be){const Ke=i.XpG();i.Y8G("ngClass",Ke.articleDataParams.style),i.R7$(),i.Y8G("ngIf",Ke.waiting),i.R7$(),i.Y8G("ngIf",!Ke.waiting)}}let c=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt){this.el=m,this.genericDialog=me,this.telemetryService=Ie,this.applicationLifetimeService=Ve,this.dialogRef=Je,this.articleDataParams=it,this.systemInfoService=St,this.breakpointObserver=xt,this.waiting=!0,this.loadingContent=!0,this.showBottomOverlay=!1,this.showTopOverlay=!1,this.showDialog=!1,this.closeButtonVisible=!1,this.scrollable=!1,this.maxScrollPercent=0,this.dialogShownStartTime=0,this.dialogClickedCount=0,this.isTelemetrySent=!1,this.destroy$=new k.B7,this.logger=re.getLogger("information-dialog"),this.logger.info("component created"),this.closeButtonVisible=null==it?void 0:it.enableCloseButton,Je.disableClose=!0,this.isSmallScreen=this.breakpointObserver.isMatched(P.hi.IPhone)}ngOnInit(){this.breakpointObserver.observe([P.hi.IPhone]).pipe((0,x.Q)(this.destroy$)).subscribe(m=>{this.isSmallScreen=m.matches}),this.waiting=!0,this.articleDataParams.style="article-content",this.articleSubscription=this.articleDataParams.getArticleCallback().subscribe(m=>{this.waiting=!1,this.dialogShownStartTime=Date.now(),m&&m.body?(this.articleDataParams.title=m.title,this.articleDataParams.subTitle=m.subTitle,this.articleDataParams.content=m.body,this.articleDataParams.style=m.style,this.showBottomOverlay=!0,this.currentDialogName=this.articleDataParams.dialogType,this.showDialog=!0,this.sendDialogShownTelemetry(),this.handleFocusWithScrollbar()):(this.error=!0,this.logger.error("get article returned null"),this.showErrorDialog())},m=>{this.waiting=!1,this.error=!0,this.logger.error("get article information failed with error: ",m),"1"!==this.articleDataParams.isInstallationScenario||(0,u.isNil)(m.status)?this.showErrorDialog():this.dialogRef.close()}),this.applicationLifetimeService.addWorkOnShutdown(()=>new U.c(m=>{m.next(this.sendDialogClosedTelemetry(S.App_Exit)),m.complete()}))}showErrorDialog(){const m=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{icon:"info",bodyText:{text:"releaseHighlights.noInformationAvailable"},primaryButton:{text:"common.close"}}});m.afterClosed().pipe((0,x.Q)(this.destroy$)).subscribe(()=>{this.dialogRef.close()}),m.primaryButtonClick.pipe((0,p.s)(1)).subscribe(()=>m.close()),!(0,u.isNil)(m)&&this.articleDataParams.autoCloseOnError&&setTimeout.call(m,()=>{m.close()},3e3)}onScroll(m){m.stopPropagation(),m.preventDefault();const re=Math.round((m.target.scrollTop+m.target.clientHeight)/m.target.scrollHeight*100);re>this.maxScrollPercent&&(this.maxScrollPercent=re),setTimeout(()=>{this.showTopOverlay=m.target.scrollTop>0,this.showBottomOverlay=re<100})}closeDialog(){this.dialogRef.close()}sendDialogShownTelemetry(){const m=new s({name:this.currentDialogName||L.Unknown});this.telemetryService.push(m)}handleFocusWithScrollbar(){setTimeout(()=>{var m,re;const me=null===(m=this.articleContentContainerElement)||void 0===m||null===(m=m.nativeElement)||void 0===m?void 0:m.clientHeight,Ie=null===(re=this.articleContentContainerElement)||void 0===re||null===(re=re.nativeElement)||void 0===re?void 0:re.scrollHeight;this.scrollable=!me||!Ie||Ie>me,this.logger.info(`containerHeight: ${me}, scrollHeight: ${Ie}, dialog is scrollable: ${this.scrollable}`)})}sendDialogClosedTelemetry(m){if(!this.error&&!this.isTelemetrySent){const re=new M({name:this.currentDialogName||L.Unknown,totalMs:0,scrolled:0!==this.maxScrollPercent?I.TRUE:I.FALSE,inWindowClicks:this.dialogClickedCount,exitTriggerPoint:m,checkBoxChecked:I.FALSE});this.telemetryService.push(re,this.dialogShownStartTime,{immediateRequest:!0}),this.isTelemetrySent=!0}}OnDialogClick(){this.dialogClickedCount++}ngOnDestroy(){this.logger.info("destroying article-content dialog"),this.sendDialogClosedTelemetry(S.Dialog_Closed),this.articleSubscription&&this.articleSubscription.unsubscribe(),this.destroy$.next(!0),this.destroy$.complete()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(i.aKT),i.rXU(P.J6),i.rXU(o.uh),i.rXU(A.H0),i.rXU(_.lM),i.rXU(B.CP),i.rXU(B.Vh),i.rXU(P.zW),i.rXU(f.QP))},be.\u0275cmp=i.VBU({type:be,selectors:[["nv-information-dialog"]],viewQuery:function(m,re){if(1&m&&i.GBs(F,5),2&m){let me;i.mGM(me=i.lsd())&&(re.articleContentContainerElement=me.first)}},decls:2,vars:1,consts:[["articleContentContainer",""],["nvSpatialNavigationContainer","","nvTrapFocus","","nvBackToCloseModal",""],["fxLayout","column","class","article-dialog",3,"ngClass","click",4,"ngIf"],["fxLayout","column",1,"article-dialog",3,"click","ngClass"],["fxFlex","","fxFill","","fxLayoutAlign","center center","class","waiting-overlay",4,"ngIf"],[4,"ngIf"],["fxFlex","","fxFill","","fxLayoutAlign","center center",1,"waiting-overlay"],["id","progressIndicator","color","accent","mode","indeterminate","strokeWidth","5","diameter","35","value","15",1,"mat-accent"],["fxLayout","row","fxLayoutAlign","start center"],[1,"font-header6"],["fxFlex","","fxLayoutAlign","end center",4,"ngIf"],["class","font-sub1",4,"ngIf"],[1,"constants-position-relative"],["class","common-overlay scroll-overlay-top-gradient",4,"ngIf"],["cdkMonitorSubtreeFocus","","nvLongPressScroller","","orientation","vertical",3,"scroll","enableLongPressScroll"],["class","mat-primary mat-hue-2",3,"innerHTML",4,"ngIf"],["class","common-overlay scroll-overlay-bottom-gradient",4,"ngIf"],["fxFlex","","fxLayoutAlign","end center"],["mat-icon-button","",3,"click"],["svgIcon","close"],[1,"font-sub1"],[1,"common-overlay","scroll-overlay-top-gradient"],[1,"mat-primary","mat-hue-2",3,"innerHTML"],[1,"common-overlay","scroll-overlay-bottom-gradient"]],template:function(m,re){1&m&&(i.j41(0,"div",1),i.DNE(1,X,3,3,"div",2),i.k0s()),2&m&&(i.R7$(),i.Y8G("ngIf",re.showDialog))},dependencies:[e.YU,e.bT,J.DJ,J.sA,J.G2,J.UI,a.PW,B.Yi,D.An,te.LG,N.iV,z.q,R.R,v.r,h.D,W.D,ne.e,ee.x,b.vR,w.O,O.D9],styles:[':root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}html,body{margin:0}img{-webkit-user-drag:none}.no-wrap{white-space:nowrap}@font-face{font-family:"Material Icons 2";font-style:normal;font-weight:400;font-display:block;src:url(assets/hashed/MaterialIcons-Regular.1e50f5c2ffa6aba4.eot),url(assets/hashed/MaterialIcons-Regular.7ea2023eeca07427.woff2) format("woff2"),url(assets/hashed/MaterialIcons-Regular.db852539204b1a34.woff) format("woff"),url(assets/hashed/MaterialIcons-Regular.196fa4a92dd6fa73.ttf) format("truetype")}.common-window .material-icons{font-family:"Material Icons 2"}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape),(max-width: 479px),(min-width: 480px) and (max-width: 719px){.cdk-global-overlay-wrapper>.nv-overlay-panel{max-width:calc(100vw - 32px)!important}}.constants-position-relative{position:relative}.constants-display-none{display:none}:host-context(.isRtl) .flip-rtl-element{transform:scaleX(-1)}html[dir=rtl] .flip-rtl-element{--dummy: 0;transform:scaleX(-1)}.hotkey-border{border:1px solid #ffffff;padding:4px 8px;font-weight:500;line-height:32px;margin:4px}.common-overlay{position:absolute;right:0;left:0;display:flex;top:0;bottom:0;z-index:1;background-color:#000000bf}.common-overlay.light-background{background-color:#00000080}.common-overlay.no-background{background-color:transparent}button mat-icon{display:block;color:#ffffffb3}.article-dialog{min-width:408px;max-width:560px;max-height:538px;overflow-x:hidden;border-radius:0;padding:24px}mat-content,mat-dialog-content{overflow-y:overlay;overflow-x:hidden}.article-dialog mat-dialog-content{font-size:12px;font-weight:400;color:#fff9;padding:24px;width:inherit;overflow-x:hidden}.article-dialog.article-content mat-dialog-content{overflow-x:hidden;margin:0 0 5px;padding:0}.article-dialog.article-content{background-image:none;max-height:80vh;min-height:250px;min-width:560px;max-width:678px;transition:all;transform:translate(0) scale(1);animation-delay:0s;transition-delay:0s}@media (max-width: 599px){.article-dialog.article-content{min-width:0}}.article-dialog.dialog-service-container-size{background-image:none;max-height:80vh;min-height:250px;width:560px;max-width:678px;position:relative;transition:all;transform:translate(0) scale(1);animation-delay:0s;transition-delay:0s;background-color:#292929;overflow-y:hidden}.dialog-service-container-size a{border-bottom:1px solid var(--hig-link-border-bottom-color);white-space:nowrap;color:#76b900;opacity:1;text-decoration:none}.dialog-service-container-size a:hover{cursor:pointer;outline:none;color:var(--hig-link-hover-color);border-bottom:1px var(--hig-link-hover-border-bottom-style) var(--hig-link-hover-border-bottom-color)}.dialog-service-container-size a.cdk-program-focused,.dialog-service-container-size a.cdk-keyboard-focused,.cdk-keyboard-focused .dialog-service-container-size a:focus,.cdk-program-focused .dialog-service-container-size a:focus{position:relative;--outset: -1px ;--focus-background: rgba(118, 185, 0, .32)}.dialog-service-container-size a.cdk-program-focused:before,.dialog-service-container-size a.cdk-keyboard-focused:before,.cdk-keyboard-focused .dialog-service-container-size a:focus:before,.cdk-program-focused .dialog-service-container-size a:focus:before{content:"";position:absolute;top:var(--outset);right:var(--outset);bottom:var(--outset);left:var(--outset);animation:backgroundColorFadeIn .75s forwards}.dialog-service-container-size a.cdk-program-focused:after,.dialog-service-container-size a.cdk-keyboard-focused:after,.cdk-keyboard-focused .dialog-service-container-size a:focus:after,.cdk-program-focused .dialog-service-container-size a:focus:after{background-color:unset}@keyframes backgroundColorFadeIn{0%{background-color:transparent}to{background-color:var(--focus-background)}}.dialog-service-container-size a:active{opacity:.45}.dialog-service-container-size img{width:512px}.article-dialog.dialog-service-container-size .common-overlay{display:none}.article-dialog.dialog-service-container-size mat-divider{margin-top:16px;margin-bottom:16px}.common-window .dialog-no-transition{transition:none}.article-dialog .scroll-overlay-top-gradient{height:30px;background:linear-gradient(#1c1c1c,#1c1c1c00);top:0}:host-context(.isLtr) .article-dialog .scroll-overlay-top-gradient{margin-left:24px}html[dir=ltr] .article-dialog .scroll-overlay-top-gradient{--dummy3: 0;margin-left:24px}:host-context(.isRtl) .article-dialog .scroll-overlay-top-gradient{margin-right:24px}html[dir=rtl] .article-dialog .scroll-overlay-top-gradient{--dummy3: 0;margin-right:24px}:host-context(.isLtr) .article-dialog .scroll-overlay-top-gradient{margin-right:24px}html[dir=ltr] .article-dialog .scroll-overlay-top-gradient{--dummy4: 0;margin-right:24px}:host-context(.isRtl) .article-dialog .scroll-overlay-top-gradient{margin-left:24px}html[dir=rtl] .article-dialog .scroll-overlay-top-gradient{--dummy4: 0;margin-left:24px}.article-dialog .scroll-overlay-bottom-gradient{height:30px;background:linear-gradient(#1c1c1c00,#1c1c1c);bottom:24px;top:auto}:host-context(.isLtr) .article-dialog .scroll-overlay-bottom-gradient{margin-left:24px}html[dir=ltr] .article-dialog .scroll-overlay-bottom-gradient{--dummy3: 0;margin-left:24px}:host-context(.isRtl) .article-dialog .scroll-overlay-bottom-gradient{margin-right:24px}html[dir=rtl] .article-dialog .scroll-overlay-bottom-gradient{--dummy3: 0;margin-right:24px}:host-context(.isLtr) .article-dialog .scroll-overlay-bottom-gradient{margin-right:24px}html[dir=ltr] .article-dialog .scroll-overlay-bottom-gradient{--dummy4: 0;margin-right:24px}:host-context(.isRtl) .article-dialog .scroll-overlay-bottom-gradient{margin-left:24px}html[dir=rtl] .article-dialog .scroll-overlay-bottom-gradient{--dummy4: 0;margin-left:24px}.mat-mdc-dialog-container{padding-top:32px;z-index:82;transform:none;opacity:1;padding-bottom:24px;background-color:#191919;color:#fff;overflow:hidden}::selection{background:#478b06}.article-dialog mat-dialog-content:last-child,.article-dialog mat-dialog-content ng-form:last-child{margin-bottom:0}.article-dialog mat-dialog-content p:first-child{margin-top:0}.article-dialog mat-dialog-content .last-dialog-child{margin-bottom:0}.article-dialog mat-dialog-content.cdk-keyboard-focused,.article-dialog mat-dialog-content.cdk-program-focused{background-color:#ffffff52;transition:background-color .75s ease}.waiting-overlay{background-color:#0e0e0eb3}@media (max-width: 599.98px) and (orientation: portrait),(min-width: 480px) and (max-width: 719px){.article-dialog.dialog-service-container-size{max-height:100vh;width:100vw;height:100vh;max-width:100vw}.article-dialog,.article-dialog.article-content{min-width:320px;max-height:100vh;min-height:320px;max-width:100vw}.cdk-global-overlay-wrapper .small-screen-overlay-panel{max-width:100vw!important}}@media (max-width: 599.98px) and (orientation: portrait){.article-dialog mat-dialog-content{max-height:75vh}.dialog-service-container-size img{width:100%}}@media (max-width: 959.98px) and (orientation: landscape){.article-dialog mat-dialog-content{max-height:60vh}:host-context(.isLtr) .article-dialog.dialog-service-container-size{padding-left:max(env(safe-area-inset-left),24px)}html[dir=ltr] .article-dialog.dialog-service-container-size{--dummy1: 0;padding-left:max(env(safe-area-inset-left),24px)}:host-context(.isRtl) .article-dialog.dialog-service-container-size{padding-right:max(env(safe-area-inset-left),24px)}html[dir=rtl] .article-dialog.dialog-service-container-size{--dummy1: 0;padding-right:max(env(safe-area-inset-left),24px)}:host-context(.isLtr) .article-dialog.dialog-service-container-size{padding-right:max(env(safe-area-inset-right),24px)}html[dir=ltr] .article-dialog.dialog-service-container-size{--dummy2: 0;padding-right:max(env(safe-area-inset-right),24px)}:host-context(.isRtl) .article-dialog.dialog-service-container-size{padding-left:max(env(safe-area-inset-right),24px)}html[dir=rtl] .article-dialog.dialog-service-container-size{--dummy2: 0;padding-left:max(env(safe-area-inset-right),24px)}}.tv-view ::-webkit-scrollbar{width:16px}.tv-view .article-dialog{padding:32px}.tv-view .dialog-service-container-size img{width:100%}.tv-view .article-dialog.dialog-service-container-size{max-height:none;height:auto;width:925px;max-width:1920px}.tv-view .article-dialog.dialog-service-container-size mat-divider{margin-top:32px;margin-bottom:32px}\n'],encapsulation:2}),Te})(),g=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[e.MD,E.YN,n.YF,B.hM,D.m_,te.D6,N.wG,z.w,P._N,o.bm,b.Pd,O.h.forChild(),e.MD,E.YN]}),Te})();var d=t(94073);let C=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[e.MD,O.h,d.i,N.wG,n.YF,o.bm]}),Te})();var Q=t(8351),j=t(43848),le=t(35146),ge=t(93181),ie=t(91384),ce=t(75707),G=t(18433),ue=t(81834),ae=t(36206),Ce=t(58202),Se=t(26114),Ne=t(18587),we=t(80561),ve=t(40996),Pe=t(66974),Oe=t(4418),Be=t(54676),tt=t(98504),Ee=t(97888);const ot=["welcomeContentContainer"],We=["welcomeContent"],Qe=be=>({"anon-user":be}),Fe=be=>({"gray-out":be}),Xe=be=>({privacyCenterLink:be}),_e=be=>({privacyPolicyLink:be}),He=be=>({termsOfUseLink:be}),De=be=>({cookiePolicyLink:be});function Re(be,Te){if(1&be&&(i.nrm(0,"h1",14),i.nI1(1,"translate")),2&be){const Ke=i.XpG();i.Y8G("innerHTML",i.i5U(1,1,"oobe.gfnVersionText",Ke.gfnVersionText),i.npT)}}function K(be,Te){if(1&be&&(i.j41(0,"div",15),i.nrm(1,"mat-icon",16),i.k0s()),2&be){const Ke=i.XpG();i.R7$(),i.Y8G("ngClass",i.eq3(1,Fe,!Ke.highlightScrollUpIndicator))}}function ke(be,Te){if(1&be&&(i.nrm(0,"h1",14),i.nI1(1,"translate")),2&be){const Ke=i.XpG();i.Y8G("innerHTML",i.i5U(1,1,"oobe.gfnVersionText",Ke.gfnVersionText),i.npT)}}function Ue(be,Te){if(1&be&&(i.nrm(0,"p",17),i.nI1(1,"translate")),2&be){const Ke=i.XpG(2);i.Y8G("innerHTML",i.i5U(1,2,"oobe.oobeCookiePolicyText",i.eq3(5,De,Ke.cookiePolicyLink)),i.npT)("shortUrl",Ke.cookiePolicyShortUrl)}}function et(be,Te){if(1&be&&(i.j41(0,"span")(1,"p"),i.nrm(2,"span",17),i.nI1(3,"translate"),i.k0s(),i.j41(4,"p"),i.nrm(5,"span",17),i.nI1(6,"translate"),i.k0s(),i.DNE(7,Ue,2,7,"p",18),i.j41(8,"p"),i.nrm(9,"span",17),i.nI1(10,"translate"),i.k0s()()),2&be){const Ke=i.XpG();i.R7$(2),i.Y8G("innerHTML",i.i5U(3,7,"oobe.oobeText",i.eq3(16,Xe,Ke.privacyCenterLink)),i.npT)("shortUrl",Ke.privacyCenterShortUrl),i.R7$(3),i.Y8G("innerHTML",i.i5U(6,10,"oobe.oobePrivacyText",i.eq3(18,_e,Ke.privacyPolicyLink)),i.npT)("shortUrl",Ke.privacyPolicyShortUrl),i.R7$(2),i.Y8G("ngIf",Ke.isBrowserPlatform),i.R7$(2),i.Y8G("innerHTML",i.i5U(10,13,"oobe.agreeToTermsOfUse",i.eq3(20,He,Ke.termsOfUseLink)),i.npT)("shortUrl",Ke.termsOfUseShortUrl)}}function gt(be,Te){1&be&&(i.j41(0,"p"),i.EFF(1),i.nI1(2,"translate"),i.k0s()),2&be&&(i.R7$(),i.JRh(i.bMT(2,1,"oobe.ecomRestricted.oobeCookiePolicyText")))}function vt(be,Te){if(1&be&&(i.j41(0,"span")(1,"p"),i.EFF(2),i.nI1(3,"translate"),i.k0s(),i.j41(4,"p"),i.EFF(5),i.nI1(6,"translate"),i.k0s(),i.DNE(7,gt,3,3,"p",10),i.j41(8,"p"),i.EFF(9),i.nI1(10,"translate"),i.k0s()()),2&be){const Ke=i.XpG();i.R7$(2),i.JRh(i.bMT(3,4,"oobe.ecomRestricted.oobeText")),i.R7$(3),i.JRh(i.bMT(6,6,"oobe.ecomRestricted.oobePrivacyText")),i.R7$(2),i.Y8G("ngIf",Ke.isBrowserPlatform),i.R7$(2),i.JRh(i.bMT(10,8,"oobe.ecomRestricted.agreeToTermsOfUse"))}}function Mt(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"div",19),i.nrm(1,"mat-divider"),i.j41(2,"mat-checkbox",20),i.mxI("ngModelChange",function(re){i.eBV(Ke);const me=i.XpG();return i.DH7(me.anonUserConsent,re)||(me.anonUserConsent=re),i.Njj(re)}),i.j41(3,"span",21),i.EFF(4),i.nI1(5,"translate"),i.k0s()()()}if(2&be){const Ke=i.XpG();i.R7$(2),i.R50("ngModel",Ke.anonUserConsent),i.R7$(2),i.SpI(" ",i.bMT(5,2,"oobe.oobeAnonUserConsent"),"")}}function Rt(be,Te){if(1&be&&(i.j41(0,"div",15),i.nrm(1,"mat-icon",22),i.k0s()),2&be){const Ke=i.XpG();i.R7$(),i.Y8G("ngClass",i.eq3(1,Fe,!Ke.highlightScrollUpDownIndicator))}}let Ut=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt,Zt){this.oobeService=me,this.telemetryService=Ie,this.userConsentService=Ve,this.oobeTelemetryService=Je,this.gfnSdkService=it,this.guestModeHelperService=St,this.spatialNavigationService=xt,this.redirectService=Zt,this.gfnVersionText={productVersion:""},this.privacyPolicyShortUrl=ae.lp[ae.r7.PrivacyPolicy],this.cookiePolicyShortUrl=ae.lp[ae.r7.CookiePolicy],this.termsOfUseShortUrl=ae.lp[ae.r7.TermsConditions],this.privacyCenterShortUrl=ae.lp[ae.r7.PrivacyCenter],this.welcomeContentViewed=!0,this.welcomeContentVisible=!0,this.anonUserConsent=!1,this.highlightScrollUpIndicator=!1,this.highlightScrollUpDownIndicator=!1,this.canHardUpsell=!0,this.agreeButtonClick=new i.bkB,this.logger=m.getLogger("OobeWelcomeComponent"),this.canHardUpsell=re.canHardUpsell(),this.isBrowserPlatform=P.zk.isBrowserPlatform(),this.isAnonUser$=this.guestModeHelperService.isGuestMode?(0,j.of)(!1):this.gfnSdkService.getIsAnonymousUser(),this.destroy$=new k.B7}ngOnInit(){this.gfnVersionText.productVersion=this.oobeService.getProductVersion,this.parentScreen=this.telemetryService.getScreen(),this.telemetryService.setScreen(G.MCB.ScreenOobeWelcome);const m=this.redirectService.getRedirectUrl(ae.r7.PrivacyPolicy).pipe((0,p.s)(1)),re=this.redirectService.getRedirectUrl(ae.r7.TermsConditions).pipe((0,p.s)(1)),me=this.redirectService.getRedirectUrl(ae.r7.CookiePolicy).pipe((0,p.s)(1)),Ie=this.redirectService.getRedirectUrl(ae.r7.PrivacyCenter).pipe((0,p.s)(1));(0,le.yU)(m,re,me,Ie).pipe((0,x.Q)(this.destroy$)).subscribe(([Ve,Je,it,St])=>{const xt="font-body2-link";this.privacyPolicyLink=`href="${Ve}" class="${xt}"`,this.cookiePolicyLink=`href="${it}" class="${xt}"`,this.termsOfUseLink=`href="${Je}" class="${xt} no-wrap"`,this.privacyCenterLink=`href="${St}" class="${xt}"`}),this.userConsentService.getAnonUserConsentData().pipe((0,x.Q)(this.destroy$)).subscribe(Ve=>{var Je;this.anonUserConsent=(null===(Je=Ve.userConsent)||void 0===Je?void 0:Je.technical)===A.Rg.Full})}ngAfterViewInit(){this.spatialNavigationService.setStartingPoint(this.welcomeContentElement.nativeElement.firstElementChild),ue._4.onResize(this.welcomeContentElement.nativeElement).pipe((0,x.Q)(this.destroy$)).subscribe(m=>this.checkIfWelcomeContentViewed()),setTimeout(()=>{this.checkIfWelcomeContentViewed()})}onScrollWelcomeContent(){this.checkIfWelcomeContentViewed()}onOrientationChange(){this.welcomeContentContainerElement.nativeElement.scrollTop=0}checkIfWelcomeContentViewed(){const m=this.welcomeContentContainerElement.nativeElement.getBoundingClientRect(),re=this.welcomeContentElement.nativeElement.getBoundingClientRect(),me=m.bottom,Je=re.bottom;this.welcomeContentVisible=Je<=me&&re.top>=m.top,this.welcomeContentViewed=Je-1<=me,this.tvMode&&(this.highlightScrollUpIndicator=!(0===this.welcomeContentContainerElement.nativeElement.scrollTop),this.highlightScrollUpDownIndicator=!this.welcomeContentViewed)}agreeAndContinue(){let m=null,re=null;this.logger.info("oobe, welcome screen - agree and continue clicked"),this.saveTermsSubscription=(0,ge.p)({saveTouResponse:this.oobeService.saveTermsOfUseAcceptedVersion(),isAnonUser:this.isAnonUser$}).pipe((0,ie.M)(me=>{this.logger.info("Success writing accepted version"+me.saveTouResponse),this.oobeTelemetryService.oobeCompleted=!0}),(0,ce.ZZ)(me=>(m=me.isAnonUser,me.isAnonUser?(this.logger.info("oobe welcome setAnonUserConsentData. TechnicalConsent="+this.anonUserConsent),re=this.anonUserConsent?A.Xj:A.bC,this.userConsentService.setAnonUserConsentData(re)):(this.logger.event("oobe welcome setDefaultConsentData"),re=this.guestModeHelperService.isGuestMode?A.FE:A.bC,this.userConsentService.setDefaultConsentData(re))))).pipe((0,p.s)(1)).subscribe(()=>{this.logger.info("Successfully set default consent data"),this.oobeTelemetryService.sendOobeAcceptEvent(G.uKc.OobeAgreeAndContinue,m,re.technical),this.agreeButtonClick.emit()},me=>{this.logger.error("Failed to set default consent data",me)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete(),this.saveTermsSubscription&&this.saveTermsSubscription.unsubscribe(),this.telemetryService.setScreen(this.parentScreen)}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(P.J6),i.rXU(Ce.yJ),i.rXU(Se.Z),i.rXU(A.H0),i.rXU(Ne.F),i.rXU(we.M),i.rXU(ve.DL),i.rXU(Pe.x),i.rXU(o.ED),i.rXU(ae.Q5))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-oobe-welcome"]],viewQuery:function(m,re){if(1&m&&(i.GBs(ot,5),i.GBs(We,5)),2&m){let me;i.mGM(me=i.lsd())&&(re.welcomeContentContainerElement=me.first),i.mGM(me=i.lsd())&&(re.welcomeContentElement=me.first)}},hostBindings:function(m,re){1&m&&i.bIt("orientationchange",function(){return re.onOrientationChange()},!1,i.tSv)},inputs:{tvMode:"tvMode"},outputs:{agreeButtonClick:"agreeButtonClick"},decls:25,vars:24,consts:[["welcomeContentContainer",""],["welcomeContent",""],["fxFlex","","fxLayout","column","nvSpatialNavigationContainer","","nvTrapFocus","",1,"container"],["fxFlex","1 0 0",1,"welcome-header-container"],[1,"header-logo"],["svgIcon","gfnBranding"],["class","font-header6",3,"innerHTML",4,"ngIf"],["class","indicator-icon","fxLayout","row","fxLayoutAlign","center center",4,"ngIf"],["fxFlex","8 0 0","nvLongPressScroller","","orientation","vertical","reachBoundary","end","tabindex","0",1,"welcome-content-container",3,"scroll"],[1,"welcome-text","font-body2"],[4,"ngIf"],["fxFlex","none","fxLayout","column","class","anon-user-consent-container nv-hig",4,"ngIf"],[1,"welcome-footer-container",3,"ngClass"],["mat-raised-button","","id","agreeAndContinueButton",1,"oobe-action-button","font-button2",3,"click","nvFocusRipple","disabled"],[1,"font-header6",3,"innerHTML"],["fxLayout","row","fxLayoutAlign","center center",1,"indicator-icon"],["svgIcon","carrot_up",3,"ngClass"],["cdkMonitorSubtreeFocus","",3,"innerHTML","shortUrl"],["cdkMonitorSubtreeFocus","",3,"innerHTML","shortUrl",4,"ngIf"],["fxFlex","none","fxLayout","column",1,"anon-user-consent-container","nv-hig"],["fxLayoutFill","",1,"anon-user-consent-checkbox",3,"ngModelChange","ngModel"],[1,"font-body2"],["svgIcon","carrot_down",3,"ngClass"]],template:function(m,re){if(1&m){const me=i.RV6();i.j41(0,"div",2)(1,"div",3)(2,"div",4),i.nrm(3,"mat-icon",5),i.k0s(),i.DNE(4,Re,2,4,"h1",6)(5,K,2,3,"div",7),i.k0s(),i.j41(6,"div",8,0),i.bIt("scroll",function(){return i.eBV(me),i.Njj(re.onScrollWelcomeContent())}),i.DNE(8,ke,2,4,"h1",6),i.j41(9,"div",9,1)(11,"p")(12,"span"),i.EFF(13),i.nI1(14,"translate"),i.k0s()(),i.DNE(15,et,11,22,"span",10)(16,vt,11,10,"span",10),i.k0s()(),i.DNE(17,Mt,6,4,"div",11),i.nI1(18,"async"),i.j41(19,"div",12),i.nI1(20,"async"),i.DNE(21,Rt,2,3,"div",7),i.j41(22,"button",13),i.bIt("click",function(){return i.eBV(me),i.Njj(re.agreeAndContinue())}),i.EFF(23),i.nI1(24,"translate"),i.k0s()()()}2&m&&(i.R7$(4),i.Y8G("ngIf",!re.tvMode),i.R7$(),i.Y8G("ngIf",re.tvMode&&!re.welcomeContentVisible),i.R7$(),i.xc7("overflow-y",re.welcomeContentVisible?"hidden":"auto"),i.R7$(2),i.Y8G("ngIf",re.tvMode),i.R7$(5),i.JRh(i.bMT(14,14,"oobe.oobeStatement")),i.R7$(2),i.Y8G("ngIf",re.canHardUpsell),i.R7$(),i.Y8G("ngIf",!re.canHardUpsell),i.R7$(),i.Y8G("ngIf",i.bMT(18,16,re.isAnonUser$)),i.R7$(2),i.Y8G("ngClass",i.eq3(22,Qe,i.bMT(20,18,re.isAnonUser$))),i.R7$(2),i.Y8G("ngIf",re.tvMode&&!re.welcomeContentVisible),i.R7$(),i.Y8G("nvFocusRipple",!1)("disabled",!re.welcomeContentViewed),i.R7$(),i.SpI(" ",i.bMT(24,20,"oobe.agreeAndContinue")," "))},dependencies:[e.YU,e.bT,E.BC,E.vS,J.DJ,J.sA,J.UI,a.PW,N.iV,Oe.So,z.q,D.An,R.R,Be.tG,v.r,h.D,tt.nM,ne.e,Ee.Aq,ee.x,b.vR,e.Jj,O.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.container[_ngcontent-%COMP%]{outline:none}.welcome-header-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin-top:14px;margin-bottom:14px}.welcome-content-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px}.welcome-content-container[_ngcontent-%COMP%]::-webkit-scrollbar-track{box-shadow:none}.header-logo[_ngcontent-%COMP%]{width:fit-content;height:fit-content}.header-logo[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{display:block;width:186px;height:56px}.welcome-text[_ngcontent-%COMP%]{display:inline-block;color:#ffffffbf}.welcome-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:24px;margin-top:14px;margin-bottom:14px}.welcome-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.anon-user-consent-container[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden;margin-bottom:16px}.anon-user-consent-container[_ngcontent-%COMP%] .mat-divider[_ngcontent-%COMP%]{margin-bottom:24px}.welcome-footer-container[_ngcontent-%COMP%]{margin-top:8px;margin-bottom:8px}.welcome-footer-container.anon-user[_ngcontent-%COMP%]{margin-top:36px}.welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%]{margin:8px 0;padding:0 8px;min-width:auto;height:36px;border:none;background-color:#393939;box-shadow:none}.isLtr[_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%]{float:right}html[dir=ltr][_ngcontent-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%]{--dummy0: 0;float:right}.isRtl[_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%]{float:left}html[dir=rtl][_ngcontent-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%]{--dummy0: 0;float:left}.welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[disabled][_ngcontent-%COMP%]{background-color:#393939;opacity:.38}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.container[_ngcontent-%COMP%]{width:100%;height:100%}.header-logo[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{width:186px;height:auto}.welcome-footer-container[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;display:flex;align-items:center;justify-content:flex-end}}.tv-view[_nghost-%COMP%], .tv-view [_nghost-%COMP%]{--container-margin: 64px 112px 64px 112px;--welcome-text-width: 98%}@media (min-width: 1440px) and (max-width: 1919px),(min-width: 1920px){.tv-view[_nghost-%COMP%], .tv-view [_nghost-%COMP%]{--container-margin: 56px 88px 60px 88px;--welcome-text-width: 75%}}.tv-view[_nghost-%COMP%] .container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin:var(--container-margin)}.tv-view[_nghost-%COMP%] .header-logo[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .header-logo[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{height:100px;width:auto}.tv-view[_nghost-%COMP%] .indicator-icon[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .indicator-icon[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{height:48px;width:48px}.tv-view[_nghost-%COMP%] .indicator-icon[_ngcontent-%COMP%] .mat-icon.gray-out[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .indicator-icon[_ngcontent-%COMP%] .mat-icon.gray-out[_ngcontent-%COMP%]{color:#ffffff14}.tv-view[_nghost-%COMP%] .welcome-header-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .welcome-header-container[_ngcontent-%COMP%]{margin-bottom:16px}.tv-view[_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%]{width:100%;height:60vh}.tv-view[_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin-top:0;margin-bottom:58px}.tv-view[_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb, .tv-view [_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ffffff29}.tv-view[_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%]::-webkit-scrollbar-track, .tv-view [_nghost-%COMP%] .welcome-content-container[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#ffffff14}.tv-view[_nghost-%COMP%] .welcome-text[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .welcome-text[_ngcontent-%COMP%]{width:var(--welcome-text-width)}.tv-view[_nghost-%COMP%] .welcome-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .welcome-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{line-height:inherit;margin-top:58px;margin-bottom:58px}.tv-view[_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;margin-bottom:0}.tv-view[_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .welcome-footer-container[_ngcontent-%COMP%] button.oobe-action-button[_ngcontent-%COMP%]{padding:0 32px;height:72px;width:fit-content;align-self:center}"]}),Te})();var ct=t(12860),Me=t(44781),bt=t(84937),Tt=t(71962),kt=t(87687),At=t(61958),mn=t(74497),rn=t(22355),Tn=t(69225),wn=t(49219);const qn=(be,Te)=>[be,Te];function di(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"button",15),i.bIt("click",function(){i.eBV(Ke);const re=i.XpG(2);return i.Njj(re.closeClicked())}),i.j41(1,"mat-icon",16),i.EFF(2,"close"),i.k0s()()}}function gi(be,Te){if(1&be&&(i.j41(0,"div",10)(1,"div",11)(2,"h1",12),i.EFF(3),i.nI1(4,"translate"),i.k0s()(),i.j41(5,"div",13),i.DNE(6,di,3,0,"button",14),i.k0s()()),2&be){const Ke=i.XpG();i.R7$(3),i.JRh(i.bMT(4,2,"common.gfn")),i.R7$(3),i.Y8G("ngIf",Ke.closeButtonVisible)}}function Et(be,Te){1&be&&i.nrm(0,"img",17)}let Qt=(()=>{var be;class Te{constructor(m,re,me){var Ie;this.ecommerceService=re,this.spatialNavigationService=me,this.primaryButtonClicked=new i.bkB,this.closeButtonClicked=new i.bkB,this.showLoadingOnContinue=!1,this.closeButtonVisible=!0,this.destroy$=new k.B7,this.closeButtonVisible=!(null!=m&&null!==(Ie=m.featureEnablement)&&void 0!==Ie&&Ie.tvMode)}ngOnInit(){this.dialogTitle="ecommerce.membershipUpdateProgressDialog.title",this.description=this.ecommerceService.isDayPassSubscription?"ecommerce.membershipUpdateProgressDialog.compactDialogDescription":"ecommerce.membershipUpdateProgressDialog.description"}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}ngAfterViewInit(){const m=document.getElementsByClassName("membership-options-link"),re=(null==m?void 0:m.length)>0?m[0]:void 0;re&&this.spatialNavigationService.onClick(re).pipe((0,x.Q)(this.destroy$)).subscribe(me=>{me&&this.ecommerceService.openUpgradeMemberShipPage(kt.MCB.ScreenJoinGfnDialog,Tt.U3.MembershipUpdateProgressEcomUIState)})}continueClicked(){this.showLoadingOnContinue=!0,this.ecommerceService.refreshUsersEntitlement(),this.primaryButtonClicked.emit()}closeClicked(){this.closeButtonClicked.emit()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(At.Vk),i.rXU(mn.y),i.rXU(o.ED))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-membership-update-progress"]],inputs:{data:"data"},outputs:{primaryButtonClicked:"primaryButtonClicked",closeButtonClicked:"closeButtonClicked"},decls:18,vars:21,consts:[["fxFlexFill","","fxLayout","column","nvSpatialNavigationContainer","","navigateAction","focus","nvCaptureRestoreFocus","",3,"ngClass"],["fxFlex","none","class","custom-title-bar","fxLayout","row",4,"ngIf"],["fxFlex","none","fxLayout","column"],["class","dialog-art","src","shared/assets/img/GFNUpSellBannerKV_v3.webp",4,"ngIf"],[1,"dialog-content"],[1,"font-header6"],["cdkMonitorSubtreeFocus","",1,"font-body2",3,"innerHTML"],["fxFlex","none","fxLayout","row","fxLayoutAlign","end center",1,"dialog-button"],["mat-button","",1,"font-button2",3,"click"],["mat-raised-button","","nvProgressCircular","","nvAutoFocus","",1,"font-button2","mat-accent",3,"click","isVisible"],["fxFlex","none","fxLayout","row",1,"custom-title-bar"],["fxFlex","","fxLayoutAlign","start center"],["mat-dialog-title","",1,"font-header6"],["fxFlex","","fxLayoutAlign","end center"],["mat-icon-button","",3,"click",4,"ngIf"],["mat-icon-button","",3,"click"],["mat-font-set","material-icons"],["src","shared/assets/img/GFNUpSellBannerKV_v3.webp",1,"dialog-art"]],template:function(m,re){1&m&&(i.j41(0,"div",0),i.DNE(1,gi,7,4,"div",1),i.j41(2,"div",2),i.DNE(3,Et,1,0,"img",3),i.j41(4,"div",4)(5,"h2",5),i.EFF(6),i.nI1(7,"translate"),i.k0s(),i.nrm(8,"span",6),i.nI1(9,"translate"),i.nI1(10,"trustAsHtml"),i.k0s()(),i.j41(11,"div",7)(12,"button",8),i.bIt("click",function(){return re.closeClicked()}),i.EFF(13),i.nI1(14,"translate"),i.k0s(),i.j41(15,"button",9),i.bIt("click",function(){return re.continueClicked()}),i.EFF(16),i.nI1(17,"translate"),i.k0s()()()),2&m&&(i.Y8G("ngClass",i.l_i(18,qn,re.data.isStreamerApp?"main-content-streamer":"main-content-mall",re.data.isCompactDialog?"compact-dialog-wrapper":"")),i.R7$(),i.Y8G("ngIf",!re.data.isStreamerApp&&!re.data.isCompactDialog),i.R7$(2),i.Y8G("ngIf",!re.data.isCompactDialog),i.R7$(3),i.JRh(i.bMT(7,8,re.dialogTitle)),i.R7$(2),i.Y8G("innerHTML",i.bMT(10,12,i.bMT(9,10,re.description)),i.npT),i.R7$(5),i.SpI(" ",i.bMT(14,14,"common.close")," "),i.R7$(2),i.Y8G("isVisible",re.showLoadingOnContinue),i.R7$(),i.SpI(" ",i.bMT(17,16,"common.continue")," "))},dependencies:[J.DJ,J.sA,J.G2,J.UI,a.PW,B.BI,D.An,N.iV,e.YU,e.bT,R.R,v.r,rn.N,ne.e,Tn.q,Ee.Aq,wn.q,w.O,O.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:470px;overflow:hidden;transition:height .5s}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:470px;height:50px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%]{margin-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:470px;height:264px;border:transparent;padding-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:24px;height:254px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%]{padding:24px;height:91px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{text-align:center;margin:4px 0 0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{display:none}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{margin-top:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{flex-wrap:nowrap;margin:8px;position:relative;right:0;bottom:0}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:8px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%]{height:215px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%]{border-top:1px solid rgba(255,255,255,.15);margin:0 24px;padding:23px 0}.main-content-streamer[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%]{margin:8px}.compact-dialog-wrapper[_ngcontent-%COMP%], .compact-dialog-wrapper[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:100%}@media (max-width: 469px){.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:100vw}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:unset}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100vw;height:auto}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{width:unset}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{display:none}.main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{display:none!important}.main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:fit-content!important}}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%]{width:840px;height:925px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:100%;height:88px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:32px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100%;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:32px;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{margin:8px 32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-left:0}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:200px}.tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:288px}"]}),Te})();const Gt=be=>[be];function st(be,Te){1&be&&(i.j41(0,"div",10),i.nrm(1,"div",11),i.k0s())}let Dt=(()=>{var be;class Te{constructor(m){this.localeService=m,this.closeButtonClicked=new i.bkB,this.serverStatusShortUrl=ae.lp[ae.r7.GfnServerStatus]}ngOnInit(){this.localeSubscription=this.localeService.localeChanged.subscribe(m=>{this.serverStatusUrl=ae.r7.BaseUrl+m+"&page="+ae.r7.GfnServerStatus})}closeClicked(){this.closeButtonClicked.emit()}ngOnDestroy(){this.localeSubscription&&this.localeSubscription.unsubscribe()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(P.iH))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-membership-refresh-error"]],inputs:{data:"data"},outputs:{closeButtonClicked:"closeButtonClicked"},decls:17,vars:15,consts:[["fxFlexFill","","fxLayout","column","nvSpatialNavigationContainer","","nvCaptureRestoreFocus","",3,"ngClass"],["fxFlex","none","class","custom-title-bar","fxLayout","row",4,"ngIf"],["fxFlex","","fxLayout","column"],["fxLayoutAlign","center center",1,"dialog-art"],["fontSet","nv-custom-icons","fontIcon","icon-alert-circle_reg",1,"nv-custom-icons","membership-error-icon"],[1,"dialog-content","membership-error-text"],[1,"font-body2"],["target","_blank",1,"font-body2-link",3,"href","shortUrl"],["fxFlex","none","fxLayout","row","fxLayoutAlign","end center",1,"dialog-button"],["mat-button","","nvAutoFocus","",1,"font-button1",3,"click"],["fxFlex","none","fxLayout","row",1,"custom-title-bar"],["fxFlex","","fxLayoutAlign","end center"]],template:function(m,re){1&m&&(i.j41(0,"div",0),i.DNE(1,st,2,0,"div",1),i.j41(2,"div",2)(3,"div",3),i.nrm(4,"mat-icon",4),i.k0s(),i.j41(5,"div",5)(6,"h2",6),i.EFF(7),i.nI1(8,"translate"),i.k0s(),i.j41(9,"a",7),i.EFF(10),i.nI1(11,"translate"),i.k0s()()(),i.j41(12,"div",8)(13,"button",9),i.bIt("click",function(){return re.closeClicked()}),i.j41(14,"span"),i.EFF(15),i.nI1(16,"translate"),i.k0s()()()()),2&m&&(i.Y8G("ngClass",i.eq3(13,Gt,re.data.isStreamerApp?"main-content-streamer":"main-content-mall")),i.R7$(),i.Y8G("ngIf",!re.data.isStreamerApp),i.R7$(6),i.JRh(i.bMT(8,7,"common.genericLoadError")),i.R7$(2),i.Y8G("href",re.serverStatusUrl,i.B4B)("shortUrl",re.serverStatusShortUrl),i.R7$(),i.SpI(" ",i.bMT(11,9,"common.viewServerStatus")," "),i.R7$(5),i.JRh(i.bMT(16,11,"common.close")))},dependencies:[J.DJ,J.sA,J.G2,J.UI,a.PW,D.An,N.iV,e.YU,e.bT,R.R,v.r,rn.N,ne.e,wn.q,O.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:470px;overflow:hidden;transition:height .5s}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:470px;height:50px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%]{margin-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:470px;height:264px;border:transparent;padding-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:24px;height:254px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%]{padding:24px;height:91px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{text-align:center;margin:4px 0 0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{display:none}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{margin-top:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{flex-wrap:nowrap;margin:8px;position:relative;right:0;bottom:0}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:8px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%]{height:215px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%]{border-top:1px solid rgba(255,255,255,.15);margin:0 24px;padding:23px 0}.main-content-streamer[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%]{margin:8px}.compact-dialog-wrapper[_ngcontent-%COMP%], .compact-dialog-wrapper[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:100%}@media (max-width: 469px){.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:100vw}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:unset}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100vw;height:auto}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{width:unset}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{display:none}.main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{display:none!important}.main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:fit-content!important}}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%]{width:840px;height:925px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:100%;height:88px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:32px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100%;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:32px;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{margin:8px 32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-left:0}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:200px}.tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:288px}.membership-error-icon[_ngcontent-%COMP%]{padding:80px 0 0;margin:0 auto 86px;font-size:80px;width:100%;height:178px;line-height:1;display:block;text-align:center;box-sizing:border-box}.membership-error-text[_ngcontent-%COMP%]{text-align:center}"]}),Te})();const Ot=(be,Te)=>[be,Te];function at(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"div",13)(1,"button",14),i.bIt("click",function(){i.eBV(Ke);const re=i.XpG(2);return i.Njj(re.closeClicked())}),i.j41(2,"mat-icon",15),i.EFF(3,"close"),i.k0s()()()}}function ft(be,Te){if(1&be&&(i.j41(0,"div",9)(1,"div",10)(2,"h1",11),i.EFF(3),i.nI1(4,"translate"),i.k0s()(),i.DNE(5,at,4,0,"div",12),i.k0s()),2&be){const Ke=i.XpG();i.R7$(3),i.JRh(i.bMT(4,2,"common.gfn")),i.R7$(2),i.Y8G("ngIf",Ke.closeButtonVisible)}}function yt(be,Te){1&be&&i.nrm(0,"img",16)}let sn=(()=>{var be;class Te{constructor(m,re,me){var Ie;this.ecommerceService=re,this.spatialNavigationService=me,this.closeButtonClicked=new i.bkB,this.closeButtonVisible=!0,this.destroy$=new k.B7,this.closeButtonVisible=!(null!=m&&null!==(Ie=m.featureEnablement)&&void 0!==Ie&&Ie.tvMode)}ngOnInit(){this.dialogTitle="ecommerce.membershipNotUpdatedDialog.title",this.description="ecommerce.membershipNotUpdatedDialog.description"}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}ngAfterViewInit(){const m=document.getElementsByClassName("membership-status-link"),re=(null==m?void 0:m.length)>0?m[0]:void 0;re&&this.spatialNavigationService.onClick(re).pipe((0,x.Q)(this.destroy$)).subscribe(me=>{me&&this.ecommerceService.openAccountManagementPage(G.MCB.ScreenJoinGfnDialog,Tt.U3.MembershipNotUpdatedEcomUIState)})}closeClicked(){this.closeButtonClicked.emit()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(At.Vk),i.rXU(mn.y),i.rXU(o.ED))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-membership-not-updated"]],inputs:{data:"data"},outputs:{closeButtonClicked:"closeButtonClicked"},decls:16,vars:17,consts:[["fxFlexFill","","fxLayout","column","nvSpatialNavigationContainer","","navigateAction","focus","nvCaptureRestoreFocus","",3,"ngClass"],["fxFlex","none","class","custom-title-bar","fxLayout","row",4,"ngIf"],["fxFlex","none","fxLayout","column"],["class","dialog-art","src","shared/assets/img/GFNUpSellBannerKV_v3.webp",4,"ngIf"],[1,"dialog-content"],[1,"font-header6"],["cdkMonitorSubtreeFocus","",1,"font-body2",3,"innerHTML"],["fxFlex","none","fxLayout","row","fxLayoutAlign","end center",1,"dialog-button"],["mat-button","","nvAutoFocus","",1,"font-button2",3,"click"],["fxFlex","none","fxLayout","row",1,"custom-title-bar"],["fxFlex","","fxLayoutAlign","start center"],["mat-dialog-title","",1,"font-header6"],["fxFlex","","fxLayoutAlign","end center",4,"ngIf"],["fxFlex","","fxLayoutAlign","end center"],["mat-icon-button","",3,"click"],["mat-font-set","material-icons"],["src","shared/assets/img/GFNUpSellBannerKV_v3.webp",1,"dialog-art"]],template:function(m,re){1&m&&(i.j41(0,"div",0),i.DNE(1,ft,6,4,"div",1),i.j41(2,"div",2),i.DNE(3,yt,1,0,"img",3),i.j41(4,"div",4)(5,"h2",5),i.EFF(6),i.nI1(7,"translate"),i.k0s(),i.nrm(8,"span",6),i.nI1(9,"translate"),i.nI1(10,"trustAsHtml"),i.k0s()(),i.j41(11,"div",7)(12,"button",8),i.bIt("click",function(){return re.closeClicked()}),i.j41(13,"span"),i.EFF(14),i.nI1(15,"translate"),i.k0s()()()()),2&m&&(i.Y8G("ngClass",i.l_i(14,Ot,re.data.isStreamerApp?"main-content-streamer":"main-content-mall",re.data.isCompactDialog?"compact-dialog-wrapper":"")),i.R7$(),i.Y8G("ngIf",!re.data.isStreamerApp&&!re.data.isCompactDialog),i.R7$(2),i.Y8G("ngIf",!re.data.isCompactDialog),i.R7$(3),i.JRh(i.bMT(7,6,re.dialogTitle)),i.R7$(2),i.Y8G("innerHTML",i.bMT(10,10,i.bMT(9,8,re.description)),i.npT),i.R7$(6),i.JRh(i.bMT(15,12,"common.close")))},dependencies:[J.DJ,J.sA,J.G2,J.UI,a.PW,B.BI,D.An,N.iV,e.YU,e.bT,R.R,v.r,rn.N,ne.e,wn.q,w.O,O.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:470px;overflow:hidden;transition:height .5s}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:470px;height:50px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%]{margin-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:470px;height:264px;border:transparent;padding-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:24px;height:254px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%]{padding:24px;height:91px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{text-align:center;margin:4px 0 0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{display:none}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{margin-top:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{flex-wrap:nowrap;margin:8px;position:relative;right:0;bottom:0}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:8px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%]{height:215px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%]{border-top:1px solid rgba(255,255,255,.15);margin:0 24px;padding:23px 0}.main-content-streamer[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%]{margin:8px}.compact-dialog-wrapper[_ngcontent-%COMP%], .compact-dialog-wrapper[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:100%}@media (max-width: 469px){.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:100vw}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:unset}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100vw;height:auto}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{width:unset}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{display:none}.main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{display:none!important}.main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:fit-content!important}}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%]{width:840px;height:925px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:100%;height:88px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:32px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100%;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:32px;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{margin:8px 32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-left:0}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:200px}.tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:288px}"]}),Te})();function on(be,Te){if(1&be&&(i.j41(0,"p"),i.EFF(1),i.nI1(2,"translate"),i.k0s()),2&be){const Ke=i.XpG();i.R7$(),i.SpI(" ",i.bMT(2,1,Ke.data.header)," ")}}let un=(()=>{var be;class Te{constructor(m,re){this.dialogRef=m,this.data=re}close(){this.dialogRef.close()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(B.CP),i.rXU(B.Vh))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-confirmation-dialog"]],decls:10,vars:10,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","nvBackToCloseModal","",1,"confirmation-dialog"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","center center"],["fxLayout","row","fxLayoutAlign","flex-end center"],["mat-button","","color","accent",1,"mat-raised-button","mat-accent","color-white-important",3,"click"]],template:function(m,re){1&m&&(i.j41(0,"div",0),i.DNE(1,on,3,3,"p",1),i.j41(2,"p",2),i.nrm(3,"span"),i.EFF(4),i.nI1(5,"translate"),i.k0s(),i.j41(6,"div",3)(7,"button",4),i.bIt("click",function(){return re.close()}),i.EFF(8),i.nI1(9,"translate"),i.k0s()()()),2&m&&(i.R7$(),i.Y8G("ngIf",re.data.header),i.R7$(2),i.ZvI("nv-custom-icons ",re.data.iconClass,""),i.R7$(),i.SpI(" ",i.bMT(5,6,re.data.message)," "),i.R7$(4),i.SpI(" ",i.bMT(9,8,re.data.closeButtonText)," "))},dependencies:[e.bT,N.iV,J.DJ,J.sA,W.D,Ee.Aq,O.D9],styles:[".confirmation-dialog span.nv-custom-icons{font-size:20px}:host-context(.isLtr) .confirmation-dialog span.nv-custom-icons{margin-right:10px}html[dir=ltr] .confirmation-dialog span.nv-custom-icons{--dummy4: 0;margin-right:10px}:host-context(.isRtl) .confirmation-dialog span.nv-custom-icons{margin-left:10px}html[dir=rtl] .confirmation-dialog span.nv-custom-icons{--dummy4: 0;margin-left:10px}.confirmation-dialog-set-background .mat-mdc-dialog-container{background:#1f2224}\n"],encapsulation:2}),Te})(),$e=(()=>{var be;class Te{constructor(m,re){this.matDialog=m,this.focusManager=re}open(m){return m.panelClass="confirmation-dialog-set-background",m.enterAnimationDuration="0ms",this.focusManager.restoreFocusAfterClosed(()=>this.matDialog.open(un,m))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(B.bZ),i.KVO(o.c_))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();const It=(be,Te)=>[be,Te];function kn(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"button",15),i.bIt("click",function(){i.eBV(Ke);const re=i.XpG(2);return i.Njj(re.closeClicked())}),i.j41(1,"mat-icon",16),i.EFF(2,"close"),i.k0s()()}}function Yn(be,Te){if(1&be&&(i.j41(0,"div",10)(1,"div",11)(2,"h1",12),i.EFF(3),i.nI1(4,"translate"),i.k0s()(),i.j41(5,"div",13),i.DNE(6,kn,3,0,"button",14),i.k0s()()),2&be){const Ke=i.XpG();i.R7$(3),i.JRh(i.bMT(4,2,"common.gfn")),i.R7$(3),i.Y8G("ngIf",Ke.closeButtonVisible)}}function Zn(be,Te){1&be&&i.nrm(0,"img",17)}let ei=(()=>{var be;class Te{constructor(m,re){var me;this.ecommerceService=re,this.primaryButtonClicked=new i.bkB,this.closeButtonClicked=new i.bkB,this.showLoadingOnContinue=!1,this.closeButtonVisible=!0,this.closeButtonVisible=!(null!=m&&null!==(me=m.featureEnablement)&&void 0!==me&&me.tvMode)}ngOnInit(){this.dialogTitle="ecommerce.playtimeAddProgressDialog.title",this.description="ecommerce.membershipUpdateProgressDialog.compactDialogDescription"}continueClicked(){this.showLoadingOnContinue=!0,this.ecommerceService.refreshUsersEntitlement(),this.primaryButtonClicked.emit()}closeClicked(){this.closeButtonClicked.emit()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(At.Vk),i.rXU(mn.y))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-playtime-update-progress"]],inputs:{data:"data"},outputs:{primaryButtonClicked:"primaryButtonClicked",closeButtonClicked:"closeButtonClicked"},decls:18,vars:21,consts:[["fxFlexFill","","fxLayout","column","nvSpatialNavigationContainer","","navigateAction","focus","nvCaptureRestoreFocus","",3,"ngClass"],["fxFlex","none","class","custom-title-bar","fxLayout","row",4,"ngIf"],["fxFlex","none","fxLayout","column"],["class","dialog-art","src","shared/assets/img/GFNUpSellBannerKV_v3.webp",4,"ngIf"],[1,"dialog-content"],[1,"font-header6"],["cdkMonitorSubtreeFocus","",1,"font-body2",3,"innerHTML"],["fxFlex","none","fxLayout","row","fxLayoutAlign","end center",1,"dialog-button"],["mat-button","",1,"font-button2",3,"click"],["mat-raised-button","","nvProgressCircular","","nvAutoFocus","",1,"font-button2","mat-accent",3,"click","isVisible"],["fxFlex","none","fxLayout","row",1,"custom-title-bar"],["fxFlex","","fxLayoutAlign","start center"],["mat-dialog-title","",1,"font-header6"],["fxFlex","","fxLayoutAlign","end center"],["mat-icon-button","",3,"click",4,"ngIf"],["mat-icon-button","",3,"click"],["mat-font-set","material-icons"],["src","shared/assets/img/GFNUpSellBannerKV_v3.webp",1,"dialog-art"]],template:function(m,re){1&m&&(i.j41(0,"div",0),i.DNE(1,Yn,7,4,"div",1),i.j41(2,"div",2),i.DNE(3,Zn,1,0,"img",3),i.j41(4,"div",4)(5,"h2",5),i.EFF(6),i.nI1(7,"translate"),i.k0s(),i.nrm(8,"span",6),i.nI1(9,"translate"),i.nI1(10,"trustAsHtml"),i.k0s()(),i.j41(11,"div",7)(12,"button",8),i.bIt("click",function(){return re.closeClicked()}),i.EFF(13),i.nI1(14,"translate"),i.k0s(),i.j41(15,"button",9),i.bIt("click",function(){return re.continueClicked()}),i.EFF(16),i.nI1(17,"translate"),i.k0s()()()),2&m&&(i.Y8G("ngClass",i.l_i(18,It,re.data.isStreamerApp?"main-content-streamer":"main-content-mall",re.data.isCompactDialog?"compact-dialog-wrapper":"")),i.R7$(),i.Y8G("ngIf",!re.data.isStreamerApp&&!re.data.isCompactDialog),i.R7$(2),i.Y8G("ngIf",!re.data.isCompactDialog),i.R7$(3),i.JRh(i.bMT(7,8,re.dialogTitle)),i.R7$(2),i.Y8G("innerHTML",i.bMT(10,12,i.bMT(9,10,re.description)),i.npT),i.R7$(5),i.SpI(" ",i.bMT(14,14,"common.close")," "),i.R7$(2),i.Y8G("isVisible",re.showLoadingOnContinue),i.R7$(),i.SpI(" ",i.bMT(17,16,"common.continue")," "))},dependencies:[J.DJ,J.sA,J.G2,J.UI,a.PW,B.BI,D.An,N.iV,e.YU,e.bT,R.R,v.r,rn.N,ne.e,Tn.q,Ee.Aq,wn.q,w.O,O.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:470px;overflow:hidden;transition:height .5s}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:470px;height:50px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%]{margin-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:470px;height:264px;border:transparent;padding-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:24px;height:254px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%]{padding:24px;height:91px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{text-align:center;margin:4px 0 0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{display:none}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{margin-top:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{flex-wrap:nowrap;margin:8px;position:relative;right:0;bottom:0}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:8px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%]{height:215px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%]{border-top:1px solid rgba(255,255,255,.15);margin:0 24px;padding:23px 0}.main-content-streamer[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%]{margin:8px}.compact-dialog-wrapper[_ngcontent-%COMP%], .compact-dialog-wrapper[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:100%}@media (max-width: 469px){.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:100vw}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:unset}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100vw;height:auto}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{width:unset}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{display:none}.main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{display:none!important}.main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:fit-content!important}}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%]{width:840px;height:925px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:100%;height:88px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:32px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100%;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:32px;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{margin:8px 32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-left:0}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:200px}.tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:288px}"]}),Te})();const Hn=(be,Te)=>[be,Te];function Mn(be,Te){if(1&be){const Ke=i.RV6();i.j41(0,"div",13)(1,"button",14),i.bIt("click",function(){i.eBV(Ke);const re=i.XpG(2);return i.Njj(re.closeClicked())}),i.j41(2,"mat-icon",15),i.EFF(3,"close"),i.k0s()()()}}function Qn(be,Te){if(1&be&&(i.j41(0,"div",9)(1,"div",10)(2,"h1",11),i.EFF(3),i.nI1(4,"translate"),i.k0s()(),i.DNE(5,Mn,4,0,"div",12),i.k0s()),2&be){const Ke=i.XpG();i.R7$(3),i.JRh(i.bMT(4,2,"common.gfn")),i.R7$(2),i.Y8G("ngIf",Ke.closeButtonVisible)}}function ti(be,Te){1&be&&i.nrm(0,"img",16)}let wi=(()=>{var be;class Te{constructor(m,re,me){var Ie;this.ecommerceService=re,this.spatialNavigationService=me,this.closeButtonClicked=new i.bkB,this.closeButtonVisible=!0,this.destroy$=new k.B7,this.closeButtonVisible=!(null!=m&&null!==(Ie=m.featureEnablement)&&void 0!==Ie&&Ie.tvMode)}ngOnInit(){this.dialogTitle="ecommerce.playtimeNotUpdatedDialog.title",this.description="ecommerce.playtimeNotUpdatedDialog.description"}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}ngAfterViewInit(){const m=document.getElementsByClassName("account-status-link"),re=(null==m?void 0:m.length)>0?m[0]:void 0;re&&this.spatialNavigationService.onClick(re).pipe((0,x.Q)(this.destroy$)).subscribe(me=>{me&&this.ecommerceService.openAccountManagementPage(G.MCB.ScreenJoinGfnDialog,Tt.U3.MembershipTimeNotUpdatedEcomUIState)})}closeClicked(){this.closeButtonClicked.emit()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(At.Vk),i.rXU(mn.y),i.rXU(o.ED))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-playtime-not-updated"]],inputs:{data:"data"},outputs:{closeButtonClicked:"closeButtonClicked"},decls:16,vars:17,consts:[["fxFlexFill","","fxLayout","column","nvSpatialNavigationContainer","","navigateAction","focus","nvCaptureRestoreFocus","",3,"ngClass"],["fxFlex","none","class","custom-title-bar","fxLayout","row",4,"ngIf"],["fxFlex","none","fxLayout","column"],["class","dialog-art","src","shared/assets/img/GFNUpSellBannerKV_v3.webp",4,"ngIf"],[1,"dialog-content"],[1,"font-header6"],["cdkMonitorSubtreeFocus","",1,"font-body2",3,"innerHTML"],["fxFlex","none","fxLayout","row","fxLayoutAlign","end center",1,"dialog-button"],["mat-button","","nvAutoFocus","",1,"font-button2",3,"click"],["fxFlex","none","fxLayout","row",1,"custom-title-bar"],["fxFlex","","fxLayoutAlign","start center"],["mat-dialog-title","",1,"font-header6"],["fxFlex","","fxLayoutAlign","end center",4,"ngIf"],["fxFlex","","fxLayoutAlign","end center"],["mat-icon-button","",3,"click"],["mat-font-set","material-icons"],["src","shared/assets/img/GFNUpSellBannerKV_v3.webp",1,"dialog-art"]],template:function(m,re){1&m&&(i.j41(0,"div",0),i.DNE(1,Qn,6,4,"div",1),i.j41(2,"div",2),i.DNE(3,ti,1,0,"img",3),i.j41(4,"div",4)(5,"h2",5),i.EFF(6),i.nI1(7,"translate"),i.k0s(),i.nrm(8,"span",6),i.nI1(9,"translate"),i.nI1(10,"trustAsHtml"),i.k0s()(),i.j41(11,"div",7)(12,"button",8),i.bIt("click",function(){return re.closeClicked()}),i.j41(13,"span"),i.EFF(14),i.nI1(15,"translate"),i.k0s()()()()),2&m&&(i.Y8G("ngClass",i.l_i(14,Hn,re.data.isStreamerApp?"main-content-streamer":"main-content-mall",re.data.isCompactDialog?"compact-dialog-wrapper":"")),i.R7$(),i.Y8G("ngIf",!re.data.isStreamerApp&&!re.data.isCompactDialog),i.R7$(2),i.Y8G("ngIf",!re.data.isCompactDialog),i.R7$(3),i.JRh(i.bMT(7,6,re.dialogTitle)),i.R7$(2),i.Y8G("innerHTML",i.bMT(10,10,i.bMT(9,8,re.description)),i.npT),i.R7$(6),i.JRh(i.bMT(15,12,"common.close")))},dependencies:[J.DJ,J.sA,J.G2,J.UI,a.PW,B.BI,D.An,N.iV,e.YU,e.bT,R.R,v.r,rn.N,ne.e,wn.q,w.O,O.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((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - 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((100vw - 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((100vw - 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((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:470px;overflow:hidden;transition:height .5s}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:470px;height:50px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:24px}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:24px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:24px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:24px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:24px}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%]{margin-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:470px;height:264px;border:transparent;padding-bottom:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:24px;height:254px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%]{padding:24px;height:91px}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{text-align:center;margin:4px 0 0}.main-content-streamer[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content-queue-limit[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{display:none}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{margin-top:0}.main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{flex-wrap:nowrap;margin:8px;position:relative;right:0;bottom:0}.isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:8px}html[dir=ltr][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:8px}.isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:8px}html[dir=rtl][_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:8px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane[_ngcontent-%COMP%]{height:215px}.main-content-streamer[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upsell-pane-message[_ngcontent-%COMP%]{border-top:1px solid rgba(255,255,255,.15);margin:0 24px;padding:23px 0}.main-content-streamer[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .upgrade-container[_ngcontent-%COMP%]{margin:8px}.compact-dialog-wrapper[_ngcontent-%COMP%], .compact-dialog-wrapper[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:100%}@media (max-width: 469px){.main-content-streamer[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%]{width:100vw}.main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:unset}.main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100vw;height:auto}.main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{width:unset}}@media (max-width: 599.98px) and (orientation: portrait),(max-width: 959.98px) and (orientation: landscape){.main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{display:none}.main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{display:none!important}.main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:fit-content!important}}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%]{width:840px;height:925px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{width:100%;height:88px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy1: 0;padding-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-right:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-right:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{padding-left:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .custom-title-bar[_ngcontent-%COMP%]{--dummy2: 0;padding-left:32px}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-art[_ngcontent-%COMP%]{width:100%;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{padding:32px;height:auto}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%]{margin:8px 32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:32px}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-left:32px}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:32px}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy3: 0;margin-right:32px}.isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isLtr .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isLtr [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:0}html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=ltr] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-right:0}.isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl[_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl [_nghost-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl.tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .isRtl .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view .isRtl [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-left:0}html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl][_ngcontent-%COMP%] .tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, html[dir=rtl] .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child, .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] .dialog-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{--dummy4: 0;margin-left:0}.tv-view[_ngcontent-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-mall[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:200px}.tv-view[_ngcontent-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view[_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%], .tv-view [_nghost-%COMP%] .main-content-streamer[_ngcontent-%COMP%] div.dialog-content[_ngcontent-%COMP%]{height:288px}"]}),Te})(),oi=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[n.YF,B.hM,D.m_,N.wG,z.w,te.D6,e.MD,C,P._N,O.h.forChild(),o.bm]}),Te})();i.wjB(bt.O,function(){return[J.DJ,J.G2,J.UI,a.PW,e.YU,e.ux,e.e1,h.D,W.D,Me.c,Qt,Dt,sn,ei,wi]},[]);var Wn=t(36243);let rt=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[n.YF,Wn.f,B.hM,D.m_,N.wG,z.w,te.D6,e.MD,C,P._N,O.h.forChild(),o.bm]}),Te})(),Kt=(()=>{var be;class Te{constructor(m){this.logger=m.getLogger("FullScreenOverlayComponent"),this.logger.info("Full Screen Overlay Initialized")}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.rXU(P.J6))},be.\u0275cmp=i.VBU({type:be,selectors:[["gfn-full-screen-overlay"]],inputs:{fullScreenOverlayText:"fullScreenOverlayText"},decls:5,vars:3,consts:[["fxLayout","column","fxLayoutAlign","center center",1,"overlay-container"],[1,"message-div"],[1,"message-text","font-header6"]],template:function(m,re){1&m&&(i.j41(0,"div",0)(1,"div",1)(2,"span",2),i.EFF(3),i.nI1(4,"translate"),i.k0s()()()),2&m&&(i.R7$(3),i.JRh(i.bMT(4,1,re.fullScreenOverlayText)))},dependencies:[O.D9],styles:[".overlay-container[_ngcontent-%COMP%]{background:#000000b3;height:100%;width:100%}.message-div[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.message-text[_ngcontent-%COMP%]{max-width:80%;display:flex;align-items:center;justify-content:center;text-align:center}[_nghost-%COMP%]{width:100%}"]}),Te})(),$t=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[e.MD,O.h.forChild()]}),Te})();var oe=t(26945),pe=t(49678);let Ge=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[e.MD,d.i,n.YF,B.hM,oe.MY,Oe.g7,pe.Wk,o.bm,P._N,O.h.forChild()]}),Te})();var Ze=t(16632),lt=t(60315),pt=t(1548);let Ct=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[e.MD,E.YN,n.YF,d.i,O.h.forChild(),g,oi,rt,P._N,o.bm,b.Pd,$t,te.D6,e.MD,E.YN,Q.N,C,oi,Ge]}),Te})();i.wjB(ct.z,function(){return[Ut]},[]);var Xt=t(80838),Ht=t(94829),Ft=t(28507),Wt=t(43897),en=t(18568),Lt=t(6687),cn=t(59859),Yt=t(14714),En=t(26814);let ni=(()=>{var be;class Te{constructor(m,re){this.experienceControlService=re,this.logger=m.getLogger("shared/Experience-Ipc")}getCloudVariable(m,re={},me,Ie,Ve,Je){return this.experienceControlService.getCloudVariable(m,re,me,Ie,Ve,Je).pipe((0,ie.M)(it=>{}),(0,Yt.W)(it=>(0,cn.$)(it)))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(En.BW))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var dn=t(8773),Rn=t(84422),Gn=t(50778),yn=t(85735),Kn=t(26513),bi=t(36466),xn=t(31315),Qi=t(55833),Jt=t(83915),In=t(8619),ri=t(72147),hi=t(10174),On=t(33367),An=function(be){return be[be.Greater=0]="Greater",be[be.Lesser=1]="Lesser",be[be.Equal=2]="Equal",be}(An||{});class ii{constructor(Te,Ke="."){if(this.versionStr=Te,this.delimiter=Ke,(0,u.isNil)(Te)||0===Te.length)throw new Error("invalid version string: "+Te);this.versionComponents=[];const m=Te.split(Ke);for(const re of m)isNaN(Number(re))||this.versionComponents.push(+re)}static getPaddedFourOctetVersion(Te,Ke="."){if(!Te)return Te;const m=Te.split(Ke);for(let me=0;me<4-m.length;me++)m.push("0");return m.reduce((me,Ie)=>`${me}.${Ie}`)}compare(Te){const Ke=Math.min(this.versionComponents.length,Te.versionComponents.length);for(let m=0;mTe.versionComponents[m]?An.Lesser:An.Greater;return this.versionComponents.length>Te.versionComponents.length?An.Lesser:this.versionComponents.lengthTe.versionComponents[m]?An.Lesser:An.Greater;return this.versionComponents.length>Te.versionComponents.length?An.Lesser:this.versionComponents.length(this.updateInternalSubject=new k.B7,this.updateInternalSubject.asObservable()),!1),this.baseVersion=new ii((0,At.Cl)(m)),this.updateChannel=m.selfUpdate.serverChannel,this.showUpdateDialog=null!==(fn=null===(Cn=m.selfUpdate)||void 0===Cn?void 0:Cn.showUpdateInProgressDialog)&&void 0!==fn&&fn,this.wasUpdatedFromUI=!1,this.registerForIpcMessages(),this.registerForWindowEvents(),this.readPreviousVersion().pipe((0,ie.M)(Ln=>{this.previousVersion=Ln||si.zeroVersion}),(0,ce.ZZ)(this.storeCurrentVersion.bind(this)),(0,ce.ZZ)(this.isFirstRunAfterUpdate.bind(this)),(0,ce.ZZ)(Ln=>Ln?this.telemetryUtilService.getAppLaunchTelemetryObservable():(0,j.of)(!1)),(0,ce.ZZ)(Ln=>Ln?this.sendAppLaunchTelemetry(this.previousVersion):(0,j.of)(null))).subscribe(bi.l,Ln=>{this.logger.error("Received error while reading and updating stored version: ",Ln)},()=>{this.logger.info("Completed reading and updating stored version")}),this.osType$=this.systemInfoService.getDeviceOSType().pipe((0,p.s)(1),(0,Qi.t)(1))}initialize(){this.checkForUpdatesAndAddBanner()}registerForIpcMessages(){this.ipcSubscriptions?(this.ipcSubscriptions.forEach((Ke,m)=>{Ke.unsubscribe(),this.logger.info("Unregistering for ipc event: ",m)}),this.ipcSubscriptions.clear()):this.ipcSubscriptions=new Map,this.logger.info("Registering for ipc events");const Te=(Ke,m)=>this.ipcService.get$(Ke).pipe((0,ce.ZZ)(re=>(this.logger.info("IPC event call for version",re),this.isUpdateAvailable$().pipe((0,Jt.T)(me=>(this.logger.info("IPC update available response:",me),me)),(0,Yt.W)(me=>(this.errorUpdate("Received error when handling ipc update: "+me),this.sendAppUpdateTelemetry(this.baseVersion,this.getTargetVersion(),G.Tv4.Error,"Error on IPC event: "+me),(0,j.of)(!1)))))),(0,Yt.W)(re=>(this.logger.error("Received error on ipc type "+Ke+": ",re),this.registerForIpcMessages(),(0,j.of)(!1)))).subscribe();this.ipcSubscriptions.set(Lt.kN.SelfUpdate,Te(Lt.kN.SelfUpdate)),this.ipcSubscriptions.set(Lt.kN.RecommendedUpdate,Te(Lt.kN.RecommendedUpdate)),this.ipcSubscriptions.set(Lt.kN.RequiredUpdate,Te(Lt.kN.RequiredUpdate)),this.ipcSubscriptions.set(Lt.kN.CriticalUpdate,Te(Lt.kN.CriticalUpdate))}registerForWindowEvents(){this.windowEventSubscriptions?(this.windowEventSubscriptions.forEach((Ke,m)=>{Ke.unsubscribe(),this.logger.info("Unregistering for window event: ",m)}),this.windowEventSubscriptions.clear()):this.windowEventSubscriptions=new Map,this.logger.info("Registering for window events");const Te=this.nativeEventService.get$(P.D4.SelfUpdate,P.Jm.Types.HandlerEventType.StructuredWindowEvent).subscribe(Ke=>{this.logger.info("Self update native event ",Ke);try{const m=this.validateUpdateData(this.parseUpdateData(Ke));(0,u.isNil)(m)||this.handleIncomingUpdate(m)}catch(m){this.errorUpdate(m),this.sendAppUpdateTelemetry(this.baseVersion,this.getTargetVersion(),G.Tv4.UpdateFailure,m.toString())}},Ke=>{this.logger.error("Received error from window event "+P.D4.SelfUpdate+": ",Ke),this.registerForWindowEvents()});this.windowEventSubscriptions.set(P.D4.SelfUpdate,Te)}checkForUpdatesAndAddBanner(){this.isUpdateErrorDialogOnScreen.asObservable().pipe((0,In.p)(Te=>(Te&&po.forEach(Ke=>{this.bannerNotificationService.removeNotificationFromQueue(Ke)}),!Te)),(0,ri.n)(Te=>this.getUpdates$())).subscribe(Te=>{this.logger.info("New udpate available"),this.onUpdateAvailable(Te)},Te=>{this.logger.error(`Received error from getUpdate$ observable: ${JSON.stringify(Te)}`)}),this.updateRequiredOnLaunch$().pipe((0,p.s)(1)).subscribe(()=>{this.logger.info("Successfully checked for existing update")},Te=>{this.logger.error(`Failed to check for existing update ticket, error: ${JSON.stringify(Te)}`)})}onUpdateAvailable(Te){var Ke;let m;switch(this.logger.info("onUpdateAvailable",Te),Te.severity){case Fn.Recommended:m=ho,m.messageStr.interpolates={updateVersion:(null===(Ke=Te.version)||void 0===Ke?void 0:Ke.toString())||this.defaultVersion};break;case Fn.Required:m=Xi;break;case Fn.Critical:m=uo;break;default:return void this.logger.error("Unknown update type : ",Te.severity)}m&&(m.onPrimaryButtonClick=this.onClickRestart.bind(this),this.bannerNotificationService.addNotificationToQueue(m))}onClickRestart(Te={}){this.showUpdateDialog?(this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{showSpinner:!0,bodyText:{text:"notification.updatingGFN"}}}),setTimeout(()=>{this.triggerMallRelaunchSubject$.next(Te)},this.updateInProgressDialogTimeout)):this.triggerMallRelaunchSubject$.next(Te)}onMallRelaunchTrigger(){return this.triggerMallRelaunchSubject$.asObservable()}getUpdates$(){return this.updateEventStream.get$()}recordUpdateFromUI$(){return this.appendUpdateData({updateFromJS:!0})}updateApplication$(Te=!1){return this.logger.info("App relaunch will be requested to update the app."),this.appendUpdateData({updateFromJS:!0,updateFromStreamer:Te}).pipe((0,ri.n)(()=>this.bridgeService.executeCommand(On.Ts.Common.Applicationcontrol.Restart,{launchArguments:""}).pipe((0,hi.u)(!0))),(0,Yt.W)(()=>this.onUpdateError()))}onUpdateError(){return(0,xn.zV)([this.translateService.get("notification.dismiss"),this.translateService.get("notification.updateFailure")]).pipe((0,Jt.T)(([m,re])=>(this.snackbar.open(re,m,{duration:this.snackBarDuration,horizontalPosition:"left",panelClass:["nv-hig"]}),!1)))}getUpdateData$(){return this.logger.info("getUpdateData$ called"),this.bridgeService.executeCommand(On.Ts.Common.Update.ReadTicket,{}).pipe((0,Jt.T)(Te=>{try{this.logger.info("Update ticket value received: ",Te);const Ke=this.validateUpdateData(Te);return this.logger.info("Parsed updateTicket value ",Ke),Ke}catch(Ke){throw this.logger.error("Error when processing ReadTicket result: ",Ke),new Error(Ke)}}),(0,Yt.W)(Te=>(this.logger.error("Error reading update ticket data",Te),(0,j.of)(null))))}getAvailableUpdate$(){return this.getUpdateData$().pipe((0,Jt.T)(Te=>(this.handleIncomingUpdate(Te),this.pendingUpdate)))}isUpdateAvailable$(){return this.getAvailableUpdate$().pipe((0,Jt.T)(Te=>!(0,u.isNil)(Te)))}updateRequiredOnLaunch$(){return this.getAvailableUpdate$().pipe((0,Jt.T)(Te=>(0,u.get)(Te,"severity",Fn.Recommended)>Fn.Recommended))}isFirstAppRunAfterMajorUpdate$(){return this.firstRunAfterMajorUpdateObservable.asObservable()}parseUpdateData(Te){let Ke;try{Ke=JSON.parse(Te)}catch{const re="Update ticket raised with improper JSON: "+Te;throw this.logger.error(re),new Error(re)}if((0,u.isNil)(Te)||(0,u.isNil)(Ke)){const m="Update ticket raised with null data: "+Te;throw this.logger.error(m),new Error(m)}return Ke}validateUpdateData(Te){if((0,u.isNil)(Te)){const m="validateUpdateData called with null updateData";throw this.logger.error(m),new Error(m)}if(!Te.available||(0,u.isNil)(Te.severity)||(0,u.isNil)(Te.version))return this.logger.info("No update available"),null;const Ke=function qi(be){switch(be){case Ti.Recommended:return Fn.Recommended;case Ti.Required:return Fn.Required;case Ti.Critical:return Fn.Critical;default:return null}}(Te.severity);if((0,u.isNil)(Ke)){const m="Unrecognized update severity: "+Te.severity;throw this.logger.error(m),new Error(m)}return{version:new ii(Te.version),severity:Ke}}isUpdateAccepted(Te){if((0,u.isNil)(Te))return!1;if((0,u.isNil)(this.pendingUpdate))return this.baseVersion.compare(Te.version)===An.Greater;switch(this.pendingUpdate.version.compare(Te.version)){case An.Greater:return!0;case An.Lesser:return this.logger.info("Checked update has a lower version than current pending update: "+this.updateDataToString(Te)+" < "+this.updateDataToString(this.pendingUpdate)),!1;case An.Equal:return Te.severity>this.pendingUpdate.severity||(this.logger.info("Raised update has equal version and lesser or equal severity as current pending update: "+this.updateDataToString(Te)+" <= "+this.updateDataToString(this.pendingUpdate)),!1)}return!1}handleIncomingUpdate(Te){this.isUpdateAccepted(Te)?this.acceptUpdate(Te):this.ignoreUpdate(Te)}acceptUpdate(Te){this.logger.info("Accepting new update data: ",Te),this.pendingUpdate=Te,this.updateInternalSubject.next(this.pendingUpdate),this.sendAppUpdateTelemetry(this.baseVersion,Te.version,G.Tv4.IPCReceived)}errorUpdate(Te){const Ke="Raising error when processing update: "+Te;this.logger.error(Ke),this.updateInternalSubject.error(Ke)}ignoreUpdate(Te){this.logger.info("Ignoring update data: ",Te)}updateDataToString(Te){return(0,u.isNil)(Te)?"undefined":Te.version+":("+Te.severity+")"}readUpdateData(){return this.sharedStorage.readBlock(mo)}writeUpdateData(Te){return this.sharedStorage.writeBlock(mo,Te)}appendUpdateData(Te){return this.readUpdateData().pipe((0,ce.ZZ)(Ke=>{(0,u.isNil)(Te)&&(Ke={});const m={...Ke,...Te};return this.writeUpdateData(m)}))}isFirstRunAfterUpdate(){return this.readPreviousVersion().pipe((0,ie.M)(Te=>{this.firstRunAfterMajorUpdate=this.baseVersion.compareMajorVersion(Te)===An.Lesser,this.firstRunAfterMajorUpdateObservable.next(this.firstRunAfterMajorUpdate&&!this.isFirstApplicationInstall(Te))}),(0,Jt.T)(Te=>this.baseVersion.compare(Te)===An.Lesser))}isFirstApplicationInstall(Te){return Te.compare(si.zeroVersion)===An.Equal}storeCurrentVersion(){const Te={currentVersion:this.baseVersion.toString()};return this.isFirstApplicationInstall(this.previousVersion)&&(Te.initialAppVersion=ii.getPaddedFourOctetVersion(this.baseVersion.toString())),this.appendUpdateData(Te)}getInitialVersion(){return this.initialAppVersion?(0,j.of)(this.initialAppVersion):this.readUpdateData().pipe((0,Jt.T)(Te=>{const Ke=null==Te?void 0:Te.initialAppVersion;return this.initialAppVersion=Ke&&new ii(Ke)||si.zeroVersion,this.initialAppVersion}))}readPreviousVersion(){return(0,u.isNil)(this.previousVersion)?((0,u.isNil)(this.readPreviousVersionOb$)&&(this.readPreviousVersionOb$=this.readUpdateData().pipe((0,Jt.T)(Te=>{if((0,u.isNil)(Te))this.logger.info("No update data found in shared storage");else{this.wasUpdatedFromUI=(0,u.get)(Te,"updateFromJS",!1);const Ke=(0,u.get)(Te,"currentVersion",si.zeroVersion.toString()),m=new ii(Ke);if(m.compare(si.zeroVersion)!==An.Equal)return m;this.logger.info("No previous version found in shared storage update block")}return si.zeroVersion}),(0,Yt.W)(Te=>{const Ke="Error caught when reading update data from shared storage: "+Te;throw this.logger.error(Ke),new Error(Ke)}))),this.readPreviousVersionOb$):(0,j.of)(this.previousVersion)}sendAppUpdateTelemetry(Te,Ke,m,re,me){this.logger.info("Uploading app update telemetry",Te,Ke,m,re,me);const Ie=new G.mTv({previousVersion:(0,u.isNil)(Te)?"":Te.toString(),targetVersion:(0,u.isNil)(Ke)?"":Ke.toString(),status:m,downloadTimeMs:0,upTimeMs:0,retryCount:0,channel:this.updateChannel,updateUrl:"",errorCategory:(0,u.isNil)(re)?G.$_D.None:G.$_D.General,errorMessage:(0,u.isNil)(re)?"":re});this.telemetry.push(Ie,0,me)}sendAppLaunchTelemetry(Te){return this.systemInfoService.getSystemInfo([P.Lu.OSName,P.Lu.OSVersion]).pipe((0,Jt.T)(Ke=>({OSName:Ke.OSName,OSVersion:Ke.OSVersion})),(0,Yt.W)(Ke=>(this.logger.error("Received error from getOsInfo, uploading telemetry without os info. Error = ",Ke),(0,j.of)({OSName:"",OSVersion:""}))),(0,Jt.T)(Ke=>{let m,re;Te===si.zeroVersion?(m="",re=G.kSA.FirstApplicationInstall):(m=Te.toString(),re=G.kSA.SelfUpdateInstallAuto,this.sendAppUpdateTelemetry(this.previousVersion,this.baseVersion,G.Tv4.UpdateSuccess,null));const me={clientType:this.telemetryUtilService.getClientType(),type:re,previousAppVersion:m,osName:Ke.OSName};this.logger.info("Uploading app install telemetry: ",re);const Ie=new G.iQN(me);this.telemetry.push(Ie)}))}getTargetVersion(){return(0,u.isNil)(this.pendingUpdate)?null:this.pendingUpdate.version}checkLastInstallationStatus(){this.osType$.pipe((0,In.p)(Te=>Te===P.t_.Windows||Te===P.t_.SteamOS),(0,ce.ZZ)(()=>this.bridgeService.executeCommand(On.Ts.Common.Applicationcontrol.RequestLastInstallerStatus))).subscribe(Te=>{this.logger.info("RequestLastInstallerStatus response: ",Te),Te&&!(0,u.isEmpty)(null==Te?void 0:Te.errorcode)?this.showUpdateDownloadFailureErrorDialog(Te.errorcode):(this.logger.error("RequestLastInstallerStatus data is not valid."),this.checkUpdateDownloadFailure())},Te=>{this.logger.error("RequestLastInstallerStatus returns error: ",Te),this.checkUpdateDownloadFailure()}),this.osType$.pipe((0,In.p)(Te=>Te===P.t_.MacOS),(0,ie.M)(()=>this.checkUpdateDownloadFailure())).subscribe()}checkUpdateDownloadFailure(){this.ipcService.get$(Lt.kN.UpdateCheckFailure).subscribe(Ke=>{this.logger.info("UpdateCheckFailure response: ",Ke),this.showUpdateDownloadFailureErrorDialog(null,mi.UpdateCheckFailure,Ke)},Ke=>this.logger.error("Error checking UpdateCheckFailure: ",Ke)),this.ipcService.get$(Lt.kN.DownloadPrepareFailure).subscribe(Ke=>{this.logger.info("DownloadPrepareFailure respopnse: ",Ke),this.showUpdateDownloadFailureErrorDialog(null,mi.DownloadFailure,Ke)},Ke=>this.logger.error("Error checking DownloadPrepareFailure: ",Ke)),this.ipcService.get$(Lt.kN.SelfUpdateThresholdNotReached).subscribe(Ke=>this.logger.info("SelfUpdateThresholdNotReached respopnse: ",Ke),Ke=>this.logger.error("Error checking SelfUpdateThresholdNotReached: ",Ke));const Te={type:Lt.kN.SelfUpdateStatus,content:"",sender:Lt.pQ.GfnMall,recipient:Lt.pQ.GfnUpdater};this.logger.info("Sending IPC message for checking self update status:",Te),this.ipcService.pushMessage(Te).pipe((0,p.s)(1)).subscribe(Ke=>this.logger.info("SelfUpdateStatus requested: ",Ke),Ke=>this.logger.error("Error checking SelfUpdateStatus: ",Ke))}errorDialogLinkClicked(){this.logger.info("App manual download link clicked"),this.osType$.pipe((0,p.s)(1),(0,Jt.T)(Te=>{let Ke,m="";return Te===P.t_.SteamOS?(Ke=ae.r7.GfnPcHelpLinuxInstallation,m=ae.lp[ae.r7.GfnPcHelpLinuxInstallation]):Ke=ae.r7.GfnPcDownload,{redirectUrl:Ke,shortUrl:m}})).subscribe(({redirectUrl:Te,shortUrl:Ke})=>{this.redirectService.openRedirectUrl(Te,Ke)})}showUpdateDownloadFailureErrorDialog(Te,Ke=mi.InstallationFailure,m){var re;let me=G.Mwe.InstallationAttemptExhausted;Ke===mi.DownloadFailure?me=G.Mwe.DownloadAttemptExhausted:Ke===mi.UpdateCheckFailure&&(me=G.Mwe.UpdateCheckAttemptsExhausted),this.sendSelfUpdateTelemetry(me,G._aO.PopupShown,null!=Te?Te:"",G.fbu.Failure,null!=m?m:"");const St={text:null!==(re=this.appConfig.selfUpdate)&&void 0!==re&&re.showLearnMoreKBA?"common.learnMore":"notification.getLatestApp",linkClickedCallback:this.errorDialogLinkClicked.bind(this)};let xt;Te&&(xt={text:"error.errorCode",placeholders:{errorCode:Te}});const Zt=Ke===mi.InstallationFailure||Ke===mi.DownloadFailure?"notification.updateFailureTitle":"notification.updateFailureCheckTitle",gn=Ke===mi.InstallationFailure||Ke===mi.DownloadFailure?"notification.updateFailureNotification":"notification.updateFailureCheckBody";this.isUpdateErrorDialogOnScreen.next(!0);const ln=this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:Zt},bodyText:{text:gn},primaryButton:{text:"common.close"},link:St,errorCodeText:Te?xt:null}});ln.primaryButtonClick.pipe((0,p.s)(1)).subscribe(()=>{this.logger.info("close clicked "),this.isUpdateErrorDialogOnScreen.next(!1),ln.close()})}sendSelfUpdateTelemetry(Te,Ke,m,re,me){const Ie=new G.OCG({category:Te,action:Ke,errorDetails:m,status:re,newVersion:me});this.telemetry.push(Ie)}}(Ri=si).zeroVersion=new ii("0"),Ri.\u0275fac=function(Te){return new(Te||Ri)(i.KVO(Lt.Uj),i.KVO(P.J6),i.KVO(At.Vk),i.KVO(P.dU),i.KVO(pi.yQ),i.KVO(A.H0),i.KVO(G.jgD),i.KVO(P.NZ),i.KVO(P.zW),i.KVO(o.uh),i.KVO(ae.Q5),i.KVO(Si.Hm),i.KVO(eo.UG),i.KVO(O.c$))},Ri.\u0275prov=i.jDH({token:Ri,factory:Ri.\u0275fac,providedIn:"root"});let Io=(()=>{var be;class Te{constructor(){}}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275cmp=i.VBU({type:be,selectors:[["html"]],decls:10,vars:0,consts:[["charset","UTF-8"],["onload","sendErrorMessage()",2,"background-color","#1a1a1a","font-family","Roboto, sans-serif"],[2,"position","absolute","top","50%","left","50%","margin-right","50%","transform","translate(-50%, -50%)"],["aria-hidden","true",2,"color","rgba(255, 255, 255, .3)","width","410px","text-align","center"],["src","data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjNWE1YTVhIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxNWgtMnYtNmgydjZ6bTAtOGgtMlY3aDJ2MnoiLz48L3N2Zz4="],[2,"color","rgba(255, 255, 255, .3)","width","410px","text-align","center"]],template:function(m,re){1&m&&(i.j41(0,"head"),i.nrm(1,"meta",0),i.j41(2,"title"),i.EFF(3,"NVIDIA GeForce NOW"),i.k0s()(),i.j41(4,"body",1)(5,"div",2)(6,"p",3),i.nrm(7,"img",4),i.k0s(),i.j41(8,"p",5),i.EFF(9," #pageCouldNotBeLoaded "),i.k0s()()())},encapsulation:2}),Te})(),Do=(()=>{var be;class Te{constructor(m,re){this.translate=m,this.bridgeService=re}load(m){return this.translateStringTable(m.translateStringTable).pipe((0,ce.ZZ)(re=>{const me={...re,...m.staticStringTable};return this.bridgeService.executeCommand(On.Ts.Common.Applicationcontrol.LoadStringTable,{stringTable:me})}))}translateStringTable(m){if((0,u.isNil)(m))return(0,j.of)(m);const re=Object.keys(m),me=Object.values(m);return this.translate.get(me).pipe((0,Jt.T)(Ie=>{const Ve={};return me.forEach((Je,it)=>{Ve[re[it]]=Ie[Je]}),Ve}))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(O.c$),i.KVO(P.NZ))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})(),To=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je){this.injector=m,this.stringTableService=re,this.configuration=me,this.translate=Ie,this.localeService=Ve,this.logger=Je.getLogger("gfn-shared/GfnStringTableService")}load(){return this.localeService.localeChanged.pipe((0,ce.ZZ)(m=>{const re=this.injector.get(i.o8S),Ve=`${(0,i.a0P)(Io,{environmentInjector:re.injector}).location.nativeElement.innerHTML}`,Je={translateStringTable:{quitMenuItem:"common.quit"},staticStringTable:{userAgent:this.configuration.client.userAgent+"/"+this.configuration.build.version,onLoadError:Ve,acceptLanguage:m}},it=["error.pageCouldNotBeLoaded","common.retry"],St=["#pageCouldNotBeLoaded","#retry"];return this.translate.get(it).pipe((0,ce.ZZ)(xt=>(it.forEach((Zt,gn)=>{Je.staticStringTable.onLoadError=Je.staticStringTable.onLoadError.replace(St[gn],xt[Zt])}),this.stringTableService.load(Je))),(0,Yt.W)(xt=>(this.logger.error("Could not translate static strings ",xt),this.stringTableService.load(Je))))}))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(i.zZn),i.KVO(Do),i.KVO(At.Vk),i.KVO(O.c$),i.KVO(P.iH),i.KVO(P.J6))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var to=t(21341),Xn=t(17290),Ni=t(3496),jo=t(25590),Ki=t(34593),Ro=t(10749),vo=t(21333),no=t(45903),Zo=t(33089),ki=t(89917),fo=t(46356),Co=t(8094),ai=t(11346);let Ao=(()=>{var be;class Te{constructor(m,re,me){this.idmService=m,this.loggingService=re,this.sharedStorageService=me,this.currentUserId="undefined",this.currentUserConsent=A.wx,this.userConsentFetchedSubject=new yn.m(1),this.logger=this.loggingService.getLogger("UserConsentWrapperService")}initialize(){this.readSharedStorageConsent(),this.onUserAccountStatusChanged(),this.onJarvisUserDataChanged()}hasUserIdChanged(m){return!(0,u.isEqual)(this.currentUserId,m)}hasUserConsentChanged(m){return!(0,u.isEqual)(this.currentUserConsent,m)}setCurrentUserData(m,re){this.currentUserId=m,this.currentUserConsent=re}readSharedStorageConsent(){this.sharedStorageService.readBlock("userConsentInfo").subscribe(m=>{!(0,u.isUndefined)(m)&&this.hasUserIdChanged(m.userId)&&this.hasUserConsentChanged(m.userConsent)&&(this.setCurrentUserData(m.userId,m.userConsent),this.userConsentFetchedSubject.next({userId:m.userId,externalUserId:m.externalUserId,idpId:m.idpId,userConsent:m.userConsent}))})}onUserAccountStatusChanged(){this.idmService.accountStatusChanged.subscribe(m=>{if(m.isAuthenticated){const re=(0,Co.A$)(m);this.hasUserIdChanged(m.userId)&&this.hasUserConsentChanged(re)&&(this.setCurrentUserData(m.userId,re),this.userConsentFetchedSubject.next({userId:m.userId,externalUserId:m.externalId,idpId:m.idpId,userConsent:re}))}else this.setCurrentUserData(m.userId,A.bC),this.userConsentFetchedSubject.next({userId:"",externalUserId:"",idpId:"",userConsent:void 0})})}onJarvisUserDataChanged(){this.idmService.accountStatusChanged.subscribe(m=>{if(m.isAuthenticated){const re=(0,Co.A$)(m);this.hasUserIdChanged(m.userId)&&this.hasUserConsentChanged(re)&&(this.setCurrentUserData(m.userId,re),this.userConsentFetchedSubject.next({userId:m.userId,externalUserId:m.externalId,idpId:m.idpId,userConsent:re}))}else this.hasUserIdChanged(m.userId)&&this.userConsentFetchedSubject.next({userId:"",externalUserId:"",idpId:"",userConsent:void 0})})}getUserConsentFetchedSubjectObservable(){return this.userConsentFetchedSubject.asObservable()}getLogoutInitiatedNotification(){return this.idmService.getLogoutInitializeNotification()}sameTabAuthStarted(){return this.idmService.sameTabAuthStarted()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(ai.k_),i.KVO(P.J6),i.KVO(pi.yQ))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();const vi="saveAppInstanceId";let oo=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt,Zt,gn){this.appConfig=m,this.systemInfoService=re,this.telemetryService=me,this.remoteLoggingService=Ie,this.userConsentWrapperService=Ve,this.loggingService=Je,this.sharedStorageService=it,this.logQueueService=St,this.gfnWebWorkerService=xt,this.telemetryUtilService=Zt,this.injector=gn,this.defaultConsent=A.wx,this.appInstanceIdSubject=new Kn.t(""),this.appInstanceId=P.Qe,this.waitForLogRestore$=new yn.m(1),this.eventParamIds={streamSessionId:"",surveySessionId:""},this.clientVersion="",this.logger=this.loggingService.getLogger("GfcHelperService")}restoreAllData(){null!==window.sessionStorage.getItem(vi)&&(this.remoteLoggingService.restoreSavedLogs(),this.appInstanceId=window.sessionStorage.getItem(vi),window.sessionStorage.removeItem(vi)),this.waitForLogRestore$.next(!0)}getLogoutInitializeNotification(){this.userConsentWrapperService.getLogoutInitiatedNotification().subscribe(m=>{this.remoteLoggingService.handleExternalUrlLoad()})}saveLogsOnLoginClick(){this.logger.info("Subscribing to Login initiated notification"),this.userConsentWrapperService.sameTabAuthStarted().subscribe(m=>{m===fo.l4.LoginStarted&&(this.logger.info("Received notification for ",m),window.sessionStorage.setItem(vi,this.appInstanceId),this.remoteLoggingService.saveLogsToSessionStorage(),this.logger.info("Completed saving appInstanceId and Logs"))})}initialize(m,re=this.eventParamIds){this.clientVersion=m,this.restoreAllData(),this.saveLogsOnLoginClick();const me=this.appConfig.gfcFeedbackEvents;this.remoteLoggingService.setBufferConfiguration({msBetweenChunkCreation:me.msBetweenChunkCreation,maxBufferSizeInBytes:me.maxBufferSizeInBytes,chunksQueueSize:me.chunksQueueSize,chunkResendRetryLimit:me.chunkResendRetryLimit}),this.userConsentWrapperService.initialize(),this.prepareAllGfcEventParams(re),this.registerForTimerRequests().subscribe(u.noop,Ie=>{this.logger.error("Error getting timer updates")}),this.telemetryService.getDefaultClientConsentObserable().subscribe(()=>{this.defaultConsent=A.bC,this.remoteLoggingService.defaultConsentLevel=A.bC}),this.getLogoutInitializeNotification()}onTimerUpdate(m){m===ki.Yk.Timeout||m===ki.Yk.Cleared?this.logQueueService.updateTimer(m):this.logger.error("Error polling for idle timeout: ",m)}registerForTimerRequests(){return this.logQueueService.timerSubscriptionChanged().pipe((0,ri.n)(m=>this.gfnWebWorkerService.intervalHandler(m,this.onTimerUpdate.bind(this))))}buildGFNPCLogsFeedbackData(m){return this.systemInfoService.getSystemInfo([P.Lu.BrowserName,P.Lu.BrowserVersion,P.Lu.OSName]).pipe((0,Jt.T)(re=>{const me=(0,u.extend)({},{appInstanceId:m.appInstanceId,streamSessionId:m.streamSessionId||"",browserName:re.BrowserName||"",browserVersion:re.BrowserVersion||"",osName:re.OSName||"",streamSubSessionIds:[],surveySessionId:m.surveySessionId||""});return this.logger.info("Prepared gfc feedback event params."),this.remoteLoggingService.prepareGfcFeedbackEventParams(me),!0}))}setAppInstanceIdInIndexedDb(m){return this.sharedStorageService.writeBlock("gfc",{appInstanceId:m})}prepareGfnPcLogsEventParams(m){let re;return this.waitForLogRestore$.pipe((0,ce.ZZ)(me=>(this.appInstanceId===P.Qe&&(this.appInstanceId=(0,ue.bz)()),this.setAppInstanceIdInIndexedDb(this.appInstanceId))),(0,ce.ZZ)(me=>(re=me,m.appInstanceId=this.appInstanceId,this.buildGFNPCLogsFeedbackData(m))),(0,ie.M)(me=>{re&&(console.log("Application InstanceId: ",this.appInstanceId),this.appInstanceIdSubject.next(this.appInstanceId))}))}getClientVariantType(m){switch(m){case"ibeta":return P.zg.iBeta;case"release":return P.zg.Release;default:return P.zg.Undefined}}fetchCommonDataFromSystem(m,re){return(0,xn.zV)([this.systemInfoService.getSystemInfo([P.Lu.DeviceId,P.Lu.OSName,P.Lu.OSVersion,P.Lu.SystemName,P.Lu.DeviceType,P.Lu.BrowserName]),this.userConsentWrapperService.getUserConsentFetchedSubjectObservable()]).pipe((0,Jt.T)(([me,Ie])=>{var Ve,Je;const it={clientVer:this.clientVersion,deviceId:me.DeviceId,sessionId:this.telemetryService.telemetrySessionId,feedbackId:this.telemetryService.telemetrySessionId,feedbackName:m,fileList:re,clientType:P.sK.Browser,clientVariant:this.getClientVariantType(this.appConfig.build.variant),deviceOS:me.OSName,deviceOSVersion:null!==(Ve=me.OSVersion)&&void 0!==Ve?Ve:P.Qe,deviceMake:P.Qe,deviceModel:me.SystemName||P.Qe,deviceType:me.DeviceType,browserType:null!==(Je=me.BrowserName)&&void 0!==Je?Je:P.Qe,integrationId:this.telemetryUtilService.getIntegrationId(),deviceGdprFuncOptIn:this.defaultConsent.functional,deviceGdprTechOptIn:this.defaultConsent.technical,deviceGdprBehOptIn:this.defaultConsent.behavioral,productName:this.appConfig.gfcFeedbackEvents.productName,productVersion:this.clientVersion||P.Qe};return this.logger.trace(ue.N_.UserDetails,ue.YD.UserInfo,"Feedback id is "+it.feedbackId),this.logger.trace(ue.N_.UserDetails,ue.YD.UserInfo,"Client version is "+it.clientVer),(0,u.isEmpty)(Ie.userId)||Ie.userId===P.Qe?(it.userId=P.Qe,it.externalUserId=P.Qe,it.idpId=P.Qe):(it.userId=Ie.userId,it.externalUserId=Ie.externalUserId,it.idpId=Ie.idpId),null!=Ie&&Ie.userConsent&&(it.gdprFuncOptIn=Ie.userConsent.functional,it.gdprTechOptIn=Ie.userConsent.technical,it.gdprBehOptIn=Ie.userConsent.behavioral),it}),(0,Yt.W)(me=>(this.logger.error("Error fetching common device info: ",me),(0,cn.$)(me))))}prepareFeedbackEventCommonParameters(){return console.log("telemetry sessionId/feedbackId ",this.telemetryService.telemetrySessionId),this.fetchCommonDataFromSystem("GFNPCLogs",[{name:"mall_console.txt",type:"file/gfnwebobfuscation"}]).pipe((0,ri.n)(re=>(this.remoteLoggingService.prepareFeedbackCommonEventData(re),this.logger.info("Prepared common gfc feedback event params."),(0,j.of)(!0))),(0,Yt.W)(re=>(this.logger.error("Error fetching systeminfo or deviceId: ",re),(0,j.of)(!1))))}prepareAllGfcEventParams(m){const re=this.prepareFeedbackEventCommonParameters(),me=this.prepareGfnPcLogsEventParams(m);(0,le.yU)(re,me).subscribe(Ie=>{!(0,u.isUndefined)(Ie)&&Ie[0]&&Ie[1]&&this.handleUserConsentUpdates()})}handleUserConsentUpdates(){this.userConsentWrapperService.getUserConsentFetchedSubjectObservable().subscribe(m=>{(0,u.isEmpty)(m.userId)?this.remoteLoggingService.prepareFeedbackCommonEventData({userId:P.Qe}):(m.userId!==P.Qe||!(0,u.isEmpty)(m.userId))&&(this.remoteLoggingService.prepareFeedbackCommonEventData({userId:m.userId}),this.remoteLoggingService.setUserConsent({userId:m.userId,externalUserId:m.externalUserId,idpId:m.idpId,userConsent:m.userConsent}))})}updateEventDataParamIds(m){this.remoteLoggingService.updateEventDataParamIds(m)}getAppInstanceId(){return this.appInstanceIdSubject.asObservable()}terminateRemoteLogSession(){this.logger.info("Terminating log collection."),this.remoteLoggingService.stopFeedbackUpload()}triggerExceptionInfoUpload(m){const re=this.injector.get(Zo.NO);if(re){this.logger.info("EndPoints service available");const{exceptionTrace:me,...Ie}=m;(0,xn.zV)([this.remoteLoggingService.feedbackId$,this.fetchCommonDataFromSystem("GFNUIException")]).pipe((0,p.s)(1),(0,ce.ZZ)(([Ve,Je])=>{this.logger.info("feedbackId:",Ve),Je.clientTs=(new Date).toISOString(),Je.feedbackId=(0,ue.bz)();let it=!1;Je.gdprTechOptIn===P.Rg.Full&&(Je.fileList=[{name:"exception_trace.txt",type:"file/js-stacktrace"}],it=!0),this.logger.info("Common data:",Je);const St={...Je,parameters:{...Ie}};return St.parameters.logsFeedbackId=Ve,re.sendFeedbackBasedOnTechConsent(St,it,me)})).subscribe(()=>{this.logger.info("Exception data sent successfully")},Ve=>{this.logger.info("Error uploading exception info:",Ve)})}else this.logger.info("EndPoints service not available, not uploading the feedback event")}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(At.Vk),i.KVO(P.zW),i.KVO(A.H0),i.KVO(P.Vn),i.KVO(Ao),i.KVO(P.J6),i.KVO(pi.yQ),i.KVO(P.V9),i.KVO(ki.JS),i.KVO(G.jgD),i.KVO(i.zZn))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var nn=t(76449);let fi=(()=>{var be;class Te extends vo.tg{constructor(m,re,me){super(m.getLogger("shared/CustomExceptionService"),re,me),this.exceptionDataList=new Map,this.exceptionEvent$=new k.B7}handleClientSideException(m,re){this.registerExceptionLimiter(),this.timeLimiter=re.exceptionTimeLimiter,this.exceptionEvent$.next(m)}sendExceptionTrace(m){try{this.distributedTracingUtilService=this.injector.get(nn.Z1);const re=this.distributedTracingUtilService.startSpan(nn.pB.GFNUIException);this.distributedTracingUtilService.setSpanAttribute(re,nn.NS.ErrorMessage,m.message),this.distributedTracingUtilService.setSpanAttribute(re,nn.NS.ErrorStack,m.exceptionString);const me=this.injector.get(vo.sT);this.distributedTracingUtilService.setSpanAttribute(re,nn.NS.DevMode,me.devMode),this.distributedTracingUtilService.closeSpan(re)}catch(re){this.logger.error("Error while sending exception trace: ",re)}}registerExceptionLimiter(){let m;const re=this.injector.get(no.a),me=this.injector.get(At.Vk);this.exceptionEvent$.pipe((0,In.p)(Ie=>(m={message:Ie.message,fileName:"",stackFrameSource:"",exceptionTrace:Ie.exceptionString},!this.exceptionMatchFound(Ie.name,m))),(0,ie.M)(Ie=>{var Ve,Je,it;this.exceptionDataList.set(Ie.name,m),this.logger.info("Added exception data list of size: ",this.exceptionDataList.size);const St=this.injector.get(G.jgD);this.sendExceptionTelemetry(Ie,St),this.sendExceptionTrace(Ie);const xt={name:null!==(Ve=Ie.name)&&void 0!==Ve?Ve:"",message:null!==(Je=Ie.message)&&void 0!==Je?Je:"",exceptionTrace:null!==(it=Ie.exceptionString)&&void 0!==it?it:"",logsFeedbackId:""};if(P.zk.isBrowserPlatform()){const Zt=this.injector.get(oo);Zt?(Zt.triggerExceptionInfoUpload(xt),this.logger.info("Exception upload triggered")):this.logger.info("Could not inject GfcHelperService")}else St.triggerExceptionInfoUpload(xt)}),(0,jo.E)(re.remoteConfigFetched$.pipe((0,Ki.Z)({overrides:{},config:me}))),(0,Ro.p)(([Ie,Ve])=>((0,u.has)(Ve,"config.exception")&&(this.timeLimiter=Ve.config.exception.exceptionTimeLimiter),this.logger.info("Exception rate limit timer started: ",this.timeLimiter),(0,Ni.O)(this.timeLimiter)))).subscribe(()=>{this.clearExceptionDataList()})}exceptionMatchFound(m,re){let me=!1;return!(0,u.isNil)(this.exceptionDataList)&&!(0,u.isEmpty)(this.exceptionDataList)&&this.exceptionDataList.has(m)&&(me=(0,u.isEqual)(re,this.exceptionDataList.get(m))),me}clearExceptionDataList(){this.logger.info("clearing exception data list"),this.exceptionDataList.clear()}sendExceptionTelemetry(m,re){var me,Ie,Ve;this.logger.info("Sending Exception telemetry event"),this.injector.get(A.H0).push(new G.fBK({clientType:re.getClientType(),name:null!==(me=m.name)&&void 0!==me?me:"",message:null!==(Ie=m.message)&&void 0!==Ie?Ie:"",fileName:"",stackFrameSource:"",exceptionTrace:null!==(Ve=m.exceptionString)&&void 0!==Ve?Ve:""}))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(i.zZn),i.KVO(B.bZ))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac}),Te})();var Fi=On.Or.Common.Discord.DiscordAsset;let Xo=(()=>{var be;class Te{get isDiscordDataReady$(){return this.isDiscordDataReadySubject.asObservable()}constructor(m,re,me,Ie,Ve){this.bridgeService=re,this.settingsService=me,this.appConfig=Ie,this.translate=Ve,this.isDiscordDataReadySubject=new k.B7,this.logger=m.getLogger("DiscordService"),this.discordRpEnabled=dn.y9.discordRpEnabled,this.featureEnabled=this.appConfig.featureEnablement.discordRichPresence&&P.zk.isCefPlatform()||!1,this.settingsService.getSettingsData().subscribe(Je=>{this.discordRpEnabled=(0,u.get)(Je,"discordRpEnabled",dn.y9.discordRpEnabled),this.isDiscordDataReadySubject.next()},Je=>{this.logger.error("Failed to get settings data",Je),this.isDiscordDataReadySubject.next()})}updatePresence(m){!this.featureEnabled||!m||this.translate.get("discord.playing",{title:m}).subscribe(re=>{this.currentPresence={details:re.trim().substring(0,128),largeImageKey:Fi.Large},this.discordRpEnabled&&this.updatePresenceCommand(this.currentPresence)})}clearPresence(){!this.featureEnabled||!this.currentPresence||(this.currentPresence=null,this.clearPresenceCommand())}updatePresenceCommand(m){(0,u.isEmpty)(m)||(this.logger.info("Updating rich presence with params",m),this.bridgeService.executeCommand(On.Ts.Common.Discord.UpdatePresence,m).subscribe())}clearPresenceCommand(){this.logger.info("Clearing rich presence"),this.bridgeService.executeCommand(On.Ts.Common.Discord.ClearPresence,{}).subscribe()}setDiscordEnabled(m){this.discordRpEnabled=m,m?this.updatePresenceCommand(this.currentPresence):this.clearPresenceCommand()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(P.NZ),i.KVO(dn.h$),i.KVO(At.Vk),i.KVO(O.c$))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var Lo=t(98231);let Jo=(()=>{var be;class Te{constructor(m,re,me,Ie){this.loggingService=m,this.networkConfigurationService=re,this.gridService=me,this.logger=this.loggingService.getLogger("gfn/startupService")}checkAndFixOverrideZone(){const m=[],re=this.gridService.zoneList$.pipe((0,Yt.W)(me=>(this.logger.error("failed to get zones",me),(0,j.of)({}))));return m.push(re),m.push(this.networkConfigurationService.getNetworkOverride()),(0,le.yU)(...m).pipe((0,ce.ZZ)(me=>{const Ie=me[0],Ve=me[1];return(0,u.isNil)(Ve)||Ve.isInternal||-1!==((0,u.isNil)(Ie)?[]:Object.values(Ie)).findIndex(St=>St.address===Ve.address&&St.name===Ve.name)?(0,j.of)(!0):(this.logger.info("Zone override present and not available in the zonesList, clearing the NetworkOverride"),this.networkConfigurationService.clearNetworkOverride())}))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(to.uU),i.KVO(Xt.G),i.KVO(Lo.S))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var ro=function(be){return be.StartRelaunch="StartRelaunch",be.CheckForceStatus="CheckForceStatus",be.AppContextSwitch="AppContextSwitch",be.SendIpcShutdown="SendIpcShutdown",be.FinishRelaunch="FinishRelaunch",be.Done="Done",be}(ro||{});class so{constructor(Te,Ke,m,re){this.applicationLifetimeService=Te,this.sharedStorageService=Ke,this.updateService=m,this.stateMachineStatusSubject=new yn.m(1),this.isRelaunchFromStreamer=!1,this.sharedStorageKey="relaunchData",this.relaunchShutdownHandler=()=>(0,j.of)(void 0),this.logger=re.getLogger("crimson/relaunchService")}startRelaunch(Te,Ke=!1){return this.isActive()?(0,cn.$)("Relaunch started when one was already active"):(this.isRelaunchFromStreamer=Ke,this.stateMachineStatusSubject.next(ro.StartRelaunch),this.relaunchData=this.createNewRelaunchData(Te),this.startRelaunchInternal())}createNewRelaunchData(Te){return{active:!0,force:Te}}cancelRelaunch(){this.isActive()?this.logger.error("cancelRelaunch called when relaunch wasn't started"):this.relaunchData.active=!1}shutdownDueToIpc(){return this.logger.info("Shutting down due to IPC request"),this.relaunchShutdownHandler().pipe((0,ie.M)(()=>this.applicationLifetimeService.shutdownApplication(_.pu.IpcRequestedExit)),(0,hi.u)(void 0))}startRelaunchInternal(){return this.isCancelled()?(0,cn.$)("Relaunch Cancelled"):this.onRelaunch()}setRelaunchShutdownHandler(Te){this.relaunchShutdownHandler=(0,u.isNil)(Te)?()=>(0,j.of)(void 0):Te}appendRelaunchSharedData(Te){return this.readRelaunchSharedData().pipe((0,Jt.T)(Ke=>((0,u.isNil)(Ke)&&(Ke={}),(0,u.merge)(Ke,Te),Ke)),(0,ce.ZZ)(Ke=>this.writeRelaunchSharedData(Ke)))}clearRelaunchSharedData(){return this.writeRelaunchSharedData({})}readRelaunchSharedData(){return this.sharedStorageService.readBlock(this.sharedStorageKey)}isActive(){return!(0,u.isNil)(this.relaunchData)&&this.relaunchData.active}currentState(){return this.stateMachineStatusSubject.asObservable()}isCancelled(){return!(0,u.isNil)(this.relaunchData)&&!this.relaunchData.active}onRelaunch(){return this.stateMachineStatusSubject.next(ro.FinishRelaunch),this.relaunchShutdownHandler().pipe((0,ce.ZZ)(()=>this.appendRelaunchSharedData({releaseHighlight:!0})),(0,ce.ZZ)(()=>this.updateService.updateApplication$(this.isRelaunchFromStreamer)),(0,ce.ZZ)(()=>this.onDone()))}onDone(){return this.stateMachineStatusSubject.next(ro.Done),this.cancelRelaunch(),(0,j.of)(!0)}writeRelaunchSharedData(Te){return this.sharedStorageService.writeBlock(this.sharedStorageKey,Te)}}var _o=t(61904);let ao=(()=>{var be;class Te{}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275mod=i.$C({type:be}),be.\u0275inj=i.G2t({imports:[e.MD,_o.z_]}),Te})();t(9544),t(15074);var Ei=t(54594),So=t(82973),ui=t(42088);const co="releaseHighlightStatus",Bi="releaseHighlightsOnAppUpdate",V={go:"IN",sM:"32GB",osC:"10.0",osB:"7601",is6:"1",GFPV:"385.69",iLp:"0"},dt={name:"gfnReleaseHighlightsHtml",classPath:ui.cK.services,clientPath:ui.bq.GfeClient,endpointPath:"/getStyledClientReleaseHighlightsHtml",method:ui.Xt.Get,paramMask:["cNm","cmID","gcV","lg","gLg","go","cID","dIDa","sM","osC","osB","is6","GFPV","gIsB","iLp","isO","isSLI","cSR","isInst","Plt","clVt"]};let gr=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt,Zt){var gn,ln;this.localService=me,this.matDialog=Ie,this.aemService=Ve,this.sharedStorage=Je,this.remoteConfigurationService=it,this.telemetryUtilService=St,this.systemInfoService=xt,this.focusManager=Zt,this.releaseHighlightsData={shown:!1},this.aemEndpointDefintions=[],this.aemEndpointDefintions.push(dt),this.logger=re.getLogger("gfn/releaseHighlights"),this.aemService.addEndpointDefinitions(this.aemEndpointDefintions),this.clientVariant=this.telemetryUtilService.getClientVariant(),this.mobileMode=!(null==m||null===(gn=m.featureEnablement)||void 0===gn||!gn.mobileMode),this.showBackButton=!(null==m||null===(ln=m.backNavigation)||void 0===ln||!ln.showBackButton)}getReleaseHighlight(){return this.getAemReleaseHighlights().pipe((0,Jt.T)(m=>({title:"common.releaseHighlights",subTitle:"",body:m.body.gfcontent.body,style:"dialog-service-container-size"})))}getPlatformParameter(){return P.zk.isBrowserPlatform()?this.systemInfoService.getSystemInfo([P.Lu.OSName]).pipe((0,Jt.T)(m=>(0,Ht.Df)(m.OSName))):P.zk.isAndroidPlatform()?(0,j.of)(P.t_.Android):this.systemInfoService.getSystemInfo([P.Lu.Platform,P.Lu.OSName]).pipe((0,Jt.T)(m=>{const re=m.Platform;return re===P.aI.Linux?m.OSName===P.t_.SteamOS?P.t_.SteamOS:P.t_.Linux:re}))}getAemReleaseHighlights(){return(0,le.yU)(this.localService.localeChanged,this.getPlatformParameter()).pipe((0,ce.ZZ)(([m,re])=>this.aemService.callAemEndpoint("gfnReleaseHighlightsHtml",{cmID:"",gcV:this.clientVersion,gLg:m,lg:"",...V,cNm:P.zk.isNativeLikePlatform()?"gfn":"gfnb",isInst:this.isInstallScenario,Plt:re,clVt:this.clientVariant},{originalService:G.Uu$.Aem,serviceUseCase:G.OOF.Get_Release_Highlights},{},{"Content-Type":"text/plain"},void 0)))}updateReleaseHighlightsStatusInSharedStorage(m){return this.sharedStorage.writeBlock(co,{appVersion:m,isDialogShown:!0})}showReleaseHighlightsFromRemoteConfig(m){return this.remoteConfigurationService.remoteConfigFetched$.pipe((0,ce.ZZ)(re=>{const me=new ii(m);if((0,u.isNil)(re.config)||(0,u.isNil)(re.config.releaseHighlights))return this.logger.info("Remote config value not set for Release highlights."),(0,j.of)(!1);{const Ie=re.config.releaseHighlights.showReleaseHighlightsForAppVersion;return this.logger.info("Remote config value for Release highlights: ",Ie),me.compare(new ii(Ie))===An.Equal?this.updateReleaseHighlightsStatusInSharedStorage(me.toString()).pipe((0,ce.ZZ)(()=>(0,j.of)(!0))):(this.logger.info("Remote config version does not match the app versions."),(0,j.of)(!1))}}))}showReleaseHighlightsFromSharedStorage(m){return this.sharedStorage.readBlock(co).pipe((0,ce.ZZ)(re=>(0,u.isNil)(re)||(0,u.isEmpty)(re)?(0,j.of)(!0):re.appVersion===m?(0,j.of)(!re.isDialogShown):(this.logger.info("Old version value present in shared storage. Clearing"),this.sharedStorage.writeBlock(co,{}).pipe((0,hi.u)(!0)))))}onShowReleaseHighlight(m,re,me){if(this.clientVersion=re,this.isInstallScenario=me,!m||!this.releaseHighlightsData.shown){this.releaseHighlightsData.shown=!0;const Ie={autoFocus:!1,hasBackdrop:!0,disableClose:!1,restoreFocus:!1,panelClass:["dialogPaddingRemove","small-screen-overlay-panel"],enterAnimationDuration:"0ms"};return Ie.data={getArticleCallback:()=>this.getReleaseHighlight(),autoCloseOnError:m,noInformationAvailableTxt:"releaseHighlights.noInformationAvailable",closeTxt:"common.close",dialogType:L.Release_Highlights,isInstallationScenario:this.isInstallScenario,enableCloseButton:this.showBackButton},this.mobileMode&&(Ie.maxWidth="100vw"),this.focusManager.restoreFocusAfterClosed(()=>this.matDialog.open(c,Ie)),this.readReleaseHighlightsSkippedStatus(this.clientVersion).pipe((0,ce.ZZ)(Ve=>Ve?this.sharedStorage.writeBlock(Bi,{}):(0,j.of)(null))).subscribe()}}updateReleaseHighlightsSkippedStatus(m,re){return this.sharedStorage.writeBlock(Bi,{appVersion:m,isSkipped:re})}readReleaseHighlightsSkippedStatus(m){return this.sharedStorage.readBlock(Bi).pipe((0,ce.ZZ)(re=>re?re.appVersion===m?(0,j.of)(re.isSkipped):(this.logger.info("Old version value present in shared storage. Clearing"),this.sharedStorage.writeBlock(Bi,{}).pipe((0,hi.u)(!1))):(0,j.of)(!1)))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(At.Vk),i.KVO(P.J6),i.KVO(P.iH),i.KVO(B.bZ),i.KVO(ui.PZ),i.KVO(pi.yQ),i.KVO(no.a),i.KVO(G.jgD),i.KVO(P.zW),i.KVO(o.c_))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var No=t(37073),tr=(t(38006),t(1894)),Dn=t(14043),_n=t(78893),Nn=t(59062),Uo=t(99569),Un=t(82187),Bn=t(19392),yi=t(892),Vi=t(36877),Po=t(41346),Oo=t(70521);const ji={notificationType:Pn.$9.RequiredUpdate,icon:"info",messageStr:{key:"common.updateRequiredDescription"},primaryButtonText:"notification.refreshNow"};var zn=function(be){return be.RegistrationFailed="RegistrationFailed",be.RegistrationSuccess="RegistrationSuccess",be.NotSupported="NotSupported",be.Installed="Installed",be.ActivationOngoing="ActivationOngoing",be.Activated="Activated",be.ActivationError="ActivationError",be}(zn||{});const li=new Map([[zn.RegistrationFailed,kt.fbu.ServiceWorkerRegistrationFailed],[zn.RegistrationSuccess,kt.fbu.ServiceWorkerRegistrationSuccess],[zn.NotSupported,kt.fbu.ServiceWorkerNotSupported],[zn.Installed,kt.fbu.ServiceWorkerInstalled],[zn.ActivationOngoing,kt.fbu.ServiceWorkerActivationOngoing],[zn.Activated,kt.fbu.ServiceWorkerActivated],[zn.ActivationError,kt.fbu.ServiceWorkerActivationError]]);var ci=t(14354);let nt=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt){this.serviceWorkerService=m,this.appConfig=re,this.experienceControlService=Ie,this.router=Ve,this.deeplinkHelperService=Je,this.telemetryUtilService=it,this.telemetryService=St,this.bannerNotificationService=xt,this.appStartTs=Date.now(),this.refreshing=!1,this.updateServiceWorkerSilently=!1,this.swUpdateCheckInterval=144e5,this.appLaunchWindow=1e4,this.lastUpdateCheckTimestamp=Date.now(),this.timeCheckInterval=6e4,this.serviceWorkerInstalledOnce=new yn.m(1),this.swActivationTimedOut=new k.B7,this.shouldReloadOnActivation=!0,this.telemetryEventProcessingComplete=new k.B7,this.logger=me.getLogger("shared/service-worker-update.service"),this.appLaunchWindow=this.appConfig.selfUpdate.appLaunchWindow||this.appLaunchWindow,this.swUpdateCheckInterval=Math.max(this.appConfig.selfUpdate.swUpdateCheckInterval||this.swUpdateCheckInterval,3e4)}initialize(){this.serviceWorkerService.serviceWorkerSupported()?(this.serviceWorkerService.swUpdateReadyCached.subscribe(m=>{this.logger.info("Initialize: SW update event was cached")}),this.serviceWorkerService.swActivated.subscribe(m=>{this.logger.info("Initialize: SW activated"),this.serviceWorkerInstalledOnce.next(!0)}),this.serviceWorkerService.swIsActive()&&(this.logger.info("Initialize: SW already active"),this.serviceWorkerInstalledOnce.next(!0)),this.handleServiceWorkerActivated(),this.handleServiceWorkerInstalled(),this.autoUpdateOnAppLaunch(),this.periodicallyCheckForUpdates(),this.handleServiceWorkerActivationRequest(),this.checkForUpdatesAndAddBanner()):this.logger.info("Initialize: Service worker not supported"),this.sendServiceWorkerLaunchTelemetry()}get swActivationTimedOutNotification(){return this.swActivationTimedOut.asObservable()}updateReady(){return this.serviceWorkerService.swUpdateReadyCached.pipe((0,ie.M)(m=>this.logger.info("swUpdateCache returned event => ",m)),(0,In.p)(m=>null!==m&&!this.isSwUpdateWithinAppLaunchWindow(m.ts)&&!m.firstInstallation),(0,ce.ZZ)(m=>this.getWaitingSWClientVersion()),(0,In.p)(m=>m&&m.data.clientVersionString!==this.appConfig.build.version),(0,ie.M)(m=>this.logger.info("GFN SW Update Ready (outside app launch window)",m)))}checkForUpdates(){return this.withinAppLaunchWindow()?(this.logger.info("GFN SW Update skip update check in App launch window"),(0,j.of)({updateAvailable:!1,error:null})):this.checkForUpdatesInternal()}checkForUpdatesAndAddBanner(){P.zk.isBrowserPlatform()&&(this.logger.info("Service worker registering for updates"),this.updateReady().subscribe(()=>{this.logger.info("Service worker update ready. Showing notification.");const m=ji;m.onPrimaryButtonClick=this.onClickRefresh.bind(this),this.bannerNotificationService.addNotificationToQueue(m)}))}onClickRefresh(){this.logger.info("REFRESH NOW clicked. Requesting SW to activate"),this.activateServiceWorker().subscribe(m=>this.logger.info("SW activation result",m),m=>this.logger.info("SW activation err",m.toString()))}checkForUpdatesInternal(m){return this.lastUpdateCheckTimestamp=Date.now(),this.serviceWorkerInstalledOnce.pipe((0,p.s)(1),(0,ce.ZZ)(re=>this.checkForCanaryUpdate(m)),(0,ce.ZZ)(re=>(0,Bn.H)(this.serviceWorkerService.checkForUpdates()).pipe((0,p.s)(1))))}getCookie(m){const re=m.length+1;return document.cookie.split(";").map(me=>me.trim()).filter(me=>me.substring(0,re)===`${m}=`).map(me=>decodeURIComponent(me.substring(re)))[0]||"A"}sendCanaryTelemetry(m="",re="",me=""){if("B"===m||"B"===me){const Ie=new G.LCb({currentOriginCookieValue:m,gxtResponseValue:re,newOriginCookieValue:me});this.telemetryService.push(Ie)}}checkForCanaryUpdate(m){if(m||(0,_n.tE)(this.router.url)||(0,_n.tE)(document.location.hash.substr(1)))return this.logger.info("in streamer path or skip checking Canary update",m),(0,j.of)(!0);this.logger.info("checking GXT Canary Targeting");const re=location.pathname.indexOf("index.html"),me=-1===re?location.pathname:location.pathname.substr(0,re),Ie=this.getCookie("Request-Origin");let Ve="",Je="";return this.experienceControlService.getCloudVariable(this.appConfig.gxTarget.experiences.browserClientCanary,{domain:document.location.hostname,path:document.location.pathname},void 0,En.Ky.GxTargetGetCloudVariable,En.Id.GxTargetGetBrowserClientCanary).pipe((0,Jt.T)(it=>(this.logger.info("browser client canary GXT: ",it.value.isCanaryEnabled),Ve=JSON.stringify(it),it.value.isCanaryEnabled?(document.cookie=`Request-Origin=B; path=${me}; max-age=31536000; samesite=strict`,Je="B"):(document.cookie=`Request-Origin=A; path=${me}; max-age=31536000; samesite=strict`,Je="A"),this.sendCanaryTelemetry(Ie,Ve,Je),!0)),(0,Yt.W)(it=>(null===it.err&&"Empty cloud variable"===it.errorMessage?(Ve=JSON.stringify(it),this.logger.info("current path is not targeted, clearing cookie"),document.cookie=`Request-Origin=A; path=${me}; expires=${new Date(0).toUTCString()}`,Je="A"):(this.logger.error("error in fetching Canary GXT, keeping data as it is",it),Je=Ie),this.sendCanaryTelemetry(Ie,Ve,Je),(0,j.of)(!0))))}activateServiceWorker(){return this.logger.info("GFN SW Activation requested"),this.serviceWorkerService.activateServiceWorker()}reloadTab(){this.refreshing||(this.logger.info("Reloading the Tab"),window.location.reload()),this.refreshing=!0}finalizeActivation(){this.serviceWorkerService.postMessageSw({type:Oo.oY.GetClientVersion,content:""}),this.serviceWorkerService.swAssociatedClientVersion.pipe((0,p.s)(1)).subscribe(m=>{this.logger.info("Client Version of Associated SW and client is",m,this.appConfig.build.version),m!==this.appConfig.build.version&&this.shouldReloadOnActivation?this.reloadTab():this.swActivationTimedOut.next(!1)})}isSwUpdateWithinAppLaunchWindow(m){return m-this.appStartTsDate.now()-this.lastUpdateCheckTimestamp>=this.swUpdateCheckInterval),(0,ce.ZZ)(m=>this.checkForUpdates())).subscribe(m=>{this.logger.info("GFN SW Periodic Check: Result",m)},m=>this.logger.error("GFN SW Periodic Check: Error -",m.toString()))):this.logger.info("GFN SW Periodic Check: Skipping as not browser platform.")}clearUpdateCheckInterval(){var m;null===(m=this.updateIntervalSub)||void 0===m||m.unsubscribe(),this.updateIntervalSub=null}autoUpdateOnAppLaunch(){this.logger.info("GFN SW Auto Update: Init"),this.checkForUpdatesInternal(!P.zk.isBrowserPlatform()).pipe((0,In.p)(m=>m.updateAvailable&&this.withinAppLaunchWindow()&&this.deeplinkHelperService.allowApplicationReload()),(0,ce.ZZ)(m=>(this.logger.info("GFN SW Auto Update: Within launch window, requesting to activate."),this.activateServiceWorker()))).subscribe(m=>{this.logger.info("GFN SW Auto Update: Activation result",m)},m=>this.logger.error("GFN SW Auto Update: Request failed",m.toString()))}handleServiceWorkerActivatedInternal(m){this.logger.info("GFN SW Activated: New Service worker activated",m),null!=m&&m.firstInstallation||this.refreshing||P.zk.isCefPlatform()?(this.logger.info("GFN SW Activated: Will not reload."),this.updateServiceWorkerSilently=!1):this.updateServiceWorkerSilently?(this.logger.info("GFN SW Activated: Updated silently."),this.updateServiceWorkerSilently=!1,this.serviceWorkerService.clearSwUpdateCache()):(this.logger.info("GFN SW Activated: Reloading the page."),this.finalizeActivation())}handleServiceWorkerActivated(){this.logger.info("GFN SW Activated: Init"),this.serviceWorkerService.swActivated.pipe((0,ce.ZZ)(m=>(this.sendServiceWorkerStateTelemetry(zn.Activated,!0),(0,j.of)(m).pipe((0,Po.o)(re=>this.telemetryEventProcessingComplete.asObservable()))))).subscribe(m=>{this.handleServiceWorkerActivatedInternal(m)},m=>this.logger.error("GFN SW Activated: Error -",m.toString()))}handleServiceWorkerInstalled(){this.serviceWorkerService.swUpdateReady.subscribe(m=>{this.sendServiceWorkerStateTelemetry(zn.Installed,!0)})}sendServiceWorkerLaunchTelemetry(){(0,le.yU)(this.telemetryService.getDefaultClientConsentObserable(),this.telemetryService.getCommonDataObservable()).pipe((0,p.s)(1)).subscribe(m=>{if(this.serviceWorkerService.serviceWorkerSupported()){const re=this.serviceWorkerService.getSWRegistrationInfo();re&&this.sendServiceWorkerStateTelemetry(re.isSuccess?zn.RegistrationSuccess:zn.RegistrationFailed,!1,JSON.stringify(re.error))}else this.sendServiceWorkerStateTelemetry(zn.NotSupported)})}sendServiceWorkerStateTelemetry(m,re=!1,me=""){const Ie={immediateRequest:re};(m===zn.Activated||m===zn.ActivationOngoing)&&(Ie.afterDone=()=>{this.telemetryEventProcessingComplete.next(!0)});const Ve=new G.BAK({clientType:this.telemetryUtilService.getClientType(),currentScreen:this.telemetryService.getScreen()||G.MCB.ScreenMallHome,userAction:G.ay7.ServiceWorkerActivation,status:li.get(m),errorDetails:me.substring(0,1024),totalMs:0,errorUri:"",serverErrorCode:""});this.telemetryService.push(Ve,void 0,Ie)}getWaitingSWClientVersion(){return(0,Bn.H)(navigator.serviceWorker.getRegistration()).pipe((0,ce.ZZ)(m=>{const re=new MessageChannel;return null!=m&&m.waiting?(m.waiting.postMessage({type:Oo.oY.GetClientVersionWaitingSW},[re.port2]),re.port1.start(),(0,Vi.R)(re.port1,"message")):(0,j.of)(!1)}))}handleServiceWorkerActivationRequest(){this.logger.info("SWAR: Init"),this.serviceWorkerService.swActivationRequested.pipe((0,ce.ZZ)(m=>(0,yi.Y)(750).pipe((0,x.Q)(this.serviceWorkerService.swActivated),(0,p.s)(1))),(0,ce.ZZ)(m=>this.getWaitingSWClientVersion()),(0,ce.ZZ)(m=>{this.shouldReloadOnActivation=!1,this.logger.info("SWAR: max time after activation requested, reloading ",m);let me,re="";return m&&m.data.clientVersionString!==this.appConfig.build.version?(this.logger.info(`Version from Service worker: ${m.data.clientVersionString}`),this.logger.info(`Version from appConfig: ${this.appConfig.build.version}`),me=this.telemetryEventProcessingComplete.asObservable(),re=m.data.clientVersionString):me=(0,j.of)(!1),this.sendServiceWorkerStateTelemetry(zn.ActivationOngoing,!0,re),me})).subscribe(m=>{m?this.reloadTab():this.swActivationTimedOut.next(!1)},m=>{this.sendServiceWorkerStateTelemetry(zn.ActivationError,!1,`SWAR: Error ${m}`),this.logger.error("SWAR: Error",m)})}isFirstInstallation(){return!this.serviceWorkerService.swIsActive()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(Oo.lS),i.KVO(At.Vk),i.KVO(P.J6),i.KVO(En.BW),i.KVO(ci.Ix),i.KVO(Cr.w),i.KVO(G.jgD),i.KVO(A.H0),i.KVO(Si.Hm))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var ut=t(34178),wt=t(82094),hn=t(2414);let Ii=(()=>{var be;class Te{constructor(m){this.logger=m.getLogger("gfn/shared/GameLaunchAnalyticsService"),this.resetGameLaunchMetadata(!1)}getGameLaunchMetadata(){return{...this.gameLaunchMetadata}}updateGameLaunchChangeMetadata(){this.logger.info(this.gameLaunchMetadata.launchTs?"Game change accepted - updating GameLaunchData":"No game launch info exists, adding GameChangeDialog info"),this.gameLaunchMetadata.isFromGameChangeDialog=!0}setGameLaunchMetadata(m,re,me){this.gameLaunchMetadata={shortName:m,launchTs:re,isMallRunning:me}}resetGameLaunchMetadata(m){this.logger.info("Cleared game launch metadata"),this.gameLaunchMetadata={shortName:"",launchTs:0,isMallRunning:m}}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})(),ko=(()=>{var be;class Te{constructor(m,re){this.router=m,this.routerService=re,this.backNavigationUrls=new Array,this.lastNavigationRoute=null,this.namedBackNavigationUrls=new Map}get lastNavigationUrl(){return this.lastNavigationRoute}get backNavigationRoute(){return this.lastNavigationRoute=this.backNavigationUrls.pop(),this.lastNavigationRoute}set backNavigationRoute(m){this.lastNavigationRoute=m,this.backNavigationUrls.push(m)}setNamedBackNavigationUrl(m,re){this.namedBackNavigationUrls.set(m,re)}getNamedBackNavigationUrl(m){return this.namedBackNavigationUrls.get(m)||""}clearState(){this.backNavigationUrls=new Array,this.lastNavigationRoute=null,this.namedBackNavigationUrls.clear()}navigateToPreviousRoute(m){const re=this.backNavigationRoute;m&&this.namedBackNavigationUrls.has(m)?this.routerService.navigateByUrl(this.getNamedBackNavigationUrl(m)):(0,u.isNil)(re)?this.routerService.navigateByUrl(_n.f.Home):this.routerService.navigateByUrl(this.router.url===re?this.backNavigationRoute:re)}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(ci.Ix),i.KVO(_n.HM))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var Oi=function(be){return be.Search="Search",be.Survey="Survey",be}(Oi||{}),Vt=t(16229),nr=t(99047),Mo=t(79539),jt=t(1794);const bo={notificationType:Pn.$9.Survey,messageStr:{key:"notification.surveyBannerMessage"},primaryButtonText:"notification.participate",secondaryButtonText:"notification.dismiss"},jr={...bo,messageStr:{key:"notification.usabilitySurveyMessage"}},Zr={...bo,messageStr:{key:"notification.octSurveyMessage"},primaryButtonText:"common.yes",secondaryButtonText:"notification.noThanks"},vn={...bo,messageStr:{key:"notification.octSurveyPostMinimizeMessage"},primaryButtonText:"common.continue",secondaryButtonText:"notification.quit"},Yr={notificationType:Pn.$9.OperationalMessaging,messageStr:{key:""},primaryButtonText:"common.learnMore",secondaryButtonText:"notification.dismiss",persistNotificationOnPrimaryButtonClick:!0};var Ci=function(be){return be.MallScreen="SCREEN_MALL",be.SurveyScreen="SCREEN_SURVEY",be.FeedbackScreen="SCREEN_FEEDBACK",be.PostGameScreen="SCREEN_POSTGAME",be}(Ci||{});const Qr={header:"endSurvey.title",body:{text:"endSurvey.message"},bodySurvey:{text:"endSurvey.messageSurvey"},primaryButton:{text:"common.exit",accentColor:!1},secondaryButton:"common.cancel"};var ur=function(be){return be.Stage="STAGE",be.Prod="PROD",be}(ur||{}),wr=t(72271),Mi=t(68868),es=t(54292),ir=t(48852),Go=t(10399),Nr=t(27731),or=t(53461),mr=t(76259);const Ur=["MAT-SELECT"],Eo="nvCursorBlockerExempt";let kr=(()=>{var be;class Te{get blockerElement(){return this._blockerElement}set blockerElement(m){this._blockerElement=m}get isMonitoring(){return!!this.cursorBlockerToggleSub&&!!this.trackMouseMovePositionSub}constructor(m,re,me,Ie,Ve,Je){this.inputModalityService=m,this.spatialNavigationService=re,this.ngZone=me,this.focusManager=Ie,this.lastMousePosition={x:0,y:0},this.renderer=Je.createRenderer(document.body,null),this.logger=Ve.getLogger("CursorBlockerSurvice")}monitor(){this.isMonitoring?this.logger.info("monitoring has already started. reuse the existing listeners."):(this.ngZone.runOutsideAngular(()=>{const m=(0,Vi.R)(window,"keydown",{capture:!0,passive:!0}).pipe((0,Jt.T)(re=>(0,ue.Pn)(re)||(0,ue.Nw)(re)),(0,Ki.Z)(!1),(0,or.F)());this.cursorBlockerToggleSub=(0,xn.zV)([this.inputModalityService.inputModalityChanged$,m]).subscribe(([re,me])=>{const Ie=this.currentInputModality,Ve=!Ie;this.currentInputModality=re,this.shouleToggleCursorBlocker(re,me)&&(Ve||this.leaveInputMode(Ie),this.enterInputMode(re))}),this.trackMousePosition()}),this.logger.info("start monitoring."))}stopMonitoring(){this.lastMousePosition={x:0,y:0},this.currentInputModality=void 0,this.toggleCursorBlockerElement(!1),this.cursorBlockerToggleSub&&(this.cursorBlockerToggleSub.unsubscribe(),this.cursorBlockerToggleSub=void 0),this.trackMouseMovePositionSub&&(this.trackMouseMovePositionSub.unsubscribe(),this.trackMouseMovePositionSub=void 0),this.logger.info("stop monitoring.")}isKeyboardOrGamepadInput(m){return m===Mi.M.Keyboard||m===Mi.M.Gamepad}shouleToggleCursorBlocker(m,re){const me=!!this.blockerElement,Ie=this.isKeyboardOrGamepadInput(m);return me?!Ie:Ie&&re}enterInputMode(m){const re=this.isKeyboardOrGamepadInput(m);this.toggleCursorBlockerElement(re),re||this.switchToMouseInput()}leaveInputMode(m){m===Mi.M.Mouse&&this.leaveMouseInput(),(m===Mi.M.Keyboard||m===Mi.M.Gamepad)&&this.leaveGamePadAndKeyboard()}switchToMouseInput(){var m,re;document.activeElement!==document.body&&(Ur.includes(null===(m=document.activeElement)||void 0===m?void 0:m.tagName)||null!==(re=document.activeElement)&&void 0!==re&&re.hasAttribute(Eo))?this.focusManager.focusVia(document.activeElement,"mouse"):document.activeElement.blur()}leaveMouseInput(){var m,re;if(document.activeElement!==document.body&&(Ur.includes(null===(m=document.activeElement)||void 0===m?void 0:m.tagName)||null!==(re=document.activeElement)&&void 0!==re&&re.hasAttribute(Eo)))this.focusManager.focusVia(document.activeElement,"keyboard");else{var me,Ie,Ve,Je;const it=null!==(me=null===(Ie=this.lastMousePosition)||void 0===Ie?void 0:Ie.x)&&void 0!==me?me:0,St=null!==(Ve=null===(Je=this.lastMousePosition)||void 0===Je?void 0:Je.y)&&void 0!==Ve?Ve:0;this.spatialNavigationService.setStartingPointAt(it,St)}}trackMousePosition(){this.ngZone.runOutsideAngular(()=>{const m=(0,Vi.R)(document,"mousemove",{capture:!0,passive:!0}),re=(0,Vi.R)(document,"mouseover",{capture:!0,passive:!0}),me=(0,Vi.R)(document,"wheel",{capture:!0});this.trackMouseMovePositionSub=(0,Vt.h)(m,re,me).pipe((0,In.p)(Ie=>this.currentInputModality===Mi.M.Mouse),(0,mr.Z)(50),(0,In.p)(Ie=>Ie.clientX!==this.lastMousePosition.x||Ie.clientY!==this.lastMousePosition.y)).subscribe(Ie=>{this.lastMousePosition={x:Ie.clientX,y:Ie.clientY},this.blockerElement&&(this.blockerElement.style.top=`${this.lastMousePosition.y}px`,this.blockerElement.style.left=`${this.lastMousePosition.x}px`)})})}leaveGamePadAndKeyboard(){this.toggleCursorBlockerElement(!1)}toggleCursorBlockerElement(m){var re,me,Ie,Ve,Je;m?(this.blockerElement=this.createCursorBlocker(null!==(re=null===(me=this.lastMousePosition)||void 0===me?void 0:me.x)&&void 0!==re?re:0,null!==(Ie=null===(Ve=this.lastMousePosition)||void 0===Ve?void 0:Ve.y)&&void 0!==Ie?Ie:0),setTimeout(()=>{this.renderer.appendChild(document.body,this.blockerElement)})):(!(null===(Je=this.blockerElement)||void 0===Je)&&Je.isConnected&&this.renderer.removeChild(document.body,this._blockerElement),this.blockerElement=null)}createCursorBlocker(m,re){const me=this.renderer.createElement("DIV");return me.style.height="1px",me.style.width="1px",me.style.position="fixed",me.style.top=`${re}px`,me.style.left=`${m}px`,me.style.zIndex="1000000",me.style.cursor="none",me}getLastMousePosition(){return this.lastMousePosition}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(Mi.p),i.KVO(o.ED),i.KVO(i.SKi),i.KVO(o.c_),i.KVO(P.J6),i.KVO(i._9s))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})(),Gr=(()=>{var be;class Te{get isAnyIframeSubscribed(){return this.subscribedIframes.size>0}get activated(){return!!this.bindCommandSubscriptions}set activated(m){m!==this.activated&&(m?this.start():this.stop())}constructor(m,re,me,Ie,Ve,Je){var it;this.gamepadService=re,this.ngZone=me,this.bridgeService=Ie,this.injector=Ve,this.config=Je,this.bindCommandSubscriptions=null,this.subscribedIframes=new Map,this.logger=m.getLogger("GamepadNavigationService"),this.forwardNavigationEventsToIframes=null===(it=this.config)||void 0===it||null===(it=it.client)||void 0===it?void 0:it.forwardGamepadNavigationEventsToIframe}start(){this.logger.info("Initializing gamepad navigation by synthesizing keyboard events"),this.bindCommandSubscriptions=new Go.y,this.bindCommandSubscriptions.add(this.bindCommand("ArrowUp",this.gamepadService.upPressed$)),this.bindCommandSubscriptions.add(this.bindCommand("ArrowDown",this.gamepadService.downPressed$)),this.bindCommandSubscriptions.add(this.bindCommand("ArrowLeft",this.gamepadService.leftPressed$)),this.bindCommandSubscriptions.add(this.bindCommand("ArrowRight",this.gamepadService.rightPressed$)),this.bindCommandSubscriptions.add(this.bindCommand("Enter",this.gamepadService.onButtonPressed$(ir.dt.A,{repeat:!0}),{synthesizeClick:!0})),this.bindCommandSubscriptions.add(this.bindCommand("Escape",this.gamepadService.onButtonPressed$(ir.dt.B,{repeat:!0})))}stop(){this.logger.info("Stop synthesizing gamepad input as keyboard events"),this.bindCommandSubscriptions.unsubscribe(),this.bindCommandSubscriptions=null}subscribeToGamepadNavigationEvents(m){null!=m&&m.iframeId&&this.subscribedIframes.set(m.iframeId,m)}unsubscribeFromGamepadNavigationEvents(m){this.subscribedIframes.delete(m.iframeId)}sendEventToSubscribedIframes(m,re){this.subscribedIframes.forEach(me=>{var Ie;me.element||(me.element=document.getElementById(null==me?void 0:me.iframeId));const Ve=null==me||null===(Ie=me.element)||void 0===Ie?void 0:Ie.contentWindow;Ve&&document.activeElement===me.element&&Ve.postMessage({type:"navigate",event:m,message:re},null==me?void 0:me.targetOrigin)})}synthesizeClick(m){const re=this.injector.get(Mi.p),me=this.injector.get(kr),Ie=null==me?void 0:me.getLastMousePosition();re.updateMonitoringActivationState(!1);const Ve=m.getBoundingClientRect(),Je=Math.floor((Ve.left+Ve.width/2)*window.devicePixelRatio),it=Math.floor((Ve.top+Ve.height/2)*window.devicePixelRatio);let St=-1,xt=-1;Ie&&(St=Math.floor(Ie.x*window.devicePixelRatio),xt=Math.floor(Ie.y*window.devicePixelRatio)),this.bridgeService.executeCommand(On.Ts.Common.Windowcontrol.SynthesizeClickEvent,{targetX:Je,targetY:it,mouseX:St,mouseY:xt}).subscribe(()=>{const Zt=this.injector.get(o.c_);requestAnimationFrame(()=>{this.ngZone.run(()=>{re.updateMonitoringActivationState(!0),Zt.focusVia(Zt.currentFocusedElement,"keyboard")})})},Zt=>{this.logger.error(`Synthetic click at ${Je}, ${it} failed: ${Zt}`),re.updateMonitoringActivationState(!0)})}bindCommand(m,re,me){const Ie=!(null==me||!me.synthesizeClick);let Je,Ve=!1;return this.ngZone.runOutsideAngular(()=>re.pipe((0,ie.M)(it=>{const St=(0,ue.Qt)(),xt=St instanceof HTMLButtonElement||St instanceof HTMLAnchorElement&&St.hasAttribute("href");Ie&&it&&xt&&(Je=St)}),(0,ri.n)(it=>it?(0,j.of)("keydown"):Ve?(0,j.of)("keyup"):Nr.t)).subscribe(it=>{const St=(0,ue.Qt)();(0,ue.m1)(St,it,m),Ve="keydown"===it,this.forwardNavigationEventsToIframes&&this.isAnyIframeSubscribed&&this.sendEventToSubscribedIframes(it,m),Ie&&"keyup"===it&&Je===St&&(P.zk.isBrowserLikePlatform()?(0,ue.nK)(St):this.synthesizeClick(St),Je=void 0)}))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(ir.bi),i.KVO(i.SKi),i.KVO(P.NZ),i.KVO(i.zZn),i.KVO(At.Vk))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})(),pr=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt,Zt,gn,ln,fn,Cn,Ln,bn,Li,Or,Mr,br,Er,yr,Wo,Ss,Ps,Os,Ms,bs,Ir,Dr,Tr,Rr){var Ko;this.idmService=m,this.systemInfoService=re,this.experienceControlWrapperService=me,this.telemetryService=Ie,this.distributedTracingBootstrapService=Je,this.router=it,this.browserSupportService=St,this.telemetryUtilService=xt,this.customLocationService=Zt,this.routerService=gn,this.localeService=ln,this.nesUserInfoService=fn,this.gridService=Cn,this.ecommerceService=Ln,this.appConfig=bn,this.experienceControlService=Li,this.gfnSdkService=Or,this.applicationLifetimeService=Mr,this.libraryLoggingService=br,this.browseUxService=Er,this.bridgeService=yr,this.ipcService=Wo,this.gfcHelperService=Ss,this.distributedTracingUtilService=Ps,this.offDeviceLinkService=Os,this.networkStatusService=Ms,this.bannerNotificationService=bs,this.genericDialog=Ir,this.focusManager=Dr,this.inputModalityService=Tr,this.gamepadNavigationService=Rr,this.participatedInSurvey=!1,this.surveyTimeout={},this.notificationTimers={},this.surveyActionDuration=0,this.surveyMinimized$=new k.B7,this.sdkConfigInitialized$=new yn.m(1),this.handleInputFocusedEventBinding=this.handleInputFocusedEvent.bind(this),this.keyboardGuidanceKey="",this.logger=Ve.getLogger("SurveyService"),this.logger.info("Init SDK"),this.sdk=new jt.SurveySdkService,this.keyboardGuidanceKey=null===(Ko=bn.client)||void 0===Ko?void 0:Ko.invokeKeyboardGuidanceKey,this.surveySdkClientConfig={url:bn.surveyEndpoint.server,defaultRetries:bn.surveyEndpoint.defaultRetries,defaultTimeBetweenRetries:bn.surveyEndpoint.defaultTimeBetweenRetries,defaultTimeout:bn.surveyEndpoint.defaultTimeout,env:bn.surveyEndpoint.server.includes("stg")?ur.Stage:ur.Prod,clientId:bn.surveyEndpoint.clientId,clientVersion:(0,At.Cl)(bn),clientVariant:this.telemetryUtilService.getCommonClientVariant(bn.build.variant),surveyContainerBaseUrl:bn.surveyEndpoint.containerBaseUrl},this.clientSurveyResults=new Map,this.surveyEventReferenceSubmittedMap=new Map,this.surveyEventReferenceDismissedMap=new Map,this.surveyEventReferenceErrorMap=new Map,this.surveyEventReferenceSubmissionErrorMap=new Map,this.surveyEventReferenceTimeoutMap=new Map,this.surveyEventReferenceCloseDialogMap=new Map,this.surveyEventReferenceLogListenerMap=new Map,this.surveyEventReferenceMinimizedMap=new Map,this.surveyEventReferenceDeferredMap=new Map,this.tracerConfig=this.appConfig.otelTracerConfig.exportConfig,this.logger.info("surveySdkClientConfig: ",this.surveySdkClientConfig)}initialize(){this.applicationLifetimeService.addWorkOnShutdown(()=>(this.clientSurveyResults.forEach((m,re)=>{this.sendUserSurveyTelemetry(G.p2o.DismissAppExit,this.getSurveyHierarchy(re),re,m)}),(0,j.of)(void 0))),this.checkForSurveyAndAddBanner()}checkForSurveyAndAddBanner(){(0,Vt.h)((0,j.of)(!0),this.routerService.onExitingStreamer).pipe((0,In.p)(m=>!!m)).pipe((0,ce.ZZ)(m=>this.checkForAvailableSurveyBanner([jt.TriggerType.SurveyBanner,jt.TriggerType.UXTestBanner,jt.TriggerType.CommunicationBanner,jt.TriggerType.NotificationBanner]))).subscribe(m=>{const re=this.getSurveyBannerInProgress();this.showSurveyNotificationBanner(re)}),this.getMinimizedSurvey$().subscribe(m=>{const re=this.getSurveyBannerInProgress();this.showSurveyNotificationBanner(re)})}showSurveyNotificationBanner(m){if(!(0,u.isNil)(m))if(this.checkForBrowserPlatform()){this.logger.info("Is a minimized survey ?",m.surveyVisited);const re=m.triggerType;let me;switch(this.logger.info("showing survey notification",re),re){case jt.TriggerType.NotificationBanner:me=Yr,me.messageStr={key:m.bannerText},m.notificationUrl||(me.primaryButtonText=null);break;case jt.TriggerType.CommunicationBanner:me=m.surveyVisited?vn:Zr;break;case jt.TriggerType.UXTestBanner:me=jr;break;case jt.TriggerType.SurveyBanner:me=bo;break;default:me=null}if(!me)return void this.logger.error("Skip showing banner. Unable to retrieve valid surveyBannerData, likely due to a missing triggerType from the server.");if(me.notificationTimeoutInSeconds=this.getBannerNotificationTimer()/1e3,me.onPrimaryButtonClick=this.onClickSurveyPrimaryButton.bind(this),me.onSecondaryButtonClick=this.onSurveyBannerDismiss.bind(this),me.onAutoDismiss=this.onSurveyBannerAutoDismiss.bind(this),this.bannerNotificationService.hasNotificationInQueue(Pn.$9.OperationalMessaging)){const Ve=this.bannerNotificationService.getNotificationInQueue(Pn.$9.OperationalMessaging);(0,u.isEqual)(Ve.messageStr,me.messageStr)||this.bannerNotificationService.removeNotificationFromQueue(Pn.$9.OperationalMessaging)}this.logger.info("Added new survey banner notification ",m),this.bannerNotificationService.addNotificationToQueue(me),this.sendUserSurveyTelemetry(m.surveyVisited?G.p2o.NotifyPostMinimize:G.p2o.Notify,Ci.MallScreen,re,m)}else this.logger.info("Skipping survey",m)}checkForBrowserPlatform(){return!P.zk.isBrowserPlatform()||P.zk.isBrowserPlatform()&&this.router.url!==_n.f.Surveys}onClickSurveyPrimaryButton(){this.networkStatusService.isOnline?this.primarySurveyBannerAction():this.openSurveyConnectionErrorDialog()}openSurveyConnectionErrorDialog(m=!1){const re=this.focusManager.restoreFocusAfterClosed(()=>this.genericDialog.open({panelClass:"dialogPaddingRemove",disableClose:!0,data:{headerText:{text:"notification.errorHeader"},bodyText:{text:"notification.errorDescription"},primaryButton:{text:"common.tryAgain",accentColor:!0},secondaryButton:{text:"common.exit"}}}));re.primaryButtonClick.pipe((0,p.s)(1)).subscribe(()=>{re.close(),m?this.primarySurveyBannerAction():(this.logger.info("Trying clicking again on primary button"),this.onClickSurveyPrimaryButton())}),re.secondaryButtonClick.pipe((0,p.s)(1)).subscribe(()=>{re.close()})}onSurveyBannerDismiss(m=!1){if(this.networkStatusService.isOnline){const re=this.getSurveyBannerInProgress();this.declineSurveys(m?G.p2o.DismissTimeout:null!=re&&re.surveyVisited?G.p2o.DismissManualPostMinimize:G.p2o.DismissManual,Ci.MallScreen,re).pipe((0,nr.$)()).subscribe()}else m||this.openSurveyConnectionErrorDialog(!0)}onSurveyBannerAutoDismiss(){this.onSurveyBannerDismiss(!0)}handleClientSurveyResponse(m,re,me){var Ie;if(m){this.logger.info("Got User Survey, data is: ",m),this.surveyActionDuration=Date.now();const Ve=m;this.clientSurveyResults.set(Ve.triggerType,Ve),this.distributedTracingUtilService.setSpanAttributes(re,{[jt.SurveySdkSpanTagNames.SurveyId]:Ve.surveyId}),this.subscribeToSurveyEvents(Ve)}else this.logger.info("Cannot get User Survey data");this.sendSurveyHttpSuccessTelemetry({url:null==m||null===(Ie=m.config)||void 0===Ie?void 0:Ie.url,httpStatus:null==m?void 0:m.status,durationMs:me,xRequestId:null==m?void 0:m.xRequestId},G.OOF.GetSurvey,G.c4O.GetUsabilityStudy),this.distributedTracingUtilService.closeSpan(re),this.setIframeInfo(null==m?void 0:m.surveyContainerUrl)}handleUsabilityStudyError(m,re){return this.logger.error("Check for survey failed. Sending HTTPFailure telemetry: ",m),this.distributedTracingUtilService.setSpanAttribute(re,nn.NS.Error,!0),this.distributedTracingUtilService.closeSpan(re),this.sendSurveyFailureTelemetry(m,G.OOF.GetSurvey,G.c4O.GetUsabilityStudy),this.resetClientSurveyResult(),(0,j.of)(void 0)}getBannerNotificationTimer(){var m,re;const me=null===(m=this.notificationTimers)||void 0===m?void 0:m.SURVEY_BANNER,Ie=null===(re=this.notificationTimers)||void 0===re?void 0:re.UXTEST_BANNER;return this.clientSurveyResults.get(jt.TriggerType.SurveyBanner)?me:this.clientSurveyResults.get(jt.TriggerType.UXTestBanner)?Ie:3e5}checkUserAuthenticatedForSurveys(m){if(this.logger.info("check User Authenticated For Surveys"),!m.isAuthenticated){let re=Ci.MallScreen;this.participatedInSurvey&&(re=Ci.SurveyScreen,this.customLocationService.navigateToPreviousRoute(Oi.Survey));const me=this.getSurveyBannerInProgress();return me&&(me.triggerType!==jt.TriggerType.CommunicationBanner?this.declineSurveys(G.p2o.DismissLogout,re,me).subscribe():this.resetClientSurveyResult(me)),!1}return!0}checkSurveyEnabledForTriggerType(m,re){if(m){const me=m.value;switch(re){case jt.TriggerType.SurveyBanner:return me.enableBannerSurvey;case jt.TriggerType.Feedback:return me.enableUserFeedback;case jt.TriggerType.PostGame:return me.enablePostSessionSurvey;default:return!1}}return!1}checkForAvailableSurveyBanner(m,re="0",me="",Ie=0){return this.idmService.accountStatusChanged.pipe((0,ce.ZZ)(Ve=>Ve.isAuthenticated?this.isSurveyBannerAvailableForTriggers(Ve,m).pipe((0,nr.$)(),(0,ce.ZZ)(Je=>Je?(this.logger.info("Survey feature enabled"),this.getAvailableSurveyBannerForTriggers(Ve,m,re,me,Ie).pipe((0,Yt.W)(()=>(0,j.of)(null)))):(this.logger.info("Survey feature is not enabled"),(0,j.of)(null)))):(this.logger.info("checkForAvailableSurveyBanner user logged out"),this.checkUserAuthenticatedForSurveys(Ve)?void 0:(0,j.of)(void 0))))}isSurveyBannerAvailableForTriggers(m,re){const me=[this.appConfig.gxTarget.experiences.survey];re.includes(jt.TriggerType.UXTestBanner)&&me.push(this.appConfig.gxTarget.experiences.usabilityStudy),re.includes(jt.TriggerType.CommunicationBanner)&&me.push(this.appConfig.gxTarget.experiences.communicationSurvey),this.availableFeatures=[];const Ie=this.getSurveyFeaturesEnablement(m,me).pipe((0,p.s)(1),(0,Jt.T)(([...Je])=>{this.availableFeatures=Je;const it=Je[0],St=re.indexOf(jt.TriggerType.UXTestBanner),xt=-1!==St?Je[St]:null,Zt=re.indexOf(jt.TriggerType.CommunicationBanner),gn=-1!==Zt?Je[Zt]:null,ln=this.checkSurveyEnabledForTriggerType(it,re[0]);return re.includes(jt.TriggerType.UXTestBanner)||re.includes(jt.TriggerType.CommunicationBanner)?!!(ln||xt||gn):ln}),(0,Yt.W)(Je=>(this.logger.error("Failed to get survey feature enablement"),(0,j.of)(void 0)))),Ve=(0,j.of)(re.includes(jt.TriggerType.NotificationBanner));return(0,xn.zV)([Ie,Ve]).pipe((0,Jt.T)(([Je,it])=>Je||it))}getAvailableSurveyBannerForTriggers(m,re,me="0",Ie="",Ve=0,Je=!1){const it=Ie||this.cachedStreamingSessionId;return(0,xn.zV)([this.systemInfoService.getSystemInfo([P.Lu.DeviceId]),this.distributedTracingBootstrapService.fetchCountryCode(),this.prepareClientParams(me,it,Ve,Je),this.systemInfoService.getDeviceOSType()]).pipe((0,Mo.H)(([St,xt,Zt,gn])=>{if(this.logger.info("ClientParams passed getAvailableSurveyBannerForTriggers: ",Zt,St.DeviceId,xt),!this.checkUserAuthenticatedForSurveys(m)||(this.currentUser=m,!this.getDataForGetUserSurveyApi(re)))return(0,j.of)(void 0);this.sdk.initializeClientConfig(this.surveySdkClientConfig,this.tracerConfig,this.distributedTracingUtilService.isTracingDisabled()),this.sdkConfigInitialized$.next(),this.initGlobalTagsForOpenTracing(St.DeviceId,this.osInfo,xt,m.userId,m.idpId);const ln=this.startGetSurveyClientSpan(!1),fn=this.distributedTracingUtilService.extractContextFromSpan(ln),Cn=this.getCommonParams(gn);this.logger.info("ClientParams passed to survey sdk: ",this.surveyClientParams,Cn);const Ln=performance.now();return(0,Bn.H)(this.sdk.getUserSurvey(m.userId,m.idpId,St.DeviceId,this.surveyTimeout,this.surveyClientParams,this.requestedTriggerTypes,this.surveyClientParams.locale,Cn.deviceOS,Cn.deviceType,Cn.deviceMake,Cn.deviceModel,Cn.deviceOSVersion,Cn.clientType,Cn.browserType,fn)).pipe((0,ie.M)(bn=>{const Li=performance.now();this.handleClientSurveyResponse(bn,ln,Li-Ln)}),(0,Jt.T)(bn=>P.zk.isBrowserPlatform()&&this.router.url===_n.f.Surveys&&!bn?void this.browserSupportService.goToPreviousPage():bn),(0,Yt.W)(bn=>this.handleUsabilityStudyError(bn,ln)))}))}isSurveyFeatureAvailable(m){const re=[this.appConfig.gxTarget.experiences.survey];m.includes(jt.TriggerType.UXTestBanner)&&re.push(this.appConfig.gxTarget.experiences.usabilityStudy),m.includes(jt.TriggerType.CommunicationBanner)&&re.push(this.appConfig.gxTarget.experiences.communicationSurvey);let me=!1;return(0,le.yU)(this.idmService.accountStatusChanged,this.gfnSdkService.getAuthInfo()).pipe((0,ie.M)(([Ie,Ve])=>{me=Ve.authType===ve.hT.JWT}),(0,In.p)(([Ie,Ve])=>me||Ie.isAuthenticated),(0,Mo.H)(([Ie,Ve])=>{let Je;return Je=me?{userId:Ve.userId||"",idpId:Ve.idpId||""}:this.getUserInfoFromUser(Ie),this.availableFeatures=[],this.getSurveyFeaturesEnablement(Je,re)}),(0,Jt.T)(([...Ie])=>{this.availableFeatures=Ie;const Ve=Ie[0],Je=m.indexOf(jt.TriggerType.UXTestBanner),it=-1!==Je?Ie[Je]:null,St=m.indexOf(jt.TriggerType.CommunicationBanner),xt=-1!==St?Ie[St]:null,Zt=this.checkSurveyEnabledForTriggerType(Ve,m[0]);return m.includes(jt.TriggerType.UXTestBanner)||m.includes(jt.TriggerType.CommunicationBanner)||m.includes(jt.TriggerType.NotificationBanner)?!!(Zt||it||xt):Zt}),(0,Yt.W)(Ie=>(this.logger.error("Failed to get survey feature enablement"),(0,j.of)(void 0))))}getAvailableSurvey(m,re="0",me="",Ie=0,Ve=!1){const Je=me||this.cachedStreamingSessionId;return(0,xn.zV)([this.idmService.accountStatusChanged,this.systemInfoService.getSystemInfo([P.Lu.DeviceId]),this.distributedTracingBootstrapService.fetchCountryCode(),this.systemInfoService.getDeviceOSType(),this.prepareClientParams(re,Je,Ie,Ve)]).pipe((0,Mo.H)(([it,St,xt,Zt])=>{if(!this.checkUserAuthenticatedForSurveys(it)||(this.currentUser=it,!this.getDataForGetUserSurveyApi(m)))return(0,j.of)(void 0);this.sdk.initializeClientConfig(this.surveySdkClientConfig,this.tracerConfig,this.distributedTracingUtilService.isTracingDisabled()),this.sdkConfigInitialized$.next(),this.initGlobalTagsForOpenTracing(St.DeviceId,this.osInfo,xt,it.userId,it.idpId);const gn=this.startGetSurveyClientSpan(!1),ln=this.distributedTracingUtilService.extractContextFromSpan(gn),fn=this.getCommonParams(Zt);this.logger.info("ClientParams passed to survey sdk: ",this.surveyClientParams,fn);const Cn=performance.now();return(0,Bn.H)(this.sdk.getUserSurvey(it.userId,it.idpId,St.DeviceId,this.surveyTimeout,this.surveyClientParams,this.requestedTriggerTypes,this.surveyClientParams.locale,fn.deviceOS,fn.deviceType,fn.deviceMake,fn.deviceModel,fn.deviceOSVersion,fn.clientType,fn.browserType,ln)).pipe((0,ie.M)(Ln=>{const bn=performance.now();this.handleClientSurveyResponse(Ln,gn,bn-Cn)}),(0,Jt.T)(Ln=>P.zk.isBrowserPlatform()&&this.router.url===_n.f.Surveys&&!Ln?void this.browserSupportService.goToPreviousPage():Ln),(0,Yt.W)(Ln=>this.handleUsabilityStudyError(Ln,gn)))}))}getDataForGetUserSurveyApi(m){this.requestedTriggerTypes=[],this.logger.info("getAvailableSurvey, available Features: ",this.availableFeatures);const re=this.availableFeatures[0],me=m.indexOf(jt.TriggerType.UXTestBanner),Ie=-1!==me?this.availableFeatures[me]:null,Ve=m.indexOf(jt.TriggerType.CommunicationBanner),Je=-1!==Ve?this.availableFeatures[Ve]:null,it=m.includes(jt.TriggerType.NotificationBanner);return re||Ie||it?(re&&(this.surveyTimeout.SURVEY_BANNER=re.value.surveyTimeoutSec),Ie&&(this.surveyTimeout.UXTEST_BANNER=Ie.value.surveyTimeoutSec),re&&(this.notificationTimers.SURVEY_BANNER=re.value.notificationTimeoutMs),Ie&&(this.notificationTimers.UXTEST_BANNER=Ie.value.notificationTimeoutMs),Ie&&m.includes(jt.TriggerType.UXTestBanner)&&this.requestedTriggerTypes.push(jt.TriggerType.UXTestBanner),Je&&Je.value.enableOCTSurvey&&m.includes(jt.TriggerType.CommunicationBanner)&&this.requestedTriggerTypes.push(jt.TriggerType.CommunicationBanner),re&&m.forEach(xt=>{xt!==jt.TriggerType.UXTestBanner&&xt!==jt.TriggerType.CommunicationBanner&&this.requestedTriggerTypes.push(xt)}),it&&this.requestedTriggerTypes.push(jt.TriggerType.NotificationBanner),this.logger.info("RequestedTriggerTypes: ",this.requestedTriggerTypes),this.logger.info("Successfully preapared Data for GetUserSurvey Api"),!0):(this.logger.error("Failed to preapsre Data for GetUserSurvey Api"),!1)}prepareClientParams(m,re,me,Ie){const Ve=Ie?(0,j.of)({NetworkType:P.Sd.Unknown}):this.systemInfoService.getSystemInfo([P.Lu.Network]).pipe((0,Jt.T)(Je=>Je.Network));return(0,le.yU)(Ve,this.systemInfoService.getSystemInfo([P.Lu.OSName,P.Lu.OSVersion,P.Lu.DeviceType,P.Lu.VendorName,P.Lu.SystemName,P.Lu.BrowserName,P.Lu.BrowserVersion]),this.systemInfoService.getDeviceOSType(),this.localeService.localeChanged,this.nesUserInfoService.fetchUserInfoWithStreamingUrl(),this.gridService.getCachedZone(),this.ecommerceService.getUserMembership().pipe((0,In.p)(Je=>Je.membershipStatus!==Ce.OO.UnKnown&&Je.membershipStatus!==Ce.OO.LoggedOut)),this.gfcHelperService.getAppInstanceId()).pipe((0,ce.ZZ)(([Je,it,St,xt,Zt,gn,ln,fn])=>(this.osInfo={OSName:it.OSName,OSVersion:it.OSVersion,Platform:St},this.systemInfo=it,this.surveyClientParams={gfnSessionId:re||"",application:"GFN",serverType:"GRID",userSubscriptionLevelSKU:ln.membershipStatus===Ce.OO.Entitled?ln.subscription.productSku:"",network:Je&&Je.NetworkType?Je.NetworkType:P.Sd.Unknown,locale:xt,affiliate:null!=Zt&&Zt.serviceEndpoint?Zt.serviceEndpoint.loginProvider:"",datacenter:gn.name||"",browser:it.BrowserName||"",browserVersion:it.BrowserVersion||"",cmsId:m,sessionDurationMin:me,osName:this.experienceControlService.getSupportedOSName(this.osInfo.OSName),selectedCmsId:this.browseUxService.selectedParentId||"",surveySessionId:P.zk.isBrowserPlatform()&&fn||"",productName:this.telemetryUtilService.getProductName(),productVersion:(0,At.Cl)(this.appConfig),currentAppTheme:this.getCurrentAppTheme()},(0,j.of)(this.surveyClientParams))))}performCleanup(m){this.unsubscribeFromLogListener(m),this.iframeInfo&&(this.gamepadNavigationService.unsubscribeFromGamepadNavigationEvents(this.iframeInfo),this.iframeInfo=void 0),window.removeEventListener("message",this.handleInputFocusedEventBinding)}unsubscribeFromLogListener(m){this.surveyEventReferenceLogListenerMap.get(m).unsubscribe()}getBannerSurveyTriggerType(){const m=this.getSurveyBannerInProgress();return m?(m.triggerType||this.logger.error(`survey triggerType is invalid from the current survey result: ${JSON.stringify(m)}`),m.triggerType):null}setStreamingSessionId(m){this.cachedStreamingSessionId=m}declineSurveys(m,re,me){if(this.logger.info("Decline User Surveys Async:",me),me&&!(0,u.isEmpty)(me)&&this.currentUser&&this.currentUser.isAuthenticated){this.logger.info("Declining the surveys for id: ",me.surveyId);const Ie=this.startDismissSurveyClientSpan(me.surveyId),Ve=this.distributedTracingUtilService.extractContextFromSpan(Ie),Je=performance.now();return(0,Bn.H)(this.sdk.declineUserSurvey(this.currentUser.userId,me.surveyId,!1,Ve)).pipe((0,Jt.T)(it=>{var St;const xt=performance.now();return this.distributedTracingUtilService.closeSpan(Ie),this.sendUserSurveyTelemetry(m,re,me.triggerType,me),this.sendSurveyHttpSuccessTelemetry({url:null==it||null===(St=it.config)||void 0===St?void 0:St.url,httpStatus:null==it?void 0:it.status,durationMs:xt-Je,xRequestId:null==it?void 0:it.xRequestId},G.OOF.SendSurveyResponse,G.c4O.SendUsabilityStudyResponse),this.resetClientSurveyResult(me),!0}),(0,Yt.W)(it=>(this.logger.error("Declining the survey failed sending HTTPFailure telemetry: ",it),this.distributedTracingUtilService.closeSpan(Ie),this.sendSurveyFailureTelemetry(it,G.OOF.SendSurveyResponse,G.c4O.SendUsabilityStudyResponse),this.resetClientSurveyResult(me),(0,j.of)(!1))))}return this.logger.error("Something went wrong in declining the survey Removing the notification",me),this.resetClientSurveyResult(me),(0,j.of)(!1)}primarySurveyBannerAction(){const m=this.getSurveyBannerInProgress();let re;var me;(this.logger.info("onClickParticipate for id: ",m.surveyId),m.triggerType===jt.TriggerType.NotificationBanner)?(re=G.p2o.LearnMoreClicked,this.offDeviceLinkService.open(m.notificationUrl)):(this.participatedInSurvey=!0,this.router.url!==_n.f.Surveys&&(this.customLocationService.setNamedBackNavigationUrl(Oi.Survey,this.router.url),null!==(me=this.appConfig.featureEnablement)&&void 0!==me&&me.surveyInNative?this.bridgeService.executeCommand(On.Ts.Common.Survey.Launch,{url:m.surveyContainerUrl,triggerType:m.triggerType,surveyId:m.surveyId}).subscribe(()=>{}):this.routerService.navigate([_n.f.Surveys],{skipLocationChange:!0})),re=null!=m&&m.surveyVisited?G.p2o.ParticpatePostMinimize:G.p2o.Participate);this.sendUserSurveyTelemetry(re,Ci.MallScreen,null==m?void 0:m.triggerType,m)}getSurveyUrl(){var m;return null===(m=this.getSurveyBannerInProgress())||void 0===m?void 0:m.surveyContainerUrl}isSurveyInProgress(){return this.participatedInSurvey}getSurveyBannerInProgress(){return this.clientSurveyResults.get(jt.TriggerType.NotificationBanner)||this.clientSurveyResults.get(jt.TriggerType.CommunicationBanner)||this.clientSurveyResults.get(jt.TriggerType.UXTestBanner)||this.clientSurveyResults.get(jt.TriggerType.SurveyBanner)}subscribeToSurveyEvents(m){const re=m.triggerType,me=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.Minimized},()=>this.surveyEventListnerMinimized(re));this.surveyEventReferenceMinimizedMap.set(re,me);const Ie=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.Deferred},()=>this.surveyEventListnerDeferred(re));this.surveyEventReferenceDeferredMap.set(re,Ie);const Ve=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.Submitted},()=>this.surveyEventListenerSubmitted(re));this.surveyEventReferenceSubmittedMap.set(re,Ve);const Je=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.Dismissed},()=>this.surveyEventListenerDismissed(re));this.surveyEventReferenceDismissedMap.set(re,Je);const it=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.Errored},()=>this.surveyEventListenerErrored(re));this.surveyEventReferenceErrorMap.set(re,it);const St=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.SubmissionErrored},()=>this.surveyEventListenerSubmissionErrored(re));this.surveyEventReferenceSubmissionErrorMap.set(re,St);const xt=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.Timeout},()=>this.surveyEventListenerTimeout(re));this.surveyEventReferenceTimeoutMap.set(re,xt);const Zt=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.CloseDialog},()=>this.surveyEventListenerCloseDialog(re));this.surveyEventReferenceCloseDialogMap.set(re,Zt),this.logger.info("Survey Event Reference Close Dialog Map:",this.surveyEventReferenceCloseDialogMap.size);const gn=(0,jt.subscribeToIFrameEvents)({surveyId:m.surveyId,type:jt.SurveyEventType.Log},ln=>this.libraryLoggingService.sendLog(ln));this.surveyEventReferenceLogListenerMap.set(re,gn)}getSurveyHierarchy(m){switch(m){case jt.TriggerType.CommunicationBanner:return this.isSurveyInProgress()?Ci.SurveyScreen:Ci.MallScreen;case jt.TriggerType.SurveyBanner:case jt.TriggerType.UXTestBanner:return Ci.SurveyScreen;case jt.TriggerType.Feedback:return Ci.FeedbackScreen;case jt.TriggerType.PostGame:return Ci.PostGameScreen;default:return Ci.SurveyScreen}}surveyEventListnerMinimized(m){this.logger.info("Survey has minimized; triggerType: ",m),this.performCleanup(m),this.surveyMinimize(m),this.customLocationService.navigateToPreviousRoute(Oi.Survey)}surveyEventListnerDeferred(m){this.logger.info("Survey has deferred; triggerType: ",m),this.sendUserSurveyTelemetry(G.p2o.Deferred,this.getSurveyHierarchy(m),m,this.clientSurveyResults.get(m)),m!==jt.TriggerType.Feedback&&m!==jt.TriggerType.PostGame&&this.customLocationService.navigateToPreviousRoute(Oi.Survey),this.surveyEventReferenceDeferredMap.get(m).unsubscribe(),this.performCleanup(m)}triggerSurveyLogUpload(m){if(P.zk.isBrowserPlatform())this.gfcHelperService.updateEventDataParamIds({surveySessionId:m||""});else{const me={type:Lt.kN.CollectClientLogs,content:JSON.stringify({name:Lt.Nc.UserFeedBack,surveySessionId:m||""}),sender:this.telemetryUtilService.getClientType()===G.sKj.MallClient?Lt.pQ.GfnMall:Lt.pQ.GfnStreamer,recipient:Lt.pQ.GfnUpdater};this.logger.info("Sending IPC message for uploading survey logs:",me),this.ipcService.pushMessage(me).pipe((0,p.s)(1)).subscribe(Ie=>this.logger.info("Survey logs upload triggered: ",Ie),Ie=>this.logger.error("Error triggering Survey logs upload: ",Ie))}}surveyEventListenerSubmitted(m){var re;this.logger.info("Survey has been submitted; triggerType: ",m);const me=null===(re=this.clientSurveyResults.get(m))||void 0===re?void 0:re.surveySessionId;this.triggerSurveyLogUpload(me),this.sendUserSurveyTelemetry(G.p2o.Completed,this.getSurveyHierarchy(m),m,this.clientSurveyResults.get(m)),this.surveyEventReferenceSubmittedMap.get(m).unsubscribe(),this.performCleanup(m)}surveyEventListenerDismissed(m){this.logger.info("Survey has been dismissed"),this.sendUserSurveyTelemetry(G.p2o.DismissManual,this.getSurveyHierarchy(m),m,this.clientSurveyResults.get(m)),this.surveyEventReferenceDismissedMap.get(m).unsubscribe(),this.performCleanup(m)}surveyEventListenerTimeout(m){this.logger.info("Survey has been timed-out; triggerType: ",m),this.sendUserSurveyTelemetry(G.p2o.DismissTimeout,this.getSurveyHierarchy(m),m,this.clientSurveyResults.get(m)),(m===jt.TriggerType.PostGame||m===jt.TriggerType.Feedback)&&this.customLocationService.navigateToPreviousRoute(Oi.Survey),this.surveyEventReferenceTimeoutMap.get(m).unsubscribe(),this.performCleanup(m)}surveyEventListenerCloseDialog(m){this.logger.info("User closed dialog from Survey; triggerType: ",m);const re=this.clientSurveyResults.get(m);this.resetClientSurveyResult(re),m!==jt.TriggerType.Feedback&&m!==jt.TriggerType.PostGame&&this.customLocationService.navigateToPreviousRoute(Oi.Survey),[jt.TriggerType.Feedback,jt.TriggerType.PostGame].includes(m)&&this.sendUserSurveyTelemetry(G.p2o.DismissManual,this.getSurveyHierarchy(m),m,re),this.surveyEventReferenceCloseDialogMap.get(m).unsubscribe(),this.performCleanup(m)}surveyEventListenerErrored(m){this.logger.info("Survey has error");const re=this.clientSurveyResults.get(m);this.resetClientSurveyResult(re),this.surveyEventReferenceErrorMap.get(m).unsubscribe(),this.performCleanup(m)}surveyEventListenerSubmissionErrored(m){this.logger.info("Survey has submission error");const re=this.clientSurveyResults.get(m);this.resetClientSurveyResult(re),this.surveyEventReferenceSubmissionErrorMap.get(m).unsubscribe(),this.performCleanup(m)}sendUserSurveyTelemetry(m,re,me,Ie){if(this.logger.info("Sending survey telemetry: ",m),Ie){const Ve=new G.Fdg({hierarchy:re,status:m,surveyId:Ie.surveyId,durationMs:this.getUserActionDuration(m),surveyTrigger:G.V_v[me.toString()]});this.telemetryService.push(Ve,null,{immediateRequest:!0}),(m===G.p2o.Completed||m===G.p2o.DismissManual||m===G.p2o.DismissTimeout||m===G.p2o.Deferred||m===G.p2o.DismissManualPostMinimize)&&this.resetClientSurveyResult(Ie)}}surveyMinimize(m){const re=this.clientSurveyResults.get(m);re.surveyVisited=!0,this.sendUserSurveyTelemetry(G.p2o.Minimized,this.getSurveyHierarchy(m),m,re),this.participatedInSurvey=!1,this.router.events.pipe((0,In.p)(me=>me instanceof ci.wF),(0,nr.$)(),(0,ie.M)(()=>{this.surveyMinimized$.next(m)})).subscribe()}getMinimizedSurvey$(){return this.surveyMinimized$.asObservable().pipe((0,ce.ZZ)(m=>(0,j.of)(this.clientSurveyResults.get(m))))}getUserInfoFromUser(m){return{userId:(null==m?void 0:m.userId)||"",idpId:(null==m?void 0:m.idpId)||""}}getSurveyFeaturesEnablement(m,re){const me=[];return re.forEach((Ie,Ve)=>{const Je=this.experienceControlWrapperService.getCloudVariable(Ie,{variant:this.appConfig.build.variant},void 0,En.Ky.GxTargetGetCloudVariable,En.Id.GxTargetGetSurveyFeature,(0,j.of)(m)).pipe((0,Yt.W)(it=>(this.logger.info("FeatureEnablement error: ",it),(0,j.of)(null))));me.push(Je)}),(0,le.yU)(...me)}startGetSurveyClientSpan(m=!1){const re=this.distributedTracingUtilService.startSpan(nn.pB.ClientGetSurvey);return re&&this.distributedTracingUtilService.setSpanAttributes(re,{[jt.SurveySdkSpanTagNames.ReadOnly]:m}),re}startDismissSurveyClientSpan(m){const re=this.distributedTracingUtilService.startSpan(nn.pB.ClientDismissSurvey);return re&&this.distributedTracingUtilService.setSpanAttributes(re,{[jt.SurveySdkSpanTagNames.SurveyId]:m}),re}initGlobalTagsForOpenTracing(m,re,me,Ie,Ve){const Je={[nn.NS.ServiceVersion]:this.appConfig.build.version,[nn.NS.ServiceType]:nn.Se.Pc_A7,[nn.NS.SpanKind]:nn.ls.Client,[nn.NS.AppName]:(0,_n.I2)(this.router.url)?_n.td.Streamer:_n.td.Mall,[nn.NS.DeviceId]:m,[nn.NS.ClientOs]:re.Platform,[nn.NS.ClientOsName]:re.OSName,[nn.NS.ClientOsVersion]:re.OSVersion,[nn.NS.CountryCode]:me,[jt.SurveySdkSpanTagNames.ClientVariant]:this.surveySdkClientConfig.clientVariant,[jt.SurveySdkSpanTagNames.ClientVersion]:this.getClientVersionRevision(this.surveySdkClientConfig.clientVersion),[jt.SurveySdkSpanTagNames.Environment]:this.surveySdkClientConfig.env,[jt.SurveySdkSpanTagNames.UserId]:Ie,[jt.SurveySdkSpanTagNames.IdpId]:Ve};this.sdk.updateGlobalTags(Je)}getClientVersionRevision(m){return 4===m.split(".").length?m.substring(0,m.lastIndexOf(".")+1).concat("x"):m}resetClientSurveyResult(m){this.logger.info("Resetting client survey result"),this.participatedInSurvey=!1,m&&this.clientSurveyResults.delete(m.triggerType)}getUserActionDuration(m){return m===G.p2o.Notify?0:Date.now()-this.surveyActionDuration}sendSurveyHttpSuccessTelemetry(m,re,me){const Ie=new G.Bhf({sourceComponent:this.telemetryUtilService.getClientType(),originalService:G.Uu$.GxTarget,serviceUseCase:re,serviceSubUseCase:me,url:m.url||"",httpStatus:m.httpStatus||200,durationMs:Math.round(m.durationMs)||0,destinationIp:"",responseData:"",xRequestId:m.xRequestId||"",retryCount:0,wasSWCacheBypassed:G.T80.UNDEFINED});this.telemetryService.push(Ie)}sendSurveyFailureTelemetry(m,re,me){var Ie,Ve;const Je=new G._o$({sourceComponent:this.telemetryUtilService.getClientType(),originalService:G.Uu$.GxTarget,serviceUseCase:re,serviceSubUseCase:me,url:(null==m||null===(Ie=m.config)||void 0===Ie?void 0:Ie.url)||"",networkErrorCode:String(m&&m.response?m.response.status:0),destinationIp:"",xRequestId:m&&m.xRequestId?m.xRequestId:"",retryCount:0,wasSWCacheBypassed:G.T80.UNDEFINED,networkErrorMessage:(null==m||null===(Ve=m.response)||void 0===Ve||null===(Ve=Ve.message)||void 0===Ve?void 0:Ve.substring(0,1024))||""});this.telemetryService.push(Je)}getCommonParams(m){const re=P.zk.isBrowserPlatform();return{deviceOS:m,deviceType:this.systemInfo.DeviceType||A.oX.Undefined,deviceMake:this.systemInfo.VendorName||A.oX.Undefined,deviceModel:this.systemInfo.SystemName||A.oX.Undefined,deviceOSVersion:this.systemInfo.OSVersion,clientType:re?wr.CommonClientType.Browser:wr.CommonClientType.Native,browserType:this.systemInfo.BrowserName}}setIframeInfo(m){var re;m&&(this.iframeInfo={iframeId:"survey-frame",targetOrigin:(0,ue.PI)(m)||""},null!==(re=this.appConfig.spatialNavigation)&&void 0!==re&&re.synthesizeClickViaBridgeCommand&&window.addEventListener("message",this.handleInputFocusedEventBinding),this.gamepadNavigationService.subscribeToGamepadNavigationEvents(this.iframeInfo))}handleInputFocusedEvent(m){var re,me;const Ie=this.inputModalityService.lastInputModality;if("TEXT_INPUT_FOCUSED"===(null==m||null===(re=m.data)||void 0===re?void 0:re.type)&&null!=m&&null!==(me=m.data)&&void 0!==me&&me.coordinates&&(this.browseUxService.showInvokeKeyboardToast(this.keyboardGuidanceKey),Ie===Mi.M.Gamepad)){const Ve=document.activeElement.getBoundingClientRect(),Je=JSON.parse(m.data.coordinates);if(!Ve||!Je)return void this.logger.error("Invalid coordinates received for iframe click simulation.");const it=Math.floor((Ve.left+Je.left+Je.width/2)*window.devicePixelRatio),St=Math.floor((Ve.top+Je.top+Je.height/2)*window.devicePixelRatio);this.bridgeService.executeCommand(On.Ts.Common.Windowcontrol.SynthesizeClickEvent,{targetX:it,targetY:St,mouseX:-1,mouseY:-1}).subscribe()}}getCurrentAppTheme(){return jt.ThemeType.Dark}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(ai.k_),i.KVO(P.zW),i.KVO(ni),i.KVO(A.H0),i.KVO(P.J6),i.KVO(So.h),i.KVO(ci.Ix),i.KVO(es.vT),i.KVO(G.jgD),i.KVO(ko),i.KVO(_n.HM),i.KVO(P.iH),i.KVO(Wt.lW),i.KVO(Xt.G),i.KVO(Ce.yJ),i.KVO(At.Vk),i.KVO(En.BW),i.KVO(ve.DL),i.KVO(_.lM),i.KVO(P.wt),i.KVO(Uo.T),i.KVO(P.NZ),i.KVO(Lt.Uj),i.KVO(oo),i.KVO(nn.Z1),i.KVO(o.nO),i.KVO(P.CF),i.KVO(Si.Hm),i.KVO(o.uh),i.KVO(o.c_),i.KVO(Mi.p),i.KVO(Gr))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var vr=t(17901),ts=t(73718),Br=t(15652),ns=t(65770),rr=t(43615),is=t(12962),fr=t(86447),qt=t(77200);class os{get isProviderStateUpdating$(){return this.isProviderStateUpdatingSubject.asObservable()}get inProgress(){return this.isProviderStateUpdatingSubject.value}constructor(Te,Ke,m,re,me,Ie,Ve,Je=[],it,St){this.type=Te,this.logger=Ke,this.appConfig=m,this.telemetryService=re,this.settingsService=me,this.localeService=Ie,this.translateService=Ve,this.enabledGamesList=Je,this.digitalStoreMetadata=it,this.userAccountData=St,this._isSyncScheduled=!1,this.isProviderStateUpdatingSubject=new Kn.t(!1),this.syncInProgress=!1,this.inErrorState=!1,this.isResync=!1,this.errorText="",this.errorButtonText="",this.errorArg="",this.errorDialogUrl="",this.showReconnect=!1,this.reconnectReason=null,this.resyncReason=null,this.prevResyncReason=null,this.hideOnboardingReconnect=!1,this.inProgressDisconnect=!1,this.reconnectInProgress=!1,this.showSyncDeniedReconnect=!1,this.accountLinkedTime=null}get expirationTime(){var Te;let Ke;if(null!==(Te=this.appConfig.accountLinking)&&void 0!==Te&&Te.expirationDate){var m;Ke=new Date(null===(m=this.appConfig.accountLinking)||void 0===m?void 0:m.expirationDate),Number.isNaN(Ke.getTime())&&(Ke=null)}else{var re;const me=parseInt(null===(re=this.userAccountData)||void 0===re?void 0:re.accountLinkingData.expiresIn,10);Ke=me&&me!==qt.Zr?this.getExpirationFromNow(1e3*me):null,(!Ke||parseInt(Ke,10)===qt.Zr)&&(Ke=null)}return Ke}get isSyncScheduled(){return this._isSyncScheduled}set isSyncScheduled(Te){this._isSyncScheduled=Te}get loggedIn(){var Te;return!(null===(Te=this.storeData)||void 0===Te||!Te.store)}get currentLocale(){return this.localeService.getLocale()}get fancyTimestamp(){const Te=this.currentLocale;return P.Nq.fromNow(this.syncTime?this.syncTime:new Date,Te,{addSuffix:!0})}get persona(){var Te;return(null===(Te=this.userAccountData.accountLinkingData)||void 0===Te?void 0:Te.userDisplayName)||this.translateService.instant("accountConnection.connected")}get name(){return this.digitalStoreInfo.accountLinkingMetadata.label}get appStoreName(){var Te;return null===(Te=this.digitalStoreInfo)||void 0===Te?void 0:Te.label}get platform(){return this.type.toUpperCase()}get numberOfSyncedGames(){var Te;return(null===(Te=this.userAccountData)||void 0===Te||null===(Te=Te.accountLinkingData)||void 0===Te||null===(Te=Te.accountSyncingData)||void 0===Te?void 0:Te.totalNumberOfSyncedGfnGames)||0}get expirations(){var Te,Ke,m;return new qt.YS(null!==(Te=this.appConfig.accountLinking)&&void 0!==Te&&Te.expiringNow?1e3*this.appConfig.accountLinking.expiringNow:void 0,null!==(Ke=this.appConfig.accountLinking)&&void 0!==Ke&&Ke.expiringToday?1e3*this.appConfig.accountLinking.expiringToday:void 0,null!==(m=this.appConfig.accountLinking)&&void 0!==m&&m.expiringSoon?1e3*this.appConfig.accountLinking.expiringSoon:void 0)}get syncDate(){var Te;return null===(Te=this.userAccountData)||void 0===Te||null===(Te=Te.accountLinkingData)||void 0===Te||null===(Te=Te.accountSyncingData)||void 0===Te?void 0:Te.syncDate}get syncTime(){return this.syncDate?new Date(this.syncDate):null}get userId(){var Te;return null===(Te=this.userAccountData)||void 0===Te||null===(Te=Te.accountLinkingData)||void 0===Te?void 0:Te.userIdentifier}updateLinkTime(){this.accountLinkedTime=Date.now()}getExpirationFromNow(Te){var Ke;if("number"!=typeof Te||Te===qt.Zr)return null;const m=null!==(Ke=this.accountLinkedTime)&&void 0!==Ke?Ke:Date.now();return new Date(m+Te)}get expires(){const Te=parseInt(this.userAccountData.accountLinkingData.expiresIn,10);return Te&&Te!==qt.Zr?this.getExpirationFromNow(1e3*Te):null}get gamesList(){return this.enabledGamesList}get digitalStoreInfo(){return this.digitalStoreMetadata}get storeData(){return this.userAccountData}get isAccountSyncingSupported(){return this.digitalStoreInfo.features.filter(Te=>Te.__typename===wt.Oz.AccountGamesSyncing).some(Te=>!0===Te.supported)}get isAccountLinkingSupported(){return this.digitalStoreInfo.features.filter(Te=>Te.__typename===wt.Oz.AccountLinkingSso).some(Te=>!0===Te.supported)}set userAccountInfo(Te){this.userAccountData=Te}set syncData(Te){var Ke;null!==(Ke=this.userAccountData)&&void 0!==Ke&&Ke.accountLinkingData&&(this.userAccountData.accountLinkingData.accountSyncingData=Te)}get isExpired(){return!(!this.isAccountLinkingSupported||null===this.expirationTime)&&(0===this.expirationTime.getTime()||this.expirationTime.getTime(){var be;class Te{constructor(m,re,me,Ie,Ve){this.appConfig=re,this.endpointFactory=me,this.idmService=Ie,this.distributedtracingUtilService=Ve,this.logger=m.getLogger("ALSService");const{defaultRetries:Je,defaultTimeout:it,exponentialBackoffMaxDelay:St,defaultTimeBetweenRetries:xt}=re.accountLinking;this.alsEndpoint=this.endpointFactory.createEndpoint({config:{maxRetries:Je,timeout:it,exponentialBackoffMaxDelay:St,timeBetweenRetries:xt}})}createHeader(m){return{[Vr.SA.authorization]:`Bearer ${m.token}`}}createRequestOptions(m={},re={},me,Ie,Ve=!1){return{headers:me?this.createHeader(me):{},params:re,body:m,reportRequestData:{reportSuccessTelemetry:"true",originalService:G.Uu$.ALS,serviceUseCase:Ie},includeFullResponse:Ve}}get redirectFinishedUrl(){return this.appConfig.accountLinking.redirectFinishedUrl}providerSync(m,re,me){const Ie=this.createRequestOptions({},{},re,G.OOF.LibrarySync,!0),Ve=this.buildApiUrl("sync/").concat(m),Je=this.alsEndpoint.post(Ve,Ie);return this.distributedtracingUtilService.handleHttpEndpointSpan(Je,Ie,nn.pB.AlsSync,me).pipe((0,Jt.T)(it=>(this.logger.info("Syncing result",it),202===(null==it?void 0:it.status))),(0,Yt.W)(it=>(this.logger.error(`Error syncing ${m} account provider: `,it),(0,j.of)(!1))))}buildApiUrl(m){var re;return(null===(re=this.appConfig.accountLinking)||void 0===re?void 0:re.server)+"/v1/"+m}getLoginUrl(m,re,me,Ie=!1){let Ve=this.appConfig.accountLinking.redirectUrl;return this.appConfig.accountLinking.redirectUrlIsRelative&&(Ve=window.location.origin+Ve),re&&re>0&&(Ve=Ve.replace("{portnumber}",re.toString())),this.idmService.getAuthToken(Ie,me).pipe((0,ce.ZZ)(Je=>{const it=this.createRequestOptions({},{platform:m,redirect_uri:Ve,client_id:this.appConfig.accountLinking.clientId},Je,G.OOF.GetOAuthURL),St=this.alsEndpoint.get(this.buildApiUrl("login_url"),it);return this.distributedtracingUtilService.handleHttpEndpointSpan(St,it,nn.pB.AlsGetLoginUrl,me).pipe((0,Jt.T)(xt=>xt.login_url))}),(0,Yt.W)(Je=>this.idmService.handleAuthError(Je,Ie,this.getLoginUrl.bind(this),m,re,me)))}postLoginUrl(m,re,me=!1){return this.idmService.getAuthToken(me,re).pipe((0,ce.ZZ)(Ie=>{const Ve=this.createRequestOptions({platform:m,client_id:this.appConfig.accountLinking.clientId},{},Ie,G.OOF.GetOAuthURL),Je=this.alsEndpoint.post(this.buildApiUrl("login_url"),Ve);return this.distributedtracingUtilService.handleHttpEndpointSpan(Je,Ve,nn.pB.AlsPostLoginUrl,re)}),(0,Yt.W)(Ie=>this.idmService.handleAuthError(Ie,me,this.postLoginUrl.bind(this),m,re)))}postToken(m,re){const me=this.createRequestOptions({client_id:this.appConfig.accountLinking.clientId,device_code:m},{},void 0,G.OOF.Other),Ie=this.alsEndpoint.post(this.buildApiUrl("token"),me);return this.distributedtracingUtilService.handleHttpEndpointSpan(Ie,me,nn.pB.AlsPostToken,re)}disconnect(m,re,me,Ie=!1){return this.idmService.getAuthToken(Ie,me).pipe((0,ce.ZZ)(Ve=>{const Je=this.createRequestOptions({},{},Ve,G.OOF.UnlinkAccount),it=this.alsEndpoint.delete(this.buildApiUrl(`linking/${re}`),Je);return this.distributedtracingUtilService.handleHttpEndpointSpan(it,Je,nn.pB.AlsDeleteLinking,me)}),(0,hi.u)(!0),(0,Yt.W)(Ve=>this.idmService.handleAuthError(Ve,Ie,this.disconnect.bind(this),m,re,me)),(0,Yt.W)(Ve=>(this.logger.error(`error disconnecting from ${m} account provider: `,Ve),(0,j.of)(!0))))}postRequestToSync(m,re,me=!1){return this.idmService.getAuthToken(me,re).pipe((0,ce.ZZ)(Ie=>this.providerSync(m,Ie,re)),(0,Yt.W)(Ie=>(this.logger.error("Error while syncing",Ie),this.idmService.handleAuthError(Ie,me,this.postRequestToSync.bind(this),m,re))),(0,Yt.W)(()=>(0,j.of)(!1)))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(At.Vk),i.KVO(Vr.t),i.KVO(ai.k_),i.KVO(nn.Z1))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();const Hr="timeout_";let ds=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt,Zt,gn,ln,fn,Cn,Ln,bn,Li,Or,Mr,br,Er,yr){var Wo;this.bridgeService=re,this.appConfig=me,this.idmService=Ie,this.telemetryService=Ve,this.localeService=Je,this.settingsService=it,this.distributedtracingUtilService=St,this.dialogService=xt,this.lcarsService=Zt,this.translateService=gn,this.refreshUiService=ln,this.router=fn,this.customLocationService=Cn,this.guestModeHelperService=Ln,this.alsSdkService=bn,this.sharedStorageService=Li,this.snackbar=Or,this.telemetryUtilService=Mr,this.dialog=br,this.bannerNotificationService=Er,this.routerService=yr,this.showBorderOnSettingsIntegration=!1,this.ctaVisibilityPreference=new yn.m(1),this.providerOperationSub=new k.B7,this.triggerLibraryRefreshSub=new k.B7,this.removeOnboarding=new k.B7,this.isBrowserClient=!1,this.initialized=!1,this.accountLinkingEnabled=!1,this.isInitalized=!1,this.checkIfGamesAutoSynced=!1,this.accountProviders=new Map,this.accountLinkingDataSubject=new yn.m(1),this.pendingGamesListEnablement=null,this.launchCTA=new yn.m(1),this.logger=m.getLogger("OwnershipSyncService"),this.needsWindowWorkaround=!(null==me||null===(Wo=me.featureEnablement)||void 0===Wo||!Wo.loginPopupBlockerWorkaround),this.isBrowserClient=P.zk.isBrowserPlatform(),this.linkedAccountChangedNotification$=this.getLinkChangeNotificationData().pipe((0,ns.u)())}get shouldShowCTADefault(){return!0}get waitForAccountLinkingData(){return this.accountLinkingDataSubject.asObservable()}get isAccountLinkingEnabled(){let m=!1;return this.accountProviders.forEach(re=>{re.isAccountLinkingSupported&&(m=!0)}),this.accountLinkingEnabled&&m}initialize(){this.initialized||(this.idmService.accountStatusChanged.subscribe(m=>{var re,me;this.logger.info("Account status changed, updating account linking data"),null===(re=this.accountProviders)||void 0===re||re.forEach(Ie=>{Ie.showOnboardingReconnect&&!m.isAuthenticated&&this.removeOnboarding.next({providerType:Ie.type,state:!0})}),null===(me=this.pendingGamesListEnablement)||void 0===me||me.unsubscribe(),this.cancelPendingCTA(),m.isAuthenticated&&this.initializeAccountConnections().subscribe(()=>{this.initExpirationCheck(),this.initialized=!0},Ie=>{this.logger.error("Error in initialization of ALS/Ownership service",Ie)})}),this.readShowIntegrationTilePreference().pipe((0,p.s)(1)).subscribe(m=>this.ctaVisibilityPreference.next(m),bi.l),this.checkAccountLinkingAndAddBanner(),this.checkOnBoardingSyncFeatureAndAddBanner())}notifyLibraryUpdated(){var m;null===(m=this.libraryUpdated$)||void 0===m||m.next()}checkAccountLinkingAndAddBanner(){this.providerOperationUpdate().pipe((0,In.p)(m=>m.operation===qt.dI.InitialFetchDone||m.operation===qt.dI.LinkingDone||m.operation===qt.dI.LinkingError||m.operation===qt.dI.SyncingDone||m.operation===qt.dI.Expiring)).subscribe(m=>{this.logger.info("Account linking provider:",m.provider);const re=m.provider,me=this.getNotificationInfo(re);if(this.bannerNotificationService.hasNotificationInQueue(Pn.$9.AccountLinkingExpired)&&(this.logger.info("Remove stale expiry notification",re),this.bannerNotificationService.removeNotificationFromQueue(Pn.$9.AccountLinkingExpired)),me&&me.isAccountLinkingSsoAvailable&&me.loggedIn){const Ie=me.expirationStatus;if(Ie!==qt.lH.NotExpired){const Ve=qt.RJ;Ve.image=me.icon,Ve.messageStr.interpolates={store:me.storeName},Ve.onPrimaryButtonClick=this.onClickGotoSettings.bind(this),Ie===qt.lH.Expired&&(this.bannerNotificationService.addNotificationToQueue(Ve),this.onCancelCTA().pipe((0,p.s)(1)).subscribe(Je=>{this.bannerNotificationService.removeNotificationFromQueue(Pn.$9.AccountLinkingExpired)}))}}})}checkOnBoardingSyncFeatureAndAddBanner(){this.waitForAccountLinkingData.pipe((0,Jt.T)(m=>this.getEnabledAccountProviders().filter(me=>this.appConfig.accountLinking.newFeatureAddition.includes(me.type))),(0,ri.n)(m=>{const re=[];return null==m||m.forEach(me=>{me&&(this.logger.info("Check for new feature noification",me),re.push(this.checkForNewSyncingFeature(me.type)))}),(0,xn.zV)(re)})).subscribe()}checkForNewSyncingFeature(m){const re=this.getNotificationInfo(m);if(this.bannerNotificationService.hasNotificationInQueue(Pn.$9.NewSyncFeature)&&(this.logger.info("Remove stale new feature notification",m),this.bannerNotificationService.removeNotificationFromQueue(Pn.$9.NewSyncFeature)),m&&re.showOnboardingReconnect){const me=qt.Fv;return me.image=re.icon,me.onPrimaryButtonClick=this.onClickGotoSettings.bind(this),this.logger.info("Showing new feature notification",m),this.bannerNotificationService.addNotificationToQueue(me),this.onboardingStatusChange().pipe((0,In.p)(Ie=>Ie.state&&Ie.providerType===m),(0,p.s)(1),(0,Jt.T)(()=>(this.logger.info("Clearing new feature notification",m),this.bannerNotificationService.removeNotificationFromQueue(Pn.$9.NewSyncFeature),(0,j.of)(!0))))}return(0,j.of)(!1)}onClickGotoSettings(){this.triggerHighlightOnSettingsIntegration(),this.customLocationService.backNavigationRoute=this.router.url,this.settingsService.showPreferredGameLanguageCTA=!0,this.routerService.navigate([_n.f.SettingsConnections],{fragment:_n.u6.AccountLinkingIntegration})}startWaitingForLibraryUpdate(){var m;null===(m=this.libraryUpdated$)||void 0===m||m.complete(),this.libraryUpdated$=null,this.libraryUpdated$=new yn.m(1)}getLinkChangeNotificationData(){return this.refreshUiService.linkedAccountRefresh$.pipe((0,Jt.T)(m=>(this.logger.info("Refresh ALS triggered",null==m?void 0:m.source),null==m?void 0:m.metadata)))}getSyncChangeNotificationData(){return this.refreshUiService.syncChangeRefresh$.pipe((0,Jt.T)(m=>(this.logger.info("Refresh sync change triggered",null==m?void 0:m.source),null==m?void 0:m.metadata)))}initializeAccountConnections(){return this.logger.info("Initializing account connections"),this.accountLinkingEnabled=!1,(0,xn.zV)([this.lcarsService.getStaticAppData(),this.getUserAccountData()]).pipe((0,Jt.T)(([m,re])=>(this.processLcarsResponse(m.appStoreDefinitions,re),!0)),(0,Yt.W)(m=>(this.logger.error("Failure querying data from LCARS: ",m),(0,j.of)(!1))))}getUserAccountData(){return(0,Vt.h)(this.lcarsService.getLatestUserAccountInfo().pipe((0,p.s)(1)),this.lcarsService.onUserAccountInfoUpdated$).pipe((0,Jt.T)(re=>{const me=re.userAccount.storesData;return me.length?me:[]}),(0,Yt.W)(re=>(this.logger.error("Error in fetching user account info:",re),(0,j.of)([]))))}sortFeaturesData(m){const re=[];return Object.values(wt.Oz).forEach(me=>{const Ie=m.findIndex(Ve=>Ve.__typename===me);-1!==Ie&&re.push(m[Ie])}),re}processLcarsResponse(m,re){null!=m&&m.length&&(m.filter(me=>!qt.pm.includes(me.store)).forEach(me=>{var Ie;const Ve=me.store;me.features=this.sortFeaturesData(me.features),null===(Ie=me.features)||void 0===Ie||Ie.forEach(Je=>{const it=me.accountLinkingMetadata.supportedVariantIds||[];if(Object.values(wt.Oz).includes(Je.__typename)&&Je.supported){this.logger.info(`Processing LCARS data, digital store for ${me.store}:`,me);const St=this.getStoreSpecificUserAccountData(me.store,re);this.logger.info(`StoresData for ${me.store}:`,St),Je.__typename===wt.Oz.AccountLinkingSso&&(this.accountLinkingEnabled=!0),this.accountProviders.has(Ve)?(this.logger.info("Existing provider, updating userAccount info",Ve),this.accountProviders.get(Ve).userAccountInfo=St):(this.logger.info("Setting provider",Ve),this.accountProviders.set(Ve,new os(Ve,this.logger,this.appConfig,this.telemetryService,this.settingsService,this.localeService,this.translateService,it,me,St)))}})}),this.updateAccountConnections(!1,qt.dI.InitialFetchDone),this.isInitalized||(this.logger.info("Register for account linking push notifications"),this.registerAccountLinkingServiceNotifications(),this.isInitalized=!0),this.accountLinkingDataSubject.next(!0),this.accountLinkingEnabled&&this.checkAccountExpiration())}getStoreSpecificUserAccountData(m,re){var me;return null!==(me=re.find(Ie=>Ie.store===m))&&void 0!==me?me:null}updateAccountConnections(m,re,me=!1,Ie){Ie?(Ie.updateLinkTime(),this.logger.info(`Updating account info from lcars for ${Ie.platform}`),Ie.updateProviderState(),this.onProviderDataUpdate(Ie.type,re,m,me)):this.accountProviders.forEach(Ve=>{Ve.updateLinkTime(),this.logger.info(`Updating account info from lcars for ${Ve.platform}`),Ve.updateProviderState(),this.onProviderDataUpdate(Ve.type,re,m,me)})}initExpirationCheck(){(0,yi.Y)(36e5).pipe((0,In.p)(()=>this.accountLinkingEnabled)).subscribe(()=>{this.checkAccountExpiration()})}checkAccountExpiration(){this.accountProviders.forEach(m=>{if(m.isAccountLinkingSsoAvailable&&m.isConnected){const re=m.getExpirationStatus();re!==qt.lH.NotExpired&&(this.logger.info(`Account Linking expired state ${re} for ${m.type}`),m.updateProviderState(),this.providerOperationSub.next({provider:m.type,operation:qt.dI.Expiring}))}})}registerAccountLinkingServiceNotifications(){this.linkedAccountChangedNotification$.pipe((0,ri.n)(m=>this.updateLinkedAccount(m))).subscribe(),this.getSyncChangeNotificationData().pipe((0,ie.M)(m=>this.updateSyncAccount(m))).subscribe()}updateSyncAccount(m){if(null!=m&&m.platformSyncInfo){this.logger.info("Refresh sync data as per push notification");const re=this.accountProviders.get(m.platformSyncInfo.platformCode);re?(re.syncData={totalNumberOfSyncedGfnGames:m.platformSyncInfo.syncGameCount,syncState:m.platformSyncInfo.syncState||qt.Em.UNKNOWN,syncDate:m.platformSyncInfo.syncDate},this.updateAccountConnections(!0,qt.dI.SyncingDone,re.isResync,re),re.onSyncEnd(),re.isSyncScheduled=!1):this.logger.error("Missing provider in notification data",m.platformSyncInfo.platformCode)}else this.logger.info("Refresh sync data for conditional triggers"),this.syncAccountLinking(!1).pipe((0,p.s)(1)).subscribe()}updateLinkedAccount(m){if(m){if(null==m||!m.accountLinkedInfo)return this.logger.error("Missing accountLinkedInfo field in notification",m),(0,j.of)(!1);const re=m.accountLinkedInfo.accountType;if(!re)return this.logger.error(`Unknown accountType ${m.accountLinkedInfo.accountType} in notification`),(0,j.of)(!1);const me=this.accountProviders.get(re);if(!me)return this.logger.error(`Unknown accountType ${m.accountLinkedInfo.accountType} in notification`),(0,j.of)(!1);if(me.isSyncScheduled)return this.logger.info("Ignoring push notification, as a sync is scheduled for the provider"),(0,j.of)(!1);const Ie=m.accountLinkedInfo.linked;return Ie||!Ie&&me.loggedIn?(this.logger.info("Account syncing triggered due to push notification"),this.syncAccountLinking(!1,me).pipe((0,ie.M)(()=>this.checkAccountExpiration()),(0,p.s)(1))):(0,j.of)(!0)}return this.logger.info("Refresh ALS for conditional triggers"),this.syncAccountLinking(!1).pipe((0,ie.M)(()=>this.checkAccountExpiration()),(0,p.s)(1))}syncAccountLinking(m,re,me=!1){return this.logger.info(`Syncing Account Linking data for ${null==re?void 0:re.type}`),this.lcarsService.getLatestUserAccountInfo().pipe((0,Jt.T)(Ie=>(this.logger.info(`User Account data for ${null==re?void 0:re.type}: `,Ie),re?re.userAccountInfo=this.getStoreSpecificUserAccountData(re.digitalStoreInfo.store,Ie.userAccount.storesData):this.accountProviders.forEach(Ve=>{Ve.userAccountInfo=this.getStoreSpecificUserAccountData(Ve.digitalStoreInfo.store,Ie.userAccount.storesData)}),this.updateAccountConnections(m,qt.dI.SyncingDone,me,re),!0)),(0,Yt.W)(Ie=>(this.logger.error("Error syncing account linking providers: ",Ie),(0,j.of)(!1))))}waitForAl(){return this.guestModeHelperService.isGuestMode?(0,j.of)(!0):this.accountLinkingDataSubject.asObservable()}isSyncingOrLinkingSupported(m,re){return this.waitForAl().pipe((0,p.s)(1),(0,Jt.T)(()=>{var me;this.logger.info(`Checking account linking/syncing availability for game ${re} on ${m}`),this.initialized||this.logger.warn("Attempting to check availability for game before initialization is complete..");const Ie=null===(me=this.accountProviders)||void 0===me?void 0:me.get(m);return!(!Ie||!Ie.isAccountSyncSupported&&(!Ie.isAccountLinkingSupported||Ie.gamesList.length&&!Ie.gamesList.includes(re)))}))}getValueProp(m){const re=this.accountProviders.get(m);return re?re.digitalStoreInfo.features.filter(Ie=>Ie.displayProposition).map(Ie=>({matIcon:Ie.supported?"check_circle":"cancel",text:Ie.displayProposition})):null}getAccountLinkingStateForGame(m="",re){const me=re.toString();return this.waitForAl().pipe((0,p.s)(1),(0,Jt.T)(()=>{var Ie;this.logger.info(`Checking account linking availability for game ${re} on ${m}`),this.initialized||this.logger.warn("Attempting to check against the list of account-linking availability for game before initialization is complete. Cloud variables may not have been loaded.");const Ve=this.accountProviders.get(m);if(!Ve||!Ve.isAccountLinkingSupported)return this.logger.info(`Account linking not available for ${m}`),{isEnabled:!1,isRequired:!1};const Je=Ve;return null===(Ie=Je.gamesList)||void 0===Ie||!Ie.length||Je.gamesList.includes(me)?(this.logger.info(`Account linking is available for ${m} and for the game, ${re}`),{isEnabled:!0,isRequired:!(null==Je||!Je.isAccountLinkingSsoRequired)}):(this.logger.info(`Account linking is not available for ${m} and for the game, ${re}`),{isEnabled:!1,isRequired:!1})}))}isAccountLinkEnabledForGame(m="",re){const me=re.toString();return this.waitForAl().pipe((0,p.s)(1),(0,Jt.T)(()=>{var Ie;this.logger.info(`Checking account linking enablement for game ${re} on ${m}`),this.initialized||this.logger.warn("Attempting to check against the list of account-linking enabled games before initialization is complete. Cloud variables may not have been loaded.");const Ve=this.accountProviders.get(m);if(!Ve||!Ve.isAccountLinkingSupported)return this.logger.info(`Account linking not provided for ${m}`),!1;const Je=Ve;return null===(Ie=Je.gamesList)||void 0===Ie||!Ie.length||Je.gamesList.includes(me)?(this.logger.info("Account linking was enabled for the game, "+(Je.isConnected&&!Je.isExpired?"and account was linked and not expired":"but account was not linked or expired")),Je.isConnected&&!Je.isExpired):(this.logger.info(`Account linking is not available for ${m} and the game, ${me}`),!1)}))}isAccountLinked(m=""){if(this.isAccountLinkingAvailable(m)){const re=this.accountProviders.get(m);return(null==re?void 0:re.isConnected)&&!(null!=re&&re.isExpired)}return!1}isAccountSyncedOrLinkComplete(m){const re=this.accountProviders.get(m);return(null==re?void 0:re.isConnected)||(null==re?void 0:re.isSynced)}isAccountLinkingAvailable(m=""){const re=this.accountProviders.get(m);return!(!re||!re.isAccountLinkingSupported)}resync(m,re){if(!this.initialized)return(0,j.of)(!1);const me=this.accountProviders.get(m);return me?(me.onResyncStart(),this.sync(m,!0,!1,re)):(0,j.of)(!0)}connect(m,re,me=!1,Ie=!1,Ve=!1,Je,it=!1){const St=this.accountProviders.get(m),xt=St.name;return this.connectFlow(m,me,Ie,Je,it).pipe((0,ce.ZZ)(Zt=>Zt?(this.logger.info("Account linking succeed, showing toast message"),this.handleConnectLoginSuccess(St,xt,re,me,Ve,Je)):(this.logger.error("Account linking failed, showing error dialog"),this.dialogService.openAccountLinkingErrorDialog(xt,it))))}connectFlow(m,re=!1,me=!1,Ie,Ve=!1){if(!this.initialized)return(0,j.of)(!1);const Je=this.accountProviders.get(m);if(Je){var it;const St=this.distributedtracingUtilService.startSpan(nn.pB.AlsUserLogin,Ie);return this.distributedtracingUtilService.setSpanAttribute(St,nn.NS.AccountLinkingProvider,m),re?(Je.onReconnectStart(me),this.removeOnboarding.next({providerType:m,state:!0})):Je.onConnectStart(),(null!==(it=this.appConfig.featureEnablement)&&void 0!==it&&it.openLinksOffDevice?this.doLoginOffDevice(Je,St,Ve):this.doLogin(Je,m,re,St,Ve)).pipe((0,Yt.W)(gn=>(this.logger.error("Error logging in: ",gn),(0,j.of)(!1))),(0,ie.M)(gn=>{gn?(this.logger.info("Account linking succeed"),this.distributedtracingUtilService.setSpanAttribute(St,nn.NS.Error,!1)):(this.distributedtracingUtilService.setSpanAttribute(St,nn.NS.Error,!0),this.logger.error("Account linking failed"),this.providerOperationSub.next({provider:m,operation:qt.dI.LinkingError}))}),(0,rr.j)(()=>{St&&this.distributedtracingUtilService.closeSpan(St),re?Je.onReconnectEnd():Je.onConnectEnd()}))}return(0,j.of)(!1)}handleConnectLoginSuccess(m,re,me,Ie,Ve=!1,Je){let it;return Ve&&m.isAccountSyncingSupported?this.syncInline(m,me,!1):(Ve?(this.logger.info("Opening inline connect success dialog"),it=this.dialogService.openInLineConnectSuccessDialog(re,m.persona,Ie)):it=this.translateService.get(Ie?"accountConnection.accountLinking.accountReconnected":"accountConnection.accountLinking.accountConnected",{arg:re}).pipe((0,ie.M)(xt=>{this.logger.info("Showing connection success toast"),this.snackbar.open(xt,"",{duration:5e3,horizontalPosition:"left",verticalPosition:"bottom",panelClass:["nv-hig"]})})),it.pipe((0,Jt.T)(()=>m.isAccountSyncingSupported?(this.sync(m.type,!1,Ve,Je).pipe((0,p.s)(1)).subscribe(bi.l,St=>this.logger.error("Error occurred while syncing",St)),!0):(m.updateProviderState(),this.logger.info("Connection successful, provider does not support syncing"),!0))))}disconnect(m,re=!1,me){var Ie,Ve,Je;if(!this.initialized)return(0,j.of)(!1);this.logger.info(`Disconnecting account "${m}"`);const it=this.accountProviders.get(m);it.showOnboardingReconnect&&this.removeOnboarding.next({providerType:m,state:!0}),it.onDisconnectStart();const St=it.isAccountSyncSupported;St&&this.startWaitingForLibraryUpdate();const xt=null===(Ie=this.appConfig)||void 0===Ie||null===(Ie=Ie.accountLinking)||void 0===Ie?void 0:Ie.disconnectWaitInterval,Zt=null===(Ve=this.appConfig)||void 0===Ve||null===(Ve=Ve.accountLinking)||void 0===Ve?void 0:Ve.defaultDisconnectWaitInterval,gn=xt&&null!==(Je=xt[Hr+it.type.toLowerCase()])&&void 0!==Je?Je:Zt,ln=this.getPushMessageKey(Rn.MP.PLATFORM_SYNC_CHANGE,it.platform);return this.refreshUiService.startNotificationTimerRace(Rn.MP.PLATFORM_SYNC_CHANGE,gn,{key:ln,appStore:it.platform}),this.alsSdkService.disconnect(m,it.platform,me).pipe((0,ce.ZZ)(()=>!St||re?(this.logger.info("Not proceeding to wait for library change trigger"),(0,j.of)(null)):this.handleLibraryRefreshOnSyncChange(it)),(0,Jt.T)(()=>(this.handleDisconnectSuccess(m,!re),!0)),(0,Yt.W)(()=>(it.onDisconnectEnd(),this.logger.error("Disconnecting account error"),(0,j.of)(!1))))}handleLibraryRefreshOnSyncChange(m,re=!1){const me=new Kn.t(!1),Ie=this.refreshUiService.libraryRefresh$.pipe((0,p.s)(1)).subscribe(Je=>me.next(!0));return this.refreshUiService.getNotificationTimerRaceResult(Rn.MP.PLATFORM_SYNC_CHANGE,{key:Rn.MP.PLATFORM_SYNC_CHANGE+":"+m.platform,appStore:m.platform}).pipe((0,p.s)(1),(0,ce.ZZ)(Je=>Je?(this.logger.info("Not refreshing userAccount"),(0,j.of)(null)):(this.logger.info("Refreshing user account stream after waiting"),this.syncAccountLinking(!0,m,re))),(0,ce.ZZ)(Je=>(null!==Je&&(m.onSyncEnd(),m.onResyncEnd(),m.isSyncScheduled=!1),me)),(0,ie.M)(Je=>{null!=m&&m.isConnected&&m.isSyncFailure()?this.logger.info("Sync failed, not triggering manual library refresh"):Je?this.logger.info("Received library refresh notification after account disconnect, not triggering manual refresh"):(this.logger.info("Did not receive library refresh notification in time, triggering manual refresh"),this.triggerLibraryRefreshSub.next(!0))}),(0,ce.ZZ)(Je=>this.libraryUpdated$&&!m.isSyncFailure()?this.libraryUpdated$.asObservable().pipe((0,p.s)(1),(0,hi.u)(Je),(0,is.o)(this.appConfig.accountLinking.inlineSyncMaxWaitForLibraryUpdate,(0,j.of)(Je))):(0,j.of)(Je)),(0,rr.j)(()=>{null==Ie||Ie.unsubscribe(),null==me||me.complete()}))}reconnect(m,re,me,Ie=!1){return this.needsWindowWorkaround&&(this.blankWindow=window.open("","_blank")),this.disconnect(m,!0,me).pipe((0,ce.ZZ)(Ve=>Ve?this.connect(m,null,!0,re,!1,me,Ie):(0,j.of)(Ve)),(0,ie.M)(()=>{var Ve;null===(Ve=this.blankWindow)||void 0===Ve||Ve.close(),this.blankWindow=null}))}handleDisconnectSuccess(m,re=!0){const me=this.accountProviders.get(m);re&&this.sendOwnershipDisconnectTelemetry(m),me.userAccountInfo=null,this.providerOperationSub.next({provider:m,operation:qt.dI.Disconnected}),me.onDisconnectEnd()}getPushMessageKey(m,re){return m+":"+re}accountSyncLibraryRefresh(m,re=!1){var me,Ie,Ve;m.isSyncScheduled=!0;const Je=null===(me=this.appConfig)||void 0===me||null===(me=me.accountLinking)||void 0===me?void 0:me.syncWaitInterval,it=null===(Ie=this.appConfig)||void 0===Ie||null===(Ie=Ie.accountLinking)||void 0===Ie?void 0:Ie.defaultSyncWaitInterval,St=Je&&null!==(Ve=Je[Hr+m.type.toLowerCase()])&&void 0!==Ve?Ve:it,xt=this.getPushMessageKey(Rn.MP.PLATFORM_SYNC_CHANGE,m.platform);return this.refreshUiService.startNotificationTimerRace(Rn.MP.PLATFORM_SYNC_CHANGE,St,{key:xt,appStore:m.platform}),this.handleLibraryRefreshOnSyncChange(m,re).pipe((0,Jt.T)(Zt=>!m.isSyncFailure()))}sync(m,re=!1,me=!1,Ie){if(this.logger.info("Calling asynchronous sync for",m),!this.initialized)return(0,j.of)(!1);const Ve=this.accountProviders.get(m);if(!Ve)return(0,j.of)(!1);let Je;Ve.onSyncStart(),Ve.isAccountSyncingSupported&&this.startWaitingForLibraryUpdate();const it=this.alsSdkService.postRequestToSync(m,Ie),St=this.accountSyncLibraryRefresh(Ve,re);return Je=me?this.dialogService.openInlineSyncInProgressDialog(it,St,Ve.name):it.pipe((0,ce.ZZ)(xt=>(this.logger.info("Sync result",xt),xt?St:(Ve.state=qt.Em.UNKNOWN,(0,j.of)(xt))))),Je.pipe((0,ie.M)(xt=>{xt||(Ve.onSyncEnd(),Ve.onResyncEnd(),this.onProviderDataUpdate(Ve.type,qt.dI.SyncingError,!0,re))}))}onLibraryRefreshRequested(){return this.triggerLibraryRefreshSub.asObservable()}providerOperationUpdate(){return this.providerOperationSub.asObservable()}onboardingStatusChange(){return this.removeOnboarding.asObservable()}getEnabledAccountProviders(){return[...this.accountProviders.values()].sort((m,re)=>m.digitalStoreInfo.sortOrder-re.digitalStoreInfo.sortOrder)}getGameLaunchInfo(m){const re=this.accountProviders.get(m);if(!re)return null;const me=this.getValueProp(m);return{isAccountLinked:re.isAccountLinked,expirationStatus:re.getExpirationStatus(),isAccountLinkingSsoRequired:re.isAccountLinkingSsoRequired,providerType:m,storeName:re.name,isAccountLinkingSsoAvailable:re.isAccountLinkingSsoAvailable,descriptionIconList:me,showOnboardingReconnect:re.showOnboardingReconnect}}getNotificationInfo(m){const re=this.accountProviders.get(m);return re?{loggedIn:re.loggedIn,isAccountLinkingSsoAvailable:re.isAccountLinkingSsoAvailable,icon:re.icon,expirationStatus:re.getExpirationStatus(),showOnboardingReconnect:re.showOnboardingReconnect,storeName:re.name}:null}getAccountLinkingAnalyticsInfo(){const m=[];return this.accountProviders.forEach(re=>{m.push({isAccountSyncSupported:re.isAccountSyncSupported,isSynced:re.isSynced,isAccountLinkingSsoAvailable:re.isAccountLinkingSsoAvailable,isAccountLinked:re.isAccountLinked,providerType:re.type})}),m}parseLoginResult(m){if(null!=m&&m.platform)return this.logger.info(`Account Linking login successful for ${m.platform}. Expires in ${m.expires_in}`),this.updateUserAccountPostLogin(m),m;if(m){var re;if(m.error)throw new Error(null!==(re=m.error_description)&&void 0!==re?re:m.error);const Ie=new URL(m),Ve={display_name:Ie.searchParams.get("display_name"),expires_in:Ie.searchParams.get("expires_in"),platform:Ie.searchParams.get("platform"),error:Ie.searchParams.get("error"),error_description:Ie.searchParams.get("error_description")};var me;if(Ve.error)throw new Error(null!==(me=Ve.error_description)&&void 0!==me?me:Ve.error);return this.logger.info(`Account Linking login successful for ${Ve.platform}. Expires in ${Ve.expires_in}`),this.updateUserAccountPostLogin(Ve),Ve}return this.logger.info("Account Linking login response invalid."),{}}updateUserAccountPostLogin(m){const me=this.accountProviders.get(m.platform);me&&(me.userAccountInfo={store:m.platform,accountLinkingData:{expiresIn:m.expires_in,userDisplayName:m.display_name}},me.updateLinkTime())}get getCTAVisibilityPreference$(){return this.ctaVisibilityPreference.asObservable()}getIntegrationTileVisibility$(){return this.getCTAVisibilityPreference$.pipe((0,or.F)(),(0,Jt.T)(m=>{const{connectedCount:re,availableCount:me}=this.getCTACountInfo();return m&&re!me.isAccountLinkingSupported&&!me.isAccountSyncingSupported||(me.isAccountLinked&&!me.isExpired||me.isSynced)),totalAvailableProviders:m}}readShowIntegrationTilePreference(){return this.idmService.cachedUser.pipe((0,ce.ZZ)(m=>this.sharedStorageService.readBlock("ALSPreference_"+m.data.userId)),(0,Jt.T)(m=>null==(null==m?void 0:m.showIntegrationTile)?this.shouldShowCTADefault:m.showIntegrationTile),(0,Yt.W)(m=>(0,j.of)(this.shouldShowCTADefault)))}writeShowIntegrationTilePreference(m){this.idmService.cachedUser.pipe((0,ce.ZZ)(re=>(0,ge.p)([(0,j.of)(re.data.userId),this.sharedStorageService.readBlock("ALSPreference_"+re.data.userId)])),(0,ce.ZZ)(([re,me])=>(me.showIntegrationTile=m,this.sharedStorageService.writeBlock("ALSPreference_"+re,me)))).subscribe(bi.l,bi.l)}shouldHighlightSettingsIntegration(){return this.showBorderOnSettingsIntegration}triggerHighlightOnSettingsIntegration(){this.showBorderOnSettingsIntegration=!0}markSettingsIntegrationRenderComplete(){this.showBorderOnSettingsIntegration=!1}onCancelCTA(){return this.launchCTA.asObservable()}cancelPendingCTA(){this.launchCTA.next(!0),this.launchCTA.complete(),this.launchCTA=new yn.m(1)}openExpirationDialog(m,re=!1,me=!1,Ie=!1){const Ve=this.getGameLaunchInfo(m);return this.logger.info("Game launch info:",Ve),this.dialogService.openAccountLinkingExpirationDialog({isAccountLinkingSsoRequired:Ve.isAccountLinkingSsoRequired,expirationStatus:Ve.expirationStatus,providerType:Ve.providerType,storeName:Ve.storeName},Ve.isAccountLinkingSsoRequired,re,me,Ie)}openAccountLinkingDialog(m,re,me=!1,Ie=!1,Ve=!1){const Je=this.getGameLaunchInfo(m.appStore);this.logger.info("Game launch info:",Je);let it=G.duU.Account_Link_Required;const St=Je.isAccountLinked,xt=Je.showOnboardingReconnect,Zt=Je.expirationStatus,gn=Zt===qt.lH.Expired||Zt===qt.lH.ExpiresNow;if(St&&gn)return it=qt.lH.Expired?G.duU.Account_Link_Expired:G.duU.Account_Link_Expires_Soon,this.telemetryUtilService.sendPopUpDialogShownEvent(it),this.openExpirationDialog(m.appStore,!1,Ie,Ve).pipe((0,ce.ZZ)(ln=>{let fn=!re;const Cn=ln===Nn.Tq.GoToConnection;return Cn&&(fn=!1,this.dialog.closeAll(),this.navigateToAccountsSection()),ln===Nn.Tq.Reconnect?(this.telemetryUtilService.sendPopUpDialogClosedEvent(it,G.HBm.Proceed_Connect),this.proceedToConnect(m,!0,xt,me,Ve)):(this.telemetryUtilService.sendPopUpDialogClosedEvent(it,Cn?G.HBm.Goto_Settings:G.HBm.Dialog_Closed),(0,j.of)({returnValue:fn,dialogShown:!0}))}));if(!St||St&&!gn&&xt){const ln=m.accountLinkingStoreLabel,fn=ln?ln+"_":"";return this.idmService.cachedUser.pipe((0,ce.ZZ)(Cn=>this.sharedStorageService.readBlock("accountInlineLinking_"+fn+Cn.data.userId)),(0,ce.ZZ)(Cn=>{if(this.logger.info("Account linking data",Cn),!Cn.hideInlineAccountLinkingDialog||Je.isAccountLinkingSsoRequired){const Ln={isAccountLinkingSsoRequired:Je.isAccountLinkingSsoRequired,descriptionIconList:Je.descriptionIconList,gameInfo:m,showOnboardingReconnect:Je.showOnboardingReconnect};return this.telemetryUtilService.sendPopUpDialogShownEvent(it),this.dialogService.showInLineLinkDialog(Ln,!0).pipe((0,ce.ZZ)(bn=>bn.dialogAction===Nn.Tq.Connect?(this.telemetryUtilService.sendPopUpDialogClosedEvent(it,G.HBm.Proceed_Connect),this.proceedToConnect(m,!1,xt,me,Ve)):(this.telemetryUtilService.sendPopUpDialogClosedEvent(it,G.HBm.Dialog_Closed),bn.checkBoxState&&this.onInlineLinkDialogDismiss(fn),(0,j.of)({returnValue:!re,dialogShown:!0}))))}return(0,j.of)({returnValue:!0,dialogShown:!1})}))}return(0,j.of)({returnValue:!0,dialogShown:!1})}proceedToConnect(m,re,me,Ie,Ve){return this.connect(m.appStore,m,re,me,Ie,void 0,Ve).pipe((0,ce.ZZ)(Je=>(0,j.of)({returnValue:Je,dialogShown:!0})))}onProviderDataUpdate(m,re,me,Ie){this.providerOperationSub.next({provider:m,operation:re}),me&&this.sendOwnershipSyncTelemetry(Ie,m)}doLogin(m,re,me,Ie,Ve=!1){let Je;return Je=this.isBrowserClient?this.doLoginBrowser(m,Ie):this.doLoginNative(m,Ie),this.dialogService.openAccountLinkingConnectingDialog(Je,me,Ve).pipe((0,ce.ZZ)(it=>it?(this.logger.info("Data received from AL service: ",it),this.onProviderDataUpdate(re,qt.dI.LinkingDone,!m.isAccountSyncSupported,!1),(0,j.of)(!0)):(0,j.of)(!1)))}doLoginOffDevice(m,re,me=!1){const Ie=this.alsSdkService.postLoginUrl(m.platform,re).pipe((0,Qi.t)(1)),Ve=new yn.m(1);let Je;const it=Ie.pipe((0,ie.M)(xt=>{Je=this.linkedAccountChangedNotification$.pipe((0,In.p)(Zt=>!!Zt&&(Zt.accountLinkedInfo.accountType===m.type&&Zt.accountLinkedInfo.linked)),(0,p.s)(1)).subscribe(()=>Ve.next())}),(0,ce.ZZ)(xt=>{const Zt=Math.max(1,Math.floor(xt.expires_in/xt.interval)-1);return this.alsSdkService.postToken(xt.device_code,re).pipe((0,fr.l)(gn=>gn.pipe((0,ce.ZZ)((ln,fn)=>{var Cn;if(fn+1>Zt)return this.logger.error("Off device login failed because number of retry has reached maximal value"),(0,cn.$)(ln);const bn=ln.rawResponse;return 400===ln.status&&"authorization_pending"===(null==bn||null===(Cn=bn.error)||void 0===Cn?void 0:Cn.error)?(0,Ni.O)(1e3*xt.interval):void 0}))))}),(0,ce.ZZ)(xt=>{var Zt,gn;const ln=null!==(Zt=null===(gn=this.appConfig.accountLinking)||void 0===gn?void 0:gn.offDeviceNotificationTimeout)&&void 0!==Zt?Zt:3e4,fn=(0,Ni.O)(ln).pipe((0,ce.ZZ)(()=>this.syncAccountLinking(!0,m)));return(0,Br.O4)(Ve.asObservable(),fn).pipe((0,p.s)(1),(0,hi.u)(!0))})),St=Ie.pipe((0,Jt.T)(xt=>{let Zt=ae.lp[ae.r7.GfnOffDeviceAccountLink];return this.appConfig.accountLinking.offDeviceLoginShortUrl&&(Zt=this.appConfig.accountLinking.offDeviceLoginShortUrl),{userCode:xt.user_code,verificationUri:Zt,verificationUriComplete:xt.verification_uri_complete}}));return this.dialogService.openOffDeviceAccountLinkingDialog(it,St,me).pipe((0,ie.M)(xt=>{var Zt;null===(Zt=Je)||void 0===Zt||Zt.unsubscribe(),null==Ve||Ve.complete()}))}doLoginBrowser(m,re){let me;this.blankWindow?(me=this.blankWindow,this.blankWindow=null):me=window.open("","_blank");const Ie=this.alsSdkService.getLoginUrl(m.type.toUpperCase(),void 0,re).pipe((0,ce.ZZ)(Je=>(me.location.href=Je,(0,Vi.R)(window,"message"))),(0,In.p)(Je=>this.validateMessageEvent(Je)),(0,Jt.T)(Je=>this.getOAuthLoginData(Je)),(0,Jt.T)(Je=>this.parseLoginResult(Je)),(0,Jt.T)(Je=>{const it=new URL(this.alsSdkService.redirectFinishedUrl);return it.searchParams.append("platform",m.platform),it.searchParams.append("ui_locales",this.localeService.getLocale()),Je.display_name&&it.searchParams.append("display_name",Je.display_name),me.location.href=it.href,Je}),(0,Yt.W)(Je=>{this.logger.error("error retrieving login url ",Je.message);const it=new URL(this.alsSdkService.redirectFinishedUrl);return it.searchParams.append("platform",m.platform),it.searchParams.append("ui_locales",this.localeService.getLocale()),it.searchParams.append("error","accountlink_fail"),me.location.href=it.href,(0,j.of)("")})),Ve=(0,yi.Y)(500).pipe((0,In.p)(()=>me.closed),(0,hi.u)(""),(0,p.s)(1));return(0,Br.O4)(Ve,Ie)}doLoginNative(m,re){var me;let Ie=null===(me=this.appConfig.starfleet)||void 0===me?void 0:me.portNumbers;0===Ie.length&&(Ie=[4444]);const Ve=new k.B7,Je=new k.B7;return this.bridgeService.executeCommand(On.Ts.Common.Httpserver.StartHttpServer,{ports:Ie,redirectUrl:"",redirectParams:[]}).pipe((0,ce.ZZ)(it=>{if("httpRequest"===(null==it?void 0:it.callbackReason)){const St=this.parseLoginResult(it.url),xt=new URL(this.alsSdkService.redirectFinishedUrl);return xt.searchParams.append("platform",m.platform),xt.searchParams.append("ui_locales",this.localeService.getLocale()),St.display_name&&xt.searchParams.append("display_name",St.display_name),this.bridgeService.executeCommand(On.Ts.Common.Httpserver.SendRedirectResponse,{redirectUrl:xt.toString()}).pipe((0,ie.M)(()=>{Je.next(St),Je.complete()}))}return"httpRequestAborted"===(null==it?void 0:it.callbackReason)?(0,j.of)(!0).pipe((0,ie.M)(()=>{Je.next(),Je.complete()})):"serverCreated"===(null==it?void 0:it.callbackReason)?(this.logger.info("HTTP server port is: ",it.portNumber),Ve.next(it.portNumber),(0,j.of)(!0)):(0,cn.$)("Error in HTTP server response for account login")}),(0,Yt.W)(it=>{this.logger.error("Error creating HTTP server for account login",it);const St=new URL(this.alsSdkService.redirectFinishedUrl);return St.searchParams.append("platform",m.platform),St.searchParams.append("ui_locales",this.localeService.getLocale()),St.searchParams.append("error","server_error"),this.bridgeService.executeCommand(On.Ts.Common.Httpserver.SendRedirectResponse,{redirectUrl:St.toString()}).pipe((0,ie.M)(()=>{Ve.error(it),Je.error(it)}))}),(0,rr.j)(()=>{Je.complete(),Ve.complete()})).subscribe(),Ve.pipe((0,Mo.H)(it=>this.alsSdkService.getLoginUrl(m.type.toUpperCase(),it,re)),(0,Mo.H)(it=>(this.appConfig.accountLinking.useNativeAuthCommands?this.bridgeService.executeCommand(On.Ts.Common.Nativeauth.initiateLogInALS,{url:it}).pipe((0,p.s)(1)).subscribe():window.open(it,"_blank"),Je.asObservable())),(0,p.s)(1),(0,is.o)(3e5,(0,j.of)("")),(0,rr.j)(()=>{this.logger.info("Closing HTTP server"),this.bridgeService.executeCommand(On.Ts.Common.Httpserver.StopHttpServer).subscribe()}))}validateMessageEvent(m){let re=m&&m.data;return re=re&&m.origin===window.location.origin,!!re}getOAuthLoginData(m){var re;const me=null===(re=m.data)||void 0===re?void 0:re.key;if(!me)return{};const Ie=window.localStorage.getItem(me);window.localStorage.removeItem(me);try{return JSON.parse(Ie).data}catch{return this.logger.error("malformed access code object",Ie),null}}getGameSyncStatus(m){switch(m){case qt.Em.UNKNOWN:return G.war.Unknown;case qt.Em.SYNC_SUCCESS:return G.war.Sync_Success;case qt.Em.PROFILE_NOT_CREATED:return G.war.Profile_Not_Created;case qt.Em.SYNC_DENIED:return G.war.Sync_Denied;case qt.Em.SYNC_FAILED:return G.war.Sync_Failed;default:return G.war.Unknown}}sendOwnershipSyncTelemetry(m,re){const me=this.accountProviders.get(re);let Ie=me.isSynced?m?G.xkk.Resync:G.xkk.Sync:G.xkk.AccountLinked;if(me.reconnectReason)switch(me.reconnectReason){case qt.U8.onboardingReconnect:Ie=G.xkk.ReconnectForOnboarding;break;case qt.U8.syncDenied:Ie=G.xkk.ReconnectAfterSyncDenied;break;case qt.U8.reconnect:Ie=G.xkk.Reconnect}else if(me.prevResyncReason)switch(me.prevResyncReason){case qt.Jp.profileNotCreated:Ie=G.xkk.ResyncAfterProfileCreate;break;case qt.Jp.privateProfile:Ie=G.xkk.ResyncAfterResolve;break;case qt.Jp.syncFailed:Ie=G.xkk.ResyncAfterSyncFailed}const Ve=new G.IWs({userAction:Ie,state:me.isConnected?G.H9T.Connected:G.H9T.Disconnected,status:this.getGameSyncStatus(me.state),serviceProviderName:re||"",totalNumberOfGfnSupportedGames:me.numberOfSyncedGames,syncDate:me.syncDate||""});this.telemetryService.push(Ve),me.resetResyncReconnectReasons()}sendOwnershipDisconnectTelemetry(m){var re;const me=this.accountProviders.get(m),Ie=(null===(re=this.accountProviders.get(m))||void 0===re?void 0:re.syncDate)||"",Ve=new G.IWs({userAction:G.xkk.Disconnect,state:G.H9T.Disconnected,status:G.war.Sync_Success,serviceProviderName:m||"",totalNumberOfGfnSupportedGames:0,syncDate:Ie});this.telemetryService.push(Ve),me.resetResyncReconnectReasons()}navigateToAccountsSection(){this.triggerHighlightOnSettingsIntegration(),this.customLocationService.backNavigationRoute=this.router.url,this.cancelPendingCTA(),this.router.navigate([_n.f.SettingsConnections],{fragment:_n.u6.AccountLinkingIntegration})}handleConnectFlow(m,re,me=!1){return this.connect(m.type,re,me,!1,!0).pipe((0,ce.ZZ)(Ie=>Ie?(0,j.of)(Ie):(0,cn.$)("Account connection failed")))}handleInlineLinkingDialog(m,re){let me,Ie=!1;return this.idmService.cachedUser.pipe((0,p.s)(1),(0,ce.ZZ)(Ve=>{const Je=re.accountLinkingStoreLabel;return me=Je?Je+"_":"",this.sharedStorageService.readBlock("accountInlineLinking_"+me+Ve.data.userId)}),(0,ce.ZZ)(Ve=>{if(Ve.hideInlineAccountLinkingDialog)return(0,j.of)({dialogAction:Nn.Tq.ManuallyMarkAsOwned,checkBoxState:!1});Ie=!0;const Je={isAccountLinkingSsoRequired:m.isAccountLinkingSsoRequired,descriptionIconList:this.getValueProp(re.appStore),gameInfo:re,showOnboardingReconnect:m.showOnboardingReconnect};return this.dialogService.showInLineLinkDialog(Je)}),(0,Jt.T)(Ve=>(Ie&&Ve.checkBoxState&&Ve.dialogAction===Nn.Tq.ManuallyMarkAsOwned&&this.onInlineLinkDialogDismiss(me),Ve.dialogAction)))}onInlineLinkDialogDismiss(m){this.idmService.cachedUser.pipe((0,ce.ZZ)(re=>(0,ge.p)([(0,j.of)(re.data.userId),this.sharedStorageService.readBlock("accountInlineLinking_"+m+re.data.userId)])),(0,ce.ZZ)(([re,me])=>(me.hideInlineAccountLinkingDialog=!0,this.sharedStorageService.writeBlock("accountInlineLinking_"+m+re,me))),(0,p.s)(1)).subscribe()}checkForConnection(m){const re=this.accountProviders.get(m.appStore);let me=Dn.Bp.Manual;return this.isSyncingOrLinkingSupported(m.appStore,m.variant.id).pipe((0,p.s)(1),(0,ce.ZZ)(Ie=>{if(!re)return this.dialogService.markGameAsManuallyOwned(m);if(!Ie)return this.dialogService.markGameAsManuallyOwned(m);if(!this.isAccountSyncedOrLinkComplete(m.appStore))return this.handleInlineLinkingDialog(re,m);if(re.isSynced&&re.isSyncFailure())return this.handleSyncErrors(re);const Ve=re.getExpirationStatus();return Ve===qt.lH.Expired||Ve===qt.lH.ExpiresNow?this.openExpirationDialog(m.appStore,!0):re.isSynced?this.dialogService.openResyncGameStore(m,re.persona):this.dialogService.markGameAsManuallyOwned(m)}),(0,ce.ZZ)(Ie=>{switch(Ie){case Nn.Tq.Connect:me=Dn.Bp.StoreConnect;break;case Nn.Tq.Reconnect:me=Dn.Bp.StoreReconnect;break;case Nn.Tq.Resync:me=Dn.Bp.StoreResync;break;case Nn.Tq.Cancel:me=Dn.Bp.ManualPostCancellation}return this.handleDialogActions(Ie,re,m)}),(0,Jt.T)(Ie=>({syncSupported:null==re?void 0:re.isAccountSyncingSupported,checkIfGamesAutoSynced:this.checkIfGamesAutoSynced,markAsOwnedTrigger:me})))}handleDialogActions(m,re,me){switch(this.checkIfGamesAutoSynced=!1,m){case Nn.Tq.ManuallyMarkAsOwned:return this.handleManuallyMarkAsOwned(re,me);case Nn.Tq.MarkAsOwned:return(0,j.of)(!0);case Nn.Tq.Connect:return this.handleConnectFlow(re,me);case Nn.Tq.Reconnect:return this.handleConnectFlow(re,me,!0);case Nn.Tq.Resync:return this.syncInline(re,me,!0);case Nn.Tq.GoToConnection:return this.dialog.closeAll(),this.navigateToAccountsSection(),(0,cn.$)("Dialog dismissed , navigating to settings page");case Nn.Tq.Done:return this.checkIfGamesAutoSynced=!0,(0,j.of)(!0);case Nn.Tq.NotNow:return(0,j.of)(!0);default:return(0,cn.$)("DIALOG_DISMISSED")}}handleManuallyMarkAsOwned(m,re){return this.dialogService.markGameAsManuallyOwned(re).pipe((0,ce.ZZ)(me=>this.handleDialogActions(me,m,re)))}syncInline(m,re,me){return this.sync(m.type,me,!0).pipe((0,p.s)(1),(0,ce.ZZ)(Ie=>Ie?0!==m.numberOfSyncedGames?(this.logger.info(`${m.numberOfSyncedGames} Games synced after syncing account`),this.dialogService.showLibrarySyncedDialog(m.appStoreName,m.numberOfSyncedGames,m.persona)):(this.logger.info("0 Games synced after syncing account"),this.dialogService.noGameSyncedDialog(m.appStoreName,re,m.persona)):this.handleSyncErrors(m)),(0,ce.ZZ)(Ie=>this.handleDialogActions(Ie,m,re)))}handleSyncErrors(m){switch(m.state){case qt.Em.PROFILE_NOT_CREATED:return this.dialogService.profileNotCreatedDialog(m.name,m.errorDialogUrl);case qt.Em.SYNC_DENIED:return m.type===qt.b3?this.dialogService.profileNotPublicIssueDialog(m.name,m.errorDialogUrl,m.persona):this.dialogService.permissionFailureDialog(m.name);default:return this.dialogService.syncFailureDialog(m.name)}}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(P.NZ),i.KVO(At.Vk),i.KVO(ai.k_),i.KVO(A.H0),i.KVO(P.iH),i.KVO(dn.h$),i.KVO(nn.Z1),i.KVO(Nn.o3),i.KVO(Dn.Br),i.KVO(O.c$),i.KVO(Fo.F4),i.KVO(ci.Ix),i.KVO(ko),i.KVO(Pe.x),i.KVO(ss),i.KVO(pi.yQ),i.KVO(eo.UG),i.KVO(G.jgD),i.KVO(B.bZ),i.KVO(Si.Hm),i.KVO(_n.HM))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var gs=t(48472),hs=t(56237),us=t(12532),sr=t(18005),ar=function(be){return be.denied="denied",be}(ar||{}),yo=function(be){return be.clientAddedData="CLIENT_ADDED_DATA",be.clientRemovedData="CLIENT_REMOVED_DATA",be.clientDataResponse="CLIENT_DATA_RESPONSE",be.serverDataRequest="SERVER_DATA_REQUEST",be}(yo||{});let ms=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it,St,xt,Zt){this.appConfig=re,this.cloudVarService=me,this.settingsService=Ie,this.bridgeService=Ve,this.distributedTracingUtilService=Je,this.telemetryUtilService=it,this.guestModeService=St,this.guestModeHelperService=xt,this.systemInfoService=Zt,this.detectClipboardChange=new Kn.t(!1),this.desktopPasteTelemetry={clientClipboardRead:G.T80.UNDEFINED,clipboardDataSent:G.T80.UNDEFINED,clipboardDataLength:0,streamSessionId:"",streamSubSessionId:"",requestId:""},this.isGuestAppFlow=!1,this.logger=m.getLogger("ClipboardService"),this.isGuestAppFlow=this.guestModeHelperService.isGuestAppFlow()}setDefaultClipboardSetting(){(0,hs.T)(()=>this.isGuestAppFlow,(0,xn.zV)([this.guestModeService.isGuestFlowConfigFetched$,this.gxtClipboardPasteConfig()]),(0,xn.zV)([(0,j.of)(null),this.gxtClipboardPasteConfig()])).pipe((0,p.s)(1),(0,ce.ZZ)(([m,re])=>{var me,Ie,Ve;return this.isGuestAppFlow&&(this.guestModeConfig=this.guestModeHelperService.getGuestModeConfig()),this.logger.info("Guest mode config for Paste: ",null===(me=this.guestModeConfig)||void 0===me||null===(me=me.igoSettings)||void 0===me?void 0:me.pasteDefaultOn," and Gxt config: ",re),null!=re&&re.isEnabled&&null!=re&&re.maxPasteBuffer?(this.isPasteFeatureOn=null==re?void 0:re.isEnabled,void 0!==(null===(Ie=this.guestModeConfig)||void 0===Ie||null===(Ie=Ie.igoSettings)||void 0===Ie?void 0:Ie.pasteDefaultOn)&&(this.isPasteFeatureOn=this.isPasteFeatureOn&&(null===(Ve=this.guestModeConfig)||void 0===Ve||null===(Ve=Ve.igoSettings)||void 0===Ve?void 0:Ve.pasteDefaultOn)),this.settingsService.getSettingsData().pipe((0,p.s)(1))):(this.logger.info("Skip default setting as clipboard paste disabled"),(0,j.of)(null))})).subscribe(m=>{if(m&&!m.hasOwnProperty(dn.oY.ClipboardPaste)){var re;this.logger.info("Setting clipboard paste as enabled: ",this.isPasteFeatureOn," by default");const me={settingType:dn.oY.ClipboardPaste,selectedOption:null===(re=this.isPasteFeatureOn)||void 0===re||re};this.settingsService.storeChangedSettings(me)}})}init(){return this.detectClipboardChange||(this.detectClipboardChange=new Kn.t(!1)),this.detectClipboardChange.asObservable().pipe((0,ce.ZZ)(()=>this.clipboardFeatureConfig()),(0,ce.ZZ)(m=>null!==m?m.isEnabled&&m.maxPasteBuffer?this.readText().pipe((0,Jt.T)(re=>this.getTextContent(re,m.maxPasteBuffer)),(0,ce.ZZ)(re=>this.sendClientDataAvailable(!!re))):(this.logger.info("Clipboard paste feature not enabled due to user settings"),(0,j.of)(!1)):(this.logger.info("Clipboard paste feature not enabled"),this.detectClipboardChange.complete(),this.detectClipboardChange=null,us.w)),(0,Yt.W)(m=>(this.logger.error("Error while sending clipboard availability",m),(0,j.of)(!1))))}setStreamingIds(m,re){this.desktopPasteTelemetry.streamSessionId=m,this.desktopPasteTelemetry.streamSubSessionId=re}sendClientDataAvailable(m){var re;this.clipboardAvailableSpan=this.distributedTracingUtilService.startSpan(nn.pB.ClientClipboardAvailable);const me=[],Ie=this.distributedTracingUtilService.extractContextFromSpan(this.clipboardAvailableSpan);null===(re=Object.keys(Ie))||void 0===re||re.forEach(St=>{me.push({key:St,value:Ie[St]})});const Ve={messageType:Un.HD.paste,pasteData:{type:m?yo.clientAddedData:yo.clientRemovedData},tracingData:{traceId:this.clipboardAvailableSpan.spanContext().traceId,traceContext:me}},Je=JSON.stringify(Ve);return this.logger.info("Sending clipboard data available type",Ve.pasteData.type),this.bridgeService.executeCommand(On.Ts.Gfn.Streaming.SendClipboardUpdate,{clipboardInfo:Je},!1).pipe((0,ie.M)(St=>{this.distributedTracingUtilService.closeSpan(this.clipboardAvailableSpan),this.logger.info("Clipboard available data sent",St)}),(0,Yt.W)(()=>(this.logger.error("Bridge command for SendClipboardUpdate failed"),this.distributedTracingUtilService.closeSpan(this.clipboardAvailableSpan),(0,j.of)(!1))))}sendClipboardContentInternal(m,re,me){var Ie,Ve;const Je=re.spanContext().traceId,it=[],St=this.distributedTracingUtilService.extractContextFromSpan(re);null===(Ie=Object.keys(St))||void 0===Ie||Ie.forEach(ln=>{it.push({key:ln,value:St[ln]})});const xt={messageType:Un.HD.paste,pasteData:{type:m?yo.clientDataResponse:yo.clientRemovedData},tracingData:{requestId:me,traceId:Je,traceContext:it}};m&&(xt.pasteData.data=m);const gn={clipboardInfo:JSON.stringify(xt)};return this.logger.info("Sending clipboard data type",xt.pasteData.type),this.desktopPasteTelemetry.clipboardDataLength=null!==(Ve=null==m?void 0:m.length)&&void 0!==Ve?Ve:0,this.desktopPasteTelemetry.clipboardDataSent=this.desktopPasteTelemetry.clientClipboardRead===G.T80.FALSE?G.T80.UNDEFINED:m?G.T80.TRUE:G.T80.FALSE,this.desktopPasteTelemetry.requestId=me,this.bridgeService.executeCommand(On.Ts.Gfn.Streaming.SendClipboardUpdate,gn,!1)}isClipboardPasteOn(){return this.settingsService.getSettingsData().pipe((0,Jt.T)(m=>{var re;return null!==(re=null==m?void 0:m.clipboardPaste)&&void 0!==re&&re}))}readText(){return navigator.clipboard?(0,Bn.H)(navigator.clipboard.readText()).pipe((0,Yt.W)(m=>(this.logger.info(`Clipboard readText: ${m}`),(0,j.of)(null)))):(this.logger.warn("navigator.clipboard is undefined, readText() probably is being used in non secure context."),(0,j.of)(null))}sendClipboardData(m){var re;const me={};null==m||null===(re=m.traceContext)||void 0===re||re.forEach(Ve=>{me[Ve.key]=Ve.value});const Ie=this.distributedTracingUtilService.startSpanUsingContext(nn.pB.ClientDesktopPaste,me);return this.clipboardFeatureConfig().pipe((0,p.s)(1),(0,ce.ZZ)(Ve=>null!==Ve?(this.desktopPasteTelemetry.clientClipboardRead=Ve.maxPasteBuffer?G.T80.TRUE:G.T80.FALSE,Ve.isEnabled&&Ve.maxPasteBuffer?this.readText().pipe((0,Jt.T)(Je=>this.getTextContent(Je,Ve.maxPasteBuffer)),(0,ce.ZZ)(Je=>this.sendClipboardContentInternal(Je,Ie,null==m?void 0:m.requestId))):(this.logger.info("Clipboard paste feature disabled due to user settings"),this.sendClipboardContentInternal(null,Ie,null==m?void 0:m.requestId))):(this.logger.info("Clipboard paste feature disabled"),this.sendClipboardContentInternal(null,Ie,null==m?void 0:m.requestId))),(0,ie.M)(Ve=>{this.distributedTracingUtilService.closeSpan(Ie),this.logger.info("Clipboard data sent",Ve),this.telemetryUtilService.sendClipboardPasteEvent(this.desktopPasteTelemetry)}),(0,Yt.W)(Ve=>(this.distributedTracingUtilService.setSpanAttribute(Ie,nn.NS.Error,!0),this.distributedTracingUtilService.closeSpan(Ie),this.logger.error("Error sending custom Message: ",Ve),(0,j.of)(!1))))}gxtClipboardPasteConfig(){return this.cloudVarService.getFeatureToggle(sr.Yi.CLIPBOARD_PASTE_FEATURE_CONFIG,{configCheckEnabled:!1})}willBeEnabledOnStreamStart(){return this.clipboardFeatureConfig().pipe((0,Jt.T)(m=>{var re;return null!==(re=null==m?void 0:m.isEnabled)&&void 0!==re&&re}),(0,p.s)(1))}clipboardFeatureConfig(){return this.gxtClipboardPasteConfig().pipe((0,p.s)(1),(0,ce.ZZ)(m=>null!=m&&m.isEnabled&&null!=m&&m.maxPasteBuffer?this.checkReadPermissions().pipe((0,ce.ZZ)(re=>{const me={isEnabled:!1,maxPasteBuffer:0};return re!==ar.denied?this.settingsService.getSettingsData().pipe((0,Jt.T)(Ie=>null!=Ie&&Ie.clipboardPaste?m:me)):(0,j.of)(me)})):(0,j.of)(null)))}checkReadPermissions(){const m={name:"clipboard-read"};try{return(0,Bn.H)(navigator.permissions.query(m)).pipe((0,Jt.T)(re=>re.state),(0,Yt.W)(re=>(this.logger.error("Error reading clipboard permissions",re),(0,j.of)(ar.denied))))}catch{return this.logger.error("Error while reading browser clipboard permissions"),(0,j.of)(ar.denied)}}getTextContent(m,re){return new Blob([m]).size<=re?m:(this.logger.warn("Invalid text on clipboard"),null)}getClipboardCardString(m){return this.systemInfoService.getSystemInfo([P.Lu.DeviceType,P.Lu.OSName]).pipe((0,Jt.T)(re=>re[P.Lu.DeviceType]===P.Y0.HMD&&re[P.Lu.OSName]===P.t_.Android?m?"settings.clipboardPaste.turnOffHMD":"settings.clipboardPaste.turnOnHMD":m?"settings.clipboardPaste.turnOff":"settings.clipboardPaste.turnOn"))}getClipboardCardData(){var m;const re={pasteHotkey:null!==(m=this.appConfig)&&void 0!==m&&null!==(m=m.client)&&void 0!==m&&m.needsDialogForInStreamPaste?"cmd+V":"Ctrl+V"};return(0,xn.zV)([this.gxtClipboardPasteConfig(),this.settingsService.getSettingsData()]).pipe((0,ce.ZZ)(([me,Ie])=>{var Ve;if(!me.isEnabled)return(0,j.of)(null);const Je=null!==(Ve=null==Ie?void 0:Ie.clipboardPaste)&&void 0!==Ve&&Ve;return this.getClipboardCardString(Je).pipe((0,Jt.T)(it=>({core:{headline:{text:"settings.clipboardPaste.title"},supportingText:[{text:it,placeholders:re}]},trail:{elementType:o.rG.Switch,toggleState:Je}})))}))}onClipboardPasteToggled(m){this.settingsService.storeChangedSettings({settingType:dn.oY.ClipboardPaste,selectedOption:m})}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(At.Vk),i.KVO(sr.r1),i.KVO(dn.h$),i.KVO(P.NZ),i.KVO(nn.Z1),i.KVO(G.jgD),i.KVO(Pe.N),i.KVO(Pe.x),i.KVO(P.zW))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();t(13515);var ps=t(56589),Cr=t(7703),_r=t(54250),Fo=t(43117),Hi=t(20038);let ye=(()=>{var be;class Te{constructor(m,re,me,Ie){this.streamingProfileService=re,this.ecommerceService=me,this.lcarsService=Ie,this.logger=m.getLogger("gfn/shared/GameFeaturesService")}getGameFeatures(m,re){return(0,xn.zV)([this.streamingProfileService.initializeGameFeatureProperties$(),this.ecommerceService.getUserMembership()]).pipe((0,Jt.T)(([me,Ie])=>{this.gameFeatureProperties=me;const Ve=Un.bq;this.initializeFeatures(Ve,m);const Je=[];return Ve.forEach(it=>{this.isFeatureSupportedOnGame(Dn.$_[it.featureKey],m,it.featureValue)?(it.supportedOnGame=!0,this.getFeaturebadgeDetails(it,Ie),it.showInGameDetails&&Je.push(it)):this.logger.info("Feature not supported on game (metadata), featureKey: ",it.featureKey)}),re?null==Je?void 0:Je.filter(it=>it.showInLoadingScreen):Je}))}isFeatureSupportedOnGame(m,re,me){let Ie=re.some(Ve=>this.lcarsService.isFeatureSupportedOnVariant(Ve,m,me));return m===en.N1.SUPPORTED_HDR_VERSION&&me===On.Or.Gfn.Streaming.HdrStreamingMode.HDR&&!Ie&&(Ie=re.some(Ve=>this.lcarsService.isFeatureSupportedOnVariant(Ve,en.N1.HDR_ENABLED))),Ie}getFeaturebadgeDetails(m,re){if(this.updateFeatureLabel(m),re.membershipStatus===Ce.OO.Entitled){const me=this.featureSupportedOnSystem(m.featureKey);m.supportedOnSubscription=m.featureValue?this.ecommerceService.featureArrayItemEntitled(m.featureKey,m.featureValue)&&!this.ecommerceService.featureUpsellAvailable(m.featureUpsellKey):this.ecommerceService.featureEntitled(m.featureKey),m.featureKey===en.N1.SUPPORTED_HDR_VERSION&&m.featureValue===On.Or.Gfn.Streaming.HdrStreamingMode.HDR&&!m.supportedOnSubscription&&(m.supportedOnSubscription=this.ecommerceService.featureEntitled(en.N1.HDR_ENABLED)),m.supportedOnSubscription?(this.logger.info("Feature supported on game and available in subscription, featureKey: ",m.featureKey),me?this.updateReadyFeatureDescriptionAndState(m):this.updateUnsupportedFeatureDescription(m),m.showInGameDetails=!0):(m.canUpsell=this.ecommerceService.featureUpsellAvailable(m.featureUpsellKey),m.canUpsell&&(this.logger.info("Feature supported on game and upsell in subscription, featureKey: ",m.featureKey),me?this.updateLockedFeatureDescription(m):this.updateUnsupportedFeatureDescription(m),m.showInGameDetails=!0))}else m.upsellToUnentitledUsers?(this.logger.info("Feature supported on game, display upsell for unentitled user: ",m.featureKey),m.description="layout.evidenceMetadata.unknownUserFeatureText",m.icon="info",m.showInGameDetails=!0):this.logger.info("Feature supported on game, no upsell for unentitled user: ",m.featureKey)}featureSupportedOnSystem(m){var re;switch(m){case en.N1.ENABLED_REFLEX:case en.N1.RTX_ENABLED:return!0;case en.N1.SUPPORTED_HDR_VERSION:return null===(re=this.gameFeatureProperties)||void 0===re?void 0:re.hdrDecodeSupported}return!1}updateReadyFeatureDescriptionAndState(m){var re,me,Ie,Ve,Je,it,St,xt,Zt,gn,ln,fn,Cn;switch(m.featureKey){case en.N1.RTX_ENABLED:m.description="layout.evidenceMetadata.paidUserFeatureText",m.icon="check_circle",m.showInLoadingScreen=!0;break;case en.N1.ENABLED_REFLEX:(null===(re=this.gameFeatureProperties)||void 0===re?void 0:re.streamingMode)===Hi.SB.Custom&&null!==(me=this.gameFeatureProperties)&&void 0!==me&&me.reflexToggledOff?(m.description="layout.evidenceMetadata.hdrFeatureSettingsTip",m.icon="info"):(null===(Ie=this.gameFeatureProperties)||void 0===Ie?void 0:Ie.streamingMode)===Hi.SB.DataSaver||(null===(Ve=this.gameFeatureProperties)||void 0===Ve?void 0:Ve.streamingMode)===Hi.SB.Balanced?(m.description="layout.evidenceMetadata.reflexStreamingModeTip",m.icon="info"):(m.description="layout.evidenceMetadata.paidUserFeatureText",m.icon="check_circle",m.showInLoadingScreen=!0);break;case en.N1.SUPPORTED_HDR_VERSION:const Ln=m.featureValue,bn=this.gameFeatureProperties.hdrModesRenderSupported.some(Li=>Li===Ln);null!==(Je=this.gameFeatureProperties.hdrModesRenderSupported)&&void 0!==Je&&Je.length?!bn&&this.gameFeatureProperties.hdrModesRenderSupported.some(Li=>Li===On.Or.Gfn.Streaming.HdrStreamingMode.HDR)?(m.description="settings.streamingProfiles.incompatibleDisplay.HDR10",m.icon="info"):(null===(it=this.gameFeatureProperties)||void 0===it?void 0:it.streamingMode)===Hi.SB.Custom&&(null===(St=this.gameFeatureProperties)||void 0===St?void 0:St.hdrStreamingMode)===On.Or.Gfn.Streaming.HdrStreamingMode.OFF?(m.description="layout.evidenceMetadata.hdrFeaturesSettingsTip.off",m.icon="info"):(null===(xt=this.gameFeatureProperties)||void 0===xt?void 0:xt.streamingMode)===Hi.SB.Custom&&void 0!==(null===(Zt=this.gameFeatureProperties)||void 0===Zt?void 0:Zt.hdrStreamingMode)&&Ln!==(null===(gn=this.gameFeatureProperties)||void 0===gn?void 0:gn.hdrStreamingMode)&&(null===(ln=this.gameFeatureProperties)||void 0===ln?void 0:ln.hdrStreamingMode)===On.Or.Gfn.Streaming.HdrStreamingMode.HDR?(m.description="layout.evidenceMetadata.hdrFeaturesSettingsTip.hdr10",m.icon="info"):(null===(fn=this.gameFeatureProperties)||void 0===fn?void 0:fn.streamingMode)===Hi.SB.DataSaver||(null===(Cn=this.gameFeatureProperties)||void 0===Cn?void 0:Cn.streamingMode)===Hi.SB.Competitive?(m.description="layout.evidenceMetadata.balancedStreamingModeTip",m.icon="info"):(m.description="layout.evidenceMetadata.paidUserFeatureText",m.icon="check_circle",m.showInLoadingScreen=!0):(m.description="settings.streamingProfiles.incompatibleDisplay.default",m.icon="info")}}updateLockedFeatureDescription(m){switch(m.featureKey){case en.N1.RTX_ENABLED:case en.N1.ENABLED_REFLEX:m.description="layout.evidenceMetadata.freeUserFeatureText";break;case en.N1.SUPPORTED_HDR_VERSION:m.description="layout.evidenceMetadata.hdrFeaturesUnsubscibedUserUpsell"}m.icon="lock",m.showInLoadingScreen=!0}updateUnsupportedFeatureDescription(m){var re;m.featureKey===en.N1.SUPPORTED_HDR_VERSION&&(m.description="layout.evidenceMetadata.systemUnsupportedTip",m.icon="info",m.systemSupported=!1,m.learnMoreUrl=null===(re=this.gameFeatureProperties)||void 0===re?void 0:re.hdrLearnMoreUrl)}updateFeatureLabel(m){var re;switch(m.featureKey){case en.N1.RTX_ENABLED:m.label="layout.evidenceMetadata.rtx";break;case en.N1.SUPPORTED_HDR_VERSION:m.label=null===(re=Hi.TK.find(me=>me.value===m.featureValue))||void 0===re?void 0:re.label;break;case en.N1.ENABLED_REFLEX:m.label="settings.streamingProfiles.reflex"}}initializeFeatures(m,re){m.forEach(me=>{if(me.supportedOnGame=!1,me.supportedOnSubscription=!1,me.canUpsell=!1,me.showInLoadingScreen=!1,me.showInGameDetails=!1,me.upsellToUnentitledUsers=me.featureKey===en.N1.RTX_ENABLED,me.systemSupported=!0,me.label="",me.icon="",me.description="",me.learnMoreUrl="",me.featureValue="",me.featureKey===en.N1.SUPPORTED_HDR_VERSION){var Ie;me.featureValue=this.streamingProfileService.getSupportedHDRMode(re);const Ve=null===(Ie=Hi.TK.find(Je=>Je.value===me.featureValue))||void 0===Ie?void 0:Ie.upsellFlag;Ve&&(me.featureUpsellKey=Ve)}})}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(dn.xf),i.KVO(Ce.yJ),i.KVO(Dn.Br))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var mt=t(74150);const $="fullscreen",he="apple-translucent-bar",Le=new ii("2.0.56.999");let qe=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve){var Je;this.meta=m,this.pwaService=me,this.updateService=Ie,this.fullscreenSubject=new Kn.t(!1),this.fullscreenState$=this.fullscreenSubject.asObservable(),this._enableTranslucentStatusBar=!1,this.logger=re.getLogger("AppleScreenService"),this.bodyClassList=document.body.classList,this.isTranslucentStatusBar=this.checkTranslucentStatusBarApplied(),this._enableTranslucentStatusBar=!(null===(Je=Ve.featureEnablement)||void 0===Je||!Je.enableAppleTranslucentStatusBar)&&this.isTranslucentStatusBar}get enableTranslucentStatusBar(){return this._enableTranslucentStatusBar}get fullscreen(){return this.fullscreenSubject.getValue()}set fullscreen(m){this.isTranslucentStatusBar&&(this.fullscreenSubject.next(m),m?this.bodyClassList.contains($)||this.bodyClassList.add($):this.bodyClassList.contains($)&&this.bodyClassList.remove($))}applyAppleTranslucentBarStyle(){this.bodyClassList.contains(he)||this.bodyClassList.add(he)}checkTranslucentStatusBarApplied(){const m=this.meta.getTag('name="apple-mobile-web-app-status-bar-style"');return"black-translucent"===(null==m?void 0:m.content)}isDeprecated(){return this.updateService.getInitialVersion().pipe((0,Jt.T)(m=>m.compareMajorVersion(Le)!==An.Lesser))}initialize(){if(this.pwaService.isInPWAMode()){if(!this.isTranslucentStatusBar)return void this.logger.warn("Translucent Status Bar is not enabled on this Apple device");this.isDeprecated().subscribe(m=>{m?this._enableTranslucentStatusBar=!1:this.applyAppleTranslucentBarStyle()})}}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(mt.W8),i.KVO(P.J6),i.KVO(vr.SL),i.KVO(si),i.KVO(At.Vk))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var _t=t(70433),Nt=t(71780);let Bt=(()=>{var be;class Te{get hideInvisibleElement(){return this._hideInvisibleElement}constructor(m){var re;this._hideInvisibleElement=!1,this._hideInvisibleElement=!(null==m||null===(re=m.memoryControl)||void 0===re||!re.hideInvisibleElement)}setVisibility(m,re,me){if(m)switch(re){case"display":m.style.display=me?"":"none";break;case"visibility":m.style.visibility=me?"":"hidden"}}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(At.Vk))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var zt=t(48571);let tn=(()=>{var be;class Te{constructor(){this.streamerConfig=new Kn.t(this.createStreamerConfigFromSearchParameters())}get activeConfig(){return(0,ue.eJ)(this.streamerConfig.value)}set activeConfig(m){this.streamerConfig.next((0,ue.eJ)(m))}get config$(){return this.streamerConfig.asObservable()}createStreamerConfigFromSearchParameters(){const m=window.location.hash;return(0,_n.y1)(m)}}return(be=Te).\u0275fac=function(m){return new(m||be)},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})(),pn=(()=>{var be;class Te{constructor(m,re){var me;this.guestModeHelperService=m,this.oscEnabled=!(null===(me=re.featureEnablement)||void 0===me||!me.osc)}isOscEnabled(){var m,re;return this.guestModeHelperService.isGuestMode?this.oscEnabled&&(null===(m=this.guestModeHelperService.getGuestModeConfig())||void 0===m?void 0:m.isOSCEnabled)||(null===(re=this.guestModeHelperService.getForceTouchModeSettings())||void 0===re?void 0:re.useOsc):this.oscEnabled}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(Pe.x),i.KVO(At.Vk))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();const Di={duration:7e3,horizontalPosition:"left",panelClass:["nv-hig"]};let xi=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve){this.config=re,this.translate=me,this.snackbar=Ie,this.routerService=Ve,this.isInitialized=!1,this.isSnackbarShown=!1,this.logger=m.getLogger("gfn-shared/GameControlsMessagingService")}initialize(){if(!this.config.client.showGameControlsHint||this.isInitialized)return;const m=new k.B7,re=this.routerService.getRouteActivatedState(_n.f.Home),me=(0,Vi.R)(document,"visibilitychange").pipe((0,Jt.T)(Ie=>!document.hidden),(0,Ki.Z)(!0));(0,xn.zV)([re,me]).pipe((0,ri.n)(([Ie,Ve])=>Ie&&Ve&&!this.isSnackbarShown?this.setupTimerForXBoxSnackbar().pipe((0,x.Q)(m)):(Ve?Ie||m.next():(this.isSnackbarShown=!1,m.next()),(0,j.of)(!1)))).subscribe(),this.isInitialized=!0}setupTimerForXBoxSnackbar(){return this.logger.info("Setting timer for snackbar delay"),(0,Ni.O)(1e4).pipe((0,ce.ZZ)(m=>this.translate.get("console.useGameControlsMode")),(0,Jt.T)(m=>(this.snackbar.open(m,"",Di),this.isSnackbarShown=!0,this.logger.info("Snackbar shown"),!0)),(0,Yt.W)(m=>(0,j.of)(!1)))}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(At.Vk),i.KVO(O.c$),i.KVO(eo.UG),i.KVO(_n.HM))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var Wi=t(97462),jn=t(63997);function _i(be){return(0,jn.v)(()=>(0,Bn.H)(navigator.permissions.query({name:be}))).pipe((0,Jt.T)(Te=>({name:be,state:Te.state})),(0,Yt.W)(Te=>Te instanceof TypeError?(0,j.of)({name:be,state:null}):(0,j.of)({name:be,state:"denied"})))}function Zi(be,Te){return Te.pipe((0,ce.ZZ)(Ke=>_i(be)),(0,Yt.W)(Ke=>_i(be)),(0,p.s)(1))}const Ai=[{name:"pointer-lock",query:()=>_i("pointer-lock"),request:()=>Zi("pointer-lock",(0,jn.v)(()=>{var be;const Te=document.createElement("canvas");return Te.hidden=!0,document.body.appendChild(Te),(0,Bn.H)(null!==(be=null==Te?void 0:Te.requestPointerLock())&&void 0!==be?be:Promise.reject()).pipe((0,ie.M)(Ke=>{document.exitPointerLock(),document.body.removeChild(Te)}))}))},{name:"keyboard-lock",query:()=>_i("keyboard-lock"),request:()=>Zi("keyboard-lock",(0,jn.v)(()=>{var be,Te;return(0,Bn.H)(null!==(be=null===(Te=navigator.keyboard)||void 0===Te?void 0:Te.lock())&&void 0!==be?be:Promise.reject()).pipe((0,ie.M)(Ke=>{var m;return null===(m=navigator.keyboard)||void 0===m?void 0:m.unlock()}))}))}];var Bo=t(86703);let Vo=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je,it){this.dialog=re,this.appConfig=me,this.systemInfoService=Ie,this.guestModeHelperService=Ve,this.deeplinkHelperService=Je,this.remoteConfigurationService=it,this.filterInvalidPermissionState=(0,Wi.F)((0,In.p)(St=>"granted"!==St&&"denied"!==St&&"prompt"!==St),(0,hi.u)("denied")),this.logger=m.getLogger("shared/PermissionsBarrierHelper"),this.guestAppFlow=this.guestModeHelperService.isGuestAppFlow()}shouldBlockForPermissions(){var m,re;return null!==(m=navigator.permissions)&&void 0!==m&&m.query&&P.zk.isBrowserPlatform()?this.deeplinkHelperService.windowedMode&&null!==(re=this.guestModeHelperService.getGuestModeConfig())&&void 0!==re&&re.isWindowedModeCursorTypeFree?(this.logger.info("Windowed mode and cursor type free"),(0,j.of)(!1)):(0,xn.zV)([this.remoteConfigurationService.remoteConfigFetched$,this.systemInfoService.getSystemInfo([P.Lu.ConfidenceInBrowser,P.Lu.BrowserVersion])]).pipe((0,p.s)(1),(0,Jt.T)(([me,Ie])=>{var Ve;const Je=null===(Ve=me.config)||void 0===Ve||null===(Ve=Ve.permissionsBarrier)||void 0===Ve?void 0:Ve.targetBrowserMajorVersion;return this.logger.info("Target version:",Je),"number"==typeof Je&&(this.logger.info("Confidence:",Ie.ConfidenceInBrowser,"BrowserVersion:",Ie.BrowserVersion),10===Ie.ConfidenceInBrowser&&parseInt(Ie.BrowserVersion)>=Je)})):(this.logger.info("No permissions API or not browser platform"),(0,j.of)(!1))}initPermissionsRequests(){return(0,xn.zV)(Ai.map(m=>m.query())).pipe((0,ce.ZZ)(m=>m.every(re=>"granted"===re.state||null===re.state)?(this.logger.info("Permissions already granted"),(0,j.of)("granted")):m.some(re=>"denied"===re.state)?(this.logger.info("Permissions already denied"),this.openPermissionDeniedDialog()):this.openPermissionPromptDialog()))}requestRemainingPermissions(m,re){this.logger.info("Requesting remaining permissions:",m);const me=m.filter(Ie=>"prompt"===Ie.state&&Ai.find(Ve=>Ve.name===Ie.name)).map(Ie=>Ai.find(Je=>Je.name===Ie.name).request());return(0,xn.zV)(me).pipe((0,ce.ZZ)(Ie=>(this.logger.info("Remaining permissions states:",Ie),Ie.every(Ve=>"granted"===Ve.state)?(re.close("granted"),this.logger.info("Remaining permissions granted"),(0,j.of)("granted")):Ie.some(Ve=>"denied"===Ve.state)?(re.close("denied"),this.logger.info("Remaining permissions denied"),this.openPermissionDeniedDialog()):(this.logger.info("Remaining permissions yet to be granted or denied"),(0,j.of)("prompt")))))}openPermissionDeniedDialog(){var m,re;const me=this.dialog.open({panelClass:["dialogPaddingRemove"],disableClose:!0,data:{headerText:{text:this.guestAppFlow?"permissionsBarrier.guestApp.dialogHeader":"permissionsBarrier.dialogHeader"},link:{text:"permissionsBarrier.deniedDialogText",placeholders:{permissionsKbaLink:null!==(m=this.appConfig.permissionsBarrier)&&void 0!==m&&m.kbaUrl?`href=${null===(re=this.appConfig.permissionsBarrier)||void 0===re?void 0:re.kbaUrl}`:"",linkCssClass:'class="font-body2-link"'},isTextWithHyperlinkTag:!0},primaryButton:{text:"common.close"}}}),Ie=me.primaryButtonClick.pipe((0,ie.M)(Je=>{me.close("denied")}),(0,hi.u)("denied")),Ve=me.afterClosed().pipe(this.filterInvalidPermissionState,(0,ie.M)(Je=>this.logger.info("PermissionDenied dialog dismissed")));return(0,Vt.h)(Ie,Ve)}openPermissionPromptDialog(){var m,re;const me=this.dialog.open({panelClass:["dialogPaddingRemove"],disableClose:!0,data:{headerText:{text:this.guestAppFlow?"permissionsBarrier.guestApp.dialogHeader":"permissionsBarrier.dialogHeader"},link:{text:"permissionsBarrier.promptDialogText",placeholders:{permissionsKbaLink:null!==(m=this.appConfig.permissionsBarrier)&&void 0!==m&&m.kbaUrl?`href=${null===(re=this.appConfig.permissionsBarrier)||void 0===re?void 0:re.kbaUrl}`:"",linkCssClass:'class="font-body2-link"'},isTextWithHyperlinkTag:!0},primaryButton:{text:this.guestAppFlow?"common.proceed":"common.continue",accentColor:!0},secondaryButton:{text:"common.close"}}}),Ie=me.primaryButtonClick.pipe((0,ce.ZZ)(it=>(0,xn.zV)(Ai.map(St=>St.query()))),(0,ce.ZZ)(it=>it.every(St=>"granted"===St.state||null===St.state)?(me.close("granted"),(0,j.of)("granted")):it.some(St=>"denied"===St.state)?(me.close("denied"),this.openPermissionDeniedDialog()):this.requestRemainingPermissions(it,me)),(0,In.p)(it=>"prompt"!==it)),Ve=me.secondaryButtonClick.pipe((0,ie.M)(it=>{me.close("denied")}),(0,hi.u)("denied")),Je=me.afterClosed().pipe(this.filterInvalidPermissionState,(0,ie.M)(it=>this.logger.info("PermissionPrompt dialog dismissed")));return(0,Vt.h)(Ie,Ve,Je)}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(o.uh),i.KVO(At.Vk),i.KVO(P.zW),i.KVO(Pe.x),i.KVO(Cr.w),i.KVO(Bo.a))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var go=t(61389);const lr={notificationType:Pn.$9.UnSupportedOS,icon:"info",messageStr:{key:"notification.unsupportedOSNotificationBanner"},primaryButtonText:"common.learnMore",secondaryButtonText:"notification.dismiss"};let Sr=(()=>{var be;class Te{constructor(m,re,me,Ie,Ve,Je){this.remoteConfigService=m,this.systemInfoService=re,this.redirectService=me,this.bannerNotificationService=Ie,this.offDeviceLinkService=Ve,this.loggingService=Je,this.learnMoreUrl=null,this.logger=Je.getLogger("osRequirementService"),this.initializLearnMoreUrl()}initialize(){this.checkForUnsupportedOS()}isOSSupported(m,re,me){let Ie=!0;for(const Je in m){var Ve;const it=null===(Ve=m[Je])||void 0===Ve?void 0:Ve.minimumVersionSupported,St=new ii(re),xt=new ii(it);me===Je&&St.compare(xt)===An.Greater&&(Ie=!1)}return this.logger.info("OS is supported:",Ie),Ie}checkForUnsupportedOS(){(0,xn.zV)([this.remoteConfigService.remoteConfigFetched$,this.systemInfoService.getDeviceOSType(),this.systemInfoService.getSystemInfo([P.Lu.OSVersion])]).pipe((0,p.s)(1),(0,In.p)(([m,re,me])=>{var Ie,Ve;return me.OSVersion&&"undefined"!==me.OSVersion&&Object.keys((null===(Ie=m.config)||void 0===Ie?void 0:Ie.supportedOS)||[]).length>0&&!this.isOSSupported(null===(Ve=m.config)||void 0===Ve?void 0:Ve.supportedOS,me.OSVersion,re)}),(0,ie.M)(()=>{const m=lr;m.onPrimaryButtonClick=this.onClickLearnMore.bind(this),this.bannerNotificationService.addNotificationToQueue(m)}),(0,Yt.W)(m=>(this.logger.error("Error checking for unsupported OS",m),(0,j.of)(null)))).subscribe()}initializLearnMoreUrl(){this.redirectService.getRedirectUrl(ae.r7.GFNPcUnsupportedOS).pipe((0,p.s)(1)).subscribe(m=>{this.learnMoreUrl=m})}onClickLearnMore(){this.logger.info("Opening unsupported OS learn more"),this.offDeviceLinkService.open(this.learnMoreUrl)}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(no.a),i.KVO(P.zW),i.KVO(ae.Q5),i.KVO(Si.Hm),i.KVO(o.nO),i.KVO(P.J6))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();var an=t(56123),Yi=t(352);class Pr{static mapOSNametoSessionControlDeviceOS(Te){let Ke;switch(Te){case P.t_.Windows:Ke=an.DeviceOS.WINDOWS;break;case P.t_.MacOS:Ke=an.DeviceOS.MACOS;break;case P.t_.Shield:Ke=an.DeviceOS.SHIELD;break;case P.t_.Android:Ke=an.DeviceOS.ANDROID;break;case P.t_.IOS:Ke=an.DeviceOS.IOS;break;case P.t_.IPadOS:Ke=an.DeviceOS.IPADOS;break;case P.t_.ChromeOS:Ke=an.DeviceOS.CHROMEOS;break;case P.t_.Linux:Ke=an.DeviceOS.LINUX;break;case P.t_.Tizen:Ke=an.DeviceOS.TIZEN;break;case P.t_.WebOS:Ke=an.DeviceOS.WEBOS;break;case P.t_.TvOS:Ke=an.DeviceOS.TVOS;break;case P.t_.XBox:Ke=an.DeviceOS.XBOX;break;case P.t_.SteamOS:Ke=an.DeviceOS.STEAMOS;break;case P.t_.VisionOS:Ke=an.DeviceOS.VISIONOS}return Ke}static mapDeviceTypetoSessionControlDeviceType(Te){let Ke;switch(Te){case P.Y0.Console:Ke=an.DeviceType.CONSOLE;break;case P.Y0.Desktop:Ke=an.DeviceType.DESKTOP;break;case P.Y0.HMD:Ke=an.DeviceType.HMD;break;case P.Y0.Laptop:Ke=an.DeviceType.LAPTOP;break;case P.Y0.Phone:Ke=an.DeviceType.PHONE;break;case P.Y0.TV:Ke=an.DeviceType.TV;break;case P.Y0.Tablet:Ke=an.DeviceType.TABLET}return Ke}static mapNetworkTypeToRagnarokNetworkType(Te){let Ke;switch(Te){case P.Sd.Ethernet:Ke=an.NetworkType.ETHERNET;break;case P.Sd.WiFi2_4:Ke=an.NetworkType.WIFI_2_4;break;case P.Sd.WiFi5_0:Ke=an.NetworkType.WIFI_5_0;break;case P.Sd.WiFi6_0:case P.Sd.Other:Ke=an.NetworkType.OTHER;break;case P.Sd.Mobile:Ke=an.NetworkType.MOBILE;break;case P.Sd.WiFiUnknown:Ke=an.NetworkType.WIFI;break;case P.Sd.Mobile_2G:Ke=an.NetworkType.MOBILE_2G;break;case P.Sd.Mobile_3G:Ke=an.NetworkType.MOBILE_3G;break;case P.Sd.Mobile_4G:Ke=an.NetworkType.MOBILE_4G;break;case P.Sd.Mobile_5G:Ke=an.NetworkType.MOBILE_5G;break;case P.Sd.Wimax:Ke=an.NetworkType.WIMAX;break;case P.Sd.Bluetooth:Ke=an.NetworkType.BLUETOOTH;break;default:Ke=an.NetworkType.UNKNOWN}return Ke}}function cr(be){return(0,ue.Up)(be,"sessionId","appId","state")}function Wr(be,Te){return{...cr(be),timestamp:Te}}function Kr(be,Te){return be.appId===Te.appId&&be.sessionId===Te.sessionId&&be.state===Te.state}class Ho{constructor(){this._resumableSessions=[],this.change=new k.B7}get resumableSessions(){return this._resumableSessions}get changed$(){return this.change.asObservable()}cache(Te){if(!(0,an.isResumableSessionState)(Te.state))return void this.remove(Te.sessionId);const Ke=this._resumableSessions.findIndex(m=>m.sessionId===Te.sessionId);-1===Ke?(this._resumableSessions.push(Wr(Te,Date.now())),this.change.next()):Kr(this._resumableSessions[Ke],Te)||(Object.assign(this._resumableSessions[Ke],cr(Te)),this.change.next())}remove(Te){const Ke=this._resumableSessions.findIndex(m=>m.sessionId===Te);-1!==Ke&&(this._resumableSessions.splice(Ke,1),this.change.next())}replaceAll(Te){const Ke=Te.filter(m=>(0,an.isResumableSessionState)(m.state));if(!function vs(be,Te){return be.length===Te.length&&be.every(Ke=>Te.some(m=>Kr(Ke,m)))}(this._resumableSessions,Ke)){const m=this._resumableSessions;this._resumableSessions=Ke.map(re=>{var me;const Ie=null===(me=m.find(Ve=>Ve.sessionId===re.sessionId))||void 0===me?void 0:me.timestamp;return Wr(re,null!=Ie?Ie:Date.now())}),this.change.next()}}clear(){this.replaceAll([])}}let fs=(()=>{var be;class Te{get resumableSessions(){return this.resumableSessionCache.resumableSessions}get resumableSessionsChanged$(){return this.resumableSessionCache.changed$}markSessionUnresumable(m){this.resumableSessionCache.remove(m)}clearResumableSessions(){this.resumableSessionCache.clear()}constructor(m,re,me,Ie,Ve,Je,it,St,xt,Zt,gn){this.zone=re,this.systemInfoService=me,this.appConfig=Ie,this.distributedTracing=Ve,this.idmService=Je,this.libLoggingService=it,this.gfnSdkService=St,this.userConsentService=xt,this.clientHeaderService=Zt,this.guestModeHelperService=gn,this.resumableSessionCache=new Ho,this.eventDataElements={},this.logCallback=ln=>{this.libLoggingService.sendLog({logLevel:ln.level,logStr:ln.message,logTag:ln.tag,timeStamp:ln.timestamp})},this.logger=m.getLogger("gfn/sessionManager"),Yi.Logger.register(this.logCallback),this.isGuestAppFlow=this.guestModeHelperService.isGuestAppFlow(),this.userConsentService.getEventDataElements$().subscribe(ln=>{var fn,Cn;this.eventDataElements.commonData={...this.eventDataElements.commonData,...ln.commonData},null!==(fn=this.eventDataElements)&&void 0!==fn&&null!==(fn=fn.commonData)&&void 0!==fn&&fn.gdprFuncOptIn&&null!==(Cn=this.eventDataElements)&&void 0!==Cn&&null!==(Cn=Cn.commonData)&&void 0!==Cn&&Cn.clientId&&this.configureTelemetry(this.eventDataElements.commonData)})}configureSessionSettings(m){return this.logger.info("configureSessionSettings"),this.zone.runOutsideAngular(()=>(0,jn.v)(()=>((0,an.configureSessionControlSettings)(m),(0,j.of)(!0))))}initialize(m){return this.zone.runOutsideAngular(()=>this.initializeInternal(m))}start(m,re,me){return this.zone.runOutsideAngular(()=>this.startOrResumeInternal(void 0,m,re,this.extractSpanData(me),null==me?void 0:me.abortController))}resume(m,re,me,Ie){return this.zone.runOutsideAngular(()=>this.startOrResumeInternal(m,re,me,this.extractSpanData(Ie),null==Ie?void 0:Ie.abortController))}stop(m,re){return this.zone.runOutsideAngular(()=>this.stopInternal(m))}updateAdState(m,re){return this.zone.runOutsideAngular(()=>(this.logger.info("updateAdState"),this.distributedTracing.runWithinSpanContext(re,()=>{const me=this.sessionControl.updateAdState(m);return this.logger.info("updateAdState result:",me),(0,j.of)(me===an.ScErrorCode.Success)})))}updateEventInfoGuids(m,re,me){return(0,jn.v)(()=>(this.telemetryEventIds={streamingProfileGuid:m,systemInfoGuid:re,networkSessionId:me||""},Yi.TelemetryModule.setTelemetryEventIds(this.telemetryEventIds),(0,j.of)(!0)))}getActiveSessions(m){return this.zone.runOutsideAngular(()=>this.getActiveSessionsInternal(this.extractSpanData(m),null==m?void 0:m.abortController))}getSessionInfo(m,re){return this.zone.runOutsideAngular(()=>(this.logger.info("getSessionInfo"),(0,jn.v)(()=>this.distributedTracing.runWithinSpanContext(this.extractSpanData(re),()=>(0,Bn.H)(this.sessionControl.getSessionInfo(m,null==re?void 0:re.abortController)).pipe((0,ie.M)(Ie=>{this.logger.info("getSessionInfo sessionInfoResult: ",Ie),Ie.code===an.ScErrorCode.Success&&Ie.session?this.resumableSessionCache.cache(Ie.session):Ie.code===an.ScErrorCode.SessionTerminatedByAnotherClient&&this.resumableSessionCache.remove(m)}))))))}getAuthHeader(m){return new Promise((re,me)=>{this.logger.info("getAuthHeader: ",m),m&&this.isGuestAppFlow?(this.logger.info("Rejecting because we do not support refreshing for GDN"),me("we do not support refreshing for GDN")):this.getAuthInfo(!!m).pipe((0,ie.M)(Ie=>{this.logger.info("Resolving with result"),re(Ie)},Ie=>me("getAuthInfo failed with "+Ie)),(0,p.s)(1)).subscribe()})}getAuthInfo(m=!1){return(0,jn.v)(()=>this.gfnSdkService.getAuthInfo().pipe((0,ce.ZZ)(re=>re.authType===ve.hT.JWT?(0,j.of)("GFNPartnerJWT auth="+re.authToken):this.idmService.getAuthToken(m).pipe((0,ce.ZZ)(me=>(0,j.of)("GFNJWT "+me.token))))))}monitorAndNotifyNetworkType(m){var re;null===(re=this.getNetworkInfo)||void 0===re||re.unsubscribe(),this.getNetworkInfo=this.systemInfoService.getSystemInfo([P.Lu.Network]).pipe((0,or.F)()).subscribe(me=>{var Ie,Ve;this.logger.info("Network info changed: ",null==me||null===(Ie=me.Network)||void 0===Ie?void 0:Ie.NetworkType),m.setNetworkType(Pr.mapNetworkTypeToRagnarokNetworkType(null==me||null===(Ve=me.Network)||void 0===Ve?void 0:Ve.NetworkType))})}getInitializeParameters(m){return(0,xn.zV)([this.systemInfoService.getSystemInfo([P.Lu.Platform,P.Lu.OSName,P.Lu.BrowserName,P.Lu.OSVersion,P.Lu.Make,P.Lu.Model,P.Lu.DeviceId,P.Lu.DeviceType,P.Lu.VendorName,P.Lu.OSVersion]),this.getClientHeaders(),this.getDeviceOSAndDeviceType()]).pipe((0,Jt.T)(([me,Ie,Ve])=>{this.logger.info("systemInfo: ",me),this.logger.info("device os and device type: ",Ve.os,Ve.type);const Je=this.createInitializeParams(m,Ie,me,Ve);return this.logger.info("initParams to be sent for createSessionControl call:",Je),Je}))}updateServerAddressIfNeeded(m){this.serverAddress!==m&&(this.logger.info("Updating server address in SessionControl"),this.sessionControl.setDefaultServerAddress(m),this.serverAddress=m)}initializeInternal(m){return this.sessionControl?(this.updateServerAddressIfNeeded(m),(0,j.of)(!0)):this.getInitializeParameters(m).pipe((0,p.s)(1),(0,Jt.T)(re=>(this.sessionControl?this.updateServerAddressIfNeeded(m):(this.logger.info("Creating SessionControl"),this.sessionControl=(0,an.createSessionControl)(re),this.serverAddress=m,this.monitorAndNotifyNetworkType(this.sessionControl)),!0)))}configureTelemetry(m){var re,me;this.logger.info("configureTelemetry");const Je=(null===(re=this.appConfig)||void 0===re?void 0:re.jsEvents.server)+"/"+(null===(me=this.appConfig)||void 0===me||null===(me=me.jsEvents)||void 0===me?void 0:me.version)+"/events/json";Yi.TelemetryModule.configure({clientVariant:m.clientVariant,clientType:m.clientType,clientVer:m.clientVer,productName:m.productName,productVersion:m.productVersion},{deviceId:m.deviceId,deviceOS:m.deviceOS,deviceOSVersion:m.deviceOSVersion,deviceType:m.deviceType,deviceModel:m.deviceModel,deviceMake:m.deviceMake,browserType:m.browserType},Je),Yi.TelemetryModule.updateClientCommonData({userId:m.userId,externalUserId:m.externalUserId,idpId:m.idpId},{deviceGdprFuncOptIn:m.deviceGdprFuncOptIn,deviceGdprTechOptIn:m.deviceGdprTechOptIn,deviceGdprBehOptIn:m.deviceGdprBehOptIn},{gdprFuncOptIn:m.gdprFuncOptIn,gdprTechOptIn:m.gdprTechOptIn,gdprBehOptIn:m.gdprBehOptIn},m.integrationId)}getClientHeaders(){return this.clientHeaderService.getCommonHeaders({withClientId:"lcars"}).pipe((0,Jt.T)(m=>{const re=new Map;return Object.entries(m).forEach(([me,Ie])=>{re.set(me,Ie instanceof Array?Ie[0]:Ie)}),re}))}getDeviceOSAndDeviceType(){var m;return null!==(m=this.appConfig)&&void 0!==m&&null!==(m=m.featureEnablement)&&void 0!==m&&m.supportsGetSystemInfoHeaders?this.systemInfoService.getClientHeadersInfo().pipe((0,Jt.T)(re=>({os:an.DeviceOS[re.OSName],type:an.DeviceType[re.DeviceType]}))):this.systemInfoService.getSystemInfo([P.Lu.OSName,P.Lu.DeviceType]).pipe((0,Jt.T)(re=>({os:Pr.mapOSNametoSessionControlDeviceOS(re.OSName),type:Pr.mapDeviceTypetoSessionControlDeviceType(re.DeviceType)})))}startOrResumeInternal(m,re,me,Ie,Ve){return(0,jn.v)(()=>this.distributedTracing.runWithinSpanContext(Ie,()=>{const Je=!!m;return(0,Bn.H)(Je?this.sessionControl.resumeSession(m,re,Ve,me):this.sessionControl.startSession(re,Ve,me)).pipe((0,ie.M)(St=>{this.logger.info(`sessionStartResumeResult from sessionControl ${Je?"resume":"start"}Session: `,St),St.code===an.ScErrorCode.Success?(St.session&&this.resumableSessionCache.cache(St.session),St.activeSessions&&St.activeSessions.forEach(xt=>this.resumableSessionCache.cache(xt))):Je&&St.session&&!(0,an.isResumableSessionState)(St.session.state)&&this.resumableSessionCache.remove(m),(0,an.isCancelCode)(St.code)&&this.handleStartResumeSessionCancel(St)}))}))}stopInternal(m){return this.logger.info("stopInternal"),(0,jn.v)(()=>(0,Bn.H)(this.sessionControl.deleteSession(m))).pipe((0,ie.M)(me=>{this.logger.info("session deleted ",me),(me===an.ScErrorCode.Success||me===an.ScErrorCode.InvalidSessionIdNotFound)&&this.resumableSessionCache.remove(m)},me=>{this.logger.error("session delete failure",me)}))}getActiveSessionsInternal(m,re){return this.logger.info("getActiveSessions"),(0,jn.v)(()=>this.distributedTracing.runWithinSpanContext(m,()=>(0,Bn.H)(this.sessionControl.getActiveSessions(re)).pipe((0,ie.M)(Ie=>{var Ve;Ie.code===an.ScErrorCode.Success&&this.resumableSessionCache.replaceAll(null!==(Ve=Ie.activeSessions)&&void 0!==Ve?Ve:[])}))))}createInitializeParams(m,re,me,Ie){var Ve,Je,it,St,xt;return{serverAddress:m,deviceId:me.DeviceId,clientAppVersion:this.appConfig.build.version,clientHeaders:re,deviceOsVer:me.OSVersion,deviceMake:me.Make,deviceModel:me.Model,deviceOs:Ie.os,deviceType:Ie.type,clientType:null!==(Ve=this.appConfig)&&void 0!==Ve&&Ve.client.clientTypeNative?an.ClientType.NATIVE:an.ClientType.BROWSER,clientStreamer:null!==(Je=this.appConfig)&&void 0!==Je&&Je.client.clientStreamerClassic?an.ClientStreamer.CLASSIC:an.ClientStreamer.WEBRTC,clientId:null===(it=this.appConfig)||void 0===it||null===(it=it.lcars)||void 0===it?void 0:it.clientId,clientPlatformName:null!==(St=null===(xt=this.appConfig)||void 0===xt?void 0:xt.sessionManagementConfig.clientPlatformName)&&void 0!==St?St:me.OSName,browserType:me.BrowserName,authenticationProvider:{getAuthHeader:this.getAuthHeader.bind(this)}}}handleStartResumeSessionCancel(m){var re,me;this.logger.info("handleStartResumeSessionCancel: ",m),null!==(re=m.session)&&void 0!==re&&re.sessionId&&(this.logger.info("sendDeleteRequest from session setup cancel:",m.code),this.sessionControl.deleteSession(null===(me=m.session)||void 0===me?void 0:me.sessionId))}extractSpanData(m){return null!=m&&m.spanData?m.spanData:null!=m&&m.span?this.distributedTracing.extractContextFromSpan(m.span):{}}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(i.SKi),i.KVO(P.zW),i.KVO(At.Vk),i.KVO(nn.Z1),i.KVO(ai.k_),i.KVO(P.wt),i.KVO(ve.DL),i.KVO(Ne.F),i.KVO(ut.y1),i.KVO(Pe.x))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})();t(74692);class Cs{constructor(){this.worker=null,this.requestId=0,this.requestMap=new Map}start(){this.worker||(this.worker=new Worker(t.tu(new URL(t.p+t.u(889),t.b)),{type:void 0,name:"marquee-image-metadata"}),this.worker.onmessage=Te=>{const{id:Ke,imageUrl:m,metadata:re,error:me}=Te.data,Ie=this.requestMap.get(Ke);Ie&&(this.requestMap.delete(Ke),Ie(me?Promise.reject(me):{imageUrl:m,metadata:re}))})}stop(){this.worker&&(this.worker.terminate(),this.worker=null,this.requestMap.clear())}fetchImage(Te){if(!this.worker)throw new Error("Worker is not started. Call start() first.");return new Promise(Ke=>{const m=this.requestId++;this.requestMap.set(m,Ke),this.worker.postMessage({id:m,url:Te})})}}let _s=(()=>{var be;class Te{constructor(m,re){this.loggingService=m,this.sharedStorageService=re,this.inMemoryBlobUrlCache=new Map,this.cacheKey="marqueeImageMetadatalLruCache",this.maxCacheSize=20,this.logger=m.getLogger("marqueeImageMetadataFetcherService"),this.cache=new pi.o7(this.logger,this.sharedStorageService,this.cacheKey,this.maxCacheSize)}fetchImage(m){return this.cache.get(m).pipe((0,ri.n)(re=>{let me;if(re)try{me=JSON.parse(re)}catch(Ie){this.logger.error("Invalid JSON, unexpected metadata",Ie)}return me?(this.logger.verbose("reusing from cache for "+m),(0,j.of)({imageUrl:this.inMemoryBlobUrlCache.get(m)||m,metadata:me})):(this.logger.verbose("fetching and parsing "+m),(0,Bn.H)(this.getWorkerService().fetchImage(m)).pipe((0,ie.M)(Ie=>{this.inMemoryBlobUrlCache.set(m,Ie.imageUrl),Ie.metadata&&this.cache.set(m,JSON.stringify(Ie.metadata)).subscribe({error:Ve=>this.logger.error("Error setting metadata:",Ve)})})))}))}getWorkerService(){return this.workerService||(this.workerService=new Cs,this.workerService.start()),this.workerService}ngOnDestroy(){var m;null===(m=this.workerService)||void 0===m||m.stop()}}return(be=Te).\u0275fac=function(m){return new(m||be)(i.KVO(P.J6),i.KVO(pi.yQ))},be.\u0275prov=i.jDH({token:be,factory:be.\u0275fac,providedIn:"root"}),Te})()},12611:(xe,de,t)=>{"use strict";t.d(de,{C:()=>B});var e=t(56123),E=t(23355),O=t(37543);class B{static mapAppLaunchModeToString(k,U){switch(k){case e.AppLaunchMode.Default:return O.NGk.Default;case e.AppLaunchMode.GamepadFriendly:return O.NGk.GamepadFriendly;case e.AppLaunchMode.TouchFriendly:return O.NGk.TouchFriendly}return U.error("mapAppLaunchModeToString Unknown AppLaunchMode value:"+k+" using Default"),O.NGk.Default}static mapStringToAppLaunchMode(k,U){switch(k){case O.NGk.Default:return e.AppLaunchMode.Default;case O.NGk.GamepadFriendly:return e.AppLaunchMode.GamepadFriendly;case O.NGk.TouchFriendly:return e.AppLaunchMode.TouchFriendly}return U.error("mapStringToAppLaunchMode Unknown AppLaunchMode value:"+k+" using Default"),e.AppLaunchMode.Default}static mapActiveSessionInfoToSession(k,U){const r=[];if(k)for(const A of k){const l={sessionId:A.sessionId,appId:A.appId,appLaunchMode:B.mapAppLaunchModeToString(A.appLaunchMode,U),clientId:void 0,deviceId:void 0,status:E.TP.NVB_SESSION_STATUS_UNKNOWN};switch(A.state){case e.SessionState.INITIALIZING:l.status=E.TP.NVB_SESSION_INITIALIZING;break;case e.SessionState.READY_FOR_CONNECTION:l.status=E.TP.NVB_SESSION_READY_FOR_CONNECT;break;case e.SessionState.STREAMING:l.status=E.TP.NVB_SESSION_STREAMING;break;case e.SessionState.PAUSED:l.status=E.TP.NVB_SESSION_PAUSED_UNINTENTIONAL;break;case e.SessionState.RESUMING:l.status=E.TP.NVB_SESSION_RESUMING;break;case e.SessionState.FINISHED:l.status=E.TP.NVB_SESSION_FINISHED;break;default:l.status=E.TP.NVB_SESSION_STATUS_UNKNOWN}r.push(l)}return r}static createSessionStartResult(k,U,r){const A={event:E.CW.SESSION_SETUP_SUCCESS,gpuType:k.gpuType};return k.sessionId&&(A.sessionId=k.sessionId,A.subSessionId=k.subSessionId,A.streams=k.streams),k.error&&(A.event=k.isResume?E.CW.SESSION_RESUME_FAILURE:E.CW.SESSION_SETUP_FAILURE,A.result={result:U.get(k.error.code)||k.error.code},A.sessions=B.mapActiveSessionInfoToSession(k.sessionList,r)),JSON.stringify(A)}static createSessionStopResult(k,U){const r={event:E.CW.STOP_RESULT};return k.sessionId&&(r.sessionId=k.sessionId,r.subSessionId=k.subSessionId),k.error&&(r.result={result:U.get(k.error.code)||k.error.code}),JSON.stringify(r)}static createGetSessionResult(k,U,r){const l={event:E.CW.GET_SESSION_INFO,result:{extendedError:[],requestId:1,result:0},sessions:B.mapActiveSessionInfoToSession([{sessionId:k.sessionId,appId:k.appId,appLaunchMode:k.appLaunchMode,state:k.state}],r)};return k.error&&(l.result.result=U.get(k.error.code)||k.error.code),JSON.stringify(l)}static createProgressUpdateEvent(k){var U;const r={event:E.CW.SESSION_SETUP_PROGRESS,eta:k.eta,queuePosition:k.queuePosition,isAdsRequired:k.isAdsRequired,ads:[],sessionId:k.sessionId,subSessionId:k.subSessionId};switch(k.progressState){case e.SessionProgressState.CONNECTING:r.state=E.o2.NVB_SSS_CONNECTING;break;case e.SessionProgressState.IN_QUEUE:r.state=E.o2.NVB_SSS_QUEUEPOSITION;break;case e.SessionProgressState.CONFIGURING:r.state=E.o2.NVB_SSS_CONFIGURING;break;case e.SessionProgressState.STARTING_STREAMER:r.state=E.o2.NVB_SSS_STARTINGSTREAMER;break;case e.SessionProgressState.PREVIOUS_SESSION_CLEANUP:r.state=E.o2.NVB_SSS_PREVIOUS_SESSION_CLEANUP}return null===(U=k.ads)||void 0===U||U.forEach(A=>{r.ads.push(A)}),JSON.stringify(r)}}},25167:(xe,de,t)=>{"use strict";t.d(de,{s:()=>M});var e=t(58527),n=t(80583),E=t(31315),O=t(43848),B=t(35146),P=t(25590),k=t(65706),U=t(83915),r=t(33367),A=t(47766),l=t(37543),I=t(27862),S=t(83168),L=t(16706),s=t(78812);let M=(()=>{var u;class x{constructor(i,o,_,f,J,a,D,te,N,z,R,v,h,W,ne,ee){var b;this.telemetryService=_,this.streamerConfigService=f,this.streamingManagerService=J,this.networkConfigurationService=a,this.streamingProfileService=D,this.bridgeService=te,this.networkTestService=N,this.serverRoutingService=z,this.gameLaunchAnalyticsService=R,this.routerService=v,this.guestModeHelperService=h,this.ownershipSyncService=W,this.ecommerceService=ne,this.sharedSettingsService=ee,this.oobeShown=!1,this.gameLaunchStepList=[S.H.UpdateCheck,S.H.PreStreaming,S.H.Authentication,S.H.PlatformSelection,S.H.AccountLinking,S.H.Authorization,S.H.NetworkTest,S.H.Loading],this.overlappingDurations=[l.iVs.Lbr,l.iVs.SessionQueue],this.seatSetupDurations=[l.iVs.StreamerClientSetupDuration,l.iVs.StreamerConnectionDuration,l.iVs.SeatConfigDuration,l.iVs.StreamingStartDuration,l.iVs.SessionQueue],this.seatSetupOverlappingDurations=[l.iVs.StreamerConnectionDuration,l.iVs.SeatConfigDuration,l.iVs.SessionQueue],this.gameFeatureState=[{name:"",state:""}],this.seatSetupSequence$=new n.B7,this.seatSetupSequenceCount=[],this.logger=i.getLogger("gameSessionAnalyticsService"),this.resetNetworkTestResult(),this.resetResumeFlags(),this.resetGameLaunchDurationsMatrix(),this.resetdialogInteractionDurations(),this.routerService.onExitingStreamer.subscribe(w=>{w&&this.cleanupGameLaunchMetrics()}),this.seatSetupEventSequence=[],this.recordAndLogSeatSetupSequence(),null!==(b=o.featureEnablement)&&void 0!==b&&b.useGridServer2&&(this.sessionManagerService=(0,e.WQX)(l.PbG))}resetNetworkTestResult(){this.networkTestUIResult=l.qH9.Unknown}resetResumeFlags(){this.wasStartedWithResume=!1,this.resumeType=l.yEy.None}getStreamingManagerCallbacks(i){return{callbackContext:this,onStateBegin:()=>{},onStateEnd:this.generateCallback(i).bind(this),onTerminalError:o=>this.onErrorState(i,o)}}initGameSessionAnalytics(){this.gameLaunchStepList.forEach(i=>{this.streamingManagerService.register(i,this.getStreamingManagerCallbacks(i))}),this.networkTestService.lbrState.subscribe(i=>{this.streamingManagerService.inActiveState()?i===l.Kfi.Started?this.startGameLaunchDuration(l.iVs.Lbr):i===l.Kfi.Finished&&this.stopGameLaunchDuration(l.iVs.Lbr):this.logger.info("Skipping LBR duation measrement since not triggered from Game Launch path")})}handleGeronimoLaunchResult(i,o=""){this.sendGameLaunchDurationEvent(i,o)}nextSeatSeatupEvent(i,o){this.seatSetupSequence$.next([i,o])}recordAndLogSeatSetupSequence(){this.seatSetupSequence$.subscribe(([i,o])=>{o?(this.logger.info("Seat setup sequence and count is ",this.seatSetupSequenceCount),this.seatSetupSequenceCount=[]):0!==this.seatSetupSequenceCount.length&&this.seatSetupSequenceCount.slice(-1)[0][0]!==i||0===this.seatSetupSequenceCount.length?this.seatSetupSequenceCount.push([i,1]):this.seatSetupSequenceCount[this.seatSetupSequenceCount.length-1][1]+=1})}handleGameLaunchFailure(i){this.sendGameLaunchDurationEvent(i)}updateGameLaunchDurations(i,o){this.updateSeatSetupEventSequence(o),this.stopGameLaunchDuration(i),o?(this.seatSetupOverlappingDurations.includes(o)&&this.gameLaunchDurations.get(o).duration&&(this.gameLaunchDurations.get(o).previousDurationCarry=this.gameLaunchDurations.get(o).duration),this.gameLaunchDurations.get(o).start=Date.now()):this.logger.info("Game launch durations measured upto session start: ",this.gameLaunchDurations)}moveGameLaunchDuration(i,o){this.gameLaunchDurations.get(i).start=this.gameLaunchDurations.get(o).start,this.gameLaunchDurations.get(i).duration=this.gameLaunchDurations.get(o).duration,this.gameLaunchDurations.get(o).start=0,this.gameLaunchDurations.get(o).duration=0}startGameLaunchDuration(i){i===l.iVs.StreamerClientSetupDuration&&(this.seatSetupEventSequence=[],this.updateSeatSetupEventSequence(l.iVs.StreamerClientSetupDuration)),this.gameLaunchDurations.get(i).start&&this.resetGameLaunchDuration(i),this.logger.info("starting game launch step duration",i),this.gameLaunchDurations.get(i).start=i===l.iVs.StreamerJsInit?window.jsInitStartTs:Date.now()}stopGameLaunchDuration(i){const o=this.gameLaunchDurations.get(i).start;this.logger.info("Current step: ",i," , Time stamp: ",o),this.gameLaunchDurations.get(i).duration=0!==o?Date.now()-o:0,this.seatSetupOverlappingDurations.includes(i)&&this.gameLaunchDurations.get(i).previousDurationCarry&&(this.gameLaunchDurations.get(i).duration+=this.gameLaunchDurations.get(i).previousDurationCarry,this.gameLaunchDurations.get(i).previousDurationCarry=0),this.logger.info("Game launch duration for ",i," is: ",this.gameLaunchDurations.get(i).duration)}resetGameLaunchDuration(i){this.logger.info("reset game launch duration for step: ",i),this.gameLaunchDurations.get(i).duration=0,this.gameLaunchDurations.get(i).start=0,this.gameLaunchDurations.get(i).previousDurationCarry=0}setIsOobeShown(i){this.oobeShown=i}setDialogInteractionDuration(i,o){this.dialogInteractionDurations.set(i,o)}setNetworkTestUIResult(i){this.networkTestUIResult=i}setAuthenticationStatus(i){this.authenticationStatus=i}setWasStartedWithResume(i){this.wasStartedWithResume=i}setResumeType(i){this.resumeType=i}getVSyncMode(i){return i===l._RN.ValueAdaptive.value?l.HjG.Adaptive:i===l._RN.ValueOn.value?l.HjG.On:l.HjG.Off}sendStreamingProfileEvent(){(0,E.zV)([this.streamingProfileService.getStreamingProfile(),this.sharedSettingsService.persistInGameGraphicsEnabled()]).pipe((0,P.E)(this.streamingProfileService.getStreamingProfileGuid()),(0,k.s)(1)).subscribe(([[i,o],_])=>{var f;const J={profileName:i.name,resolutionHeight:i.height,resolutionWidth:i.width,aspectRatio:i.aspectRatio,framerate:i.fps,maxBitrate:i.maxBitrate,DRC:i.drc?l.T80.TRUE:l.T80.FALSE,vSyncSetting:this.getVSyncMode(i.vSync),streamingProfileGuid:_,hdrEnabled:i.hdrStreaming?l.T80.TRUE:l.T80.FALSE,hdrStreamingMode:i.hdrStreamingMode,reflexEnabled:i.reflex?l.T80.TRUE:l.T80.FALSE,cloudGsyncEnabled:i.cloudGsync?l.T80.TRUE:l.T80.FALSE,inGameGraphicsSetting:o?l.T80.TRUE:l.T80.FALSE,audioChannelCount:i.audioMode,l4sEnabled:i.l4sEnabled?l.T80.TRUE:l.T80.FALSE,bitDepth:null!==(f=null==i?void 0:i.bitDepth)&&void 0!==f?f:l.BxN.value};this.telemetryService.push(new l.HOo(J))},i=>{this.logger.error("Failed to get streaming profile settings: ",i)})}resetGameLaunchDurationsMatrix(){this.seatSetupEventSequence=[],this.gameLaunchDurations=new Map;for(const i in l.iVs)this.gameLaunchDurations.hasOwnProperty(i)||this.gameLaunchDurations.set(l.iVs[i],{start:0,duration:0,previousDurationCarry:0})}resetdialogInteractionDurations(){this.dialogInteractionDurations=new Map;for(const i in I.U)this.dialogInteractionDurations.hasOwnProperty(i)||this.dialogInteractionDurations.set(I.U[i],0)}calculateLaunchDuration(){const i=this.gameLaunchAnalyticsService.getGameLaunchMetadata(),o=i.launchTs,_=this.gameLaunchDurations.get(l.iVs.StreamerJsInit).start;this.logger.info("initiallaunchts",o,"currentTs",Date.now());const f=this.streamerConfigService.activeConfig.launchSource;if(A.zk.isCefPlatform()){let J=0,a=0;return this.logger.info("Mall is running:",i.isMallRunning),i.isMallRunning?(this.isWarmLaunch=!0,a=0,J=f===l.vhU.GeForceNOW||i.isFromGameChangeDialog?0:_-o,this.updateGameLaunchStartupDurations({start:o,duration:a,previousDurationCarry:0}),(0,O.of)(J)):this.bridgeService.executeCommand(r.Ts.Common.Applicationinfo.GetApplicationTimeInfo,{type:r.Or.Common.Applicationinfo.ApplicationTimeType.Launch}).pipe((0,U.T)(D=>(this.isWarmLaunch=D.isWarmLaunch||!1,this.logger.info("applaunchtimeinfo",D),i.isFromGameChangeDialog||(o>0&&o>D.startTime&&(a=o-D.startTime),J=_-D.startTime),this.updateGameLaunchStartupDurations({start:o,duration:a,previousDurationCarry:0},{start:D.startTime,duration:J,previousDurationCarry:0}),J)))}return 0!==o&&this.updateGameLaunchStartupDurations({start:o,duration:_-o,previousDurationCarry:0}),(0,O.of)(0)}updateGameLaunchStartupDurations(i,o){i&&(this.gameLaunchDurations.get(l.iVs.InitialLaunch).start=i.start,this.gameLaunchDurations.get(l.iVs.InitialLaunch).duration=i.duration),o&&(this.gameLaunchDurations.get(l.iVs.StreamerCefInit).start=o.start,this.gameLaunchDurations.get(l.iVs.StreamerCefInit).duration=o.duration)}onErrorState(i,o){if(i===o.errorSourceState)switch(o.errorSourceState){case S.H.Authentication:this.logger.info(`Error ${o.errorData.errorCode} occured on state Authentication`),this.sendGameLaunchSourceInfoTelemetry();break;case S.H.Authorization:{this.logger.info(`Error ${o.errorData.errorCode} occured on state Authorization`);const _={isResume:!1,status:o.errorData.errorCode===L._U.NotEntitled?l.fbu.NesNotEntitled:l.fbu.NesAuthFailed,errorDetails:o.errorData.errorCode.toString()};this.sendGameLaunchDurationEvent(_);break}}}generateCallback(i){return()=>{this.onStateEndInternal(i)}}onStateEndInternal(i){switch(i){case S.H.Init:this.startGameLaunchDuration(l.iVs.UpdateCheck);break;case S.H.UpdateCheck:this.updateGameLaunchDurations(l.iVs.UpdateCheck,l.iVs.PreStreaming);break;case S.H.PreStreaming:{this.stopGameLaunchDuration(l.iVs.PreStreaming);const o=Date.now();this.gameLaunchDurations.get(l.iVs.ManualLoginEntry).start=o,this.gameLaunchDurations.get(l.iVs.AutoLogin).start=o;break}case S.H.Authentication:this.authenticationStatus!==I.J.AUTO_LOGIN?(this.resetGameLaunchDuration(l.iVs.AutoLogin),this.updateGameLaunchDurations(l.iVs.ManualLoginEntry,l.iVs.PlatformSelection)):(this.resetGameLaunchDuration(l.iVs.ManualLoginEntry),this.updateGameLaunchDurations(l.iVs.AutoLogin,l.iVs.PlatformSelection)),this.sendGameLaunchSourceInfoTelemetry();break;case S.H.PlatformSelection:this.updateGameLaunchDurations(l.iVs.PlatformSelection,l.iVs.AccountLinking);break;case S.H.AccountLinking:this.updateGameLaunchDurations(l.iVs.AccountLinking,l.iVs.NesAuthorization);break;case S.H.Authorization:this.updateGameLaunchDurations(l.iVs.NesAuthorization,l.iVs.NetworkTest);break;case S.H.NetworkTest:this.updateGameLaunchDurations(l.iVs.NetworkTest,l.iVs.StartSession),this.startGameLaunchDuration(l.iVs.StreamerClientSetupDuration);break;case S.H.Loading:this.sendStreamingProfileEvent()}}updateSeatSetupEventSequence(i){this.seatSetupDurations.includes(i)&&this.seatSetupEventSequence.push(i)}getSeatSetupEventSequence(){return this.seatSetupEventSequence}resetSeatSetupEventSequence(i){i?(this.seatSetupEventSequence=[],this.resetGameLaunchDuration(l.iVs.StreamerClientSetupDuration),this.resetGameLaunchDuration(l.iVs.StreamerConnectionDuration),this.resetGameLaunchDuration(l.iVs.SeatConfigDuration),this.resetGameLaunchDuration(l.iVs.StreamingStartDuration)):this.seatSetupEventSequence.length>=1&&this.updateGameLaunchDurations(this.seatSetupEventSequence[this.seatSetupEventSequence.length-1],void 0)}setGameFeatureState(i){this.logger.info("Game feature updated",i),this.gameFeatureState=i}getAccountLinksData(){const i=this.ownershipSyncService.getAccountLinkingAnalyticsInfo(),o=[];for(const _ of i)_.isAccountSyncSupported?o.push(_.providerType+(_.isSynced?"_SYNCED":"_UNSYNCED")):_.isAccountLinkingSsoAvailable&&o.push(_.providerType+(_.isAccountLinked?"_LINKED":"_UNLINKED"));return o}sendGameLaunchSourceInfoTelemetry(){var i,o;const _=null!==(i=this.streamerConfigService.activeConfig.shortName)&&void 0!==i?i:"",f=this.streamerConfigService.activeConfig.launchSource;this.logger.info("Game launch source for game: ",_," is :",f);const J=this.streamerConfigService.activeConfig.cmsId;let a;J&&this.sessionManagerService&&(a=this.sessionManagerService.resumableSessions.find(te=>te.appId===J));const D=(null===(o=a)||void 0===o?void 0:o.timestamp)>0?Date.now()-a.timestamp:0;(0,B.yU)(this.telemetryService.getDefaultClientConsentObserable(),this.telemetryService.getCommonDataObservable()).subscribe(te=>{var N,z;this.logger.info("Sending Game launch event for game: ",_);const R=this.guestModeHelperService.isGuestMode?{useBeacon:!0}:null;this.telemetryService.push(new l.RXY({gameShortName:_,gameLaunchSource:f,accountLinks:this.getAccountLinksData(),isResume:a?l.T80.TRUE:l.T80.FALSE,streamSessionId:null!==(N=null===(z=a)||void 0===z?void 0:z.sessionId)&&void 0!==N?N:"",clientPerceivedSessionTimeMs:D}),null,R)})}getNetworkTestDuration(){const i=this.gameLaunchDurations.get(l.iVs.NetworkTest).duration,o=this.gameLaunchDurations.get(l.iVs.Lbr).duration;return i>0?i-o:0}getStartSessionDuration(){const i=this.gameLaunchDurations.get(l.iVs.StartSession).duration,o=this.gameLaunchDurations.get(l.iVs.SessionQueue).duration;return i>0?i-o:0}getTotalGameLaunchDuration(){let i=0;return this.gameLaunchDurations.forEach((o,_)=>{!this.overlappingDurations.includes(_)&&!this.seatSetupEventSequence.includes(_)&&(i+=o.duration)}),i-=this.getTotaldialogInteractionDuration(),Math.round(i)}getTotaldialogInteractionDuration(){let i=0;return this.dialogInteractionDurations.forEach(o=>{i+=o}),i}getGameLaunchTelemetryStatus(i){return i&&Object.values(l.fbu).includes(i.status)?i.status:l.fbu.Success}sendGameLaunchDurationEvent(i,o=""){var _;const f=null!==(_=this.streamerConfigService.activeConfig.shortName)&&void 0!==_?_:"",J=this.streamerConfigService.activeConfig.launchSource,a=this.gameLaunchAnalyticsService.getGameLaunchMetadata(),D=a.shortName;if(this.logger.info(`Sending game launch metrics for game: ${f}, game in `,`metadata: ${D}, and game was launched via ${J}.`),D&&D!==f&&J!==l.vhU.External&&J!==l.vhU.Deeplink)return this.logger.error(`Event not sent! Game launched: ${f}, is different from the game launch info in `,`memory: ${D}, and game was launched via mallclient.`),void this.cleanupGameLaunchMetrics();const te=this.calculateLaunchDuration(),N=this.networkConfigurationService.getNetworkOverride();(0,B.yU)(N,te).pipe((0,k.s)(1)).subscribe(([z,R])=>{var v,h,W;const ne=l.iVs,ee=new l.GSb({lbrDuration:this.gameLaunchDurations.get(ne.Lbr).duration,initialLaunchDuration:this.gameLaunchDurations.get(ne.InitialLaunch).duration,totalLaunchDuration:this.getTotalGameLaunchDuration(),platformSelectionDuration:this.gameLaunchDurations.get(ne.PlatformSelection).duration-this.dialogInteractionDurations.get(I.U.PlatformSelection),accountLinkingDuration:this.gameLaunchDurations.get(ne.AccountLinking).duration-this.dialogInteractionDurations.get(I.U.AccountLinking),nesAuthorizationDuration:this.gameLaunchDurations.get(ne.NesAuthorization).duration,geronimoLaunchDuration:0,manualLoginEntryDuration:this.gameLaunchDurations.get(ne.ManualLoginEntry).duration,lbrRun:this.serverRoutingService.isLbrRun?l.T80.TRUE:l.T80.FALSE,resumeType:this.resumeType,networkTestDuration:this.getNetworkTestDuration(),wasStartedWithResume:this.wasStartedWithResume?l.T80.TRUE:l.T80.FALSE,isResume:i&&!0===i.isResume?l.T80.TRUE:l.T80.FALSE,networkTestUiResult:this.networkTestUIResult,accountLinked:this.streamerConfigService.activeConfig.accountLinked?l.T80.TRUE:l.T80.FALSE,overrideActive:z?l.T80.TRUE:l.T80.FALSE,sessionCleanupDuration:this.gameLaunchDurations.get(ne.SessionCleanup).duration-this.dialogInteractionDurations.get(I.U.SessionCleanupConfirmation),sessionQueueDuration:this.gameLaunchDurations.get(ne.SessionQueue).duration,autoLoginDuration:this.gameLaunchDurations.get(ne.AutoLogin).duration,streamerCefStartupDuration:this.gameLaunchDurations.get(ne.StreamerCefInit).duration,networkTestRun:this.networkTestService.isNetworkTestRun?l.T80.TRUE:l.T80.FALSE,gameLaunchSource:J,oobeShown:this.oobeShown?l.T80.TRUE:l.T80.FALSE,isWarmLaunch:this.isWarmLaunch?l.T80.TRUE:l.T80.FALSE,streamerJsStartupDuration:this.gameLaunchDurations.get(ne.StreamerJsInit).duration,sessionId:o||"",oobeCheckDuration:this.gameLaunchDurations.get(ne.PreStreaming).duration,startSessionDuration:this.getStartSessionDuration(),overrideZone:null!==(v=null==z?void 0:z.address)&&void 0!==v?v:"",isFromGameChangeDialog:a.isFromGameChangeDialog?l.T80.TRUE:l.T80.FALSE,gameShortName:f,updateCheckDuration:this.gameLaunchDurations.get(ne.UpdateCheck).duration,status:this.getGameLaunchTelemetryStatus(i),errorDetails:i?i.errorDetails:"",streamerClientSetupDuration:this.gameLaunchDurations.get(l.iVs.StreamerClientSetupDuration).duration,streamerConnectionDuration:this.gameLaunchDurations.get(l.iVs.StreamerConnectionDuration).duration,seatConfigDuration:this.gameLaunchDurations.get(l.iVs.SeatConfigDuration).duration,streamingStartDuration:this.gameLaunchDurations.get(l.iVs.StreamingStartDuration).duration,featuresState:this.gameFeatureState,accountLinks:this.getAccountLinksData(),remainingPlaytimeState:this.ecommerceService.isLimitedState?l.BEl.Limited:l.BEl.Full,storeName:null!==(h=null===(W=this.streamerConfigService.activeConfig)||void 0===W?void 0:W.storeName)&&void 0!==h?h:"UNKNOWN"});this.logger.info("Printing seat setup event sequence ",this.seatSetupEventSequence),this.telemetryService.push(ee,null,this.guestModeHelperService.isGuestMode?{useBeacon:!0}:null),this.cleanupGameLaunchMetrics()})}cleanupGameLaunchMetrics(){this.serverRoutingService.resetLbrStatus(),this.networkTestService.resetNetworkTestStatus(),this.resetNetworkTestResult(),this.resetResumeFlags(),this.resetGameLaunchDurationsMatrix(),this.gameLaunchAnalyticsService.resetGameLaunchMetadata(!0),this.resetdialogInteractionDurations()}}return(u=x).\u0275fac=function(i){return new(i||u)(e.KVO(A.J6),e.KVO(l.Vk6),e.KVO(s.H0),e.KVO(l.zi2),e.KVO(S.cp),e.KVO(l.uUB),e.KVO(l.xfC),e.KVO(A.NZ),e.KVO(l.qIF),e.KVO(l.bo5),e.KVO(l.$w$),e.KVO(l.HMi),e.KVO(l.xDS),e.KVO(l.Itz),e.KVO(l.yJU),e.KVO(l.h$Q))},u.\u0275prov=e.jDH({token:u,factory:u.\u0275fac,providedIn:"root"}),x})()},27862:(xe,de,t)=>{"use strict";t.d(de,{J:()=>e,U:()=>n});var e=function(E){return E[E.AUTO_LOGIN=0]="AUTO_LOGIN",E[E.MANUAL_LOGIN=1]="MANUAL_LOGIN",E[E.EMAIL_VERIFICATION=2]="EMAIL_VERIFICATION",E}(e||{}),n=function(E){return E.PlatformSelection="platformSelection",E.AccountLinking="accountLinking",E.PermissionsBarrier="permissionsBarrier",E.BrowserSupportCheck="browserSupportCheck",E.SessionCleanupConfirmation="sessionCleanupConfirmation",E}(n||{})},97663:(xe,de,t)=>{"use strict";t.d(de,{z:()=>r});var e=t(76449),n=t(83168),E=t(26875),B=t(37543),P=t(58527),k=t(47766),U=t(78812);let r=(()=>{var A;class l{constructor(S,L,s,M,u){this.streamingManagerService=L,this.distributedTracingUtilService=s,this.networkConfigurationService=M,this.telemetryService=u,this.gameLaunchStepList=[n.H.UpdateCheck,n.H.PreStreaming,n.H.Authentication,n.H.PlatformSelection,n.H.AccountLinking,n.H.Authorization,n.H.NetworkTest,n.H.Loading],this.logger=S.getLogger("gameSessionDistributedTracingService"),this.streamerStateToSpanMap=new Map}getSpanName(S){switch(S){case n.H.UpdateCheck:return e.pB.UpdateCheck;case n.H.PreStreaming:return e.pB.PreStreaming;case n.H.Authentication:return e.pB.StreamerAuthentication;case n.H.PlatformSelection:return e.pB.PlatformSelection;case n.H.AccountLinking:return e.pB.AccountLinking;case n.H.Authorization:return e.pB.StreamerAuthorization;case n.H.NetworkTest:return e.pB.StreamerNetworktest;case n.H.Loading:return e.pB.SessionLoading;default:return S.name}}getStreamingManagerCallbacks(S){return{callbackContext:this,onStateBegin:this.generateBeginStateCallback(S).bind(this),onStateEnd:this.generateEndStateCallback(S).bind(this),onTerminalError:L=>this.onErrorState(S,L)}}generateBeginStateCallback(S){return()=>{this.logger.info("Generating Span for state:",S.name);const L=this.getSpanName(S),s=this.distributedTracingUtilService.startSpan(L,this.gameLaunchSpan);this.streamerStateToSpanMap.set(S,s)}}generateEndStateCallback(S){return()=>{const L=this.streamerStateToSpanMap.get(S);(0,E.isNil)(L)||(this.logger.info("Closing span for state:",S.name),S===n.H.Authentication&&this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.LoginWindowShown,this.telemetryService.getScreen()!==B.MCB.ScreenAutoLogin),this.distributedTracingUtilService.closeSpan(L))}}onErrorState(S,L){if(S===L.errorSourceState){(0,E.isNil)(this.gameLaunchSpan)||(this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.Error,!0),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.FailurePoint,L.errorSourceState.name),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.ErrorType,L.errorData.errorType),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.ErrorCode,L.errorData.errorCode),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.HttpStatusCode,L.errorData.httpErrorCode));const s=this.streamerStateToSpanMap.get(S);(0,E.isNil)(s)||this.distributedTracingUtilService.setSpanAttribute(s,e.NS.Error,!0)}this.closeGameLaunchSpan()}subscribeToOverrideZone(){this.networkConfigurationService.getNetworkOverride().subscribe(S=>{(0,E.isNil)(this.gameLaunchSpan)||(this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.RoutingOverrideUsed,!(0,E.isNil)(S)),(0,E.isNil)(S)||(this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.OverrideZoneName,S.name),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.OverrideZoneAddress,S.address)))})}closeGameLaunchSpan(S){(0,E.isNil)(this.gameLaunchSpan)||((0,E.isNil)(S)||(this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.IsSessionAutoResumed,S.isResume),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.ErrorDetails,S.errorDetails),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.Error,S.status!==B.fbu.Success)),this.distributedTracingUtilService.closeSpan(this.gameLaunchSpan))}initGameSessionDistributedTracing(){this.gameLaunchStepList.forEach(S=>{this.streamingManagerService.register(S,this.getStreamingManagerCallbacks(S))})}startGameLaunchSpan(S){this.gameLaunchSpan=this.distributedTracingUtilService.startSpan(e.pB.GameLaunch),this.subscribeToOverrideZone(),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.LaunchSource,S.launchSource),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.CmsId,S.cmsId),this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.ShortName,S.shortName)}setAttributeOnGameLaunchSpan(S,L){(0,E.isNil)(this.gameLaunchSpan)||this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,S,L)}updateGeronimoLaunchInfo(S,L){(0,E.isNil)(this.gameLaunchSpan)||this.distributedTracingUtilService.setSpanAttribute(this.gameLaunchSpan,e.NS.SessionId,L),this.closeGameLaunchSpan(S)}getCurrentActiveSpan(){return this.streamerStateToSpanMap.get(this.streamingManagerService.getCurrentState())}}return(A=l).\u0275fac=function(S){return new(S||A)(P.KVO(k.J6),P.KVO(n.cp),P.KVO(e.Z1),P.KVO(B.uUB),P.KVO(U.H0))},A.\u0275prov=P.jDH({token:A,factory:A.\u0275fac,providedIn:"root"}),l})()},66760:(xe,de,t)=>{"use strict";t.d(de,{aT:()=>r,JV:()=>k,jL:()=>P,g4:()=>D,Nm:()=>a,F3:()=>S,kc:()=>I});var e=t(80583),n=t(43848),E=t(35146),O=t(12532),B=t(37543),P=function(te){return te[te.AdStateUnknown=0]="AdStateUnknown",te[te.AdNotStarted=1]="AdNotStarted",te[te.AdStarted=2]="AdStarted",te[te.AdPaused=3]="AdPaused",te[te.AdResumed=4]="AdResumed",te[te.AdFinished=5]="AdFinished",te[te.AdCanceled=6]="AdCanceled",te}(P||{}),k=function(te){return te.Error="error",te.Other="other",te}(k||{}),U=function(te){return te.Autoplay="autoplay",te.Preload="preload",te.Flashstopped="flashstopped",te}(U||{}),r=function(te){return te.AdBlockerDetected="Ad blocker detected",te.AdBlockerDisabled="Ad Blocker Dialog is disabled",te.AutoplayBlocker="Autoplay blocker",te.CssModified="Css modified",te.VideoElementRemoved="Video element removed",te.AutoplayRemoved="Autoplay attribute removed",te.PreloadAdded="Preload attribute added",te.FlashstoppedAdded="Flashstopped attribute added",te.MediaPlayBlocked="Media play blocked",te.ErrorLoadingUrl="Error loading url",te.AdPlayTimeout="Ad play timeout",te.AdVideoStuck="Ad video is stuck",te.IsAdsRequiredUndefined="IsAdsRequired Flag is undefined",te.Unknown="Unknown error",te}(r||{}),A=function(te){return te.NotAllowedError="NotAllowedError",te.BlockedByUserAgent="The play method is not allowed by the user agent.",te}(A||{});const l={status:B.eK6.Unknown,watchedTimeInMs:null,pausedTimeInMs:null,errorInfo:r.Unknown},I={status:B.eK6.Unknown,watchedTimeInMs:null,pausedTimeInMs:null,errorInfo:r.IsAdsRequiredUndefined},S={adId:null,adState:P.AdStateUnknown,adUrl:null,adLengthInSeconds:null,adMediaFiles:null};var L=t(76449),s=t(53461),M=t(65706),u=t(14714),x=t(75707),p=t(83915),i=t(33367),o=t(58527),_=t(47766),f=t(78812),J=t(97663);let a=(()=>{var te;class N{constructor(R,v,h,W,ne,ee,b){this.loggingService=R,this.idmService=v,this.bridgeService=h,this.mediaHelperService=W,this.telemetryService=ne,this.distributedTracingUtilService=ee,this.gameSessionDistributedTracingService=b,this.totalAdPausedDurationInMs=0,this.adStartedTs=0,this.adEndedTs=0,this.wasAdPausedAtLeastOnce=!1,this._currentStreamingProperties=null,this.sendAdErrorTelemetrySubject=new e.B7,this.logger=this.loggingService.getLogger("OpportunityHelperService"),this.AdErrorTelemetrySubjectListener()}AdErrorTelemetrySubjectListener(){this.adErrorTelemetry$.pipe((0,s.F)()).subscribe(R=>{let v,h;this.logger.info("IsAdsRequired Flag is: ",R.isAdsRequired),v=R.partialAdTelemetryData,h=R.adData,v||(v={...l}),h||(h={...S}),this.sendTelemetry(v,h)})}get adErrorTelemetry$(){return this.sendAdErrorTelemetrySubject.asObservable()}set adErrorTelemetry(R){this.sendAdErrorTelemetrySubject.next(R)}get streamingProperties(){return this._currentStreamingProperties}set streamingProperties(R){this._currentStreamingProperties={...R}}updateAdState(R,v,h,W=!1){if(this.computeOpportunityPausedDuration(R,v,null==h?void 0:h.perfNowCts),R.pausedTimeInMs=Math.round(this.totalAdPausedDurationInMs),W)return(0,n.of)(null);{this.sendTelemetry({status:this.mapOpportunityStatus(R.adAction),watchedTimeInMs:null==R?void 0:R.watchedTimeInMs,pausedTimeInMs:null==R?void 0:R.pausedTimeInMs,errorInfo:null==h?void 0:h.errorInfo},v);const ne=this.distributedTracingUtilService.startSpan(L.pB.AdSession,this.gameSessionDistributedTracingService.getCurrentActiveSpan());return this.updateAdStateFunction?this.updateAdStateFunction(R,ne):this.bridgeService.executeCommand(i.Ts.Gfn.Streaming.UpdateAdState,R)}}processVideoEvents(R,v,h,W,ne=!1,ee=!1){var b,w,F,Z;R||this.logger.error("Video Element is null or undefined: ",R),this.logger.info("Process video request: ",null==R?void 0:R.currentSrc,i.Or.Gfn.Streaming.AdAction[v.adAction],` , skipMediaPlay: ${ne}, skipProcessing: ${ee}`);let se=!1;ne||v.adAction!==i.Or.Gfn.Streaming.AdAction.PAUSE?!ne&&v.adAction===i.Or.Gfn.Streaming.AdAction.START||v.adAction===i.Or.Gfn.Streaming.AdAction.RESUME?(this.logger.info("Resume: Attempt playing media: ",i.Or.Gfn.Streaming.AdAction[v.adAction]),se=!0):ne&&v.adAction===i.Or.Gfn.Streaming.AdAction.START&&this.logger.info("Skip playing the media for AdAction.START as the ad would be auto played already."):(this.mediaHelperService.pauseMedia(R),this.wasAdPausedAtLeastOnce=!0);const Y=Math.floor(Date.now()/1e3);return(se?this.mediaHelperService.playMedia(R,"video",{sessionId:null!==(b=null===(w=this.streamingProperties)||void 0===w?void 0:w.sessionId)&&void 0!==b?b:"",subSessionId:null!==(F=null===(Z=this.streamingProperties)||void 0===Z?void 0:Z.subSessionId)&&void 0!==F?F:"",isResumed:B.T80.FALSE,useCase:"Resume ad"}).pipe((0,M.s)(1),(0,u.W)(T=>(this.logger.error("Error playing resumed ad:",T.toString()),(0,n.of)(null)))):(0,n.of)(null)).pipe((0,x.ZZ)(T=>{var H;return(0,E.yU)((0,n.of)(T),this.updateAdState({adId:v.adId,adAction:v.adAction,clientTimestamp:null!==(H=null==v?void 0:v.clientTimestamp)&&void 0!==H?H:Y,watchedTimeInMs:null==v?void 0:v.watchedTimeInMs,cancelReason:null==v?void 0:v.cancelReason},h,W,ee))}),(0,p.T)(T=>(this.logger.info("Media play result: ",T[0]),this.logger.info(ee?"Ad state update was skipped: ":"Ad state update sent for: ",i.Or.Gfn.Streaming.AdAction[v.adAction]),this.resetValues(v),T[0])),(0,u.W)(T=>(this.logger.error("Error updating ad state: ",i.Or.Gfn.Streaming.AdAction[v.adAction],ee," Error: ",T.toString()),this.resetValues(v),O.w)))}setTelemetryHelperData(R){this.cmsId=R}isOpportunityViewingOver(R){return(null==R?void 0:R.adAction)===i.Or.Gfn.Streaming.AdAction.FINISH||(null==R?void 0:R.adAction)===i.Or.Gfn.Streaming.AdAction.CANCEL}computeOpportunityPausedDuration(R,v,h){if((null==R?void 0:R.adAction)===i.Or.Gfn.Streaming.AdAction.START)this.adStartedTs=h;else if(this.isOpportunityViewingOver(R)){if(this.wasAdPausedAtLeastOnce){this.adEndedTs=h;const W=this.adEndedTs-this.adStartedTs,ne=1e3*v.adLengthInSeconds;this.logger.info("Time taken to view ad in ms: ",W,", total ad length in ms: ",ne),W>ne?this.totalAdPausedDurationInMs=W-ne:this.logger.info("Ad is being terminated before completely watching it.")}this.logger.info("totalAdPausedDurationInMs: ",this.totalAdPausedDurationInMs)}}resetValues(R){this.isOpportunityViewingOver(R)&&(this.adStartedTs=this.adEndedTs=this.totalAdPausedDurationInMs=0,this.wasAdPausedAtLeastOnce=!1)}sendTelemetry(R,v){this.idmService.accountStatusChanged.pipe((0,M.s)(1),(0,p.T)(h=>{var W,ne,ee,b,w,F,Z,se,Y,q,T,H;const y=new B.GoL({cmsId:null!==(W=this.cmsId)&&void 0!==W?W:"",url:null!==(ne=v.adUrl)&&void 0!==ne?ne:"",receipt:null!==(ee=v.adId)&&void 0!==ee?ee:"",status:null!==(b=R.status)&&void 0!==b?b:B.eK6.Unknown,durationInSec:null!==(w=v.adLengthInSeconds)&&void 0!==w?w:0,watchedTimeInMs:null!==(F=R.watchedTimeInMs)&&void 0!==F?F:0,pausedTimeInMs:null!==(Z=R.pausedTimeInMs)&&void 0!==Z?Z:0,errorInfo:null!==(se=R.errorInfo)&&void 0!==se?se:"",currentScreenOrientation:window.matchMedia("(orientation: landscape)").matches?B.t4p.Landscape:B.t4p.Portrait,targetedAdsOptIn:void 0===(null==h?void 0:h.targetedAdsOptIn)?B.T80.UNDEFINED:!0===(null==h?void 0:h.targetedAdsOptIn)?B.T80.TRUE:B.T80.FALSE,sessionId:null!==(Y=null===(q=this.streamingProperties)||void 0===q?void 0:q.sessionId)&&void 0!==Y?Y:"",subSessionId:null!==(T=null===(H=this.streamingProperties)||void 0===H?void 0:H.subSessionId)&&void 0!==T?T:""});this.telemetryService.push(y)})).subscribe()}mapOpportunityStatus(R){let v;switch(R){case i.Or.Gfn.Streaming.AdAction.START:v=B.eK6.Started;break;case i.Or.Gfn.Streaming.AdAction.CANCEL:v=B.eK6.Canceled;break;case i.Or.Gfn.Streaming.AdAction.PAUSE:v=B.eK6.Paused;break;case i.Or.Gfn.Streaming.AdAction.RESUME:v=B.eK6.Resumed;break;case i.Or.Gfn.Streaming.AdAction.FINISH:v=B.eK6.Completed;break;default:v=B.eK6.Unknown}return v}convertToAdState(R){let v;switch(R){case i.Or.Gfn.Streaming.AdAction.START:v=P.AdStarted;break;case i.Or.Gfn.Streaming.AdAction.CANCEL:v=P.AdCanceled;break;case i.Or.Gfn.Streaming.AdAction.PAUSE:v=P.AdPaused;break;case i.Or.Gfn.Streaming.AdAction.RESUME:v=P.AdResumed;break;case i.Or.Gfn.Streaming.AdAction.FINISH:v=P.AdFinished;break;default:v=P.AdStateUnknown}return v}}return(te=N).\u0275fac=function(R){return new(R||te)(o.KVO(_.J6),o.KVO(B.k_2),o.KVO(_.NZ),o.KVO(B.yjM),o.KVO(f.H0),o.KVO(L.Z1),o.KVO(J.z))},te.\u0275prov=o.jDH({token:te,factory:te.\u0275fac,providedIn:"root"}),N})(),D=(()=>{var te;class N{constructor(R,v){var h;this.loggingService=R,this.appConfig=v,this.destroy$=new e.B7,this.videoProgressSubject=new e.B7,this.opportunityBlockerDetectedSubject=new e.B7,this.logger=this.loggingService.getLogger("OpportunityBlockerDetectionService"),this.isOpportunityBlockerDialogEnabled=!(null===(h=this.appConfig)||void 0===h||null===(h=h.opportunity)||void 0===h||!h.opportunityBlockerDialogEnabled),this.logger.info(`Is Opportunity blocker dialog enabled: ${this.isOpportunityBlockerDialogEnabled}`)}isOpportunityBlockerDetected$(){return this.opportunityBlockerDetectedSubject.asObservable()}setIsOpportunityBlockerDetected(R,v){this.opportunityBlockerDetectedSubject.next({isAdBlockerDetected:R,featureEnabled:this.isOpportunityBlockerDialogEnabled,adBlockerInfo:v})}updateVideoProgressState(R){this.videoProgressSubject.next(R)}checkIfOpportunityElementAltered(R){Array.from(R).map(v=>{const h=JSON.stringify(v.target,function(W,ne){return ne.id});'""'!==h&&this.logger.info("Modified element's ID: ",h),("preStreamVideo"===(null==h?void 0:h.slice(1,-1))||"preStreamContainer"===(null==h?void 0:h.slice(1,-1)))&&(this.checkForStyleChanges(h.slice(1,-1)),this.checkForAttributeModification(h.slice(1,-1))),v.removedNodes.length&&this.handleDeletedNodes(v)})}checkIfOpportunityElementRemoved(){this.videoProgress$().pipe((0,M.s)(1)).subscribe(()=>{const R=document.getElementById("preStreamVideo"),v=document.getElementById("preStreamContainer");(!R||!v)&&(this.logger.info("video div or video element is removed before progress"),this.setIsOpportunityBlockerDetected(!0,r.VideoElementRemoved))},R=>this.logger.error("Error while checking for opportunity element",R))}getErrorInfo(R){var v;return R.featureEnabled&&R.isAdBlockerDetected?null!==(v=R.adBlockerInfo)&&void 0!==v?v:r.AdBlockerDetected:r.AdBlockerDisabled}isAdBlocked(R){if(R){const v=Object.values(A).includes(R.name),h=Object.values(A).includes(R.message);return v&&h}return!1}checkForStyleChanges(R){var v;const h=document.getElementById(R),W=null==h||null===(v=h.style)||void 0===v?void 0:v.display;("none"===W||"none !important"===W||"hidden"===W)&&(this.logger.info("Opportunity style changed"),this.setIsOpportunityBlockerDetected(!0,r.CssModified))}checkForAttributeModification(R){if("preStreamVideo"===R){const v=document.getElementById(R),h=null===v.getAttribute(U.Autoplay),W=null!==v.getAttribute(U.Preload),ne=null!==v.getAttribute(U.Flashstopped);if(h||W||ne){this.logger.info(`Ad autoplay blocked: Autoplay attr modified=${h},\n Preload attr added=${W}, Flashstopped attr added=${ne}`);let ee=r.AutoplayBlocker+" ";h?ee+=r.AutoplayRemoved:W?ee+=r.PreloadAdded:ne&&(ee+=r.FlashstoppedAdded),this.setIsOpportunityBlockerDetected(!0,ee)}}}handleDeletedNodes(R){this.logger.info("Some elements are removed: ",R.removedNodes),R.removedNodes.forEach(v=>{const h=JSON.stringify(v,function(W,ne){return ne.id});this.logger.info("Removed element's ID: ",h),"preStreamVideo"===(null==h?void 0:h.slice(1,-1))&&this.setIsOpportunityBlockerDetected(!0,r.VideoElementRemoved)})}videoProgress$(){return this.videoProgressSubject.asObservable()}ngOnDestroy(){this.videoProgressSubject.complete(),this.opportunityBlockerDetectedSubject.complete(),this.destroy$.next(),this.destroy$.complete()}}return(te=N).\u0275fac=function(R){return new(R||te)(o.KVO(_.J6),o.KVO(B.Vk6))},te.\u0275prov=o.jDH({token:te,factory:te.\u0275fac,providedIn:"root"}),N})()},81873:(xe,de,t)=>{"use strict";t.d(de,{Gm:()=>n.G,cD:()=>e.c,fz:()=>e.f,t4:()=>E.t});var e=t(25852),n=t(64609),E=t(46380)},46380:(xe,de,t)=>{"use strict";t.d(de,{t:()=>B});var e=t(65706),n=t(58527);t(64609),t(47766);let B=(()=>{var P;class k{constructor(r,A,l,I,S){this.inputControl=l,this.logTag=I,this.osrBaseLogger=A.getLogger("OsrBaseComponent/"+I),this.osrHandler=r.createOsrHandler(I),this.hostClasses=["streamer-osr-component-flex"],S&&(this.hostClasses=this.hostClasses.concat(S)),this.hostClass=this.hostClasses.join(" ")}ngOnInit(){this.openOsr()}ngOnDestroy(){this.osrBaseLogger.info("ngOnDestroy closing and destroying osr handle"),this.osrHandler.closeAndDestroy().pipe((0,e.s)(1)).subscribe(r=>{this.osrBaseLogger.info("Closed osr, state after close: "+r)},r=>{this.osrBaseLogger.error("Received error when closing osr: ",r)})}setInputControl(r){this.osrBaseLogger.info("Setting input control after init to "+r),this.inputControl=r,this.openOsr()}openOsr(){this.osrBaseLogger.info("opening osr for",this.logTag,"with inputControl = "+this.inputControl),this.osrHandler.open(this.inputControl).pipe((0,e.s)(1)).subscribe(r=>{this.osrBaseLogger.info("Opened osr with state "+r)},r=>{this.osrBaseLogger.error("Received error when opening osr: ",r)})}}return(P=k).\u0275fac=function(r){n.QTQ()},P.\u0275dir=n.FsC({type:P,hostVars:2,hostBindings:function(r,A){2&r&&n.HbH(A.hostClass)}}),k})()},64609:(xe,de,t)=>{"use strict";t.d(de,{G:()=>l});var e=t(25852),n=t(26537),E=t(16490),O=t(19061),B=t(65706),P=t(75707),k=t(14714),U=t(58527),r=t(47766),A=t(37543);let l=(()=>{var I;class S{constructor(s,M,u,x){this.loggingService=s,this.bridgeService=M,this.spatialNavigationService=u,this.gamepadNavigationService=x,this.logger=s.getLogger("gfn/osr-handler-service")}createOsrHandler(s){return this.logger.info("Creating new OsrHandler instance"),new e.f(this.loggingService,this.bridgeService,s,this.spatialNavigationService,this.gamepadNavigationService)}attachOsrHandlerForModal(s,M){let u,x,p;if(s instanceof n.CP)u="MatDialogRef",x=s.afterOpened(),p=s.afterClosed();else if(s instanceof E.eN)u="MatBottomSheetRef",x=s.afterOpened(),p=s.afterDismissed();else{if(!(s instanceof O.f$))throw new Error("not a supported type.");u="NvHigGenericDialogRef",x=s.afterOpened(),p=s.afterClosed()}if(!x||!p)throw new Error("Either afterOpen$ or afterClosed$ is not assigned.");return this.withOsrHandler(u,x,p,M),s}withOsrHandler(s,M,u,x){const p=this.createOsrHandler(s);return M.pipe((0,B.s)(1),(0,P.ZZ)(()=>p.open(x)),(0,P.ZZ)(()=>u.pipe((0,B.s)(1),(0,P.ZZ)(()=>p.closeAndDestroy()))),(0,k.W)(i=>(this.logger.info(`open osr failed. message: ${i.message}`),p.closeAndDestroy())),(0,B.s)(1)).subscribe(),p}}return(I=S).\u0275fac=function(s){return new(s||I)(U.KVO(r.J6),U.KVO(r.NZ),U.KVO(O.ED),U.KVO(A.$vj))},I.\u0275prov=U.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},25852:(xe,de,t)=>{"use strict";t.d(de,{c:()=>B,f:()=>U});var e=t(83915),n=t(26875),O=t(33367),B=function(r){return r[r.Closed=0]="Closed",r[r.Open=1]="Open",r[r.OpenWithInput=2]="OpenWithInput",r}(B||{});const k="OsrHandler has already been destroyed";let U=(()=>{class A{get isDestroyed(){return this.destroyed}constructor(I,S,L,s,M){this.bridgeService=S,this.spatialNavigationService=s,this.gamepadNavigationService=M,this.desiredOsrState=B.Closed,this.logTag="",this.logger=I.getLogger("gfn/osr-handler"),this.destroyed=!1,this.logTag=L,A.registeredHandlers.push(this),this.logger.info("Created new OSR component",this.logTag)}static getStringListOfRegisteredHandlers(){let I="";return this.registeredHandlers.forEach(S=>I+=`\nState: ${S.desiredOsrState}, Parent: ${S.logTag}`),I}static clearHandlers(){this.registeredHandlers=[]}static getHighestRequestedState(){return 0===A.registeredHandlers.length?B.Closed:A.registeredHandlers.reduce((I,S)=>I.desiredOsrState>S.desiredOsrState?I:S).desiredOsrState}convertOsrReturnToOsrState(I,S){switch(I){case"osrOpen":return S?B.OpenWithInput:B.Open;case"osrClose":return B.Closed;default:return this.logger.error("Unknown osr return string: "+I+" returning closed"),B.Closed}}open(I=!1){if(this.destroyed)throw new Error(k);return this.desiredOsrState=I?B.OpenWithInput:B.Open,this.executeCommandForDesiredState(A.getHighestRequestedState())}close(){if(this.destroyed)throw new Error(k);return this.desiredOsrState=B.Closed,this.executeCommandForDesiredState(A.getHighestRequestedState())}closeAndDestroy(){if(this.destroyed)throw new Error(k);return this.desiredOsrState=B.Closed,this.destroyed=!0,A.registeredHandlers=(0,n.without)(A.registeredHandlers,this),this.executeCommandForDesiredState(A.getHighestRequestedState())}executeCommandForDesiredState(I){this.logger.info("List of all handlers, highest requested state:",I,A.getStringListOfRegisteredHandlers());let L,S=!1;switch(I){case B.OpenWithInput:S=!0,L=this.openOsrInternal(S);break;case B.Open:L=this.openOsrInternal(S);break;case B.Closed:L=this.closeOsrInternal();break;default:this.logger.error("Unknown desired osr state: "+I+" calling close"),L=this.closeOsrInternal()}return L.pipe((0,e.T)(s=>this.convertOsrReturnToOsrState(s,S)))}openOsrInternal(I){return this.spatialNavigationService.activated=I,this.gamepadNavigationService.activated=I,this.bridgeService.executeCommand(O.Ts.Gfn.Streaming.OpenOsr,{enableInput:I})}closeOsrInternal(){return this.spatialNavigationService.activated=!1,this.gamepadNavigationService.activated=!1,this.bridgeService.executeCommand(O.Ts.Gfn.Streaming.CloseOsr)}}return A.registeredHandlers=[],A})()},6485:(xe,de,t)=>{"use strict";t.d(de,{S:()=>r});var e=t(31315),n=t(43848),E=t(83168),O=t(65706),B=t(75707),P=t(58527),k=t(47766),U=t(37543);let r=(()=>{var A;class l{get skipPostSessionTips(){return this._skipPostSessionTips}set skipPostSessionTips(S){this._skipPostSessionTips=S}constructor(S,L,s,M,u){this.streamingManagerService=L,this.guestModeHelperService=s,this.playtestLiveService=M,this.udsHelperService=u,this._skipPostSessionTips=!0,this.logger=S.getLogger("gfn/postSessionConnection")}initializeStreamingUi(){this.streamingManagerService.register(E.H.PostSessionConnection,{callbackContext:this,onStateBegin:this.onStateStarted,onStateEnd:this.onStateEnd})}closeDialog(){this.shownUiHandle&&(this.logger.info("closing post connection dialog"),this.shownUiHandle.hide(),this.shownUiHandle=null,this.uiHandle.goToNext(),this.uiHandle=null)}onStateStarted(S){this.uiHandle=S.handle,this.logger.info("skipping post session tips: ",this.skipPostSessionTips),this.uiHandleSub=(0,e.zV)([this.udsHelperService.postUDSData(),this.udsHelperService.isUdsSnoozed()]).pipe((0,O.s)(1),(0,B.ZZ)(([L,s])=>{return!L||this.playtestLiveService.skipUds()||s?(this.udsHelperService.udsSuggestionsShownInStream=!1,this.skipPostSessionTips||this.playtestLiveService.skipPostSessionTips()||this.guestModeHelperService.isGuestMode&&(null===(M=this.guestModeHelperService.getGuestModeConfig())||void 0===M||!M.isPostSessionTipsEnabled)?(this.uiHandle.goToNext(),(0,n.of)(null)):(this.uiHandle.restoreWindow(),this.skipPostSessionTips=!0,this.uiHandle.show(["postSessionConnection"]))):(this.uiHandle.restoreWindow(),this.uiHandle.show(["uds"]));var M})).subscribe(L=>{L&&(this.shownUiHandle=L)})}onStateEnd(){this.uiHandle=null,this.uiHandleSub&&this.uiHandleSub.unsubscribe(),this.shownUiHandle&&(this.shownUiHandle=null)}}return(A=l).\u0275fac=function(S){return new(S||A)(P.KVO(k.J6),P.KVO(E.cp),P.KVO(U.xDS),P.KVO(U.CC_),P.KVO(U.umq))},A.\u0275prov=P.jDH({token:A,factory:A.\u0275fac,providedIn:"root"}),l})()},56416:(xe,de,t)=>{"use strict";t.d(de,{y:()=>B});var e=t(37543),n=t(58527),E=t(47766),O=t(83168);let B=(()=>{var P;class k{constructor(r,A,l){this.streamerConfigService=A,this.streamerManagerService=l,this.logger=r.getLogger("gfn/RelaunchGameService")}relaunchGame(){const r=(0,e.IQP)(this.streamerConfigService.activeConfig);this.logger.info("Same Game relaunch requested. Setting exit URL to",r),this.streamerManagerService.exitStreamer({exitUrl:r}).subscribe()}relaunchNewGame(r){const A=r.indexOf("#"),l=r.slice(A+1);this.logger.info("New Game relaunch requested. Setting exit URL to",l),this.streamerManagerService.exitStreamer({exitUrl:l}).subscribe()}}return(P=k).\u0275fac=function(r){return new(r||P)(n.KVO(E.J6),n.KVO(e.zi2),n.KVO(O.cp))},P.\u0275prov=n.jDH({token:P,factory:P.\u0275fac,providedIn:"root"}),k})()},95552:(xe,de,t)=>{"use strict";t.d(de,{R:()=>E});var e=t(58527),n=t(47766);let E=(()=>{var O;class B{constructor(k){this.ragnarokCodesNotificationMap=new Map,this.logger=k.getLogger("gfn/StreamerErrorHelperService")}get ragnarokErrorCodesMap(){return this.ragnarokCodesNotificationMap}set ragnarokErrorCodesMap(k){this.ragnarokCodesNotificationMap=k}getRagnarokErrorCode(k){var U,r;return this.logger.info("errorValue to search in ragnarokCodesNotificationMap: ",k),null!==(U=null===(r=[...this.ragnarokErrorCodesMap].find(([A,l])=>l===k))||void 0===r?void 0:r[0])&&void 0!==U?U:k}}return(O=B).\u0275fac=function(k){return new(k||O)(e.KVO(n.J6))},O.\u0275prov=e.jDH({token:O,factory:O.\u0275fac,providedIn:"root"}),B})()},16706:(xe,de,t)=>{"use strict";t.d(de,{Qk:()=>k,_U:()=>P,gn:()=>B,hc:()=>n,o$:()=>e,vw:()=>E});const e={width:470,height:618},n={width:560,height:166},E={width:560,height:146};var B=function(U){return U[U.InvalidParams=0]="InvalidParams",U[U.NetworkError=1]="NetworkError",U[U.ZeroCmsId=2]="ZeroCmsId",U[U.ScheduledMaintenance=3]="ScheduledMaintenance",U[U.UnsupportedPlatform=4]="UnsupportedPlatform",U[U.UnsupportedBrowser=5]="UnsupportedBrowser",U[U.PWARequired=6]="PWARequired",U[U.NativeAppOnly=7]="NativeAppOnly",U[U.GenericUnsupportedError=8]="GenericUnsupportedError",U[U.OpportunityAborted=9]="OpportunityAborted",U}(B||{}),P=function(U){return U[U.UnsupportedRegion=0]="UnsupportedRegion",U[U.NotAffiliateEntitled=1]="NotAffiliateEntitled",U[U.NotEntitled=2]="NotEntitled",U[U.Unknown=3]="Unknown",U}(P||{}),k=function(U){return U[U.MissingCmsId=0]="MissingCmsId",U[U.FailedToFetchAppStores=1]="FailedToFetchAppStores",U[U.PlatformSelectionCancelled=2]="PlatformSelectionCancelled",U[U.UnexpectedError=3]="UnexpectedError",U}(k||{})},84450:(xe,de,t)=>{"use strict";t.d(de,{WI:()=>P,Xl:()=>E,mk:()=>e,qy:()=>n,v0:()=>B});const e={width:789,height:250,resultHeight:549,widthError:480,heightError:168,heightErrorSmall:148,widthErrorNetworkTest:744,heightErrorNetworkTest:312},n=549,E="rating",B="input",P="paste"},15530:(xe,de,t)=>{"use strict";t.d(de,{H:()=>E});var e=t(37543),n=t(23355);class E{constructor(B){this.appConfig=B}formatErrorCode(B){return(0,e.yJs)(B)}getErrorLink(B,P){let k,U;switch(P){case n.Jt.NVB_R_UDP_BUFFER_TOO_SMALL:k=e.r7g.UdpBufferTips,U="error.udpBufferTips";break;case n.Jt.NVB_R_FIREWALL_BLOCK:k=e.r7g.GfnPcNetHelpFirewall,U="error.checkFirewallSettingsTips";break;case n.Jt.NVB_R_WIFI_CONNECTIVITY_ISSUE1:case n.Jt.NVB_R_WIFI_CONNECTIVITY_ISSUE2:case n.Jt.NVB_R_WIFI_CONNECTIVITY_ISSUE3:case n.Jt.GFNPC_CLIENT_FRAME_LOSS_TIMEOUT_ERROR:k=e.r7g.GfnPcNetHelpWifi,U="common.troubleshootingTips";break;case n.b5.NVB_R_GFN_GAME_NOT_OWNED_BY_USER:k="",U="";break;case n.b5.NVB_R_VERSION_MISMATCH:k=e.r7g.GfnPcHelpUpdate,U="error.manualUpdateTips";break;case n.b5.NVB_R_SERVER_OUT_OF_SERVICE:case n.b5.NVB_R_SEVER_MAINTENANCE_MODE:case n.b5.NVB_R_INVALID_SERVER_RESPONSE:k=e.r7g.GfnServerStatus,U="common.viewServerStatus";break;case n.b5.NVB_R_REGION_NOT_SUPPORTED_FOR_STREAMING:k=e.r7g.GfnPcUnSupportedRegion,U="error.moreInformation";break;case n.b5.NVB_R_SESSION_ICE_CONNECTION_FAILED:return{url:"https://nvidia.custhelp.com/app/answers/detail/a_id/5244/",text:"common.learnMore"};default:P>=n.b5.NVB_R_SERVER_ERROR_BEGIN&&P<=n.b5.NVB_R_SERVER_ERROR_MAX&&P!==n.fZ.SERVER_DISCONNECTED_MULTIPLE_TAB?(k=e.r7g.GfnServerStatus,U="common.viewServerStatus"):this.isVideoDecoderError(P)?(k=e.r7g.GfnPcHelpMissingDecoder,U="common.learnMore"):k=""}return 0===k.length?{url:"",text:""}:{url:this.appConfig.redirect.serverUrl+B+"&page="+k,text:U,shortUrl:e.lph[k]}}isVideoDecoderError(B){return B>>>12===n.Jt.VIDEO_DECODER_ERROR_MASK||B===n.Jt.VIDEO_DECODER_CREATION_FAILED}}},47496:(xe,de,t)=>{"use strict";t.d(de,{r:()=>k,S:()=>B});var e=t(23355),n=t(15530),E=t(37543);const O={ExcludedFailedErrorCodes:[e.b5.NVB_R_TOO_MANY_SERVER_REQUESTS,e.b5.NVB_R_APPLICATION_PATCHING,e.b5.NVB_R_APP_MAINTENANCE_STATUS,e.b5.NVB_R_USER_IS_NOT_ENTITLED,e.b5.NVB_R_REGION_NOT_SUPPORTED_FOR_STREAMING,e.b5.NVB_R_SESSION_GAME_BINARIES_NOT_AVAILABLE_IN_REGION,e.b5.NVB_R_SESSION_NOT_ACTIVE,e.b5.NVB_R_SESSION_WAITING_ADS_TIME_EXPIRED],ExcludedTerminationErrorCodes:[e.Jt.NVB_R_UDP_BUFFER_TOO_SMALL,e.fZ.NVB_SN_TERMINATED_ANOTHER_CLIENT,e.fZ.NVB_SN_TERMINATED_MULTIPLE_LOGIN,e.fZ.SERVER_DISCONNECTED_MULTIPLE_TAB,e.fZ.NVB_SN_TERMINATED_DUE_TO_SYSTEM_SLEEP,e.fZ.NVB_SN_EXITED_DUE_TO_USER_IDLE_TIMEOUT,e.fZ.NVB_SN_EXITED_DUE_TO_SESSION_TIMELIMIT,e.fZ.NVB_SN_INIT_FAILED_DUE_TO_SYSTEM_SLEEP]};class B extends n.H{constructor(r){super(r),this.reasonToText=new Map([[e.fZ.NVB_SN_STOPPED_UNINTENTIONALLY,"error.sessionTerminated"],[e.fZ.NVB_SN_ENTITLEMENT_TIMEOUT,"error.entitlementTimeout"],[e.fZ.NVB_SN_STREAMER_NETWORK_ERROR,"error.streamerNetworkError"],[e.fZ.NVB_SN_EXITED_DUE_TO_USER_IDLE_TIMEOUT,"error.userIdleTimeout"],[e.fZ.NVB_SN_EXITED_DUE_TO_SESSION_TIMELIMIT,"error.sessionTimelimit"],[e.fZ.NVB_SN_TERMINATED_BY_OPERATOR,"error.maintenance"],[e.fZ.NVB_SN_TERMINATED_WINDOWED_MODE,"error.windowedMode"],[e.fZ.NVB_SN_TERMINATED_DUE_TO_SYSTEM_SLEEP,"error.systemWentToSleep"],[e.fZ.NVB_SN_TERMINATED_MULTIPLE_LOGIN,"error.gameHasBeenEnded"],[e.fZ.NVB_SN_TERMINATED_ANOTHER_CLIENT,"error.playingOnAnotherStream"],[e.fZ.SERVER_DISCONNECTED_MULTIPLE_TAB,"error.gameHasBeenEnded"],[e.fZ.NVB_SN_TERMINATED_GAME_NOT_OWNED_BY_USER,"error.gameNotOwnedByUser"],[e.fZ.NVB_SN_PAUSED_DUE_TO_SYSTEM_SLEEP,"error.systemWentToSleep"],[e.fZ.NVB_SN_INIT_FAILED_DUE_TO_SYSTEM_SLEEP,"error.systemSleepDuringSessionInit"],[e.fZ.NVB_SN_PM_TERMINATED_MAINTENANCE_MODE,"error.scheduleMaintenanceText"]])}getErrorInfo(r,A,l,I,S,L){l=(0,E.rcS)(l);const s=this.getErrorText(l,I),M=this.getErrorHeader(l),u=this.getErrorCode(l,I),x=this.getTerminationErrorLink(r,l,I);return{errorCode:u,errorText:s,errorHeaderText:M,linkText:x.text,linkUrl:x.url,isErrorResumable:A,appName:S,appStore:L,shortUrl:x.shortUrl}}getErrorText(r,A){return r===e.fZ.NVB_SN_STREAMING_START_FAILED?A===e.Jt.NVB_R_UDP_BUFFER_TOO_SMALL?"error.increaseUdpBuffer":"error.failedToConnect":r===e.fZ.NVB_SN_PAUSED_BY_USER&&A===e.Jt.GFNPC_CLIENT_FRAME_LOSS_TIMEOUT_ERROR?"error.streamerNetworkError":A===e.Jt.NVST_DISCONN_SERVER_VFP_PROTECTED_CONTENT?"error.protectedContent":this.reasonToText.has(r)?this.reasonToText.get(r):"error.sessionTerminated"}getErrorHeader(r){return r===e.fZ.NVB_SN_TERMINATED_MULTIPLE_LOGIN||r===e.fZ.SERVER_DISCONNECTED_MULTIPLE_TAB?"error.sessionEnded":""}getErrorCode(r,A){return O.ExcludedTerminationErrorCodes.some(I=>I===r||I===A)?"":this.formatErrorCode(A||r)}getTerminationErrorLink(r,A,l){return this.getErrorLink(r,l||A)}}var P=t(26875);class k extends n.H{constructor(r){super(r),this.reasonToText=new Map([[e.b5.NVB_R_AUTH_ERR_UNREACHABLE_AUTH_SERVER,"error.cloudDown"],[e.b5.NVB_R_GES_NOT_REACHABLE,"error.cloudDown"],[e.b5.NVB_R_SERVER_OUT_OF_SERVICE,"error.cloudDown"],[e.b5.NVB_R_SEVER_MAINTENANCE_MODE,"error.maintenance"],[e.b5.NVB_R_INSUFFICIENT_RESOURCES,"error.insufficientResources"],[e.b5.NVB_R_STREAMER_NETWORK_ERROR,"error.networkError"],[e.b5.NVB_R_STREAMER_CONNECT_FAILED,"error.networkError"],[e.b5.NVB_R_SESSION_NOT_ACTIVE,"error.userIdleTimeout"],[e.b5.NVB_R_NOT_SUPPORTED,"error.restartApp"],[e.b5.NVB_R_AUTH_ERR_UNSUPPORTED_PROTOCOL,"error.restartApp"],[e.b5.NVB_R_AUTH_ERR_UNSUPPORTED_TOKEN_FORMAT,"error.restartApp"],[e.b5.NVB_R_AUTH_ERR_TOKEN_NOT_UPDATED,"error.restartApp"],[e.b5.NVB_R_PREFERRED_CONTROLLER_NOT_FOUND,"error.restartApp"],[e.b5.NVB_R_VERSION_MISMATCH,"error.manualUpdateRequired"],[e.b5.NVB_R_OS_ERROR,"error.reinstallApp"],[e.b5.NVB_R_AUTH_ERR_UNAUTHORIZED_CLIENT,"error.reinstallApp"],[e.b5.NVB_R_APP_TITLE_FENCED,"error.titleFenced"],[e.b5.NVB_R_APPLICATION_PATCHING,"error.titleFenced"],[e.b5.NVB_R_APP_MAINTENANCE_STATUS,"fencedStatus.offlineSupplementalTextShortMessage"],[e.b5.NVB_R_INVALID_APP_IDENTIFIER,"error.invalidId"],[e.b5.NVB_R_USER_IS_NOT_ENTITLED,"error.affiliateAccessError"],[e.b5.NVB_R_REGION_NOT_SUPPORTED_FOR_STREAMING,"error.gfnNotAvailableInRegion"],[e.b5.NVB_R_TOO_MANY_SERVER_REQUESTS,"error.tooManyRequests"],[e.b5.NVB_R_SESSION_TERMINATED_MULTIPLE_LOGIN,"error.multipleLogin"],[e.b5.NVB_R_SESSION_TERMINATED_ANOTHER_CLIENT,"error.playingOnAnotherStreamNoGameName"],[e.b5.NVB_R_REQUIRED_SEAT_INSTANCE_TYPE_NOT_SUPPORTED,"error.instanceTypeNotSupported"],[e.b5.NVB_R_SERVER_SESSION_QUEUE_LENGTH_EXCEEDED,"error.sessionQueueLengthExceeded"],[e.b5.NVB_R_SESSION_GAME_BINARIES_NOT_AVAILABLE_IN_REGION,"error.gameBinariesNotAvailableInRegion"],[e.b5.NVB_R_SESSION_IN_QUEUE_ABANDONED,"error.gameLaunchTimeout"],[e.b5.NVB_R_ZONE_MAITENANCE_STATUS,"error.scheduleMaintenanceLoadingText"],[e.b5.NVB_R_SESSION_REMOVED_FROM_QUEUE_MAINTENANCE,"error.scheduleMaintenanceLoadingText"],[e.b5.NVB_R_SESSION_ICE_CONNECTION_FAILED,"error.knowledgeSupportPageMessage"],[e.b5.NVB_R_INSTANCE_TYPE_NOT_SUPPORTED_IN_SINGLE_REGION,"error.instanceTypeNotSupported"],[e.b5.NVB_R_SESSION_WAITING_ADS_TIME_EXPIRED,"error.awayForLong"],[e.b5.NVB_R_USER_CANCELED_WATCHING_ADS,"opportunity.blockerDescription"],[e.b5.NVB_R_INSUFFICIENT_PLAYABILITY_LEVEL,"ecommerce.skuBasedUnplayableDialogBodyUpgrade"],[e.b5.NVB_R_STREAMING_NOT_ALLOWED_IN_LIMITED_MODE,"timeCapTimeAlert.timeCapLimitedPlayTimeAlert.bodySkuBasedUnplayable"]]),this.reasonToHeader=new Map([[e.b5.NVB_R_SESSION_WAITING_ADS_TIME_EXPIRED,"error.relaunchToPlay"],[e.b5.NVB_R_USER_CANCELED_WATCHING_ADS,"opportunity.blockerDetected"],[e.b5.NVB_R_INSUFFICIENT_PLAYABILITY_LEVEL,"ecommerce.skuBasedUnplayableDialogHeader"],[e.b5.NVB_R_STREAMING_NOT_ALLOWED_IN_LIMITED_MODE,"timeCapSessionLimitReached.outOfPlaytime"]])}getErrorInfo(r,A,l,I,S){l=(0,E.rcS)(l);const L=this.getErrorText(l),s=this.getErrorHeader(l),M=this.getErrorCode(l,I),u=this.getFailedErrorLink(r,l,I);return{errorCode:M,errorText:L,errorHeaderText:s,linkText:u.text,linkUrl:u.url,isErrorResumable:A,reasonCode:l,appName:S,shortUrl:u.shortUrl}}getErrorText(r){return r>=e.b5.NVB_R_NETWORK_ERROR&&r<=e.b5.NVB_R_UNEXPECTED_HTTPREDIRECT?"error.localNetworkError":this.reasonToText.has(r)?this.reasonToText.get(r):"error.sessionFailed"}getErrorHeader(r){return this.reasonToHeader.has(r)?this.reasonToHeader.get(r):""}getErrorCode(r,A){let l;return l=(0,P.isArray)(A)&&A.length>0?A[0]:r,O.ExcludedFailedErrorCodes.includes(l)?"":this.formatErrorCode(l)}getFailedErrorLink(r,A,l){let I;return I=(0,P.isArray)(l)&&l.length>0?l[0]:A,this.getErrorLink(r,I)}}},74701:(xe,de,t)=>{"use strict";t.d(de,{a:()=>n,v:()=>e});var e=function(E){return E.HotKey="Hotkey",E.Igo="IGO",E.Osc="OSC",E}(e||{}),n=function(E){return E.Send="Send",E.ToggleTextVisibility="ToggleTextVisibility",E}(n||{})},26900:(xe,de,t)=>{"use strict";t.d(de,{c:()=>x});var e=t(26875),n=t(47496),E=t(16706),O=t(83168),B=t(31315),P=t(37543),k=t(15530);class U extends k.H{getErrorInfo(i,o,_){_=(0,P.rcS)(_);const f=this.getErrorText(_),J=this.formatErrorCode(_),a=this.getErrorLink(i,_);return{errorCode:J,errorText:f,linkText:a.text,linkUrl:a.url,isErrorResumable:o,shortUrl:a.shortUrl}}getErrorText(i){return this.isVideoDecoderError(i)?"error.minRequirement":"error.invalidParams"}}var r=t(40996),A=t(72147),l=t(65706),I=t(23355),S=t(58527),L=t(47766),s=t(36203),M=t(95552);let x=(()=>{var p;class i{constructor(_,f,J,a,D,te,N,z,R,v,h,W,ne){this.streamingManagerService=f,this.streamingService=J,this.localeService=a,this.ecomService=D,this.gfnSdkService=N,this.guestModeService=z,this.guestModeHelperService=R,this.unsupportedBrowserService=v,this.telemetryUtilService=h,this.streamerErrorHelperService=W,this.udsHelperService=ne,this.genericErrorPath=["streamerError","genericError"],this.nesErrorPath=["streamerError","nesAuthError"],this.ecomNesErrorPath=["streamerError","entitlementError"],this.sessionErrorPath=["streamerError","sessionError"],this.timeCapSessionErrorPath=["streamerError","timeCapSessionError"],this.nonUpgradableUser=!1,this.canUpgradeOnSessionLength=!1,this.userMembership={},this.unsupportedGfnErrorExists=!1,this.logger=_.getLogger("gfn/errorService"),this.geronimoTerminationErrors=new n.S(te),this.geronimoFailedErrors=new n.r(te),this.geronimoBridgeErrors=new U(te),this.routeDataGenerators=new Map,this.routeDataGenerators.set(O.A1.GenericError,this.generateGenericErrorData.bind(this)),this.routeDataGenerators.set(O.A1.NesAuthError,this.generateNesErrorData.bind(this)),this.routeDataGenerators.set(O.A1.GeronimoError,this.generateStreamerErrorData.bind(this)),this.routeDataGenerators.set(O.A1.PreStreamGeronimoError,this.generatePreStreamerErrorData.bind(this)),this.routeDataGenerators.set(O.A1.EntitlementError,this.generateEntitlementErrorData.bind(this)),this.localeService.localeChanged.subscribe(ee=>{this.locale=ee})}initializeStreamingUi(){this.checkUserEntitlement(),this.streamingManagerService.register(O.H.Error,{callbackContext:this,onStateBegin:this.routeErrorState,onStateEnd:this.onStateEnd}),this.streamingManagerService.register(O.H.ResumableError,{callbackContext:this,onStateBegin:this.onErrorState,onStateEnd:this.onStateEnd}),this.streamingManagerService.register(O.H.TerminalError,{callbackContext:this,onStateBegin:this.onErrorState,onStateEnd:this.onStateEnd})}closeErrorDialog(_=!0,f){this.shownUiHandle&&(this.logger.info("closing error dialog"),this.shownUiHandle.hide(),this.shownUiHandle=null),this.uiHandle&&_&&(this.logger.info("Going to the done state."),this.sendDialogClosedTelemetry(),this.uiHandle.goToDone(f),this.uiHandle=null)}isErrorResumable(){return this.streamingService.isSessionResumable()}routeErrorState(_){this.isErrorResumable()?_.errorUIHandle.goToResumableError(_.data):_.errorUIHandle.goToTerminalError(_.data)}onErrorState(_){if(this.uiHandle=_.handle,this.guestModeHelperService.isGuestMode){var f,J,a,D;if((null===(f=_.data)||void 0===f||null===(f=f.errorData)||void 0===f?void 0:f.errorCode)===I.Jt.GFNPC_CLIENT_GUESTMODE_SESSION_LIMIT_PER_DEVICE_REACHED||(null===(J=_.data)||void 0===J||null===(J=J.errorData)||void 0===J?void 0:J.errorCode)===I.b5.NVB_R_TOO_MANY_SERVER_REQUESTS)this.guestModeService.updateGuestModeExitUrl(P.JvS.GFN_Error_SessionLimitReached);else if((null===(a=_.data)||void 0===a||null===(a=a.errorData)||void 0===a?void 0:a.errorCode)===I.Jt.GUEST_MODE_CAMAPAIGN_DISABLED)this.guestModeService.updateGuestModeExitUrl(P.JvS.Campaign_Suspended);else if((null===(D=_.data)||void 0===D||null===(D=D.errorData)||void 0===D?void 0:D.errorCode)!==I.fZ.NVB_SN_EXITED_DUE_TO_SESSION_TIMELIMIT){var te;this.guestModeService.updateGuestModeExitUrl(P.JvS.GFN_Error),null!==(te=_.data)&&void 0!==te&&null!==(te=te.errorData)&&void 0!==te&&te.errorCode&&!Object.values(E.gn).includes(_.data.errorData.errorCode)&&this.guestModeService.updateRedirectURLWithSubErrorCode(this.streamerErrorHelperService.getRagnarokErrorCode(_.data.errorData.errorCode))}return void this.closeErrorDialog()}const N=this.generateErrorData(_.data);this.logger.info("Final error route data:",N),this.uiHandleSub=this.uiHandle.show(N.path,N.data).subscribe(z=>{this.shownUiHandle=z,this.sendDialogOpenTelemetryOnError(_.data)})}sendDialogOpenTelemetryOnError(_){var f;switch(null==_||null===(f=_.errorData)||void 0===f?void 0:f.errorCode){case E.gn.UnsupportedBrowser:case E.gn.UnsupportedPlatform:case E.gn.PWARequired:case E.gn.NativeAppOnly:this.unsupportedGfnErrorExists=!0,this.telemetryUtilService.sendPopUpDialogShownEvent(P.duU.Unsupported_Browser_Or_Platform_Game_Launch)}}sendDialogClosedTelemetry(){this.unsupportedGfnErrorExists&&this.telemetryUtilService.sendPopUpDialogClosedEvent(P.duU.Unsupported_Browser_Or_Platform_Game_Launch,P.HBm.Dialog_Closed)}onStateEnd(){this.uiHandle=null,this.unsupportedGfnErrorExists=!1,this.uiHandleSub&&this.uiHandleSub.unsubscribe(),this.shownUiHandle&&(this.shownUiHandle=null)}generateErrorData(_){if(!this.routeDataGenerators.has(_.errorData.errorType))throw new Error("Cannot generate error route data for error type: "+_.errorData.errorType);return this.routeDataGenerators.get(_.errorData.errorType)(_.errorData)}generateNesErrorData(_){return this.logger.info("Generating Nes error data from:",_),{path:this.nesErrorPath,size:E.o$,data:{errorCode:_.errorCode}}}generateEntitlementErrorData(_){return this.logger.info("Generating Ecom user membership status error data from:",_),{path:this.ecomNesErrorPath,size:E.o$,data:{useCase:P.Y1$.Join}}}generateGenericErrorData(_){this.logger.info("Generating generic error data from:",_);const f={errorText:"error.invalidParams",isErrorResumable:!1},J=this.unsupportedBrowserService.getUnsupportedBrowserState$(!0).pipe((0,A.n)(D=>this.unsupportedBrowserService.getDialogLink$(D,{anchorLink:!0,isLive:!0})));switch(_.errorCode){case E.gn.NetworkError:f.errorText="error.networkError";break;case E.gn.ZeroCmsId:f.errorText="error.desktopShortcutInvalid";break;case E.gn.ScheduledMaintenance:f.errorText="error.scheduleMaintenanceLoadingText",f.reasonCode=I.fZ.NVB_SN_PM_TERMINATED_MAINTENANCE_MODE;break;case E.gn.UnsupportedBrowser:case E.gn.PWARequired:case E.gn.NativeAppOnly:J.pipe((0,l.s)(1)).subscribe(D=>{f.errorText="layout.universalUnsupportedDialogText.unsupportedBrowserHeaderText",f.linkText=D.text,f.linkUrl=D.url,f.shortUrl=D.shortUrl});break;case E.gn.UnsupportedPlatform:J.pipe((0,l.s)(1)).subscribe(D=>{f.errorText="layout.universalUnsupportedDialogText.unsupportedPlatformHeaderText",f.linkText=D.text,f.linkUrl=D.url,f.shortUrl=D.shortUrl});break;case E.gn.GenericUnsupportedError:J.pipe((0,l.s)(1)).subscribe(D=>{f.errorText="layout.universalUnsupportedDialogText.unsupportedGenericHeaderText",f.linkText=D.text,f.linkUrl=D.url,f.shortUrl=D.shortUrl})}return{path:this.genericErrorPath,size:E.o$,data:f}}generatePreStreamerErrorData(_){let f;const J=this.isErrorResumable();return _ instanceof O.OH&&(0,e.has)(_,"resultInfo.code")?f=this.geronimoBridgeErrors.getErrorInfo(this.locale,J,_.resultInfo.code):_ instanceof O.OH&&(0,e.has)(_,"resultInfo.result")&&(0,e.has)(_,"resultInfo.extendedError")?(this.logger.info("Generating GeronimoPreStream error data from:",_,J),f=this.geronimoFailedErrors.getErrorInfo(this.locale,J,_.resultInfo.result,_.resultInfo.extendedError)):(this.logger.info("Unexpected Geronimo error data:",_,J),f={errorText:"error.sessionFailed",isErrorResumable:J}),{path:this.genericErrorPath,size:E.o$,data:f}}handleSessionLimitReached(_){return this.nonUpgradableUser?{path:this.sessionErrorPath,size:E.hc,data:_}:this.canUpgradeOnSessionLength?{path:this.ecomNesErrorPath,size:E.o$,data:{useCase:P.Y1$.MaxSessionLengthExceeded}}:void 0}generateStreamerErrorData(_){let f;this.logger.info("Generating Geronimo error data from:",_);const J=_,a=this.isErrorResumable();let D=_.errorCode;const te=J.errorEventInfo.event;if(te===I.CW.STREAMING_TERMINATED||te===I.CW.STREAMING_STOPPED){var z,R,v,h;const w=null===(z=this.streamingService.streamingParams)||void 0===z?void 0:z.digitalStore;if(f=this.geronimoTerminationErrors.getErrorInfo(this.locale,a,D,J.errorEventInfo.extendedCode,null!==(R=null===(v=J.errorEventInfo)||void 0===v?void 0:v.latestStreamedAppName)&&void 0!==R?R:null===(h=this.streamingService.streamingParams)||void 0===h?void 0:h.appName,w),this.updateErrorTextForDefaultAppStore(w,f),this.logger.info("Game session limit reached: ",D," Show upsell dialog? ",this.canUpgradeOnSessionLength),this.udsHelperService.sendUDSDataToServer(),D===I.fZ.NVB_SN_PM_TERMINATED_MAINTENANCE_MODE)return this.logger.info("Stream terminated for scheduled maintenance of zone: ",D),f.reasonCode=D,{path:this.sessionErrorPath,size:E.vw,data:f};if(D===I.fZ.NVB_SN_EXITED_DUE_TO_SESSION_TIMELIMIT)return this.handleSessionLimitReached(f);D===I.fZ.NVB_SN_TERMINATED_GAME_NOT_OWNED_BY_USER&&(this.logger.info("Stream ended because user does not own the game: ",D),f.reasonCode=D)}else{if(this.userMembership.eComFeatureEnabled&&J.errorEventInfo.event===I.CW.SESSION_SETUP_FAILURE&&J.errorCode===I.b5.NVB_R_SERVER_SESSION_QUEUE_LENGTH_EXCEEDED)return{path:this.ecomNesErrorPath,size:E.o$,data:{useCase:P.Y1$.QueueLimitExceeded}};{var W,ne;const b=J.errorEventInfo;D=b.result.result,f=this.geronimoFailedErrors.getErrorInfo(this.locale,a,D,b.result.extendedError,null!==(W=null==b?void 0:b.latestStreamedAppName)&&void 0!==W?W:null===(ne=this.streamingService.streamingParams)||void 0===ne?void 0:ne.appName),this.udsHelperService.sendUDSDataToServer()}}return{path:this.genericErrorPath,size:E.o$,data:f}}updateErrorTextForDefaultAppStore(_,f){_===P.EUA&&"error.gameNotOwnedByUser"===f.errorText&&(f.errorText="error.gameNotOwnedByUserWithoutAppStore")}checkUserEntitlement(){(0,B.zV)([this.ecomService.getUserMembership(),this.gfnSdkService.getAuthType()]).subscribe(([_,f])=>{const{product:J,...a}=_;this.logger.info("Check user membership for showing upsell dialog: ",a),this.userMembership=_,this.canUpgradeOnSessionLength=_.eComFeatureEnabled&&_.membershipStatus===P.OON.Entitled&&this.ecomService.featureUpsellAvailable(P.q3U.HIGHER_SESSION_LENGTH),this.nonUpgradableUser=_.membershipStatus===P.OON.Entitled&&!this.ecomService.featureUpsellAvailable(P.q3U.HIGHER_SESSION_LENGTH),f===r.hT.JWT&&(this.canUpgradeOnSessionLength=!0,this.nonUpgradableUser=!1)})}}return(p=i).\u0275fac=function(_){return new(_||p)(S.KVO(L.J6),S.KVO(O.cp),S.KVO(s.I),S.KVO(L.iH),S.KVO(P.yJU),S.KVO(P.Vk6),S.KVO(r.DL),S.KVO(P.NPJ),S.KVO(P.xDS),S.KVO(P.Lki),S.KVO(P.jgD),S.KVO(M.R),S.KVO(P.umq))},p.\u0275prov=S.jDH({token:p,factory:p.\u0275fac,providedIn:"root"}),i})()},66968:(xe,de,t)=>{"use strict";t.d(de,{h:()=>M});var e=t(1794),E=t(47766),O=t(43848),B=t(8619),P=t(79539),k=t(75707),U=t(65706),r=t(83168),A=t(23355),l=t(58527),I=t(74150),S=t(37543),L=t(36203),s=t(33204);let M=(()=>{var u;class x{constructor(i,o,_,f,J,a,D,te,N,z,R,v){this.streamingManagerService=o,this.sanitizer=_,this.streamerConfigService=f,this.streamingService=J,this.gfcHelperService=a,this.surveyService=D,this.feedbackService=te,this.playtestLiveService=N,this.guestModeHelperService=z,this.udsHelperService=R,this.appConfig=v,this.surveyURL=null,this.logger=i.getLogger("gfn/streamingFeedback"),this.logger.info("entered streamingFeedback"),this.sessionSetup$=this.streamingService.streamingEvent$.pipe((0,B.p)(h=>h.event===A.CW.SESSION_SETUP_SUCCESS)),this.sessionSetup$.subscribe(h=>{this.sessionStartTime=Date.now(),this.sessionId=this.streamingService.streamingProperties.sessionId},h=>{this.logger.error("Error encountered during has feedback check: ",h)})}initializeStreamingUi(){E.zk.isBrowserPlatform()&&this.gfcHelperService.getAppInstanceId().subscribe(o=>{this.appInstanceId=o}),this.streamingManagerService.register(r.H.PostStreaming,{callbackContext:this,onStateBegin:this.onStateStarted,onStateEnd:this.onStateEnd})}finishFeedbackState(){this.shownUiHandle?(this.logger.info("Post-game feedback, finishFeedbackState - goToNext state"),this.shownUiHandle.hide(),this.shownUiHandle=null,this.uiHandle.goToNext(),this.uiHandle=null):(this.logger.error("finishFeedbackUIState was called while UI was not shown."),this.uiHandle&&(this.logger.info("Try going to the next state."),this.uiHandle.goToNext()))}onStateStarted(i){var o,_;if(this.uiHandle=i.handle,null!==(o=this.appConfig.featureEnablement)&&void 0!==o&&o.surveyInNative)return this.uiHandle.goToNext(),void(this.uiHandle=null);this.playtestLiveService.skipFeedback()||this.guestModeHelperService.isGuestMode||this.udsHelperService.udsSuggestionsShownInStream||!this.guestModeHelperService.isGuestMode&&null!==(_=this.streamerConfigService.activeConfig)&&void 0!==_&&_.sdkClient?this.finishFeedbackState():this.uiHandleSub=this.uiHandle.show(["feedback"],{surveyURL:this.surveyURL}).subscribe(f=>{this.shownUiHandle=f},f=>this.logger.error("Error showing Feedback route: ",f))}onStateEnd(){this.uiHandleSub&&this.uiHandleSub.unsubscribe(),this.shownUiHandle&&(this.shownUiHandle=null),this.uiHandle&&(this.uiHandle=null)}resizeWindowForFeedback(){this.uiHandle&&this.uiHandle.restoreWindow()}getSessionDuration(){const i=Date.now()-this.sessionStartTime,o=Math.floor(i/6e4);return this.logger.info("Streaming session duration in minutes: ",o),o}getPostGameSurveyUrl(){return this.isAdminHubSurvey=!1,this.surveyService.isSurveyFeatureAvailable([e.TriggerType.PostGame]).pipe((0,P.H)(i=>i?this.streamerConfigService.config$.pipe((0,k.ZZ)(o=>this.surveyService.getAvailableSurvey([e.TriggerType.PostGame],`${o.cmsId}`,this.sessionId,this.getSessionDuration())),(0,U.s)(1),(0,k.ZZ)(o=>{if(o){this.logger.info("AdminHub Post-game Survey is available");const _=this.sanitizer.bypassSecurityTrustResourceUrl(o.surveyContainerUrl);return this.isAdminHubSurvey=!0,this.logger.info("got surveySafeUrl: ",_),this.subscribeToSurveyEvents(o),(0,O.of)(_)}return this.logger.info("AdminHub PostGame Survey is not available, do not show feedback"),(0,O.of)(null)})):(this.logger.info("AdminHub PostGame Survey is not available due to disabled Feature Rollout"),(0,O.of)(null))))}hasAdminHubSurvey(){return this.isAdminHubSurvey}getUser(){return(0,O.of)(!0)}subscribeToSurveyEvents(i){this.surveyEventReferenceSubmitted=(0,e.subscribeToIFrameEvents)({surveyId:i.surveyId,type:e.SurveyEventType.Submitted},this.surveyEventListenerSubmitted.bind(this)),this.surveyEventReferenceDismissed=(0,e.subscribeToIFrameEvents)({surveyId:i.surveyId,type:e.SurveyEventType.Dismissed},this.surveyEventListenerDismissed.bind(this)),this.surveyEventReferenceCloseDialog=(0,e.subscribeToIFrameEvents)({surveyId:i.surveyId,type:e.SurveyEventType.CloseDialog},this.surveyEventListenerCloseDialog.bind(this))}surveyEventListenerSubmitted(){this.logger.info("PostGAME Submitted, closing window"),this.feedbackService.onSurveySent(),this.finishFeedbackState(),this.surveyEventReferenceSubmitted.unsubscribe()}surveyEventListenerDismissed(){this.logger.info("PostGAME Dismissed, closing window..."),this.finishFeedbackState(),this.surveyEventReferenceDismissed.unsubscribe()}surveyEventListenerCloseDialog(){this.logger.info("PostGAME closed, closing window..."),this.surveySendDismissTelemetry(),this.finishFeedbackState(),this.surveyEventReferenceCloseDialog.unsubscribe()}surveySendDismissTelemetry(){this.surveyService.surveyEventListenerCloseDialog(e.TriggerType.PostGame)}}return(u=x).\u0275fac=function(i){return new(i||u)(l.KVO(E.J6),l.KVO(r.cp),l.KVO(I.up),l.KVO(S.zi2),l.KVO(L.I),l.KVO(S.q8U),l.KVO(S.Icg),l.KVO(s.n1),l.KVO(S.CC_),l.KVO(S.xDS),l.KVO(S.umq),l.KVO(S.Vk6))},u.\u0275prov=l.jDH({token:u,factory:u.\u0275fac,providedIn:"root"}),x})()},93110:(xe,de,t)=>{"use strict";t.d(de,{Y:()=>M,E:()=>u});var e=t(35146),n=t(91384),E=t(99047),O=t(8619),B=t(75707),P=t(26875),k=t(33367),U=t(37543),r=t(19061),A=t(83168),l=t(47766),I=t(58527),S=t(52619),L=t(56416),s=t(74150);const M="gameChange";let u=(()=>{var x;class p{constructor(o,_,f,J,a,D,te,N,z,R,v,h){var W;this.streamerManagerService=f,this.nativeEventService=J,this.bridgeService=a,this.imageFormatService=D,this.streamingService=te,this.relaunchGameService=N,this.streamerConfigService=z,this.titleService=R,this.gameLaunchAnalyticsService=v,this.lcarsService=h,this.isPreviousGameChangeDialogOpen=!1,this.isGameLaunchEventPresent=!1,this.tvMode=!1,this.logger=o.getLogger("gfn/game-change"),this.tvMode=!(null==_||null===(W=_.featureEnablement)||void 0===W||!W.tvMode)}initiateStreamingUi(){this.streamerManagerService.register(A.H.Streaming,{callbackContext:this,onStateBegin:this.onStreamingBegin,onStateEnd:this.onStreamingEnd},A.$R.Quit),this.registerGameLaunchEvents(),this.registerForegroundEvent()}completePendingGameChange(o){if(o){(0,P.isNil)(this.pendingNewUrlRoute)&&this.logger.error("Cannot complete pending game launch, dont have a pending new url route"),this.logger.info("Game change, Restart cmd args: ","--url-route="+this.pendingNewUrlRoute);const _=this.pendingNewUrlRoute;this.gameLaunchAnalyticsService.updateGameLaunchChangeMetadata(),this.hideGameChangeDialog(),this.streamingService.stopStreaming().pipe((0,n.M)(f=>{f&&(this.logger.info("Streaming stopped succesfully for game change"),this.titleService.setTitle(U.Mm1),this.streamerManagerService.restoreWindow(),this.relaunchGameService.relaunchNewGame(_))})).subscribe()}else this.logger.info("hideGameChangeDialog"),this.gameLaunchAnalyticsService.resetGameLaunchMetadata(!0),this.hideGameChangeDialog()}registerForegroundEvent(){this.nativeEventService.get$(l.D4.ForegroundEvent,l.Jm.Types.HandlerEventType.StructuredWindowEvent).subscribe(()=>{this.isGameLaunchEventPresent||this.requestUserAttention(),this.isGameLaunchEventPresent=!1},o=>{this.logger.error("Received error for Foreground window event: ",o),this.isGameLaunchEventPresent=!1})}registerGameLaunchEvents(){this.nativeEventService.get$(l.D4.RouteChange,l.Jm.Types.HandlerEventType.StructuredWindowEvent).subscribe(o=>{this.isGameLaunchEventPresent=!0,this.checkToShowGameChangeDialog(o)},o=>{this.logger.error("Received error for game change window event: ",o)})}onStreamingBegin(o){this.isInStreamingState=!0,this.uiHandle=o.handle}checkToShowGameChangeDialog(o){try{const _=JSON.parse(o);if(this.logger.info("Received game change data: ",_),(0,P.isNil)(_)||(0,P.isNil)(_["current-route"])||(0,P.isNil)(_["new-route"]))return void this.logger.error("Invalid game change data given, ignoring");this.isInStreamingState?(this.logger.info("Game is already streaming. Handle game change dialog"),this.handleGameChange(_)):(this.logger.info("Game is not streaming, requesting focus"),this.requestUserAttention())}catch(_){this.logger.error(`Game change data failed JSON parsing. Error: ${_} | Game change string: ${o}`)}}onStreamingEnd(){this.isInStreamingState=!1,this.uiHandle&&(this.uiHandle=null),this.showSub&&this.showSub.unsubscribe()}handleGameChange(o){if(o["new-route"].startsWith("oauth/"))return void this.logger.info("Got oauth route message, ignoring");const _=this.streamerConfigService.activeConfig.cmsId;if((0,P.isNil)(_)||0===_)return void this.logger.error("Current cms id not found in url route, ignoring game change");const f=(0,U.MeQ)(o["new-route"],this.logger);if(!(0,P.isNil)(f)&&0!==f)return _===f?(this.logger.info("Ignoring request to launch a second instance of the currently running game"),void this.requestUserAttention()):(this.pendingNewUrlRoute=o["new-route"],void(this.uiHandle?(this.shownUiHandle&&(this.isPreviousGameChangeDialogOpen=!0,this.completePendingGameChange(!1)),this.requestUserAttention(),this.showSub=this.showGameChangeDialog(_,f).subscribe(J=>{this.shownUiHandle=J},J=>{this.logger.error("Error when showing game change dialog: ",J)})):this.logger.error("Unknown error when showing game change dialog")));this.logger.error("New cms id not found in url route, ignoring game change")}requestUserAttention(){this.requestUserAttentionSub=this.bridgeService.executeCommand(k.Ts.Common.Windowcontrol.RequestUserAttention).pipe((0,E.$)()).subscribe()}showGameChangeDialog(o,_){return this.logger.info("ShowGameChangeDialog called"),(0,e.yU)(this.lcarsService.getMetadataByCmsId(o),this.lcarsService.getMetadataByCmsId(_)).pipe((0,O.p)(([f,J])=>!(0,P.isNil)(f)&&!(0,P.isNil)(J)),(0,B.ZZ)(([f,J])=>{const a=this.imageFormatService.formatImageServiceUrl(J.images.KEY_ART,{w:(0,r.A6)(this.tvMode)});return this.uiHandle.show([M,{currentGameName:f.title,newGameName:J.title,newGameIcon:a}])}))}hideGameChangeDialog(){this.logger.info("Inside hideGameChangeDialog: ",this.shownUiHandle),this.shownUiHandle&&(this.shownUiHandle.hide(),this.shownUiHandle=null,this.showSub.unsubscribe(),this.showSub=null,this.isPreviousGameChangeDialogOpen||(this.pendingNewUrlRoute=null),this.isPreviousGameChangeDialogOpen=!1),this.requestUserAttentionSub&&(this.requestUserAttentionSub.unsubscribe(),this.requestUserAttentionSub=null)}}return(x=p).\u0275fac=function(o){return new(o||x)(I.KVO(l.J6),I.KVO(U.Vk6),I.KVO(A.cp),I.KVO(l.dU),I.KVO(l.NZ),I.KVO(l.Pl),I.KVO(S.I),I.KVO(L.y),I.KVO(U.zi2),I.KVO(s.hE),I.KVO(U.$w$),I.KVO(U.Br4))},x.\u0275prov=I.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},12489:(xe,de,t)=>{"use strict";t.d(de,{Qu:()=>n,uB:()=>E});var n=function(O){return O.EditBox="gfnEditBox",O.Unknown="unknown",O}(n||{}),E=function(O){return O.success="Success",O.missing="Missing event",O.invalidjson="Invalid JSON data",O.unknown="Unknown",O}(E||{})},4603:(xe,de,t)=>{"use strict";t.d(de,{o:()=>l});var e=t(80583),n=t(8619),E=t(12489),O=t(37543),B=t(23355),P=t(58527),k=t(47766),U=t(36203),r=t(78812),A=t(50801);let l=(()=>{var I;class S{GfnEventEditbox$(){return this.gfnEventEditboxSubject.asObservable()}constructor(s,M,u,x,p){this.injector=M,this.streamingService=u,this.telemetryService=x,this.projectInterfaceService=p,this.gfnEventEditboxSubject=new e.B7,this.logger=s.getLogger("GfnEventsService"),this.gfnEditboxEventCounter=-1}initialize(){this.logger.info("GfnEvents service init"),this.streamingService.streamingEvent$.pipe((0,n.p)(s=>s.event===B.CW.STREAMING_BEGIN)).subscribe(()=>{this.cmsId=this.streamingService.streamingParams.appId,this.sessionId=this.streamingService.streamingProperties.sessionId,this.subSessionId=this.streamingService.streamingProperties.subSessionId}),this.streamingService.streamingEvent$.pipe((0,n.p)(s=>s.event===B.CW.STREAMING_TERMINATED||s.event===B.CW.STOP_RESULT||s.event===B.CW.STREAMING_STOPPED)).subscribe(()=>{this.gfnEditboxEventCounter=-1}),this.projectInterfaceService.onCustomMessageReceived.subscribe(s=>{(null==s?void 0:s.messageRecipient)===O.gHK.Serenity&&this.parseGfnEvents(null==s?void 0:s.data)})}sendTelemetry(s,M){const u=new O.Nj_({cmsId:this.cmsId.toString(),streamSessionId:this.sessionId,streamSubSessionId:this.subSessionId,eventType:this.getGfnEventType(s),statusDetails:M});this.telemetryService.push(u)}parseGfnEvents(s){this.logger.info("parseGfnEvents",s);try{const M=JSON.parse(s);if((null==M?void 0:M.event)===E.Qu.EditBox){const u=null==M?void 0:M.counter;u&&(-1===this.gfnEditboxEventCounter?this.gfnEditboxEventCounter=u:++this.gfnEditboxEventCounter!==u&&(this.logger.error("Counter mismatch counter: "+u+" gfnEditboxEventCounter: "+this.gfnEditboxEventCounter+" "+s),this.sendTelemetry(E.Qu.EditBox,E.uB.missing),this.gfnEditboxEventCounter=u));const x=null==M?void 0:M.args;if(x){const p=null==x?void 0:x.id;if(p){const i={id:p},o=null==x?void 0:x.Rect;o&&(i.left=o.left,i.top=o.top,i.right=o.right,i.bottom=o.bottom),this.gfnEventEditboxSubject.next(i)}}}}catch{this.logger.error("Invalid JSON",s),this.sendTelemetry(E.Qu.Unknown,E.uB.invalidjson)}}getGfnEventType(s){return s===E.Qu.EditBox?O.MYy.EditBox:O.MYy.EventNone}}return(I=S).\u0275fac=function(s){return new(s||I)(P.KVO(k.J6),P.KVO(P.zZn),P.KVO(U.I),P.KVO(r.H0),P.KVO(A.qQ))},I.\u0275prov=P.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},19458:(xe,de,t)=>{"use strict";t.d(de,{i:()=>u});var e=t(37543),n=t(40996),E=t(83168),O=t(43848),B=t(83915),P=t(75707),k=t(16706),U=t(76449),r=t(27862),A=t(26875),I=t(58527),S=t(47766),L=t(97663),s=t(25167),M=t(36203);let u=(()=>{var x;class p{constructor(o,_,f,J,a,D,te,N,z,R){this.idmService=_,this.gfnSdkService=f,this.streamingManagerService=J,this.networkStatusService=a,this.streamerConfigService=D,this.gameSessionDistributedTracingService=te,this.gameSessionAnalyticsService=N,this.streamingService=z,this.distributedTracingUtilService=R,this.logger=o.getLogger("gfn/streamingJarvisAuth")}initializeStreamingUi(){this.streamingManagerService.register(E.H.Authentication,{callbackContext:this,onStateBegin:this.onStateStarted,onStateEnd:this.onStateEnd})}get hasShownUiHandle(){return!(0,A.isNil)(this.shownUiHandle)}finishJarvisAuthState(){this.shownUiHandle?(this.shownUiHandle.hide(),this.shownUiHandle=null,this.uiHandle.goToNext(),this.uiHandle=null):this.logger.error("finishJarvisAuthState was called while UI was not shown.")}goToErrorCallback(o){var _;this.logger.info("Ui Handle:",this.uiHandle?"valid":"null"),null===(_=this.uiHandle)||void 0===_||_.goToError(o)}onStateStarted(o){this.uiHandle=o.handle,this.streamingService.sessionTerminationListener(this.goToErrorCallback.bind(this));const _=this.gameSessionDistributedTracingService.getCurrentActiveSpan();this.networkStatusService.isOnline?this.gfnSdkService.getAuthInfo().subscribe(f=>{f.authType===n.hT.JWT?(this.gameSessionAnalyticsService.setAuthenticationStatus(r.J.AUTO_LOGIN),this.logger.info("Using JWT auth flow, skipping the user auth check."),this.uiHandle.goToNext(),this.uiHandle=null):this.uiHandleSub=this.idmService.isUserTokenAvailable.pipe((0,B.T)(J=>J&&this.streamerConfigService.activeConfig.launchSource===e.vhU.GeForceNOW||this.gfnSdkService.isThisAGFNSDKSession()&&this.gfnSdkService.isAuthInfoValid(f)),(0,P.ZZ)(J=>(this.distributedTracingUtilService.setSpanAttribute(_,U.NS.SkippedAuthCheck,J),J?(0,O.of)(null):this.uiHandle.show(["login"])))).subscribe(J=>{this.shownUiHandle=J,(0,A.isNil)(J)&&(this.gameSessionAnalyticsService.setAuthenticationStatus(r.J.AUTO_LOGIN),this.logger.info("User is logged in and game is launched from mall. Hence, skipping the auth check"),this.uiHandle.goToNext(),this.uiHandle=null)})}):(this.uiHandle.goToError({errorType:E.A1.GenericError,errorCode:k.gn.NetworkError}),this.uiHandle=null)}onStateEnd(){this.uiHandle=null,this.streamingService.unsubscribeSessionTerminationListener(),this.uiHandleSub&&this.uiHandleSub.unsubscribe()}}return(x=p).\u0275fac=function(o){return new(o||x)(I.KVO(S.J6),I.KVO(e.k_2),I.KVO(n.DL),I.KVO(E.cp),I.KVO(S.CF),I.KVO(e.zi2),I.KVO(L.z),I.KVO(s.s),I.KVO(M.I),I.KVO(U.Z1))},x.\u0275prov=I.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},74639:(xe,de,t)=>{"use strict";t.d(de,{R3:()=>H,cA:()=>e.c,hf:()=>h.h,Ew:()=>B.E,o0:()=>y.o,iT:()=>E.i,ac:()=>X.a,vy:()=>X.v,uw:()=>g,E3:()=>c.E,CE:()=>v,Xw:()=>O.X,vA:()=>ee.vA,pm:()=>ne});var e=t(26900),E=(t(47496),t(19458)),O=t(52612),B=t(93110),P=t(80583),k=t(35146),U=t(43848),r=t(31315),A=t(36466),l=t(75707),I=t(10174),S=t(91384),L=t(99047),s=t(65706),M=t(83915),u=t(14714),x=t(72147),p=t(26875),i=t(83168),o=t(47766),_=t(37543),f=t(84450),J=t(76449),a=t(33367),D=t(58527),te=t(25167),N=t(97663),z=t(44968),R=t(52619);let v=(()=>{var d;class C{constructor(j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be){this.streamingManagerService=le,this.gridService=ge,this.networkTestService=ie,this.serverRoutingService=ce,this.networkConfigurationService=G,this.gameSessionAnalyticsService=ue,this.gameSessionDistributedTracingService=ae,this.applicationLifetimeService=Ce,this.streamingProfileService=Se,this.appConfig=Ne,this.guestModeHelperService=we,this.streamingService=ve,this.bridgeService=Pe,this.distributedUtilService=Oe,this.systemInfoService=Be,this.shutdownHandler=null,this.networkTestUIResult=_.qH9.Unknown,this.logger=j.getLogger("gfn/streamingNetworkTest")}initializeStreamingUi(){this.networkTestService.initialize(),this.streamingManagerService.register(i.H.NetworkTest,{callbackContext:this,onStateBegin:this.onStateStarted,onStateEnd:this.onStateEnd}),this.streamingManagerService.register(i.H.NetworkTest,{callbackContext:this,onStateBegin:this.setUpQuitDialog,onStateEnd:this.cleanUpQuitDialog},i.$R.Quit),this.shutdownHandler=this.applicationLifetimeService.addWorkOnShutdown(()=>this.serverRoutingService.cleanupOnCancel().pipe((0,l.ZZ)(()=>this.networkTestService.cleanupOnCancel()),(0,I.u)(void 0)))}setUpQuitDialog(j){this.quitUIHandle=j.handle,this.quitUIHandle.setExitGuard(()=>this.showQuitDialog())}cleanUpQuitDialog(){this.logger.info("NT is complete, unregistering quit handlers"),this.quitShownUIHandle&&(this.quitShownUIHandle=null,this.completePendingQuit(!0)),this.quitShowSubscription&&this.quitShowSubscription.unsubscribe(),this.requestUserAttentionSub&&this.requestUserAttentionSub.unsubscribe(),this.quitUIHandle=null}requestUserAttention(){this.requestUserAttentionSub&&this.requestUserAttentionSub.unsubscribe(),this.requestUserAttentionSub=this.bridgeService.executeCommand(a.Ts.Common.Windowcontrol.RequestUserAttention).subscribe()}showQuitDialog(){return this.quitSubject&&(this.logger.error("Previous quit subject is not cleaned up"),this.quitSubject.error("showQuitDialog is called again before clean up")),this.quitSubject=new P.B7,this.requestUserAttention(),this.quitShowSubscription=this.quitUIHandle.show(["quitLoading"],{streamerState:i.H.NetworkTest.name}).subscribe(j=>{this.quitShownUIHandle&&this.quitShownUIHandle.hide(),this.quitShownUIHandle=j,this.logger.info("Quit dialog is shown")},j=>{this.logger.error("Received error while trying to show quit dialog: ",j)},()=>{this.quitShowSubscription=null}),this.quitSubject.asObservable().pipe((0,S.M)(j=>{j&&this.logger.info("User has clicked on Quit."),this.hideQuitDialog()}))}hideQuitDialog(){this.quitShownUIHandle&&(this.quitShownUIHandle.hide(),this.quitShownUIHandle=null,this.quitShowSubscription.unsubscribe(),this.quitShowSubscription=null)}completePendingQuit(j){this.quitSubject?(this.logger.info("Completing pending quit with: ",j?"cancel":"quit"),this.quitSubject.next(!j),this.quitSubject.complete(),this.quitSubject=null):this.logger.error("No pending quit to complete")}onStateEnd(){this.logger.info("Unsubscribing all the subscriptions before State End "),this.uiHandle=null,this.streamingService.unsubscribeSessionTerminationListener(),this.networkOverridesSubscription&&this.networkOverridesSubscription.unsubscribe(),this.networkTestCallbacksSubscription&&this.networkTestCallbacksSubscription.unsubscribe()}goToErrorCallback(j){var le;this.logger.info("Ui Handle:",this.uiHandle?"valid":"null"),null===(le=this.uiHandle)||void 0===le||le.goToError(j)}onStateStarted(j){this.uiHandle=j.handle,this.streamingService.sessionTerminationListener(this.goToErrorCallback.bind(this)),this.networkTestUIResult=_.qH9.Unknown,this.networkTestSpan=this.gameSessionDistributedTracingService.getCurrentActiveSpan(),this.networkTestService.setParentSpanForNetworkTest(this.networkTestSpan);const le=this.networkConfigurationService.getNetworkOverride().pipe((0,l.ZZ)(ge=>{(0,p.isNil)(ge)||(this.logger.info("The user selected a zone manually and runNetworkTest is: ",ge.runNetworkTest),this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.NetworkOverridePresent,!0),f.mk.resultHeight=f.qy);const ie=this.isNetworkTestRequired(ge),ce=this.isLbrRequired(ge),G=this.getUpdatedThresholdInfo();return(0,k.yU)(ie,ce,G)}),(0,l.ZZ)(([ge,ie,ce])=>{if(ge||ie)return this.networkTestCallbacks(),this.uiHandle.show(["networkTest"]);if(ce.hasNetworkAnalysisParameterUpdated){this.networkTestCallbacks();const G={networkTestResult:JSON.stringify(ce.updatedNetworkTestResult)};return this.uiHandle.show(["networkTest"],G)}return this.gameSessionAnalyticsService.setNetworkTestUIResult(_.qH9.Skipped),this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.NetworkTestStatus,_.xHf.Skipped),this.gameSessionDistributedTracingService.setAttributeOnGameLaunchSpan(J.NS.NetworkTestStatus,_.xHf.Skipped),(0,U.of)({})}),(0,L.$)());this.networkOverridesSubscription=le.subscribe(ge=>{this.logger.info("shownUiHandle",ge),(0,p.isEmpty)(ge)?(this.logger.info("Skip Network Test and LBR"),this.uiHandle.goToNext()):this.shownUiHandle=ge}),this.subscribeToZoneFromNetworkTestService()}getUpdatedThresholdInfo(){const j={hasNetworkAnalysisParameterUpdated:!1};return o.zk.isBrowserPlatform()?(0,U.of)(j):(0,r.zV)([this.networkTestService.getResolutionForThresholdComparision(),this.networkConfigurationService.getCurrentFingerprintInfo()]).pipe((0,s.s)(1),(0,l.ZZ)(([le,ge])=>{if(null==ge||!ge.networkTestReturn)return(0,U.of)(null);const ie=this.networkTestService.selectThresholdForResolution(ge.networkTestReturn.testResult.thresholds,le);return ie.profile.width!==ge.lastShownThresholdProfile.width||ie.profile.height!==ge.lastShownThresholdProfile.height||ie.profile.frameRate!==ge.lastShownThresholdProfile.frameRate?(this.networkConfigurationService.updateNetworkTestThresholdProfile(ie.profile).subscribe(A.l,A.l),this.networkTestService.analyzeNetworkTestResults(ge.networkTestReturn,ie,!1)):(0,U.of)(null)}),(0,M.T)(le=>le?{hasNetworkAnalysisParameterUpdated:!0,updatedNetworkTestResult:le}:j),(0,u.W)(le=>(this.logger.error("Error while checking for updated threshold",le),(0,U.of)(j))))}subscribeToZoneFromNetworkTestService(){this.networkTestService.zoneName.subscribe(j=>{this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.ZoneName,j.name),this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.ZoneAddress,j.address),this.gameSessionDistributedTracingService.setAttributeOnGameLaunchSpan(J.NS.ZoneName,j.name),this.gameSessionDistributedTracingService.setAttributeOnGameLaunchSpan(J.NS.ZoneAddress,j.address)})}networkTestCallbacks(){this.networkTestCallbacksSubscription=this.networkTestService.networkTestMessages.subscribe(j=>{var le,ge;switch(this.logger.info("Received network test message: ",j,_.b60[null==j||null===(le=j.data)||void 0===le?void 0:le.networkTestStatus]),j.message){case _.Nu3.NetworkTestAutoRunDone:j.data.networkTestStatus===_.b60.Excellent?(this.networkTestUIResult===_.qH9.Unknown&&(this.networkTestUIResult=_.qH9.Passed),this.finishNetworkTestState(),this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.NetworkTestStatus,_.xHf.Passed),this.gameSessionDistributedTracingService.setAttributeOnGameLaunchSpan(J.NS.NetworkTestStatus,_.xHf.Passed),this.networkTestCallbacksSubscription.unsubscribe()):this.networkTestUIResult=_.qH9.DialogShown,this.gameSessionAnalyticsService.setNetworkTestUIResult(this.networkTestUIResult);break;case _.Nu3.NetworkTestClosed:this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.NetworkTestStatus,_.xHf.UserInputPrompted),this.gameSessionDistributedTracingService.setAttributeOnGameLaunchSpan(J.NS.NetworkTestStatus,_.xHf.UserInputPrompted),this.finishNetworkTestState();break;case _.Nu3.NetworkTestClosedOnError:this.isWebRtcNetworkTestEnabled?this.finishNetworkTestState():this.closeStreamerWindow();break;case _.Nu3.NetworkTestFailed:this.gameSessionAnalyticsService.handleGameLaunchFailure({status:j.data.networkTestStatus,errorDetails:j.data.errorDetails});break;case _.Nu3.NetworkTestFailedMissingPlugin:this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.NetworkTestStatus,_.xHf.SkippedDueToMissingPlugin),this.gameSessionDistributedTracingService.setAttributeOnGameLaunchSpan(J.NS.NetworkTestStatus,_.xHf.SkippedDueToMissingPlugin),this.finishNetworkTestState();break;case _.Nu3.NetworkTestAutoRunTryAgain:break;case _.Nu3.LBRAutoRunDone:let ie,ce;this.finishNetworkTestState(),null!==(ge=j.data)&&void 0!==ge&&ge.isLbrRun?(ie=_.xHf.LbrDone,ce=_.qH9.LbrDone):(ie=_.xHf.Skipped,ce=_.qH9.Skipped),this.distributedUtilService.setSpanAttribute(this.networkTestSpan,J.NS.NetworkTestStatus,ie),this.gameSessionDistributedTracingService.setAttributeOnGameLaunchSpan(J.NS.NetworkTestStatus,ie),this.networkTestCallbacksSubscription.unsubscribe(),this.gameSessionAnalyticsService.setNetworkTestUIResult(ce);break;default:this.logger.info("Network test message: default case"),this.finishNetworkTestState()}})}finishNetworkTestState(){this.networkTestService.setNetworkTestExpiryTime().subscribe(),this.shownUiHandle?(this.logger.info("Proceed to next state"),this.shownUiHandle.hide(),this.shownUiHandle=null,this.uiHandle.goToNext(),this.uiHandle=null):this.logger.error("finishNetworkTestState was called while UI was not shown."),this.shutdownHandler&&(this.shutdownHandler.remove(),this.shutdownHandler=null)}closeStreamerWindow(){this.shownUiHandle?(this.shownUiHandle.hide(),this.shownUiHandle=null,this.quitUIHandle.setExitGuard(()=>(0,U.of)(!0)),this.uiHandle.goToDone(),this.uiHandle=null):this.logger.error("closeStreamerWindow was called while UI was not shown.")}isWebrtcNetworkTestRequired(j){return this.networkTestService.webrtcNetworkTestEnabled.pipe((0,x.n)(le=>le.showUI?this.networkTestService.isWebrtcNetworkTestRequired(j):(0,U.of)(!1)))}isNetworkTestRequired(j){var le,ge;if(null!==(le=this.appConfig.featureEnablement)&&void 0!==le&&le.disablePreStreamNetworkTest||this.guestModeHelperService.isGuestMode&&(null===(ge=this.guestModeHelperService.getGuestModeConfig())||void 0===ge||!ge.isNetworkTestEnabled))return(0,U.of)(!1);let ie;return o.zk.isBrowserPlatform()?ie=this.isWebrtcNetworkTestRequired(j):(0,p.isNil)(j)||!j.runNetworkTest?ie=this.networkTestService.shouldNetworkTestRun().pipe((0,l.ZZ)(ce=>ce?(0,U.of)(!0):this.isMaxDisplayRequired().pipe((0,S.M)(G=>{G&&(this.logger.info("Max display is required, hence run network test"),this.networkTestService.setRetriggerPolicy(_.ZpH.MaxDisplayRequired))})))):(this.logger.info("Override zone has been set, hence run network test"),this.networkTestService.setRetriggerPolicy(_.ZpH.OverrideFlagSet),ie=(0,U.of)(j.runNetworkTest)),ie.pipe((0,S.M)(ce=>{this.networkTestService.isNetworkTestRequired=ce,this.logger.info(`Network test will ${ce?"":"not "}be run.`)}))}isLbrRequired(j){var le;if(null!==(le=this.appConfig.featureEnablement)&&void 0!==le&&le.disablePreStreamNetworkTest)return(0,U.of)(!1);let ge;return ge=(0,p.isNil)(j)&&o.zk.isNativeLikePlatform()?this.gridService.zoneList$.pipe((0,u.W)(ie=>(this.logger.error("error to get zone list from server: ",ie),(0,U.of)({}))),(0,x.n)(ie=>this.serverRoutingService.shouldLbrRun(ie))):o.zk.isNativeLikePlatform()?this.networkConfigurationService.getCurrentCachedLatencies().pipe((0,M.T)(ie=>!!(0,p.isNil)(ie))):(0,U.of)(!1),ge.pipe((0,S.M)(ie=>{this.serverRoutingService.isLbrRequired=ie,this.logger.info(`LBR will ${ie?"":"not "}be run.`)}))}isMaxDisplayRequired(){const j=this.systemInfoService.getSystemInfo([o.Lu.Network]).pipe((0,s.s)(1),(0,M.T)(ce=>ce.Network)),le=this.networkConfigurationService.getCurrentFingerprintMaxDisplay(),ge=this.streamingProfileService.getPrimaryDisplayResolution(),ie=this.streamingProfileService.getStreamingProfileName();return(0,r.zV)([j,le,ge,ie]).pipe((0,s.s)(1),(0,l.ZZ)(([ce,G,ue,ae])=>{const Ce=G,Se=ue;return(0,p.isNil)(ce)||!this.appConfig.featureEnablement.dynamicStreamingResolution||ae!==_.SBM.Balanced||ce.NetworkType===o.Sd.WiFi2_4?(0,U.of)(!1):(0,p.isNil)(Ce)?(0,U.of)(!0):this.streamingProfileService.getAvailableResolutionList().pipe((0,M.T)(Ne=>{let we=Se.width/Se.height,ve=!1;for(const Oe of Ne)if(we===Oe.width/Oe.height){ve=!0;break}ve||(we=16/9);const Pe=we!==Ce.width/Ce.height;return Pe&&this.streamingProfileService.clearCachedStreamingProfile(),Pe}))}))}}return(d=C).\u0275fac=function(j){return new(j||d)(D.KVO(o.J6),D.KVO(i.cp),D.KVO(_.Gip),D.KVO(_.qIF),D.KVO(_.bo5),D.KVO(_.uUB),D.KVO(te.s),D.KVO(N.z),D.KVO(z.lM),D.KVO(_.xfC),D.KVO(_.Vk6),D.KVO(_.xDS),D.KVO(R.I),D.KVO(o.NZ),D.KVO(J.Z1),D.KVO(o.zW))},d.\u0275prov=D.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),C})();var h=t(66968),W=t(61142);let ne=(()=>{var d;class C{constructor(j,le,ge,ie,ce,G,ue,ae){this.streamingManagerService=le,this.updateService=ge,this.streamerConfigService=ie,this.location=ce,this.gfnSwUpdateService=G,this.streamingService=ue,this.deeplinkHelperService=ae,this.logger=j.getLogger("gfn/streamingUpdateCheck")}initializeStreamingUi(){this.streamingManagerService.register(i.H.UpdateCheck,{callbackContext:this,onStateBegin:this.onStateStarted,onStateEnd:this.onStateEnd}),this.currentStateSubscription&&(this.currentStateSubscription.unsubscribe(),this.currentStateSubscription=null),this.currentStateSubscription=this.streamingManagerService.getCurrentStateChanges().subscribe(le=>{this.logger.info("streaming state change: ",le),this.currentState=le})}finishUpdateCheckState(){this.shownUiHandle?(this.shownUiHandle.hide(),this.shownUiHandle=null,this.uiHandle.goToNext(),this.uiHandle=null):this.logger.error("finishUpdateCheckState was called while UI was not shown.")}goToErrorCallback(j){var le;this.logger.info("Ui Handle:",this.uiHandle?"valid":"null"),null===(le=this.uiHandle)||void 0===le||le.goToError(j)}onStateStarted(j){this.uiHandle=j.handle,this.streamingService.sessionTerminationListener(this.goToErrorCallback.bind(this)),o.zk.isBrowserPlatform()?this.handleBrowserUpdate():this.uiHandle.goToNext()}handleBrowserUpdate(){this.gfnSwUpdateService.isFirstInstallation()?(this.logger.info("First Installation, skipping update check"),this.uiHandle.goToNext()):this.browserUpdateCheckSubscription=this.gfnSwUpdateService.checkForUpdates().pipe((0,x.n)(j=>j.updateAvailable?(this.logger.info("Update was installed. Will request service worker to activate",j),this.updateService.appendUpdateData({updateFromJS:!0,updateFromStreamer:!0})):(this.logger.info("No update available."),(0,U.of)(!1))),(0,l.ZZ)(j=>{if(j&&this.deeplinkHelperService.allowApplicationReload()){const le=(0,_.IQP)(this.streamerConfigService.activeConfig);return this.location.replaceState(le),this.gfnSwUpdateService.activateServiceWorker()}return(0,U.of)(!1)}),(0,l.ZZ)(j=>j?this.gfnSwUpdateService.swActivationTimedOutNotification:(0,U.of)(!1))).subscribe(j=>{j?this.logger.info("Activation requested. Will reload in a moment..."):(this.logger.info("Moving to next state."),this.uiHandle.goToNext())},j=>{this.logger.error("Failed to check for update",j),this.currentState===i.H.UpdateCheck&&this.uiHandle.goToNext()})}onStateEnd(){this.logger.info("Unsubscribing all the subscriptions before State End"),this.uiHandle=null,this.streamingService.unsubscribeSessionTerminationListener(),this.uiHandleSub&&(this.uiHandleSub.unsubscribe(),this.uiHandleSub=null),this.browserUpdateCheckSubscription&&this.browserUpdateCheckSubscription.unsubscribe()}}return(d=C).\u0275fac=function(j){return new(j||d)(D.KVO(o.J6),D.KVO(i.cp),D.KVO(_.HoT),D.KVO(_.zi2),D.KVO(W.aZ),D.KVO(_.BSK),D.KVO(R.I),D.KVO(_.wCY))},d.\u0275prov=D.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),C})();var ee=t(54335),b=t(26513),w=t(53461),F=t(55833),Z=t(8619),se=t(26814),Y=t(23355),q=t(78812),T=t(8789);let H=(()=>{var d;class C{get imeInputInProgress(){return this.imeOpened.value}get imeOpened$(){return this.imeOpened.asObservable()}get imeInputAction$(){return this.imeInputActionSubject.asObservable()}get imeInputTextVisible$(){return this.imeInputTextVisibleSubject.asObservable()}constructor(j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne){var we,ve;this.configuration=ge,this.streamingService=ie,this.telemetryService=ce,this.streamerManagerService=G,this.bridgeService=ue,this.experienceControl=ae,this.keyboardLayoutService=Ce,this.networkStatusService=Se,this.appConfig=Ne,this.activeUiHandle=null,this.imeEnabled=!1,this.imeOpened=new b.t(!1),this.imeInputActionSubject=new P.B7,this.imeInputTextVisibleSubject=new P.B7,this.logger=le.getLogger("ClientImeLoaderService"),this.mobileMode=!(null===(we=this.appConfig)||void 0===we||null===(we=we.featureEnablement)||void 0===we||!we.mobileMode),this.tvMode=!(null===(ve=this.appConfig)||void 0===ve||null===(ve=ve.featureEnablement)||void 0===ve||!ve.tvMode),this.isImeConfigEnabled$=(0,U.of)(ge.featureEnablement.clientIME).pipe((0,x.n)(Pe=>Pe&&this.mobileMode?j.accountStatusChanged.pipe((0,x.n)(Oe=>this.queryGxTargetForBrowserClientIME(Oe)),(0,w.F)()):(0,U.of)(Pe)),(0,F.t)(1)),this.isImeEnabled$=(0,r.zV)([this.isImeConfigEnabled$,this.networkStatusService.onlineStatusChanged]).pipe((0,x.n)(([Pe,Oe])=>{var Be;return this.logger.info("Client IME support changes to",Pe?"supported":"unsupported"),Oe?this.mobileMode||this.tvMode||null!==(Be=this.appConfig)&&void 0!==Be&&null!==(Be=Be.featureEnablement)&&void 0!==Be&&Be.clientImeWithoutKbSupport?(0,U.of)(Pe):o.zk.isBrowserPlatform()?this.keyboardLayoutService.readCachedKeyboardLayout().pipe((0,x.n)(tt=>{var Ee;return this.logger.info("Keyboard layout cache read response: ",tt),tt&&Object.keys(tt).length>0?(0,U.of)(null==tt||null===(Ee=tt.params)||void 0===Ee?void 0:Ee.isOtherLayout):(0,U.of)(this.keyboardLayoutService.isOtherDefaultLayout)})):(0,r.zV)([this.keyboardLayoutService.getKeyboardLayoutsList(),this.keyboardLayoutService.onKBLayoutChange$,this.keyboardLayoutService.readCachedKeyboardLayout()]).pipe((0,x.n)(([tt,Ee,ot])=>{if((0,p.isNil)(ot)||(0,p.isEmpty)(ot)){const Qe=tt;this.logger.info("kbChanged: ",Ee);const Fe=Qe.find(Xe=>Xe.code===Ee);return(0,U.of)(void 0===Fe)}var We;return(0,U.of)(null===(We=ot.params)||void 0===We?void 0:We.isOtherLayout)})):(this.logger.info("Returning false. isOnline: ",Oe),(0,U.of)(!1))}),(0,u.W)(Pe=>(this.logger.error("Error detected while checking whether the clientIME feature is enabled",Pe),(0,U.of)(!1))))}queryGxTargetForBrowserClientIME(j){var le,ge;const ie=(0,U.of)({userId:null!==(le=null==j?void 0:j.userId)&&void 0!==le?le:"",idpId:null!==(ge=null==j?void 0:j.idpId)&&void 0!==ge?ge:""});return this.experienceControl.getCloudVariable(this.configuration.gxTarget.experiences.isBrowserClientIMESupported,{},void 0,se.Ky.GxTargetGetCloudVariable,se.Id.GetClientIMESupportedConfig,ie).pipe((0,M.T)(ce=>ce.value.isBrowserClientIMESupported),(0,u.W)(ce=>(this.logger.info("Failed to resolve gx-target cloud variable:",ce),(0,U.of)(!1))))}initialize(){this.streamerManagerService.register(i.H.Streaming,{callbackContext:this,onStateBegin:this.onStateBegin,onStateEnd:this.onStateEnd},i.$R.Primary),this.isImeEnabled$.subscribe(le=>{this.logger.info("Cient IME",le?"enabled":"disabled"),this.imeEnabled=le}),this.streamingService.streamingEvent$.pipe((0,Z.p)(le=>le.event===Y.CW.SESSION_SETUP_SUCCESS)).subscribe(le=>{this.sessionStartTime=Date.now()},le=>{this.logger.error("Error encountered while getting session setup time: ",le)})}onStateBegin(j){this.activeUiHandle=j.handle}onStateEnd(){this.activeUiHandle=null,this.imeOpened.next(!1)}initImeInputHandler(j){var le;this.imeEnabled?!1===this.imeInputInProgress&&(null===(le=this.activeUiHandle)||void 0===le||le.show(["input"]).subscribe(ge=>{this.imeOpened.next(!0),this.shownImeInputHandle=ge,this.logger.info("IME window opened");const ie=new _.aa0({streamDuration:0,source:""});ie.parameters.source=j,ie.parameters.streamDuration=Date.now()-this.sessionStartTime,this.telemetryService.push(ie)},ge=>{this.logger.info("Failed to open IME window")})):this.logger.error("Client IME is disabled!")}closeImeInputHandler(){this.shownImeInputHandle.hide(),this.imeOpened.next(!1),this.logger.info("IME window closed")}sendUnicodeInput(j){const ge=(new TextEncoder).encode(j);return this.bridgeService.executeCommand(a.Ts.Gfn.Streaming.SendUnicode,{unicodeInput:ge})}controlImeInput(j){this.imeInputActionSubject.next(j)}emitImeInputTextVisibility(j){this.imeInputTextVisibleSubject.next(j)}}return(d=C).\u0275fac=function(j){return new(j||d)(D.KVO(_.k_2),D.KVO(o.J6),D.KVO(_.Vk6),D.KVO(R.I),D.KVO(q.H0),D.KVO(i.cp),D.KVO(o.NZ),D.KVO(se.BW),D.KVO(T.Fw),D.KVO(o.CF),D.KVO(_.Vk6))},d.\u0275prov=D.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),C})();var y=t(4603),X=t(74701),c=t(72667);let g=(()=>{var d;class C{get isInStreamingPasteEnabled(){return this.isInStreamingPasteEnabled$}get pasteInputInProgress(){return this.inStreamPasteWindowOpened.value}get pasteWindowOpened$(){return this.inStreamPasteWindowOpened.asObservable()}constructor(j,le,ge,ie,ce,G){var ue;this.streamerManagerService=le,this.bridgeService=ge,this.settingsService=ie,this.guestModeHelperService=ce,this.appConfig=G,this.activeUiHandle=null,this.isPasteEnabled=!1,this.inStreamPasteWindowOpened=new b.t(!1),this.logger=j.getLogger("InstreamPasteService"),this.isClipboardConfigEnabled=!(null===(ue=this.appConfig)||void 0===ue||null===(ue=ue.client)||void 0===ue||!ue.needsDialogForInStreamPaste),this.guestModeHelperService.isGuestAppFlow()&&(this.guestModeConfig=this.guestModeHelperService.getGuestModeConfig()),this.isInStreamingPasteEnabled$=this.settingsService.getSettingsData().pipe((0,x.n)(ae=>{var Ce;this.logger.info("Clipboard config value :",this.isClipboardConfigEnabled?"supported":"unsupported"),this.logger.info("Clipboard paste enablement from settings :",null!=ae&&ae.clipboardPaste?"enabled":"disabled");let Se=this.isClipboardConfigEnabled;var Ne;return void 0!==(null===(Ce=this.guestModeConfig)||void 0===Ce||null===(Ce=Ce.igoSettings)||void 0===Ce?void 0:Ce.pasteDefaultOn)&&(Se=Se&&(null===(Ne=this.guestModeConfig)||void 0===Ne||null===(Ne=Ne.igoSettings)||void 0===Ne?void 0:Ne.pasteDefaultOn)),(0,U.of)(Se&&(null==ae?void 0:ae.clipboardPaste))}),(0,u.W)(ae=>(this.logger.error("Failed to fetch paste config: ",ae),(0,U.of)(!1))))}initialize(){this.streamerManagerService.register(i.H.Streaming,{callbackContext:this,onStateBegin:this.onStateBegin,onStateEnd:this.onStateEnd},i.$R.Primary),this.isInStreamingPasteEnabled.subscribe(le=>{this.logger.info("Clipboard Status on Safari Mac ",le?"enabled":"disabled"),this.isPasteEnabled=le})}onStateBegin(j){this.activeUiHandle=j.handle}onStateEnd(){this.activeUiHandle=null,this.inStreamPasteWindowOpened.next(!1)}initPasteInputHandler(){var j;this.isPasteEnabled?!1===this.pasteInputInProgress&&(null===(j=this.activeUiHandle)||void 0===j||j.show(["paste"]).subscribe(le=>{this.inStreamPasteWindowOpened.next(!0),this.shownPasteInputHandle=le,this.logger.info("Paste window opened")},le=>{this.logger.info("Failed to open Paste window")})):this.logger.error("Feature is disabled!")}closeInStreamPasteHandler(){var j;null===(j=this.shownPasteInputHandle)||void 0===j||j.hide(),this.inStreamPasteWindowOpened.next(!1),this.logger.info("Paste window is closed")}sendUnicodeInput(j){const ge=(new TextEncoder).encode(j);return this.bridgeService.executeCommand(a.Ts.Gfn.Streaming.SendUnicode,{unicodeInput:ge})}}return(d=C).\u0275fac=function(j){return new(j||d)(D.KVO(o.J6),D.KVO(i.cp),D.KVO(o.NZ),D.KVO(_.h$Q),D.KVO(_.xDS),D.KVO(_.Vk6))},d.\u0275prov=D.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),C})()},72667:(xe,de,t)=>{"use strict";t.d(de,{E:()=>s});var e=t(3496),n=t(80583),E=t(75707),O=t(55833),B=t(8619),P=t(83915),k=t(91384),U=t(4208),r=t(81406),A=t(23355),l=t(58527),I=t(47766),S=t(36203),L=t(37543);let s=(()=>{var M;class u{get qualityInfo$(){return(0,e.O)(this.appConfig.networkIndicators.initializationDelay).pipe((0,E.ZZ)(()=>this.quality$),(0,O.t)(1))}constructor(p,i,o){this.streamingService=i,this.appConfig=o,this.quality$=new n.B7,this.logger=p.getLogger("gfn/NetworkBarsUiService")}initializeStreamingUi(){this.logger.info("initializeStreamingUi");const p=this.streamingService.streamingEvent$.pipe((0,B.p)(i=>i.event===A.CW.STREAMING_QUALITY),(0,P.T)(i=>i));this.terminated$=this.streamingService.streamingEvent$.pipe((0,B.p)(i=>i.event===A.CW.STREAMING_TERMINATED||i.event===A.CW.STREAMING_STOPPED),(0,P.T)(i=>i),(0,k.M)(i=>this.logger.info("got terminated event"))),this.onFrameLossWarning=this.streamingService.streamingEvent$.pipe((0,B.p)(i=>i.event===A.CW.STREAMING_FRAME_LOSS_WARNING),(0,k.M)(i=>this.logger.info("got onFrameLossWarning event",i))),this.onFrameLossCleared=this.streamingService.streamingEvent$.pipe((0,B.p)(i=>i.event===A.CW.STREAMING_FRAME_LOSS_CLEARED),(0,k.M)(i=>this.logger.info("got onFrameLossCleared event",i))),this.onStreamingFirstFrame=this.streamingService.streamingEvent$.pipe((0,B.p)(i=>i.event===A.CW.STREAMING_FIRST_FRAME),(0,k.M)(i=>this.logger.info("got onStreamingFirstFrame event",i))),p.pipe((0,U.Q)(this.terminated$),(0,r.u)()).subscribe(i=>this.quality$.next(i),i=>this.logger.error("subscribe failed",i))}}return(M=u).\u0275fac=function(p){return new(p||M)(l.KVO(I.J6),l.KVO(S.I),l.KVO(L.Vk6))},M.\u0275prov=l.jDH({token:M,factory:M.\u0275fac,providedIn:"root"}),u})()},52612:(xe,de,t)=>{"use strict";t.d(de,{X:()=>k});var e=t(83168),n=t(78812),E=t(37543),O=t(58527),B=t(47766),P=t(52619);let k=(()=>{var U;class r{constructor(l,I,S,L,s){this.streamingManagerService=I,this.userConsentService=S,this.streamerConfigService=L,this.streamingService=s,this.logger=l.getLogger("gfn/streamingOobe")}initializeStreamingUi(){this.streamingManagerService.register(e.H.PreStreaming,{callbackContext:this,onStateBegin:this.onStateStarted,onStateEnd:this.onStateEnd})}setDefaultConsents(){this.userConsentService.setDefaultConsentData(n.bC).subscribe()}finishOobeState(){this.shownUiHandle?(this.shownUiHandle.hide(),this.shownUiHandle=null,this.uiHandle.goToNext(),this.uiHandle=null,this.setDefaultConsents()):this.logger.error("finishOobeUIState was called while UI was not shown.")}goToErrorCallback(l){var I;this.logger.info("Ui Handle:",this.uiHandle?"valid":"null"),null===(I=this.uiHandle)||void 0===I||I.goToError(l)}onStateStarted(l){this.uiHandle=l.handle,this.streamingService.sessionTerminationListener(this.goToErrorCallback.bind(this)),this.streamerConfigService.activeConfig.launchSource===E.vhU.GeForceNOW?(this.logger.info("Skipping oobe stage"),this.uiHandle.goToNext(),this.uiHandle=null,this.setDefaultConsents()):this.uiHandleSub=this.uiHandle.show(["oobe"]).subscribe(I=>{this.shownUiHandle=I})}onStateEnd(){this.uiHandle=null,this.streamingService.unsubscribeSessionTerminationListener(),this.uiHandleSub&&this.uiHandleSub.unsubscribe()}setAnonymousUser(l){this.anonymousUser=l}isAnonymousUser(){return this.anonymousUser}}return(U=r).\u0275fac=function(l){return new(l||U)(O.KVO(B.J6),O.KVO(e.cp),O.KVO(E.FX3),O.KVO(E.zi2),O.KVO(P.I))},U.\u0275prov=O.jDH({token:U,factory:U.\u0275fac,providedIn:"root"}),r})()},54335:(xe,de,t)=>{"use strict";t.d(de,{Jp:()=>L,lE:()=>S,vA:()=>s});var e=t(26513),n=t(8619),E=t(99047),O=t(43615),B=t(33367),P=t(83168),k=t(23355),U=t(58527),r=t(47766),A=t(36203),l=t(37543),I=t(6485);const S="streamingReconnect";var L=function(M){return M[M.RECONNECTING=0]="RECONNECTING",M[M.STOP=1]="STOP",M}(L||{});let s=(()=>{var M;class u{constructor(p,i,o,_,f,J){this.streamerManagerService=i,this.bridgeService=o,this.streamingService=_,this.playtestLiveService=f,this.postSessionConnectionService=J,this.dialogStateSub=new e.t(L.RECONNECTING),this.logger=p.getLogger("gfn/streaming-reconnect")}get dialogState$(){return this.dialogStateSub.asObservable()}initiateStreamingUi(){this.streamerManagerService.register(P.H.Streaming,{callbackContext:this,onStateBegin:this.onStreamingBegin,onStateEnd:this.onStreamingEnd},P.$R.Quit)}onStreamingBegin(p){this.uiHandle=p.handle,this.terminatedSub=this.streamingService.streamingEvent$.pipe((0,n.p)(i=>i.event===k.CW.STREAMING_TERMINATED||i.event===k.CW.STREAMING_STOPPED)).subscribe(i=>{if(i.reason===k.fZ.NVB_SN_INIT_FAILED_DUE_TO_SYSTEM_SLEEP||i.reason===k.fZ.NVB_SN_PAUSED_DUE_TO_SYSTEM_SLEEP){var o;const _=new P.Tw(i);null===(o=this.uiHandle)||void 0===o||o.goToError(_)}else this.dialogStateSub.next(L.STOP)}),this.streamingConnectionSub=this.streamingService.connectivityEvent$.subscribe(i=>{this.onConnectionEvent(i)})}onConnectionEvent(p){switch(this.logger.info("received connectivity event: ",p),p.event){case k.JY.STREAMING_CONNECTION_LOST:this.onLoseConnection(),this.postSessionConnectionService.skipPostSessionTips=!1;break;case k.JY.STREAMING_CONNECTION_FOUND:this.onGainConnection(),this.postSessionConnectionService.skipPostSessionTips=!0}}onLoseConnection(){var p;this.playtestLiveService.skipReconnect()?(this.streamingService.terminateConnectivityAutoResume(),null===(p=this.uiHandle)||void 0===p||p.goToNext()):this.shownUiHandle||(this.logger.info("Show lost connection dialog"),this.requestUserAttention(),this.showDialog())}onGainConnection(){this.shownUiHandle&&(this.logger.info("Exit lost connection dialog"),this.toggleDialog(!1))}showDialog(){this.uiHandle.show([S]).subscribe(p=>{this.shownUiHandle=p,this.dialogStateSub.next(L.RECONNECTING)})}onStreamingEnd(){var p,i;this.logger.info("on streaming reconnect service end"),null===(p=this.streamingConnectionSub)||void 0===p||p.unsubscribe(),null===(i=this.terminatedSub)||void 0===i||i.unsubscribe(),this.uiHandle=null,this.shownUiHandle=null}requestUserAttention(){this.bridgeService.executeCommand(B.Ts.Common.Windowcontrol.RequestUserAttention).pipe((0,E.$)()).subscribe()}toggleDialog(p){if(p)if(this.logger.info("Terminating auto resume."),this.streamingService.terminateConnectivityAutoResume(),this.streamingService.isSessionResumable())this.logger.info("Session is resumable calling stop streaming"),this.streamingService.stopStreaming().pipe((0,O.j)(()=>{var o;null===(o=this.uiHandle)||void 0===o||o.goToNext()})).subscribe(o=>{this.logger.info("calling stopStreaming. result: ",o)});else{var i;null===(i=this.uiHandle)||void 0===i||i.goToNext()}else p||this.shownUiHandle&&(this.shownUiHandle.hide(),this.shownUiHandle=null)}}return(M=u).\u0275fac=function(p){return new(p||M)(U.KVO(r.J6),U.KVO(P.cp),U.KVO(r.NZ),U.KVO(A.I),U.KVO(l.CC_),U.KVO(I.S))},M.\u0275prov=U.jDH({token:M,factory:M.\u0275fac,providedIn:"root"}),u})()},83168:(xe,de,t)=>{"use strict";t.d(de,{$R:()=>n.$R,A1:()=>n.A1,CT:()=>n.CT,H:()=>n.H,OH:()=>n.OH,Tw:()=>n.Tw,ZR:()=>n.ZR,cp:()=>e.c});var e=t(76175),n=t(93697)},76175:(xe,de,t)=>{"use strict";t.d(de,{c:()=>h});var e=t(43848),n=t(80583),E=t(26513),O=t(63997),B=t(31315),P=t(17053),k=t(75707),U=t(91384),r=t(83915),A=t(99047),l=t(43615),I=t(55833),S=t(26875),L=t(47766),s=t(44968),M=t(33367),u=t(37543),x=t(93697);class p{constructor(ne){this.callbacks=ne,this.callbacks.onStateBegin=this.callbacks.onStateBegin.bind(this.callbacks.callbackContext),this.callbacks.onStateEnd&&(this.callbacks.onStateEnd=this.callbacks.onStateEnd.bind(this.callbacks.callbackContext)),this.callbacks.onResumableError&&(this.callbacks.onResumableError=this.callbacks.onResumableError.bind(this.callbacks.callbackContext)),this.callbacks.onTerminalError&&(this.callbacks.onTerminalError=this.callbacks.onTerminalError.bind(this.callbacks.callbackContext))}begin(ne){this.callbacks.onStateBegin(ne)}end(){this.callbacks.onStateEnd&&this.callbacks.onStateEnd()}resumableError(ne){this.callbacks.onResumableError&&this.callbacks.onResumableError(ne)}terminalError(ne){this.callbacks.onTerminalError&&this.callbacks.onTerminalError(ne)}}class i{constructor(ne,ee){this.parent=ne,this.id=ee,this.hidden=!1}hide(){if(this.hidden)throw new Error("Cannot hide UI that has already been hidden");this.hidden=!0,this.parent.hide(this.id)}}const _={path:[x.CT],id:0},f={x:0,y:0,w:0,h:0};var J=t(81873),a=t(16706),D=t(70521),te=t(58527),N=t(61142),z=t(50801),R=t(76449);const v=()=>(0,e.of)(!0);let h=(()=>{var W;class ne{constructor(b,w,F,Z,se,Y,q,T,H,y,X,c,g,d,C,Q,j,le,ge,ie){this.loggingService=b,this.bridgeService=w,this.routerService=F,this.location=se,this.applicationLifetimeService=Y,this.streamerConfigService=q,this.gfcHelperService=T,this.gameShareUrlService=H,this.streamingProfileService=y,this.ownershipSyncService=X,this.projectInterfaceService=c,this.redirectService=g,this.serviceWorkerService=d,this.gfnSwUpdateService=C,this.notificationUiService=Q,this.deeplinkHelperService=j,this.guestModeHelperService=le,this.ecommerceService=ge,this.distributedTracingUtilService=ie,this.restrictedStates=[x.H.Init,x.H.Done],this.pathSegments=[],this.exitStreamerNotify$=new n.B7,this.logger=this.loggingService.getLogger("gfn/StreamerManagerService"),this.nextShowIdNumber=1,this.currentState=x.H.Init,this.currentStateChange$=new E.t(this.currentState),this.stateRegistrations=new Map,this.currentViewStacks=new Map,this.stateMachineConnections=new Map,this.stateMachineConnections.set(x.H.Init,x.H.UpdateCheck),this.stateMachineConnections.set(x.H.UpdateCheck,x.H.PreStreaming),this.stateMachineConnections.set(x.H.PreStreaming,x.H.BrowserSupportCheck),this.stateMachineConnections.set(x.H.BrowserSupportCheck,x.H.PermissionsBarrier),this.stateMachineConnections.set(x.H.PermissionsBarrier,x.H.Authentication),this.stateMachineConnections.set(x.H.Authentication,x.H.PlatformSelection),this.stateMachineConnections.set(x.H.PlatformSelection,x.H.AccountLinking),this.stateMachineConnections.set(x.H.AccountLinking,x.H.Authorization),this.stateMachineConnections.set(x.H.Authorization,x.H.NetworkTest),this.stateMachineConnections.set(x.H.NetworkTest,x.H.Loading),this.stateMachineConnections.set(x.H.Loading,x.H.Streaming),this.stateMachineConnections.set(x.H.Streaming,x.H.PostSessionConnection),this.stateMachineConnections.set(x.H.PostSessionConnection,x.H.PostStreaming),this.stateMachineConnections.set(x.H.PostStreaming,x.H.Done),this.stateMachineConnections.set(x.H.ResumableError,x.H.Loading),this.lastWindowSize=null,this.defaultOsrHandler=Z.createOsrHandler("StreamerManagerService"),this.pathSegments=u.V6C.StreamerRoot.split("/"),this.projectInterfaceService.setExitStreamerCallBack(this.exitStreamer.bind(this))}register(b,w,F=x.$R.Primary){b.supportedRouterTags.includes(F)||this.logAndThrowError("Router tag "+F+" is not supported in state "+b.name),(0,S.includes)(this.restrictedStates,b)&&this.logAndThrowError("Cannot register handler for state "+b+" as it is a restricted state"),this.currentState===x.H.Init?(this.stateRegistrations.has(b)||this.stateRegistrations.set(b,[]),this.stateRegistrations.get(b).push({callbacks:new p(w),handle:new ne.InternalUIHandleImpl(this,b,F,this.loggingService),tag:F})):this.logAndThrowError("Cannot register new UI handlers after the Streamer state machine has begun")}initiateStreamer(){this.inActiveState()&&this.logAndThrowError(`InitiateStreamer called in illegal state ${this.currentState.name}`),this.currentState===x.H.Done&&(this.exitCurrentState(),this.enterState(x.H.Init)),0!==this.streamerConfigService.activeConfig.cmsId||this.streamerConfigService.activeConfig.parentGameId?(this.currentStateChangeSubscription||(this.currentStateChangeSubscription=this.getCurrentStateChanges().pipe((0,k.ZZ)(b=>(this.logger.info("UpdateStreamerStatus with state",null==b?void 0:b.name),this.bridgeService.executeCommand(M.Ts.Gfn.Gfnsdkhost.UpdateStreamerStatus,{status:b.name})))).subscribe(()=>{},()=>{})),this.shutdownRequestedWorkHandle||(this.shutdownRequestedWorkHandle=this.applicationLifetimeService.addWorkOnShutdownRequested(()=>this.exitStreamer({skipsNavigation:!0}).pipe((0,U.M)(b=>{b&&(this.shutdownRequestedWorkHandle.remove(),this.shutdownRequestedWorkHandle=null)}),(0,r.T)(b=>!b)))),this.shutdownWorkHandle||(this.shutdownWorkHandle=this.applicationLifetimeService.addWorkOnShutdown(()=>(this.inDoneState()||this.goToDone({skipsNavigation:!0}),(0,e.of)(void 0)))),this.advanceState()):this.goToError({errorType:x.A1.GenericError,errorCode:a.gn.ZeroCmsId})}exitStreamer(b){return this.inDoneState()?(0,e.of)(!0):this.exitStreamer$?(this.logger.warn("An exit request is still in progress. New request will not be made."),this.exitStreamer$):(0,O.v)(()=>{const w=this.getCurrentState(),F=this.stateRegistrations.has(w)?this.stateRegistrations.get(w).map(Z=>Z.handle.exitGuard().pipe((0,A.$)())):[(0,e.of)(!0)];return this.exitStreamer$=(0,B.zV)(F).pipe((0,r.T)(Z=>!Z.includes(!1)),(0,U.M)(Z=>{Z&&this.goToDone(b)}),(0,l.j)(()=>{this.exitStreamer$=null}),(0,I.t)({refCount:!1,bufferSize:1})),this.exitStreamer$})}getCurrentState(){return this.currentState}getCurrentStateChanges(){return this.currentStateChange$.asObservable()}inErrorState(){return this.isErrorState(this.currentState)}inTerminalState(){return this.inDoneState()}inDoneState(){return this.currentState===x.H.Done}inActiveState(){return this.currentState!==x.H.Init&&this.currentState!==x.H.Done}updateDefaultOsrState(b,w){if(null==w||b!==w){let F;switch(b){case J.cD.Open:F=this.defaultOsrHandler.open();break;case J.cD.OpenWithInput:F=this.defaultOsrHandler.open(!0);break;case J.cD.Closed:F=this.defaultOsrHandler.close();break;default:this.logger.error("Unrecognized osr state: ",b),F=this.defaultOsrHandler.close()}F.subscribe({next:Z=>{this.logger.info("Updated osr state to: "+Z)},error:Z=>{this.logger.error("Failed to update osr state: "+Z)}})}}exitCurrentState(){this.stateRegistrations.has(this.currentState)&&this.stateRegistrations.get(this.currentState).forEach(b=>{b.handle.disable(),b.callbacks.end()}),this.resetViewStacks()}enterState(b,w){return this.currentState=b,this.logger.info("Entering state: ",b),this.currentStateChange$.next(this.currentState),!(0,S.includes)(this.restrictedStates,b)&&this.stateRegistrations.has(b)?(this.stateRegistrations.get(b).forEach(F=>{const Z={handle:F.handle,data:w};F.handle.enable(),F.callbacks.begin(Z)}),!0):b===x.H.Done&&(this.exit(w),!0)}exit(b){var w,F;null===(w=this.streamerConfigService.activeConfig)||void 0===w||!w.sdkClient||!L.zk.isCefPlatform()||this.guestModeHelperService.isGuestMode&&null!==(F=this.guestModeHelperService.getGuestModeConfig())&&void 0!==F&&F.disableCloseOnStreamExit?(this.streamingProfileService.clearCachedStreamingProfile(),this.notificationUiService.clearNotificationsQueue(),this.deeplinkHelperService.postStreamingCleanUp(),this.ecommerceService.registerIntervalTimer(),this.projectInterfaceService.notifyStreamerFlowExit(),L.zk.isCefPlatform()?this.bridgeService.executeCommand(M.Ts.Gfn.Streaming.Cleanup).pipe((0,l.j)(()=>this.handleExit(b))).subscribe():(this.gfnSwUpdateService.periodicallyCheckForUpdates(),this.handleExit(b))):this.applicationLifetimeService.shutdownApplication(s.pu.ApplicationRequestedExit)}handleExit(b){if(L.zk.isCefPlatform()&&this.restoreWindow(),L.zk.isBrowserPlatform()&&(this.gfcHelperService.terminateRemoteLogSession(),this.serviceWorkerService.postMessageSw({type:D.oY.GameExit})),null==b||!b.skipsNavigation)if(null!=(null==b?void 0:b.exitUrl)||null!=(null==b?void 0:b.exitCommandData))if(null!=b&&b.exitCommandData){var w;this.logger.info("Exit navigation by command:",b.exitCommandData),this.routerService.navigate(b.exitCommandData.commands,null!==(w=b.exitCommandData.options)&&void 0!==w?w:{skipLocationChange:!0})}else{var F;const se=null!==(F=null==b?void 0:b.exitUrl)&&void 0!==F?F:u.V6C.Home;this.logger.info("Exiting to "+se),this.routerService.navigateByUrl(se,{skipLocationChange:!0})}else{this.updateAddressBar();const se=this.gameShareUrlService.getExitUrl();se.includes("http")?(this.logger.info("Clearing session storage before redirect is initiated"),sessionStorage.removeItem("gdnDeeplinkUrl"),this.distributedTracingUtilService.commitAnyPendingSpans().subscribe(()=>{this.logger.info("Redirecting to Partner URL"),this.redirectService.redirectToExternalUrl(se,{replace:!0})})):this.routerService.navigateByUrl(se,{skipLocationChange:!0})}}updateAddressBar(){this.logger.info(`UpdateAddressBar called. Current Streamer State: ${this.currentState.name}`),this.gameShareUrlService.setShareUrlInAddressBar()}enterErrorState(b,w){return this.isErrorState(b)||this.logAndThrowError("enterErrorState called with a non-error state: "+b.name),this.logger.info("Advancing to error state: ",b.name),this.currentState=b,this.currentStateChange$.next(this.currentState),!!this.stateRegistrations.has(b)&&(this.stateRegistrations.get(b).forEach(F=>{const Z={handle:F.handle,errorUIHandle:F.handle,data:w};F.handle.enable(),F.callbacks.begin(Z)}),!0)}advanceState(){if(this.inTerminalState())this.logger.info("Not advancing from terminal state: "+this.currentState.name);else if(this.stateMachineConnections.has(this.currentState)){const b=this.stateMachineConnections.get(this.currentState);this.updateDefaultOsrState(b.defaultOsrState,this.currentState.defaultOsrState),this.exitCurrentState(),this.logger.info("Advancing to state: "+this.stateMachineConnections.get(this.currentState).name),this.enterState(this.stateMachineConnections.get(this.currentState))||(this.logger.info("Skipping state with no registered handlers: "+this.currentState.name),this.advanceState())}else this.logAndThrowError("No state to advance to from state: "+this.currentState.name)}updateDisplays(){this.logger.info("UpdateDisplays called");const b={};this.currentViewStacks.forEach((F,Z)=>{if(F.length>0){const se=F[F.length-1];b[Z]=se.path.slice(),se.data&&b[Z].push(se.data)}});const w=this.routerService.navigate([...this.pathSegments,{outlets:b}],{skipLocationChange:!0});return w.then(()=>{if(this.streamerConfigService.activeConfig.launchSource===u.vhU.GeForceNOW&&L.zk.isBrowserPlatform()){if(this.inDoneState())return void this.location.replaceState(this.gameShareUrlService.getExitUrl());this.updateAddressBar()}}),w}show(b,w,F){this.logger.info(`Show called for routerTag: ${b}, path: ${w}`),this.currentViewStacks.has(b)||this.currentViewStacks.set(b,[_]);const Z=this.nextShowIdNumber++;return this.currentViewStacks.get(b).push({path:w,id:Z,data:F}),new P.c(se=>{this.updateDisplays().then(()=>{se.next(Z)}).catch(Y=>{se.error(Y)})})}hide(b){this.logger.info(`Hide called with id:${b}`),0===b&&this.logAndThrowError("Cannot hide default UI element"),this.currentViewStacks.forEach((w,F)=>{w.forEach((Z,se)=>{if(Z.id===b)return w.splice(se,1),void this.updateDisplays()})})}goToDone(b){this.inDoneState()?this.logger.warn("Already in Done state, no transition to make"):(this.updateDefaultOsrState(x.H.Done.defaultOsrState),this.exitCurrentState(),this.enterState(x.H.Done,b))}goToError(b){(this.inTerminalState()||this.inErrorState())&&this.logAndThrowError("Cannot enter Error state from Error or terminal state: "+this.currentState.name);const w={errorSourceState:this.currentState,errorData:b};this.exitCurrentState(),this.enterErrorState(x.H.Error,w)}goToResumableError(b){this.currentState!==x.H.Error&&this.logAndThrowError("Invalid state to call goToResumableError from: "+this.currentState.name),this.stateRegistrations.forEach((w,F)=>{w.forEach(Z=>{Z.callbacks.resumableError(b)})}),this.exitCurrentState(),this.enterErrorState(x.H.ResumableError,b)}goToTerminalError(b){this.currentState!==x.H.Error&&this.logAndThrowError("Invalid state to call goToTerminalError from: "+this.currentState.name),this.stateRegistrations.forEach((w,F)=>{w.forEach(Z=>{Z.callbacks.terminalError(b)})}),this.exitCurrentState(),this.enterErrorState(x.H.TerminalError,b)}restoreWindow(){this.lastWindowSize?(this.lastWindowSize=null,this.bridgeService.executeCommand(M.Ts.Common.Windowcontrol.RestoreFromFullScreen).subscribe(()=>{})):this.logger.info("Not restoring window as there was no change in size")}fullscreenWindow(){this.lastWindowSize={width:window.innerWidth,height:window.innerHeight},this.logger.info("Fullscreening window"),this.bridgeService.executeCommand(M.Ts.Common.Windowcontrol.Resize,f).subscribe(()=>{})}resetViewStacks(){this.logger.info("Resetting view stacks"),this.currentViewStacks.clear(),this.currentViewStacks.set(x.$R.Primary,[_]),this.currentViewStacks.set(x.$R.Quit,[_]),this.updateDisplays()}isErrorState(b){return b===x.H.Error||b===x.H.ResumableError||b===x.H.TerminalError}logAndThrowError(b){throw this.logger.error(b),new Error(b)}}return(W=ne).InternalUIHandleImpl=class{constructor(ee,b,w,F){this.parent=ee,this.routerTag=w,this.exitGuard=v,this.enabled=!0,this.logger=F.getLogger(["gfn","StreamerManagerService","InternalUIHandle",b.name,w].join("/"))}disable(){this.enabled=!1,this.exitGuard=v}enable(){this.enabled=!0}goToError(ee){this.checkEnabled(),this.parent.goToError(ee)}goToNext(){this.checkEnabled(),this.parent.advanceState()}goToDone(ee){return this.checkEnabled(),this.parent.exitStreamer(ee).toPromise()}goToResumableError(ee){this.checkEnabled(),this.parent.goToResumableError(ee)}goToTerminalError(ee){this.checkEnabled(),this.parent.goToTerminalError(ee)}show(ee,b){return this.checkEnabled(),this.parent.show(this.routerTag,ee,b).pipe((0,r.T)(w=>new i(this,w)))}hide(ee){this.checkEnabled(),this.parent.hide(ee)}restoreWindow(){this.checkEnabled(),this.parent.restoreWindow()}fullscreenWindow(){this.checkEnabled(),this.parent.fullscreenWindow()}setExitGuard(ee){this.checkEnabled(),this.exitGuard=ee}checkEnabled(){if(!this.enabled){const ee="Cannot use a disabled UI handle, likely due to using the handle after the streamer state advanced";throw this.logger.error(ee),new Error(ee)}}},W.\u0275fac=function(b){return new(b||W)(te.KVO(L.J6),te.KVO(L.NZ),te.KVO(u.HMi),te.KVO(J.Gm),te.KVO(N.aZ),te.KVO(s.lM),te.KVO(u.zi2),te.KVO(u.q8U),te.KVO(u.uBn),te.KVO(u.xfC),te.KVO(u.Itz),te.KVO(z.qQ),te.KVO(u.Q5Y),te.KVO(D.lS),te.KVO(u.BSK),te.KVO(u.Pii),te.KVO(u.wCY),te.KVO(u.xDS),te.KVO(u.yJU),te.KVO(R.Z1))},W.\u0275prov=te.jDH({token:W,factory:W.\u0275fac,providedIn:"root"}),ne})()},93697:(xe,de,t)=>{"use strict";t.d(de,{$R:()=>B,A1:()=>P,CT:()=>k,H:()=>S,OH:()=>A,Tw:()=>r,ZR:()=>U,uC:()=>l});var e=t(81873),n=t(23355),E=t(26875),B=function(L){return L.Primary="primary",L.Quit="quit",L.StreamingTimer="streamingTimer",L}(B||{}),P=function(L){return L[L.GenericError=0]="GenericError",L[L.NesAuthError=1]="NesAuthError",L[L.GeronimoError=2]="GeronimoError",L[L.PreStreamGeronimoError=3]="PreStreamGeronimoError",L[L.EntitlementError=4]="EntitlementError",L}(P||{});const k="empty";class U{constructor(s,M){this.errorType=s,this.errorCode=M}}class r extends U{constructor(s){super(P.GeronimoError,r.extractErrorCode(s)),this.errorEventInfo=s}static extractErrorCode(s){return s.event===n.CW.STREAMING_TERMINATED||s.event===n.CW.STREAMING_STOPPED?s.reason:s.result.result}}class A extends U{constructor(s){const M=(0,E.has)(s,"code")?s.code:(0,E.has)(s,"result")?s.result:-1;super(P.PreStreamGeronimoError,M),this.resultInfo=s}}class l extends U{constructor(s){super(P.GenericError,s)}}var S,L;(L=S||(S={})).Init={name:"Init",supportedRouterTags:[],defaultOsrState:e.cD.Closed,enableBackNavigation:!1},L.UpdateCheck={name:"UpdateCheck",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!1},L.PreStreaming={name:"PreStreaming",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.OpenWithInput,enableBackNavigation:!1},L.BrowserSupportCheck={name:"BrowserSupportCheck",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.OpenWithInput,enableBackNavigation:!1},L.PermissionsBarrier={name:"PermissionsBarrier",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.OpenWithInput,enableBackNavigation:!1},L.Authentication={name:"Authentication",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!1},L.Authorization={name:"Authorization",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!0},L.PlatformSelection={name:"PlatformSelection",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!0},L.AccountLinking={name:"AccountLinking",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!0},L.NetworkTest={name:"NetworkTest",supportedRouterTags:[B.Primary,B.Quit],defaultOsrState:e.cD.Open,enableBackNavigation:!0},L.Loading={name:"Loading",supportedRouterTags:[B.Primary,B.Quit],defaultOsrState:e.cD.Open,enableBackNavigation:!0},L.PostSessionConnection={name:"PostSessionConnection",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!1},L.Streaming={name:"Streaming",supportedRouterTags:[B.Primary,B.StreamingTimer,B.Quit],defaultOsrState:e.cD.Closed,enableBackNavigation:!1},L.PostStreaming={name:"PostStreaming",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!1},L.Done={name:"Done",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.OpenWithInput,enableBackNavigation:!1},L.Error={name:"Error",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!1},L.ResumableError={name:"ResumableError",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!1},L.TerminalError={name:"TerminalError",supportedRouterTags:[B.Primary],defaultOsrState:e.cD.Open,enableBackNavigation:!1}},23355:(xe,de,t)=>{"use strict";t.d(de,{CW:()=>B,JY:()=>r,Jt:()=>n,TP:()=>P,XK:()=>L,b5:()=>E,fZ:()=>O,hY:()=>A,o2:()=>k,qF:()=>e});var e=function(s){return s[s.NVB_PROFILE_GAMING=0]="NVB_PROFILE_GAMING",s[s.NVB_PROFILE_PROFESSIONAL=1]="NVB_PROFILE_PROFESSIONAL",s[s.NVB_PROFILE_GAMING_720P_30FPS=2]="NVB_PROFILE_GAMING_720P_30FPS",s[s.NVB_PROFILE_GAMING_720P_60FPS=3]="NVB_PROFILE_GAMING_720P_60FPS",s[s.NVB_PROFILE_GAMING_1080P_30FPS=4]="NVB_PROFILE_GAMING_1080P_30FPS",s[s.NVB_PROFILE_GAMING_1080P_60FPS=5]="NVB_PROFILE_GAMING_1080P_60FPS",s[s.NVB_PROFILE_ROAMING_720P_30FPS=6]="NVB_PROFILE_ROAMING_720P_30FPS",s[s.NVB_PROFILE_ROAMING_720P_60FPS=7]="NVB_PROFILE_ROAMING_720P_60FPS",s}(e||{}),n=function(s){return s[s.NVB_R_UDP_BUFFER_TOO_SMALL=2148204566]="NVB_R_UDP_BUFFER_TOO_SMALL",s[s.NVB_R_FIREWALL_BLOCK=2148016156]="NVB_R_FIREWALL_BLOCK",s[s.NVB_R_WIFI_CONNECTIVITY_ISSUE1=2147745808]="NVB_R_WIFI_CONNECTIVITY_ISSUE1",s[s.NVB_R_WIFI_CONNECTIVITY_ISSUE2=2147745799]="NVB_R_WIFI_CONNECTIVITY_ISSUE2",s[s.NVB_R_WIFI_CONNECTIVITY_ISSUE3=2147745796]="NVB_R_WIFI_CONNECTIVITY_ISSUE3",s[s.VIDEO_DECODER_CREATION_FAILED=67174402]="VIDEO_DECODER_CREATION_FAILED",s[s.VIDEO_DECODER_ERROR_MASK=790289]="VIDEO_DECODER_ERROR_MASK",s[s.NVST_NETERR_CLIENT_DISCONNECT_UNINTENDED_NO_VIDEO_PACKETS_RECENTLY=2147745808]="NVST_NETERR_CLIENT_DISCONNECT_UNINTENDED_NO_VIDEO_PACKETS_RECENTLY",s[s.NVST_DISCONN_SERVER_VFP_PROTECTED_CONTENT=2148438786]="NVST_DISCONN_SERVER_VFP_PROTECTED_CONTENT",s[s.GFNPC_CLIENT_FRAME_LOSS_TIMEOUT_ERROR=3237150722]="GFNPC_CLIENT_FRAME_LOSS_TIMEOUT_ERROR",s[s.GFNPC_CLIENT_SESSION_IN_INITIALIZING_STATE=3237150723]="GFNPC_CLIENT_SESSION_IN_INITIALIZING_STATE",s[s.GFNPC_CLIENT_VIDEO_PLAY_FAIL=3237150724]="GFNPC_CLIENT_VIDEO_PLAY_FAIL",s[s.GFNPC_CLIENT_AUDIO_PLAY_FAIL=3237150725]="GFNPC_CLIENT_AUDIO_PLAY_FAIL",s[s.GFNPC_CLIENT_GAME_LAUNCHED_IN_NEW_TAB=3237150726]="GFNPC_CLIENT_GAME_LAUNCHED_IN_NEW_TAB",s[s.GFNPC_CLIENT_OPPORTUNITY_ABORTED=3237150727]="GFNPC_CLIENT_OPPORTUNITY_ABORTED",s[s.GFNPC_CLIENT_GUESTMODE_SESSION_LIMIT_PER_DEVICE_REACHED=3237093682]="GFNPC_CLIENT_GUESTMODE_SESSION_LIMIT_PER_DEVICE_REACHED",s[s.GUEST_MODE_CAMAPAIGN_DISABLED=3237093705]="GUEST_MODE_CAMAPAIGN_DISABLED",s}(n||{}),E=function(s){return s[s.NVB_R_UNKNOWN=-1]="NVB_R_UNKNOWN",s[s.NVB_R_SUCCESS=0]="NVB_R_SUCCESS",s[s.NVB_R_UNINITIALIZED=1]="NVB_R_UNINITIALIZED",s[s.NVB_R_CALLBACKS_NOT_REGISTERED=2]="NVB_R_CALLBACKS_NOT_REGISTERED",s[s.NVB_R_NOT_SUPPORTED=3]="NVB_R_NOT_SUPPORTED",s[s.NVB_R_VERSION_MISMATCH=4]="NVB_R_VERSION_MISMATCH",s[s.NVB_R_UPGRADE_RECOMMENDED=5]="NVB_R_UPGRADE_RECOMMENDED",s[s.NVB_R_OS_ERROR=6]="NVB_R_OS_ERROR",s[s.NVB_R_INVALID_PARAM=101]="NVB_R_INVALID_PARAM",s[s.NVB_R_INVALID_CLIENT_OBJECT=102]="NVB_R_INVALID_CLIENT_OBJECT",s[s.NVB_R_INVALID_SERVER_NAME=103]="NVB_R_INVALID_SERVER_NAME",s[s.NVB_R_INVALID_PORT_NUMBER=104]="NVB_R_INVALID_PORT_NUMBER",s[s.NVB_R_INVALID_VIDEO_DECODER=105]="NVB_R_INVALID_VIDEO_DECODER",s[s.NVB_R_INVALID_AUDIO_RENDERER=106]="NVB_R_INVALID_AUDIO_RENDERER",s[s.NVB_R_INVALID_AUTH_TYPE=107]="NVB_R_INVALID_AUTH_TYPE",s[s.NVB_R_INVALID_STREAM_SETTINGS=108]="NVB_R_INVALID_STREAM_SETTINGS",s[s.NVB_R_INVALID_CERTIFICATE=109]="NVB_R_INVALID_CERTIFICATE",s[s.NVB_R_INVALID_PRIVATE_KEY=110]="NVB_R_INVALID_PRIVATE_KEY",s[s.NVB_R_INVALID_CERTIFICATE_KEY_PAIR=111]="NVB_R_INVALID_CERTIFICATE_KEY_PAIR",s[s.NVB_R_REINITIALIZE_ERROR=112]="NVB_R_REINITIALIZE_ERROR",s[s.NVB_R_INVALID_PROFILE=113]="NVB_R_INVALID_PROFILE",s[s.NVB_R_INVALID_INPUT_DEVICE=114]="NVB_R_INVALID_INPUT_DEVICE",s[s.NVB_R_INVALID_STATS_OPTION=115]="NVB_R_INVALID_STATS_OPTION",s[s.NVB_R_INVALID_FEATURECONTROL_TYPE=116]="NVB_R_INVALID_FEATURECONTROL_TYPE",s[s.NVB_R_NETWORK_ERROR=151]="NVB_R_NETWORK_ERROR",s[s.NVB_R_SOCKET_ERROR=152]="NVB_R_SOCKET_ERROR",s[s.NVB_R_ADDRESS_RESOLVE_FAILED=153]="NVB_R_ADDRESS_RESOLVE_FAILED",s[s.NVB_R_CONNECT_FAILED=154]="NVB_R_CONNECT_FAILED",s[s.NVB_R_SSL_ERROR=155]="NVB_R_SSL_ERROR",s[s.NVB_R_CONNECTION_TIMEOUT=156]="NVB_R_CONNECTION_TIMEOUT",s[s.NVB_R_DATA_RECEIVE_TIMEOUT=157]="NVB_R_DATA_RECEIVE_TIMEOUT",s[s.NVB_R_PEER_NO_RESPONSE=158]="NVB_R_PEER_NO_RESPONSE",s[s.NVB_R_UNEXPECTED_HTTPREDIRECT=159]="NVB_R_UNEXPECTED_HTTPREDIRECT",s[s.NVB_R_NETWORK_CAPABLE=201]="NVB_R_NETWORK_CAPABLE",s[s.NVB_R_INSUFFICIENT_NETWORK_CAPABILITY=202]="NVB_R_INSUFFICIENT_NETWORK_CAPABILITY",s[s.NVB_R_MINIMUM_NETWORK_CAPABILITY=203]="NVB_R_MINIMUM_NETWORK_CAPABILITY",s[s.NVB_R_BLOCK_STREAM=204]="NVB_R_BLOCK_STREAM",s[s.NVB_R_AUTH_ERR_UNKNOWN=252]="NVB_R_AUTH_ERR_UNKNOWN",s[s.NVB_R_AUTH_ERR_DEFUNCT_TOKEN=253]="NVB_R_AUTH_ERR_DEFUNCT_TOKEN",s[s.NVB_R_AUTH_ERR_UNAUTHORIZED_CLIENT=254]="NVB_R_AUTH_ERR_UNAUTHORIZED_CLIENT",s[s.NVB_R_AUTH_ERR_UNSUPPORTED_PROTOCOL=255]="NVB_R_AUTH_ERR_UNSUPPORTED_PROTOCOL",s[s.NVB_R_AUTH_ERR_UNREACHABLE_AUTH_SERVER=256]="NVB_R_AUTH_ERR_UNREACHABLE_AUTH_SERVER",s[s.NVB_R_AUTH_ERR_UNSUPPORTED_TOKEN_FORMAT=257]="NVB_R_AUTH_ERR_UNSUPPORTED_TOKEN_FORMAT",s[s.NVB_R_AUTH_ERR_TOKEN_NOT_UPDATED=258]="NVB_R_AUTH_ERR_TOKEN_NOT_UPDATED",s[s.NVB_R_SESSION_NOT_ACTIVE=301]="NVB_R_SESSION_NOT_ACTIVE",s[s.NVB_R_SESSION_LIMIT_REACHED=302]="NVB_R_SESSION_LIMIT_REACHED",s[s.NVB_R_INSUFFICIENT_RESOURCES=303]="NVB_R_INSUFFICIENT_RESOURCES",s[s.NVB_R_EULA_NOT_ACCEPTED=304]="NVB_R_EULA_NOT_ACCEPTED",s[s.NVB_R_APP_TITLE_FENCED=305]="NVB_R_APP_TITLE_FENCED",s[s.NVB_R_INVALID_APP_IDENTIFIER=306]="NVB_R_INVALID_APP_IDENTIFIER",s[s.NVB_R_PREFERRED_CONTROLLER_NOT_FOUND=307]="NVB_R_PREFERRED_CONTROLLER_NOT_FOUND",s[s.NVB_R_NO_ACTIVE_SESSION_FOUND=308]="NVB_R_NO_ACTIVE_SESSION_FOUND",s[s.NVB_R_SESSION_NOT_PAUSED=309]="NVB_R_SESSION_NOT_PAUSED",s[s.NVB_R_SESSION_TERMINATED_MULTIPLE_LOGIN=310]="NVB_R_SESSION_TERMINATED_MULTIPLE_LOGIN",s[s.NVB_R_SESSION_TERMINATED_ANOTHER_CLIENT=311]="NVB_R_SESSION_TERMINATED_ANOTHER_CLIENT",s[s.NVB_R_STREAMER_UNINITIALIZED=341]="NVB_R_STREAMER_UNINITIALIZED",s[s.NVB_R_STREAMER_NETWORK_ERROR=342]="NVB_R_STREAMER_NETWORK_ERROR",s[s.NVB_R_STREAMER_CONNECT_FAILED=343]="NVB_R_STREAMER_CONNECT_FAILED",s[s.NVB_R_USER_IS_NOT_ENTITLED=351]="NVB_R_USER_IS_NOT_ENTITLED",s[s.NVB_R_GES_NOT_REACHABLE=352]="NVB_R_GES_NOT_REACHABLE",s[s.NVB_R_USER_NOT_REGISTERED_IN_GES=353]="NVB_R_USER_NOT_REGISTERED_IN_GES",s[s.NVB_R_NO_ENTITLEMENT_TIME_REMAINING=354]="NVB_R_NO_ENTITLEMENT_TIME_REMAINING",s[s.NVB_R_SERVER_ERROR=501]="NVB_R_SERVER_ERROR",s[s.NVB_R_SERVER_OUT_OF_SERVICE=502]="NVB_R_SERVER_OUT_OF_SERVICE",s[s.NVB_R_SEVER_MAINTENANCE_MODE=503]="NVB_R_SEVER_MAINTENANCE_MODE",s[s.NVB_R_INVALID_SERVER_RESPONSE=504]="NVB_R_INVALID_SERVER_RESPONSE",s[s.NVB_R_TOO_MANY_SERVER_REQUESTS=505]="NVB_R_TOO_MANY_SERVER_REQUESTS",s[s.NVB_R_APPLICATION_PATCHING=506]="NVB_R_APPLICATION_PATCHING",s[s.NVB_R_APP_MAINTENANCE_STATUS=3237290296]="NVB_R_APP_MAINTENANCE_STATUS",s[s.NVB_R_REQUIRED_SEAT_INSTANCE_TYPE_NOT_SUPPORTED=3237290301]="NVB_R_REQUIRED_SEAT_INSTANCE_TYPE_NOT_SUPPORTED",s[s.NVB_R_SERVER_SESSION_QUEUE_LENGTH_EXCEEDED=3237290302]="NVB_R_SERVER_SESSION_QUEUE_LENGTH_EXCEEDED",s[s.NVB_R_REGION_NOT_SUPPORTED_FOR_STREAMING=3237290303]="NVB_R_REGION_NOT_SUPPORTED_FOR_STREAMING",s[s.NVB_R_SESSION_GAME_BINARIES_NOT_AVAILABLE_IN_REGION=3237290306]="NVB_R_SESSION_GAME_BINARIES_NOT_AVAILABLE_IN_REGION",s[s.NVB_R_SESSION_IN_QUEUE_ABANDONED=3237093701]="NVB_R_SESSION_IN_QUEUE_ABANDONED",s[s.NVB_R_SESSION_ICE_CONNECTION_FAILED=3237093894]="NVB_R_SESSION_ICE_CONNECTION_FAILED",s[s.NVB_R_SERVER_ERROR_BEGIN=61440]="NVB_R_SERVER_ERROR_BEGIN",s[s.NVB_R_SERVER_ERROR_MAX=553648127]="NVB_R_SERVER_ERROR_MAX",s[s.NVB_R_SESSION_REMOVED_FROM_QUEUE_MAINTENANCE=3237290311]="NVB_R_SESSION_REMOVED_FROM_QUEUE_MAINTENANCE",s[s.NVB_R_ZONE_MAITENANCE_STATUS=3237290312]="NVB_R_ZONE_MAITENANCE_STATUS",s[s.NVB_R_GFN_GAME_NOT_OWNED_BY_USER=15806465]="NVB_R_GFN_GAME_NOT_OWNED_BY_USER",s[s.NVB_R_INSTANCE_TYPE_NOT_SUPPORTED_IN_SINGLE_REGION=3237290315]="NVB_R_INSTANCE_TYPE_NOT_SUPPORTED_IN_SINGLE_REGION",s[s.NVB_R_SESSION_WAITING_ADS_TIME_EXPIRED=3237290319]="NVB_R_SESSION_WAITING_ADS_TIME_EXPIRED",s[s.NVB_R_USER_CANCELED_WATCHING_ADS=3237290320]="NVB_R_USER_CANCELED_WATCHING_ADS",s[s.NVB_R_INSUFFICIENT_PLAYABILITY_LEVEL=3237290326]="NVB_R_INSUFFICIENT_PLAYABILITY_LEVEL",s[s.NVB_R_STREAMING_NOT_ALLOWED_IN_LIMITED_MODE=3237290321]="NVB_R_STREAMING_NOT_ALLOWED_IN_LIMITED_MODE",s}(E||{}),O=function(s){return s[s.NVB_SN_STREAMING_PROPERTIES=0]="NVB_SN_STREAMING_PROPERTIES",s[s.NVB_SN_STREAMER_CONNECTED=1]="NVB_SN_STREAMER_CONNECTED",s[s.NVB_SN_STREAMING_QUALITY_CHANGED=2]="NVB_SN_STREAMING_QUALITY_CHANGED",s[s.NVB_SN_SERVER_INITIATED_PAUSE=3]="NVB_SN_SERVER_INITIATED_PAUSE",s[s.NVB_SN_SERVER_INITIATED_RESUME=4]="NVB_SN_SERVER_INITIATED_RESUME",s[s.NVB_SN_CONTROLLER_MAPPING_CHANGED=5]="NVB_SN_CONTROLLER_MAPPING_CHANGED",s[s.NVB_SN_APPROACHING_IDLE_TIMEOUT=11]="NVB_SN_APPROACHING_IDLE_TIMEOUT",s[s.NVB_SN_APPROACHING_SESSION_MAX_TIMELIMIT=12]="NVB_SN_APPROACHING_SESSION_MAX_TIMELIMIT",s[s.NVB_SN_APPROACHING_ENTITLEMENT_TIMEOUT=13]="NVB_SN_APPROACHING_ENTITLEMENT_TIMEOUT",s[s.NVB_SN_CLEAR_IDLE_TIMEOUT=14]="NVB_SN_CLEAR_IDLE_TIMEOUT",s[s.NVB_SN_WARNING_MAX=20]="NVB_SN_WARNING_MAX",s[s.NVB_SN_FRAME_STATISTICS=21]="NVB_SN_FRAME_STATISTICS",s[s.NVB_SN_SUMMARY_STATISTICS=22]="NVB_SN_SUMMARY_STATISTICS",s[s.NVB_SN_TERMINATION_BEGIN=50]="NVB_SN_TERMINATION_BEGIN",s[s.NVB_SN_STREAMING_START_FAILED=51]="NVB_SN_STREAMING_START_FAILED",s[s.NVB_SN_STOPPED_BY_USER=52]="NVB_SN_STOPPED_BY_USER",s[s.NVB_SN_STOPPED_UNINTENTIONALLY=53]="NVB_SN_STOPPED_UNINTENTIONALLY",s[s.NVB_SN_ENTITLEMENT_TIMEOUT=54]="NVB_SN_ENTITLEMENT_TIMEOUT",s[s.NVB_SN_STREAMER_NETWORK_ERROR=55]="NVB_SN_STREAMER_NETWORK_ERROR",s[s.NVB_SN_EXITED_DUE_TO_USER_IDLE_TIMEOUT=56]="NVB_SN_EXITED_DUE_TO_USER_IDLE_TIMEOUT",s[s.NVB_SN_EXITED_DUE_TO_SESSION_TIMELIMIT=57]="NVB_SN_EXITED_DUE_TO_SESSION_TIMELIMIT",s[s.NVB_SN_TERMINATED_BY_OPERATOR=58]="NVB_SN_TERMINATED_BY_OPERATOR",s[s.NVB_SN_PAUSED_BY_USER=59]="NVB_SN_PAUSED_BY_USER",s[s.NVB_SN_TERMINATED_BY_PM=60]="NVB_SN_TERMINATED_BY_PM",s[s.NVB_SN_TERMINATED_WINDOWED_MODE=61]="NVB_SN_TERMINATED_WINDOWED_MODE",s[s.NVB_SN_TERMINATED_GAME_EXITED=62]="NVB_SN_TERMINATED_GAME_EXITED",s[s.NVB_SN_TERMINATED_UNAUTHROIZED_PROCESS_ACCESS=63]="NVB_SN_TERMINATED_UNAUTHROIZED_PROCESS_ACCESS",s[s.NVB_SN_TERMINATED_MULTIPLE_LOGIN=64]="NVB_SN_TERMINATED_MULTIPLE_LOGIN",s[s.NVB_SN_TERMINATED_MALICIOUS_PROCESS_ACCESS=65]="NVB_SN_TERMINATED_MALICIOUS_PROCESS_ACCESS",s[s.NVB_SN_TERMINATED_UNKNOWN_PROCESS_ACCESS=66]="NVB_SN_TERMINATED_UNKNOWN_PROCESS_ACCESS",s[s.NVB_SN_TERMINATED_MINER_PROCESS_ACCESS=67]="NVB_SN_TERMINATED_MINER_PROCESS_ACCESS",s[s.NVB_SN_TERMINATED_FULL_TDR_OCCURRED=68]="NVB_SN_TERMINATED_FULL_TDR_OCCURRED",s[s.NVB_SN_TERMINATED_ANOTHER_CLIENT=69]="NVB_SN_TERMINATED_ANOTHER_CLIENT",s[s.NVB_SN_TERMINATED_GAME_NOT_OWNED_BY_USER=72]="NVB_SN_TERMINATED_GAME_NOT_OWNED_BY_USER",s[s.NVB_SN_PM_TERMINATED_MAINTENANCE_MODE=73]="NVB_SN_PM_TERMINATED_MAINTENANCE_MODE",s[s.NVB_SN_TERMINATION_MAX=200]="NVB_SN_TERMINATION_MAX",s[s.NVB_SN_TERMINATED_DUE_TO_SYSTEM_SLEEP=301]="NVB_SN_TERMINATED_DUE_TO_SYSTEM_SLEEP",s[s.NVB_SN_PAUSED_DUE_TO_SYSTEM_SLEEP=302]="NVB_SN_PAUSED_DUE_TO_SYSTEM_SLEEP",s[s.NVB_SN_INIT_FAILED_DUE_TO_SYSTEM_SLEEP=303]="NVB_SN_INIT_FAILED_DUE_TO_SYSTEM_SLEEP",s[s.NVB_SN_INIT_PAUSED_DUE_TO_SYSTEM_SLEEP=304]="NVB_SN_INIT_PAUSED_DUE_TO_SYSTEM_SLEEP",s[s.SERVER_DISCONNECTED_MULTIPLE_TAB=15868752]="SERVER_DISCONNECTED_MULTIPLE_TAB",s[s.NVB_R_SYSTEM_SLEEP_DURING_STREAMING=3237289988]="NVB_R_SYSTEM_SLEEP_DURING_STREAMING",s[s.NVB_R_SYSTEM_SLEEP_DURING_SESSION_SETUP=3237289989]="NVB_R_SYSTEM_SLEEP_DURING_SESSION_SETUP",s}(O||{}),B=function(s){return s.STREAMING_BEGIN="STREAMING_BEGIN",s.STREAMING_STOPPED="STREAMING_STOPPED",s.SESSION_STOPPED="SESSION_STOPPED",s.SESSION_SETUP_SUCCESS="SESSION_SETUP_SUCCESS",s.SESSION_SETUP_FAILURE="SESSION_SETUP_FAILURE",s.STREAMING_TERMINATED="STREAMING_TERMINATED",s.ACTIVE_SESSIONS="ACTIVE_SESSIONS",s.GET_SESSION_INFO="GET_SESSION_INFO",s.STOP_RESULT="STOP_RESULT",s.SESSION_RESUME_FAILURE="SESSION_RESUME_FAILURE",s.STREAMING_WARNINGS="STREAMING_WARNINGS",s.SESSION_SETUP_PROGRESS="SESSION_SETUP_PROGRESS",s.ANALYTICS_EVENT="ANALYTICS_EVENT",s.SUMMARY_STATS="SUMMARY_STATS",s.FRAME_STATS="FRAME_STATS",s.UPDATE_AUTH_TOKEN="UPDATE_AUTH_TOKEN",s.STREAMING_QUALITY="STREAMING_QUALITY",s.STREAMING_FIRST_FRAME="STREAMING_FIRST_FRAME",s.STREAMING_PROPERTY_UPDATE="STREAMING_PROPERTY_UPDATE",s.STREAMING_FRAME_LOSS_WARNING="STREAMING_FRAME_LOSS_WARNING",s.STREAMING_FRAME_LOSS_ERROR="STREAMING_FRAME_LOSS_ERROR",s.STREAMING_FRAME_LOSS_CLEARED="STREAMING_FRAME_LOSS_CLEARED",s.BROWSER_ANALYTICS_EVENT="BROWSER_ANALYTICS_EVENT",s.SERENITY_EVENT="SERENITY_EVENT",s.STREAMING_CLIENT_MESSAGE="STREAMING_CLIENT_MESSAGE",s.TEXT_COMPOSITION="TEXT_COMPOSITION",s.STREAM_QUALITY_REPORT="STREAM_QUALITY_REPORT",s}(B||{}),P=function(s){return s[s.NVB_SESSION_STATUS_UNKNOWN=-1]="NVB_SESSION_STATUS_UNKNOWN",s[s.NVB_SESSION_INITIALIZING=0]="NVB_SESSION_INITIALIZING",s[s.NVB_SESSION_READY_FOR_CONNECT=1]="NVB_SESSION_READY_FOR_CONNECT",s[s.NVB_SESSION_STREAMING=2]="NVB_SESSION_STREAMING",s[s.NVB_SESSION_WAITING_FOR_RECONNECT=3]="NVB_SESSION_WAITING_FOR_RECONNECT",s[s.NVB_SESSION_PAUSED_INTENTIONAL=4]="NVB_SESSION_PAUSED_INTENTIONAL",s[s.NVB_SESSION_PAUSED_UNINTENTIONAL=5]="NVB_SESSION_PAUSED_UNINTENTIONAL",s[s.NVB_SESSION_RESUMING=6]="NVB_SESSION_RESUMING",s[s.NVB_SESSION_FINISHED=7]="NVB_SESSION_FINISHED",s}(P||{}),k=function(s){return s[s.NVB_SSS_CONNECTING=0]="NVB_SSS_CONNECTING",s[s.NVB_SSS_QUEUEPOSITION=1]="NVB_SSS_QUEUEPOSITION",s[s.NVB_SSS_CONFIGURING=2]="NVB_SSS_CONFIGURING",s[s.NVB_SSS_STARTINGSTREAMER=3]="NVB_SSS_STARTINGSTREAMER",s[s.NVB_SSS_SEATREADY=4]="NVB_SSS_SEATREADY",s[s.NVB_SSS_PREVIOUS_SESSION_CLEANUP=5]="NVB_SSS_PREVIOUS_SESSION_CLEANUP",s}(k||{}),r=function(s){return s.STREAMING_CONNECTION_LOST="STREAMING_CONNECTION_LOST",s.STREAMING_CONNECTION_FOUND="STREAMING_CONNECTION_FOUND",s}(r||{}),A=function(s){return s[s.RESUMABLE=0]="RESUMABLE",s[s.NOT_RESUMABLE=1]="NOT_RESUMABLE",s[s.NO_AUTH_TOKEN=2]="NO_AUTH_TOKEN",s}(A||{}),L=function(s){return s[s.UNKNOWN=0]="UNKNOWN",s[s.RESOLUTION=1]="RESOLUTION",s[s.BIT_DEPTH=2]="BIT_DEPTH",s}(L||{})},95294:(xe,de,t)=>{"use strict";t.d(de,{U:()=>n});var e=t(23355);class n{constructor(){this.result=e.b5.NVB_R_SESSION_NOT_ACTIVE,this.extendedError=[]}}},36203:(xe,de,t)=>{"use strict";t.d(de,{I:()=>e.I,U:()=>n.U});var e=t(52619),n=t(95294)},52619:(xe,de,t)=>{"use strict";t.d(de,{I:()=>le});var e=t(58527),n=t(47766),E=t(33367),O=t(65770),B=t(4208),P=t(75707),k=t(8619),U=t(83915),r=t(91384),A=t(53461),l=t(65706),I=t(14714),S=t(10174),L=t(99047),s=t(48765),M=t(48216),u=t(26513),x=t(80583),p=t(3496),i=t(16229),o=t(43848),_=t(31315),f=t(35146),J=t(12532),a=t(36466),D=t(27731),te=t(19392),N=t(59859),z=t(15652),R=t(23355),v=t(26875),h=t(95294),W=t(37543),ne=t(76449),ee=t(40996),b=t(83168),w=t(56123),F=t(85735),Z=t(12611);const se=new Map([[w.ScErrorCode.SessionEntitledTimeExceeded,R.fZ.NVB_SN_ENTITLEMENT_TIMEOUT],[w.ScErrorCode.NetworkError,R.b5.NVB_R_NETWORK_ERROR],[w.ScErrorCode.AuthTokenNotUpdated,R.b5.NVB_R_AUTH_ERR_TOKEN_NOT_UPDATED],[w.ScErrorCode.SessionLimitExceeded,R.b5.NVB_R_SESSION_LIMIT_REACHED],[w.ScErrorCode.AppPatching,R.b5.NVB_R_APPLICATION_PATCHING],[w.ScErrorCode.ResponseParseFailure,R.b5.NVB_R_INVALID_SERVER_RESPONSE],[w.ScErrorCode.InvalidSessionIdNotFound,R.b5.NVB_R_SESSION_NOT_ACTIVE],[w.ScErrorCode.InvalidAuthenticationUnsupportedProtocol,R.b5.NVB_R_AUTH_ERR_UNSUPPORTED_PROTOCOL],[w.ScErrorCode.InvalidAuthenticationCredentials,R.b5.NVB_R_AUTH_ERR_UNAUTHORIZED_CLIENT],[w.ScErrorCode.EntitlementFailure,R.b5.NVB_R_USER_IS_NOT_ENTITLED],[w.ScErrorCode.SessionServerErrorBegin,R.b5.NVB_R_SERVER_ERROR],[w.ScErrorCode.MaintenanceStatus,R.b5.NVB_R_SEVER_MAINTENANCE_MODE],[w.ScErrorCode.ServiceUnAvailable,R.b5.NVB_R_SERVER_OUT_OF_SERVICE],[w.ScErrorCode.ServerSessionQueueLengthExceeded,R.b5.NVB_R_SERVER_SESSION_QUEUE_LENGTH_EXCEEDED],[w.ScErrorCode.AppMaintenanceStatus,R.b5.NVB_R_APP_MAINTENANCE_STATUS],[w.ScErrorCode.SessionTerminatedByAnotherClient,R.b5.NVB_R_SESSION_TERMINATED_ANOTHER_CLIENT],[w.ScErrorCode.RequestLimitExceeded,R.b5.NVB_R_TOO_MANY_SERVER_REQUESTS],[w.ScErrorCode.RequiredSeatInstanceTypeNotSupported,R.b5.NVB_R_REQUIRED_SEAT_INSTANCE_TYPE_NOT_SUPPORTED],[w.ScErrorCode.RegionNotSupportedForStreaming,R.b5.NVB_R_REGION_NOT_SUPPORTED_FOR_STREAMING],[w.ScErrorCode.GameBinariesNotAvailableInRegion,R.b5.NVB_R_SESSION_GAME_BINARIES_NOT_AVAILABLE_IN_REGION],[w.ScErrorCode.GameNotFound,R.b5.NVB_R_INVALID_APP_IDENTIFIER],[w.ScErrorCode.NoInternetDuringSessionSetup,R.b5.NVB_R_NETWORK_ERROR],[w.ScErrorCode.SessionRemovedFromQueueMaintenance,R.b5.NVB_R_SESSION_REMOVED_FROM_QUEUE_MAINTENANCE],[w.ScErrorCode.ZoneMaintenanceStatus,R.b5.NVB_R_ZONE_MAITENANCE_STATUS],[w.ScErrorCode.InstanceTypeNotSupportedInSingleRegion,R.b5.NVB_R_INSTANCE_TYPE_NOT_SUPPORTED_IN_SINGLE_REGION],[w.ScErrorCode.SessionWaitingAdsTimeExpired,R.b5.NVB_R_SESSION_WAITING_ADS_TIME_EXPIRED],[w.ScErrorCode.UserCancelledWatchingAds,R.b5.NVB_R_USER_CANCELED_WATCHING_ADS],[w.ScErrorCode.SessionInsufficientPlayabilityLevel,R.b5.NVB_R_INSUFFICIENT_PLAYABILITY_LEVEL],[w.ScErrorCode.StreamingNotAllowedInLimitedMode,R.b5.NVB_R_STREAMING_NOT_ALLOWED_IN_LIMITED_MODE],[w.ScErrorCode.SessionNotPaused,R.b5.NVB_R_SESSION_NOT_PAUSED]]),Y=new Map([[w.ScErrorCode.SystemSleepDuringSessionSetup,R.fZ.NVB_SN_INIT_FAILED_DUE_TO_SYSTEM_SLEEP]]),q=new Map([[w.ScErrorCode.SystemSleepDuringSessionSetup,R.fZ.NVB_SN_INIT_PAUSED_DUE_TO_SYSTEM_SLEEP]]);class T{constructor(ie,ce,G,ue){this.appConfig=ce,this.sessionManagerService=G,this.telemetryService=ue,this.sessionEventsSubject=new x.B7,this.sessionControlCodesNotificationMap=new Map,this.sessionUpdateCallback=ae=>{var Ce;this.logger.info("sessionUpdateCallback from Ragnarok: ",ae),ae.sessionId&&(null===(Ce=this.sessionIdSubject)||void 0===Ce||Ce.next(ae.sessionId)),ae.subSessionId&&(this.subSessionId=ae.subSessionId),this.sessionEventsSubject.next(T.createProgressUpdateEvent(ae))},this.logger=ie.getLogger("gfn/sessionManagerAdapter")}getResumableSessionId(ie){var ce;return null===(ce=this.sessionManagerService.resumableSessions.find(G=>G.appId===ie))||void 0===ce?void 0:ce.sessionId}markSessionUnresumable(ie){return this.sessionManagerService.markSessionUnresumable(ie)}configureSessionSettings(ie){return this.sessionManagerService.configureSessionSettings({gxtOverrideData:ie.gxtOverrideData,overrideData:ie.overrideData})}registerCallback(){return this.logger.info("registerCallback"),this.sessionEventsSubject.asObservable()}prepare(ie){return this.logger.info("prepare: ",ie),this.buildSessionControlErrorMap(),this.sessionManagerService.initialize(ie.address)}updateAdState(ie,ce){return this.sessionManagerService.updateAdState(ie,ce)}updateEventInfoGuids(ie,ce,G){return this.logger.info("Update event info guids"),this.sessionManagerService.updateEventInfoGuids(ie,ce,G)}getSessionInfo(ie,ce){return this.sessionManagerService.getSessionInfo(ie,{span:ce}).pipe((0,U.T)(G=>G.code===w.ScErrorCode.Success?(this.logger.info("getSessionInfo success"),this.createSessionInfoSuccess(G)):(this.logger.error("getSessionInfo error",G.code),this.createSessionInfoError(G))),(0,I.W)(G=>(this.logger.info("getSessionInfo error"),(0,o.of)(this.createSessionInfoError(null,ie,G)))))}buildSessionControlErrorMap(){var ie,ce;se.forEach((G,ue)=>this.sessionControlCodesNotificationMap.set(ue,G)),null!==(ie=this.appConfig)&&void 0!==ie&&ie.sessionManagementConfig.sessionSetupFailureOnSleep&&Y.forEach((G,ue)=>this.sessionControlCodesNotificationMap.set(ue,G)),null!==(ce=this.appConfig)&&void 0!==ce&&ce.sessionManagementConfig.sessionSetupPauseOnSleep&&q.forEach((G,ue)=>this.sessionControlCodesNotificationMap.set(ue,G))}startOrResume(ie,ce){const G=!!ie.session;this.abortController=new AbortController,this.sessionIdSubject=new F.m(1),G&&this.sessionIdSubject.next(ie.session),this.subSessionId=null,this.sessionRequestInProgress=!0;const ue=this.createStartSessionParameters(ie),ae={span:ce,spanData:ie.spanData,refreshAuthToken:ie.refreshAuthToken,abortController:this.abortController};return(G?this.sessionManagerService.resume(ie.session,ue,this.sessionUpdateCallback,ae):this.sessionManagerService.start(ue,this.sessionUpdateCallback,ae)).pipe((0,r.M)(Se=>{this.sessionRequestInProgress=!1,Se.code===w.ScErrorCode.Success?this.handleStartSessionSuccess(Se,G):this.handleStartSessionError(G,Se)}),(0,I.W)(Se=>(this.logger.error(`session ${G?"resume":"start"} failure`,Se),this.sessionRequestInProgress=!1,this.handleStartSessionError(G),(0,o.of)(null))))}stop(ie,ce){if(this.logger.info("stop session",ie,"reason",ce?`reason: ${ce.toString(16)}`:""),this.sessionRequestInProgress)return this.logger.info("sessionRequestInProgress is true, aborting session request"),this.abortController.abort(ce),(0,o.of)(!0);let G=ie;return(G?(0,o.of)(G):this.sessionIdSubject.asObservable()).pipe((0,l.s)(1),(0,P.ZZ)(ae=>(G=ae,this.sendGameQuitEvent(G),this.logger.info("stopping session",G),this.sessionManagerService.stop(G))),(0,U.T)(ae=>(ae===w.ScErrorCode.Success?this.handleSessionDeleteSuccess(G,this.subSessionId):this.handleSessionDeleteError(G,this.subSessionId,ae),ae===w.ScErrorCode.Success)),(0,I.W)(ae=>(this.handleSessionDeleteError(G,this.subSessionId,void 0,ae),(0,o.of)(!1))))}sendGameQuitEvent(ie){const ce=this.sessionManagerService.resumableSessions.find(G=>G.sessionId===ie);this.telemetryService.push((0,W.QP$)(W.ptg.FromStreamer,ie,null==ce?void 0:ce.timestamp))}getActiveSessions(ie){return this.logger.info("getActiveSessions"),this.sessionManagerService.getActiveSessions({span:ie}).pipe((0,U.T)(ce=>(null==ce?void 0:ce.code)===w.ScErrorCode.Success?(this.logger.info("active sessions success"),this.createActiveSessionSuccess(ce)):(this.logger.error("active sessions error",null==ce?void 0:ce.code),this.createActiveSessionError(ce))),(0,I.W)(ce=>(this.logger.error("active sessions failure",ce),(0,o.of)(this.createActiveSessionError(null,ce)))))}createStartSessionParameters(ie){var ce,G,ue,ae,Ce,Se,Ne,we,ve,Pe;const Oe={desiredContentMaxLuminance:null==ie||null===(ce=ie.streamingDisplayDataInfo)||void 0===ce?void 0:ce.desiredContentMaxLuminance,desiredContentMinLuminance:null==ie||null===(G=ie.streamingDisplayDataInfo)||void 0===G?void 0:G.desiredContentMinLuminance,desiredContentMaxFrameAverageLuminance:null==ie||null===(ue=ie.streamingDisplayDataInfo)||void 0===ue?void 0:ue.desiredContentMaxFrameAverageLuminance},Be={widthInPixels:ie.streamingProfile.width,heightInPixels:ie.streamingProfile.height,framesPerSecond:ie.streamingProfile.fps,sdrHdrMode:ie.streamingProfile.hdrStreaming?w.SdrHdrMode.HDR:w.SdrHdrMode.SDR,displayData:Oe};(null===(ae=ie.streamingProfile)||void 0===ae?void 0:ae.hdrStreamingMode)===E.Or.Gfn.Streaming.HdrStreamingMode.HDR10_PLUS_GAMING&&(Be.hdr10PlusGamingData=ie.streamingProfile.hdr10PlusGamingData);const tt=[];tt.push(Be);const Ee={reflex:null===(Ce=ie.streamingProfile)||void 0===Ce?void 0:Ce.reflex,bitDepth:this.mapInputBitDepthToGridServerBitDepth(null===(Se=ie.streamingProfile)||void 0===Se?void 0:Se.bitDepth),cloudGsync:null===(Ne=ie.streamingProfile)||void 0===Ne?void 0:Ne.cloudGsync,enabledL4S:null===(we=ie.streamingProfile)||void 0===we?void 0:we.l4sEnabled,supportedHidDevices:null===(ve=ie.streamingProfile)||void 0===ve?void 0:ve.supportedHidDevices},ot={serverAddress:ie.address,appId:ie.appId.toString(),clientLocale:ie.locale,accountLinked:ie.accountLinked,partnerCustomData:ie.partnerCustomData,enablePersistingInGameSettings:ie.persistingInGameSettings,userAge:ie.userAge,metaData:{...ie.metaData,surroundAudioInfo:null==ie||null===(Pe=ie.audioModeFormat)||void 0===Pe?void 0:Pe.toString()},monitorSettings:tt,appLaunchMode:ie.appLaunchMode,keyboardLayout:ie.keyboardLayout,streamingFeatures:Ee,remoteControllersBitmap:ie.remoteControllersBitmap};return this.logger.info("sessionParameters: ",ot),ot}handleStartSessionSuccess(ie,ce){var G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We;this.logger.info("handleStartSessionSuccess: ",ie);let Qe={sessionId:null===(G=ie.session)||void 0===G?void 0:G.sessionId,subSessionId:null===(ue=ie.session)||void 0===ue?void 0:ue.subSessionId,queuePosition:0,eta:0,progressState:w.SessionProgressState.CONFIGURING,ads:[]};this.sessionEventsSubject.next(T.createProgressUpdateEvent(Qe)),Qe={sessionId:null===(ae=ie.session)||void 0===ae?void 0:ae.sessionId,subSessionId:null===(Ce=ie.session)||void 0===Ce?void 0:Ce.subSessionId,queuePosition:0,eta:0,progressState:w.SessionProgressState.STARTING_STREAMER,ads:[]},this.sessionEventsSubject.next(T.createProgressUpdateEvent(Qe));const Fe={sessionId:null!==(Se=null==ie||null===(Ne=ie.session)||void 0===Ne?void 0:Ne.sessionId)&&void 0!==Se?Se:"",subSessionId:null!==(we=null==ie||null===(ve=ie.session)||void 0===ve?void 0:ve.subSessionId)&&void 0!==we?we:"",isResume:ce,zoneName:null!==(Pe=null==ie||null===(Oe=ie.session)||void 0===Oe?void 0:Oe.zoneName)&&void 0!==Pe?Pe:"",zoneAddress:null!==(Be=null==ie||null===(tt=ie.session)||void 0===tt?void 0:tt.zoneAddress)&&void 0!==Be?Be:"",gpuType:null!==(Ee=null==ie||null===(ot=ie.session)||void 0===ot?void 0:ot.gpuType)&&void 0!==Ee?Ee:"",streamSettings:[{monitorId:ie.session.monitorSettings[0].monitorId,positionX:ie.session.monitorSettings[0].positionX,positionY:ie.session.monitorSettings[0].positionY,videoSettings:{frameRate:ie.session.monitorSettings[0].framesPerSecond,resolution:{dpi:ie.session.monitorSettings[0].dpi,height:ie.session.monitorSettings[0].heightInPixels,width:ie.session.monitorSettings[0].widthInPixels}}}]};this.subSessionId=null===(We=ie.session)||void 0===We?void 0:We.subSessionId,this.onSessionStartResult(Fe)}handleStartSessionError(ie,ce){if(this.logger.info("handleStartSessionError: ",ce),ce&&(0,w.isCancelCode)(ce.code))this.handleStartSessionCancel(ce);else{var G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be;const tt={sessionId:null!==(G=null==ce||null===(ue=ce.session)||void 0===ue?void 0:ue.sessionId)&&void 0!==G?G:"",subSessionId:null!==(ae=null==ce||null===(Ce=ce.session)||void 0===Ce?void 0:Ce.subSessionId)&&void 0!==ae?ae:"",isResume:ie,sessionList:null==ce?void 0:ce.activeSessions,error:{code:null!==(Se=null==ce?void 0:ce.code)&&void 0!==Se?Se:w.ScErrorCode.DOMExceptionInSessionControl,description:"Quitting due to error"},zoneName:null!==(Ne=null==ce||null===(we=ce.session)||void 0===we?void 0:we.zoneName)&&void 0!==Ne?Ne:"",zoneAddress:null!==(ve=null==ce||null===(Pe=ce.session)||void 0===Pe?void 0:Pe.zoneAddress)&&void 0!==ve?ve:"",gpuType:null!==(Oe=null==ce||null===(Be=ce.session)||void 0===Be?void 0:Be.gpuType)&&void 0!==Oe?Oe:""};this.onSessionStartResult(tt)}}handleStartSessionCancel(ie){var ce,G;this.logger.info("handleStartSessionCancel: ",ie);const ue={sessionId:null===(ce=ie.session)||void 0===ce?void 0:ce.sessionId,subSessionId:null===(G=ie.session)||void 0===G?void 0:G.subSessionId};this.onSessionStopResult(ue)}onSessionStartResult(ie){var ce,G;this.logger.info("callback onSessionStartResult called with eventData, ",ie),ie.sessionId&&(null===(ce=this.sessionIdSubject)||void 0===ce||ce.next(ie.sessionId)),ie.error&&(null===(G=this.sessionIdSubject)||void 0===G||G.complete(),this.sessionIdSubject=null),this.sessionEventsSubject.next(T.createSessionStartResult(ie,this.sessionControlCodesNotificationMap,this.logger))}handleSessionDeleteSuccess(ie,ce){this.logger.info("handleSessionDeleteSuccess"),this.onSessionStopResult({sessionId:ie,subSessionId:ce})}handleSessionDeleteError(ie,ce,G,ue){this.logger.info("handleSessionDeleteError");const ae={sessionId:ie,subSessionId:ce};ae.code=ue||G,this.onSessionStopResult(ae)}onSessionStopResult(ie){var ce;this.logger.info("callback onSessionStopResult called with result, ",ie),null===(ce=this.sessionIdSubject)||void 0===ce||ce.complete(),this.sessionIdSubject=null,this.subSessionId=null,this.sessionEventsSubject.next(T.createSessionStopResult(ie,this.sessionControlCodesNotificationMap))}static createProgressUpdateEvent(ie){var ce;const G={event:R.CW.SESSION_SETUP_PROGRESS,eta:ie.eta,queuePosition:ie.queuePosition,isAdsRequired:ie.isAdsRequired,sessionId:ie.sessionId,subSessionId:ie.subSessionId,ads:[]};switch(ie.progressState){case w.SessionProgressState.CONNECTING:G.state=R.o2.NVB_SSS_CONNECTING;break;case w.SessionProgressState.IN_QUEUE:G.state=R.o2.NVB_SSS_QUEUEPOSITION;break;case w.SessionProgressState.CONFIGURING:G.state=R.o2.NVB_SSS_CONFIGURING;break;case w.SessionProgressState.STARTING_STREAMER:G.state=R.o2.NVB_SSS_STARTINGSTREAMER;break;case w.SessionProgressState.PREVIOUS_SESSION_CLEANUP:G.state=R.o2.NVB_SSS_PREVIOUS_SESSION_CLEANUP}return null===(ce=ie.ads)||void 0===ce||ce.forEach(ue=>{G.ads.push(ue)}),G}static createSessionStartResult(ie,ce,G){const ue={event:R.CW.SESSION_SETUP_SUCCESS,gpuType:ie.gpuType};return ie.sessionId&&(ue.sessionId=ie.sessionId,ue.subSessionId=ie.subSessionId,ue.streams=ie.streams,ue.streamSettings=ie.streamSettings),ie.error&&(ue.event=ie.isResume?R.CW.SESSION_RESUME_FAILURE:R.CW.SESSION_SETUP_FAILURE,ue.result={result:ce.get(ie.error.code)||ie.error.code},ue.sessions=Z.C.mapActiveSessionInfoToSession(ie.sessionList,G)),ue}static createSessionStopResult(ie,ce){const G={event:R.CW.SESSION_STOPPED};return ie.sessionId&&(G.sessionId=ie.sessionId,G.subSessionId=ie.subSessionId),ie.error&&(G.result={result:ce.get(ie.code)||ie.code}),G}createActiveSessionSuccess(ie){return{event:R.CW.ACTIVE_SESSIONS,result:{extendedError:[],requestId:1,result:0},sessions:Z.C.mapActiveSessionInfoToSession(ie.activeSessions,this.logger)}}createActiveSessionError(ie,ce){const G={event:R.CW.ACTIVE_SESSIONS,result:{extendedError:[],requestId:1,result:0},sessions:null};return G.result.result=ie?this.sessionControlCodesNotificationMap.get(null==ie?void 0:ie.code)||(null==ie?void 0:ie.code):null!=ce&&ce.code?this.sessionControlCodesNotificationMap.get(ce.code)||ce.code:w.ScErrorCode.DOMExceptionInSessionControl,G}createSessionInfoSuccess(ie){var ce,G,ue,ae;const Ce={sessionId:null===(ce=ie.session)||void 0===ce?void 0:ce.sessionId,appId:null===(G=ie.session)||void 0===G?void 0:G.appId,appLaunchMode:null===(ue=ie.session)||void 0===ue?void 0:ue.appLaunchMode,state:null===(ae=ie.session)||void 0===ae?void 0:ae.state};return{event:R.CW.GET_SESSION_INFO,result:{extendedError:[],requestId:1,result:0},sessions:Z.C.mapActiveSessionInfoToSession([Ce],this.logger)}}createSessionInfoError(ie,ce,G){if(ie){var ue,ae,Ce,Se;const Ne={sessionId:null===(ue=ie.session)||void 0===ue?void 0:ue.sessionId,appId:null===(ae=ie.session)||void 0===ae?void 0:ae.appId,appLaunchMode:null===(Ce=ie.session)||void 0===Ce?void 0:Ce.appLaunchMode,state:null===(Se=ie.session)||void 0===Se?void 0:Se.state};return{event:R.CW.GET_SESSION_INFO,result:{extendedError:[],requestId:1,result:this.sessionControlCodesNotificationMap.get(ie.code)},sessions:Z.C.mapActiveSessionInfoToSession([Ne],this.logger)}}if(G){const we={event:R.CW.GET_SESSION_INFO,result:{extendedError:[],requestId:1,result:0},sessions:Z.C.mapActiveSessionInfoToSession([{sessionId:ce,appId:0,state:""}],this.logger)};return we.result.result=null!=G&&G.code?this.sessionControlCodesNotificationMap.get(G.code)||G.code:w.ScErrorCode.DOMExceptionInSessionControl,we}}mapInputBitDepthToGridServerBitDepth(ie){let ce=w.BitDepth.BIT_DEPTH_8;return ce=ie===W.UWk.value?w.BitDepth.BIT_DEPTH_10:w.BitDepth.BIT_DEPTH_8,ce}}var H=t(78812),y=t(66348),X=t(25167),c=t(97663),g=t(8789),d=t(50801),C=t(70521),Q=t(66760);function j(ge,ie){return ge.sessionId===ie.sessionId||ge.subSessionId===ie.subSessionId}let le=(()=>{var ge;class ie{get autoResuming(){return"none"!==this.autoResumeState}get streamingProperties(){return this.sharedStreamingProperties}get hasFirstFrameBeenReceived(){return this._hasFirstFrameBeenReceived}get isStreamingOn(){return this.isStreaming}get connectivityEvent$(){return this.connectivityEventSub.asObservable()}get resumeType(){return this.isResume?this.isAutoResumedSession?W.yEy.AutoResume:W.yEy.DeviceTransition:W.yEy.None}get streamingEvent$(){return this._streamingEvent$}get dismissPushNotificationSnackbarSubject(){return this.dismissSnackbar}get dismissPushNotificationSnackbarObs$(){return this.dismissSnackbar.asObservable()}setShouldQuitAndLaunchOnSessionLimitReached(G){this.shouldQuitAndLaunchFactory=G}constructor(G,ue,ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e,He,De,Re,K,ke,Ue,et,gt,vt){var Mt;let Rt;this.bridgeService=ue,this.windowService=ae,this.sharedStorageService=Ce,this.gameSessionAnalyticsService=Se,this.gameSessionDistributedTracingService=Ne,this.idmService=we,this.gfnSdkService=ve,this.appConfig=Pe,this.discordService=Oe,this.networkStatusService=Be,this.distributedTracingUtilService=tt,this.networkConfigurationService=Ee,this.gfcHelperService=ot,this.keyboardLayoutService=We,this.surveyService=Qe,this.projectInterfaceService=Fe,this.serviceWorkerService=Xe,this.networkStatus=_e,this.streamingProfileService=He,this.systemInfoService=De,this.deeplinkHelperService=Re,this.clipboardService=K,this.clientHeaderService=ke,this.ratingService=Ue,this.browseUxService=et,this.udsHelperService=gt,this.opportunityHelperService=vt,this.$streamingCodecName=new u.t(null),this.connectivityEventSub=new x.B7,this.dismissSnackbar=new x.B7,this.isVideoReceived=!1,this._hasFirstFrameBeenReceived=!1,this.isStreaming=!1,this.resumableSession=!1,this.wasStreamingRequested=!1,this.sharedStreamingProperties={sessionId:null,subSessionId:null,streams:null},this.isResume=!1,this.autoResumeState="none",this.sessionStartAttempts=0,this.isAutoResumedSession=!1,this.terminatingConnectivityAutoResume$=new x.B7,this.cancelTimerSubject=new x.B7,this.reconnectTimeout=(0,p.O)(this.appConfig.streamer.reconnectTimeout).pipe((0,O.u)(),(0,B.Q)(this.cancelTimerSubject)),this.nvstNetworkErrorCodes=/^8004([A-F0-9]{4})/,this.streamingProfileGuid="",this.systemInfoGuid="",this.configureStreamingSettingsParameters={},this.isAuthTokenRefreshedOnce=!1,this.logger=G.getLogger("streamingService"),this.useGridServer2=!(null===(Mt=this.appConfig)||void 0===Mt||null===(Mt=Mt.featureEnablement)||void 0===Mt||!Mt.useGridServer2),this.resetStreamingServiceFlags(),this.gameSessionAnalyticsService.setResumeType(this.resumeType),this.initializeCallbackHandlers();const Ut=this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.RegisterCallback);if(this.useGridServer2){this.sessionManagerAdapter=new T(G,this.appConfig,(0,e.WQX)(W.PbG),(0,e.WQX)(H.H0)),this.opportunityHelperService.updateAdStateFunction=this.sessionManagerAdapter.updateAdState.bind(this.sessionManagerAdapter);const ct=this.sessionManagerAdapter.registerCallback();Rt=(0,i.h)(ct,Ut)}else Rt=Ut;this._streamingEvent$=Rt.pipe((0,P.ZZ)(ct=>{const Me=this.callbackHandler.get(ct.event);return Me?Me.call(this,ct):(0,o.of)(ct)}),(0,O.u)()),this.streamingEvent$.subscribe(()=>{},ct=>this.logger.error("callback error",ct),()=>this.logger.info("callback complete")),this.activeSessionsEvent$=this.streamingEvent$.pipe((0,k.p)(ct=>ct.event===R.CW.ACTIVE_SESSIONS),(0,U.T)(ct=>ct)),this.getSessionInfoEvent$=this.streamingEvent$.pipe((0,k.p)(ct=>ct.event===R.CW.GET_SESSION_INFO),(0,U.T)(ct=>ct)),this.stopEvent$=this.useGridServer2?this.streamingEvent$.pipe((0,k.p)(ct=>ct.event===R.CW.SESSION_STOPPED)):this.streamingEvent$.pipe((0,k.p)(ct=>ct.event===R.CW.STOP_RESULT),(0,r.M)(ct=>{this.wasStreamingRequested=!1,this.updateSessionId(ct.sessionId,ct.subSessionId)})),this.sessionSetupProgressEvent$=this.streamingEvent$.pipe((0,k.p)(ct=>ct.event===R.CW.SESSION_SETUP_PROGRESS),(0,U.T)(ct=>ct)),this.sessionSetupProgressEvent$.pipe((0,A.F)(j)).subscribe(ct=>this.updateSessionId(ct.sessionId,ct.subSessionId)),(0,_.zV)([this.streamingProfileService.getStreamingProfileGuid(),this.systemInfoService.getSystemInfoGuid()]).pipe((0,P.ZZ)(([ct,Me])=>{const bt={streamingProfileGuid:ct,systemInfoGuid:Me};var Tt;return this.streamingProfileGuid=ct,this.systemInfoGuid=Me,this.useGridServer2?this.sessionManagerAdapter.updateEventInfoGuids(ct,Me,null==this||null===(Tt=this.streamingParams)||void 0===Tt?void 0:Tt.networkSessionId):this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.UpdateEventInfoGuids,bt)})).subscribe(),this.initProjectInterfaceNotifications(),this.registerStreamingCodec()}getStreamingCodec(){return this.$streamingCodecName.asObservable()}registerStreamingCodec(){n.zk.isCefPlatform()&&(this.logger.info("Registering codec callback"),this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.StreamingCodecNotification).subscribe(G=>{this.logger.info("Received Codec ",G),this.$streamingCodecName.next(G)}))}sessionTerminationListener(G){let ue="";this.swListenerSubscription=(0,f.yU)(this.serviceWorkerService.swNotifyListener,this.sessionSetupProgressEvent$).pipe((0,l.s)(1),(0,P.ZZ)(([ae,Ce])=>(this.logger.info("Msg received from SW to stop streaming: ",ae),ue=ae.content,this.checkIfStopSessionCanBeInitiated(Ce.state)?(this.logger.info("Session is not initialized, we can safely stop it"),this.stopStreaming(R.Jt.GFNPC_CLIENT_GAME_LAUNCHED_IN_NEW_TAB)):J.w)),(0,P.ZZ)(ae=>{if(this.logger.info("Session is stopped:",ae),ae){const Ce={reason:R.fZ.NVB_SN_TERMINATED_ANOTHER_CLIENT,latestStreamedAppName:ue};Ce.event=this.useGridServer2?R.CW.STREAMING_STOPPED:R.CW.STREAMING_TERMINATED;const Se=new b.Tw(Ce);G(Se)}return J.w}),(0,I.W)(ae=>(this.logger.error("Some unexpected error occured: ",ae),J.w))).subscribe()}checkIfStopSessionCanBeInitiated(G){return G===R.o2.NVB_SSS_CONNECTING||G===R.o2.NVB_SSS_PREVIOUS_SESSION_CLEANUP||G===R.o2.NVB_SSS_QUEUEPOSITION}unsubscribeSessionTerminationListener(){var G;null===(G=this.swListenerSubscription)||void 0===G||G.unsubscribe()}initProjectInterfaceNotifications(){this.streamingEvent$.subscribe(G=>{switch(G.event){case R.CW.SESSION_SETUP_SUCCESS:this.projectInterfaceService.notifyStreamingSessionSetupSuccess({event:G.event,sessionId:G.sessionId,subSessionId:G.subSessionId});break;case R.CW.STREAMING_BEGIN:const ae={event:G.event};this.browseUxService.emitStreamingBegin(),this.projectInterfaceService.notifyStreamingBegin(ae);break;case R.CW.STREAMING_STOPPED:case R.CW.STOP_RESULT:case R.CW.STREAMING_TERMINATED:case R.CW.SESSION_SETUP_FAILURE:const Ce={event:G.event,errorCode:G.reason,isResumable:this.isResumableNetworkErrorCode(G)};this.projectInterfaceService.notifyStreamingEnd(Ce),this.browseUxService.emitStreamingTerminated()}},a.l)}updateKeyboardLayout(){return(0,_.zV)([this.systemInfoService.getDeviceOSType().pipe((0,l.s)(1)),this.keyboardLayoutService.readCachedKeyboardLayout()]).pipe((0,r.M)(([G,ue])=>{this.logger.info("Keyboard layout cache read response for prepare:",ue);let ae=null==ue?void 0:ue.code;!ae&&n.zk.isBrowserPlatform()&&(ae=this.keyboardLayoutService.getDefaultKBLayoutCode()),this.logger.info("Updating the keyboard layout data to be passed to the streamer:",ae),this.keyboardLayoutCode=ae,this.projectInterfaceService.setIsNonEnglishKeyboardLayout(this.keyboardLayoutService.isNonEnglishKeyboardLayout(ae,G))},G=>this.logger.info("Keyboard layout cache read error:",G)),(0,S.u)(null))}updateStreamingContentRating(){var G,ue,ae;let Ce;return Ce=null!==(G=this.streamingParams.contentRating)&&void 0!==G&&G.type&&null!==(ue=this.streamingParams.contentRating)&&void 0!==ue&&ue.categoryKey&&null!==(ae=this.streamingParams.contentRating)&&void 0!==ae&&ae.contentDescriptorKeys?(0,f.yU)(this.ratingService.getCurrentRating(this.streamingParams.contentRating.type,this.streamingParams.contentRating.categoryKey).pipe((0,I.W)(Se=>(0,o.of)(null))),this.ratingService.getContentDescriptors(this.streamingParams.contentRating.type,this.streamingParams.contentRating.contentDescriptorKeys).pipe((0,I.W)(Se=>(0,o.of)([])))):(0,o.of)([null,[]]),Ce.pipe((0,l.s)(1),(0,r.M)(([Se,Ne])=>{let we="";var ve,Pe,Oe,Be,tt,Ee,ot,We;Ne&&Ne.length&&(we=Ne.join(", ")),this.startParamsContentRating=void 0,(0,v.isNil)(Se)||(this.startParamsContentRating={displayIntervalMin:Se.displayInterval,ratingClassText:Se.rating.label,largeImageUrl:Se.rating.largeImageUrl,smallImageUrl:Se.rating.smallImageUrl,contentDescriptorText:we,ratingSystem:null!==(ve=null===(Pe=this.streamingParams)||void 0===Pe||null===(Pe=Pe.contentRating)||void 0===Pe?void 0:Pe.type)&&void 0!==ve?ve:"",categoryKey:null!==(Oe=null===(Be=this.streamingParams)||void 0===Be||null===(Be=Be.contentRating)||void 0===Be?void 0:Be.categoryKey)&&void 0!==Oe?Oe:"",contentDescriptorKeys:null!==(tt=null===(Ee=this.streamingParams)||void 0===Ee||null===(Ee=Ee.contentRating)||void 0===Ee?void 0:Ee.contentDescriptorKeys)&&void 0!==tt?tt:[],interactiveElementKeys:null!==(ot=null===(We=this.streamingParams)||void 0===We||null===(We=We.contentRating)||void 0===We?void 0:We.interactiveElementKeys)&&void 0!==ot?ot:[]})}),(0,U.T)(Se=>{}))}initializeCallbackHandlers(){this.callbackHandler=new Map,this.callbackHandler.set(R.CW.SESSION_SETUP_SUCCESS,this.onSessionSetupSuccess),this.callbackHandler.set(R.CW.STREAMING_BEGIN,this.onStreamingBegin),this.callbackHandler.set(R.CW.SESSION_SETUP_FAILURE,this.onSetupFailure),this.callbackHandler.set(R.CW.SESSION_STOPPED,this.onSessionStopped),this.callbackHandler.set(R.CW.STREAMING_TERMINATED,this.onStreamingTerminated),this.callbackHandler.set(R.CW.STREAMING_STOPPED,this.onStreamingTerminated),this.callbackHandler.set(R.CW.UPDATE_AUTH_TOKEN,this.onUpdateAuthToken),this.callbackHandler.set(R.CW.STREAMING_FIRST_FRAME,this.onStreamingFirstFrame),this.callbackHandler.set(R.CW.SESSION_RESUME_FAILURE,this.onSessionResumeFailure),this.callbackHandler.set(R.CW.SESSION_SETUP_PROGRESS,this.onSessionSetupProgress),this.callbackHandler.set(R.CW.STREAMING_FRAME_LOSS_WARNING,this.onFrameLossWarning),this.callbackHandler.set(R.CW.STREAMING_FRAME_LOSS_ERROR,this.onFrameLossError),this.callbackHandler.set(R.CW.STREAMING_FRAME_LOSS_CLEARED,this.onFrameLossCleared),this.callbackHandler.set(R.CW.STREAM_QUALITY_REPORT,this.onGameStreamQualityReport)}mapSleepErrorCode(G){return G.extendedCode===R.fZ.NVB_R_SYSTEM_SLEEP_DURING_STREAMING&&(this.logger.info("Valid error reason for sleep, replacing reason but leaving error code."),G.reason=R.fZ.NVB_SN_TERMINATED_DUE_TO_SYSTEM_SLEEP,this.logger.info("onStreamingTerminated: mapped SleepErrorCode",G),this.clearSessionId(!0)),G}onGameStreamQualityReport(G){return this.logger.info("onGameStreamQualityReport received with UDS data: ",G),this.udsHelperService.rawUDSDataFromGS=G.udsData,(0,o.of)(G)}onUpdateAuthToken(G){const ue=this.distributedTracingUtilService.startSpanUsingContext("StreamerUpdateAuthToken",G.spanData);return this.gfnSdkService.getAuthInfo().pipe((0,P.ZZ)(ae=>ae.authType===ee.hT.JWT?(0,o.of)(ae.authToken):this.idmService.getAuthToken(!0,ue).pipe((0,P.ZZ)(Ce=>(0,o.of)(Ce.token)))),(0,I.W)(ae=>(this.logger.info("getAuthInfo error in onUpdateAuthToken",ae),(0,o.of)(""))),(0,P.ZZ)(ae=>this.processUpdatedAuthToken(ae)),(0,U.T)(ae=>G))}processUpdatedAuthToken(G){return this.logger.info("processing updated Auth Token"),this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.SetAuthToken,{token:G})}onStreamingBegin(G){var ue;return this.logger.info("onStreamingBegin"),this.discordService.updatePresence(this.streamingParams.appName),this.distributedTracingUtilService.closeSpan(this.streamingSpan),this.isStreaming=!0,this.sessionStartAttempts=0,null!==(ue=this.appConfig)&&void 0!==ue&&null!==(ue=ue.client)&&void 0!==ue&&ue.needsDialogForInStreamPaste||(this.clipboardInitSub=this.clipboardService.init().subscribe(),this.clipboardAvailableSub=this.windowService.getFocusEvent().subscribe(()=>{var ae;null===(ae=this.clipboardService.detectClipboardChange)||void 0===ae||ae.next(!0)})),this.networkConfigurationService.cacheCurrentFingerprint().pipe((0,I.W)(ae=>(this.logger.error("Unable to cache current fingerprint: ",ae),(0,o.of)(!1))),(0,P.ZZ)(ae=>"connectivity"===this.autoResumeState?(this.logger.info("connectivity auto resuming, suppress onStreamingBegin "),this.connectivityEventSub.next({event:R.JY.STREAMING_CONNECTION_FOUND}),this.cancelTimerSubject.next(!0),this.resetAutoResumingState(),this.sendStreamingBeginTelemetry(),D.t):"pauseResume"===this.autoResumeState?(this.logger.info("stream starting after pause resume"),this.resetAutoResumingState(),this.sendStreamingBeginTelemetry(),(0,o.of)(G)):(this.logger.info("stream starting"),this.gameSessionAnalyticsService.updateGameLaunchDurations(W.iVs.StartSession,void 0),this.gameSessionAnalyticsService.updateGameLaunchDurations(W.iVs.StreamingStartDuration,void 0),this.gameSessionAnalyticsService.nextSeatSeatupEvent(null,!0),this.sendStreamingBeginTelemetry(),(0,o.of)(G))))}sendStreamingBeginTelemetry(){this.logger.info("sending telemetry, onStreamingBegin");const G={status:W.fbu.Success,isResume:this.isResume,errorDetails:"0x00000000"};this.gameSessionAnalyticsService.setResumeType(this.resumeType),this.gameSessionAnalyticsService.handleGeronimoLaunchResult(G,this.sharedStreamingProperties.sessionId),this.gameSessionDistributedTracingService.updateGeronimoLaunchInfo(G,this.sharedStreamingProperties.sessionId)}onStreamingFirstFrame(G){return this.logger.info("onStreamingFirstFrame"),this.isVideoReceived=!0,this._hasFirstFrameBeenReceived=!0,(0,o.of)(G)}shouldCleanupAndLaunchOnSessionLimitReached(G){const ae=(G.sessions?G.sessions:[]).find(Ce=>Ce.appId!==this.streamingParams.appId);return ae?this.shouldQuitAndLaunchFactory?this.shouldQuitAndLaunchFactory(ae.appId,this.streamingParams.appName):(this.logger.info("shouldQuitAndLaunchFactory is unset, proceeding with game launch"),(0,o.of)(!0)):(this.logger.info("No other session is running a different app, proceeding with game launch"),(0,o.of)(!0))}onSetupFailure(G){return this.logger.error("onSetupFailure",G),this.wasStreamingRequested=!1,this.sessionRequested=!1,this.updateSessionId(G.sessionId,G.subSessionId),1===this.sessionStartAttempts&&G.result.result===R.b5.NVB_R_SESSION_LIMIT_REACHED?(this.logger.info("Attempted to launch a session resulted in session limit reached"),this.shouldCleanupAndLaunchOnSessionLimitReached(G).pipe((0,l.s)(1),(0,P.ZZ)(ue=>ue?(this.logger.info("Stopping or resuming active session"),this.gameSessionAnalyticsService.moveGameLaunchDuration(W.iVs.SessionCleanup,W.iVs.StartSession),this.gameSessionAnalyticsService.resetSeatSetupEventSequence(!0),this.gameSessionAnalyticsService.nextSeatSeatupEvent(null,!0),this.sessionCleanup(G)):(this.handleSetupFailure(G),this.logger.info("Consuming setup failure because cleanup-and-launch was rejected"),D.t)),(0,l.s)(1),(0,r.M)(()=>{this.gameSessionAnalyticsService.updateGameLaunchDurations(W.iVs.SessionCleanup,W.iVs.StartSession),this.gameSessionAnalyticsService.startGameLaunchDuration(W.iVs.StreamerClientSetupDuration)}),(0,P.ZZ)(ue=>ue.error?this.handleSetupFailure({event:R.CW.SESSION_SETUP_FAILURE,result:{requestId:0,result:ue.result},sessionId:""}):this.start(ue.sessionId).pipe((0,P.ZZ)(()=>D.t))))):this.handleSetupFailure(G)}onSessionStopped(G){return this.logger.info("onSessionStopped"),this.sessionRequested=!1,this.wasStreamingRequested=!1,this.updateSessionId(G.sessionId,G.subSessionId),(0,o.of)(G)}handleSetupFailure(G){this.gameSessionAnalyticsService.updateGameLaunchDurations(W.iVs.StartSession,void 0),this.gameSessionAnalyticsService.resetSeatSetupEventSequence(!1),this.gameSessionAnalyticsService.nextSeatSeatupEvent(null,!0);const ue=this.getErrorCode(G.result),ae={status:"0x00000000"!==ue?n.zk.isCefPlatform()?W.fbu.GeronimoLaunchError:W.fbu.RagnarokLaunchError:W.fbu.Success,isResume:this.isResume,errorDetails:ue.toString()};return this.logger.info("received session error : ",ae),this.gameSessionAnalyticsService.setResumeType(this.resumeType),this.gameSessionAnalyticsService.handleGeronimoLaunchResult(ae,G.sessionId),this.gameSessionDistributedTracingService.updateGeronimoLaunchInfo(ae,G.sessionId),this.sessionStartAttempts=0,(0,o.of)(G)}getErrorCode(G){let ue;return ue=(0,v.isArray)(G.extendedError)&&G.extendedError.length>0?G.extendedError[0]:G.result,(0,W.yJs)(ue)}onSessionResumeFailure(G){this.wasStreamingRequested=!1,this.sessionRequested=!1;const ue=G;return"connectivity"===this.autoResumeState?this.hasSessionTimedOut?(this.logger.info("returning cached terminated event"),(0,o.of)(this.prevTerminatedInfo)):(this.logger.info("auto resume failed, retrying",G),this.resumeableTerminateWrapper(this.prevTerminatedInfo,!0)):this.autoResuming||ue.result.result!==R.b5.NVB_R_SESSION_NOT_PAUSED&&ue.result.result!==R.b5.NVB_R_SESSION_NOT_ACTIVE?(this.logger.error("onResumeFailure",G),this.sendResumeFailureTelemetryData({status:n.zk.isCefPlatform()?W.fbu.GeronimoLaunchError:W.fbu.RagnarokLaunchError,errorDetails:(0,v.propertyOf)(G)("result").toString()}),this.updateSessionId(G.sessionId,G.subSessionId),(0,o.of)(G)):(this.logger.info("The session to be resumed is no longer active, starting a new session"),this.start(void 0,void 0,!0).pipe((0,P.ZZ)(ae=>D.t)))}resetAutoResumingState(){this.autoResumeState="none",this.prevTerminatedInfo=null}updateNetorkTestIndirectPolicy(G,ue){return G?this.networkConfigurationService.updateCurrentFingerprintNetworkTestFlag(G,ue):(0,o.of)(!1)}getStreamerNetworkErrorInfo(G,ue){const ae=ue.toString(16).toUpperCase();let Ce=[!1];return G===R.fZ.NVB_SN_STREAMER_NETWORK_ERROR&&this.nvstNetworkErrorCodes.test(ae)?Ce=[!0,W.VK0.StreamerNetworkError]:this.appConfig.featureEnablement.networkTestPolicy.isFrameLossTimeoutErrorEnabled&&G===R.fZ.NVB_SN_PAUSED_BY_USER&&ue===R.Jt.GFNPC_CLIENT_FRAME_LOSS_TIMEOUT_ERROR&&(Ce=[!0,W.VK0.StreamerFrameLossTimeoutError]),this.logger.info(`Network test should${Ce[0]?"":" not"} be triggered from network error code: 0x${ae}`),Ce}getErrorKeyByValue(G){let ue="";return[R.Jt,R.b5,R.fZ].forEach(Ce=>{const Se=Object.keys(Ce).find(Ne=>Ce[Ne]===G);Se&&(ue=Se)}),ue}updateSessionCacheIfNeeded(G){var ue;if(!G.pauseRequested&&!(null!==(ue=G.isSessionAlive)&&void 0!==ue?ue:this.isResumableNetworkErrorCode(G))){const Ce=this.sharedStreamingProperties.sessionId;this.logger.info("Marking session as unresumable on streaming termination:",Ce),this.sessionManagerAdapter.markSessionUnresumable(Ce)}}onStreamingTerminated(G){var ue,ae;this.logger.info("onStreamingTerminated",G),G=this.mapSleepErrorCode(G),this.discordService.clearPresence(),this.isStreaming=!1,this.wasStreamingRequested=!1,null===(ue=this.clipboardAvailableSub)||void 0===ue||ue.unsubscribe(),null===(ae=this.clipboardInitSub)||void 0===ae||ae.unsubscribe();const Ce={errorCode:G.reason,extendedCode:G.extendedCode,errorString:this.getErrorKeyByValue(G.reason)};if(this.udsHelperService.streamingErrorDetails=Ce,G.pauseRequested)return this.resumableSession=!0,(0,o.of)(G);this.useGridServer2&&this.updateSessionCacheIfNeeded(G);const[Se,Ne]=this.getStreamerNetworkErrorInfo(G.reason,G.extendedCode);return this.updateNetorkTestIndirectPolicy(Se,Ne).pipe((0,I.W)(we=>(this.logger.error("Unable to update streamer network test policy: ",we),(0,o.of)(!1))),(0,P.ZZ)(we=>{var ve;if(this.isVideoReceived&&this.isResumableNetworkErrorCode(G))return this.resumableSession=!0,this.isVideoReceived=!1,this.logger.info("session is resumable, sending STREAMING_CONNECTION_LOST event"),this.connectivityEventSub.next({event:R.JY.STREAMING_CONNECTION_LOST}),null!==(ve=this.appConfig.streamer)&&void 0!==ve&&null!==(ve=ve.autoResumeConfig)&&void 0!==ve&&ve.autoResumeDisabled?(0,o.of)(G):(this.reconnectTimeout.pipe((0,l.s)(1)).subscribe(()=>{this.hasSessionTimedOut=!0,this.logger.info("hasSessionTimedOut set to true")}),this.resumeableTerminateWrapper(G,!1));if(this.useGridServer2){if(this.shouldDeleteSession(G)){this.logger.info("calling stop on session manager service");const Pe=this.sessionManagerAdapter.stop(G.sessionId,G.reason).pipe((0,P.ZZ)(()=>D.t));return(0,i.h)(this.processStreamingTermination(G),Pe)}return this.logger.info("Do not delete session as server has taken care of it"),this.processStreamingTermination(G)}return this.processStreamingTermination(G)}))}isResumableNetworkErrorCode(G){return this.logger.info("isNetworkErrorCode? :",G),G.isResumable&&G.reason!==R.fZ.NVB_SN_TERMINATED_DUE_TO_SYSTEM_SLEEP}resumeableTerminateWrapper(G,ue){const ae=this.terminatingConnectivityAutoResume$.asObservable().pipe((0,S.u)(null)),Ce=this.resumableTerminate("connectivity",G),Se=ue?(0,p.O)(this.appConfig.streamer.reconnectRefreshInterval).pipe((0,P.ZZ)(()=>Ce)):Ce;return(0,i.h)(Se,ae).pipe((0,L.$)(),(0,s.v)(()=>!1===this.isStreaming),(0,P.ZZ)(Ne=>((0,v.isNil)(Ne)?this.logger.info("Terminate Fired!"):this.logger.info("Auto resume failed!"),(0,o.of)(G))))}resumableTerminate(G,ue){if(this.networkStatusService.isOnline)return this.attemptAutoResume(G,ue);{const ae=this.networkStatusService.onlineStatusChanged.pipe((0,k.p)(Ce=>!0===Ce));return(0,i.h)(this.reconnectTimeout,ae).pipe((0,L.$)(),(0,P.ZZ)(Ce=>!0===Ce?this.attemptAutoResume(G,ue):(this.logger.info("Network timed out!"),(0,o.of)(ue))))}}attemptAutoResume(G,ue){const ae=this.startSessionsPollingSpan(ne.pB.GetSessionInfo);return this.logger.info("attemptAutoResume"),this.useGridServer2?this.sessionManagerAdapter.getSessionInfo(this.sharedStreamingProperties.sessionId,ae).pipe((0,r.M)(Ce=>{this.logger.info("attemptAutoResume activeSessionInfo: ",Ce),this.processGetSessionInfo(Ce,ae)}),(0,L.$)(),(0,P.ZZ)(Ce=>this.processAutoResume(G,ue)),(0,I.W)(Ce=>(this.logger.info("attemptAutoResume error:",Ce),(0,o.of)(ue)))):this.getSessionInfo(this.sharedStreamingProperties.sessionId,ae).pipe((0,P.ZZ)(Ce=>this.getSessionInfoEvent$),(0,r.M)(Ce=>{this.processGetSessionInfo(Ce,ae)}),(0,L.$)(),(0,P.ZZ)(Ce=>this.processAutoResume(G,ue)),(0,I.W)(Ce=>(this.logger.info("attemptAutoResume error:",Ce),(0,o.of)(ue))))}processGetSessionInfo(G,ue){this.logger.info("update resumable state and clear"),this.distributedTracingUtilService.closeSpan(ue),this.updateResumableSession(G)}processAutoResume(G,ue){return this.resumableSession?this.autoResume(G,ue).pipe((0,P.ZZ)(()=>D.t),(0,I.W)(ae=>(0,o.of)(ue))):(this.logger.info("fire terminated",this.resumableSession,this.networkStatusService.isOnline),(0,o.of)(ue))}autoResume(G,ue){return this.isStreaming?(this.logger.info("autoResume: already streaming"),(0,o.of)(!0)):(this.logger.info("auto resuming...."),this.autoResumeState=G,this.prevTerminatedInfo=ue,this.isResume=!0,this.gameSessionAnalyticsService.setWasStartedWithResume(!0),this.gameSessionAnalyticsService.setResumeType(this.resumeType),this.gfnResume().pipe((0,r.M)(ae=>{this.logger.info("auto-resume invoked"),this.isAutoResumedSession=!0,this.wasStreamingRequested=ae},ae=>{this.logger.error("auto-resume failed",ae),this.resetAutoResumingState(),this.clearSessionId(!this.isSessionResumable())})))}processStreamingTermination(G){return this.logger.info("clear state"),this.resumableSession=!1,this.clearSessionId(!this.isSessionResumable()),(0,o.of)(G)}clearSessionId(G=!1){this.sharedStreamingProperties.sessionId=null,this.sharedStreamingProperties.subSessionId=null,G&&(this.logger.info("clear old streaming sessionId from sharedstorage.json."),this.updateSessionId())}updateResumableSession(G){this.logger.info("updateResumableSession"),this.resumableSession=!0,this.getResumableState(G.result,G.sessions)===R.hY.NOT_RESUMABLE&&(this.resumableSession=!1),this.logger.info("updateResumableSession resumeable",this.resumableSession)}onSessionSetupSuccess(G){return this.sharedStreamingProperties.sessionId=G.sessionId,this.sharedStreamingProperties.subSessionId=G.subSessionId,this.updateSessionId(G.sessionId,G.subSessionId),this.sharedStreamingProperties.streams=G.streams,this.logger.info("streams: "+JSON.stringify(this.sharedStreamingProperties.streams)),this.surveyService.setStreamingSessionId(this.sharedStreamingProperties.sessionId),this.setUDSStreamingProperties(G),this.clipboardService.setStreamingIds(this.sharedStreamingProperties.sessionId,this.sharedStreamingProperties.subSessionId),"connectivity"===this.autoResumeState?(this.logger.info("connectivity auto resuming, suppress success"),D.t):(this.logger.info("streaming mode is",G.streamingMode),(0,o.of)(G))}setUDSStreamingProperties(G){var ue,ae;let Ce=null;var Se,Ne,we,ve,Pe,Oe;(null===(ue=G.streamSettings)||void 0===ue?void 0:ue.length)>0&&(Ce={width:null!==(Se=null===(Ne=G.streamSettings[0])||void 0===Ne||null===(Ne=Ne.videoSettings)||void 0===Ne||null===(Ne=Ne.resolution)||void 0===Ne?void 0:Ne.width)&&void 0!==Se?Se:0,height:null!==(we=null===(ve=G.streamSettings[0])||void 0===ve||null===(ve=ve.videoSettings)||void 0===ve||null===(ve=ve.resolution)||void 0===ve?void 0:ve.height)&&void 0!==we?we:0,fps:null!==(Pe=null===(Oe=G.streamSettings[0])||void 0===Oe||null===(Oe=Oe.videoSettings)||void 0===Oe?void 0:Oe.frameRate)&&void 0!==Pe?Pe:0}),this.udsHelperService.streamingProperties={streamedAppName:null===(ae=this.streamingParams)||void 0===ae?void 0:ae.appName,...this.streamingProperties,streamingResolution:Ce,sessionStartTime:Date.now(),gpuType:null==G?void 0:G.gpuType}}onSessionSetupProgress(G){return this.autoResuming?D.t:(0,o.of)(G)}onFrameLossError(G){return this.logger.info("onFrameLossError"),this.pauseStreaming(R.Jt.GFNPC_CLIENT_FRAME_LOSS_TIMEOUT_ERROR).pipe((0,U.T)(ue=>G),(0,I.W)(ue=>(this.logger.error("pauseStreaming failed",ue),(0,o.of)(G))))}onFrameLossWarning(G){return this.logger.info("onFrameLossWarning"),(0,o.of)(G)}onFrameLossCleared(G){return this.logger.info("onFrameLossCleared"),(0,o.of)(G)}updateSessionId(G,ue){this.logger.info("Update session Id"),this.updateSessionIdsForSharedServices(G,ue),this.sharedStorageService.writeBlock("streamingSessionId",{sessionId:G||null}).subscribe(a.l,Ce=>{this.logger.error("Failed to update the session Id in shared storage. Error:",Ce)})}updateSessionIdsForSharedServices(G,ue){var ae;G&&(this.gfcHelperService.updateEventDataParamIds({streamSessionId:G,streamSubSessionId:ue}),this.opportunityHelperService.streamingProperties={sessionId:G,subSessionId:ue},null!==(ae=this.appConfig.featureEnablement)&&void 0!==ae&&ae.remoteLogInNative&&this.bridgeService.executeCommand(E.Ts.Common.Remotelog.SessionIdUpdated,{sessionId:G,subSessionId:ue}).subscribe())}gfnStart(G,ue){return this.gameSessionAnalyticsService.updateGameLaunchDurations(W.iVs.StreamerClientSetupDuration,W.iVs.StreamerConnectionDuration),this.useGridServer2?(this.logger.info("Invoking session manager start"),this.launchStreaming(G,ue)):this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.Start,G)}preStartSetup(G){return this.setClientSupportsVirtualGamepad().pipe((0,P.ZZ)(()=>this.setSupportedHidTypes(G)),(0,P.ZZ)(()=>this.getGamePadBitmap()))}setClientSupportsVirtualGamepad(){var G;return null!==(G=this.appConfig)&&void 0!==G&&null!==(G=G.featureEnablement)&&void 0!==G&&G.virtualController?this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.SetClientSupportsVirtualGamepad,{supportsVirtualGamepad:!0}):(0,o.of)(!1)}setSupportedHidTypes(G){return this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.SetSupportedHidTypes,{supportedControls:G})}getGamePadBitmap(){return this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.GetGamepadBitmap)}createStreamingStartParams(G,ue){var ae,Ce,Se,Ne,we,ve,Pe,Oe,Be,tt,Ee,ot,We,Qe,Fe,Xe,_e,He,De,Re,K,ke,Ue,et;const gt=[];let vt,Mt;return null===(ae=ue.session)||void 0===ae||ae.connectionInfo.forEach(Ut=>{Ut&&(this.logger.info("media connection info usage:",Ut),gt.push({ip:Ut.ip,port:Ut.port,protocol:Ut.protocol,usage:Ut.usage,appLevelProtocol:Ut.appLevelProtocol,resourcePath:Ut.resourcePath}))}),this.logger.info("media connection info length:",gt.length),this.keyboardLayoutCode&&(vt=this.keyboardLayoutCode,Mt=!1),{sessionType:G.session?E.Or.Gfn.Streaming.SessionType.Resume:E.Or.Gfn.Streaming.SessionType.Launch,cmsId:G.appId.toString(),appLaunchMode:G.appLaunchMode,maxLocalPlayers:G.maxLocalPlayers,zoneName:ue.zoneName,zoneAddress:null===(Ce=ue.session)||void 0===Ce?void 0:Ce.zoneAddress,accountLinked:G.accountLinked,sessionId:null===(Se=ue.session)||void 0===Se?void 0:Se.sessionId,subSessionId:null===(Ne=ue.session)||void 0===Ne?void 0:Ne.subSessionId,heroImage:G.heroImage,gameDisplayOwnRating:G.gameDisplayOwnRating,storeName:G.storeName,appName:G.appName,subscriptionLongDesc:G.subscriptionLongDesc,providerName:G.providerName,audioModeFormat:G.audioModeFormat,serverLocation:G.serverLocation,streamingProfile:{name:null===(we=G.streamingProfile)||void 0===we?void 0:we.name,description:null===(ve=G.streamingProfile)||void 0===ve?void 0:ve.description,width:null===(Pe=ue.session)||void 0===Pe?void 0:Pe.monitorSettings[0].widthInPixels,height:null===(Oe=ue.session)||void 0===Oe?void 0:Oe.monitorSettings[0].heightInPixels,fps:null===(Be=ue.session)||void 0===Be?void 0:Be.monitorSettings[0].framesPerSecond,maxBitrate:null===(tt=G.streamingProfile)||void 0===tt?void 0:tt.maxBitrate,maxBitrateAuto:null===(Ee=G.streamingProfile)||void 0===Ee?void 0:Ee.maxBitrateAuto,dataUsage:null===(ot=G.streamingProfile)||void 0===ot?void 0:ot.dataUsage,drc:null===(We=G.streamingProfile)||void 0===We?void 0:We.drc,vSync:null===(Qe=G.streamingProfile)||void 0===Qe?void 0:Qe.vSync,aspectRatio:null===(Fe=G.streamingProfile)||void 0===Fe?void 0:Fe.aspectRatio,maxPacketSize:null===(Xe=G.streamingProfile)||void 0===Xe?void 0:Xe.maxPacketSize,hdrStreaming:(null===(_e=ue.session)||void 0===_e?void 0:_e.monitorSettings[0].sdrHdrMode)===w.SdrHdrMode.HDR,hdr10PlusGamingData:null===(He=ue.session)||void 0===He||null===(He=He.monitorSettings[0])||void 0===He?void 0:He.hdr10PlusGamingData,hdrStreamingMode:null===(De=G.streamingProfile)||void 0===De?void 0:De.hdrStreamingMode,bitDepth:ue.session.finalizedStreamingFeatures.bitDepth,reflex:null===(Re=ue.session)||void 0===Re?void 0:Re.finalizedStreamingFeatures.reflex,cloudGsync:null===(K=ue.session)||void 0===K?void 0:K.finalizedStreamingFeatures.cloudGsync,l4sEnabled:null===(ke=ue.session)||void 0===ke?void 0:ke.finalizedStreamingFeatures.enabledL4S,supportedHidDevices:ue.session.finalizedStreamingFeatures.supportedHidDevices},contentRating:G.contentRating,eventInfoGuids:{systemInfoGuid:this.systemInfoGuid,streamingProfileGuid:this.streamingProfileGuid},mediaConnectionInfo:gt,configInfo:this.configureStreamingSettingsParameters,hostName:G.zoneName,gpuName:this.findGpuName(G.gpuNameMap,null===(Ue=ue.session)||void 0===Ue?void 0:Ue.gpuType),gpuType:null===(et=ue.session)||void 0===et?void 0:et.gpuType,keyboardLayout:vt,allowKeyboardLayoutChange:Mt,locale:G.locale,clientAppVersion:this.appConfig.build.version,supportedControls:G.supportedControls}}findGpuName(G,ue){this.logger.info("gpunamemap: ",G);let ae="";const Ce=null==G?void 0:G.findIndex(Se=>Se.gpuName===ue);return Ce>=0&&(ae=G[Ce].mappedGpuName),ae}gfnPrepare(G){return this.useGridServer2?this.sessionManagerAdapter.prepare(G):this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.Prepare,G)}getActiveSessions(G){return this.setAuthInfo().pipe((0,P.ZZ)(()=>{const ue={spanData:(0,v.isNil)(G)?{}:this.distributedTracingUtilService.extractContextFromSpan(G)};return this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.GetActiveSessions,ue)}))}getSessionInfo(G,ue){const ae={session:G,spanData:ue?this.distributedTracingUtilService.extractContextFromSpan(ue):{}};return this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.GetSessionInfo,ae)}createStartParameters(G,ue,ae,Ce){const Se=(0,v.pick)(G,["appId","appLaunchMode","frameStatsEnabled","summaryStatsEnabled","maxLocalPlayers","advancedLatencyOptimization","networkPacketCaptureEnabled","metaData","frameLossWarningTimeout","frameLossErrorTimeout","address","serverType","port","partnerCustomData","streamingProfile","locale","accountLinked","persistingInGameSettings","gameShortName","networkSessionId","audioModeFormat","supportedControls","heroImage","gameDisplayOwnRating","storeName","appName","subscriptionLongDesc","providerName","zoneName","userAge","serverLocation","gpuNameMap","streamingDisplayDataInfo"]);this.keyboardLayoutCode&&(Se.keyboardLayout=this.keyboardLayoutCode,Se.allowKeyboardLayoutChange=!1),Se.contentRating=this.startParamsContentRating,Se.refreshAuthToken=Ce,Se.metaData.ClientImeSupport=this.appConfig.featureEnablement.serverIME?"0":"1";const Ne=this.streamingProfileService.getCurrentPhysicalResolution();return Ne&&(Se.metaData.clientPhysicalResolution=JSON.stringify(Ne)),Se.session=ue,Se.spanData=ae,Se}start(G,ue,ae=!1){this.streamingSpan=this.distributedTracingUtilService.startSpan(ne.pB.StartStreaming,this.gameSessionDistributedTracingService.getCurrentActiveSpan()),this.isResume=!(0,v.isNil)(G),this.gameSessionAnalyticsService.setResumeType(this.resumeType);const Ce=this.createStartParameters(this.streamingParams,G,this.distributedTracingUtilService.extractContextFromSpan(this.streamingSpan),ue),{partnerCustomData:Se,...Ne}=Ce;return this.logger.info("start",Ne),ae||(this.sessionStartAttempts+=1),this.gfnStart(Ce,this.streamingSpan).pipe((0,r.M)(we=>{this.logger.info("gfnStart returned: ",we),this.wasStreamingRequested=we}))}setAuthInfo(G=!1){return this.gfnSdkService.getAuthInfo().pipe((0,P.ZZ)(ae=>ae.authType===ee.hT.JWT?(0,o.of)({tokenType:W.tS_.NVB_AUTH_JWT,token:ae.authToken}):this.idmService.getAuthToken(G,this.streamingSpan).pipe((0,U.T)(Ce=>({tokenType:W.tS_.NVB_AUTH_JWT_GFN,token:Ce.token})))),(0,P.ZZ)(ae=>this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.SetAuthInfo,ae)))}startSessionsPollingSpan(G){return this.distributedTracingUtilService.startSpan(G,this.gameSessionDistributedTracingService.getCurrentActiveSpan())}getSessionState(G){if(G){this.logger.info("Recovering active session from session result Info.");const ue=G.sessions?G.sessions:[],ae=this.getResumableState(G.result,ue);return this.logger.info("resumable state",G,ae),(0,o.of)({resultInfo:G.result,sessions:ue,resumableState:ae})}{this.logger.info("pollActiveSessions");const ue=this.startSessionsPollingSpan(ne.pB.GetActiveSessions);return this.useGridServer2?this.sessionManagerAdapter.getActiveSessions(ue).pipe((0,U.T)(ae=>this.processGetActiveSessionResult(ae)),(0,L.$)(),(0,r.M)(()=>this.distributedTracingUtilService.closeSpan(ue))):this.getActiveSessions(ue).pipe((0,P.ZZ)(ae=>this.activeSessionsEvent$),(0,U.T)(ae=>this.processGetActiveSessionResult(ae)),(0,L.$)(),(0,r.M)(()=>this.distributedTracingUtilService.closeSpan(ue)))}}processGetActiveSessionResult(G){this.logger.info("activeSessionResultInfo: ",G);const ue=this.getResumableState(G.result,G.sessions);return this.logger.info("resumable state",G,ue),{resultInfo:G.result,sessions:G.sessions,resumableState:ue}}setupSession(G){if(this.logger.info("setupSession",G),(0,v.isNil)(G))throw new Error("Invalid session state");const ue=(0,v.get)(G,"resultInfo.result"),ae={error:!this.isSuccess(ue),result:ue};if(ae.error)return this.logger.error("unexpected result code in sessions",ae.result),(0,o.of)(ae);const Ce=G.sessions;let Se=Ce.length;const Ne=[];for(const ve of Ce)ve.appId===this.streamingParams.appId?ve.status!==R.TP.NVB_SESSION_INITIALIZING?(this.logger.info("resuming session",ve.sessionId),Se--,ae.sessionId=ve.sessionId,ae.appLaunchMode=ve.appLaunchMode):(this.logger.info("found session in initializing state, stopping it"),Ne.push(ve.sessionId)):Ne.push(ve.sessionId);this.logger.info("stopEventsToWaitFor",Se,ae.sessionId);let we=(0,o.of)(ae);if(Se>0){const ve=(0,te.H)(Ne).pipe((0,r.M)(Pe=>this.logger.info("Stopping session ",Pe)),(0,P.ZZ)(Pe=>this.stopStreamingInternal(Pe)),(0,I.W)(Pe=>(this.logger.error("Caught error while stopping stream ",Pe),(0,o.of)(null))));we=this.stopEvent$.pipe((0,M.S)(Se),(0,S.u)(ae)),ve.subscribe(Pe=>this.logger.info("Stopped session: ",Pe),Pe=>{this.logger.error("Failed to stop session: ",Pe),this.gameSessionAnalyticsService.handleGameLaunchFailure({status:W.fbu.HTTPError,errorDetails:Pe&&Pe.status?Pe.status.toString():""})},()=>this.logger.info("Finished stopping all sessions"))}return we}sessionCleanup(G){return this.getSessionState(G).pipe((0,P.ZZ)(ue=>this.setupSession(ue)))}isSuccess(G){return G===R.b5.NVB_R_SUCCESS||G===R.b5.NVB_R_UPGRADE_RECOMMENDED||G===R.b5.NVB_R_NO_ACTIVE_SESSION_FOUND||G===R.b5.NVB_R_SESSION_LIMIT_REACHED}getResumableState(G,ue){if(G.result===R.b5.NVB_R_AUTH_ERR_TOKEN_NOT_UPDATED)return this.logger.info("getResumableState - token not updated"),R.hY.NO_AUTH_TOKEN;if(!this.isSuccess(G.result))return this.logger.info("getResumableState - failure",G.result),R.hY.NOT_RESUMABLE;for(const ae of ue)if(ae.appId===this.streamingParams.appId&&this.isResumableSessionState(ae))return this.logger.info("getResumableState - found resumable state"),R.hY.RESUMABLE;return this.logger.info("getResumableState - no resumable sessions found"),R.hY.NOT_RESUMABLE}isResumableSessionState(G){return G.status===R.TP.NVB_SESSION_READY_FOR_CONNECT||G.status===R.TP.NVB_SESSION_PAUSED_INTENTIONAL||G.status===R.TP.NVB_SESSION_PAUSED_UNINTENTIONAL||G.status===R.TP.NVB_SESSION_STREAMING}stopStreamingInternal(G,ue){return this.logger.info("calling stopstreaming internal"),this.useGridServer2?this.wasStreamingRequested?this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.Stop,{session:G,reasonCode:ue}):this.sessionManagerAdapter.stop(G,ue):this.setAuthInfo().pipe((0,P.ZZ)(()=>this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.Stop,{session:G,reasonCode:ue})))}pauseStreamingInternal(G){return this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.PauseStreaming,{reasonCode:G})}gfnResume(){if(this.logger.info("gfnResume invoked"),this.useGridServer2){this.logger.info("Invoking session manager resume");const G=this.createStartParameters(this.streamingParams,this.sharedStreamingProperties.sessionId),ue=this.launchStreaming(G).pipe((0,k.p)(Ce=>!!Ce)),ae=this.streamingEvent$.pipe((0,k.p)(Ce=>Ce.event===R.CW.SESSION_RESUME_FAILURE||Ce.event===R.CW.STREAMING_STOPPED),(0,l.s)(1),(0,P.ZZ)(Ce=>(0,N.$)(Ce)));return(0,z.O4)(ue,ae)}return(0,_.zV)([this.networkConfigurationService.networkSessionId$,this.setAuthInfo()]).pipe((0,l.s)(1),(0,P.ZZ)(([G,ue])=>this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.Resume,{networkSessionId:G})))}launchStreaming(G,ue){return this.preStartSetup(G.supportedControls).pipe((0,P.ZZ)(ae=>(this.logger.info("gfn start bitmap: ",ae),G.remoteControllersBitmap=ae,this.sessionRequested=!0,this.sessionManagerAdapter.startOrResume(G,ue))),(0,P.ZZ)(ae=>{if(this.logger.info("sessionStartResumeResult in launchStreaming: ",ae),(null==ae?void 0:ae.code)===w.ScErrorCode.Success){const Ce=this.createStreamingStartParams(G,ae);return this.logger.info("launchStreamParameters: ",Ce),this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.StartStreaming,Ce)}return(0,o.of)(!1)}))}sendResumeFailureTelemetryData(G){this.gameSessionAnalyticsService.handleGameLaunchFailure({isResume:!0,status:G.status,errorDetails:G.errorDetails})}shouldDeleteSession(G){this.logger.info("shouldDeleteSession eventInfo is: ",G);let ue=!1;return!G.isResumable&&0===G.streamStopReason&&(ue=!0),ue}resetStreamingServiceFlags(){this.isVideoReceived=!1,this._hasFirstFrameBeenReceived=!1,this.isStreaming=!1,this.resumableSession=!1,this.wasStreamingRequested=!1,this.sharedStreamingProperties={sessionId:null,subSessionId:null},this.isResume=!1,this.autoResumeState="none",this.sessionStartAttempts=0,this.isAutoResumedSession=!1,this.prevTerminatedInfo=null,this.hasSessionTimedOut=!1,this.isAuthTokenRefreshedOnce=!1}stopStreaming(G){var ue,ae;if(null===(ue=this.clipboardAvailableSub)||void 0===ue||ue.unsubscribe(),null===(ae=this.clipboardInitSub)||void 0===ae||ae.unsubscribe(),this.logger.info("stop streaming called, wasStreamingStarted:",this.wasStreamingRequested," isStreaming:",this.isStreaming," isSessionResumable:",this.isSessionResumable()," isSessionRequested:",this.sessionRequested),!(this.wasStreamingRequested||this.isStreaming||this.isSessionResumable()||this.sessionRequested))return this.clearSessionId(!0),(0,o.of)(!0);let Ce=this.streamingEvent$.pipe((0,k.p)(Se=>Se.event===R.CW.STREAMING_TERMINATED||Se.event===R.CW.STOP_RESULT||Se.event===R.CW.SESSION_STOPPED));return this.networkStatus.isOnline||(this.logger.info("Stop Streaming when user is offline"),Ce=(0,o.of)(this.useGridServer2?{event:R.CW.STREAMING_STOPPED}:{event:R.CW.STREAMING_TERMINATED})),(0,f.yU)(this.stopStreamingInternal(this.sharedStreamingProperties.sessionId,G),Ce).pipe((0,L.$)(),(0,U.T)(Se=>Se[0]),(0,I.W)(Se=>(this.logger.error("Caught error while stopping the streaming",Se),(0,o.of)(!1))))}pauseStreaming(G){return this.logger.info("pause streaming called, isStreaming:",this.isStreaming),this.pauseStreamingInternal(G)}autoResumePausedStreaming(){if(this.autoResuming)return this.logger.info("autoResumePausedStreaming: already running auto resume, state =",this.autoResumeState),(0,o.of)(!0);const G=this.sharedStreamingProperties.sessionId;return this.resumableSession&&G?(this.logger.info("autoResumePausedStreaming: sessionId =",G),this.autoResume("pauseResume")):(this.logger.error(`autoResumePausedStreaming: invalid state, resumableSession = ${this.resumableSession} sessionId = ${G}`),(0,N.$)(new h.U))}getPrepareParameters(G){let ue=R.qF.NVB_PROFILE_GAMING_1080P_60FPS;(this.windowService.window.screen.height<1080||this.windowService.window.screen.width<1920)&&(ue=R.qF.NVB_PROFILE_GAMING_720P_60FPS);const ae=(0,v.pick)(G,["address","serverType","port","deviceId","advancedLatencyOptimization","directInput","streamingProfile","appName","locale"]);return this.clientHeaderService.getCommonHeaders({withClientId:"lcars"}).pipe((0,U.T)(Ce=>{const Se=Object.entries(Ce).map(([we,ve])=>({headerName:we,headerValue:ve instanceof Array?ve[0]:ve}));return{...ae,profile:ue,cmsId:G.appId.toString(),shortName:G.gameShortName,clientAppVersion:this.appConfig.build.version,clientHeaders:Se}}))}configureStreamingSettings(G){return this.mergeConfigureStreamingSettings(G),this.sessionManagerAdapter.configureSessionSettings(this.configureStreamingSettingsParameters).pipe((0,P.ZZ)(()=>this.bridgeService.executeCommand(E.Ts.Gfn.Streaming.ConfigureStreamingSettings,this.configureStreamingSettingsParameters)))}mergeConfigureStreamingSettings(G){G.gxtOverrideData&&(this.configureStreamingSettingsParameters.gxtOverrideData=G.gxtOverrideData),null!=G.isInternalUser&&(this.configureStreamingSettingsParameters.isInternalUser=G.isInternalUser),G.overrideData&&(this.configureStreamingSettingsParameters.overrideData=G.overrideData),G.clientConfigOverride&&(this.configureStreamingSettingsParameters.clientConfigOverride=G.clientConfigOverride)}startStreaming(G){return this.streamingParams=G,this.hasSessionTimedOut&&(this.hasSessionTimedOut=!1,this.cancelTimerSubject.next(!0)),this.sessionStartAttempts=0,this.getPrepareParameters(G).pipe((0,r.M)(ue=>this.logger.info("prepare params",ue)),(0,P.ZZ)(ue=>this.gfnPrepare(ue)),(0,P.ZZ)(ue=>this.useGridServer2?(0,o.of)(!0):this.setAuthInfo()),(0,P.ZZ)(ue=>this.processPartnerData()),(0,P.ZZ)(ue=>this.updateKeyboardLayout()),(0,P.ZZ)(ue=>this.updateStreamingContentRating()),(0,P.ZZ)(ue=>{var ae;const Ce=null===(ae=this.sessionManagerAdapter)||void 0===ae?void 0:ae.getResumableSessionId(G.appId);return this.gameSessionAnalyticsService.setWasStartedWithResume(!!Ce),this.start(Ce)}))}processPartnerData(){let G=!1;const ue=this.deeplinkHelperService.getDeeplinkPartnerData();return ue&&(this.logger.info("Found partner-data in play-game deeplink"),this.streamingParams.metaData.partnerData=ue,G=!0),this.gfnSdkService.isThisAGFNSDKSession()?(0,_.zV)([this.gfnSdkService.getPartnerData(),this.gfnSdkService.getPartnerSecureData()]).pipe((0,U.T)(([ae,Ce])=>(ae&&ae.length>0?(this.streamingParams.metaData.partnerData=ae,this.logger.info("partnerData passed from GFN SDK"),G=!0):this.logger.info("No partnerData passed from GFN SDK"),Ce&&Ce.length>0?(this.streamingParams.partnerCustomData=Ce,this.logger.info("partnerSecureData passed from GFN SDK"),G=!0):this.logger.info("No partnerSecureData passed from GFN SDK"),G))):(G||this.logger.info("No partnerData and partnerSecureData present"),(0,o.of)(G))}isSessionResumable(){return this.resumableSession}isResumed(){return this.isResume}terminateConnectivityAutoResume(){this.terminatingConnectivityAutoResume$.next()}resume(){return this.logger.info("resuming...."),this.getSessionState().pipe((0,P.ZZ)(G=>{if(this.resumableSession=G.resumableState===R.hY.RESUMABLE,this.resumableSession)return this.logger.info("resumable session found"),this.isAutoResumedSession=!1,this.isResume=!0,this.gameSessionAnalyticsService.setWasStartedWithResume(!0),this.gameSessionAnalyticsService.setResumeType(this.resumeType),this.gfnResume().pipe((0,r.M)(ue=>{this.wasStreamingRequested=ue}));{this.logger.error("no resumable sessions found");const ue=new h.U;return this.sendResumeFailureTelemetryData({status:W.fbu.ClientError,errorDetails:ue.result.toString()}),(0,N.$)(ue)}}))}}return(ge=ie).\u0275fac=function(G){return new(G||ge)(e.KVO(n.J6),e.KVO(n.NZ),e.KVO(n.s7),e.KVO(y.yQ),e.KVO(X.s),e.KVO(c.z),e.KVO(W.k_2),e.KVO(ee.DL),e.KVO(W.Vk6),e.KVO(W.qr_),e.KVO(n.CF),e.KVO(ne.Z1),e.KVO(W.uUB),e.KVO(W.q8U),e.KVO(g.Fw),e.KVO(W.Icg),e.KVO(d.qQ),e.KVO(C.lS),e.KVO(n.CF),e.KVO(W.xfC),e.KVO(n.zW),e.KVO(W.wCY),e.KVO(W.WWE),e.KVO(W.y1M),e.KVO(W.FFI),e.KVO(W.Tzh),e.KVO(W.umq),e.KVO(Q.Nm))},ge.\u0275prov=e.jDH({token:ge,factory:ge.\u0275fac,providedIn:"root"}),ie})()},18880:(xe,de,t)=>{"use strict";t.d(de,{Q6:()=>ne,SF:()=>W});var e=t(26537),n=t(58527),E=t(47766),O=t(61142),B=t(3457),P=t(28139),k=t(56106),U=t(47973),r=t(51394),A=t(99204),l=t(20288),I=t(4418),S=t(31308),L=t(54676),s=t(98504),M=t(65240);const u=ee=>({spinnerContent:ee}),x=()=>({progressBarContent:!0}),p=ee=>({background:ee});function i(ee,b){if(1&ee&&n.nrm(0,"mat-progress-spinner",10),2&ee){const w=n.XpG(2);n.Y8G("diameter",48)("mode",w.data.progressMode)("value",w.value)}}function o(ee,b){if(1&ee&&(n.j41(0,"div",7),n.DNE(1,i,1,3,"mat-progress-spinner",8),n.nrm(2,"span",9),n.nI1(3,"translate"),n.k0s()),2&ee){const w=n.XpG();n.Y8G("ngClass",n.eq3(6,u,w.data.spinner)),n.R7$(),n.Y8G("ngIf",w.data.spinner),n.R7$(),n.Y8G("innerHtml",n.i5U(3,3,w.data.query,w.data.queryParam),n.npT)}}function _(ee,b){if(1&ee){const w=n.RV6();n.j41(0,"div",20)(1,"mat-checkbox",21),n.mxI("ngModelChange",function(Z){n.eBV(w);const se=n.XpG().$implicit;return n.DH7(se.state,Z)||(se.state=Z),n.Njj(Z)}),n.bIt("change",function(){n.eBV(w);const Z=n.XpG().index,se=n.XpG(2);return n.Njj(se.onStateChanged(Z))}),n.j41(2,"span",15),n.EFF(3),n.nI1(4,"translate"),n.k0s()()()}if(2&ee){const w=n.XpG().$implicit;n.R7$(),n.R50("ngModel",w.state),n.R7$(2),n.SpI(" ",n.bMT(4,2,w.label)," ")}}function f(ee,b){if(1&ee&&(n.j41(0,"div"),n.DNE(1,_,5,4,"div",19),n.k0s()),2&ee){const w=b.$implicit;n.R7$(),n.Y8G("ngIf",w.label)}}function J(ee,b){if(1&ee){const w=n.RV6();n.j41(0,"div",11),n.nrm(1,"span",12),n.nI1(2,"translate"),n.j41(3,"div")(4,"div",13)(5,"mat-checkbox",14),n.mxI("ngModelChange",function(Z){n.eBV(w);const se=n.XpG();return n.DH7(se.masterState,Z)||(se.masterState=Z),n.Njj(Z)}),n.bIt("change",function(){n.eBV(w);const Z=n.XpG();return n.Njj(Z.onStateChanged())}),n.j41(6,"span",15),n.EFF(7),n.nI1(8,"translate"),n.k0s()()(),n.j41(9,"div",16),n.DNE(10,f,2,1,"div",17),n.k0s()(),n.nrm(11,"span",18),n.nI1(12,"translate"),n.k0s()}if(2&ee){const w=n.XpG();n.R7$(),n.Y8G("innerHtml",n.i5U(2,6,w.data.query,w.data.queryParam),n.npT),n.R7$(4),n.R50("ngModel",w.masterState),n.Y8G("indeterminate",w.checkIndeterminate()),n.R7$(2),n.JRh(n.bMT(8,9,w.data.state)),n.R7$(3),n.Y8G("ngForOf",w.data.subActions),n.R7$(),n.Y8G("innerHtml",n.i5U(12,11,w.data.hint,w.data.hintParam),n.npT)}}function a(ee,b){if(1&ee&&n.nrm(0,"mat-progress-bar",25),2&ee){const w=n.XpG(2);n.Y8G("mode",w.data.progressMode)("value",w.value)}}function D(ee,b){if(1&ee&&(n.j41(0,"div",26),n.EFF(1),n.k0s()),2&ee){const w=n.XpG(2);n.R7$(),n.SpI("",w.value,"%")}}function te(ee,b){if(1&ee&&(n.j41(0,"div",22),n.nrm(1,"span",12),n.nI1(2,"translate"),n.DNE(3,a,1,2,"mat-progress-bar",23)(4,D,2,1,"div",24),n.k0s()),2&ee){const w=n.XpG();n.Y8G("ngClass",n.lJ4(7,x)),n.R7$(),n.Y8G("innerHtml",n.i5U(2,4,w.data.query,w.data.queryParam),n.npT),n.R7$(2),n.Y8G("ngIf",w.data.progressBar),n.R7$(),n.Y8G("ngIf",w.data.progressPercentage)}}function N(ee,b){if(1&ee&&(n.j41(0,"button",27),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&ee){const w=n.XpG();n.Y8G("mat-dialog-close",w.getRetValue1())("ngStyle",n.eq3(5,p,w.data.action1Color)),n.R7$(),n.SpI(" ",n.bMT(2,3,w.data.action1)," ")}}function z(ee,b){if(1&ee&&(n.j41(0,"button",27),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&ee){const w=n.XpG();n.Y8G("mat-dialog-close",w.retVals.Action2)("ngStyle",n.eq3(5,p,w.data.action2Color)),n.R7$(),n.SpI(" ",n.bMT(2,3,w.data.action2)," ")}}function R(ee,b){if(1&ee&&(n.j41(0,"button",27),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&ee){const w=n.XpG();n.Y8G("mat-dialog-close",w.retVals.Action3)("ngStyle",n.eq3(5,p,w.data.action3Color)),n.R7$(),n.SpI(" ",n.bMT(2,3,w.data.action3)," ")}}var W=function(ee){return ee.Action1="action1",ee.Action2="action2",ee.Action3="action3",ee.Action4="",ee}(W||{});let ne=(()=>{var ee;class b{constructor(F,Z){this.data=F,this.localeSerive=Z,this.masterState=!0,this.retVals=W,this.direction="ltr",this.value=0,F.spinner&&(F.progressBar=!1),void 0===F.progressMode&&(F.progressMode="indeterminate"),this.direction=this.localeSerive.isRTLLayoutEnabled?"rtl":"ltr"}set dialogData(F){this.data=F}get dialogData(){return this.data}onStateChanged(F){if(void 0===F)this.data.subActions.forEach(Z=>{Z.state=this.masterState});else{let Z=!0;this.data.subActions.forEach(se=>{se.state&&(Z=!1)}),this.masterState=!Z}}getRetValue1(){return this.masterState?this.retVals.Action1:this.retVals.Action4}checkIndeterminate(){if(0===this.data.subActions.length)return!1;let F=!1;return this.data.subActions.forEach(Z=>{Z.state!==this.masterState&&(F=!0)}),F}}return(ee=b).\u0275fac=function(F){return new(F||ee)(n.rXU(e.Vh),n.rXU(E.iH))},ee.\u0275cmp=n.VBU({type:ee,selectors:[["nv-hig-alert-dialog"]],inputs:{value:"value",dialogData:"dialogData"},decls:11,vars:11,consts:[[3,"dir"],["mat-dialog-title","",1,"font-header6"],["mat-dialog-content","","class","font-body2","fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","14px",3,"ngClass",4,"ngIf"],["mat-dialog-content","","class","font-body2","fxLayout","column","fxLayoutAlign","start left","fxLayoutGap","16px",4,"ngIf"],["mat-dialog-content","","class","font-body2","fxLayout","column","fxLayoutAlign","start center","fxLayoutGap","8px",3,"ngClass",4,"ngIf"],["mat-dialog-actions","",3,"align"],["mat-button","","class","font-button2 hig-button",3,"mat-dialog-close","ngStyle",4,"ngIf"],["mat-dialog-content","","fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","14px",1,"font-body2",3,"ngClass"],["color","accent","fxFlex","none",3,"diameter","mode","value",4,"ngIf"],["cdkMonitorSubtreeFocus","",1,"queryText",3,"innerHtml"],["color","accent","fxFlex","none",3,"diameter","mode","value"],["mat-dialog-content","","fxLayout","column","fxLayoutAlign","start left","fxLayoutGap","16px",1,"font-body2"],["cdkMonitorSubtreeFocus","",3,"innerHtml"],[1,"checkbox"],[3,"ngModelChange","change","ngModel","indeterminate"],[1,"font-body2"],[1,"subcheckboxsize"],[4,"ngFor","ngForOf"],[1,"hinttext",3,"innerHtml"],["class","subcheckbox",4,"ngIf"],[1,"subcheckbox"],[3,"ngModelChange","change","ngModel"],["mat-dialog-content","","fxLayout","column","fxLayoutAlign","start center","fxLayoutGap","8px",1,"font-body2",3,"ngClass"],["class","mat-accent",3,"mode","value",4,"ngIf"],["fxLayoutAlign","start start",4,"ngIf"],[1,"mat-accent",3,"mode","value"],["fxLayoutAlign","start start"],["mat-button","",1,"font-button2","hig-button",3,"mat-dialog-close","ngStyle"]],template:function(F,Z){1&F&&(n.j41(0,"div",0)(1,"span",1),n.EFF(2),n.nI1(3,"translate"),n.k0s(),n.DNE(4,o,4,8,"div",2)(5,J,13,14,"div",3)(6,te,5,8,"div",4),n.j41(7,"div",5),n.DNE(8,N,3,7,"button",6)(9,z,3,7,"button",6)(10,R,3,7,"button",6),n.k0s()()),2&F&&(n.FS9("dir",Z.direction),n.R7$(2),n.JRh(n.bMT(3,9,Z.data.title)),n.R7$(2),n.Y8G("ngIf",void 0===Z.data.progressBar&&void 0===Z.data.hint||Z.data.spinner),n.R7$(),n.Y8G("ngIf",Z.data.hint),n.R7$(),n.Y8G("ngIf",Z.data.progressBar),n.R7$(),n.Y8G("align","end"),n.R7$(),n.Y8G("ngIf",Z.data.action1),n.R7$(),n.Y8G("ngIf",Z.data.action2),n.R7$(),n.Y8G("ngIf",Z.data.action3))},dependencies:[O.YU,O.Sq,O.bT,O.B3,B.DJ,B.BO,B.sA,B.UI,P.PW,P.eI,k.BC,k.vS,U.iV,r.ig,A.LG,l.HM,I.So,e.tx,e.BI,e.Yi,e.E7,S.vR,L.tG,s.nM,M.D9],styles:[".spinnerContent[_ngcontent-%COMP%]{overflow:hidden!important}.progressBarContent[_ngcontent-%COMP%]{padding-top:16px}.checkbox[_ngcontent-%COMP%]{margin-bottom:0!important}.subcheckboxsize[_ngcontent-%COMP%]{max-height:240px;overflow-y:auto}.isLtr[_nghost-%COMP%] .subcheckbox[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .subcheckbox[_ngcontent-%COMP%]{padding-left:16px}html[dir=ltr][_ngcontent-%COMP%] .subcheckbox[_ngcontent-%COMP%]{--dummy1: 0;padding-left:16px}.isRtl[_nghost-%COMP%] .subcheckbox[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .subcheckbox[_ngcontent-%COMP%]{padding-right:16px}html[dir=rtl][_ngcontent-%COMP%] .subcheckbox[_ngcontent-%COMP%]{--dummy1: 0;padding-right:16px}.hinttext[_ngcontent-%COMP%]{padding-bottom:28px}.queryText[_ngcontent-%COMP%]{white-space:pre-wrap}"]}),b})()},28138:(xe,de,t)=>{"use strict";t.d(de,{U:()=>U});var e=t(61142),n=t(51006),E=t(17617),O=t(47766),B=t(19061),P=t(58527);let U=(()=>{var r;class A{constructor(I){if(I)throw new Error("CoreModule already loaded; Import in root module only.")}}return(r=A).\u0275fac=function(I){return new(I||r)(P.KVO(r,12))},r.\u0275mod=P.$C({type:r}),r.\u0275inj=P.G2t({imports:[e.MD,n.YF,E.i,(0,O.BU)(),B.bm]}),A})()},18125:(xe,de,t)=>{"use strict";t.d(de,{Uit:()=>ti.Ui,V4L:()=>ti.V4,Dli:()=>v.D,wzr:()=>le.wz,T7s:()=>De.T7,J7_:()=>De.J7,gZv:()=>r,lyd:()=>ei.ly,_Cw:()=>M._,$jZ:()=>ft.$,m_A:()=>Q.m_,KUS:()=>ti.KU,Azv:()=>Mn.Az,eCB:()=>Mn.eC,XBk:()=>Mn.XB,NXI:()=>Mn.NX,gXb:()=>Q.gX,uk:()=>At,eo6:()=>Mt.e,Rvq:()=>Ut.R,O5:()=>De.O5,dJT:()=>_e.dJ,_Fy:()=>kt,XyZ:()=>De.Xy,hot:()=>_e.ho,QAj:()=>Zn.QA,yzX:()=>ti.yz,$iR:()=>ti.$i,aw6:()=>ti.aw,D7m:()=>ti.D7,AFS:()=>u.AF,Wro:()=>Zn.Wr,Adt:()=>Yn.A,sT2:()=>_e.sT,x_y:()=>Rt.x_,P8t:()=>_e.P8,SFy:()=>K.SF,f2G:()=>De.f2,pWC:()=>Zn.pW,ROY:()=>S.R,g8X:()=>I.g8,DXY:()=>I.DX,QSC:()=>I.QS,fvX:()=>s.f,EMD:()=>Mn.EM,Q20:()=>Mn.Q2,Lxc:()=>Mn.Lx,Zt_:()=>Mn.Zt,K_i:()=>Mn.K_,k$F:()=>ge.k,xT0:()=>ei.xT,xT8:()=>ei.Qe,rMY:()=>It,iuc:()=>Ot,f1P:()=>Mn.f1,TEj:()=>Mn.TE,NpC:()=>Mn.Np,oXh:()=>Mn.oX,YQZ:()=>Q.YQ,UZ:()=>De.UZ,o_p:()=>un.o,$0i:()=>Rt.$0,p56:()=>ei.p5,zX$:()=>R.z,xdE:()=>Me,h8x:()=>qn,BO6:()=>mn,aTF:()=>A.a,Ng:()=>De.Ng,Bqk:()=>B.B,Jkt:()=>le.Jk,mbZ:()=>le.mb,EdA:()=>le.Ed,lb6:()=>l.lb,VHt:()=>l.VH,auo:()=>l.au,hc_:()=>l.hc,zET:()=>i.z,si$:()=>Mn.si,pwE:()=>Mn.pw,Vq5:()=>Mn.Vq,Btx:()=>De.Bt,jyV:()=>_e.jy,Vlf:()=>gi,Pev:()=>u.Pe,R8Z:()=>wn,Jr9:()=>C.J,P15:()=>x.P,m$j:()=>on,W1J:()=>Q.W1,naB:()=>_e.n,onG:()=>bt,jby:()=>De.jb,rJX:()=>yt.rJ,QYS:()=>l.QY,BKk:()=>yt.BK,O67:()=>De.O6,xRl:()=>gt.x,g7b:()=>at,$lC:()=>Wn,VuP:()=>rn,SIx:()=>Tt,b4n:()=>ce,Bni:()=>Mn.Bn,xkq:()=>Hn.xk}),t(28138);var n=t(80583),E=t(26513),O=t(58527),B=t(11728);let r=(()=>{var rt;class Kt{constructor(oe){this.oscDisplayService=oe,this.actionClicked=new n.B7,this.iconsChanged=new E.t([]),this.titleChanged=new E.t({title:"",params:{}}),this.navButtonChanged=new E.t(""),this.activeChanged=new E.t(!1),this.iconList=[],this.actionClicked$=this.actionClicked.asObservable(),this.icons$=this.iconsChanged.asObservable(),this.title$=this.titleChanged.asObservable(),this.navButton$=this.navButtonChanged.asObservable(),this.active$=this.activeChanged.asObservable()}reset(){this.titleChanged.next({title:"",params:{}}),this.iconsChanged.next([]),this.navButtonChanged.next(""),this.activeChanged.next(!1)}setTitle(oe,pe={}){this.titleChanged.next({title:oe,params:pe})}setNavButton(oe){this.navButtonChanged.next(oe)}setNavButtonArrow(){this.setNavButton("arrow_left")}setNavButtonClose(){this.setNavButton("close")}setActive(oe){this.activeChanged.next(oe)}addIcon(oe){this.iconList.push(oe),this.iconsChanged.next(this.iconList)}deleteIcon(oe){const pe=this.iconList.findIndex(Ge=>Ge.id===oe);-1!==pe&&(this.iconList.splice(pe,1),this.iconsChanged.next(this.iconList))}setIcons(oe){this.iconList=oe.slice(),this.iconsChanged.next(this.iconList)}setAll(oe){this.reset(),this.setTitle(oe.title,oe.params),this.setActive(oe.active),this.setIcons(oe.icons),oe.navButton&&""!==oe.navButton?this.setNavButton(oe.navButton):oe.navButtonArrow?this.setNavButtonArrow():oe.navButtonClose&&this.setNavButtonClose()}clearIcons(){this.iconList=[],this.iconsChanged.next(this.iconList)}getIcons(){return this.iconList}clickIcon(oe){"closeIgo"===oe&&this.closeIgo(),this.actionClicked.next(oe)}clickBack(){this.clickIcon("nav")}closeIgo(){this.oscDisplayService.closeOSC()}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(B.B))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();var A=t(75042),l=t(10132),I=t(73934),S=t(34414),s=(t(58889),t(72428)),M=t(69416),u=t(8260),x=t(83934),p=t(83915),i=t(33452),o=t(74639),_=t(73180),f=t(75707),J=t(65706),a=t(47766),D=t(37543);let N=(()=>{var rt;class Kt{constructor(oe,pe,Ge,Ze,lt){var pt;this.injector=pe,this.hotkeyService=Ge,this.configuration=Ze,this.hotkeyShareService=lt,this.instreamPasteService=null,this.logger=oe.getLogger("IGO CustomPasteService"),null!==(pt=this.configuration)&&void 0!==pt&&null!==(pt=pt.client)&&void 0!==pt&&pt.needsDialogForInStreamPaste&&(this.instreamPasteService=this.injector.get(o.uw))}init(){this.logger.info("Initializing CustomPasteService"),this.hotkeyShareService.removeFromIgnoredHotkeysSet(I.g8.InStreamPaste),this.hotkeyService.listen(I.g8.InStreamPaste).pipe((0,_.c)(333),(0,f.ZZ)(()=>this.instreamPasteService.isInStreamingPasteEnabled.pipe((0,J.s)(1)))).subscribe(oe=>{this.logger.info("In Stream Paste Window opening triggered"),oe?(this.logger.info("In Stream Paste feature is enabled, opening Clipboard window"),this.instreamPasteService.initPasteInputHandler()):this.logger.info("In Stream Paste feature is disabled")})}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(O.zZn),O.KVO(I.QS),O.KVO(D.Vk6),O.KVO(s.f))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();var z=t(57412),R=t(10356),v=t(72238),h=t(43848),W=t(93181),ne=t(31315),ee=t(14714),b=t(10174),w=t(33367);const F="Sorry, that didn't work.",Z=w.Or.Common.Downloader.DownloadStatus;var g=function(rt){return rt[rt.SHADOWPLAY=0]="SHADOWPLAY",rt[rt.STATSOVERLAY=1]="STATSOVERLAY",rt[rt.DRIVERUPDATES=2]="DRIVERUPDATES",rt[rt.APPLICATIONS=3]="APPLICATIONS",rt}(g||{});const d=[{name:"rise_toggle_shadow_replay",category:g.SHADOWPLAY,execute:function se(rt){if(rt&&rt.hasOwnProperty("enable")){const Kt=!!+rt.enable,$t=rt.serviceHandle;let oe;return $t.getInstantReplayEnableStatus().pipe((0,p.T)(pe=>(Kt?pe?oe="Instant Replay is already on.":($t.enableInstantReplay(),oe="Instant Replay has been turned on successfully."):pe?($t.disableInstantReplay(),oe="Instant Replay has been turned off successfully."):oe="Instant Replay is already off.",oe)))}return(0,h.of)(F)}},{name:"rise_save_instant_replay",category:g.SHADOWPLAY,execute:function Y(rt){const Kt=rt.serviceHandle;let $t;return(0,W.p)([Kt.getInstantReplayEnableStatus(),Kt.getInstantReplayRunningStatus(),Kt.getDesktopCaptureEnabled()]).pipe((0,p.T)(([oe,pe,Ge])=>(oe?pe?(Kt.saveIR(),$t="Instant replay has been saved successfully."):$t="Instant replay is not recording right now, you need to run a supporated game.":$t="Instant replay is turned off. You need to turn it on first.",$t)))}},{name:"rise_start_recording",category:g.SHADOWPLAY,execute:function q(rt){if(rt&&rt.hasOwnProperty("enable")){const $t=rt.serviceHandle;let oe;return+rt.enable?(0,ne.zV)([$t.doWeNeedToAskPermission(),$t.getMRState().pipe((0,J.s)(1))]).pipe((0,p.T)(([pe,Ge])=>(Ge?oe="Recording is already active.":pe.isPossible||pe.shouldAskForPermission?!pe.isPossible&&pe.shouldAskForPermission?($t.startManualRecord(),oe="You need to enable desktop capture to start recording."):($t.startManualRecord(),oe="Recording has been started successfully."):oe="A supported game is required to start recording.",oe))):$t.getMRState().pipe((0,J.s)(1),(0,p.T)(pe=>(pe?($t.stopAndSaveManualRecord(),oe="Recording has been stopped successfully."):oe="Recording is not active at the moment.",oe)))}return(0,h.of)(F)}},{name:"rise_toggle_desktop_capture",category:g.SHADOWPLAY,execute:function T(rt){if(rt&&rt.hasOwnProperty("enable")){const Kt=!!+rt.enable;let oe;return rt.serviceHandle.SetDesktopCaptureEnabled(Kt),oe=Kt?"Desktop capture has been turned ON successfully.":"Desktop capture has been turned OFF successfully.",(0,h.of)(oe)}return(0,h.of)(F)}},{name:"rise_save_screenshot",category:g.SHADOWPLAY,execute:function H(rt){const Kt=rt.serviceHandle;let $t;return Kt.doWeNeedToAskPermission().pipe((0,p.T)(oe=>(oe.isPossible||oe.shouldAskForPermission?!oe.isPossible&&oe.shouldAskForPermission?(Kt.captureScreenshot(),$t="You need to enable desktop capture to take a screenshot."):(Kt.captureScreenshot(),$t="Screenshot has been captured successfully."):$t="A supported game is required to take a screenshot.",$t)))}},{name:"rise_show_overlay",category:g.STATSOVERLAY,execute:function y(rt){if(rt&&rt.hasOwnProperty("enable")){const Kt=!!+rt.enable;let oe;return rt.serviceHandle.setPerfOverlayVisiblity(Kt),oe=Kt?"Statistics overlay has been made visible.":"Statistics overlay has been hidden.",(0,h.of)(oe)}return(0,h.of)(F)}},{name:"rise_check_driver",category:g.DRIVERUPDATES,execute:function X(rt){if(rt){const Kt=rt.serviceHandle;let $t;return Kt.getDriverUpdateRecommendation().pipe((0,f.ZZ)(oe=>oe?oe.version?+rt.download?Kt.startDriverDownload(oe).pipe((0,p.T)(Ge=>{const Ze=null==Ge?void 0:Ge.downloadProgressStatus.downloadStatus;if(Ze===Z.DownloadTriggered||Ze===Z.Downloading){let lt=null==Ge?void 0:Ge.downloadProgressStatus.timeRemaining;if(0===lt||void 0===lt)return $t=`A new driver version ${oe.version} is available\n and being downloaded. You can install it from NVIDIA App-> Drivers page.`,$t;{let pt;return lt/=60,pt=lt>1?Math.round(lt).toString()+" minutes":"a minute",$t=`A new driver version ${oe.version} is available\n and being downloaded. You can install it from NVIDIA App-> Drivers page in\n about ${pt}.`,$t}}return Ze===Z.Finished||Ze===Z.VerifyingChecksum||Ze===Z.VerifyingSignature?($t=`A new driver version ${oe.version} is downloaded\n and available to install. You can install it from NVIDIA App-> Drivers page.`,$t):($t=`A new driver version ${oe.version} is available,\n but could not be downloaded at the moment.\n You can download it at - ${oe.downloadURL}`,$t)}),(0,ee.W)(()=>($t=`A new driver version ${oe.version} is available,\n but could not be downloaded at the moment.\n You can download it at - ${oe.downloadURL}`,(0,h.of)($t)))):($t=`A new driver version ${oe.version} is available.\n You can download it at - ${oe.downloadURL}`,(0,h.of)($t)):($t="Unable to get driver details at the moment. Head to the Drivers page for more details.",(0,h.of)($t)):($t=`Your driver version ${Kt.getInstalledDDVersion()} is up to date.`,(0,h.of)($t))),(0,ee.W)(()=>($t="Unable to get driver details at the moment. Head to the Drivers page for more details.",(0,h.of)($t))))}return(0,h.of)(F)}},{name:"rise_launch_app",category:g.APPLICATIONS,execute:function c(rt){if(rt&&rt.game){const Kt=rt.game,$t=rt.serviceHandle;return $t.getApplications().pipe((0,f.ZZ)(oe=>{const pe=oe.applications.findIndex(Ge=>Ge.displayName===Kt);return-1===pe?(0,h.of)(`${Kt} was not found on your system.`):$t.launchApplication(oe.applications[pe].localId).pipe((0,b.u)(`${Kt} has been launched successfully.`))}),(0,ee.W)(()=>(0,h.of)(`${Kt} could not be launched, try launching it manually.`)))}return(0,h.of)(F)}}];var C=t(32912),Q=t(51830);let j=(()=>{var rt;class Kt{constructor(oe,pe,Ge,Ze){this.loggingService=oe,this.riseService=pe,this.shadowPlayService=Ge,this.perfMonService=Ze,this.logger=this.loggingService.getLogger("FunctionCallingService")}init(){this.logger.info("init"),this.riseService.listenToFunctionCalls().subscribe(this.onFunctionCallNotification.bind(this))}onFunctionCallNotification(oe){if(this.logger.info("handleFunctionCallNotification:",oe),null!=oe&&oe.resultTokens){let pe={};pe=JSON.parse(oe.resultTokens),pe&&pe.hasOwnProperty("func")?this.handleFunctionCall(pe):(this.logger.error("Invalid function call"),this.riseService.handleFunctionCallResponse(F))}else this.logger.error("Invalid function call"),this.riseService.handleFunctionCallResponse(F)}handleFunctionCall(oe){this.logger.info("handleFunctionCall:",oe);const pe=d.find(lt=>lt.name===oe.func);if(!pe)return this.logger.error("Unknown function:",oe.func),void this.riseService.handleFunctionCallResponse(F);let Ge=oe.params;const Ze=this.getFunctionCallHandlerService(pe.category);Ze&&(Ge||(Ge={}),Ge.serviceHandle=Ze,Ge.logger=this.logger),pe.execute(Ge).subscribe(lt=>{this.riseService.handleFunctionCallResponse(lt)})}getFunctionCallHandlerService(oe){let pe;switch(oe){case g.SHADOWPLAY:pe=this.shadowPlayService;break;case g.STATSOVERLAY:pe=this.perfMonService;break;case g.DRIVERUPDATES:case g.APPLICATIONS:pe=this.riseService}return pe}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(C.J),O.KVO(Q.W1),O.KVO(i.z))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();var le=t(23860),ge=t(12137);let ce=(()=>{var rt;class Kt{constructor(oe,pe,Ge,Ze,lt){this.bridgeService=pe,this.hotkeyService=Ge,this.oscDisplayService=Ze,this.igoConfig=lt,this.throttleMs=333,this.$webcamState=new E.t(!1),this.webcamInfo={present:!1,enabled:!1,visible:!1,preview:!1,queuePreview:!1,position:w.Or.Share.Shareserver.OverlayPositionEnum.rightTop,size:w.Or.Share.Shareserver.OverlaySizeEnum.small},this.logger=oe.getLogger("WebcamService")}init(){if("GFE"===this.igoConfig.branding){this.hotkeyService.listen(I.g8.CameraToggle).pipe((0,_.c)(this.throttleMs)).subscribe(()=>{this.toggleWebcam()}),this.initializeWebcam(),this.getWebcamOverlaySettings();let oe=!1;this.oscDisplayService.getCurrentOpenState().subscribe(pe=>{oe&&this.getCurrentWebcamStates(pe),oe=!0})}}getCurrentWebcamStates(oe){"open"===oe&&!0===this.webcamInfo.preview?this.enableWebcamPreview(!1):"closed"===oe&&(this.webcamInfo.preview=this.webcamInfo.queuePreview,this.enableWebcamPreview(this.webcamInfo.queuePreview))}initializeWebcam(){this.getWebcamPresent().subscribe(oe=>{this.logger.info("Webcam present: ",oe),this.webcamInfo.present=oe,oe&&(this.getWebcamEnable().subscribe(pe=>{this.webcamInfo.enabled=pe,this.$webcamState.next(this.webcamInfo.enabled),this.logger.info("Webcam Enabled: ",pe)}),this.getWebcamShown().subscribe(pe=>{this.webcamInfo.visible=pe,this.logger.info("Webcam Shown: ",pe)}),this.getWebcamPreviewState().subscribe(pe=>{this.webcamInfo.preview=this.webcamInfo.queuePreview=pe,this.logger.info("Webcam Preview: ",pe)}))})}getWebcamState(){return this.$webcamState.asObservable()}getWebcamPresent(){return this.bridgeService.executeCommand(w.Ts.Share.Shareserver.GetWebcamPresent).pipe((0,p.T)(oe=>(this.logger.info("GetWebcamPresent returns: ",oe),oe.present),oe=>(this.logger.info("GetWebcamPresent error: ",oe),!1)))}getWebcamEnable(){return this.bridgeService.executeCommand(w.Ts.Share.Shareserver.GetWebcamEnable).pipe((0,p.T)(oe=>(this.logger.info("GetWebcamEnable returns: ",oe),oe.status),oe=>(this.logger.info("GetWebcamEnable error: ",oe),!1)))}enableWebcam(oe){this.bridgeService.executeCommand(w.Ts.Share.Shareserver.EnableWebcam,{status:oe}).subscribe(Ge=>{this.logger.info("EnableWebcam returns: ",Ge),this.webcamInfo.enabled=oe},Ge=>{this.logger.info("EnableWebcam error: ",Ge)})}getWebcamShown(){return this.bridgeService.executeCommand(w.Ts.Share.Shareserver.GetWebcamShown).pipe((0,p.T)(oe=>(this.logger.info("GetWebcamShown returns: ",oe),oe.shown),oe=>(this.logger.info("GetWebcamShown error: ",oe),!1)))}toggleWebcam(){this.bridgeService.executeCommand(w.Ts.Share.Shareserver.ToggleWebcam).subscribe(oe=>{this.logger.info("ToggleWebcam returns: ",oe),this.webcamInfo.enabled=!this.webcamInfo.enabled,this.$webcamState.next(this.webcamInfo.enabled)},oe=>{this.logger.info("ToggleWebcam error: ",oe)})}getWebcamPreviewState(){return this.bridgeService.executeCommand(w.Ts.Share.Shareserver.GetWebcamPreviewState).pipe((0,p.T)(oe=>(this.logger.info("GetWebcamPreviewState returns: ",oe),oe.enabled),oe=>(this.logger.info("GetWebcamPreviewState error: ",oe),!1)))}enableWebcamPreview(oe){this.bridgeService.executeCommand(w.Ts.Share.Shareserver.EnableWebcamPreview,{enable:oe}).subscribe(Ge=>{this.logger.info("EnableWebcamPreview returns: ",Ge)},Ge=>{this.logger.info("EnableWebcamPreview error: ",Ge)})}queueWebcamPreview(oe){this.webcamInfo.queuePreview=oe}getWebcamOverlaySettings(){this.bridgeService.executeCommand(w.Ts.Share.Shareserver.GetIndicatorOverlaySettings,{id:w.Or.Share.Shareserver.IndicatorEnum.webcam}).subscribe(pe=>{this.logger.info("GetIndicatorOverlaySettings returns: ",pe),this.webcamInfo.position=pe.position,this.webcamInfo.size=pe.size},pe=>{this.logger.info("GetIndicatorOverlaySettings error: ",pe)})}setWebcamOverlaySettings(oe,pe){this.bridgeService.executeCommand(w.Ts.Share.Shareserver.SetIndicatorOverlaySettings,{id:w.Or.Share.Shareserver.IndicatorEnum.webcam,enable:this.webcamInfo.enabled,position:oe,size:pe}).subscribe(Ze=>{this.logger.info("SetIndicatorOverlaySettings returns: ",Ze),this.webcamInfo.position=oe,this.webcamInfo.size=pe},Ze=>{this.logger.info("SetIndicatorOverlaySettings error: ",Ze)})}getWebcamInfo(){return this.webcamInfo}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(a.NZ),O.KVO(I.QS),O.KVO(B.B),O.KVO(ge.k))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();var G=t(16229),ue=t(19392),ae=t(17053),Ce=t(59859),Se=t(36466),Ne=t(8619),we=t(91384),ve=t(72147),Pe=t(65770),Oe=t(4208),Be=t(79539),tt=t(93702),Ee=t(40198),ot=t(65726),We=t(43615),Qe=t(30518),Fe=t(99047),Xe=t(26875),_e=t(22123),He=t(78854),De=t(53914),Re=t(78812),K=t(18880),ke=t(19724),Ue=t(30254),et=t(65240),gt=t(10279),vt=t(27211),Mt=t(24964),Rt=t(59002),Ut=t(2688),ct=function(rt){return rt.anselEnabledResponse="anselEnabledResponse",rt.anselEnabledState="anselEnabledState",rt.procInfo="procInfo",rt.captureTypesList="captureTypesList",rt.sdkIntegration="sdkIntegration",rt.rollRange="rollRange",rt.fovRange="fovRange",rt.setRollFovResponse="setRollFovResponse",rt.screenResolution="screenResolution",rt.highResResolutions="highResResolutions",rt.panoramaResolutions="panoramaResolutions",rt.captureShotStarted="captureShotStarted",rt.captureShotProgress="captureShotProgress",rt.captureShotFinished="captureShotFinished",rt.captureShotProcessingFinished="captureShotProcessingFinished",rt.captureShotCancel="captureShotCancel",rt.features="features",rt.filtersList="filtersList",rt.resetFilter="resetFilter",rt.insertFilter="insertFilter",rt.removeFilter="removeFilter",rt.moveFilter="moveFilter",rt.filterStackInfo="filterStackInfo",rt.filterDetails="filterDetails",rt.setFilterAttribute="setFilterAttribute",rt.setFovResponse="setFovResponse",rt.setRollResponse="setRollResponse",rt.fovValue="fovValue",rt.resetEntireStack="resetEntireStack",rt.nvCameraReady="nvCameraReady",rt.anselStatusReport="anselStatusReport",rt.ngxAIUpResProgress="ngxAIUpResProgress",rt.ngxAIUpResCaptureDone="ngxAIUpResCaptureDone",rt.cancelPendingOperations="cancelPendingOperations",rt}(ct||{}),Me=function(rt){return rt[rt.slider=1]="slider",rt[rt.boolean=2]="boolean",rt[rt.button=3]="button",rt[rt.list=4]="list",rt[rt.edit=5]="edit",rt[rt.label=6]="label",rt[rt.pulldown=7]="pulldown",rt[rt.radiobutton=9]="radiobutton",rt}(Me||{}),bt=function(rt){return rt.HotKey="HK",rt.Ui="UI",rt}(bt||{}),Tt=function(rt){return rt.Top="Top",rt.Bottom="Bottom",rt}(Tt||{}),kt=function(rt){return rt.MoveUp="MoveUp",rt.MoveDown="MoveDown",rt.Add="Add",rt.Delete="Delete",rt.Clicked="Clicked",rt.ApplyStyle="ApplyStyle",rt.None="None",rt}(kt||{}),At=function(rt){return rt.Keyboard="Keyboard",rt.Mouse="Mouse",rt.Gamepad="Gamepad",rt}(At||{}),mn=function(rt){return rt.UpdateStyleFail="updateStyleFail",rt.ApplyStyleFail="applyStyleFail",rt.RemoveFilterSuccess="RemoveFilterSuccess",rt.CaptureFinished="CaptureFinished",rt.CaptureFailed="CaptureFailed",rt}(mn||{}),rn=function(rt){return rt.SUCCESS="Success",rt.ERROR_RESTART="Error occured, please restart the game",rt.ERROR_SUPPORTED_GAME="Supported game required",rt.ERROR_SESSION_NOT_ALLOWED="Session not allowed",rt.ERROR_TIMEOUT="Timeout has occurred",rt.ERROR_SYSTEM_OFFLINE="System is offline",rt}(rn||{});const Tn={GPUArchitecture:"0x00000160",ExGPUArchImplementation:[8,7],OSBuildNumber:17134};var wn=function(rt){return rt[rt.KeyZ=0]="KeyZ",rt[rt.KeyX=1]="KeyX",rt[rt.KeyY=2]="KeyY",rt[rt.KeyW=3]="KeyW",rt[rt.KeyS=4]="KeyS",rt[rt.KeyA=5]="KeyA",rt[rt.KeyD=6]="KeyD",rt}(wn||{});let qn=(()=>{var rt;class Kt{get pageLaunchStart(){return this._pageLaunchStart}set pageLaunchStart(oe){this._pageLaunchStart=oe}getFetchedSystemInfo(){return this.systemInfo}get pageLaunchMode(){return this._pageLaunchMode}set pageLaunchMode(oe){this._pageLaunchMode=oe}get currentGameInfo(){if(this.igoConfig.GFNCefClient){const oe=this.gfnInfoService.getstreamerConfig();return this.currentGameStreamInfo={procId:void 0,cmsId:null==oe?void 0:oe.cmsId,drsName:void 0,drsProfileName:void 0,shortName:null==oe?void 0:oe.shortName,drsWhitelist:void 0},this.logger.info("Current Streaming Game:",this.currentGameStreamInfo),this.currentGameStreamInfo}return this.currentGFEGameInfo}passFilterStateToTelemetry(){var oe,pe,Ge;this.telemetryService.updateAnselFilterAppliedField((null===(oe=this.ppeFiltersState)||void 0===oe?void 0:oe.deepDvc)||(null===(pe=this.ppeFiltersState)||void 0===pe?void 0:pe.nis)||(null===(Ge=this.ppeFiltersState)||void 0===Ge?void 0:Ge.trueHdr)||this.isModsAppliedCurrently)}updatePpeState(oe,pe){switch(oe){case Ue.VL:this.ppeFiltersState.deepDvc=pe;break;case Ue.on:this.ppeFiltersState.nis=pe;break;case Ue.Ow:this.ppeFiltersState.trueHdr=pe;break;default:return void this.logger.error("Incorrect filter ID passed")}this.passFilterStateToTelemetry()}constructor(oe,pe,Ge,Ze,lt,pt,Ct,Xt,Ht,Ft,Wt,en,Lt,cn,Yt,En,ni,dn,Rn){this.injector=oe,this.igoConfig=pe,this.loggingService=Ge,this.bridgeService=Ze,this.hotkeyService=lt,this.oscDisplayService=pt,this.translateService=Ct,this.shadowPlayService=Xt,this.galleryService=Ht,this.localeService=Ft,this.telemetryService=Wt,this.telemetryIgoService=en,this.oscNotificationService=Lt,this.dialogHelperService=cn,this.dbService=Yt,this.networkStatusService=En,this.systemInfoService=ni,this.gfnInfoService=dn,this.featureSupportService=Rn,this.gfnRTSPAccountedLatency=3e3,this.nvCameraStrictTimeout=250,this.nvCameraDefaultTimeout=2e3,this.nvCameraRelaxedTimeout=15e3,this.throttleDuration=500,this.nvCameraMenuOpenTimeout=3e3,this.dbStorageName="NvCamera",this.filterPresetsStorageKeyName="FilterPresets_v1",this.previewSupported=!0,this.freestylePreviewPrefix="Preview_",this.freestylePreviewExtension=".png",this.driverStorePathKey="DriverStore",this.previewInProgress=!1,this.isNvCameraEnabled=!1,this.isGameFilterEnabled=!1,this.isPhotoModeEnabled=!1,this.isRedirectionEnable=!1,this.notifications$=new n.B7,this.currentUIMode=void 0,this.currentProcessInfo=void 0,this.currentGameStreamInfo=void 0,this.currentGFEGameInfo=void 0,this.currentGameChromaInfo=void 0,this.currentFreestyleGameInfo=void 0,this.systemInfo=void 0,this.isDevServer=!1,this.filterPresetsData=void 0,this.isModsAppliedCurrently=!1,this.isAIUpresSupported=void 0,this.isNvCameraReady=!1,this.nvcameraOperationUnderProgress=!1,this.uiRunning=new E.t(!1),this.gameFilterStyleToggleHotkey=new E.t(""),this.cachedFeaturesAvailable=void 0,this.currentGameSlots=void 0,this.keyMatchCount=[0,0],this.invalidSequence=[!1,!1],this.sourceTrigger=bt.HotKey,this.snackBarRef=void 0,this.restartRequired=!1,this.statusOfCaptureEnhance=!0,this.isSystemOnline=!1,this.nvCameraTimedOut=!1,this.gameFilterDisable=new E.t(!0),this.photoModeDisable=new E.t(!0),this.previewPaths=[],this.panningUsed=!1,this.panningWithGC=!1,this.panningWithKB=!1,this.panningWithMouse=!1,this.usedController=!1,this.usedKeyboard=!1,this.usedMouse=!1,this.gridUsed=!1,this.menuLaunchTime=0,this.previousSlotApplied=-1,this.isAppStartedReceived=!1,this.gameFilterMenu=!1,this.slotsUsed=new Set,this.navigationInputDevice={KEYBOARD:!1,MOUSE:!1,GAMEPAD:!1},this.dialogRef=void 0,this.menuCloseInProgress$=new E.t(!1),this.gameDetails={cmsId:"",drsName:"",drsProfileName:""},this.isAIDVCEnabled=!1,this.isAIHDREnabled=!1,this.isNIS2Enabled=!1,this.ppeFiltersState={nis:!1,deepDvc:!1,trueHdr:!1},this.lastSlotChanged$=new E.t(void 0),this.modsAppliedOnGameLaunch$=new n.B7,this.nvcameraGameStarted$=new n.B7,this.isPpeFeaturesEnabled=!1,this._pageLaunchStart=0,this._pageLaunchMode=ke.gv.UsingUI,this.alertDialogData={title:"nvcamera.GameFilters",query:"",queryParam:{arg:""},action1:void 0,action2:void 0,spinner:void 0,progressBar:void 0,progressPercentage:void 0},this.preResetSessionData={uiMode:void 0,modsApplied:!1,currentGameInfo:void 0},this.appConfig=null,this.streamerStateSubscription=void 0,this.featureResult={gameFilterSupport:!1,photoModeSupport:!1},this.chromaDBResult=void 0,this.globalToggleChangedFromIGO$=new n.B7,this.isGameRestartRequestedfromCTA=!1,this.logger=this.loggingService.getLogger("NvCameraService"),this.dBStore=this.dbService.getGlobalStore(this.dbStorageName),this.igoConfig.GFNCefClient||(this.lcarsService=this.injector.get(z.B))}init(){return this.logger.info("Initialize , feature support: ",this.igoConfig.NvCameraFeaturesEnabled),this.igoConfig.GFNCefClient&&(this.nvCameraStrictTimeout+=this.gfnRTSPAccountedLatency,this.nvCameraDefaultTimeout+=this.gfnRTSPAccountedLatency,this.nvCameraRelaxedTimeout+=this.gfnRTSPAccountedLatency,this.appConfig=this.injector.get(D.Vk6),this.appConfig||this.logger.info("ERROR:: Failed to obtain appConfig")),this.getSystemInfo().subscribe(oe=>{this.logger.info("System Info: ",oe)}),this.igoConfig.GFNCefClient&&this.updateStreamerState(),this.isPpeFeaturesEnabled=this.featureSupportService.isPpeEnabled(),this.checkFeatureSupport().toPromise().then(oe=>(this.logger.info("Photo Mode supported = ",this.isPhotoModeSupported()),this.logger.info("Game Filter supported = ",this.isGameFilterSupported()),this.logger.info("initialized"),!0),oe=>(this.logger.error("failed to initialize, error: ",oe.message),!1))}queryChromaDB(){return this.igoConfig.GFNCefClient?this.chromaDBResult?(this.logger.info("Skipping Chroma query, already populated:",this.chromaDBResult),(0,h.of)(this.chromaDBResult)):this.isChromaApproved():(this.chromaDBResult={photoModeSupport:this.isPhotoModeSupported(),gameFilterSupport:this.isGameFilterSupported()},(0,h.of)(this.chromaDBResult))}isChromaApproved(){var oe,pe;return this.isDevServer?(this.logger.info("Skipping launch checks, isDevServer: ",this.isDevServer),this.chromaDBResult={gameFilterSupport:!0,photoModeSupport:!0},(0,h.of)(this.chromaDBResult)):null!==(oe=this.currentGameInfo)&&void 0!==oe&&oe.cmsId?this.gfnInfoService.getAppMetadataUsingCmsId(null===(pe=this.currentGameInfo)||void 0===pe?void 0:pe.cmsId).pipe((0,p.T)(Ge=>(this.logger.info("isFreestyleSupported: ",Ge.nvidiaTech.FREESTYLE),this.logger.info("isPhotoModeSupported: ",Ge.nvidiaTech.PHOTO_MODE),this.chromaDBResult={gameFilterSupport:Ge.nvidiaTech.FREESTYLE,photoModeSupport:Ge.nvidiaTech.PHOTO_MODE},this.chromaDBResult)),(0,ee.W)(Ge=>(this.logger.error(`Unable to obtain game meta data ${Ge}`),this.chromaDBResult={gameFilterSupport:!0,photoModeSupport:!0},(0,h.of)(this.chromaDBResult)))):(this.logger.error("CmsId not available to query"),(0,h.of)(void 0))}isFeatureAvailable(){return"GFE"===this.igoConfig.branding?(0,h.of)({photoModeSupport:this.isPhotoModeSupported(),gameFilterSupport:this.isGameFilterSupported()}):(this.isSystemOnline=this.networkStatusService.isOnline,this.isSystemOnline?this.queryChromaDB().pipe((0,p.T)(oe=>{if(this.featureResult=oe,this.featureResult.gameFilterSupport||this.featureResult.photoModeSupport)if(!this.isNvCameraReady&&this.isAppStartedReceived)this.logger.info("Checking if nvcamera is ready"),this.checkNvCameraReady();else if(this.isNvCameraReady)this.setAnselFreestyleState();else{const pe="NvCamera is not ready";this.featureResult.gameFilterSupport&&this.sendFeatureDisableErrorTelemetry(De.O5.GameFilter,De.bG.featureNotAvailable,pe),this.featureResult.photoModeSupport&&this.sendFeatureDisableErrorTelemetry(De.O5.PhotoMode,De.bG.featureNotAvailable,pe)}return this.featureResult}),(0,ee.W)(oe=>(this.logger.error("Unable to get chroma results, using defaults."+oe),this.featureResult={gameFilterSupport:!0,photoModeSupport:!0},(0,h.of)(this.featureResult)))):(this.featureResult={gameFilterSupport:!0,photoModeSupport:!0},(0,h.of)(this.featureResult)))}isGameFilterSupported(){return this.isNvCameraEnabled&&this.isGameFilterEnabled}isPhotoModeSupported(){return this.isNvCameraEnabled&&this.isPhotoModeEnabled}isPhotoModeLiteSupported(){return this.isNvCameraEnabled&&this.isPhotoModeEnabled&&!this.igoConfig.GFNCefClient}listenNotification(oe){return this.notifications$.asObservable().pipe((0,Ne.p)(pe=>oe.some(Ge=>!!pe[Ge])))}captureNormalScreenshot(){this.shadowPlayService.captureScreenshot()}monitorHotKey(oe,pe,Ge=!1,Ze=!0){const lt=Ge?1:0,pt=pe,Ct=pe.length;if(0===Ct)return!1;let Xt=!1,Ht=oe.key;switch(Ht=a.SV[Ht]?a.SV[Ht]:Ht.charCodeAt(0),Ze){case!0:if(!this.invalidSequence[lt]&&!this.keyMatchCount[lt]&&pt[Ct-1]===Ht)for(let Ft=0;Ft{this.gameFilterStyleToggleHotkey.next(Ge)})),pe=[w.Or.Share.Shareserver.HotkeyEnum.FreeStyleToggleStyle1,w.Or.Share.Shareserver.HotkeyEnum.FreeStyleToggleStyle2,w.Or.Share.Shareserver.HotkeyEnum.FreeStyleToggleStyle3].map(Ge=>this.hotkeyService.listen(Ge).pipe((0,ve.n)(Ze=>this.hotkeyService.getHotkeyString(Ze)),(0,we.M)(Ze=>{this.gameFilterStyleToggleHotkey.next(Ze)})));return(0,G.h)(...pe,oe)}launchPhotoModeMenu(oe=bt.HotKey){this.pageLaunchStart=Date.now(),this.logger.info("launchPhotoModeMenu"),this.isPhotoModeSupported()?(this.nvcameraOperationUnderProgress&&this.logger.info("Nvcamera operation underway, cancel menu launch"),this.currentUIMode=De.O5.PhotoMode,this.sourceTrigger=oe,this.menuLaunchTime=Date.now(),this.tryLaunchMenu(w.Or.Common.Nvcamera.FeaturesSupported.sdk).subscribe(()=>{this.logger.info("launchPhotoModeMenu successfull, AI Upres supported",this.isAIUpresSupported)},pe=>{this.errorHandlingForLaunchMenu(w.Or.Common.Nvcamera.FeaturesSupported.sdk,pe.message),this.logger.error("launchPhotoModeMenu error: ",pe.message)})):this.logger.info("Photo Mode not supported, should not be here")}launchGameFilterMenu(oe=bt.HotKey){this.logger.info("launchGameFilterMenu"),this.pageLaunchStart=Date.now(),this.gameFilterMenu=!0,this.isGameFilterSupported()||this.featureSupportService.isPpeEnabled()?(this.nvcameraOperationUnderProgress&&this.logger.info("Nvcamera operation underway, cancel menu launch"),this.currentUIMode=De.O5.GameFilter,this.sourceTrigger=oe,this.menuLaunchTime=Date.now(),this.tryLaunchMenu(w.Or.Common.Nvcamera.FeaturesSupported.mods).subscribe(()=>{this.logger.info("launchGameFilterMenu successful")},pe=>{this.errorHandlingForLaunchMenu(w.Or.Common.Nvcamera.FeaturesSupported.mods,pe.message),this.logger.error("launchGameFilterMenu error: ",pe.message)})):this.logger.info("Game Filter not supported, should not be here")}postMenuClose(oe,pe=!1){this.currentUIMode=void 0,this.isModsAppliedCurrently=pe,this.passFilterStateToTelemetry(),this.telemetryService.setModsActiveStatus(pe),this.currentGameInfo&&(this.telemetryService.sendAnselFreestyleSession(oe,Date.now()-this.menuLaunchTime,this.navigationInputDevice.KEYBOARD,this.navigationInputDevice.MOUSE,this.navigationInputDevice.GAMEPAD,this.currentGameInfo.cmsId.toString(),this.currentGameInfo.shortName,this.currentGameInfo.drsName,this.currentGameInfo.drsProfileName,this.panningUsed,this.panningWithKB,this.panningWithMouse),this.sendAnselFreestyleFiltersTelemetry(oe))}closeMenu(oe,pe=!1){return(0,h.of)(oe).pipe((0,f.ZZ)(Ge=>{if(Ge===De.O5.GameFilter)return(0,h.of)(void 0);let Ze;if(this.currentUIMode=void 0,this.isModsAppliedCurrently)Ze=this.currentGameSlots.modsSlotsInfo.lastSlotIdx,pe=!0,this.logger.info("reapplying mods after photo mode session");else{if(this.isPpeFeaturesEnabled)return this.logger.info("reapplying ppefilter after photo mode session"),this.getLastSlotChangedUpdates().pipe((0,J.s)(1));Ze=0}return(0,h.of)(Ze)}),(0,f.ZZ)(Ge=>void 0!==Ge?this.applySlot(Ge,!0,De.O5.GameFilter):(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok)),(0,ee.W)(Ge=>(this.logger.error("error while closing the menu: ",Ge),(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok))),(0,ee.W)(Ge=>(this.logger.error("applySlot failed",Ge),(0,h.of)(Ge))),(0,f.ZZ)(()=>this.configureNvCameraSession(!1,!1,pe,this.nvCameraDefaultTimeout)),(0,we.M)(()=>{this.logger.info("Menu closed successfully",oe),this.postMenuClose(oe,pe)}),(0,ee.W)(Ge=>{throw this.postMenuClose(oe,pe),Ge}))}getFilterList(){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.SetFilter,{enable:!1},ct.filtersList,this.nvCameraRelaxedTimeout)}setFilter(oe,pe,Ge,Ze){const lt=this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.SetFilter,{enable:oe,stackId:pe,filterId:Ge},ct.filterDetails,this.nvCameraRelaxedTimeout).pipe((0,Pe.u)());return this.igoConfig.GFNCefClient&&this.customizeAndShowAlert(Ze,kt.Add),lt}customizeAndShowAlert(oe,pe){if(this.dialogRef)this.logger.error("Something messed up, should not be here, current dialog is already up");else{let Ge,Ze;if(Ze=this.getCurrentModSlotName(),pe===kt.MoveUp||pe===kt.MoveDown||pe===kt.Add||pe===kt.Delete)this.currentUIMode===De.O5.PhotoMode||this.currentUIMode===De.O5.PhotoModeLight?(Ge="nvcamera.UpdatingFilters",Ze=""):Ze?Ge="commonLabels.Updating":(Ge="nvcamera.UpdatingStyle",Ze=this.getCurrentSlotIndex());else{if(pe!==kt.ApplyStyle)return;this.currentUIMode===De.O5.PhotoMode||this.currentUIMode===De.O5.PhotoModeLight?(Ge="nvcamera.ApplyingFilters",Ze=""):Ze?Ge="commonLabels.Applying":(Ge="nvcamera.ApplyingStyle",Ze=this.getCurrentSlotIndex())}this.showAlert(void 0,Ge,Ze,"confirmation.cancel",void 0,!0,!1,"indeterminate",oe,{next:pt=>{if(pt===K.SF.Action1){this.logger.info("User cancelled the ongoing filter operation : ",pt);this.notifications$.next({cancelPendingOperations:{}}),this.closeAlert()}},error:pt=>{this.logger.error("failed in showAlert",pt),this.closeAlert()},complete:()=>{this.closeAlert()}})}}showAlert(oe,pe,Ge,Ze,lt,pt,Ct,Xt,Ht,Ft){this.dialogRef||(this.alertDialogData.title=oe||(this.currentUIMode===De.O5.PhotoMode?"nvcamera.PhotoMode":"nvcamera.GameFilters"),this.alertDialogData.query=pe,this.alertDialogData.queryParam={arg:Ge},this.alertDialogData.action1=Ze,this.alertDialogData.action2=lt,this.alertDialogData.spinner=pt,this.alertDialogData.progressBar=Ct,this.alertDialogData.progressPercentage=Ct&&"determinate"===Xt,this.alertDialogData.progressMode=Xt,this.dialogHelperService.openAlertDialog(this.alertDialogData).pipe((0,we.M)(Wt=>this.dialogRef=Wt),(0,f.ZZ)(Wt=>Wt.afterClosed()),(0,Oe.Q)(Ht)).subscribe(Ft))}closeAlert(){this.dialogRef&&(this.dialogRef.close(),this.dialogRef=void 0)}showSnack(oe,pe){let Ge,Ze;if(this.closeAlert(),Ze=this.getCurrentModSlotName(),oe===mn.UpdateStyleFail)Ze?Ge="snacks.UnableToUpdate":(Ge=this.igoConfig.GFNCefClient?"snacks.UnableToUpdateStyle":"snacks.UnableToUpdateProfile",Ze=this.getCurrentSlotIndex());else if(oe===mn.ApplyStyleFail)Ze?Ge="snacks.UnableToApply":(Ge=this.igoConfig.GFNCefClient?"snacks.UnableToApplyStyle":"snacks.UnableToApplyProfile",Ze=this.getCurrentSlotIndex());else if(oe===mn.RemoveFilterSuccess)Ze=pe,Ge="1"===Ze?"snacks.RemovedFilter":"snacks.RemovedFilters";else{if(oe!==mn.CaptureFailed)return;Ge="nvcamera.UnableToPhotograph",Ze=void 0}this.translateService.get(Ge,{arg:Ze}).subscribe(lt=>{this.snackBarRef=this.dialogHelperService.openSnackBar(lt)})}setFilterAttribute(oe,pe,Ge,Ze,lt,pt){return Ze===Me.boolean&&(pt.forEach((Xt,Ht)=>{pt[Ht]=!!Xt}),lt="bool"),this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.SetFilterAttribute,{filter:oe,controlId:Ge,controlType:Ze,stackId:pe,dataType:lt,values:pt},ct.setFilterAttribute,this.nvCameraDefaultTimeout).pipe((0,p.T)(Xt=>{if(Xt.setFilterAttribute.status)return Xt.setFilterAttribute.status;throw new Error(w.Or.Common.Nvcamera.AnselStatusEnum.failed)}))}setFilterWithAttributes(oe){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.SetFilter,{enable:!0,stackId:oe.stackIdx,filterId:oe.id},ct.filterDetails,this.nvCameraRelaxedTimeout).pipe((0,f.ZZ)(pe=>(0,ue.H)(pe.filterDetails.controls)),(0,Be.H)(pe=>this.setFilterAttribute(oe.id,oe.stackIdx,pe.id,Me[pe.controlType],pe.dataType,[oe.controls[pe.id].currentValue])),(0,ee.W)(pe=>(this.logger.error("setFilterAttribute failed: ",pe),(0,h.of)(pe))),(0,tt.o)(1))}resetEntireStack(){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.ResetFilterStack,{},ct.resetEntireStack,this.nvCameraRelaxedTimeout).pipe((0,p.T)(oe=>{if(oe.resetEntireStack.status)return oe.resetEntireStack.status;throw new Error(w.Or.Common.Nvcamera.AnselStatusEnum.failed)}))}removeFilter(oe){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.RemoveFilter,{stackId:oe},ct.removeFilter,this.nvCameraRelaxedTimeout).pipe((0,p.T)(pe=>{if(pe.removeFilter.status)return pe.removeFilter.status;throw new Error(w.Or.Common.Nvcamera.AnselStatusEnum.failed)}))}resetFilterControls(oe,pe){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.ResetFilter,{resetAll:oe,stackId:pe},ct.resetFilter,this.nvCameraRelaxedTimeout).pipe((0,p.T)(Ge=>{if(Ge.resetFilter.status)return Ge.resetFilter.status;throw new Error(w.Or.Common.Nvcamera.AnselStatusEnum.failed)}))}setGridOfThirds(oe){return this.gridUsed=oe,this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.SetCameraGridOfThirds,{enableGoT:oe})}getFreestyleWhitelisted(oe){return this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.GetFreestyleWhitelisted,{profileName:oe})}getCaptureTypes(){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.GetAnselCaptureTypes,{},ct.captureTypesList,this.nvCameraRelaxedTimeout)}getCaptureResolutions(oe){let pe;return pe=oe===w.Or.Common.Nvcamera.CaptureTypes.regular||oe===w.Or.Common.Nvcamera.CaptureTypes.stereoRegular?ct.screenResolution:oe===w.Or.Common.Nvcamera.CaptureTypes.highRes?ct.highResResolutions:ct.panoramaResolutions,this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.GetCaptureResolutions,{captureType:oe},pe,this.nvCameraRelaxedTimeout)}getCameraRange(oe,pe){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.GetCameraRangeFovRoll,{getCameraRoll:oe,getCameraFov:pe},oe?ct.rollRange:ct.fovRange,this.nvCameraRelaxedTimeout)}SetCameraControlFovRoll(oe,pe,Ge){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.SetCameraControlFovRoll,{setFovRollEnable:oe,setRollValue:void 0!==pe?Math.round(pe):void 0,setFovValue:void 0!==Ge?Math.round(Ge):void 0},ct.setRollFovResponse,this.nvCameraRelaxedTimeout)}GetCameraControlFov(oe){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.GetCameraControlFov,{setFovRollEnable:oe},ct.fovValue,this.nvCameraRelaxedTimeout)}captureScreenshot(oe,pe){if(this.igoConfig.GFNCefClient)return this.shadowPlayService.captureCustomScreenshot("photoMode","placeholder.png",this.getActiveModsSlot(this.currentUIMode).id);this.telemetryIgoService.startAnselScreenshot();let Ge,Ze,lt=Object();return new ae.c(pt=>{let Xt,Ht;oe?(Xt=[ct.ngxAIUpResProgress,ct.ngxAIUpResCaptureDone],Ht=w.Ts.Common.Nvcamera.StartNgxAIUpRes,Ge=null==pe?void 0:pe.upResScale.toString(),Ze=(null==pe?void 0:pe.width.toString())+"x"+(null==pe?void 0:pe.height.toString()),lt={upResScale:null==pe?void 0:pe.upResScale,screenshotResolution:(null==pe?void 0:pe.width.toString())+"x"+(null==pe?void 0:pe.height.toString())}):(Xt=[ct.captureShotStarted,ct.captureShotFinished,ct.captureShotProcessingFinished,ct.captureShotProgress,ct.anselStatusReport],Ht=w.Ts.Common.Nvcamera.CaptureScreenshot);const Ft=this.listenNotification(Xt).pipe((0,Ee.w)(9e5)).subscribe(Wt=>{pt.next(Wt),Wt.captureShotProcessingFinished&&!oe?(Ft.unsubscribe(),pt.complete(),this.anselFreestyleCaptureTelemetry(ke.db.ScreenshotCaptured)):Wt.ngxAIUpResCaptureDone&&(Ft.unsubscribe(),pt.complete(),this.anselFreestyleCaptureTelemetry(ke.db.ScreenshotCaptured,lt))},Wt=>{this.logger.info("listenerCaptureShotFinished timed out"),pt.error(Wt),this.anselFreestyleCaptureTelemetry(ke.db.ScreenshotFailed),Ft.unsubscribe()});this.bridgeService.executeCommand(Ht,pe).subscribe(Wt=>{this.logger.info(Ht,"command issued: ",Wt)},Wt=>{this.logger.info("nvcameraRequestWithWait",Ht," failed"),pt.error(Wt),Ft.unsubscribe()})})}cancelCurrentCapture(){return this.igoConfig.GFNCefClient?(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok):(this.anselFreestyleCaptureTelemetry(ke.db.ScreenshotCancelled),this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.CancelCapture,{},ct.captureShotCancel,this.nvCameraRelaxedTimeout).pipe((0,p.T)(oe=>{if(oe.captureShotCancel.status)return oe.captureShotCancel.status;throw new Error(w.Or.Common.Nvcamera.AnselStatusEnum.failed)})))}getLastSlotChangedUpdates(){return this.lastSlotChanged$.asObservable()}triggerPpeFilterSlotChange(oe){this.lastSlotChanged$.next(oe)}applySlot(oe,pe=!1,Ge=De.O5.GameFilter,Ze=!1){let lt;return this.logger.info("applyslot index:",oe),this.logger.info("applyslot feature:",Ge),lt=Ge===De.O5.GameFilter?this.currentGameSlots.modsSlotsInfo:this.currentGameSlots.anselSlotsInfo,(pe=(pe=pe||0===oe)||!this.isModsAppliedCurrently)||lt.lastSlotIdx!==oe?(2!==lt.slots.length&&(lt.lastSlotIdx=oe),this.resetEntireStack().pipe((0,f.ZZ)(()=>{if(0===oe)return(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok);const pt=lt.slots[oe].filterStack.filters;return Ze&&this.modsAppliedOnGameLaunch$.next(oe),this.applyFilters(pt,kt.ApplyStyle)}),(0,f.ZZ)(()=>(Ge===De.O5.GameFilter&&(this.triggerPpeFilterSlotChange(oe),this.previousSlotApplied>=0&&this.slotSwitchingTelemetry(this.previousSlotApplied,oe),this.previousSlotApplied=oe),(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok))))):(this.logger.info("slot is already applied, skipping"),(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok))}enableModsAndApplySlot(oe,pe=!1){return this.logger.info("enableModsAndApplySlot index = ",oe),this.nvcameraOperationUnderProgress=!0,this.tryStartNvCameraSession(w.Or.Common.Nvcamera.FeaturesSupported.mods).pipe((0,f.ZZ)(()=>this.checkAndUpdateSavedFilterPaths()),(0,f.ZZ)(()=>this.applySlot(oe,!0,De.O5.GameFilter,pe)),(0,ot.c)(this.nvCameraStrictTimeout),(0,f.ZZ)(()=>(this.isModsAppliedCurrently=!0,this.passFilterStateToTelemetry(),this.telemetryService.setModsActiveStatus(!0),this.configureNvCameraSession(!1,!1,!0,this.nvCameraDefaultTimeout))),(0,We.j)(()=>{this.nvcameraOperationUnderProgress=!1}))}applyFilters(oe,pe){if(oe.length>0){const Ge=(0,ue.H)(oe).pipe((0,Be.H)(Ze=>this.setFilterAndAttributes(Ze,Ze.stackIdx)),(0,Oe.Q)(this.listenNotification([ct.cancelPendingOperations])),(0,ee.W)(Ze=>(this.logger.error("setFilterAndAttributes failed: ",Ze),(0,h.of)(Ze))),(0,tt.o)(1),(0,Pe.u)());return this.igoConfig.GFNCefClient&&this.customizeAndShowAlert(Ge,pe),Ge}return(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok)}checkPreviewEnabled(){return!(this.currentUIMode!==De.O5.GameFilter||!this.previewSupported)||(this.logger.info("Freestyle previews not enabled."+this.currentUIMode),!1)}showPreviewImg(oe,pe,Ge,Ze){if(!this.checkPreviewEnabled())return;if(void 0===oe){const pt=this.getActiveModsSlot(this.currentUIMode);if(void 0===pt)return void this.logger.info("Active mod slot cannot be undefined");oe=pt.id}const lt=this.slotsPreviewInfo[oe];void 0===Ze&&(Ze=lt.previewPath),this.galleryService.getThumbnailForFile(Ze,pe,Ge).subscribe(pt=>{if(this.resetPreviewStatus(),void 0===pt)return this.logger.info("Image thumbnail cannot be undefined."),void(lt.previewAvailable=!1);this.logger.info("Freestyle preview available for slot: "+lt.id),lt.previewImgData=pt,lt.previewAvailable=!0},pt=>{this.logger.info("Freestyle preview not available for slot: "+lt.id),lt.previewAvailable=!1,this.resetPreviewStatus()})}resetPreviewStatus(){this.previewInProgress&&(this.logger.info("Freestyle preview shot completed."),this.previewInProgress=!1)}setPreviewDetails(oe,pe,Ge){this.logger.info("Setting preview details"),this.checkPreviewEnabled()&&(this.slotsPreviewInfo||this.initializePreviewInfo(),this.shadowPlayService.getFreestylePreviewBasePath().subscribe(Ze=>{const lt=Ze.previewBasePath;this.logger.info("Freestyle preview base folder"+lt);for(const pt of oe)pt.id&&(this.slotsPreviewInfo[pt.id].previewPath=lt+"\\"+this.freestylePreviewPrefix+pt.id+this.freestylePreviewExtension,this.logger.info("Preview path for Slot: "+pt.id+" is "+this.slotsPreviewInfo[pt.id].previewPath),this.previewPaths.push(this.slotsPreviewInfo[pt.id].previewPath));this.sendPreviewPathToGalleryPlugin()},Ze=>{this.logger.info("Error occured in setting preview details :"+Ze)}))}sendPreviewPathToGalleryPlugin(){this.bridgeService.executeCommand(w.Ts.Common.Gallery.PreviewPathInfo,{paths:this.previewPaths}).subscribe(()=>{this.previewPaths=[]})}updatePreview(oe,pe,Ge){let Ze;if(!this.checkPreviewEnabled())return;this.currentGameSlots&&this.currentGameSlots.modsSlotsInfo&&(Ze=this.getActiveModsSlot(this.currentUIMode));const lt=Ze?Ze.id:Ge;0===lt||this.previewInProgress||(this.previewInProgress=!0,this.triggerPreview(this.freestylePreviewPrefix+lt+this.freestylePreviewExtension,lt).subscribe(Ct=>{this.showPreviewImg(lt,oe,pe,Ct.filePath)},Ct=>{this.logger.info("Error in capturing screenshot for preview"),this.previewInProgress=!1}))}triggerPreview(oe,pe){return this.shadowPlayService.captureCustomScreenshot("freestyle",oe,pe)}getAvailableFeatureSet(){return this.cachedFeaturesAvailable?(0,h.of)(this.cachedFeaturesAvailable):this.queryFeatureSet(this.isNvCameraReady?this.nvCameraDefaultTimeout:this.nvCameraStrictTimeout)}queryFeatureSet(oe){return this.cachedFeaturesAvailable=void 0,this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.GetFeatureSet,{},ct.features,oe).pipe((0,p.T)(pe=>{var Ge,Ze;const lt=null!==(Ge=null==pe||null===(Ze=pe.features)||void 0===Ze?void 0:Ze.featureSet)&&void 0!==Ge?Ge:[];return this.cachedFeaturesAvailable={[w.Or.Common.Nvcamera.FeaturesSupported.sdk]:lt.includes(w.Or.Common.Nvcamera.FeaturesSupported.sdk),[w.Or.Common.Nvcamera.FeaturesSupported.mods]:lt.includes(w.Or.Common.Nvcamera.FeaturesSupported.mods),[w.Or.Common.Nvcamera.FeaturesSupported.allowOffline]:lt.includes(w.Or.Common.Nvcamera.FeaturesSupported.allowOffline)},this.cachedFeaturesAvailable}),(0,ee.W)(pe=>(this.cachedFeaturesAvailable={[w.Or.Common.Nvcamera.FeaturesSupported.sdk]:!1,[w.Or.Common.Nvcamera.FeaturesSupported.mods]:!1,[w.Or.Common.Nvcamera.FeaturesSupported.allowOffline]:!1},(0,h.of)(this.cachedFeaturesAvailable))))}closeGameFilterMenu(oe){this.menuCloseInProgress$.next(!0),this.closeMenu(De.O5.GameFilter,oe.isleaveFilters).subscribe(pe=>{this.changeUIRunning(!1),this.igoConfig.GFNCefClient||this.setDynamicHotkey(!0,[I.g8.OpenFreestyle]),this.logger.info("GameFilter menu closed successfully: ",pe)},pe=>{this.changeUIRunning(!1),this.igoConfig.GFNCefClient||this.setDynamicHotkey(!0,[I.g8.OpenFreestyle]),this.logger.error("error while closing GameFilter menu: ",pe)})}closePhotoModeMenu(oe){this.menuCloseInProgress$.next(!0),(oe.isAnselLite?(0,h.of)(null):this.setGridOfThirds(!1)).pipe((0,f.ZZ)(()=>oe.isShowError||this.restartRequired?(this.changeUIRunning(!1),(0,h.of)(!0)):this.closeMenu(De.O5.PhotoMode,!1))).subscribe(pe=>{this.changeUIRunning(!1),this.igoConfig.GFNCefClient||this.setDynamicHotkey(!0,[I.g8.OpenAnsel,I.g8.Screenshot]),this.logger.info("Photo mode menu closed successfully: ",pe)},pe=>{this.changeUIRunning(!1),this.igoConfig.GFNCefClient||this.setDynamicHotkey(!0,[I.g8.OpenAnsel,I.g8.Screenshot]),this.logger.error("error while closing Photo mode menu: ",pe)})}configureNvCameraSession(oe,pe,Ge,Ze){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.SetAnselEnable,{sessionEnable:oe,pauseOnEnable:pe,leaveFiltersOn:Ge},ct.anselEnabledResponse,Ze).pipe((0,we.M)(()=>{oe||this.saveFilterPresetsData()}),(0,p.T)(lt=>{if(lt.anselEnabledResponse.capture)return lt.anselEnabledResponse.capture;throw new Error(w.Or.Common.Nvcamera.AnselStatusEnum.failed)}))}getCurrentGameChromaInfo(){return this.currentGameChromaInfo}getNvCameraSessionState(){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.GetAnselEnabledStatus,{},ct.anselEnabledState,this.nvCameraRelaxedTimeout).pipe((0,p.T)(oe=>{if(void 0!==oe.anselEnabledState.status)return oe.anselEnabledState.status;throw new Error(w.Or.Common.Nvcamera.AnselStatusEnum.failed)}))}getProcessInfo(){return this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.GetProcessInfo,{},ct.procInfo,this.nvCameraRelaxedTimeout).pipe((0,p.T)(oe=>oe),(0,ee.W)(oe=>(this.logger.error("GetProcessInfo failed:",oe),(0,h.of)(void 0))))}getNvCameraSettings(){return this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.GetNvCameraConfig)}checkFeatureSupport(){return this.isPhotoModeEnabled=this.igoConfig.PhotoModeEnabled,this.isGameFilterEnabled=this.igoConfig.GameFilterEnabled,this.isNvCameraEnabled=this.igoConfig.NvCameraFeaturesEnabled&&(this.isPhotoModeEnabled||this.isGameFilterEnabled),this.getGlobalToggle().pipe((0,f.ZZ)(oe=>this.igoConfig.GFNCefClient?(0,h.of)(!0):this.configureNvcameraSettings(oe&&this.isNvCameraEnabled)),(0,f.ZZ)(oe=>(this.logger.info("configureNvcameraSettings response: ",oe),this.registerNotifications(),this.setHotkeyForSlotToggle(this.isGameFilterSupported()))),(0,f.ZZ)(()=>void 0!==this.isAIUpresSupported?(0,h.of)(this.isAIUpresSupported):this.getAiUpresSupported()),(0,p.T)(oe=>(this.isAIUpresSupported=oe,this.logger.info("AIUpres supported",this.isAIUpresSupported),!0)),(0,ee.W)(oe=>{throw this.logger.error("checkFeatureSupport failed: ",oe),oe}))}configureNvcameraSettings(oe){return this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.SetNvCameraConfig,{ipcEnable:oe,freestyleEnable:oe}).pipe((0,p.T)(pe=>(this.logger.info("ConfigureNvcameraSettings returned: ",pe),!0)),(0,ee.W)(pe=>(this.logger.info("ConfigureNvcameraSettings returned: ",pe),(0,h.of)(!1))))}changeUIRunning(oe){this.uiRunning.next(oe),oe||this.menuCloseInProgress$.next(!1)}checkAndLaunchPhotoModeMenu(){this.pageLaunchMode=ke.gv.UsingHotkey,this.igoConfig.GFNCefClient&&this.currentUIMode!==De.O5.PhotoMode?this.isSystemOnline&&this.queryChromaDB().subscribe(oe=>{oe.photoModeSupport&&this.togglePhotoModeUI()}):this.togglePhotoModeUI()}waitForMenuToClose(oe){this.menuCloseInProgress$.pipe((0,Ee.w)(this.nvCameraMenuOpenTimeout),(0,Qe.I6)(pe=>!1===pe),(0,J.s)(1)).subscribe(pe=>{this.logger.info("Previous menu closed "),oe===De.O5.PhotoMode?this.launchPhotoModeMenu():oe===De.O5.GameFilter&&this.launchGameFilterMenu()},pe=>{this.logger.error("Previous session did not close in time: ",pe)})}togglePhotoModeUI(){if(this.logger.info("UI running status PhotoModeUI",this.uiRunning.getValue(),this.menuCloseInProgress$.getValue()),this.uiRunning.getValue())if(this.menuCloseInProgress$.getValue())this.waitForMenuToClose(De.O5.PhotoMode);else{if(this.currentUIMode===De.O5.GameFilter){const oe=this.uiRunning.subscribe(pe=>{pe||(this.launchPhotoModeMenu(),oe.unsubscribe())})}this.oscDisplayService.closeOSC()}else this.launchPhotoModeMenu()}toggleGameFilterUI(){if(this.logger.info("UI running status GameFilterUI",this.uiRunning.getValue()),this.pageLaunchMode=ke.gv.UsingHotkey,this.uiRunning.getValue())if(this.menuCloseInProgress$.getValue())this.waitForMenuToClose(De.O5.GameFilter);else{if(this.currentUIMode===(De.O5.PhotoMode||De.O5.PhotoModeLight)){const oe=this.uiRunning.subscribe(pe=>{pe||(this.launchGameFilterMenu(),oe.unsubscribe())})}this.oscDisplayService.closeOSC()}else this.launchGameFilterMenu()}registerHotkey(oe,pe){this.hotkeyService.listen(oe).pipe((0,_.c)(this.throttleDuration)).subscribe(()=>{pe()})}registerNotifications(){this.isNvCameraEnabled&&(this.isPhotoModeSupported()&&this.registerHotkey(I.g8.OpenAnsel,this.checkAndLaunchPhotoModeMenu.bind(this)),this.isGameFilterSupported()&&(this.registerHotkey(I.g8.FreeStyleToggleStyle1,this.applyOrToggleStyleAt.bind(this,1)),this.registerHotkey(I.g8.FreeStyleToggleStyle2,this.applyOrToggleStyleAt.bind(this,2)),this.registerHotkey(I.g8.FreeStyleToggleStyle3,this.applyOrToggleStyleAt.bind(this,3)),this.igoConfig.GFNCefClient||this.registerHotkey(I.g8.OpenFreestyle,this.toggleGameFilterUI.bind(this))),this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.NvCameraResponseNotification).subscribe(oe=>{this.handleNotifications(oe)}),this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.NvCameraFilterResponseNotification).subscribe(oe=>{this.handleNotifications(oe)}),this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.NgxAIUpResNotifications).subscribe(oe=>{this.handleNotifications(oe)}),this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.NvCameraUIControlNotificationData).subscribe(oe=>{this.handleNotifications(oe)}),this.bridgeService.executeCommand(w.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,Ne.p)(oe=>!!oe.gameExited||!!oe.disableHDR)).subscribe(oe=>{oe.gameExited?this.onGameExit(oe.gameExited):this.anselSnapWhenHDRScreenshotError()}),this.shadowPlayService.registerAppStartedEvent().subscribe(oe=>{this.isAppStartedReceived=!0,this.logger.info("App Start Data: ",oe),oe&&(this.currentGFEGameInfo={procId:oe.appStarted.pid,cmsId:oe.appStarted.cmsId,drsName:oe.appStarted.DRSAppName,drsProfileName:oe.appStarted.profileName,shortName:oe.appStarted.shortName,drsWhitelist:!1}),this.gameDetails.cmsId=this.currentGameInfo.cmsId.toString(),this.gameDetails.drsName=this.currentGameInfo.drsName,this.gameDetails.drsProfileName=this.currentGameInfo.drsProfileName}),this.listenNotification([ct.nvCameraReady]).pipe((0,ot.c)(this.nvCameraDefaultTimeout)).subscribe(oe=>{this.onNvCameraReady(oe)}),this.igoConfig.GFNCefClient||this.shadowPlayService.getNvCameraToggleStateUpdates().pipe((0,f.ZZ)(oe=>this.configureNvcameraSettings(oe&&this.isNvCameraEnabled))).subscribe(),this.getCmsData().subscribe())}anselSnapWhenHDRScreenshotError(){this.isNvCameraReady?(this.uiRunning.getValue()?(0,h.of)(!0):this.tryStartNvCameraSession(w.Or.Common.Nvcamera.FeaturesSupported.mods)).pipe((0,Be.H)(pe=>pe?this.captureScreenshot(!1,void 0):(0,h.of)(pe)),(0,ee.W)(pe=>(this.logger.info("NvCamera session declined for anselSnapWhenHDRScreenshotError",pe),this.oscNotificationService.show(le.Ed.HDRErrorScreenshot),(0,Ce.$)(pe)))).subscribe():this.oscNotificationService.show(le.Ed.HDRErrorScreenshot)}applyOrToggleStyleAt(oe){if(this.logger.info("Hotkey toggle style no ",oe),this.nvcameraOperationUnderProgress)return void this.logger.info("Filter operations under progress, ignoring hotkey");if(this.uiRunning.getValue())return void this.logger.info("UI is up, ignoring hotkey");let pe,Ge=!1;this.isModsAppliedCurrently&&this.currentGameSlots.modsSlotsInfo.lastSlotIdx===oe?(pe=this.enableModsAndApplySlot(0),this.previousStyleApplied=""):(pe=this.checkSlotsForCurrentGame().pipe((0,f.ZZ)(Ze=>this.enableModsAndApplySlot(oe))),Ge=!0),pe.subscribe(Ze=>{this.logger.info("Status of applyOrToggleStyleAt = ",Ze),Ge&&this.sendAnselFreestyleFiltersTelemetry(De.O5.GameFilter)},Ze=>{this.logger.info("Error in applyOrToggleStyleAt. Error = ",Ze),Ge&&(this.nvCameraTimedOut=!0,this.sendAnselFreestyleErrorTelemetry(De.T7.anselFreeStyle,De.O5.GameFilter),this.anselFreestyleErrorTelemetry(De.T7.anselFreeStyle,De.O5.GameFilter,"Nvcamera timed out"))})}getHotkeyNum(oe){return this.hotkeyService.getHotkeyNum(oe)}getHotkeyStringForSlot(oe){switch(oe){case 1:return this.hotkeyService.getHotkeyString(I.g8.FreeStyleToggleStyle1);case 2:return this.hotkeyService.getHotkeyString(I.g8.FreeStyleToggleStyle2);case 3:return this.hotkeyService.getHotkeyString(I.g8.FreeStyleToggleStyle3);default:return(0,h.of)(void 0)}}handleNotifications(oe){this.logger.info("NvCamera Notification: ",oe),this.notifications$.next(oe)}saveFilterPresetsData(oe=null){(oe=oe||this.filterPresetsData)&&this.dBStore.setItem(this.filterPresetsStorageKeyName,JSON.stringify(oe)).subscribe(()=>{this.logger.info("Filter presets data storage updated")},pe=>{this.logger.error("Error while updating filter presets data storage: ",pe)})}loadFilterPresetsData(){return this.filterPresetsData?(0,h.of)(!0):(this.filterPresetsData=new _e.Jm,this.dBStore.getItem(this.filterPresetsStorageKeyName).pipe((0,p.T)(oe=>(oe?this.filterPresetsData.deserialize(JSON.parse(oe))?this.logger.info("Filter presets data loaded from the storage"):(this.logger.error("Failed to parse stored filter presets data, stored data: ",JSON.stringify(oe)),this.filterPresetsData=new _e.Jm):this.logger.info("Filter presets data not found in the storage"),!0)),(0,ee.W)(oe=>(this.logger.error("Could not load filter presets data from the storage: ",JSON.stringify(oe)),(0,h.of)(!0)))))}processSlotsForPathUpdates(oe,pe){let Ge,Ze;return oe.some(lt=>lt.filterStack.filters.length>0&&(lt.filterStack.filters.some(pt=>{const Ct=pt.id;if(!Ge){if(!Ct.includes(this.driverStorePathKey))return!1;if(Ze=Ct.substring(0,Ct.lastIndexOf("\\")+1),pe===Ze)return Ge=!1,!0;Ge=!0,this.logger.info("Driverstore path has changed, updating saved filter presets")}const Xt=Ct.substring(Ct.lastIndexOf("\\")+1);pt.id=pe+Xt}),!Ge)),Ge}checkAndUpdateSavedFilterPaths(){return this.igoConfig.GFNCefClient||!this.currentGameSlots?(0,h.of)(!1):this.getFilterList().pipe((0,p.T)(oe=>{let Ge;oe.filtersList.filtersListArray.some(pt=>{const Ct=pt.id;return!!Ct.includes(this.driverStorePathKey)&&(Ge=Ct.substring(0,Ct.lastIndexOf("\\")+1),!0)});const Ze=this.processSlotsForPathUpdates(this.currentGameSlots.modsSlotsInfo.slots,Ge),lt=this.processSlotsForPathUpdates(this.currentGameSlots.anselSlotsInfo.slots,Ge);return(Ze||lt)&&this.saveFilterPresetsData(),!0}),(0,ee.W)(oe=>(this.logger.error("Error in checkAndUpdateSavedFilterPaths():",oe),(0,h.of)(!1))))}loadSlotsForCurrentGame(){return this.loadFilterPresetsData().pipe((0,we.M)(()=>{let oe="";oe=this.isDevServer?"devserver":this.igoConfig.GFNCefClient?this.currentGameInfo.cmsId.toString():this.currentProcessInfo.procPath,this.filterPresetsData.filterPresets[oe]?this.logger.info("Saved filter presets loaded for the game"):(this.logger.info("No saved filter presets found for the game"),this.filterPresetsData.filterPresets[oe]=new _e.n,this.igoConfig.GFNCefClient||(this.filterPresetsData.filterPresets[oe].modsSlotsInfo.lastSlotIdx=1)),this.currentGameSlots=this.filterPresetsData.filterPresets[oe]}))}getHotkeyStringForActiveSlot(){return this.isNvCameraReady?this.checkSlotsForCurrentGame().pipe((0,f.ZZ)(pe=>this.currentGameSlots.modsSlotsInfo.lastSlotIdx>0?this.getHotkeyStringForSlot(this.currentGameSlots.modsSlotsInfo.lastSlotIdx):(0,h.of)(void 0))):(0,h.of)("None")}checkSlotsForCurrentGame(){return this.currentGameSlots?(0,h.of)(!0):this.getProcessInfo().pipe((0,Ne.p)(oe=>!!oe),(0,f.ZZ)(oe=>(this.currentProcessInfo=oe[ct.procInfo],this.loadSlotsForCurrentGame())))}initializePreviewInfo(){if(!this.slotsPreviewInfo){this.slotsPreviewInfo=[];for(let oe=0;oe<=_e.Zi;oe++)this.slotsPreviewInfo.push(new _e.Bv(oe))}}deletePreviews(){if(this.slotsPreviewInfo)for(let oe=0;oe<=_e.Zi;oe++)this.slotsPreviewInfo[oe].previewPath&&this.bridgeService.executeCommand(w.Ts.Common.Gallery.DeletePreview,{previewFilepath:this.slotsPreviewInfo[oe].previewPath}).subscribe()}tryLaunchMenu(oe){this.nvcameraOperationUnderProgress=!0;let pe=!1;return this.tryStartNvCameraSession(oe).pipe((0,f.ZZ)(Ge=>(pe=Ge,this.checkSlotsForCurrentGame())),(0,f.ZZ)(()=>this.checkAndUpdateSavedFilterPaths()),(0,p.T)(()=>(this.logger.info("Launching UI Menu"),this.restartRequired=!1,oe===w.Or.Common.Nvcamera.FeaturesSupported.mods?pe?this.oscDisplayService.openOSC("sidebar/nvcamera/game-filters",{showError:!1,errorType:rn.SUCCESS,nvCameraSessionExists:!0}):(this.currentUIMode=De.O5.GameFilter,this.oscDisplayService.openOSC("sidebar/nvcamera/game-filters",{showError:!0,errorType:rn.ERROR_SUPPORTED_GAME,nvCameraSessionExists:!1})):oe===w.Or.Common.Nvcamera.FeaturesSupported.sdk&&this.oscDisplayService.openOSC("sidebar/nvcamera/photo-mode",{UIMode:this.currentUIMode,isAIUpresEnabled:this.isAIUpresSupported,showError:!1,errorType:rn.SUCCESS}),!0)),(0,We.j)(()=>{this.nvcameraOperationUnderProgress=!1}))}setNvcameraCmsInfo(){this.currentFreestyleGameInfo&&this.currentFreestyleGameInfo.cmsId&&this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.SetCMSInfo,{cmsId:this.currentFreestyleGameInfo.cmsId.toString(),shortName:this.currentFreestyleGameInfo.shortName}).subscribe()}getGPUInfo(){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetGPUInfo)}getGenericInfo(){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetGenericInfo)}getSystemInfo(){return this.systemInfo?(0,h.of)(this.systemInfo):(this.systemInfo={cpuName:"",gpuName:"",systemType:"",isOptimus:!1,osVersion:"",ddVersion:""},this.igoConfig.GFNCefClient?(0,h.of)(this.systemInfo):(0,W.p)([this.systemInfoService.getSystemInfo([a.Lu.CPUName,a.Lu.GPU,a.Lu.OSVersion]),this.getGPUInfo(),this.getGenericInfo()]).pipe((0,p.T)(([oe,pe,Ge])=>{var Ze,lt,pt,Ct;this.systemInfo.cpuName=oe.CPUName;const Xt=null!==(Ze=null===(lt=oe.GPU)||void 0===lt||null===(lt=lt.GPUData)||void 0===lt?void 0:lt.length)&&void 0!==Ze?Ze:0;let Ht=0;for(;Ht(this.logger.error("Error while fetching system info ",oe),(0,h.of)(this.systemInfo)))))}getGlobalToggle(){return this.shadowPlayService.getNvCameraToggleState()}setGlobalToggle(oe){return this.logger.info("setGlobalToggle:",oe),this.globalToggleChangedFromIGO$.next(oe),(0,W.p)([this.shadowPlayService.setNvCameraToggleState(oe),this.configureNvcameraSettings(oe)]).pipe((0,p.T)(()=>(this.logger.info("setGlobalToggle successfull"),!0)))}listenToNvCameraGlobalToggleChanges(){return this.globalToggleChangedFromIGO$.asObservable()}getIsGameRestartRequestedfromCTA(){return this.isGameRestartRequestedfromCTA}setIsGameRestartRequestedfromCTA(oe){this.isGameRestartRequestedfromCTA=oe}isFreestyleSupportedGame(){var oe;return null===(oe=this.currentGameInfo)||void 0===oe?void 0:oe.drsWhitelist}checkIfCurrentGameIsAllowlisted(){var oe,pe;return this.igoConfig.GFNCefClient?null===(oe=this.chromaDBResult)||void 0===oe?void 0:oe.gameFilterSupport:null===(pe=this.currentGameChromaInfo)||void 0===pe||null===(pe=pe.nvidiaTech)||void 0===pe?void 0:pe.FREESTYLE}checkFeatureLaunch(oe){let pe=rn.SUCCESS;var Ge;switch(this.isSystemOnline=this.networkStatusService.isOnline,this.currentGameInfo&&(this.igoConfig.GFNCefClient||(null===(Ge=this.currentFreestyleGameInfo)||void 0===Ge?void 0:Ge.procId)===this.currentGameInfo.procId)&&(this.currentFreestyleGameInfo=this.currentGameInfo),oe){case De.O5.PhotoModeLight:case De.O5.GameFilter:if(this.isSystemOnline)return this.queryChromaDB().pipe((0,p.T)(()=>(this.currentFreestyleGameInfo&&void 0!==this.currentFreestyleGameInfo.cmsId&&this.checkIfCurrentGameIsAllowlisted()?(this.logger.info("Game whitelisted in ChromaDB"),pe=rn.SUCCESS):(this.logger.info("Game blacklisted in ChromaDB: ",this.currentFreestyleGameInfo),pe=rn.ERROR_SUPPORTED_GAME),pe)),(0,ee.W)(lt=>{var pt;return pe=this.igoConfig.GFNCefClient?rn.ERROR_SYSTEM_OFFLINE:null!==(pt=this.cachedFeaturesAvailable)&&void 0!==pt&&pt[w.Or.Common.Nvcamera.FeaturesSupported.allowOffline]?rn.SUCCESS:rn.ERROR_SUPPORTED_GAME,(0,h.of)(pe)}));var Ze;pe=this.igoConfig.GFNCefClient?rn.ERROR_SYSTEM_OFFLINE:null!==(Ze=this.cachedFeaturesAvailable)&&void 0!==Ze&&Ze[w.Or.Common.Nvcamera.FeaturesSupported.allowOffline]?rn.SUCCESS:rn.ERROR_SUPPORTED_GAME;break;case De.O5.PhotoMode:break;default:this.logger.error("Unknown feature: "+oe)}return(0,h.of)(pe)}nvcameraRequestWithWait(oe,pe,Ge,Ze){return new ae.c(lt=>{this.logger.info("command: ",oe.method),this.logger.info("params: ",pe);const pt=this.listenNotification([Ge]).pipe((0,Ee.w)(Ze)).subscribe(Ct=>{lt.next(Ct),pt.unsubscribe(),lt.complete()},Ct=>{this.logger.error("nvcameraRequestWithWait ",oe.method," timed out"),lt.error(Ct)});this.bridgeService.executeCommand(oe,pe).subscribe(Ct=>{this.logger.info(oe.method,"command issued: ",Ct)},Ct=>{this.logger.error("nvcameraRequestWithWait",oe.method," failed"),lt.error(Ct),pt.unsubscribe()})})}enableNvCameraSession(){return this.configureNvCameraSession(!0,this.currentUIMode===De.O5.PhotoMode,!1,this.nvCameraDefaultTimeout).pipe((0,p.T)(pe=>{const Ge=[w.Or.Common.Nvcamera.AnselStatusEnum.ok,w.Or.Common.Nvcamera.AnselStatusEnum.alreadyEnabled];if(Ge.push(this.currentUIMode===De.O5.PhotoMode?w.Or.Common.Nvcamera.AnselStatusEnum.okAnsel:w.Or.Common.Nvcamera.AnselStatusEnum.okModsOnly),Ge.includes(pe))return!0;throw new Error(rn.ERROR_SESSION_NOT_ALLOWED)}))}tryStartNvCameraSession(oe){return this.igoConfig.GFNCefClient?this.enableNvCameraSession():this.getAvailableFeatureSet().pipe((0,p.T)(pe=>{if(null!=pe&&pe[oe])return oe===w.Or.Common.Nvcamera.FeaturesSupported.sdk?De.O5.PhotoMode:De.O5.GameFilter;if(oe===w.Or.Common.Nvcamera.FeaturesSupported.sdk&&null!=pe&&pe[w.Or.Common.Nvcamera.FeaturesSupported.mods]&&this.isPhotoModeLiteSupported())return this.currentUIMode=De.O5.PhotoModeLight,De.O5.PhotoModeLight;throw new Error(rn.ERROR_SUPPORTED_GAME)}),(0,f.ZZ)(pe=>this.checkFeatureLaunch(pe)),(0,we.M)(pe=>{if(pe!==rn.SUCCESS)throw new Error(pe)}),(0,f.ZZ)(()=>this.enableNvCameraSession()))}gameStartedNotify(){return this.nvcameraGameStarted$.asObservable()}modsSlotappliedComplete(){return this.modsAppliedOnGameLaunch$.asObservable()}ensureChromaDataIsAvailableForGame(){var oe;return this.logger.info("ensureChromaDataIsAvailableForGame"),null===(oe=this.lcarsService)||void 0===oe?void 0:oe.getCurrentAppChromaInfo().pipe((0,Ne.p)(pe=>!!pe&&void 0!==pe.pid&&pe.pid===this.currentFreestyleGameInfo.procId&&!this.isPreviousSessionRunning()),(0,p.T)(pe=>{var Ge;return this.currentGameChromaInfo=pe,null!==(Ge=this.currentGameChromaInfo)&&void 0!==Ge&&null!==(Ge=Ge.nvidiaTech)&&void 0!==Ge&&Ge.FREESTYLE||(this.nvcameraGameStarted$.next(!0),this.modsAppliedOnGameLaunch$.next(0)),this.logger.info("Chroma info fetched successfully for the current nvcamera game ",pe),!0}),(0,J.s)(1),(0,Ee.w)(He.CZ))}shouldApplyFiltersOnLaunch(){const oe=this.currentGameSlots.modsSlotsInfo.lastSlotIdx;var pe;return oe>0&&(null===(pe=this.currentGameSlots.modsSlotsInfo.slots[oe])||void 0===pe||null===(pe=pe.filterStack)||void 0===pe||null===(pe=pe.filters)||void 0===pe?void 0:pe.length)>0}onNvCameraReady(oe){this.statusOfCaptureEnhance&&(oe.nvCameraReady.deviceCreationCounter>0&&(this.logger.info("nvcamera ready notification received"),this.isNvCameraReady=!0,this.gameFilterDisable.next(!1),this.photoModeDisable.next(!1),this.queryFeatureSet(this.nvCameraRelaxedTimeout).subscribe()),this.getProcessInfo().pipe((0,Ne.p)(pe=>!!pe),(0,f.ZZ)(pe=>(this.currentProcessInfo=pe[ct.procInfo],this.currentFreestyleGameInfo={procId:pe[ct.procInfo].procId,cmsId:void 0,drsName:void 0,drsProfileName:void 0,shortName:void 0,drsWhitelist:!1},this.igoConfig.GFNCefClient||(this.nvcameraGameStarted$.next(!0),!this.networkStatusService.isOnline)?(0,h.of)(!1):this.ensureChromaDataIsAvailableForGame())),(0,Ne.p)(pe=>pe),(0,f.ZZ)(()=>this.loadSlotsForCurrentGame()),(0,f.ZZ)(()=>{const pe=this.currentGameSlots.modsSlotsInfo.lastSlotIdx;return this.shouldApplyFiltersOnLaunch()?this.enableModsAndApplySlot(pe,!0).pipe((0,p.T)(Ge=>(this.logger.info("slot",pe,"filters applied automatically"),this.sendAnselFreestyleFiltersTelemetry(De.O5.GameFilter,!0),Ge))):(this.modsAppliedOnGameLaunch$.next(pe),this.triggerPpeFilterSlotChange(pe),this.previousSlotApplied=pe,(0,h.of)(w.Or.Common.Nvcamera.AnselStatusEnum.ok))}),(0,f.ZZ)(pe=>this.getHotkeyStringForActiveSlot().pipe((0,p.T)(Ge=>(this.gameFilterStyleToggleHotkey.next(Ge),pe))))).subscribe(Se.l,pe=>{this.logger.error("failed to apply slot automatically: ",pe.message)}))}resetState(oe=null){if(this.logger.info("resetState"),this.igoConfig.GFNCefClient)this.preResetSessionData.currentGameInfo=this.currentGameInfo,this.preResetSessionData.uiMode=this.currentUIMode,this.preResetSessionData.modsApplied=this.isModsAppliedCurrently;else{const pe=null==oe?void 0:oe.exitAppPID;if(this.logger.info("currentProcessInfo:",this.currentProcessInfo),this.currentProcessInfo&&this.currentProcessInfo.procId!==pe&&-1!==pe)return void this.logger.info("gameExit ignored for Pid:",pe);this.currentProcessInfo&&this.currentProcessInfo.procId===pe&&(this.currentFreestyleGameInfo=void 0,this.currentGameChromaInfo=void 0)}this.cachedFeaturesAvailable=void 0,this.currentGameSlots=void 0,this.currentUIMode=void 0,this.isModsAppliedCurrently=!1,this.passFilterStateToTelemetry(),this.gameFilterDisable.next(!0),this.photoModeDisable.next(!0),this.isNvCameraReady=!1,this.currentProcessInfo=void 0,this.telemetryService.setModsActiveStatus(!1),this.saveFilterPresetsData(),this.restartRequired=!1,this.currentGFEGameInfo=void 0,this.currentGameStreamInfo=void 0,this.previewInProgress=!1,this.deletePreviews(),this.slotsPreviewInfo=void 0,this.chromaDBResult=void 0,this.isAppStartedReceived=!1,this.isGameRestartRequestedfromCTA=!1,this.isAIDVCEnabled=!1,this.isAIHDREnabled=!1,this.isNIS2Enabled=!1}onGameExit(oe){if(!this.igoConfig.GFNCefClient)return this.resetState(oe)}sanitize(oe){return Math.floor(oe*_e.US)/_e.US}fillSingleSliderControl(oe,pe,Ge,Ze){Ze.id=pe.id,Ze.dataType=pe.dataType,Ze.dimension=Ge,Ze.measureUnit=pe.measureUnit||"",Ze.minValue=Math.round(pe.minValue[Ge]*_e.Af)/_e.Af,Ze.maxValue=Math.round(pe.maxValue[Ge]*_e.Af)/_e.Af,Ze.stepSize=Math.round(pe.stepSize[Ge]*_e.Af)/_e.Af,Ze.currentValue=Math.round(pe.currentValue[Ge]*_e.Af)/_e.Af,Ze.uiMinValue=pe.uiMinValueV1?pe.uiMinValueV1[Ge]:pe.uiMinValue,Ze.uiMaxValue=pe.uiMaxValueV1?pe.uiMaxValueV1[Ge]:pe.uiMaxValue,Ze.uiStepSize=this.sanitize(pe.uiStepSize[Ge]),0===Ze.uiStepSize&&(Ze.uiStepSize=Math.abs(Ze.uiMaxValue-Ze.uiMinValue)/100),Ze.uiMinValue!==Ze.uiMaxValue?(Ze.currentUIValue=Math.round(this.normalizeSliderValue(pe.currentValue[Ge]*_e.Af/_e.Af,Ze.minValue,Ze.maxValue,Ze.uiMinValue,Ze.uiMaxValue)*_e.US)/_e.US,Ze.defaultValue=Math.round(this.normalizeSliderValue(pe.defaultValue[Ge]*_e.Af/_e.Af,Ze.minValue,Ze.maxValue,Ze.uiMinValue,Ze.uiMaxValue)*_e.US)/_e.US):(Ze.currentUIValue=Ze.uiMaxValue,Ze.defaultValue=Ze.uiMaxValue),"int"===pe.dataType&&(Ze.stepSize=Ze.uiStepSize=1)}fillSingleEditControl(oe,pe,Ge,Ze){Ze.id=pe.id,Ze.dataType=pe.dataType,Ze.dimension=Ge,Ze.currentValue=pe.currentValue[Ge],Ze.minValue=pe.minValue[Ge],Ze.maxValue=pe.maxValue[Ge]}createFilterControls(oe,pe){var Ge;oe&&oe.filterDetails&&(pe.controls=[],null===(Ge=oe.filterDetails.controls)||void 0===Ge||Ge.forEach((Ze,lt,pt)=>{const Ct={};Ct.controlType=Ze.controlType,Ct.displayName=Ze.displayName,Ct.currentValueArray=[];const Xt=(Ze.defaultValue||Ze.currentValue||[Ze.defaultId]).length;if("slider"===Ze.controlType){if(1===Xt)this.fillSingleSliderControl(pe,Ze,0,Ct),Ct.currentValueArray[0]=Ct.currentValue;else if(Xt>1){Ct.controlType="multislider",Ct.subControls=[],Ct.id=Ze.id,Ct.dataType=Ze.dataType;for(let Ht=0;Ht1){Ct.controlType="multiedit",Ct.id=Ze.id,Ct.dataType=Ze.dataType,Ct.subControls=[];for(let Ht=0;Ht{if(lt){if(this.currentUIMode!==De.O5.PhotoMode)return(0,h.of)(!1);Ze=w.Or.Common.Nvcamera.Mode.windowedSDK}else if(this.currentUIMode===De.O5.PhotoMode)Ze=w.Or.Common.Nvcamera.Mode.fullscreenSDK;else{if(this.currentUIMode!==De.O5.PhotoModeLight)return(0,h.of)(!1);Ze=w.Or.Common.Nvcamera.Mode.fullscreenNoSDK}return this.igoConfig.GFNCefClient?(0,h.of)(!1):this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.SetAnselRedirection,{enable:oe,mode:Ze,hid:pe})})).subscribe(lt=>{this.logger.info("EnableAnselRedirection status: ",lt)},lt=>{this.logger.error("EnableAnselRedirection error: ",lt)})}getRedirectionState(){return this.isRedirectionEnable}isInDesktopMode(){return this.oscDisplayService.getCurrentDesktopMode().pipe((0,Fe.$)(),(0,p.T)(oe=>(this.logger.info("Current display mode is ",oe),"desktop"===oe)))}setLanguageAndGetFilterList(){return this.localeService.localeChanged.pipe((0,Fe.$)(),(0,f.ZZ)(oe=>(this.logger.info("locale changed to:",oe),this.bridgeService.executeCommand(w.Ts.Common.Nvcamera.SetLanguage,{langId:oe}))),(0,f.ZZ)(()=>this.getFilterList()))}getCurrentUIMode(){return this.currentUIMode}setCurrentModSlotName(oe){this.currentGameSlots.modsSlotsInfo.slots[this.currentGameSlots.modsSlotsInfo.lastSlotIdx].slotName=oe}getCurrentModSlotName(){if(this.isAnyGameFilterSlotSelected()){const oe=this.currentGameSlots.modsSlotsInfo.slots[this.currentGameSlots.modsSlotsInfo.lastSlotIdx].slotName;return oe&&""!==oe.trim()?oe:void 0}}getCurrentSlotIndex(){return this.isAnyGameFilterSlotSelected()?this.currentGameSlots.modsSlotsInfo.lastSlotIdx.toString():""}getActiveModsSlot(oe){let pe;return pe=oe===De.O5.GameFilter?this.currentGameSlots.modsSlotsInfo:this.currentGameSlots.anselSlotsInfo,pe.slots[pe.lastSlotIdx]}isAnyGameFilterSlotSelected(){return!!this.statusOfCaptureEnhance&&this.currentGameSlots&&this.currentGameSlots.modsSlotsInfo.lastSlotIdx>0}isAnyGameFilterSlotSelectedNvApp(){return this.currentGameSlots&&this.currentGameSlots.modsSlotsInfo.lastSlotIdx>0}isPreviousSessionRunning(){return this.currentFreestyleGameInfo&&this.currentFreestyleGameInfo.cmsId}getCmsData(){let oe=!1;return this.shadowPlayService.registerAppStartedEvent().pipe((0,f.ZZ)(pe=>(this.logger.info("app notification:",pe),oe=!0,this.isAppStartedReceived=!0,this.currentGameInfo&&this.currentGameInfo.drsWhitelist?(0,h.of)(void 0):this.isPreviousSessionRunning()?(this.logger.info("not updating current app data"),(0,h.of)(void 0)):(this.logger.info("updating current app data"),pe&&(this.currentGFEGameInfo={procId:pe.appStarted.pid,cmsId:pe.appStarted.cmsId,chromaAppId:pe.appStarted.ChromaAppId,drsName:pe.appStarted.DRSAppName,drsProfileName:pe.appStarted.profileName,shortName:pe.appStarted.shortName,drsWhitelist:!1}),this.igoConfig.GFNCefClient?(0,h.of)({}):this.getFreestyleWhitelisted(pe.appStarted.DRSAppName)))),(0,we.M)(pe=>{this.logger.info("getFreestyleWhitelisted",pe),this.currentGameInfo.drsWhitelist=!!pe&&pe.freestyleWhitelisted,oe&&!this.currentGameInfo.drsWhitelist&&(this.nvcameraGameStarted$.next(!0),this.modsAppliedOnGameLaunch$.next(0))}),(0,ee.W)(pe=>(oe=!1,this.logger.error("getFreestyleWhitelisted failed"+JSON.stringify(pe)),(0,h.of)())))}setAnselFreestyleState(){this.gameFilterDisable.value&&this.gameFilterDisable.next(!1),this.photoModeDisable.value&&this.photoModeDisable.next(!1)}checkNvCameraReady(){this.queryFeatureSet(this.nvCameraRelaxedTimeout).pipe((0,we.M)(oe=>{oe&&(oe[w.Or.Common.Nvcamera.FeaturesSupported.mods]||oe[w.Or.Common.Nvcamera.FeaturesSupported.sdk])&&(this.isNvCameraReady=!0,this.logger.info("Setting NvCamera ready"),this.setAnselFreestyleState())})).subscribe()}setNavigationInputDevice(oe=[],pe=[]){if(oe.length===pe.length)for(let Ge=0;Ge{const Ht=Xt.filterStack.filters.length;let Ft="";if(Ht){this.slotsUsed.add(Ct);for(let Wt=0;Wt{const Ht=Xt.filterStack.filters.length;let Ft="";if(Ht)for(let Yt=0;Yt{let lt=De.nt.unsupportedGame,pt=this.currentGameInfo;Ge?(lt=De.nt.streamerError,pt||(pt=this.preResetSessionData.currentGameInfo)):pt&&!this.checkIfCurrentGameIsAllowlisted()?lt=De.nt.gameBlacklisted:this.nvCameraTimedOut&&(lt=De.nt.nvCameraTimedOut,this.nvCameraTimedOut=!1),pt&&this.telemetryService.sendAnselFreestyleErrorTelemetry(oe,pe,pt.cmsId.toString(),pt.shortName,pt.drsName,pt.drsProfileName,Ze.cpuName,Ze.gpuName,Ze.osVersion,Ze.isOptimus,Ze.systemType,Ze.ddVersion,lt,Ge)})}errorHandlingForLaunchMenu(oe,pe){pe!==rn.ERROR_SUPPORTED_GAME&&(this.currentUIMode=void 0),this.igoConfig.GFNCefClient?oe===w.Or.Common.Nvcamera.FeaturesSupported.sdk?(pe===rn.ERROR_SESSION_NOT_ALLOWED?this.oscNotificationService.show(le.Ed.PhotoModeNotAllowed):this.photoModeDisable.next(!0),this.sendFeatureDisableErrorTelemetry(De.O5.PhotoMode,De.bG.nvCameraSessionConfigurationFailed,JSON.stringify(pe))):oe===w.Or.Common.Nvcamera.FeaturesSupported.mods&&(this.gameFilterDisable.next(!0),this.sendFeatureDisableErrorTelemetry(De.O5.GameFilter,De.bG.nvCameraSessionConfigurationFailed,JSON.stringify(pe))):pe!==rn.ERROR_SESSION_NOT_ALLOWED||oe!==w.Or.Common.Nvcamera.FeaturesSupported.sdk?pe===rn.ERROR_RESTART?(this.restartRequired=!0,oe===w.Or.Common.Nvcamera.FeaturesSupported.mods?this.oscDisplayService.openOSC("sidebar/nvcamera/game-filters",{showError:!1,errorType:rn.ERROR_RESTART}):oe===w.Or.Common.Nvcamera.FeaturesSupported.sdk&&this.oscDisplayService.openOSC("sidebar/nvcamera/photo-mode",{showError:!1,errorType:rn.ERROR_RESTART})):oe===w.Or.Common.Nvcamera.FeaturesSupported.mods?this.oscDisplayService.openOSC("sidebar/nvcamera/game-filters",{showError:!0,errorType:pe}):oe===w.Or.Common.Nvcamera.FeaturesSupported.sdk&&this.oscDisplayService.openOSC("sidebar/nvcamera/photo-mode",{UIMode:this.currentUIMode,isAIUpresEnabled:!1,showError:!0,errorType:pe}):this.oscNotificationService.show(this.igoConfig.GFNCefClient?le.Ed.PhotoModeNotAllowed:le.Ed.PhotoModeNotAllowedNvApp)}onCaptureEnhanceToggle(){this.statusOfCaptureEnhance&&this.isNvCameraReady?this.applySlot(this.currentGameSlots.modsSlotsInfo.lastSlotIdx,!0).subscribe(oe=>{this.logger.info("applySlot success")},oe=>{this.logger.error("applySlot failed:",oe)}):!this.statusOfCaptureEnhance&&this.isNvCameraReady&&this.resetEntireStack().subscribe(oe=>{this.logger.info("resetEntireStack success")},oe=>{this.logger.error("resetEntireStack failed:",oe)}),this.setHotkeyForSlotToggle(this.statusOfCaptureEnhance&&this.isGameFilterSupported()).subscribe()}setHotkeyForSlotToggle(oe){return this.igoConfig.GFNCefClient?(0,h.of)(!1):(this.hotkeyService.setHotkeyDynamicEnable([I.g8.FreeStyleToggleStyle1,I.g8.FreeStyleToggleStyle2,I.g8.FreeStyleToggleStyle3],oe),(0,h.of)(!0))}setDynamicHotkey(oe,pe){this.igoConfig.GFNCefClient||this.hotkeyService.setHotkeyDynamicEnable(pe,oe)}formatDataForUnifiedIPC(oe,pe){if(!oe||!oe.controls||!Array.isArray(oe.controls)||0===oe.controls.length)return this.logger.error("Fields missing (Filter / Controls). Abort formatting..."),null;const Ge={filterId:void 0,stackIdx:void 0,controls:[void 0]},Ze={slider:1,multislider:1,boolean:2,edit:5,multiedit:5,pulldown:7};return Ge.filterId=oe.id,Ge.stackIdx=pe,Ge.controls=[],oe.controls.forEach(function(lt){Ge.controls.push({id:lt.id,type:Ze[lt.controlType],values:lt.currentValueArray,dataType:lt.dataType})}),Ge}setFilterAndAttributes(oe,pe){this.logger.info("service.setFilterAndAttributes(). Try to formatDataForUnifiedIPC().");const Ge=this.formatDataForUnifiedIPC(oe,pe);return Ge?(this.logger.info("SetFilterAndAttributes request: ",Ge),this.nvcameraRequestWithWait(w.Ts.Common.Nvcamera.SetFilterAndAttributes,{filterId:Ge.filterId,stackIdx:Ge.stackIdx,controls:Ge.controls},ct.filterDetails,this.nvCameraRelaxedTimeout).pipe((0,p.T)(Ze=>Ze.filterDetails.filter.status?Ze.filterDetails.filter.status:w.Or.Common.Nvcamera.AnselStatusEnum.failed),(0,tt.o)(1))):(this.logger.error("Fallback to old API (setFilterType)."),this.setFilterWithAttributes(oe))}normalizeSliderValue(oe,pe,Ge,Ze,lt){return(oe-pe)/(Ge-pe)*(lt-Ze)+Ze}startNvCameraSession(){return this.currentUIMode=De.O5.GameFilter,this.tryStartNvCameraSession(w.Or.Common.Nvcamera.FeaturesSupported.mods)}getAiUpresSupported(){return this.igoConfig.GFNCefClient?(0,h.of)(!1):this.systemInfoService.getSystemInfo([a.Lu.OSVersion]).pipe((0,p.T)(oe=>{const pe=oe.OSVersion.split(".");return Tn.OSBuildNumber<=parseInt(pe[pe.length-1],10)}),(0,f.ZZ)(oe=>oe?this.getGPUInfo():(0,h.of)(void 0)),(0,p.T)(oe=>{if(oe){const pe=(0,Xe.find)(oe.GPU,{IsPrimary:"1"})||oe.GPU[0],Ge=pe.GPUArchitecture,Ze=void 0!==pe.GPUArchImplementation?parseInt(pe.GPUArchImplementation,16):void 0,lt=parseInt(Tn.GPUArchitecture,16)<=parseInt(Ge,10),pt=lt&&Ze&&!Tn.ExGPUArchImplementation.includes(Ze);return!(!lt||!pt)}return!1}),(0,ee.W)(oe=>(this.logger.error("Error in checking AIUpresSupport: ",oe),(0,h.of)(!1))))}updateStreamerState(){this.streamerStateSubscription&&(this.streamerStateSubscription.unsubscribe(),this.streamerStateSubscription=void 0),this.streamerStateSubscription=this.oscDisplayService.streamerState$.subscribe(oe=>{if(oe){if(this.logger.info("streaming state change: ",oe.name),["Error","TerminalError","ResumableError"].indexOf(oe.name)>=0&&(this.isModsAppliedCurrently||this.preResetSessionData.modsApplied||this.currentUIMode)){const Ge="State: "+oe.name+", modsActive: "+(this.isModsAppliedCurrently||this.preResetSessionData.modsApplied)+", UI mode: "+(this.currentUIMode?this.currentUIMode:this.preResetSessionData.uiMode||"Other");this.logger.info("StreamerError errorString = ",Ge),this.sendAnselFreestyleErrorTelemetry(De.T7.anselFreestyleGeneralFailure,this.currentUIMode||De.O5.GameFilter,Ge)}"Done"===oe.name&&this.resetState()}})}sendFunctionalityErrorTelemetry(oe){this.sendAnselFreestyleErrorTelemetry(De.T7.anselFreestyleGeneralFailure,this.currentUIMode||De.O5.GameFilter,oe)}sendFeatureDisableErrorTelemetry(oe,pe,Ge){var Ze,lt;let pt=this.currentGameInfo;pt||(pt=this.preResetSessionData.currentGameInfo),this.telemetryService.sendAnselFreestyleFeatureDisableTelemetry(null===(Ze=pt)||void 0===Ze?void 0:Ze.cmsId.toString(),null===(lt=pt)||void 0===lt?void 0:lt.shortName.toString(),oe||De.O5.GameFilter,pe,Ge||"Unknown Error")}transformGFEFilterData(oe){this.logger.info("transformGFEFilterData");const pe=[];return oe?(oe.forEach((Ge,Ze)=>{var lt;const pt={filterDetails:{filter:{status:w.Or.Common.Nvcamera.AnselStatusEnum.ok,stackIdx:Ze,id:Ge.id,filterDisplayName:Ge.title},controls:[]}};function Ct(Ft,Wt,en){var Lt,cn,Yt,En,ni,dn;Wt.minValue.push(null===(Lt=Ft.range)||void 0===Lt?void 0:Lt.min),Wt.maxValue.push(null===(cn=Ft.range)||void 0===cn?void 0:cn.max),Wt.defaultValue.push(Ft.default),Wt.currentValue.push(Ft.value),"int"===Wt.dataType&&(Ft.step=1),Wt.stepSize.push(Ft.step),Wt.uiMinValueV1.push(null===(Yt=Ft.uiRange)||void 0===Yt?void 0:Yt.min[en]),Wt.uiMaxValueV1.push(null===(En=Ft.uiRange)||void 0===En?void 0:En.max[en]),Wt.uiMinValue=null===(ni=Ft.uiRange)||void 0===ni?void 0:ni.min[0],Wt.uiMaxValue=null===(dn=Ft.uiRange)||void 0===dn?void 0:dn.min[0],0===Ft.step&&(Ft.step=((Wt.uiMaxValueV1?Wt.uiMaxValueV1[en]:Wt.uiMaxValue)-(Wt.uiMinValueV1?Wt.uiMinValueV1[en]:Wt.uiMinValue))/100,Wt.uiStepSize.push(Ft.step))}function Xt(Ft,Wt,en){Wt.minValue.push(Ft.min),Wt.maxValue.push(Ft.max),Wt.defaultValue.push(Ft.value),Wt.currentValue.push(Ft.value)}null===(lt=Ge.controls)||void 0===lt||lt.forEach(Ft=>{var Wt,en;const Lt={};switch(Lt.id=Ft.id,Lt.displayName=Ft.title,Ft.type){case"sidebar-slider":Lt.controlType="slider",Lt.dataType=Ft.dataType,Lt.uiDisplayNameV1=[""],Lt.minValue=[],Lt.maxValue=[],Lt.defaultValue=[],Lt.currentValue=[],Lt.stepSize=[],Lt.uiStepSize=[],Lt.uiMinValueV1=[],Lt.uiMaxValueV1=[],Lt.uiMinValue=[],Lt.uiMaxValue=[],Lt.uiDisplayNameV1=[""],Ct(Ft,Lt,0),Lt.uiDisplayNameV1=[""];break;case"sidebar-multislider":Lt.controlType="slider",Lt.dataType=Ft.dataType,Lt.minValue=[],Lt.maxValue=[],Lt.defaultValue=[],Lt.currentValue=[],Lt.stepSize=[],Lt.uiStepSize=[],Lt.uiMinValueV1=[],Lt.uiMaxValueV1=[],Lt.uiMinValue=[],Lt.uiMaxValue=[],Lt.uiDisplayNameV1=[""],null===(Wt=Ft.subcontrols)||void 0===Wt||Wt.forEach((cn,Yt)=>{Lt.uiDisplayNameV1.push(cn.title),Ct(cn,Lt,Yt)});break;case"sidebar-boolean":Lt.controlType="boolean",Lt.dataType="bool",Lt.currentValue=Ft.value;break;case"sidebar-list":Lt.controlType="pulldown",Lt.defaultId=Ft.title,Lt.currentId=Ft.title,Lt.uiDisplayNameV1=[],Ft.items.forEach(cn=>{Lt.uiDisplayNameV1.push(cn.title)});break;case"sidebar-edit":Lt.controlType="edit",Lt.dataType=Ft.dataType,Lt.uiDisplayNameV1=[""],Lt.minValue=[],Lt.maxValue=[],Lt.defaultValue=[],Lt.currentValue=[],Xt(Ft,Lt);break;case"sidebar-multiedit":Lt.controlType="edit",Lt.dataType=Ft.dataType,Lt.minValue=[],Lt.maxValue=[],Lt.defaultValue=[],Lt.currentValue=[],Lt.uiDisplayNameV1=[""],null===(en=Ft.subcontrols)||void 0===en||en.forEach((cn,Yt)=>{Lt.uiDisplayNameV1.push(cn.title),Xt(cn,Lt)})}pt.filterDetails.controls.push(Lt)});const Ht=new _e.dJ(Ge.id,Ge.title,!1,Ze);this.createFilterControls(pt,Ht),pe.push(Ht)}),pe):(this.logger.info("Invalid filter stack data from gfe backup"),pe)}loadGFEMigrationData(oe){try{const pe=new _e.Jm,Ge=oe.ModsSlotStorage,Ze=oe.ModsDataStorage,lt=3;return Ge&&Ze?(this.logger.info("Porting GFE backup data"),Object.keys(Ge).forEach(Ct=>{var Xt;let Ht;for(pe.filterPresets[Ct]=new _e.n,Ht=0;Ht=0?en:0,pe.filterPresets[Ct].modsSlotsInfo.slots[Ht+1].filterStack.filters=this.transformGFEFilterData(null===(Wt=Ge[Ct][Ht])||void 0===Wt?void 0:Wt.activeFilterStack)}pe.filterPresets[Ct].anselSlotsInfo.lastSlotIdx=1,pe.filterPresets[Ct].anselSlotsInfo.slots[1].filterStack.filters=this.transformGFEFilterData(null===(Xt=Ge[Ct][Ht])||void 0===Xt?void 0:Xt.activeFilterStack)}),this.dBStore.setItem(this.filterPresetsStorageKeyName,JSON.stringify(pe)).pipe((0,we.M)(Ct=>this.logger.info("Filter presets migrated from GFE")))):(this.logger.info("No filter presets found in gfe backup"),(0,h.of)(null))}catch{return this.logger.error("Error while migrating filter presets from GFE"),(0,h.of)(null)}}slotSwitchingTelemetry(oe,pe){let Ge="",Ze="";if(this.logger.info("oldSlotID "+oe+" newSlotID "+pe),oe===pe)return;this.isAIDVCEnabled&&(Ze=Ue.Qu.RTX_DVC),this.isAIHDREnabled&&(Ze=Ze?Ue.Qu.RTX_HDR+","+Ze:Ue.Qu.RTX_HDR),this.isNIS2Enabled&&Ze&&(Ze=Ue.Qu.NIS2+","+Ze),this.currentGameSlots.modsSlotsInfo.slots[oe].filterStack.filters.forEach(pt=>{Ge=Ge?pt.name+","+Ge:pt.name}),(this.isAIDVCEnabled||this.isAIHDREnabled||this.isNIS2Enabled)&&(Ge=Ze+","+Ge);let lt="";this.currentGameSlots.modsSlotsInfo.slots[pe].filterStack.filters.forEach(pt=>{lt=lt?lt+","+pt.name:pt.name}),(this.isAIDVCEnabled||this.isAIHDREnabled||this.isNIS2Enabled)&&(lt=Ze+","+lt),this.telemetryService.sendProcessingFilter(this.gameDetails,this.systemInfo.ddVersion,ke.Bs.FiltersSlotChanged,oe,Ge,pe,lt,"",!0)}setAIDVCEnabled(oe){this.isAIDVCEnabled=oe}setAIHDREnabled(oe){this.isAIHDREnabled=oe}setNIS2Enabled(oe){this.isNIS2Enabled=oe}filterAddedTelemetry(oe){this.telemetryService.sendProcessingFilter(this.gameDetails,this.systemInfo.ddVersion,ke.Bs.FiltersAdded,0,oe,0,"","",!0)}filterAppliedTelemetry(oe,pe=!1){var Ge,Ze,lt,pt;let Ct="";this.isAIDVCEnabled&&(Ct=Ue.Qu.RTX_DVC+","),this.isAIHDREnabled&&(Ct=Ct+Ue.Qu.RTX_HDR+","),this.isNIS2Enabled&&(Ct=Ct+Ue.Qu.NIS2+",");let Xt="";(this.isAIDVCEnabled||this.isAIHDREnabled||this.isNIS2Enabled)&&(this.currentUIMode===De.O5.GameFilter||pe)&&(Xt=Ct?Ct.slice(0,-1):"");const Ht=oe||(null===(Ge=this.currentGameSlots)||void 0===Ge||null===(Ge=Ge.anselSlotsInfo)||void 0===Ge?void 0:Ge.lastSlotIdx),Ft=this.currentUIMode===De.O5.GameFilter||pe?null===(Ze=this.currentGameSlots)||void 0===Ze||null===(Ze=Ze.modsSlotsInfo)||void 0===Ze?void 0:Ze.slots[oe]:null===(lt=this.currentGameSlots)||void 0===lt||null===(lt=lt.anselSlotsInfo)||void 0===lt?void 0:lt.slots[null===(pt=this.currentGameSlots)||void 0===pt||null===(pt=pt.anselSlotsInfo)||void 0===pt?void 0:pt.lastSlotIdx];Ft||pe?(Ft&&Ft.filterStack.filters.forEach(Wt=>{Xt=Xt?Xt+","+Wt.name:Wt.name}),Xt?(this.logger.info("filters applied, sending telemetry"),this.telemetryService.sendProcessingFilter(this.gameDetails,this.systemInfo.ddVersion,ke.Bs.FiltersApplied,Ht,Xt,0,"","",!0)):this.logger.info("No filters applied, skipping telemetry")):this.logger.info("slotsInfo missing")}anselFreestyleCaptureTelemetry(oe,pe){let Ge="";const Ze=this.currentUIMode===De.O5.PhotoMode?ke.Uk.Ansel:ke.Uk.AnselLite;this.currentGameSlots.anselSlotsInfo.slots[this.currentGameSlots.anselSlotsInfo.lastSlotIdx].filterStack.filters.forEach(pt=>{Ge=Ge?Ge+","+pt.name:pt.name}),this.isInDesktopMode().subscribe(pt=>{this.telemetryIgoService.sendAnselFreestyleCaptureEvent(this.gameDetails,"",this.systemInfo.ddVersion,this.systemInfo.gpuName,oe,Ze,pt?De.ri.windowed:De.ri.fullscreen,pe?pe.screenshotResolution:"",pe?pe.upResScale:0,Ge,this.gridUsed,this.panningUsed)})}getScreenshotHotkey(){return this.hotkeyService.getHotkeyString(I.g8.Screenshot)}processingControlSettingsTelemetry(oe){if(!this.igoConfig.GFNCefClient){var pe,Ge,Ze,lt;oe||null===(pe=this.currentGameSlots)||void 0===pe||(pe=pe.anselSlotsInfo);const Ct=this.currentUIMode===De.O5.GameFilter?null===(Ge=this.currentGameSlots)||void 0===Ge||null===(Ge=Ge.modsSlotsInfo)||void 0===Ge?void 0:Ge.slots[oe]:null===(Ze=this.currentGameSlots)||void 0===Ze||null===(Ze=Ze.anselSlotsInfo)||void 0===Ze?void 0:Ze.slots[null===(lt=this.currentGameSlots)||void 0===lt||null===(lt=lt.anselSlotsInfo)||void 0===lt?void 0:lt.lastSlotIdx];if(!Ct)return;this.isInDesktopMode().subscribe(Xt=>{const Ht=Xt?De.ri.windowed:De.ri.fullscreen;Ct.filterStack.filters.forEach(Ft=>{Ft.controls.forEach(Wt=>{var en,Lt,cn,Yt;let En="";switch(Wt.controlType){case"boolean":En=null===(en=Wt.currentValue)||void 0===en?void 0:en.toString();case"slider":En=null===(Lt=Wt.currentUIValue)||void 0===Lt?void 0:Lt.toString();case"multislider":En=null===(cn=Wt.currentValueArray)||void 0===cn?void 0:cn.toString();default:En=null===(Yt=Wt.currentValueArray)||void 0===Yt?void 0:Yt.toString()}this.sendSingleControlSettingsTelemetry(Ft.name,Wt.displayName,En,Ht)})})})}}sendSingleControlSettingsTelemetry(oe,pe,Ge,Ze){this.telemetryService.sendProcessingControlSettings(this.gameDetails,oe,pe,Ge,Ze)}anselFreestyleErrorTelemetry(oe,pe,Ge){if(!this.igoConfig.GFNCefClient){let Ze=De.nt.unsupportedGame;this.gameDetails&&!this.checkIfCurrentGameIsAllowlisted()?Ze=De.nt.gameBlacklisted:this.nvCameraTimedOut&&(Ze=De.nt.nvCameraTimedOut),this.telemetryService.sendAnselFreestyleError(this.gameDetails,oe,Ze,Ge,Re.oX.Undefined,ke.Uk[this.currentUIMode],this.sourceTrigger===bt.Ui,this.systemInfo.gpuName,this.systemInfo.ddVersion,this.systemInfo.isOptimus,this.systemInfo.systemType)}}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(O.zZn),O.KVO(ge.k),O.KVO(a.J6),O.KVO(a.NZ),O.KVO(I.QS),O.KVO(B.B),O.KVO(et.c$),O.KVO(Q.W1),O.KVO(u.AF),O.KVO(a.iH),O.KVO(gt.x),O.KVO(vt.S),O.KVO(le.mb),O.KVO(Mt.e),O.KVO(a.at),O.KVO(a.CF),O.KVO(a.zW),O.KVO(Rt.x_),O.KVO(Ut.R))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();var di=t(35146);let gi=(()=>{var rt;class Kt{constructor(oe,pe,Ge,Ze,lt,pt,Ct,Xt,Ht){this.loggingService=oe,this.bridgeService=pe,this.featureSupportService=Ge,this.nvCameraService=Ze,this.dbService=lt,this.translateService=pt,this.oscDisplayService=Ct,this.lcarsService=Xt,this.shadowPlayService=Ht,this.nisStateInfo=void 0,this.currentGameInfo=void 0,this.isSystemOnline=!1,this.vibranceDefaultValue=0,this.sharpenDefaultValue=0,this.deepDvcStateAtGameLaunch=[],this.deepDvcStateAtAppLaunch=void 0,this.trueHdrStateAtGameLaunch=[],this.trueHdrStateAtAppLaunch=void 0,this.nis2StateAtGameLaunch=[],this.nis2StateAtAppLaunch=void 0,this.ppeFilterSlotData=void 0,this.currentGameSlotIndex=1,this.hardConstraintSupportFailure=0,this.softConstraintSupportFailure=0,this.isAppStartedReceived=!1,this.isPpeFeaturesEnabled=!1,this.isPpeSupportedGame=!1,this.isPpeFiltersVisible=!1,this.dbStorageName="PpeFilters",this.filterPresetsStorageKeyName="PpeFilterPresets",this.staticFilterListStrings=[],this.disabledDueToGlobalToggle=!1,this.instantEnableSupported=!1,this.deepDvcInitialized$=new n.B7,this.nisInitialized$=new n.B7,this.trueHdrInitialized$=new n.B7,this.ppeGameStartedNotify$=new n.B7,this.gameLaunchTelemetry=!1,this.rtxDvcGameEnableState=!1,this.rtxHdrGameEnableState=!1,this.logger=this.loggingService.getLogger("PpeService"),this.isAIDVCSupported=!1,this.isAIHDRSupported=!1,this.isNIS2Supported=!1,this.isAIDVCEnabled=!1,this.isAIHDREnabled=!1,this.isNIS2Enabled=!1,this.isAIDVCAddSuccess=!1,this.isAIHDRAddSuccess=!1,this.isPpeFeaturesEnabled=this.featureSupportService.isPpeEnabled(),this.dBStore=this.dbService.getGlobalStore(this.dbStorageName)}init(){this.isPpeFeaturesEnabled=this.featureSupportService.isPpeEnabled(),this.isPpeFeaturesEnabled&&(this.logger.info(" Ppe Service Init"),this.resetGameInfo(),this.registerNotifications(),this.sendGameLaunchAutoAppliedTelemetry(),this.getDeepDVCSystemSupport().pipe((0,p.T)(oe=>{this.logger.info("aidvcSupport values : ",oe),this.isAIDVCSupported=0===oe.errorCode}),(0,ee.W)(oe=>(this.logger.error("aidvcSupport Error ",oe),this.isAIDVCSupported=!1,(0,h.of)(oe)))).subscribe(),this.getGlobalRTXHDRSupport().pipe((0,p.T)(oe=>{this.logger.info("globalRTXhdrSupport values : ",oe),this.isAIHDRSupported=oe.globalSupport,this.hardConstraintSupportFailure=this.isAIHDRSupported?0:1}),(0,ee.W)(oe=>(this.logger.error("rtxHdrSupport Error : ",oe),this.isAIHDRSupported=!1,this.hardConstraintSupportFailure=1,(0,h.of)(oe)))).subscribe(),this.getNIS2SystemSupport().pipe((0,p.T)(oe=>{this.logger.info("nis2Support values : ",oe),this.isNIS2Supported=oe.supported}),(0,ee.W)(oe=>(this.logger.error("nis2Support Error ",oe),this.isNIS2Supported=!1,(0,h.of)(oe)))).subscribe())}changeDeepDvcFilterSettings(oe){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.SetAIDVCState,oe)}changeTrueHdrFilterSettings(oe){return this.oscDisplayService.setRtxHdrStatus(oe.enabled),this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.SetAIHDRState_V2,oe)}changeNis2FilterSettings(oe){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.SetNIS2Sharpen,oe)}disableAIDVC(oe){const pe={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:!1,saturation:this.deepDvcParametersValue.saturation,intensity:this.deepDvcParametersValue.intensity,saveEnabled:!!oe,saveIntensity:!0,saveSaturation:!0,applyEffectInRealTime:!0,isUseGlobal:!1};return this.deepDvcParametersValue&&oe&&(this.deepDvcParametersValue.enabled=!1),this.logger.info("PPE filter DeepDVC is being disabled ",pe),this.changeDeepDvcFilterSettings(pe).pipe((0,we.M)(()=>this.nvCameraService.updatePpeState(Ue.VL,!1)))}disableAIHDR(oe){var pe;const Ge={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:!1,peakBrightness:this.trueHdrParametersValue.peakBrightness,middleGrey:this.trueHdrParametersValue.middleGrey,contrast:this.trueHdrParametersValue.contrast,saturation:this.trueHdrParametersValue.saturation,saveEnabled:!!oe,savePeakBrightness:!0,saveMiddleGrey:!0,saveContrast:!0,saveSaturation:!0,applyEffectInRealTime:this.isAIHDRSupported&&(null===(pe=this.trueHdrStateAtAppLaunch)||void 0===pe?void 0:pe.enabled),isUseGlobal:!1};return this.trueHdrParametersValue&&oe&&(this.trueHdrParametersValue.enabled=!1),this.logger.info("PPE filter TrueHDR is being disabled ",Ge),this.changeTrueHdrFilterSettings(Ge).pipe((0,we.M)(()=>this.nvCameraService.updatePpeState(Ue.Ow,!1)))}saveAIDVCState(){return this.getDeepDVCStateInfo().pipe((0,f.ZZ)(oe=>{if(this.deepDvcParametersValue){const pe=this.deepDvcParametersValue.enabled!==oe.enabled,Ge=this.deepDvcParametersValue.intensity!==oe.intensity,Ze=this.deepDvcParametersValue.saturation!==oe.saturation;if(pe||Ge||Ze){const pt={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:this.deepDvcParametersValue.enabled,intensity:this.deepDvcParametersValue.intensity,saturation:this.deepDvcParametersValue.saturation,saveEnabled:pe,saveIntensity:Ge,saveSaturation:Ze,applyEffectInRealTime:!1,isUseGlobal:!1};return this.logger.info("DeepDVC Drs is being updated ",pt,this.deepDvcParametersValue),this.changeDeepDvcFilterSettings(pt)}}return(0,h.of)(null)})).subscribe(()=>{this.nvCameraService.isInDesktopMode().subscribe(oe=>{const pe=oe?De.ri.windowed:De.ri.fullscreen;this.deepDvcParametersValue&&(this.nvCameraService.sendSingleControlSettingsTelemetry(Ue.Qu.RTX_DVC,Ue.ke.filterDetails.controls[0].displayName,this.deepDvcParametersValue.intensity.toString(),pe),this.nvCameraService.sendSingleControlSettingsTelemetry(Ue.Qu.RTX_DVC,Ue.ke.filterDetails.controls[1].displayName,this.deepDvcParametersValue.saturation.toString(),pe))})})}saveAIHDRState(){return this.getTrueHDRStateInfo().pipe((0,f.ZZ)(oe=>{if(this.trueHdrParametersValue){const pe=this.trueHdrParametersValue.enabled!==oe.enabled,Ge=this.trueHdrParametersValue.peakBrightness!==oe.peakBrightness,Ze=this.trueHdrParametersValue.middleGrey!==oe.middleGrey,lt=this.trueHdrParametersValue.contrast!==oe.contrast,pt=this.trueHdrParametersValue.saturation!==oe.saturation;if(pe||Ge||Ze||lt||pt){const Xt={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:this.trueHdrParametersValue.enabled,peakBrightness:this.trueHdrParametersValue.peakBrightness,middleGrey:this.trueHdrParametersValue.middleGrey,contrast:this.trueHdrParametersValue.contrast,saturation:this.trueHdrParametersValue.saturation,saveEnabled:pe,savePeakBrightness:Ge,saveMiddleGrey:Ze,saveContrast:lt,saveSaturation:pt,applyEffectInRealTime:!1,isUseGlobal:!1};return this.logger.info("TrueHDR Drs is being updated ",Xt,this.trueHdrParametersValue),this.changeTrueHdrFilterSettings(Xt)}}return(0,h.of)(null)})).subscribe(()=>{this.nvCameraService.isInDesktopMode().subscribe(oe=>{const pe=oe?De.ri.windowed:De.ri.fullscreen;this.trueHdrParametersValue&&(this.nvCameraService.sendSingleControlSettingsTelemetry(Ue.Qu.RTX_HDR,Ue.J1.filterDetails.controls[0].displayName,this.trueHdrParametersValue.peakBrightness.toString(),pe),this.nvCameraService.sendSingleControlSettingsTelemetry(Ue.Qu.RTX_HDR,Ue.J1.filterDetails.controls[1].displayName,this.trueHdrParametersValue.middleGrey.toString(),pe),this.nvCameraService.sendSingleControlSettingsTelemetry(Ue.Qu.RTX_HDR,Ue.J1.filterDetails.controls[2].displayName,this.trueHdrParametersValue.contrast.toString(),pe),this.nvCameraService.sendSingleControlSettingsTelemetry(Ue.Qu.RTX_HDR,Ue.J1.filterDetails.controls[3].displayName,this.trueHdrParametersValue.saturation.toString(),pe))})})}saveNIS2State(){return this.getNIS2StateInfo().pipe((0,f.ZZ)(oe=>{if(this.nis2ParametersValue){const Ge=this.nis2ParametersValue.sharpen!==oe.sharpen;if(Ge){const Ze={processId:this.currentGameInfo.procId,sharpen:this.nis2ParametersValue.sharpen,saveToDRS:Ge};return this.logger.info("NIS2 Drs is being updated ",Ze,this.nis2ParametersValue),this.changeNis2FilterSettings(Ze)}}return(0,h.of)(null)})).subscribe(()=>{this.nis2ParametersValue&&this.nvCameraService.isInDesktopMode().subscribe(oe=>{const pe=oe?De.ri.windowed:De.ri.fullscreen;this.nvCameraService.sendSingleControlSettingsTelemetry(Ue.Qu.NIS2,Ue.$k.filterDetails.controls[0].displayName,this.nis2ParametersValue.sharpen.toString(),pe)})})}restoreAIDVC(oe){const pe={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:oe.enabled,saturation:oe.saturation,intensity:oe.intensity,saveEnabled:!1,saveIntensity:!1,saveSaturation:!1,applyEffectInRealTime:!0,isUseGlobal:!1};return this.deepDvcParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:oe.enabled,intensity:oe.intensity,saturation:oe.saturation},this.logger.info("Restoring AIDVC state ",pe),this.changeDeepDvcFilterSettings(pe)}restoreAIHDR(oe){const pe={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:oe.enabled,peakBrightness:oe.peakBrightness,middleGrey:oe.middleGrey,contrast:oe.contrast,saturation:oe.saturation,saveEnabled:!1,savePeakBrightness:!1,saveMiddleGrey:!1,saveContrast:!1,saveSaturation:!1,applyEffectInRealTime:!0,isUseGlobal:!1};return this.trueHdrParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:oe.enabled,peakBrightness:oe.peakBrightness,middleGrey:oe.middleGrey,contrast:oe.contrast,saturation:oe.saturation},this.logger.info("Restoring AIHDR state ",pe),this.changeTrueHdrFilterSettings(pe)}restoreNIS2(oe){const pe={processId:this.currentGameInfo.procId,sharpen:oe.sharpen,saveToDRS:!1};return this.nis2ParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:oe.enabled,sharpen:oe.sharpen},this.logger.info("Restoring NIS2 state ",pe),this.changeNis2FilterSettings(pe)}sendGameLaunchAutoAppliedTelemetry(){(0,G.h)(this.nvCameraService.gameStartedNotify(),this.ppeGameStartedNotify$).pipe((0,Ne.p)(oe=>!this.gameLaunchTelemetry),(0,Be.H)(oe=>(this.gameLaunchTelemetry=!0,(0,di.yU)(this.deepDvcInitialized$.asObservable(),this.nisInitialized$.asObservable(),this.trueHdrInitialized$.asObservable(),this.nvCameraService.modsSlotappliedComplete()))),(0,p.T)(([oe,pe,Ge,Ze])=>(null!==Ze&&this.nvCameraService.filterAppliedTelemetry(Ze,!0),this.gameLaunchTelemetry=!1,null))).subscribe()}restorePPEFilters(oe=!1){this.disabledDueToGlobalToggle||!this.ppeFilterSlotData||this.ppeFilterSlotData&&this.ppeFilterSlotData.ppeFilterSlot[this.currentGameInfo.drsProfileName]<=0||(oe&&this.ppeGameStartedNotify$.next(!0),(0,h.of)(this.isAIDVCSupportedInChroma()).pipe((0,f.ZZ)(pe=>pe?this.getDeepDVCSystemSupport():(this.logger.info("Game is denylisted for AI DVC"),(0,h.of)({errorCode:Ue.O3.FEATURE_SUPPORT_ERROR_ERROR}))),(0,p.T)(pe=>(this.logger.info("getDeepDVCSystemSupport ",pe),this.instantEnableSupported=pe.instantEnableSupported,pe.errorCode===Ue.O3.FEATURE_SUPPORT_ERROR_OK?(this.isAIDVCSupported=!0,this.isPpeFiltersVisible=this.isPpeFiltersVisible||this.isAIDVCSupported,!0):(this.isAIDVCSupported=!1,this.isPpeFiltersVisible=this.isPpeFiltersVisible||this.isAIDVCSupported,this.deepDvcInitialized$.next(!1),!1))),(0,Ne.p)(pe=>!!pe),(0,f.ZZ)(pe=>(this.logger.info("getDeepDVCSystemSupport response",pe),this.getDeepDVCStateInfo())),(0,f.ZZ)(pe=>{if(this.isAIDVCEnabled=pe.enabled,this.nvCameraService.setAIDVCEnabled(this.isAIDVCEnabled),this.deepDvcInitialized$.next(pe.enabled),this.deepDvcStateAtAppLaunch={cmsId:this.currentGameInfo.cmsId,enabled:pe.enabled,saturation:pe.saturation,intensity:pe.intensity},this.logger.info("AIDVC values at app launch ",this.deepDvcStateAtAppLaunch),this.isAIDVCEnabled){let Ge=-1;return this.deepDvcStateAtGameLaunch&&(Ge=this.deepDvcStateAtGameLaunch.findIndex(Ze=>Ze.cmsId===this.currentGameInfo.cmsId)),-1!==Ge?this.deepDvcStateAtGameLaunch[Ge]=this.deepDvcStateAtAppLaunch:this.deepDvcStateAtGameLaunch.push(this.deepDvcStateAtAppLaunch),this.restoreAIDVC(pe)}return(0,h.of)(!1)}),(0,ee.W)(pe=>(this.deepDvcInitialized$.next(!1),this.nvCameraService.updatePpeState(Ue.VL,!1),this.logger.info("Restore AIDVC Filter error : ",pe),(0,h.of)(!1)))).subscribe(pe=>{this.nvCameraService.updatePpeState(Ue.VL,!!pe),this.logger.info("Restore AIDVC Filter response",pe)}),this.getRTXHDRSupportperDisplay().pipe((0,f.ZZ)(pe=>(this.logger.info("getRTXHDRSupportperDisplay : ",pe),this.isAIHDRSupported=pe.isSupported,this.getErrorCodeList(pe.errorCode),this.isPpeFiltersVisible=this.isAIHDRSupported?this.isPpeFiltersVisible||this.isAIHDRSupported:this.isPpeFiltersVisible||!this.hardConstraintSupportFailure,this.maxPeakBrightness=pe.maxPeakBrightness,this.minPeakBrightness=pe.minPeakBrightness,(0,h.of)(pe.isSupported))),(0,f.ZZ)(pe=>(this.logger.info("getRTXHDRSupportperDisplay response",pe),this.getTrueHDRStateInfo())),(0,f.ZZ)(pe=>{if(this.isAIHDREnabled=pe.enabled,this.nvCameraService.setAIHDREnabled(this.isAIHDREnabled),this.trueHdrInitialized$.next(!0),this.trueHdrStateAtAppLaunch={cmsId:this.currentGameInfo.cmsId,enabled:pe.enabled,peakBrightness:pe.peakBrightness,middleGrey:pe.middleGrey,contrast:pe.contrast,saturation:pe.saturation},this.logger.info("AIHDR values at app launch ",this.trueHdrStateAtAppLaunch),pe.supported&&this.isAIHDREnabled){let Ge=-1;return this.trueHdrStateAtGameLaunch&&(Ge=this.trueHdrStateAtGameLaunch.findIndex(Ze=>Ze.cmsId===this.currentGameInfo.cmsId)),-1!==Ge?this.trueHdrStateAtGameLaunch[Ge]=this.trueHdrStateAtAppLaunch:this.trueHdrStateAtGameLaunch.push(this.trueHdrStateAtAppLaunch),this.restoreAIHDR(pe)}return(0,h.of)(!1)}),(0,ee.W)(pe=>(this.trueHdrInitialized$.next(!1),this.logger.info("Restore AIHDR Filter error : ",pe),this.nvCameraService.updatePpeState(Ue.Ow,!1),(0,h.of)(!1)))).subscribe(pe=>{this.nvCameraService.updatePpeState(Ue.Ow,!!pe),this.logger.info("Restore AIHDR Filter response",pe)}),this.getNIS2SystemSupport().pipe((0,f.ZZ)(pe=>(this.logger.info("getNIS2SystemSupport ",pe),this.isNIS2Supported=pe.supported,pe.supported||this.nisInitialized$.next(!1),(0,h.of)(!!pe.supported))),(0,Ne.p)(pe=>!!pe),(0,f.ZZ)(pe=>(this.logger.info("getNIS2SystemSupport response",pe),this.getNIS2StateInfo())),(0,f.ZZ)(pe=>{if(this.isNIS2Enabled=pe.enabled,this.isPpeFiltersVisible=this.isPpeFiltersVisible||this.isNIS2Enabled,this.nvCameraService.setNIS2Enabled(this.isNIS2Enabled),this.nisInitialized$.next(!0),this.nis2StateAtAppLaunch={cmsId:this.currentGameInfo.cmsId,enabled:this.isNIS2Enabled,sharpen:pe.sharpen},this.logger.info("NIS2 values at app launch ",this.nis2StateAtAppLaunch),this.isNIS2Enabled){let Ge=-1;return this.nis2StateAtGameLaunch&&(Ge=this.nis2StateAtGameLaunch.findIndex(Ze=>Ze.cmsId===this.currentGameInfo.cmsId)),-1!==Ge?this.nis2StateAtGameLaunch[Ge]=this.nis2StateAtAppLaunch:this.nis2StateAtGameLaunch.push(this.nis2StateAtAppLaunch),this.restoreNIS2(pe)}return(0,h.of)(!1)}),(0,ee.W)(pe=>(this.nisInitialized$.next(!1),this.logger.info("Restore NIS2 Filter error : ",pe),this.nvCameraService.updatePpeState(Ue.on,!1),(0,h.of)(!1)))).subscribe(pe=>{this.nvCameraService.updatePpeState(Ue.on,!!pe),this.logger.info("Restore NIS2 Filter response",pe)}))}isAIDVCSupportedInChroma(){return!(!this.currentGameChromaInfo||!this.currentGameInfo)&&this.currentGameChromaInfo.pid===this.currentGameInfo.procId&&(null===(oe=this.currentGameChromaInfo)||void 0===oe||null===(oe=oe.nvidiaTech)||void 0===oe?void 0:oe.RTXDVC);var oe}ensureChromaDataIsAvailableForGame(){return this.lcarsService.getCurrentAppChromaInfo().pipe((0,Ne.p)(oe=>!!oe&&void 0!==oe.pid&&oe.pid===this.currentGameInfo.procId&&!this.nvCameraService.isPreviousSessionRunning()),(0,p.T)(oe=>{this.currentGameChromaInfo=oe}),(0,J.s)(1),(0,Ee.w)(He.CZ))}registerNotifications(){this.getCmsData().subscribe(),this.bridgeService.executeCommand(w.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,Ne.p)(oe=>!(null==oe||!oe.gameExited))).subscribe(oe=>{this.onGameAppExit(oe.gameExited)}),this.shadowPlayService.registerAppStartedEvent().pipe((0,Ne.p)(oe=>!(null==oe||!oe.appStarted)),(0,f.ZZ)(oe=>(this.logger.info(" App Start Data: ",oe),this.nvCameraService.isPreviousSessionRunning()?this.logger.info("APP updte skipped since previous NvCamera session running"):(this.isAppStartedReceived=!0,this.isPpeSupportedGame=!0,oe&&(this.currentGameInfo={procId:oe.appStarted.pid,cmsId:oe.appStarted.cmsId,drsName:oe.appStarted.DRSAppName,drsProfileName:oe.appStarted.profileName,shortName:oe.appStarted.shortName,drsWhitelist:!1})),this.nvCameraService.getGlobalToggle())),(0,f.ZZ)(oe=>(this.disabledDueToGlobalToggle=!oe||this.nvCameraService.getIsGameRestartRequestedfromCTA(),this.loadPpeSlotsForCurrentGame())),(0,f.ZZ)(()=>this.ensureChromaDataIsAvailableForGame())).subscribe(()=>{this.disabledDueToGlobalToggle?this.logger.info("Restore PPE filter skipped"):(this.logger.info("Checking Restore PPE filter"),this.restorePPEFilters(!0))}),this.nvCameraService.getLastSlotChangedUpdates().subscribe(oe=>this.onSlotChanged(oe))}getCmsData(){return this.shadowPlayService.registerAppStartedEvent().pipe((0,f.ZZ)(oe=>(this.logger.info("app notification:",oe),oe.appStarted?this.nvCameraService.isPreviousSessionRunning()?(this.logger.info("Preious session running in NvCamera"),(0,h.of)(void 0)):(this.isAppStartedReceived=!0,this.isPpeSupportedGame=!0,this.logger.info("updating current app data"),oe?(this.currentGameInfo={procId:oe.appStarted.pid,cmsId:oe.appStarted.cmsId,drsName:oe.appStarted.DRSAppName,drsProfileName:oe.appStarted.profileName,shortName:oe.appStarted.shortName,drsWhitelist:!1},this.checkFreestyleWhitelisted()):(0,h.of)(null)):(0,h.of)(void 0))),(0,we.M)(oe=>{oe&&(this.currentGameInfo.drsWhitelist=oe.freestyleWhitelisted)}),(0,ee.W)(oe=>(this.logger.error("Unable to fetch drs whitelist data: "+oe),(0,h.of)(null))))}updateNIS2State(oe){this.nisStateInfo.enabled=oe.enabled,this.nisStateInfo.sharpen=oe.sharpen,this.setSharpness(oe.sharpen,!1)}onGameAppExit(oe){this.logger.info(" GameApp exit ProcessID:",oe.exitAppPID),this.isAppStartedReceived=!1,this.isPpeSupportedGame=!1,this.isPpeFiltersVisible=!1,this.instantEnableSupported=!1;const pe=this.deepDvcStateAtGameLaunch.findIndex(lt=>lt.cmsId===this.currentGameInfo.cmsId);this.deepDvcStateAtGameLaunch.splice(pe,1);const Ge=this.trueHdrStateAtGameLaunch.findIndex(lt=>lt.cmsId===this.currentGameInfo.cmsId);this.trueHdrStateAtGameLaunch.splice(Ge,1);const Ze=this.trueHdrStateAtGameLaunch.findIndex(lt=>lt.cmsId===this.currentGameInfo.cmsId);this.nis2StateAtGameLaunch.splice(Ze,1),this.savePpeFilterPresetsData(),this.resetGameInfo(),this.ResetGraphicsSettingValues()}getDeepDVCSystemSupport(){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetAIDVCSupport)}getGlobalRTXHDRSupport(){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetAIHDRSupport_V2)}getRTXHDRSupportperDisplay(){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetAIHDRDisplayInfoForProcess,{processId:this.currentGameInfo.procId})}getNIS2SystemSupport(){return this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetNIS2State,{processId:0,cmsId:0})}runTimeChangeControlValue(oe){const pe=oe.controls;if(pe&&oe.id===Ue.VL&&(this.isAIDVCEnabled||this.instantEnableSupported)){const Ge={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:!0,saturation:pe[1].currentUIValue,intensity:pe[0].currentUIValue,saveEnabled:!1,saveIntensity:!1,saveSaturation:!1,applyEffectInRealTime:!0,isUseGlobal:!1};return this.deepDvcParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:Ge.enabled,intensity:Ge.intensity,saturation:Ge.saturation},this.logger.info("DeepDVC filter values updated and are being applied ",Ge),this.changeDeepDvcFilterSettings(Ge)}if(pe&&oe.id===Ue.VL&&!this.isAIDVCEnabled)return this.deepDvcParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:!0,intensity:pe[0].currentUIValue,saturation:pe[1].currentUIValue},this.logger.info("DeepDVC filter values updated and are being saved ",this.deepDvcParametersValue),(0,h.of)(!0);if(pe&&oe.id===Ue.Ow){let Ge,Ze,lt,pt;if(this.maxPeakBrightness<=this.minPeakBrightness?(Ge=this.maxPeakBrightness,Ze=pe[0].currentUIValue,lt=pe[1].currentUIValue,pt=pe[2].currentUIValue):(Ge=pe[0].currentUIValue,Ze=pe[1].currentUIValue,lt=pe[2].currentUIValue,pt=pe[3].currentUIValue),this.isAIHDREnabled){const Ct={cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId,enabled:!0,peakBrightness:Ge,middleGrey:Ze,contrast:lt,saturation:pt,saveEnabled:!this.isAIHDRSupported,savePeakBrightness:!1,saveMiddleGrey:!1,saveContrast:!1,saveSaturation:!1,applyEffectInRealTime:this.isAIHDRSupported&&this.trueHdrStateAtAppLaunch.enabled,isUseGlobal:!1};return this.trueHdrParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:Ct.enabled,peakBrightness:Ct.peakBrightness,middleGrey:Ct.middleGrey,contrast:Ct.contrast,saturation:Ct.saturation},this.logger.info("TrueHDR filter values updated and are being applied ",Ct),this.changeTrueHdrFilterSettings(Ct)}return this.trueHdrParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:!0,peakBrightness:Ge,middleGrey:Ze,contrast:lt,saturation:pt},this.logger.info("TrueHDR filter values updated and are being saved ",this.trueHdrParametersValue),(0,h.of)(!0)}if(pe&&oe.id===Ue.on&&this.isNIS2Enabled){const Ge={processId:this.currentGameInfo.procId,sharpen:pe[0].currentUIValue,saveToDRS:!1};return this.nis2ParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:this.isNIS2Enabled,sharpen:Ge.sharpen},this.logger.info("NIS2 filter values updated and are being applied ",Ge),this.changeNis2FilterSettings(Ge)}return pe&&oe.id===Ue.on&&!this.isNIS2Enabled?(this.nis2ParametersValue={cmsId:this.currentGameInfo.cmsId,enabled:this.isNIS2Enabled,sharpen:pe[0].currentUIValue},this.logger.info("NIS2 filter values updated and are being saved ",this.nis2ParametersValue),(0,h.of)(!0)):(0,h.of)(void 0)}getDeepDVCStateInfo(){return this.logger.info(" : getDeepDVCStateInfo currentGameInfo : ",this.currentGameInfo),this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetAIDVCState,{cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId})}getAIDVCRealTimeStateInfo(){return this.logger.info(" : getAIDVCRealTimeStateInfo currentGameInfo : ",this.currentGameInfo),this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetRealtimeAIDVCState,{processId:this.currentGameInfo.procId})}getTrueHDRStateInfo(){return this.logger.info(" : getTrueHDRStateInfo currentGameInfo : ",this.currentGameInfo),this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetAIHDRState_V2,{cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId})}getTrueHDRRealTimeStateInfo(){return this.logger.info(" : getTrueHDRRealTimeStateInfo currentGameInfo : ",this.currentGameInfo),this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetAIHDRRealTimeState,{processId:this.currentGameInfo.procId})}getNIS2StateInfo(){return this.logger.info(" : getNIS2StateInfo currentGameInfo : ",this.currentGameInfo),this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.GetNIS2State,{cmsId:this.currentGameInfo.cmsId,processId:this.currentGameInfo.procId})}savePpeFilterPresetsData(){this.ppeFilterSlotData&&this.dBStore.setItem(this.filterPresetsStorageKeyName,JSON.stringify(this.ppeFilterSlotData)).subscribe(()=>{this.logger.info("Filter presets data storage updated")},oe=>{this.logger.error("Error while updating filter presets data storage: ",oe)})}loadPpeFilterPresetsData(){return this.ppeFilterSlotData?(0,h.of)(!0):(this.ppeFilterSlotData=new Ue.qp,this.dBStore.getItem(this.filterPresetsStorageKeyName).pipe((0,p.T)(oe=>{if(oe)try{this.ppeFilterSlotData=JSON.parse(oe),this.logger.info("Ppe Filter slots data found in the storage")}catch(pe){this.logger.error("Failed to parse stored Ppe Filter slots data exception : ",pe)}else this.logger.info("Ppe Filter slots data not found in the storage");return!0}),(0,ee.W)(oe=>(this.logger.error("Could not load filter presets data from the storage: ",JSON.stringify(oe)),(0,h.of)(!0)))))}loadPpeSlotsForCurrentGame(){return this.loadPpeFilterPresetsData().pipe((0,we.M)(()=>{let oe=-1;oe=this.ppeFilterSlotData.ppeFilterSlot[this.currentGameInfo.drsProfileName],-1===oe||void 0===oe?(this.logger.info("No saved Ppe filter presets found for the game"),this.currentGameSlotIndex=1):(this.logger.info("Saved Ppe filter presets loaded for the game",oe),this.currentGameSlotIndex=oe)}))}updatePpeFilterSlotIndex(oe){this.currentGameSlotIndex=oe,this.ppeFilterSlotData&&(this.ppeFilterSlotData.ppeFilterSlot[this.currentGameInfo.drsProfileName]=oe)}isAnyPpeFilterSlotSelected(){var oe;return(null===(oe=this.ppeFilterSlotData)||void 0===oe||null===(oe=oe.ppeFilterSlot)||void 0===oe?void 0:oe[this.currentGameInfo.drsProfileName])>0}getCurrentPpeSlotIndex(){return this.isAnyPpeFilterSlotSelected()?this.ppeFilterSlotData.ppeFilterSlot[this.currentGameInfo.drsProfileName].toString():""}getCurrentPpeSlotNumber(){return this.isAnyPpeFilterSlotSelected()?this.ppeFilterSlotData.ppeFilterSlot[this.currentGameInfo.drsProfileName]:null}getAiDvcErrorCodeList(oe,pe){let Ge=0,Ze=0;const lt=oe?w.Or.Share.Graphicssetting.AidvcUnSupportedErrors:w.Or.Share.Graphicssetting.AidvcRealTimeErrors,pt=Object.keys(lt).filter(Ct=>isNaN(Number(Ct))).map((Ct,Xt)=>{if(Ge=oe&&Object.values(Ue.X4).includes(Ct)?1:0,Ze=pe&1<isNaN(Number(lt))).map((lt,pt)=>{if(pe=Object.values(Ue.X4).includes(lt)?1:0,Ge=oe&1<(this.logger.info("NIS2 Desktop/Global info",oe),this.bridgeService.executeCommand(w.Ts.Share.Graphicssetting.SetNIS2Sharpen,{processId:0,sharpen:oe.sharpen,saveToDRS:!1}))),(0,ee.W)(oe=>(this.logger.error("on NIS2 reapplyDesktopSharpness Error ",oe),(0,h.of)([]))))}getAllStaticFilterList(){return this.staticFilterListStrings=[],this.featureSupportService.isPpeEnabled()&&(this.isAIDVCSupported&&(this.staticFilterListStrings.push({id:"2",name:this.translateService.instant("nvcamera.AiDigitalVibrance"),isVisible:!0,isPPEFilter:!0,isFeatureEnabled:!1,isExpanded:!1,errorCodesList:[]}),this.isPpeFiltersVisible=this.isAppStartedReceived),(this.isAIHDRSupported||!this.isAIHDRSupported&&!this.hardConstraintSupportFailure)&&(this.staticFilterListStrings.push({id:"2",name:this.translateService.instant("nvcamera.TrueHDRTitle"),isVisible:!0,isPPEFilter:!0,isFeatureEnabled:!1,isExpanded:!1,errorCodesList:[]}),this.isPpeFiltersVisible=this.isAppStartedReceived),this.isNIS2Supported&&(this.staticFilterListStrings.push({id:"2",name:this.translateService.instant("nvcamera.NIS"),isVisible:!0,isPPEFilter:!0,isFeatureEnabled:!1,isExpanded:!1,errorCodesList:[]}),this.isPpeFiltersVisible=this.isAppStartedReceived)),_e.$1.forEach(oe=>{this.staticFilterListStrings.push({id:"1",name:this.translateService.instant("nvcamera."+oe),isVisible:!0,isPPEFilter:!1,isFeatureEnabled:!1,isExpanded:!1,errorCodesList:[]})}),this.staticFilterListStrings}ResetGraphicsSettingValues(){this.reapplyDesktopSharpness(),this.isAIDVCAddSuccess=!1,this.isAIHDRAddSuccess=!1}resetGameInfo(){this.currentGameInfo={procId:0,cmsId:0,drsName:"",drsProfileName:"",shortName:"",drsWhitelist:!1},this.nvCameraService.updatePpeState(Ue.on,!1),this.nvCameraService.updatePpeState(Ue.Ow,!1),this.nvCameraService.updatePpeState(Ue.VL,!1),this.currentGameChromaInfo=void 0}initializeNISInfo(){this.nisStateInfo={supported:!1,enabled:!1,cmsId:0,selectedResolutionIndex:0,resolutions:[],sharpen:0}}initializeAIDVCInfo(){this.deepDvcParametersValue={cmsId:0,enabled:!1,intensity:0,saturation:0}}initializeAIHDRInfo(){this.trueHdrParametersValue={cmsId:0,enabled:!1,peakBrightness:0,middleGrey:0,contrast:0,saturation:0}}checkFreestyleWhitelisted(){return this.nvCameraService.getFreestyleWhitelisted(this.currentGameInfo.drsName).pipe((0,p.T)(oe=>(this.currentGameInfo.drsWhitelist=oe.freestyleWhitelisted,oe.freestyleWhitelisted)),(0,ee.W)(oe=>(this.logger.info("getFreestyleWhitelisted error : ",oe),this.currentGameInfo.drsWhitelist=!1,(0,h.of)(oe))))}isFreestyleSupportedGame(){var oe;return null===(oe=this.currentGameInfo)||void 0===oe?void 0:oe.drsWhitelist}onSlotChanged(oe){if(this.logger.info("onSlotChanged slotIdx : ",oe),this.isPpeFeaturesEnabled&&this.isPpeSupportedGame)if(this.updatePpeFilterSlotIndex(oe),0===oe){var pe,Ge;null!==(pe=this.deepDvcParametersValue)&&void 0!==pe&&pe.enabled&&(this.isAIDVCSupportedInChroma()?(this.logger.info("Disabling AI DVC"),this.disableAIDVC(oe).subscribe()):this.logger.info("Game is black listed for AI DVC. AI DVC disable not required")),null!==(Ge=this.trueHdrParametersValue)&&void 0!==Ge&&Ge.enabled&&this.disableAIHDR(oe).subscribe()}else if(oe&&oe>0){var Ze,lt;null!==(Ze=this.deepDvcParametersValue)&&void 0!==Ze&&Ze.enabled&&(this.isAIDVCSupportedInChroma()?(this.logger.info("Restoring AI DVC"),this.restoreAIDVC(this.deepDvcParametersValue).pipe((0,J.s)(1),(0,f.ZZ)(()=>this.getAIDVCRealTimeStateInfo()),(0,p.T)(pt=>(this.logger.info("RtxDvc Game support ",pt),this.rtxDvcGameEnableState=!!pt&&pt.enabled,this.rtxDvcGameEnableState))).subscribe()):(this.logger.info("Game is deny listed for AI DVC. AI DVC will not be restored"),this.rtxDvcGameEnableState=!1)),null!==(lt=this.trueHdrParametersValue)&&void 0!==lt&<.enabled&&(this.logger.info("Restoring RTX HDR"),this.restoreAIHDR(this.trueHdrParametersValue).pipe((0,J.s)(1),(0,f.ZZ)(()=>this.getTrueHDRRealTimeStateInfo()),(0,p.T)(pt=>(this.logger.info("RtxHdr Game support ",pt),this.rtxHdrGameEnableState=!!pt&&pt.enabled,this.rtxHdrGameEnableState))).subscribe())}else this.logger.info("Slot changed notification ignored",oe)}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(a.NZ),O.KVO(Ut.R),O.KVO(qn),O.KVO(a.at),O.KVO(et.c$),O.KVO(B.B),O.KVO(z.B),O.KVO(Q.W1))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})(),Ot=(()=>{var rt;class Kt{constructor(oe,pe,Ge,Ze,lt){this.loggingService=oe,this.osService=pe,this.bridgeService=Ge,this.galleryService=lt,this.uploadDataList=[],this.memeQueue=[],this.DefaultMemeMaxLength=80,this.upperMemeMaxed=this.DefaultMemeMaxLength,this.lowerMemeMaxed=this.DefaultMemeMaxLength,this.saveBitmap=!0,this.idTracker=0,this.dirSeparator="",this.logger=this.loggingService.getLogger("MemeService"),this.renderer=Ze.createRenderer(null,null)}init(){this.logger.info("Initializing Meme Service"),this.dirSeparator=this.osService.getDirSeparator(),this.galleryService.captureSaved().subscribe(oe=>{if(this.memeQueue.length>0){const pe=this.memeQueue.find(Ge=>Ge.source===oe);pe&&(this.saveMemeStrings(pe).subscribe(),this.memeQueue=this.memeQueue.filter(Ge=>Ge.source!==oe))}})}createMeme(oe){this.memeParams=oe,this.memeCanvasData="",this.logger.info("Meme params: ",oe),0!==oe.width&&setTimeout(()=>{if(this.memeCanvasData=this.createMemeCanvasForGIFTranscoder(this.memeParams.width,this.memeParams.height),this.saveBitmap){const Ge=this.writeEncryptedBmp(this.memeCanvasData).subscribe(()=>{Ge.unsubscribe()})}const pe=this.setupTranscode(!1).subscribe(Ge=>{Ge&&this.logger.info("Transcode Meme/GIF complete!",oe),pe.unsubscribe()})})}createGIF(oe){this.gifParams=oe,this.logger.info("GIF params: ",oe),setTimeout(()=>{const pe=this.setupTranscode(!0).subscribe(Ge=>{Ge&&this.logger.info("Transcode GIF complete!",oe),pe.unsubscribe()})})}setupTranscode(oe){const Ze={file:oe?this.gifParams.file:this.memeParams.file,targetPath:"",maxFileSizeMB:oe?void 0:200,quality:"medium",newHeight:720,newFps:"high",newDuration:oe?this.gifParams.duration:this.memeParams.duration,userData:this.idTracker,memeImage:oe?"":this.memeCanvasData};return this.getTemporaryFolderPath().pipe((0,f.ZZ)(lt=>(this.idTracker++,lt[lt.length-1]===this.dirSeparator&&(lt=lt.slice(0,-1)),Ze.targetPath=lt,this.saveUploadData(this.idTracker,Ze))),(0,f.ZZ)(()=>this.gifTranscode(Ze)))}saveUploadData(oe,pe){return this.getMemeStrings(pe.file).pipe((0,p.T)(Ge=>(this.uploadData={id:oe,folder:pe.targetPath,fileSize:0,type:"video",subtype:"",videoUploadTitle:"",privacy:"",destination:"",fileSource:"",highlightDefinitionId:"",conversionStartTime:"",DRSName:"",DRSProfileName:"",fullFilename:pe.file,fileName:"",containsMeme:""===pe.memeImage?"No":"Yes",topMemeLength:Ge.top.length,bottomMemeLength:Ge.bottom.length},-1===this.findUploadDataInList(this.uploadData.id)&&(this.uploadDataList.push(this.uploadData),this.logger.info("Stored UploadData: ",this.uploadData)),!0)))}findUploadDataInList(oe){let pe=-1;return this.uploadDataList.forEach(function(Ge,Ze){Ge.id===oe&&(pe=Ze)}),pe}getFilename(oe){return/.*[\\/](.*)/.exec(oe)[1]}getTemporaryFolderPath(){return this.bridgeService.executeCommand(w.Ts.Common.Gallery.GetSettings).pipe((0,p.T)(oe=>oe.settings.tempFolderPath))}createMemeCanvasForGIFTranscoder(oe,pe){this.logger.info("Begin creating Bitmap at: "+oe+"x"+pe);const Ge=oe,Ze=pe,lt=this.renderer.createElement("canvas");lt.width=Ge,lt.height=Ze;const pt=lt.getContext("2d");pt.fillStyle="rgba(0,0,0,0)",pt.fillRect(0,0,Ge,Ze);const Ct=this.memeParams.topFontSize*(Ge/this.memeParams.clientWidth),Xt=this.memeParams.bottomFontSize*(Ge/this.memeParams.clientWidth),Ht=this.memeParams.strokeColor||"black",Ft=this.memeParams.fillColor||"white";let Wt=Ct.toFixed(0);pt.font=Wt+"px NVIDIA",this.logger.info("Video Font top: ",pt.font);let en=this.calculateFontWidth(Ct,this.memeParams.topString),Lt=Math.floor(Ge/2-en/2),cn=parseInt(Wt,10);this.logger.info("Top string at x: "+Lt+" y: "+cn),pt.strokeStyle=Ht,pt.lineWidth=this.getLineWidth(Wt),pt.strokeText(this.memeParams.topString,Lt,cn,en),pt.fillStyle=Ft,pt.fillText(this.memeParams.topString,Lt,cn,en),Wt=Xt.toFixed(0),pt.font=Wt+"px NVIDIA",this.logger.info("Video Font bottom: ",pt.font),en=this.calculateFontWidth(Xt,this.memeParams.bottomString);const Yt=.025*Ze;Lt=Math.floor(Ge/2-en/2),cn=Math.floor(Ze-Yt),this.logger.info("Bottom string at x: "+Lt+" y: "+cn),pt.strokeStyle=Ht,pt.lineWidth=this.getLineWidth(Wt),pt.strokeText(this.memeParams.bottomString,Lt,cn,en),pt.fillStyle=Ft,pt.fillText(this.memeParams.bottomString,Lt,cn,en),this.logger.info("Canvas created");const En=this.CanvasToBMPToDataURL(lt);return this.logger.info("BMP Image created"),En}calculateFontWidth(oe,pe){const Ze=this.renderer.createElement("canvas").getContext("2d");return Ze.font=oe+"px NVIDIA",Ze.measureText(pe).width}getLineWidth(oe){const pe=parseInt(oe,10),Ge=Math.round((pe+20)/20);return Math.min(Ge,5)}toArrayBuffer(oe){const pe=oe.width,Ge=oe.height,Ze=4*pe,lt=oe.getContext("2d").getImageData(0,0,pe,Ge),pt=new Uint32Array(lt.data.buffer),Ct=4*Math.floor((32*pe+31)/32),Ht=56+Ct*Ge,Ft=new ArrayBuffer(Ht),Wt=new DataView(Ft);let dn,Rn,Lt=0,cn=0,Yt=0,En=0,ni=0;for(Gn(19778),yn(Ht),Lt+=4,yn(54),yn(40),yn(pe),yn(Ge),Gn(1),Gn(32),Lt+=24,Yt=Ge-1;Yt>=0;){for(En=54+Yt*Ct,cn=0;cn>>24,Wt.setUint32(En+cn,Rn<<8|dn),cn+=4;Yt--}return Ft;function Gn(Kn){Wt.setUint16(Lt,Kn,!0),Lt+=2}function yn(Kn){Wt.setUint32(Lt,Kn,!0),Lt+=4}}CanvasToBMPToDataURL(oe){const pe=new Uint8Array(this.toArrayBuffer(oe)),Ge=pe.length;let Ze="",lt=0;for(;lt(this.logger.info("AddMeme complete: ",Ge),!0),Ge=>(this.logger.error("AddMeme failed: ",Ge),!1)),(0,ee.W)(Ge=>(this.logger.info("AddMeme error: ",Ge),(0,h.of)(!1))))}getMemeStrings(oe){const pe={top:"",bottom:"",source:oe,color:""};return this.bridgeService.executeCommand(w.Ts.Common.Gallery.GetFileMetadata,{file:oe}).pipe((0,p.T)(Ge=>(pe.top=Ge.memeInfo.topBarText,pe.bottom=Ge.memeInfo.bottomBarText,pe)),(0,ee.W)(Ge=>(this.logger.info("Get Meme Strings from metaData error: ",Ge),(0,h.of)(pe))))}clearMemeStrings(oe){this.logger.info("Source to clear: ",oe),this.saveMemeStrings({top:"",bottom:"",source:oe,color:""}).subscribe()}queueToUpdateMeme(oe,pe,Ge){const Ze={top:"",bottom:"",source:oe,color:""};(""!==pe||""!==Ge)&&(Ze.top=pe,Ze.bottom=Ge),this.memeQueue.push(Ze)}writeEncryptedBmp(oe){return this.bridgeService.executeCommand(w.Ts.Common.Gallery.WriteEncryptedBitmap,{bitmapImage:oe}).pipe((0,p.T)(Ge=>(this.logger.info("WriteEncryptedBmp complete: ",Ge),!0),Ge=>(this.logger.error("WriteEncryptedBmp failed: ",Ge),!1)),(0,ee.W)(Ge=>(this.logger.info("WriteEncryptedBitmap error: ",Ge),(0,h.of)(!1))))}gifTranscode(oe){const pe={file:oe.file,targetPath:oe.targetPath,maxFileSizeMB:oe.maxFileSizeMB,quality:oe.quality,newHeight:oe.newHeight,newFps:oe.newFps,newDuration:oe.newDuration,userData:oe.userData.toString(),memeImage:oe.memeImage};return this.logger.info("Final Transcode parameters: ",pe),this.bridgeService.executeCommand(w.Ts.Common.Gallery.TranscodeMediaFile,pe).pipe((0,p.T)(Ge=>{this.logger.info("gifTranscode complete: ",Ge);const Ze=parseInt(Ge.userData,10),lt=this.findUploadDataInList(Ze);return this.logger.info("UserData: ",this.uploadDataList[lt]),Ge.newFile},Ge=>{this.logger.info("gifTranscode failed: ",Ge)}),(0,ee.W)(Ge=>(this.logger.info("gifTranscode error: ",Ge),(0,h.of)(void 0))))}setUpperMemeMaxed(oe){this.upperMemeMaxed=oe}setLowerMemeMaxed(oe){this.lowerMemeMaxed=oe}isUpperMemeMaxed(){return this.upperMemeMaxed}isLowerMemeMaxed(){return this.lowerMemeMaxed}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(A.a),O.KVO(a.NZ),O.KVO(O._9s),O.KVO(u.AF))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})(),at=(()=>{var rt;class Kt{constructor(oe,pe){this.loggingService=oe,this.bridgeService=pe,this.logger=this.loggingService.getLogger("TrimService")}init(){this.logger.info("Initializing Trim Service")}trim(oe){return this.bridgeService.executeCommand(w.Ts.Common.Gallery.Trim,oe).pipe((0,p.T)(pe=>(this.logger.info("Trim complete: ",pe),!0),pe=>(this.logger.info("Trim failed: ",pe),!0)),(0,ee.W)(pe=>(this.logger.info("Trim error: ",pe),(0,h.of)(!1))))}moveFile(oe,pe){return this.bridgeService.executeCommand(w.Ts.Common.Gallery.MoveFile,{source:oe,destination:pe})}copyFile(oe,pe){return this.bridgeService.executeCommand(w.Ts.Common.Gallery.CopyFile,{source:oe,destination:pe})}deleteFile(oe){return this.bridgeService.executeCommand(w.Ts.Common.Gallery.RemoveGalleryItem,{file:oe})}overwriteOriginal(oe,pe){return this.logger.info("Overwriting original!"),this.deleteFile(pe).pipe((0,f.ZZ)(()=>(this.logger.info("Original deleted!"),this.moveFile(oe,pe))))}getMetaData(oe){return this.bridgeService.executeCommand(w.Ts.Common.Gallery.GetFileMetadata,{file:oe})}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(a.NZ))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();var ft=t(44202),yt=t(46776);let sn=(()=>{var rt;class Kt{constructor(oe,pe,Ge,Ze){this.loggingService=oe,this.localeService=pe,this.translateService=Ge,this.appThemeService=Ze,this.timeoutDuration=100,this.logger=oe.getLogger("AppThemingService")}init(){var oe,pe,Ge;this.translatedThemes=this.fetchTranslations();const Ze=null===(oe=this.appThemeService.getCurrentTheme())||void 0===oe?void 0:oe.key;this.selectedTheme=null!==(pe=null!==(Ge=this.translatedThemes.find(Ct=>Ct.key===Ze))&&void 0!==Ge?Ge:this.translatedThemes.find(Ct=>Ct.isDefaultTheme))&&void 0!==pe?pe:this.selectedTheme,this.logger.info(" : selectedTheme : ",this.selectedTheme),this.appThemeService.initialize().subscribe(Ct=>{this.logger.info(" App Theme service initialize: ",Ct)}),this.appThemeService.listenAndApplyTheme().subscribe(Ct=>{this.logger.info(" Listen to theme change from storage and apply theme : ",Ct)})}fetchTranslations(){return a.m1.map(oe=>{const pe=oe.name.toLowerCase(),Ge=this.translateService.instant(`preferences.featureReadiness.themeFeature.${pe}`);return oe.name=Ge,oe.isDefaultTheme&&(this.defaultThemeNameFormatted=`${Ge} (${this.translateService.instant("common.default")})`),{...oe}})}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(a.iH),O.KVO(et.c$),O.KVO(a.gB))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})(),on=(()=>{var rt;class Kt{constructor(oe,pe,Ge,Ze,lt,pt,Ct,Xt,Ht,Ft,Wt,en,Lt,cn,Yt,En,ni,dn,Rn,Gn,yn,Kn,bi,xn){this.loggingService=oe,this.osService=pe,this.hotkey=Ge,this.oscDisplay=Ze,this.cacheService=lt,this.oscNotification=pt,this.galleryService=Ct,this.sdkGalleryService=Xt,this.shadowPlayService=Ht,this.webcamService=Ft,this.igoConfig=Wt,this.nvcamera=en,this.ppeService=Lt,this.osdService=cn,this.telemetryHelperService=Yt,this.gfnInfo=En,this.memeService=ni,this.oscDisplayService=dn,this.trimService=Rn,this.clientInputService=Gn,this.featureSupportService=yn,this.statisticsService=Kn,this.appThemingService=bi,this.injector=xn,this.logger=this.loggingService.getLogger("IGO ServiceLoader"),this.isInitialised=!1}init(){return this.logger.info("Serviceloaderservice init"),this.featureSupportService.init().pipe((0,p.T)(oe=>(this.logger.info("Feature Support Data: ",oe),this.isInitialised?(this.oscDisplayService.fetchDisplayResolution(),!0):(this.featureSupportService.isGFEMode()&&(this.lcarsService=this.injector.get(z.B),this.perfMonService=this.injector.get(i.z),this.ngxService=this.injector.get(R.z),this.aiChatboxService=this.injector.get(v.D),this.functionCallingService=this.injector.get(j)),!(null==oe||!oe.igo||(null!=oe&&oe.initData?(this.isInitialised=!0,this.initSelectiveServices(oe)):(this.isInitialised=!0,this.initAllServices(),this.igoConfig.RecordingFeaturesDisabled=!0,setTimeout(()=>this.oscDisplayService.openOSC(),1e3)),0))))))}initAllServices(){var oe,pe,Ge,Ze,lt;this.initBaseServices(),this.shadowPlayService.init(),this.webcamService.init(),this.nvcamera.init(),this.ppeService.init(),this.clientInputService.init(),this.featureSupportService.isGFEMode()?(null===(oe=this.perfMonService)||void 0===oe||oe.init(),null===(pe=this.lcarsService)||void 0===pe||pe.init(),null===(Ge=this.ngxService)||void 0===Ge||Ge.init(),null===(Ze=this.aiChatboxService)||void 0===Ze||Ze.init(),null===(lt=this.functionCallingService)||void 0===lt||lt.init()):this.statisticsService.init()}initSelectiveServices(oe){var pe,Ge,Ze,lt,pt,Ct;(oe.hotkey&&this.hotkey.init(),oe.oscDisplay&&(this.oscDisplay.init(),this.oscDisplay.fetchDisplayResolution()),oe.os&&this.osService.init().subscribe(()=>{oe.oscNotification&&this.oscNotification.init(),oe.cache&&this.cacheService.init(),oe.gallery&&this.galleryService.init(),oe.sdkGallery&&this.sdkGalleryService.init(),oe.meme&&this.memeService.init(),oe.trim&&this.trimService.init(),oe.telemetryHelper&&this.telemetryHelperService.init()}),oe.gfnInfo&&this.gfnInfo.init(),oe.osd&&this.osdService.init(),oe.shadowPlay&&this.shadowPlayService.init(),oe.webcam&&this.webcamService.init(),oe.nvcamera&&this.nvcamera.init(),oe.ppe&&this.ppeService.init(),oe.clientInput&&this.clientInputService.init(),oe.statistics&&this.statisticsService.init(),oe.inStreamPaste&&(this.customPasteService=this.injector.get(N),null===(pe=this.customPasteService)||void 0===pe||pe.init()),this.featureSupportService.isGFEMode())&&(null===(Ge=this.lcarsService)||void 0===Ge||Ge.init(),oe.perfMon&&(null===(Ct=this.perfMonService)||void 0===Ct||Ct.init()),null===(Ze=this.ngxService)||void 0===Ze||Ze.init(),null===(lt=this.aiChatboxService)||void 0===lt||lt.init(),null===(pt=this.functionCallingService)||void 0===pt||pt.init());oe.appTheming&&this.appThemingService.init()}initBaseServices(){this.hotkey.init(),this.oscDisplay.init(),this.oscDisplay.fetchDisplayResolution(),this.osService.init().subscribe(()=>{this.oscNotification.init(),this.cacheService.init(),this.galleryService.init(),this.sdkGalleryService.init(),this.memeService.init(),this.trimService.init(),this.telemetryHelperService.init()}),this.gfnInfo.init(),this.osdService.init()}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(A.a),O.KVO(I.QS),O.KVO(B.B),O.KVO(M._),O.KVO(le.mb),O.KVO(u.AF),O.KVO(x.P),O.KVO(Q.W1),O.KVO(ce),O.KVO(ge.k),O.KVO(qn),O.KVO(gi),O.KVO(l.au),O.KVO(gt.x),O.KVO(Rt.x_),O.KVO(Ot),O.KVO(B.B),O.KVO(at),O.KVO(ft.$),O.KVO(Ut.R),O.KVO(yt.rJ),O.KVO(sn),O.KVO(O.zZn))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();var un=t(72582),$e=t(25373);let It=(()=>{var rt;class Kt{constructor(oe,pe){this.loggingService=oe,this.bridgeService=pe,this.logger=this.loggingService.getLogger("KeyboardService")}onKeyDown(oe,pe){switch(oe.key){case"ArrowDown":pe===Tt.Bottom?(oe.stopPropagation(),oe.preventDefault()):(this.bridgeService.executeCommand(w.Ts.Share.Osc.GenerateKeyboardMessage,{keycode:$e.wn,keymodifier:0}).subscribe(Ge=>{this.logger.info("ArrowDown pressed"+Ge)}),oe.stopPropagation());break;case"ArrowUp":pe===Tt.Top?(oe.stopPropagation(),oe.preventDefault()):(this.bridgeService.executeCommand(w.Ts.Share.Osc.GenerateKeyboardMessage,{keycode:$e.wn,keymodifier:$e.FX}).subscribe(Ge=>{this.logger.info("ArrowUp pressed"+Ge)}),oe.stopPropagation())}}}return(rt=Kt).\u0275fac=function(oe){return new(oe||rt)(O.KVO(a.J6),O.KVO(a.NZ))},rt.\u0275prov=O.jDH({token:rt,factory:rt.\u0275fac,providedIn:"root"}),Kt})();t(50057);var Yn=t(48700),Zn=t(45152),ei=t(43827),Hn=t(10918),Mn=t(27271),ti=(t(8559),t(45109)),wi=t(34593),oi=function(rt){return rt.Open="open",rt.Closed="closed",rt}(oi||{});class Wn{constructor(Kt,$t,oe,pe,Ge,Ze,lt){this.loggingService=Kt,this.oscDisplayService=$t,this.hotkeyService=oe,this.hotKey=pe,this.isPTTHotkey=Ge,this.keyUpEvent$=Ze,this.keyDownEvent$=lt,this.hotkeyEvent$=new n.B7,this.unregister$=new n.B7,this.isMonitoring=!1,this.isHotKeyEnabled=!1,this.hotKeyNum=[],this.hotKeyCount=0,this.keyMatchCount=0,this.invalidSequence=!1,this.isHotkeyDetected=!1,this.lastPTTDownStatus=!1,this.logger=this.loggingService.getLogger("UIHotKeyMonitor"),this.init()}register(){return this.hotkeyEvent$.asObservable()}unregister(){this.unregister$.next(),this.isMonitoring&&this.stopDetection()}init(){this.logger.info("init hotkey:",this.hotKey),this.getHotkeyMapping(),this.isHotKeyEnabled=this.hotkeyService.isNvAppHotkeyEnabled(this.hotKey),this.setUpListners()}getHotkeyMapping(){this.hotkeyService.getHotkeyNum(this.hotKey).pipe((0,we.M)(Kt=>{this.hotKeyNum=Kt,this.hotKeyCount=this.hotKeyNum.length})).subscribe()}setUpListners(){(0,ne.zV)([this.oscDisplayService.getCurrentDisplayMode(),this.oscDisplayService.getCurrentOpenState(),this.hotkeyService.nvAppDynamicHokeysChangedEvent().pipe((0,wi.Z)(""))]).pipe((0,Oe.Q)(this.unregister$),(0,we.M)(([Kt,$t,oe])=>{this.isHotKeyEnabled=this.hotkeyService.isNvAppHotkeyEnabled(this.hotKey),Kt.fullscreen&&$t===oi.Open&&this.isHotKeyEnabled?this.isMonitoring||this.startDetection():this.isMonitoring&&this.stopDetection()})).subscribe(),this.keyDownEvent$.pipe((0,Oe.Q)(this.unregister$)).subscribe(Kt=>{this.onKeyDown(Kt)}),this.keyUpEvent$.pipe((0,Oe.Q)(this.unregister$)).subscribe(Kt=>{this.onKeyUp(Kt)}),this.hotkeyService.getHotkeyChangedEvents([this.hotKey]).pipe((0,Oe.Q)(this.unregister$)).subscribe(()=>{this.getHotkeyMapping()})}onKeyDown(Kt){if(!this.isMonitoring||!this.isHotKeyEnabled)return;const $t=this.monitorHotKey(Kt,!0);if($t){if(this.isPTTHotkey&&this.lastPTTDownStatus)return;this.logger.info("detected hotkey:",this.hotKey),this.hotkeyEvent$.next(!0)}this.isPTTHotkey&&(this.lastPTTDownStatus=$t)}onKeyUp(Kt){if(!this.isMonitoring||!this.isHotKeyEnabled)return;const $t=this.monitorHotKey(Kt,!1);this.isPTTHotkey&&$t&&(this.logger.info("released PTT hotkey:",this.hotKey),this.lastPTTDownStatus=!1,this.hotkeyEvent$.next(!1))}monitorHotKey(Kt,$t){if(0===this.hotKeyCount)return!1;let oe=!1,pe=Kt.keyCode;switch($t){case!0:if((18==pe||164==pe||165==pe)&&(pe=18),(17==pe||162==pe||163==pe)&&(pe=17),(16==pe||160==pe||161==pe)&&(pe=16),!this.invalidSequence&&!this.keyMatchCount&&this.hotKeyNum[this.hotKeyCount-1]==pe)for(let Ge=0;Ge{"use strict";t.d(de,{QA:()=>E,Tk:()=>r,Wr:()=>n,gE:()=>O,pW:()=>S,so:()=>B});var e=t(33367),n=function(p){return p.Video="video",p.Image="image",p.Other="other",p}(n||{}),E=function(p){return p.Temporary="temporary",p.Highlights="highlights",p}(E||{}),O=e.Or.Common.Gallery.AudioType,B=function(p){return p.Normal="Normal",p.SuperResolution="SuperResolution",p.SuperResolutionOversized="SuperResolution_Oversized",p.Mono360="360Mono",p.Stereo="Stereo",p.Stereo360="360Stereo",p.Exr="Exr",p.Live="Live",p.Offline="Offline",p.Highlights="Highlight",p.Mta="MTA",p.NormalAnsel="Normal_Ansel",p.Gif="AnimatedGif",p.InstantReplay="InstantReplay",p.Manual="Manual",p.Screenshot="Screenshot",p}(B||{});class r{constructor(){this.total=0,this.highlights=0,this.videos=0,this.instantReplays=0,this.images=0,this.highlightBreakDown=[]}}var S=function(p){return p.HIGHLIGHT_COMPLETED="highlightCompleted",p.MOVE_STARTED="moveStarted",p.MOVE_INPROGRESS="moveInProgress",p.MOVE_DONE="moveDone",p}(S||{})},12137:(xe,de,t)=>{"use strict";t.d(de,{k:()=>e});class e{}},10918:(xe,de,t)=>{"use strict";t.d(de,{$S:()=>P,W6:()=>U,im:()=>B,mU:()=>E,w8:()=>n,xk:()=>O,xs:()=>k,zr:()=>e});const e={igo:!0,shadowPlay:!0,webcam:!1,nvcamera:!0,ppe:!0,graphics:!0,clientInput:!1,hotkey:!0,oscDisplay:!0,os:!0,oscNotification:!0,cache:!0,gallery:!0,sdkGallery:!0,telemetryHelper:!0,meme:!1,trim:!1,gfnInfo:!1,osd:!0,gfnMicrophone:!1,statistics:!1,gamepadOrientedMode:!1,enableInputControl:!1,controlUGC:!1,connectionStatus:!1,isKBMGameSupported:!0,nvKeyboardSupported:!1,clientIME:!1,useGamepadLSControl:!1,shortcutControls:!1,title:!0,feedback:!0,links:!0,gameplay:!0,virtualKeyboardOnMobile:!0,perfMon:!0,reflexAnalyzer:!0,inStreamPaste:!1,appTheming:!0},n={initData:{},...e};var E=function(r){return r.NvAppIGO="NvAppIGO",r.LargerFontIGO="LargerFontIGO",r}(E||{});const O=120,B=1920,P=1080,k=1280,U=800},22123:(xe,de,t)=>{"use strict";t.d(de,{$1:()=>p,Af:()=>B,Bv:()=>s,Jm:()=>x,P8:()=>r,US:()=>P,Zi:()=>O,dJ:()=>I,ho:()=>S,jy:()=>l,n:()=>u,sT:()=>A});var e=t(26875);const O=3,B=100,P=100,r=!0,A="nvcamera.GameFilters",l="nvcamera.PhotoMode";class I{constructor(o,_,f,J,a=[],D=!1,te=!1,N=[],z=!1){this.id=o,this.name=_,this.isSelected=f,this.stackIdx=J,this.controls=a,this.isPPEFilter=D,this.isExpanded=te,this.errorCodes=N,this.isVisible=z}}class S{constructor(){this.filters=[],this.selectedFilterCount=0,this.upButtonDisabled=!0,this.downButtonDisabled=!0}moveSelectionUp(){const o=this.filters.length,_=new Set;for(let f=o-2;f>=0;f--)this.filters[f].isSelected&&!this.filters[f+1].isSelected&&(this.swapFilters(f,f+1),_.add(f),_.add(f+1));return _}moveSelectionDown(){const o=this.filters.length,_=new Set;for(let f=1;f{_.isSelected&&o.push(f)}),o}getSelectedFilters(){return this.filters.filter(o=>o.isSelected)}swapFilters(o,_){if(o<0||o>=this.filters.length||_<0||_>=this.filters.length)return;const f=this.filters[o];this.filters[o]=this.filters[_],this.filters[_]=f,this.filters[o].stackIdx=o,this.filters[_].stackIdx=_}deserialize(o){if(!o.filters)return!1;const _=this;return _.selectedFilterCount=o.selectedFilterCount,_.upButtonDisabled=o.upButtonDisabled,_.downButtonDisabled=o.downButtonDisabled,o.filters.forEach((f,J)=>{const a=new I(f.id,f.name,f.isSelected,f.stackIdx,f.controls);_.filters[J]=a}),!0}}class L{constructor(o,_){this.filterStack=new S,this.id=o,this.altText=_,this.slotName=void 0}deserialize(o){if(!o.filterStack)return!1;const _=this;return _.id=o.id,_.altText=o.altText,_.slotName=o.slotName,_.slotHotkey=o.slotHotkey,_.filterStack.deserialize(o.filterStack)}}class s{constructor(o){this.previewAvailable=!1,this.id=o}}class M{createEmptySlots(o){const _=[];for(let f=0;f(f=J.deserialize(o.slots[a]),f)),f}}class u{constructor(){this.anselSlotsInfo=new M(2),this.modsSlotsInfo=new M(O+1)}deserialize(o){return!(!o.anselSlotsInfo||!o.modsSlotsInfo)&&(this.anselSlotsInfo.deserialize(o.anselSlotsInfo)&&this.modsSlotsInfo.deserialize(o.modsSlotsInfo))}}class x{constructor(){this.filterPresets={}}deserialize(o){if(!o.filterPresets)return!1;const _=this;let f;return Object.keys(o.filterPresets).every(J=>(_.filterPresets[J]=new u,f=_.filterPresets[J].deserialize(o.filterPresets[J]),f)),f}}const p=["Auto Depth of Field","Black & White","Brightness/Contrast","Color","Colorblind","Depth of Field","Details","Letterbox","Night mode","Old film","Painterly","Sharpen","Sharpen+","SpecialFX","Splitscreen","Tilt-shift","Vignette","Watercolor"]},43827:(xe,de,t)=>{"use strict";t.d(de,{Qe:()=>e,ly:()=>n,p5:()=>B,xT:()=>O});var e=function(P){return P.off="off",P.on="on",P.recording="recording",P}(e||{}),n=function(P){return P.active="Active",P.stopped="Stopped",P.paused="Paused",P}(n||{}),O=function(P){return P.low="Low",P.medium="Medium",P.high="High",P.ultra="Ultra",P.custom="Custom",P}(O||{});const B="dlssoverride.performance"},45109:(xe,de,t)=>{"use strict";t.d(de,{$i:()=>P,D7:()=>U,DQ:()=>S,KU:()=>l,N5:()=>n,Py:()=>O,Ui:()=>L,V4:()=>I,VE:()=>r,aw:()=>k,i$:()=>E,qV:()=>e,yz:()=>B});const e="AiChatBox",n=100,E=3e3,O=5e3,B=700,P=650,k=500,U=380,r=24;var l=function(s){return s[s.Default=0]="Default",s[s.DoubleArrowHorizontal=1]="DoubleArrowHorizontal",s[s.DoubleArrowVertical=2]="DoubleArrowVertical",s[s.DoubleArrowDiagonalLeft=3]="DoubleArrowDiagonalLeft",s[s.DoubleArrowDiagonalRight=4]="DoubleArrowDiagonalRight",s[s.TextInput=5]="TextInput",s}(l||{}),I=function(s){return s.Interactive="gAssist.interactive",s.NonInteractive="gAssist.nonInteractive",s.Hidden="gAssist.hidden",s}(I||{});const S=["hey gasist","hey g-assist","hey game assist","hey game-assist","/ga"];var L=function(s){return s.RISE="Rise",s.GameAssistant="Game Assistant",s}(L||{})},72238:(xe,de,t)=>{"use strict";t.d(de,{D:()=>te});var e=t(26513),n=t(80583),E=t(43848),O=t(93181),B=t(91384),P=t(75707),k=t(8619),U=t(65726),r=t(72147),A=t(83915),l=t(14714),I=t(73180),S=t(26875),s=t(33367),M=t(45109),u=t(73934),x=t(23860),p=t(28890),i=t(58527),o=t(47766),_=t(32912),f=t(48700),J=t(2688),a=t(51830),D=t(8260);let te=(()=>{var N;class z{constructor(v,h,W,ne,ee,b,w,F,Z,se){this.loggingService=v,this.bridgeService=h,this.hotkeyService=W,this.riseService=ne,this.gameAssistantService=ee,this.dbService=b,this.featureSupportService=w,this.shadowplayService=F,this.galleryService=Z,this.oscNotificationService=se,this.aiChatboxVisibilityChanged$=new e.t(!1),this.aiChatboxPositionChanged$=new n.B7,this.aiChatboxModeChanged$=new n.B7,this.isAiChatboxVisibile=!1,this.aiChatBoxMode=M.V4.Hidden,this.aiAssistants={},this.shouldStartASRonLaunch=!1,this.isRiseInstalled=!1,this.isASRInstalled=!1,this.isGameAssistantInstalled=!1,this.isASRSessionReady=!1,this.isASRMicAvailable=!1,this.isFirstQueryAfterGameLaunch=!1,this.chartOrImageDialogChanged$=new n.B7,this.shouldCloseChartDialog$=new n.B7,this.gAssistToggleStateChanged$=new n.B7,this.asrReadyStateChanged$=new e.t(!1),this.setUpASRRequests$=new n.B7,this.logger=this.loggingService.getLogger("AiChatboxService"),this.dBStore=this.dbService.getGlobalStore(M.qV)}init(){if(this.logger.info("init"),!this.featureSupportService.isGAssistFeatureAvailable())return this.logger.info("Feature not available"),this.setHotkeys(!1),void this.shadowplayService.notifyUIReadyStatus();this.riseService.initialize(),this.handleSetUpASRRequests(),this.registerInstallationUpdates(),this.registerHotkeyCallbacks(),this.checkInstallStatus().pipe((0,B.M)(()=>{this.shadowplayService.notifyUIReadyStatus()})).subscribe(),this.getASRMicUpdates(),this.registerApplicationLaunchedFunctionCallEvents(),this.registerGameLaunchEvents()}launchAiChatbox(){this.logger.info("launchAiChatbox"),this.isRiseInstalled&&this.setAiChatboxVisibility(!0)}setAiChatboxVisibility(v){this.logger.info("setAiChatboxVisibility, isVisible:",v),this.isAiChatboxVisibile=v,this.triggerAiChatBoxVisibilityChange()}getAiChatBoxVisibility(){return this.isAiChatboxVisibile}triggerAiChatBotPositionAndDimensionsChange(v=void 0){this.aiChatboxPositionChanged$.next(v)}listenAiChatBoxVisibilityChanges(){return this.aiChatboxVisibilityChanged$.asObservable()}listenAiChatBoxPositionChanges(){return this.aiChatboxPositionChanged$.asObservable()}updateChatBoxPositionAndDimensions(v){this.logger.info("updateChatBoxPosition"),!(0,S.isEqual)(this.aiChatBoxData.chatBoxPosition,v)&&(this.aiChatBoxData.chatBoxPosition=v,this.savePersistedData())}getChatBoxPosition(){return this.aiChatBoxData.chatBoxPosition}getIsGAssistInstalled(){return this.isRiseInstalled}toggleGAssistFeature(v,h=!1){this.logger.info("toggleGAssistFeature",v),v?(!this.isAiChatboxVisibile&&this.aiChatBoxMode!==M.V4.Hidden&&this.setAiChatboxVisibility(!0),this.shadowplayService.setGAssistGlobalToggle(!0).subscribe(),this.isASRInstalled&&this.setUpASRRequests$.next(!0)):(this.riseService.onDisableGAssist(),this.setAiChatboxVisibility(!1),this.isASRInstalled&&(this.setUpASRRequests$.next(!1),this.asrReadyStateChanged$.next(!1)),this.shadowplayService.setGAssistGlobalToggle(!1).subscribe()),this.gAssistToggleStateChanged$.next(v),h||(this.aiChatBoxData.gAssistGlobalToggle=v,this.savePersistedData())}getGAssistToggleState(){return this.aiChatBoxData.gAssistGlobalToggle}listenToGAssistToggleChanges(){return this.gAssistToggleStateChanged$.asObservable()}setAiChatBoxMode(v,h=!1){this.logger.info("setAiChatBoxMode:",v,h),this.aiChatBoxMode=v,this.aiChatBoxMode!==M.V4.Interactive&&this.shouldCloseChartDialog$.next(),h||this.aiChatboxModeChanged$.next(v)}getAiChatBoxMode(){return this.logger.info("getAiChatBoxMode:",this.aiChatBoxMode),this.aiChatBoxMode}listenAiChatBoxModeChanges(){return this.aiChatboxModeChanged$.asObservable()}setIsChartOrImageDialogOpen(v){this.logger.info("setIsChartOrImageDialogOpen:",v),this.chartOrImageDialogChanged$.next(v)}getIsChartOrImageDialogChangedEvent(){return this.chartOrImageDialogChanged$.asObservable()}shouldCloseChartDialog(){return this.shouldCloseChartDialog$.asObservable()}updateChartDialogPosition(v){this.logger.info("updateChartDialogPosition"),!(0,S.isEqual)(this.aiChatBoxData.chartDialogPosition,v)&&(this.aiChatBoxData.chartDialogPosition=v,this.savePersistedData())}getChartDialogPosition(){return this.aiChatBoxData.chartDialogPosition}checkASRLaunchOnStart(){this.shouldStartASRonLaunch&&(this.riseService.toggleASR(!0),this.shouldStartASRonLaunch=!1)}getASRReadyStateUpdates(){return this.asrReadyStateChanged$.asObservable()}saveCSVData(v){const h=this.galleryService.getVideoFolder();this.bridgeService.executeCommand(s.Ts.Nvapp.Rise.SaveCSV,{csvData:v,ugcFolderPath:h}).pipe((0,B.M)(ne=>{ne.status?(this.logger.info("Chart data saved successfully"),this.oscNotificationService.show(x.Ed.GAssistChartDataSaved,ne.folderPath)):(this.logger.error("Failed to save chart data"),this.oscNotificationService.show(x.Ed.GAssistChartDataSaveError))})).subscribe()}registerApplicationLaunchedFunctionCallEvents(){this.riseService.getApplicationLaunchedEvents().pipe((0,B.M)(()=>{this.takeChatBoxToNonInteractiveMode()})).subscribe()}routeQueryToAppropriateAssistant(v){if(!this.isGameAssistantInstalled||!this.gameAssistantService.getIsSessionActive())return this.aiAssistants[M.Ui.RISE].service.sendRequest(v).subscribe(),M.Ui.RISE;let h;Object.values(this.aiAssistants).some(ne=>{const ee=ne.switches.some(b=>v.toLowerCase().includes(b));return ee&&(h=ne),ee}),h||(h=this.isFirstQueryAfterGameLaunch?this.aiAssistants[M.Ui.GameAssistant]:this.activeAiAssistant?this.activeAiAssistant:this.aiAssistants[M.Ui.RISE]),this.activeAiAssistant=h,this.logger.info("Sending query to",h.name),this.isFirstQueryAfterGameLaunch=!1;const W=this.activeAiAssistant.name===M.Ui.GameAssistant;return this.activeAiAssistant.service.sendRequest(v).pipe((0,P.ZZ)(ne=>!ne&&W?(this.logger.info("Query failed, now sending query to Rise"),this.activeAiAssistant=this.aiAssistants[M.Ui.RISE],this.activeAiAssistant.service.sendRequest(v)):(0,E.of)(ne))).subscribe(),this.activeAiAssistant.name}populateAvailableAiAssistants(){this.aiAssistants={},this.isRiseInstalled&&(this.aiAssistants[M.Ui.RISE]={name:M.Ui.RISE,service:this.riseService,switches:p.Rb}),this.isGameAssistantInstalled&&(this.aiAssistants[M.Ui.GameAssistant]={name:M.Ui.GameAssistant,service:this.gameAssistantService,switches:M.DQ})}registerGameLaunchEvents(){this.shadowplayService.registerAppStartedEvent().pipe((0,B.M)(()=>{this.isFirstQueryAfterGameLaunch=!0})).subscribe(),this.bridgeService.executeCommand(s.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,k.p)(v=>!(null==v||!v.gameExited)),(0,B.M)(()=>{this.isFirstQueryAfterGameLaunch=!1})).subscribe()}takeChatBoxToNonInteractiveMode(){this.isAiChatboxVisibile&&this.aiChatBoxMode===M.V4.Interactive&&this.setAiChatBoxMode(M.V4.NonInteractive)}onGAssistUnInstall(){this.logger.info("onGAssistUnInstall"),this.setHotkeys(!1),this.toggleGAssistFeature(!1,!0),this.isRiseInstalled=!1,this.isASRInstalled=!1}registerInstallationUpdates(){this.shadowplayService.getGAssistInstallStateChanges().pipe((0,P.ZZ)(v=>(this.logger.info("GAssist installation event:",v),v?this.checkInstallStatus():(this.onGAssistUnInstall(),(0,E.of)()))),(0,B.M)(()=>{this.isASRInstalled&&this.riseService.initializeASR(),this.logger.info("Install status updated")})).subscribe()}delayIf(v,h){return function(W){return v?W.pipe((0,U.c)(h)):W}}handleSetUpASRRequests(){this.setUpASRRequests$.pipe((0,r.n)(v=>this.setUpASR(v))).subscribe()}updateASRReadyness(){const v=this.isASRSessionReady&&this.isASRMicAvailable;this.asrReadyStateChanged$.next(v),this.setASRHotkey(v)}getASRMicUpdates(){this.riseService.getAsrActiveMicUpdates().pipe((0,B.M)(v=>{this.isASRMicAvailable=!!v,this.updateASRReadyness()})).subscribe()}setUpASR(v){return this.logger.info("setUpASR:",v),(0,E.of)(v).pipe(this.delayIf(v,M.Py),(0,P.ZZ)(h=>this.riseService.setUpASRSession(h)),(0,A.T)(h=>{this.isASRSessionReady=v&&h,this.updateASRReadyness()}))}toggleInteractiveMode(){this.aiChatBoxMode===M.V4.Interactive?this.setAiChatBoxMode(M.V4.NonInteractive):this.aiChatBoxMode===M.V4.NonInteractive?this.setAiChatBoxMode(M.V4.Interactive):this.logger.error("Mode = Hidden when AichatBox is visible")}checkInstallStatus(){const v=[this.fetchRiseInstallationStatus()];return this.featureSupportService.isASRFeatureAvailable()&&v.push(this.fetchASRInstallStatus()),this.featureSupportService.isGameAssistantAvailable()&&v.push(this.fetchGameAssistantInstallationStatus()),(0,O.p)(v).pipe((0,A.T)(()=>{this.isRiseInstalled?(this.setLaunchHotkey(!0),this.initStorageData()):this.setHotkeys(!1),this.populateAvailableAiAssistants()}))}fetchASRInstallStatus(){return this.riseService.isASRSupported().pipe((0,A.T)(v=>(this.isASRInstalled=v.status,this.logger.info("isASRInstalled",this.isASRInstalled),this.isASRInstalled)))}fetchRiseInstallationStatus(){return this.riseService.isRiseSupported().pipe((0,A.T)(v=>(this.isRiseInstalled=v.status,this.logger.info("isRiseInstalled",this.isRiseInstalled),this.isRiseInstalled)))}fetchGameAssistantInstallationStatus(){return this.gameAssistantService.isInstalled().pipe((0,A.T)(v=>(this.isGameAssistantInstalled=v.status,this.logger.info("isGameAssistantInstalled",this.isGameAssistantInstalled),this.isGameAssistantInstalled&&this.gameAssistantService.initialize(),this.isGameAssistantInstalled)))}initStorageData(){this.dBStore.getItem(M.qV).pipe((0,B.M)(v=>{var h,W;v&&null!=v&&v.version&&0!==(null===(h=v.chatBoxPosition)||void 0===h?void 0:h.width)&&0!==(null===(W=v.chatBoxPosition)||void 0===W?void 0:W.height)?(this.logger.info("Fetched storage data"),this.aiChatBoxData=v):(this.logger.info("storage data not present"),this.aiChatBoxData={version:1,gAssistGlobalToggle:!0,chatBoxPosition:{x:window.innerWidth-M.D7-M.VE,y:window.innerHeight-M.aw-M.VE,width:M.D7,height:M.aw}},this.savePersistedData()),this.toggleGAssistFeature(this.aiChatBoxData.gAssistGlobalToggle,!0)}),(0,l.W)(v=>(this.logger.error("Error while fetching storage data:",v),(0,E.of)()))).subscribe()}savePersistedData(){this.dBStore.setItem(M.qV,this.aiChatBoxData).subscribe(()=>{this.logger.info("Perstisted data saved successfully")},v=>{this.logger.error("Error while saving the persisted data ",v)})}registerHotkey(v,h){this.hotkeyService.listen(v).pipe((0,I.c)(M.N5)).subscribe(W=>{h(W)})}setLaunchHotkey(v){this.hotkeyService.setHotkeyDynamicEnable([u.g8.ChatUIToggle],v)}setASRHotkey(v){this.hotkeyService.setHotkeyDynamicEnable([u.g8.ChatPTT],v)}setHotkeys(v){this.setLaunchHotkey(v),this.setASRHotkey(v)}registerHotkeyCallbacks(){this.registerHotkey(u.g8.ChatUIToggle,this.onAiChatboxHotkey.bind(this)),this.hotkeyService.listenChatBoxPTT().subscribe(v=>{this.onASRHotkey(v)})}triggerAiChatBoxVisibilityChange(){this.logger.info("triggerAiChatBoxVisibilityChange"),this.aiChatboxVisibilityChanged$.next(this.isAiChatboxVisibile)}onAiChatboxHotkey(){this.logger.info("onAiChatboxHotkey, isCurrentlyVisible:",this.isAiChatboxVisibile),this.isAiChatboxVisibile?this.toggleInteractiveMode():(this.setAiChatBoxMode(M.V4.Interactive),this.launchAiChatbox())}onASRHotkey(v){this.logger.info("onASRHotkey, isDown:",v," isAiChatboxVisibile:",this.isAiChatboxVisibile),v?this.isAiChatboxVisibile?this.riseService.toggleASR(!0):(this.shouldStartASRonLaunch=!0,this.setAiChatBoxMode(M.V4.NonInteractive),this.launchAiChatbox()):this.riseService.toggleASR(!1)}}return(N=z).\u0275fac=function(v){return new(v||N)(i.KVO(o.J6),i.KVO(o.NZ),i.KVO(u.QS),i.KVO(_.J),i.KVO(f.A),i.KVO(o.at),i.KVO(J.R),i.KVO(a.W1),i.KVO(D.AF),i.KVO(x.mb))},N.\u0275prov=i.jDH({token:N,factory:N.\u0275fac,providedIn:"root"}),z})()},69416:(xe,de,t)=>{"use strict";t.d(de,{_:()=>I});var e=t(33367),n=t(892),E=t(43848),O=t(83915),B=t(14714),P=t(75707),k=t(91384),U=t(58527),r=t(47766),A=t(75042),l=function(S){return S[S.Empty=0]="Empty",S[S.Partial=1]="Partial",S[S.Full=2]="Full",S}(l||{});let I=(()=>{var S;class L{constructor(M,u,x){this.osService=u,this.bridgeService=x,this.videoPath="",this.directoryListOutdated=!0,this.directoryListUpdateCounts=!1,this.files=[],this.directoryList=[],this.directories=[],this.populatedFolder=[[],[],[],[],[]],this.folderData=[],this.fileData=[],this.mainCache=[],this.folderCache=[],this.cacheEntries=5,this.initialized=!1,this.ageCounter=0,this.dataIndex=0,this.freeInterval=3e5,this.minEntryAge=12e5,this.active=!1,this.logger=M.getLogger("CacheService")}resetCacheEntry(M){this.folderCache[M]={dirty:!0,crc:0,path:"",age:0,time:0,loaded:l.Empty}}init(){if(this.logger.info("Initialize"),this.dirSeparator=this.osService.getDirSeparator(),!this.initialized){this.directoryListOutdated=!0,this.mainCache[0]={dirty:!0,crc:0,path:""};for(let M=0;M{if(this.logger.info("cacheTimer called"),this.active)return;let M=2147483647,u=-1;const p=(new Date).getTime();for(let i=0;ithis.minEntryAge&&(u=i,M=this.folderCache[i].age);0!==M&&-1!==u&&(this.logger.info("resetting cache entry: "+u+" age was: "+M),this.folderData[u].directories.length=0,this.folderData[u].files.length=0,this.folderCache[u].loaded===l.Full&&(this.fileData[u].popFolder.length=0),this.resetCacheEntry(u)),this.checkCacheState()}))}cacheTimerOff(){this.logger.info("cacheTimerOff called"),this.cacheTimer&&(this.cacheTimer.unsubscribe(),this.cacheTimer=void 0)}checkCacheState(){let M=!0;this.folderCache.forEach(u=>{u.loaded!==l.Empty&&(M=!1)}),M&&this.cacheTimerOff()}setRecordingPaths(M){this.videoPath=M,this.reInit()}getCurrentPopFolder(){return this.populatedFolder[this.dataIndex]}resetCurrentPopFolder(){this.populatedFolder[this.dataIndex].length=0}useCacheData(M,u){let x=!1;if(M!==this.videoPath){const p=this.folderCache.findIndex(J=>J.path===M);if(-1===p)return!1;x=!this.folderCache[p].dirty&&this.folderCache[p].path===M;const i=x&&this.folderCache[p].loaded!==l.Empty,o=x&&this.folderCache[p].loaded===l.Full;this.dataIndex=p;const f=(new Date).getTime();return u?(i&&(this.logger.info("useCacheData, updating partial!"),this.files=this.folderData[p].files,this.directories=this.folderData[p].directories,this.counts=this.folderData[p].counts,this.logger.info("useCacheData, updating partial - DONE!!"),this.folderCache[p].time=f),i):(o&&(this.logger.info("useCacheData, updating full!"),this.populatedFolder[p]=this.fileData[p].popFolder,this.counts=this.folderData[p].counts,this.logger.info("useCacheData, updating full - DONE!!"),this.folderCache[p].time=f),o)}return x=!this.mainCache[0].dirty&&this.mainCache[0].path===M,x}setCacheNotDirty(M){if(M===this.videoPath)this.mainCache[0].dirty=!1;else{const u=this.folderCache.findIndex(x=>x.path===M);-1!==u&&(this.folderCache[u].dirty=!1)}}setCacheLoadedPartial(M){const u=this.folderCache.findIndex(x=>x.path===M);-1!==u&&(this.folderCache[u].loaded=l.Partial,this.folderData[u]={files:this.files,directories:this.directories,counts:this.counts})}setCacheLoaded(M){const u=this.folderCache.findIndex(x=>x.path===M);-1!==u&&(this.folderCache[u].loaded=l.Full,this.fileData[u]={popFolder:this.populatedFolder[u]})}setFileCounts(M,u){const x=this.folderCache.findIndex(p=>p.path===u);-1!==x?this.folderData[x].counts=M:this.logger.error("Could not find cache entry")}getVideoPathCRC(){return this.getGalleryFolderCRC(this.videoPath).pipe((0,O.T)(M=>{const u=this.mainCache[0].crc!==M.crc;return this.mainCache[0]={dirty:u,crc:M.crc,path:this.videoPath},u}),(0,B.W)(M=>(this.logger.info("getVideoPathCRC error: ",M),(0,E.of)(!0))))}getCachedDataCRC(M){void 0===M&&(this.logger.info("getCachedDataCRC: input undefined will use video path"),M=this.videoPath);let u=-1;if(M===this.videoPath)return this.getVideoPathCRC();if(u=this.folderCache.findIndex(x=>x.path===M),-1===u&&(u=this.folderCache.findIndex(x=>x.path===M)),-1===u){let x=2147483647;for(let p=0;p=this.cacheEntries&&this.logger.error("folder cache has bad indexing!"),this.logger.info("Using index: "+u),this.getGalleryFolderCRC(M).pipe((0,P.ZZ)(x=>{const p=this.folderCache[u].crc!==x.crc,o=p||this.folderCache[u].loaded===l.Empty;this.ageCounter++;const f=(new Date).getTime();return this.folderCache[u]={dirty:o,crc:x.crc,path:M,age:this.ageCounter,time:f,loaded:p?l.Empty:this.folderCache[u].loaded},this.cacheTimerOn(),(0,E.of)(!0)}),(0,B.W)(x=>(this.logger.info("getCachedDataCRC error: ",x),this.resetCacheEntry(u),(0,E.of)(!1))))}getGalleryFolderCRC(M){return this.bridgeService.executeCommand(e.Ts.Common.Gallery.GetFolderCRC,{directory:M})}getDirectoryListCRC(){return this.getVideoPathCRC().pipe((0,k.M)(M=>{this.directoryListOutdated=M}))}getNewDirectoryList(){return this.directoryListOutdated?(this.directoryList.length=0,this.directoryListUpdateCounts=!0,this.bridgeService.executeCommand(e.Ts.Common.Gallery.GetFolderListing,{directory:this.videoPath,shouldGetOnlyNv:!0,excludeDirectoryType:e.Or.Common.Gallery.ExcludeDirectoryType.empty}).pipe((0,O.T)(u=>(this.setDirectoryList(u.directories),this.logger.info("New Directories: ",this.directoryList),this.directoryList)))):(this.logger.info("Current Directories: ",this.directoryList),this.directoryListUpdateCounts=!1,(0,E.of)(this.directoryList))}getDirectoryList(){return this.getDirectoryListCRC().pipe((0,P.ZZ)(()=>this.getNewDirectoryList()))}setDirectoryList(M){this.directoryList=M.slice(),this.directoryListOutdated=!1}updateDirectoryList(M){if(this.directoryList.length){let u=M.lastIndexOf(this.dirSeparator);const x=M.substr(0,u);u=x.lastIndexOf(this.dirSeparator)+1;const p=x.substr(u);this.directoryList.find(i=>i===p)||this.flushDirectoryList()}}flushDirectoryList(){this.directoryListOutdated=!0}}return(S=L).\u0275fac=function(M){return new(M||S)(U.KVO(r.J6),U.KVO(A.a),U.KVO(r.NZ))},S.\u0275prov=U.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},44202:(xe,de,t)=>{"use strict";t.d(de,{$:()=>l});var e=t(74639),n=t(43848),E=t(80583),O=t(73180),B=t(75707),P=t(65706),k=t(73934),U=t(58527),r=t(47766),A=t(12137);let l=(()=>{var I;class S{get inputControlUIOpened$(){return this.inputUISubject.asObservable()}get systemKeyboardState$(){return this.systemVirtualKeyboardService.keyboardVisible$}get imeOpened$(){var s,M;return null!==(s=null===(M=this.clientImeLoaderService)||void 0===M?void 0:M.imeOpened$)&&void 0!==s?s:(0,n.of)(!1)}get isImeEnabled$(){var s,M;return null!==(s=null===(M=this.clientImeLoaderService)||void 0===M?void 0:M.isImeEnabled$)&&void 0!==s?s:(0,n.of)(!1)}get imeInputInProgress(){var s,M;return null!==(s=null===(M=this.clientImeLoaderService)||void 0===M?void 0:M.imeInputInProgress)&&void 0!==s&&s}get imeInputTextVisible$(){var s,M;return null!==(s=null===(M=this.clientImeLoaderService)||void 0===M?void 0:M.imeInputTextVisible$)&&void 0!==s?s:(0,n.of)(!1)}constructor(s,M,u,x,p){this.igoConfig=M,this.injector=u,this.hotkeyService=x,this.systemVirtualKeyboardService=p,this.inputUISubject=new E.B7,this.clientImeLoaderService=null,this.throttleMs=333,this.logger=s.getLogger("IGO ClientInputService"),this.igoConfig.GFNCefClient&&(this.clientImeLoaderService=this.injector.get(e.R3))}init(){this.logger.info("Initializing ClientInputService"),this.igoConfig.GFNCefClient&&this.hotkeyService.listen(k.g8.NativeKeyboardInputDialog).pipe((0,O.c)(this.throttleMs),(0,B.ZZ)(()=>this.clientImeLoaderService.isImeEnabled$.pipe((0,P.s)(1)))).subscribe(s=>{this.clientImeLoaderService.imeInputInProgress?this.clientImeLoaderService.closeImeInputHandler():(this.logger.info("ClientIME window opening triggered"),s?(this.logger.info("ClientIME feature is enabled, opening IME window"),this.clientImeLoaderService.initImeInputHandler(e.vy.HotKey)):this.logger.info("ClientIME feature is disabled"))})}toggleInputControlUI(s){this.inputUISubject.next(s)}initImeInput(s){var M;null===(M=this.clientImeLoaderService)||void 0===M||M.initImeInputHandler(s)}controlImeInput(s){var M;null===(M=this.clientImeLoaderService)||void 0===M||M.controlImeInput(s)}closeImeInput(){var s;null===(s=this.clientImeLoaderService)||void 0===s||s.closeImeInputHandler()}}return(I=S).\u0275fac=function(s){return new(s||I)(U.KVO(r.J6),U.KVO(A.k),U.KVO(U.zZn),U.KVO(k.QS),U.KVO(r.zH))},I.\u0275prov=U.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},24964:(xe,de,t)=>{"use strict";t.d(de,{e:()=>I});var e=t(8619),n=t(65706),E=t(75707),O=t(83915),B=t(18880),P=t(58527),k=t(11728),U=t(26537),r=t(65597),A=t(19061),l=t(18125);let I=(()=>{var S;class L{constructor(M,u,x,p,i){this.oscDisplayService=M,this.dialog=u,this.snackbar=x,this.focusManager=p,this.igoConfig=i}openAlertDialog(M,u=!0,x=!0){const p={panelClass:this.igoConfig.GFNCefClient?["nv-hig","nv-igo","nv-overlay-panel"]:["nv-hig","nv-igo","nv-overlay-panel","igo-dialog-geometry"],disableClose:u,autoFocus:!1,data:M};return this.oscDisplayService.getCanShowUI().pipe((0,e.p)(i=>i),(0,n.s)(1),(0,E.ZZ)(()=>this.oscDisplayService.getCurrentOpenState()),(0,n.s)(1),(0,O.T)(i=>{const o="open"!==i;o&&this.oscDisplayService.openOSC("");const _=this.focusManager.restoreFocusAfterClosed(()=>this.dialog.open(B.Q6,p));return _.afterClosed().subscribe(f=>{x&&(f=!0),o&&f&&this.oscDisplayService.closeOSC()}),_}))}closeAll(){this.dialog.closeAll()}openSnackBar(M,u="",x=5e3,p="left"){return this.snackbar.open(M,u,{duration:x,horizontalPosition:p,panelClass:this.igoConfig.GFNCefClient?["nv-hig","nv-igo"]:["nv-hig","nv-igo","igo-dialog-geometry"]})}closeSnackBar(){this.snackbar.dismiss()}}return(S=L).\u0275fac=function(M){return new(M||S)(P.KVO(k.B),P.KVO(U.bZ),P.KVO(r.UG),P.KVO(A.c_),P.KVO(l.k$F))},S.\u0275prov=P.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},2688:(xe,de,t)=>{"use strict";t.d(de,{R:()=>p});var e=t(61142),n=t(43848),E=t(31315),O=t(65706),B=t(75707),P=t(10174),k=t(14714),U=t(83915),r=t(33367),A=t(47766),l=t(37543),I=t(10918),S=t(10132),L=t(58527),s=t(12137),M=t(54292),u=t(93012),x=t(50801);let p=(()=>{var i;class o{constructor(f,J,a,D,te,N,z,R){var v,h,W,ne,ee,b,w,F,Z;this.injector=J,this.bridgeService=a,this.igoConfig=D,this.systemInfoService=te,this.browserSupportService=N,this.projectInterfaceService=R,this.useAlternateHotkeyForIGO=!1,this.isGuestAppFlow=!1,this.logger=f.getLogger("igo/FeatureSupportService"),this.isBrowserPlatform=A.zk.isBrowserPlatform(),"GFE"===this.igoConfig.branding?this.applyClassOnBody(I.mU.NvAppIGO):this.igoConfig.SmallScreenEnlargeFont&&this.applyClassOnBody(I.mU.LargerFontIGO),this.isCaptureSupported=!0,"GFN"===this.igoConfig.branding&&(this.guestModeHelperService=this.injector.get(l.xDS),this.appConfig=this.injector.get(l.Vk6),this.tvMode=!(null===(v=this.appConfig)||void 0===v||null===(v=v.featureEnablement)||void 0===v||!v.tvMode),this.isMobileMode=!(null===(h=this.appConfig)||void 0===h||null===(h=h.featureEnablement)||void 0===h||!h.mobileMode),this.inputControlEnabled=!(null===(W=this.appConfig)||void 0===W||null===(W=W.igo)||void 0===W||!W.enableInputControl),this.nvKeyboardSupported=z.enabled,this.clientImeEnabled=!!this.appConfig.featureEnablement.clientIME,this.useGamepadLSControl=!!this.appConfig.featureEnablement.useGamepadLSControl,this.useAlternateHotkeyForIGO=!!this.appConfig.featureEnablement.useAlternateHotkeyForIGO,this.isGuestAppFlow=this.guestModeHelperService.isGuestAppFlow(),this.isVirtualControllerEnabled=!(null===(ne=this.appConfig.featureEnablement)||void 0===ne||!ne.virtualController),this.blurInputOnSoftKeyboardDismissal=!(null===(ee=this.appConfig)||void 0===ee||null===(ee=ee.featureEnablement)||void 0===ee||!ee.blurInputOnSoftKeyboardDismissal),this.displayOnscreenKeyboardUsage=!(null===(b=this.appConfig)||void 0===b||null===(b=b.igo)||void 0===b||!b.displayOnscreenKeyboardUsage),this.handleSystemKeyboardVisibility=!(null===(w=this.appConfig)||void 0===w||null===(w=w.igo)||void 0===w||!w.handleSystemKeyboardVisibility),this.disableGamepadHintsOnSystemKBOpened=!(null===(F=this.appConfig)||void 0===F||null===(F=F.client)||void 0===F||!F.disableGamepadHintsOnSystemKBOpened),this.hideKeyboardOptionInputControlComponent=!(null===(Z=this.appConfig)||void 0===Z||null===(Z=Z.igo)||void 0===Z||!Z.hideKeyboardOptionInputControl)),this.initFeatureControl()}setIgoFeatureSupportData(f){return{igo:!0,shadowPlay:this.isShadowPlayEnabled(),webcam:this.isWebcamEnabled(),nvcamera:this.isNvcameraEnabled(),ppe:this.isPpeEnabled(),graphics:this.isGraphicsEnabled(),clientInput:!0,hotkey:!0,oscDisplay:!0,os:!0,oscNotification:!0,cache:!0,gallery:this.isGalleryEnabled(),sdkGallery:this.isSdkGalleryEnabled(),telemetryHelper:!0,meme:this.isMemeEnabled(),trim:this.isTrimEnabled(),gfnInfo:!0,osd:!0,gfnMicrophone:this.evaluateGfnMicEnablement(f),statistics:this.isStatisticsEnabled(),gamepadOrientedMode:this.isGamepadOrientedMode(),enableInputControl:this.isInputControlEnabled(),controlUGC:this.isControlUGCEnabled(),connectionStatus:this.isConnectionStatusEnabled(),isKBMGameSupported:this.isKeyboardMouseGamesAllowed(),nvKeyboardSupported:this.isNvKeyboardSupported(),clientIME:this.isClientImeEnabled(),useGamepadLSControl:this.isGamepadLSControlUsed(),shortcutControls:this.areShortcutsOveridden(),title:this.showTitle(),feedback:this.showFeedbackSetting(),links:this.showLinks(),gameplay:this.isGameplaySupported(),virtualKeyboardOnMobile:this.isVirtualKeyboardOnMobileSupported(),perfMon:this.isPerfOverlayEnabled(),reflexAnalyzer:this.isReflexAnalyzerEnabled(),inStreamPaste:this.needsDialogForInStreamPaste()}}initFeatureControl(){this.featureControl$="GFN"===this.igoConfig.branding&&this.igoConfig.IGOFeatureEnabled?this.systemInfoService.getSystemInfo([A.Lu.DeviceType]).pipe((0,O.s)(1),(0,B.ZZ)(f=>(this.cachedDeviceType=f.DeviceType,this.isGuestAppFlow&&(this.guestModeConfig=this.guestModeHelperService.getGuestModeConfig()),(0,n.of)(this.setIgoFeatureSupportData(f.DeviceType))))):(0,n.of)(I.zr)}evaluateGfnMicEnablement(f){var J,a;return f!==A.Y0.TV&&!this.isGfnMobileMode()&&(null===(J=null===(a=this.guestModeConfig)||void 0===a||null===(a=a.igoSettings)||void 0===a?void 0:a.isMicFeatureEnabled)||void 0===J||J)}init(){let f;return this.bridgeService.executeCommand(r.Ts.Share.Shareserver.GetInitData).pipe((0,B.ZZ)(J=>(f=J,f&&(this.isCaptureSupported=f.captureSupported),this.injector.get(e.hj,Promise.resolve(null)))),(0,B.ZZ)(J=>this.featureControl$),(0,B.ZZ)(J=>J.igo?(this.igoSupportData={initData:f,...J},(0,n.of)(this.igoSupportData)):(this.logger.info("Disabling IGO due to feature toggle"),this.igoSupportData=I.w8,this.bridgeService.executeCommand(r.Ts.Share.Shareserver.SetCaptureSupported,{supported:!1}).pipe((0,P.u)(this.igoSupportData)))),(0,k.W)(J=>(this.logger.info("Error occured while fetching GetInitDataReturn : ",J),(0,n.of)(this.igoSupportData))))}isShadowPlayEnabled(){return!this.isBrowserPlatform&&this.isCaptureSupported}isIgoWithoutBrowserPlatform(){return!this.isBrowserPlatform}isWebcamEnabled(){return!this.isGFEMode()&&!this.isBrowserPlatform}isNvcameraEnabled(){var f;return null===(f=this.igoConfig)||void 0===f?void 0:f.NvCameraFeaturesEnabled}isPpeEnabled(){return"GFN"!==this.igoConfig.branding}isSummaryDialogEnabled(){return!0}isGraphicsEnabled(){return!1}isGalleryEnabled(){return!this.isBrowserPlatform&&this.isCaptureSupported}isSdkGalleryEnabled(){return!this.isBrowserPlatform}isMemeEnabled(){return!this.isBrowserPlatform}isTrimEnabled(){return!this.isBrowserPlatform}isMicrophoneEnabled(){return"GFN"!==this.igoConfig.branding}isIssoPerfOptimizationEnabled(){var f;return"GFN"===this.igoConfig.branding&&!(null===(f=this.appConfig)||void 0===f||null===(f=f.igo)||void 0===f||null===(f=f.isso)||void 0===f||!f.perfOptimizationEnabled)}showPerfLogging(){return"GFN"!==this.igoConfig.branding}isNvApp(){return"GFN"!==this.igoConfig.branding}isGfnMicrophoneEnabled(){return"GFN"===this.igoConfig.branding?this.systemInfoService.getSystemInfo([A.Lu.DeviceType]).pipe((0,O.s)(1),(0,U.T)(f=>this.evaluateGfnMicEnablement(f.DeviceType))):(0,n.of)(!1)}isStatisticsEnabled(){return!("GFE"===this.igoConfig.branding||this.isGuestAppFlow&&(null===(f=this.guestModeConfig)||void 0===f||null===(f=f.igoSettings)||void 0===f||!f.isInGameStatisticsEnabled));var f}isGamepadOrientedMode(){var f;return(null===(f=this.appConfig)||void 0===f||null===(f=f.igo)||void 0===f?void 0:f.enableGamepadMode)&&"GFN"===this.igoConfig.branding}isISSOCompactMode(){var f;return(null===(f=this.appConfig)||void 0===f||null===(f=f.igo)||void 0===f||null===(f=f.isso)||void 0===f?void 0:f.compactOnly)&&"GFN"===this.igoConfig.branding}issoLayoutPref(){var f;return(null===(f=this.appConfig)||void 0===f||null===(f=f.igo)||void 0===f||null===(f=f.isso)||void 0===f?void 0:f.layoutPreference)||l.C$e.Default}applyClassOnBody(f){let J;if(!document)return void this.logger.error("Can not add the class, document is undefined");const a=document.getElementsByTagName("body")[0];f===I.mU.NvAppIGO?J="nvapp-igo-view":f===I.mU.LargerFontIGO&&(J="larger-font-igo-view"),a.classList.add(J)}enlargeIGOTextFont(){return this.igoConfig.SmallScreenEnlargeFont}isTVMode(){return this.tvMode&&"GFN"===this.igoConfig.branding}isInputControlEnabled(){return this.inputControlEnabled&&"GFN"===this.igoConfig.branding}shouldShowInputControlMessage(){return"GFN"===this.igoConfig.branding&&this.appConfig.igo.inputControlShowSnackBar}isSystemEnabled(){return(0,E.zV)([this.systemInfoService.getDeviceOSType().pipe((0,O.s)(1)),this.systemInfoService.getSystemInfo([A.Lu.DeviceType]).pipe((0,O.s)(1))]).pipe((0,U.T)(([f,J])=>{const a=f===A.t_.Windows,te=f===A.t_.MacOS;return this.isBrowserPlatform?a||f===A.t_.ChromeOS||te||f===A.t_.XBox||J[A.Lu.DeviceType]===A.Y0.HMD&&f===A.t_.Android:a||te||f===A.t_.SteamOS}))}isControlUGCEnabled(){return!this.isBrowserPlatform&&"GFN"===this.igoConfig.branding}isConnectionStatusEnabled(){return"GFN"===this.igoConfig.branding}isKeyboardMouseGamesAllowed(){var f;return"GFN"!==this.igoConfig.branding||(null===(f=this.appConfig)||void 0===f||null===(f=f.client)||void 0===f?void 0:f.supportsKeyboardMouseGames)}isGfnBrowserDevMode(){return"GFN"===this.igoConfig.branding&&this.isBrowserPlatform&&this.browserSupportService.isStagingOrDevDomain()}isNvKeyboardSupported(){return this.nvKeyboardSupported&&"GFN"===this.igoConfig.branding}isClientImeEnabled(){return this.clientImeEnabled&&"GFN"===this.igoConfig.branding}isGamepadLSControlUsed(){return this.useGamepadLSControl&&"GFN"===this.igoConfig.branding}usesAlternateHotkeyForIGO(){return this.useAlternateHotkeyForIGO&&"GFN"===this.igoConfig.branding}isGfnMobileMode(){return this.isMobileMode&&"GFN"===this.igoConfig.branding}areShortcutsOveridden(){var f;return!!this.isGuestAppFlow&&!(null===(f=this.guestModeConfig)||void 0===f||null===(f=f.igoSettings)||void 0===f||!f.shortcutControls)}getHotkeyShortcutsOverrides(){var f;return null===(f=this.guestModeConfig)||void 0===f||null===(f=f.igoSettings)||void 0===f?void 0:f.shortcutControls}showTitle(){return!this.isGuestAppFlow}showFeedbackSetting(){return!this.isGuestAppFlow}showLinks(){return!this.isGuestAppFlow}isGameplaySupported(){return!this.isGuestAppFlow}showTimeLeftMessage(){return!this.isGuestAppFlow}getOverriddenMicPosition(){var f,J,a;return!1===(null===(f=this.guestModeConfig)||void 0===f||null===(f=f.igoSettings)||void 0===f?void 0:f.isMicFeatureEnabled)?S.VH.none:null!==(J=null===(a=this.guestModeConfig)||void 0===a||null===(a=a.igoSettings)||void 0===a?void 0:a.micIconPosition)&&void 0!==J?J:null}getOverriddenNetworkStatusIconPosition(){var f,J;return null!==(f=null===(J=this.guestModeConfig)||void 0===J||null===(J=J.igoSettings)||void 0===J?void 0:J.networkStatusIndicatorPosition)&&void 0!==f?f:null}getOverriddenStatisticsPosition(){var f,J;return null!==(f=null===(J=this.guestModeConfig)||void 0===J||null===(J=J.igoSettings)||void 0===J?void 0:J.statisticsPosition)&&void 0!==f?f:null}getIgoOverrideSettings(){var f;return this.isGuestAppFlow?null===(f=this.guestModeConfig)||void 0===f?void 0:f.igoSettings:null}getForceTouchModeSettings(){return this.projectInterfaceService.getForceTouchMode()}isVirtualControllerSupported(){let f;var J,a;return this.isGuestAppFlowWrapper()?(f=!1,f=this.isVirtualControllerEnabled&&(null!==(J=null===(a=this.guestModeConfig)||void 0===a||null===(a=a.igoSettings)||void 0===a?void 0:a.virtualGamepad)&&void 0!==J?J:f)):f=this.isVirtualControllerEnabled,f}isVirtualKeyboardOnMobileSupported(){let f=!0;var J,a;return this.isGuestAppFlowWrapper()&&(f=null!==(J=null===(a=this.guestModeConfig)||void 0===a||null===(a=a.igoSettings)||void 0===a?void 0:a.virtualKeyboard)&&void 0!==J?J:f),f}hideExitFullScreenOption(){var f;return this.isGuestAppFlowWrapper()||(null===(f=this.appConfig)||void 0===f||null===(f=f.igo)||void 0===f?void 0:f.hideExitFullScreenOption)}shouldHideKeyboardShortcuts(){var f;return null===(f=this.igoConfig)||void 0===f?void 0:f.HideKeyboardShortcuts}isGuestAppFlowWrapper(){var f;return null===(f=this.guestModeHelperService)||void 0===f?void 0:f.isGuestAppFlow()}isGFEMode(){return"GFN"!==this.igoConfig.branding}isRunTimeMaxBitRateConfigSupported(){return A.zk.isNativeLikePlatform()||this.isBrowserPlatform&&!this.isMobileMode}isRunTimeVSYNCConfigSupported(){return!A.zk.isBrowserPlatform()}isRunTimeAdjustPoorNetworkToggleSupported(){return A.zk.isNativeLikePlatform()||this.isBrowserPlatform&&!this.isMobileMode}isPerfOverlayEnabled(){return this.isGFEMode()}isNgxAvailable(){return!1}isRectOptimizationEnabled(){return!0}isReflexAnalyzerEnabled(){return this.isPerfOverlayEnabled()}needsDialogForInStreamPaste(){var f;return"GFN"===this.igoConfig.branding&&!(null===(f=this.appConfig)||void 0===f||null===(f=f.client)||void 0===f||!f.needsDialogForInStreamPaste)}shouldBlurInputOnSoftKeyboardDismissal(){return this.blurInputOnSoftKeyboardDismissal}showOnscreenKeyboardUsageNotification(){return this.displayOnscreenKeyboardUsage}isGAssistFeatureAvailable(){return this.isNvApp()}isASRFeatureAvailable(){return this.isNvApp()}isGameAssistantAvailable(){return this.isNvApp()}shouldHandleSystemKeyboardVisibility(){return this.handleSystemKeyboardVisibility}shouldDisableGamepadHintsOnSystemKBOpened(){return this.disableGamepadHintsOnSystemKBOpened}hideKeyboardOptionInputControlFlag(){return this.hideKeyboardOptionInputControlComponent}}return(i=o).\u0275fac=function(f){return new(f||i)(L.KVO(A.J6),L.KVO(L.zZn),L.KVO(A.NZ),L.KVO(s.k),L.KVO(A.zW),L.KVO(M.vT),L.KVO(u.RF),L.KVO(x.qQ))},i.\u0275prov=L.jDH({token:i,factory:i.\u0275fac,providedIn:"root"}),o})()},48700:(xe,de,t)=>{"use strict";t.d(de,{A:()=>s});var e=t(80583),n=t(43848),E=t(33367),O=t(14714),B=t(8619),P=t(91384),k=t(75707),U=t(65726),r=t(83915),A=t(45109),l=t(58527),I=t(47766),S=t(57412),L=t(51830);let s=(()=>{var M;class u{constructor(p,i,o,_){this.bridgeService=p,this.loggingService=i,this.lcarsService=o,this.shadowPlayService=_,this.initialized=!1,this.assistantResponse$=new e.B7,this.logger=this.loggingService.getLogger("GameAssistantService")}initialize(){this.initialized||(this.registerGameStartedChromaInfo(),this.registerGameExitEvents(),this.registerGameAssistantResponse(),this.initialized=!0)}isInstalled(){return this.bridgeService.executeCommand(E.Ts.Nvapp.Rise.GameAssistSupported).pipe((0,O.W)(p=>(this.logger.error("GameAssistSupported error:",p),(0,n.of)({status:!1}))))}getIsSessionActive(){return this.isGameAssistReady}resetContext(){}sendRequest(p){return this.submitQuery(p)}listenToAssistantResponses(){return this.assistantResponse$.asObservable()}registerGameStartedChromaInfo(){this.lcarsService.getCurrentAppChromaInfo().pipe((0,B.p)(p=>!!p&&void 0!==p.pid),(0,P.M)(p=>{this.currentGameInfo={name:p.profileName,pid:p.pid}}),(0,k.ZZ)(()=>this.loadGameAssistant())).subscribe()}registerGameExitEvents(){this.bridgeService.executeCommand(E.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,B.p)(p=>!(null==p||!p.gameExited)),(0,k.ZZ)(p=>{var i;let o=(0,n.of)(!0);return p.gameExited.exitAppPID===(null===(i=this.currentGameInfo)||void 0===i?void 0:i.pid)&&(o=this.unloadGameAssistant()),o}),(0,P.M)(()=>{this.currentGameInfo=void 0})).subscribe()}registerGameAssistantResponse(){this.bridgeService.executeCommand(E.Ts.Nvapp.Rise.GameAssistQueryResponseNotfication).pipe((0,P.M)(p=>{p.responseType===E.Or.Nvapp.Rise.ResponseType1.NvGameAssistApi_QueryResponse_GameAssistReady?(this.logger.info("Game assistant ready message recieved"),this.isGameAssistReady=!0):this.onGameAssistantResponse(p)})).subscribe()}onGameAssistantResponse(p){this.logger.info("onGameAssistantResponse:",p.responseType),this.assistantResponse$.next(p.responseType===E.Or.Nvapp.Rise.ResponseType1.NvGameAssistApi_QueryResponse_Sentinel?null:p.responseText)}loadGameAssistant(){return this.logger.info("loadGameAssistant"),this.loadGAssistPlugin(!0).pipe((0,U.c)(A.Py),(0,k.ZZ)(()=>this.createSession(!0)))}unloadGameAssistant(){return this.logger.info("unloadGameAssistant"),this.isGameAssistReady=!1,this.createSession(!1).pipe((0,k.ZZ)(()=>this.loadGAssistPlugin(!1)))}loadGAssistPlugin(p){return this.logger.info("loadGAssistPlugin:",p),this.shadowPlayService.setGAssistGlobalToggle(p,!0)}createSession(p){this.logger.info("createSession:",p,this.currentGameInfo);const i={create:p,gameName:this.currentGameInfo.name,pid:this.currentGameInfo.pid};return this.bridgeService.executeCommand(E.Ts.Nvapp.Rise.GameAssistCreateSession,i).pipe((0,r.T)(o=>(o.status||this.logger.error("createSession failed:",i),o.status)),(0,O.W)(o=>(this.logger.error("createSession failed:",i,"error:",o),(0,n.of)(!1))))}submitQuery(p){return this.logger.info("submitQuery"),this.bridgeService.executeCommand(E.Ts.Nvapp.Rise.GameAssistSubmitQuery,{queryText:p}).pipe((0,r.T)(o=>(o.status||this.logger.error("submitQuery failed"),o.status)),(0,O.W)(o=>(this.logger.error("submitQuery failed:",o),(0,n.of)(!1))))}}return(M=u).\u0275fac=function(p){return new(p||M)(l.KVO(I.NZ),l.KVO(I.J6),l.KVO(S.B),l.KVO(L.W1))},M.\u0275prov=l.jDH({token:M,factory:M.\u0275fac,providedIn:"root"}),u})()},32912:(xe,de,t)=>{"use strict";t.d(de,{J:()=>v});var e=t(80583),n=t(26513),E=t(43848),O=t(59859),B=t(16229),P=t(36466),k=t(83915),U=t(14714),r=t(72147),A=t(91384),l=t(8619),I=t(33367),_=function(h){return h.GRD="grd",h.CRD="crd",h.NVAPP="nvapp",h}(_||{}),D=t(28890),te=t(45109),N=t(58527),z=t(47766),R=t(51830);let v=(()=>{var h;class W{constructor(ee,b,w){var F;this.bridgeService=ee,this.loggingService=b,this.shadowPlayService=w,this.response=new e.B7,this.installStatus=new n.t(null),this.downloadProgressUpdate=new n.t(null),this.shouldFocusInput$=new e.B7,this.asrListening=new n.t(!1),this.asrWaiting=new n.t(!1),this.onHistoryChanges$=new e.B7,this.onApplicationLaunched$=new e.B7,this.chartMessage="",this.isRiseRegistered=!1,this.skipNextCompletion=!1,this.functionCallNotification$=new e.B7,this.gameEventNotification$=new e.B7,this.asrResponse$=new e.B7,this.asrActiveMicUpdates$=new e.B7,this.isGameRunning=!1,this.hasRiseRecievedGameInfo=!0,this.riseProgressUpdates=null===(F=this.downloadProgressUpdate)||void 0===F?void 0:F.asObservable(),this.chatHistory=[],this.history=[],this.logger=this.loggingService.getLogger("RiseService")}initialize(){this.logger.info("Initialize"),this.registerRiseProgressNotification(),this.registerGameNotifications(),this.initializeASR(),this.queryInstalledDDVersion(),this.registerRise(!1).subscribe()}register(ee){this.logger.info("Register:",ee,this.isRiseRegistered),ee!==this.isRiseRegistered&&(ee&&(this.isFirstQueryAfterRegister=!0),this.registerRise(ee).subscribe(b=>{this.logger.info("Registration Response: ",b)},b=>{this.logger.error("RISE Registration failed with error: ",b),this.onRegisterError()}))}registerRise(ee){return this.logger.info("registerRise:",ee),ee||this.clearChatHistory(),this.isRiseRegistered=ee,this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.RiseRegister,{enable:ee})}queryInstalledDDVersion(){this.bridgeService.executeCommand(I.Ts.Share.Graphicssetting.GetGenericInfo).pipe((0,k.T)(ee=>{this.installedDDVersion=ee.DriverVersion})).subscribe()}getInstalledDDVersion(){return this.installedDDVersion}getIsRiseRegistered(){return this.isRiseRegistered}onDisableGAssist(){this.registerRise(!1).subscribe(),this.hasRiseRecievedGameInfo=!1}listenToRiseResponses(){return this.response.asObservable()}sendRequest(ee,b=D.KL.NV_RISE_CONTENT_TYPE_TEXT){return this.hasRiseRecievedGameInfo=!0,this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.RiseRequestCompletion,{content:ee,contentType:b}).pipe((0,k.T)(w=>(this.logger.info("RISE Request Response: ",w),w.status)),(0,U.W)(w=>(this.logger.error("RISE request failed with Error :",w),(0,E.of)(!1))))}onRiseResponse(ee){var b;this.logger.info("onRiseResponse"),this.isFirstQueryAfterRegister=!1,null===(b=this.response)||void 0===b||b.next(ee),this.shouldFocusInput$.next()}onDownloadRequiredStatus(){var ee;null===(ee=this.installStatus)||void 0===ee||ee.next(D.to)}onInstallStatus(){var ee;null===(ee=this.installStatus)||void 0===ee||ee.next(D.om)}onReadyStatus(){var ee;null===(ee=this.installStatus)||void 0===ee||ee.next(D.Uo)}onRegisterError(){var ee;null===(ee=this.installStatus)||void 0===ee||ee.next(D.fY)}onRiseDownloadProgressUpdate(ee){var b;null===(b=this.downloadProgressUpdate)||void 0===b||b.next(ee)}getRiseInstallationStatus(){var ee;return null===(ee=this.installStatus)||void 0===ee?void 0:ee.asObservable()}getShouldFocusInput(){return this.shouldFocusInput$.asObservable()}shouldFocusInput(){this.shouldFocusInput$.next()}getGameLaunchedUpdates(){return this.gameEventNotification$.asObservable()}isGameRunningCurrently(){return this.isGameRunning}isDummyPromptNeededToUpdateGameInfo(){return!this.hasRiseRecievedGameInfo}getLoadingText(){return this.isFirstQueryAfterRegister?"gAssist.initializingGAssist":"gAssist.loading"}registerGameNotifications(){let ee;this.shadowPlayService.registerAppStartedEvent().pipe((0,r.n)(b=>{var w;if(ee=b,null===(w=b.appStarted)||void 0===w||!w.DRSAppName)return(0,E.of)(!1);const F={bLaunched:!0,gameName:b.appStarted.profileName,exePath:"",pid:b.appStarted.pid};return this.hasRiseRecievedGameInfo=!1,this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.RiseGameNotification,F)}),(0,A.M)(()=>{var b;null!==(b=ee.appStarted)&&void 0!==b&&b.DRSAppName&&(this.isGameRunning=!0,this.gameEventNotification$.next())}),(0,U.W)(b=>(this.logger.info("Rise game notification call failed:",b),(0,E.of)(!1)))).subscribe(),this.bridgeService.executeCommand(I.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,l.p)(b=>!(null==b||!b.gameExited)),(0,r.n)(b=>(this.hasRiseRecievedGameInfo=!1,this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.RiseGameNotification,{bLaunched:!1,gameName:"",exePath:"",pid:0}))),(0,A.M)(()=>{this.isGameRunning=!1,this.gameEventNotification$.next()}),(0,U.W)(b=>(this.logger.info("Rise game notification call failed:",b),(0,E.of)(!1)))).subscribe()}setChatHistory(ee){this.chatHistory=ee}setHistory(ee,b=!1){this.history=ee,b&&this.onHistoryChanges$.next()}getChatHistory(){return this.chatHistory}getHistory(){return this.history}getHistoryChangeUpdates(){return this.onHistoryChanges$.asObservable()}listenToFunctionCalls(){return this.functionCallNotification$.asObservable()}handleFunctionCallResponse(ee){this.onRiseResponse(ee),this.onRiseResponse(null),this.sendRequest(ee,D.KL.NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR_RESULT).subscribe()}toggleASR(ee=void 0){let b;b=void 0===ee?!this.getASRListeningStatus():ee,b?this.startASR():this.stopASR()}getASRListeningStateUpdates(){return this.asrListening.asObservable()}getASRWaitingStateUpdates(){return this.asrWaiting.asObservable()}getDriverUpdateRecommendation(){return this.logger.info("getDriverUpdateRecommendation"),this.bridgeService.executeCommand(I.Ts.Nvapp.Driverupdaterecommendation.GetDriverUpdateRecommendation).pipe((0,k.T)(ee=>(this.logger.info("getDriverUpdateRecommendation response",ee),ee.result)),(0,U.W)(ee=>(this.logger.error("getDriverUpdateRecommendation error:",ee),(0,O.$)(ee))))}startDriverDownload(ee){return this.logger.info("startDriverDownload, driverInfo",ee),this.bridgeService.executeCommand(I.Ts.Common.Downloader.StartDownloadAndPostProcess,{version:ee.version,url:ee.downloadURL,downloadTypeInfo:{componentName:ee.driverType===I.Or.Nvapp.Driverupdaterecommendation.DriverTypeEnum.GameReadyDriver?_.GRD:_.CRD,updateChannel:I.Or.Common.Downloader.UpdateChannel.Official,updateType:I.Or.Common.Downloader.UpdateType.Full,invokeType:I.Or.Common.Downloader.InvokeType.Manual}}).pipe((0,A.M)(q=>{this.logger.info("startDriverDownload response:",q)}),(0,U.W)(q=>(this.logger.error("startDriverDownload error:",q),(0,O.$)(q))))}getApplications(){return this.logger.info("getApplications"),this.bridgeService.executeCommand(I.Ts.Nvapp.Localgames.GetApplications).pipe((0,k.T)(ee=>(this.logger.info("GetApplications response:",ee),ee)),(0,U.W)(ee=>(this.logger.error("GetApplications error:",ee),(0,O.$)(ee))))}launchApplication(ee){return this.logger.info("launchApplication"),this.bridgeService.executeCommand(I.Ts.Nvapp.Localgames.LaunchApplication,{localId:ee}).pipe((0,A.M)(w=>{this.onApplicationLaunched$.next(),this.logger.info("Launchapplication successfull:",w)}),(0,U.W)(w=>(this.logger.error("Launchapplication error:",w),(0,O.$)(w))))}isASRSupported(){return this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.VqVoiceQuerySupported).pipe((0,U.W)(ee=>(this.logger.error("VqVoiceQuerySupported error:",ee),(0,E.of)({status:!1}))))}isRiseSupported(){return this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.RiseSupported).pipe((0,U.W)(ee=>(this.logger.error("RiseSupported error:",ee),(0,E.of)({status:!1}))))}setUpASRSession(ee){return this.logger.info("setUpASRSession:",ee),this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.VqResisterVoiceQuery,{create:ee}).pipe((0,k.T)(w=>(this.logger.info("VqResisterVoiceQuery:",w),w.status)),(0,U.W)(w=>(this.logger.error("VqResisterVoiceQuery error:",w),(0,E.of)(!1))))}listenASRResponses(){return this.asrResponse$.asObservable()}shutDownASR(){this.getASRListeningStatus()&&(this.asrListening.next(!1),this.setVoiceQuery(!1)),this.asrWaiting.next(!1)}getAsrActiveMicUpdates(){return this.asrActiveMicUpdates$.asObservable()}getApplicationLaunchedEvents(){return this.onApplicationLaunched$.asObservable()}fetchShadowPlayMicInfo(){this.shadowPlayService.getMicrophoneData().pipe((0,A.M)(ee=>{var b,w;ee.index<0?(this.logger.info("Mic not available:",ee),this.activeMicID=void 0):this.activeMicID=null===(w=ee.micSpecs[ee.index])||void 0===w?void 0:w.id,this.asrActiveMicUpdates$.next(this.activeMicID),this.logger.info("active mic:",null===(b=ee.micSpecs[ee.index])||void 0===b?void 0:b.name)})).subscribe()}getMicInfo(){this.fetchShadowPlayMicInfo(),(0,B.h)(this.shadowPlayService.getMICDeviceState(),this.shadowPlayService.getMicSelectionChanges()).pipe((0,A.M)(()=>this.fetchShadowPlayMicInfo())).subscribe()}initializeASR(){this.isASRSupported().pipe((0,k.T)(ee=>ee.status),(0,l.p)(ee=>ee),(0,A.M)(ee=>{this.logger.info("isASRSupported result:",ee),this.registerASRNotifications(),this.getMicInfo()})).subscribe()}processResponse(ee){return ee.replace(/[\[(][^\])]*[\])]?|\s*[\[(][^\])]*$/g,"").replace(/\s+/g," ").trim()}onASRResponse(ee){this.logger.info("onASRResponse",ee);const b=this.processResponse(ee);this.asrWaiting.next(!1),this.resetASRWaitTimeout(),b&&this.asrResponse$.next(b)}registerASRNotifications(){this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.VqVoiceQueryResultNotfication).subscribe(ee=>{this.onASRResponse(ee.queryText)})}setVoiceQuery(ee){this.bridgeService.executeCommand(I.Ts.Nvapp.Rise.VqSetVoiceQuery,{vqMode:ee?I.Or.Nvapp.Rise.VqMode.NvVqApi_VoiceQueryMode_Start:I.Or.Nvapp.Rise.VqMode.NvVqApi_VoiceQueryMode_Stop,micId:this.activeMicID,voiceLangId:"",textLangId:""}).pipe((0,A.M)(w=>{this.logger.info("setVoiceQuery:",w)}),(0,U.W)(w=>(this.logger.error("setVoiceQuery error:",w),(0,E.of)()))).subscribe()}startASR(){this.asrListening.getValue()||this.asrWaiting.getValue()?this.logger.info("Ignoring ASR start:",this.asrListening,this.asrWaiting):(this.setVoiceQuery(!0),this.asrListening.next(!0))}resetASRWaitTimeout(){this.asrResponseWaitTimeout$&&clearTimeout(this.asrResponseWaitTimeout$),this.asrResponseWaitTimeout$=void 0}setUpASRWaitTimeout(){this.resetASRWaitTimeout(),this.asrResponseWaitTimeout$=setTimeout(()=>{this.logger.error("No response from ASR, timing out"),this.asrWaiting.next(!1)},te.i$)}stopASR(){this.setVoiceQuery(!1),this.asrWaiting.next(!0),this.asrListening.next(!1),this.setUpASRWaitTimeout()}getASRListeningStatus(){return this.asrListening.getValue()}clearChatHistory(){this.setChatHistory([]),this.setHistory([],!0)}registerRiseProgressNotification(){var ee;this.logger.info("RISE Subscription"),null===(ee=this.bridgeService)||void 0===ee||null===(ee=ee.executeCommand(I.Ts.Nvapp.Rise.RiseUpdatesNotifications))||void 0===ee||null===(ee=ee.pipe((0,A.M)(b=>{if(null!=b&&b.resultTokens)if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_GRAPH){if(void 0!==(null==b?void 0:b.completed)&&!0===(null==b?void 0:b.completed)){const w=this.chartMessage;return this.chartMessage="",w}this.chartMessage=this.chartMessage.concat(b.resultTokens)}else if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_TEXT){if(void 0!==(null==b?void 0:b.completed)&&!0===b.completed&&""!==this.chartMessage)return this.chartMessage;this.onRiseResponse(b.resultTokens)}else if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_DOWNLOAD_REQUEST)this.onDownloadRequiredStatus();else if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_INSTALLING)this.onInstallStatus();else if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_PROGRESS_UPDATE)this.onRiseDownloadProgressUpdate(b.resultTokens);else{if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_READY)return void this.onReadyStatus();if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR)return this.functionCallNotification$.next(b),void(this.skipNextCompletion=!0);this.onRiseResponse(null)}else{if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_GRAPH&&void 0!==(null==b?void 0:b.completed)&&!0===(null==b?void 0:b.completed)){const w=this.chartMessage;this.chartMessage="",this.onRiseResponse(w)}else if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_DOWNLOAD_REQUEST)this.onDownloadRequiredStatus();else if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_INSTALLING)this.onInstallStatus();else if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_PROGRESS_UPDATE)this.onRiseDownloadProgressUpdate(b.resultTokens);else{if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_READY)return void this.onReadyStatus();if((null==b?void 0:b.contentType)===D.cv.NV_RISE_CONTENT_TYPE_CUSTOM_BEHAVIOR)return void this.functionCallNotification$.next(b)}if(this.skipNextCompletion)return void(this.skipNextCompletion=!1);this.onRiseResponse(null)}})))||void 0===ee||ee.subscribe(P.l,b=>{this.logger.error("Failed to register RiseProgressNotificationsReturn with Error :",b)})}OnDestroy(){}}return(h=W).\u0275fac=function(ee){return new(ee||h)(N.KVO(z.NZ),N.KVO(z.J6),N.KVO(R.W1))},h.\u0275prov=N.jDH({token:h,factory:h.\u0275fac,providedIn:"root"}),W})()},8260:(xe,de,t)=>{"use strict";t.d(de,{AF:()=>Y,Pe:()=>se});var e=t(26513),n=t(80583),E=t(43848),O=t(35146),B=t(17053),P=t(31315),k=t(19392),U=t(79539),r=t(99047),A=t(8619),l=t(75707),I=t(83915),S=t(91384),L=t(10174),s=t(14714),M=t(25577),u=t(33367),x=t(45152),p=t(23860),i=t(53914),o=t(58527),_=t(47766),f=t(75042),J=t(69416),a=t(83934),D=t(11728),te=t(10279),N=t(27211),z=t(65240),R=t(24964),v=t(61142),h=t(59002),W=t(2688),ne=t(51830),ee=t(72582),se=function(q){return q[q.BackNav=0]="BackNav",q[q.ForwardNav=1]="ForwardNav",q[q.DeleteFile=2]="DeleteFile",q}(se||{});let Y=(()=>{var q;class T{get fileDataChangeListener(){return this.currentFileData$.asObservable()}get currentFileData(){return this.currentFileData$.getValue()}set currentFileData(y){this.logger.info("Updating metadata"),this.currentFileData$.next(y)}get filesSelectedDataChangeListener(){return this.currentSelectedFilesData$.asObservable()}get currentSelectedFilesData(){return this.currentSelectedFilesData$.getValue()}set currentSelectedFilesData(y){this.currentSelectedFilesData$.next(y)}listenForTrackerEvents(){return this.trackerCallback$.asObservable()}listenForDelayedEvents(){return this.delayedCallback$.asObservable()}isHighlightCanceled(){return this.canceledCallback$.asObservable()}refreshEvent(){return this.refreshEvent$.asObservable()}recentEvent(){return this.recentEvent$.asObservable()}previewPaneEvent(){return this.previewPaneEvent$.asObservable()}lowDiskSpaceEvent(){const y=this.checkDiskSpace().subscribe(()=>{y.unsubscribe()});return this.lowDiskSpaceEvent$.asObservable()}lowDiskSpaceValue(){return this.lowDiskSpaceEvent$.getValue()}captureSaved(){return this.captureSaved$.asObservable()}get previewWindowCloseNotify(){return this.previewWindowCloseNotify$.asObservable()}closePreviewWindow(y){this.previewWindowCloseNotify$.next(y)}constructor(y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce){this.bridgeService=X,this.osService=c,this.cacheService=g,this.sdkService=d,this.notifierService=C,this.oscDisplayService=Q,this.telemetry=j,this.telemetryIgo=le,this.translateService=ge,this.dialogHelper=ie,this.datePipe=ce,this.gfnInfoService=G,this.featureSupportService=ue,this.shadowPlayService=ae,this.navigationService=Ce,this.videoPath="",this.thumbWidth=128,this.thumbHeight=128,this.directories=[],this.workingFolder="",this.lastUserSelectedFolder="",this.previewCaller=void 0,this.mostLikelyResolution={width:1920,height:1080},this.currentFileData$=new e.t(null),this.currentSelectedFilesData$=new e.t([]),this.captureSaved$=new e.t(""),this.gameDetails={cmsId:"",drsName:"",drsProfileName:"",shortName:""},this.lastExitedGameDetails={cmsId:"",drsName:"",drsProfileName:"",shortName:""},this.activeFilter=0,this.fileCounts=new x.Tk,this.topLevelCounts=[],this.updatingTracker=!1,this.highlightSummaryIsOpen=!1,this.trackerCallback$=new n.B7,this.delayedCallback$=new n.B7,this.canceledCallback$=new n.B7,this.refreshEvent$=new n.B7,this.recentEvent$=new n.B7,this.lowDiskSpaceEvent$=new e.t(!1),this.previewPaneEvent$=new n.B7,this.previewWindowCloseNotify$=new n.B7,this.isNvApp=!1,this.hlTempPath="",this.galleryPath="",this.highlightsPath="Highlights",this.folderPathSeparator="\\",this.isAppStartedReceived=!1,this.logger=y.getLogger("GalleryService"),this.isNvApp=this.featureSupportService.isNvApp()}init(){this.logger.info("Initialize"),this.dirSeparator=this.osService.getDirSeparator(),this.bridgeService.executeCommand(u.Ts.Common.Gallery.GalleryNotifications).pipe((0,U.H)(y=>this.galleryEvent(y))).subscribe(),this.checkDiskSpace().pipe((0,r.$)()).subscribe(),this.gfnInfoService.streamingTerminated().pipe().subscribe(()=>{this.setLastUserSelectedFolder("")}),this.shadowPlayService.registerAppStartedEvent().subscribe(y=>{this.setLastUserSelectedFolder(""),this.gameDetails.cmsId=y.appStarted.cmsId.toString(),this.gameDetails.drsName=y.appStarted.DRSAppName,this.gameDetails.drsProfileName=y.appStarted.profileName,this.gameDetails.shortName=y.appStarted.shortName,this.lastExitedGameDetails=this.gameDetails,this.isAppStartedReceived=!0}),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,A.p)(y=>!(null==y||!y.gameExited))).subscribe(y=>{this.onGameExit()}),this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetSettings).pipe((0,l.ZZ)(y=>(this.checkDiskLimits(y.settings.capacity),y.settings.path?this.initPathItems(y.settings.path).pipe((0,I.T)(X=>y)):(0,E.of)(y))),(0,S.M)(y=>{this.telemetry.updateGallerySettings(y)}),(0,l.ZZ)(y=>this.featureSupportService.isGFEMode()?this.bridgeService.executeCommand(u.Ts.Common.Gallery.MigrateHighlightsTracker):(0,E.of)(null))).subscribe(),this.getGalleryPath().subscribe()}hasAnyEntries(){if(this.topLevelCounts.length>0){let y=0;return this.topLevelCounts.forEach(X=>{y+=X.totalCount}),console.log("gallery entries: ",y),y>0}return!1}checkDiskLimits(y){this.logger.info("Disk Limits: ",y),y.enabled&&y.capacityPercent/100*y.totalDiskSpaceMB<=y.usageMB&&(this.logger.info("Gallery is full"),this.notifierService.show(p.Ed.GalleryIsFull))}initPathItems(y){this.videoPath=y,this.cacheService.setRecordingPaths(this.videoPath);const X=this.videoPath.split(":")[0];return this.logger.info("Drive Letter: ",X),X.length&&this.getDriveSize(X),this.getFolders().pipe((0,S.M)(()=>{this.logger.info("Initialize complete")}))}pathChanged(){return this.logger.info("Re-initializing Gallery Service"),this.workingFolder="",this.setLastUserSelectedFolder(""),this.directories=[],this.topLevelCounts=[],this.cacheService.flushDirectoryList(),this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetSettings).pipe((0,l.ZZ)(X=>(this.checkDiskLimits(X.settings.capacity),this.initPathItems(X.settings.path))),(0,L.u)(!0))}getDriveSize(y){this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetDriveInfo,{drive:y}).subscribe(c=>{this.currentDriveSize=c.totalSpaceMB,this.currentDriveFreeSpace=c.freeSpaceMB,this.logger.info("Drive info: ",c)})}buildPath(y){return""===y?this.videoPath:this.videoPath+this.dirSeparator+y}setWorkingFolder(y){const X=this.buildPath(y);return this.cacheService.getCachedDataCRC(X).pipe((0,l.ZZ)(c=>this.getUsableData(y)),(0,l.ZZ)(c=>(this.cacheService.useCacheData(X,!1),(0,E.of)(this.cacheService.files.length))))}getWorkingFolder(){return""!==this.workingFolder&&this.directories.length&&(this.directories.find(X=>X===this.workingFolder)||(this.workingFolder="")),""===this.workingFolder&&this.directories.length&&(this.workingFolder=this.directories[0]),this.workingFolder}setLastUserSelectedFolder(y){this.lastUserSelectedFolder=y}getLastUserSelectedFolder(){return this.lastUserSelectedFolder}getVideoFolder(){return this.videoPath}saveCurrentLocation(y){this.currentLocation=y}getCurrentLocation(){return this.currentLocation}setGalleryThumbSize(y){this.thumbWidth=y,this.thumbHeight=y}populateDirectoryStats(){if(this.directories.length>0&&this.cacheService.directoryListUpdateCounts){this.topLevelCounts=[];const y=[];return this.directories.forEach(X=>{y.push(this.getAppStats(X))}),(0,O.yU)(...y).pipe((0,I.T)(()=>this.directories))}return(0,E.of)(this.directories)}getFolders(){return this.cacheService.getDirectoryList().pipe((0,l.ZZ)(y=>(this.directories=y,this.populateDirectoryStats())))}showFolderContents(y){return""===y?""===this.workingFolder?this.workingFolder=y=this.directories[0]:y=this.workingFolder:this.workingFolder=y,this.logger.info("Working Folder: ",this.workingFolder),this.setWorkingFolder(y).pipe((0,I.T)(()=>this.cacheService.getCurrentPopFolder()))}getCurrentFolderCount(){return this.fileCounts}getUsableData(y){this.logger.info("GetUsableData Dir: ",y);const X=this.buildPath(y);if(this.cacheService.useCacheData(X,!0))return this.logger.info("GetUsableData - Using cached data"),this.fileCounts=this.cacheService.counts,this.telemetryIgo.setGalleryAccessCached(!0),this.telemetryIgo.setGalleryFolderCounts(this.cacheService.counts.images,this.cacheService.counts.total-this.cacheService.counts.images),(0,E.of)(!0);this.telemetryIgo.setGalleryAccessCached(!1);let c=[];return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetApplicationConfigs,{}).pipe((0,S.M)(g=>{if(g&&g.apps.length){const d=g.apps.find(C=>C.app.profileName===y||C.app.name===y);d&&(c=d.highlights.map(C=>({name:C.name,displayName:"",count:0,enabled:!0})),c.forEach(C=>{const Q=`highlightLabels.${C.name}`,j=this.translateService.instant(Q);C.displayName=j===Q?C.name:j}))}}),(0,s.W)(()=>(0,E.of)(!1)),(0,l.ZZ)(()=>this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetAppUGC,{appName:y})),(0,I.T)(g=>{this.cacheService.resetCurrentPopFolder();const d=[],C=this.cacheService.getCurrentPopFolder();let Q=0,j=0,le=0,ge=0;return g.ugc&&g.ugc.forEach((ie,ce)=>{j+=ie.fileSubType===u.Or.Common.Gallery.SubType.InstantReplay?1:0,Q+=ie.fileSubType===u.Or.Common.Gallery.SubType.Manual?1:0,ie.fileType===u.Or.Common.Gallery.FileType.video&&ie.fileSubType!==u.Or.Common.Gallery.SubType.InstantReplay&&ie.fileSubType!==u.Or.Common.Gallery.SubType.Manual&&ie.fileSubType!==u.Or.Common.Gallery.SubType.Highlight&&(Q+=1),le+=ie.fileType===u.Or.Common.Gallery.FileType.image?1:0,ge+=ie.fileSubType===u.Or.Common.Gallery.SubType.Highlight?1:0;const G=ie.path.lastIndexOf(this.dirSeparator),ae={name:ie.path.substr(G+1),type:ie.fileType,subtype:ie.fileSubType,source:ie.fileSource,thumbnail:""};d.push(ae);const Ce={fullFilename:ie.path,file:ae,folder:y,index:ce,duration:ie.duration,date:ie.date,fileSize:ie.fileSizeKB.toString(),audiotype:ie.audiotype,hlName:ie.highlightName,hlId:ie.id,hlGroup:ie.highlightGroupId,cancel:!1,data:null};C.push(Ce),c.some(Se=>{Se.name===ie.highlightName&&Se.count++})}),this.cacheService.files=d,this.cacheService.setCacheLoadedPartial(X),this.logger.info("Files: "+g.ugc.length+" Highlights : "+ge+" Recordings: "+Q+" IR: "+j+" Images: "+le),this.fileCounts={total:g.ugc.length,highlights:ge,videos:Q,instantReplays:j,images:le,highlightBreakDown:c},this.telemetryIgo.setGalleryFolderCounts(le,g.ugc.length-le),this.cacheService.setFileCounts(this.fileCounts,X),!0}))}getAppStats(y){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetAppStats,{appName:y}).pipe((0,I.T)(c=>{this.logger.info("App Stats: "+y+" SS: "+c.screenshots+" V: "+c.videos);const g=this.topLevelCounts.findIndex(d=>d.folder===y);return g>=0?this.topLevelCounts[g].totalCount=c.screenshots+c.videos:this.topLevelCounts.push({folder:y,totalCount:c.screenshots+c.videos}),c}))}getMetaData(y,X=!0){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetFileMetadata,{file:y,width:X?this.thumbWidth:void 0,height:X?this.thumbHeight:void 0})}getImageFileDimensions(y){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetImageFileDimensions,{file:y})}getFileData(y,X,c){const g=this.cacheService.getCurrentPopFolder();return void 0===g||g.length<=X||y!==g[0].folder||""===g[X].file.name?(0,E.of)(void 0):this.getMetaData(g[X].fullFilename,c).pipe((0,r.$)(),(0,I.T)(d=>{const C=this.cacheService.getCurrentPopFolder();if(void 0===C||C.length<=X||y!==C[0].folder)return;const Q=C[X],j=C[X].file,le=void 0===d.audiotype?x.gE.Unknown:d.audiotype;return j.type===x.Wr.Video&&j.subtype===x.so.Normal&&le===u.Or.Common.Gallery.AudioType.Separate&&(j.subtype=x.so.Mta),Q.audiotype=le,Q.duration=void 0===d.duration?"":d.duration,Q.memeTop=d.memeInfo?d.memeInfo.topBarText:"",Q.memeBottom=d.memeInfo?d.memeInfo.bottomBarText:"",Q.data=void 0===d.thumbnail?null:d.thumbnail,Q}),(0,s.W)(d=>(this.logger.error("GetMetaData failed: ",d),(0,E.of)(void 0))))}fillInFileData(y){return this.getFileData(y.folder,y.index,!0)}removeItem(y,X){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.RemoveGalleryItem,{file:y,forceDelete:X||!1}).pipe((0,l.ZZ)(g=>{const d=y.lastIndexOf(this.dirSeparator),C=y.substr(d+1,y.length-1);return this.logger.info("File deleted: ",C),this.cleanupLocalHighlightsListAfterDelete(y),(0,E.of)(!0)}),(0,s.W)(g=>(this.logger.info("File remove failed: ",g),this.notifierService.show(p.Ed.FailedToRemove,"",""),(0,E.of)(!1))))}getThumbnailForFile(y,X=70,c=70){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetThumbnail,{file:y,width:X,height:c}).pipe((0,I.T)(d=>d.thumbnail))}eventCaptureSaved(y){const X=y.captureSaved.ugc.fileSource===u.Or.Common.Gallery.Source.GFE_SDK&&y.captureSaved.ugc.fileSubType===u.Or.Common.Gallery.SubType.Highlight,c=y.captureSaved.ugc.fileType===u.Or.Common.Gallery.FileType.image,g=y.captureSaved.ugc.fileSource===u.Or.Common.Gallery.Source.GFE_Ansel;if(y.captureSaved.unannounced||this.getThumbnailForFile(y.captureSaved.ugc.path).subscribe(j=>{if(X){const le=`highlightLabels.${y.captureSaved.ugc.highlightName}`;this.translateService.get(le).subscribe(ge=>{ge===le&&(ge=y.captureSaved.ugc.highlightName),this.notifierService.show(p.Ed.HighlightsSaved,ge,"","",j)})}else if(g){let le="";switch(y.captureSaved.ugc.fileSubType){case u.Or.Common.Gallery.SubType.Normal_Ansel:le="nvcamera.screenshot";break;case u.Or.Common.Gallery.SubType.SuperResolution:case u.Or.Common.Gallery.SubType.SuperResolution_Oversized:le="nvcamera.highResolutionPhoto";break;case u.Or.Common.Gallery.SubType.SubType_360Mono:le="nvcamera.360PhotoSphere";break;case u.Or.Common.Gallery.SubType.Stereo:le="nvcamera.screenshot3D";break;case u.Or.Common.Gallery.SubType.SubType_360Stereo:le="nvcamera.360PhotoSphere3D"}this.notifierService.show(p.Ed.HighlightsSaved,le,"","",j)}else c?this.notifierService.show(p.Ed.ScreenshotSaved,"","","",j):"Manual"===y.captureSaved.ugc.fileSubType?this.notifierService.show(p.Ed.RecordStopped,"","","",j):"InstantReplay"===y.captureSaved.ugc.fileSubType&&this.notifierService.show(p.Ed.InstantReplaySaved,"","","",j)}),this.highlightSummaryIsOpen?void 0===this.highlightsSummaryData.highlights.find(j=>j.path===y.captureSaved.ugc.path)&&this.highlightsSummaryData.highlights.push({id:y.captureSaved.ugc.id,path:y.captureSaved.ugc.path,fileType:y.captureSaved.ugc.fileType,highlightdefinitionId:y.captureSaved.ugc.highlightDefinitionId,highlightName:y.captureSaved.ugc.highlightName,highlightGroupId:y.captureSaved.ugc.highlightGroupId,highlightTags:y.captureSaved.ugc.highlightTags,highlightSignificance:y.captureSaved.ugc.highlightSignificance}):this.cacheService.updateDirectoryList(y.captureSaved.ugc.path),X){var d,C,Q;const j={id:y.captureSaved.ugc.id,groupId:y.captureSaved.ugc.highlightGroupId,filename:y.captureSaved.ugc.path,name:y.captureSaved.ugc.highlightName,cancel:!1};if(this.delayedCallback$.observers.length){const le=y.captureSaved.ugc.DRSProfileName,ge=0===this.directories.length,ie=!ge&&void 0===this.directories.find(ue=>ue===le),ce=!ge&&!ie&&this.workingFolder!==le,G=ge||ie||ce;if(this.logger.info("Special cases: "+ge+" "+ie+" "+ce),G){const ue=this.workingFolder;this.showFolderContents(y.captureSaved.ugc.DRSProfileName).subscribe(()=>{this.saveDelayedHighlight(j),this.workingFolder=ue})}else this.saveDelayedHighlight(j)}this.telemetry.sendHighlightCapture({shortName:this.sdkService.sdkInstance.appShortName},this.sdkService.sdkInstance.sdkVersion,this.durationToSeconds(y.captureSaved.ugc.duration),y.captureSaved.ugc.highlightDefinitionId,"image"===y.captureSaved.ugc.fileType?i.cM.image:i.cM.video,i.tT.Success,{cmsId:null==y||null===(d=y.captureSaved)||void 0===d||null===(d=d.ugc)||void 0===d?void 0:d.cmsId.toString(),drsName:null==y||null===(C=y.captureSaved)||void 0===C||null===(C=C.ugc)||void 0===C?void 0:C.DRSName,drsProfileName:null==y||null===(Q=y.captureSaved)||void 0===Q||null===(Q=Q.ugc)||void 0===Q?void 0:Q.DRSProfileName})}return this.captureSaved$.observers.length&&this.captureSaved$.next(y.captureSaved.ugc.path),!X&&this.refreshEvent$.observers.length&&this.refreshEvent$.next({folder:y.captureSaved.ugc.DRSProfileName}),this.getFolders().pipe((0,S.M)(j=>this.updateRecentList()),(0,I.T)(j=>!0))}durationToSeconds(y){const X=y.lastIndexOf(":"),c=y.slice(X+1),g=y.slice(0,X),d=g.lastIndexOf(":"),C=g.slice(d+1),Q=y.slice(0,d);return Number(c)+60*Number(C)+3600*Number(Q)}updateRecentList(){this.recentEvent$.observers.length&&this.recentEvent$.next()}updateAfterFileCreation(y){this.refreshEvent$.observers.length&&this.refreshEvent$.next({folder:y}),this.updateRecentList(),this.logger.info("Update Recent and Gallery complete")}getMissingItem(y){const X=y.filename;let c=X.lastIndexOf(this.dirSeparator);const g=X.slice(c+1),d=X.slice(0,c);c=d.lastIndexOf(this.dirSeparator);const C=d.slice(c+1);if(this.workingFolder!==C)return(0,E.of)(void 0);const Q=this.cacheService.getCurrentPopFolder(),j=Q.findIndex(le=>y.id===le.hlId);return-1===j?(this.refreshEvent$.observers.length&&this.refreshEvent$.next({folder:C}),(0,E.of)(void 0)):(Q[j].fullFilename=X,Q[j].file.name=g,this.getFileData(C,j,!0))}getCurrentDropdownCount(y){return this.getAppStats(y).pipe((0,I.T)(X=>{const c=this.topLevelCounts.findIndex(g=>g.folder===y);return-1!==c?(this.topLevelCounts[c].totalCount=X.screenshots+X.videos,this.topLevelCounts[c].totalCount):0}))}saveDelayedHighlight(y){if(y.cancel)return this.logger.info("Canceling Highlight"),void this.canceledCallback$.next({hlEvent:x.pW.HIGHLIGHT_COMPLETED,args:y});const X=this.getMissingItem(y).subscribe(c=>{c&&(this.delayedCallback$.next({hlEvent:x.pW.HIGHLIGHT_COMPLETED,args:c}),X.unsubscribe())})}updateFolderSync(y,X){return new B.c(c=>{this.updateFolder(y,X).subscribe(()=>{c.next(),c.complete(),this.logger.info("Complete")})})}updateFolder(y,X){let c={};if(X===x.QA.Highlights)c={userGalleryPath:y};else if(X===x.QA.Temporary){const d=y.lastIndexOf(this.dirSeparator),C=y.length-1;d===C&&(y=y.slice(0,C)),c={tempFolderPath:y}}return this.bridgeService.executeCommand(u.Ts.Common.Gallery.SetSettings,{settings:c}).pipe((0,I.T)(()=>!0),(0,L.u)(!0))}galleryEvent(y){if(y){if(y.captureSaved)return this.logger.info("Gallery event: CaptureSaved"),this.eventCaptureSaved(y);if(y.openSummary)this.logger.info("Gallery event: OpenSummary"),this.eventOpenSummary(y);else if(y.highlightCanceled)this.logger.info("Gallery event: HighlightCanceled"),this.eventHighlightCanceled(y);else if(y.ugcDeleted)this.logger.info("Gallery event: UgcDeleted"),this.eventUGCDeleted(y);else if(y.checkDiskSpace)this.logger.info("Gallery event: CheckDiskSpace"),this.lowDiskSpace(y);else if(void 0!==y.galleryIsFull)this.logger.info("Gallery event: GalleryIsFull"),!0===y.galleryIsFull&&this.notifierService.show(p.Ed.GalleryIsFull);else if(y.highlightCaptureFailed)this.logger.info("Gallery event: HighlightCaptureFailed"),this.checkCaptureFailure(y);else if(y.galleryPathUpdateStatus){switch(y.galleryPathUpdateStatus.status){case u.Or.Common.Gallery.GalleryPathUpdateStatus.TrackerUpdateInProgress:this.updatingTracker=!0;break;case u.Or.Common.Gallery.GalleryPathUpdateStatus.TrackerUpdateComplete:case u.Or.Common.Gallery.GalleryPathUpdateStatus.CancelUpdateComplete:this.updatingTracker=!1}this.trackerCallback$.next({trackerEvent:y.galleryPathUpdateStatus.status})}else this.logger.info("Unknown or unhandled Event Type: ",y)}else this.logger.info("Event: undefined or null");return(0,E.of)(!1)}galleryTrackerChangePath(){return new B.c(y=>{this.pathChanged().subscribe(()=>{y.next(),y.complete(),this.logger.info("ChangePath Complete")})})}getRecentData(y,X){this.setGalleryThumbSize(y);const c=[];return c.length=0,this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetRecentUGC,{count:X}).pipe((0,l.ZZ)(C=>{if(!C||!C.recents||!C.recents.length)return this.logger.info("No recent items to view!"),(0,O.yU)((0,E.of)(!1));const Q=Math.min(X,C.recents.length);for(let le=0;le{j.push(this.getRecentMetaData(le,y||void 0))}),(0,O.yU)(...j)}),(0,I.T)(()=>(this.logger.info("Recent MetaData complete!"),c)))}setHighlightsSummaryOpen(y){this.highlightSummaryIsOpen=y}getRecentMetaData(y,X){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetFileMetadata,{file:y.fullFilename,width:X,height:X}).pipe((0,I.T)(g=>void 0===g.fileType?(this.logger.info("metadata not available for file ",y.fullFilename),!1):("video"===g.fileType&&void 0!==y.duration&&(y.duration=g.duration),y.date=g.date,y.fileSize=g.fileSizeKB+"",y.audiotype=g.audiotype,y.data=g.thumbnail,!0)))}filterSummaryData(y){return y.filter(c=>c.path.includes(this.hlTempPath))}filterGalleryData(y){return y.filter(c=>c.path.includes(this.galleryPath))}filterRecentViewData(y){return y.filter(c=>c.fullFilename.includes(this.galleryPath))}eventOpenSummary(y){const X=this.sdkService.sdkInstance.profileName;if(!X||0===X.length)return void this.logger.error("Missing game name");this.highlightSummaryIsOpen=!0;const c=this.filterSummaryData(y.openSummary.ugc);this.highlightsSummaryData={sdkVersion:this.sdkService.sdkInstance.sdkVersion,profileName:X,appShortName:this.sdkService.sdkInstance.appShortName,name:this.sdkService.sdkInstance.name,highlights:this.isNvApp?c:y.openSummary.ugc};const g={callbackData:JSON.stringify({openedFromSDK:!0})};this.telemetryIgo.beginStartupTimer(i.gh.highlightsButton),(this.isNvApp&&c.length||!this.isNvApp)&&this.oscDisplayService.openOSC("sidebar/gallery",g)}eventHighlightCanceled(y){this.canceledCallback$.observers.length&&this.saveDelayedHighlight({id:y.highlightCanceled.highlight.id,groupId:y.highlightCanceled.highlight.groupId,filename:"",name:"",cancel:!0}),this.telemetryIgo.sendHighlightCancelled({shortName:this.sdkService.sdkInstance.appShortName},this.sdkService.sdkInstance.name,this.sdkService.sdkInstance.sdkVersion)}eventUGCDeleted(y){const X=y.ugcDeleted.ugc,c=X.path;let g=c.lastIndexOf(this.dirSeparator);const d=c.slice(0,g);g=d.lastIndexOf(this.dirSeparator);const C=d.slice(g+1);this.getFolders().subscribe(()=>this.updateRecentList()),this.workingFolder===C&&(-1===this.cacheService.getCurrentPopFolder().findIndex(le=>X.id===le.hlId)||this.refreshEvent$.observers.length&&this.refreshEvent$.next({folder:C,filename:c}))}lowDiskSpace(y){this.lowDiskSpaceEvent$.next(y.checkDiskSpace.lowDiskSpace)}checkCaptureFailure(y){this.logger.info("checkCaptureFailure: ",y),(y.highlightCaptureFailed.errorCode===u.Or.Share.Shareserver.InternalErrorCodeEnum.ShadowPlay_E_FAIL_NO_DISC_SPACE||y.highlightCaptureFailed.errorCode===u.Or.Share.Shareserver.InternalErrorCodeEnum.ShadowPlay_E_BOUNDS||y.highlightCaptureFailed.errorCode===u.Or.Share.Shareserver.InternalErrorCodeEnum.ShadowPlay_E_FAIL_NO_GALLERY_SPACE)&&(this.notifierService.show(p.Ed.NoSpaceCaptureNotSaved,"commonLabels.Highlights"),this.isNvApp&&this.telemetry.sendHighlightCapture({shortName:this.sdkService.sdkInstance.appShortName},this.sdkService.sdkInstance.sdkVersion,null,null,null,y.highlightCaptureFailed.errorCode.toString()))}onGameExit(){this.lastExitedGameDetails=this.gameDetails,this.gameDetails={cmsId:"",drsName:"",drsProfileName:"",shortName:""},this.isAppStartedReceived=!1,this.isNvApp&&this.featureSupportService.isSummaryDialogEnabled()&&this.launchHighlightsSummaryDialog()}checkDiskSpace(){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.CheckDiskSpace,{}).pipe((0,I.T)(X=>(this.lowDiskSpace({checkDiskSpace:{lowDiskSpace:X.lowDiskSpace}}),X.lowDiskSpace)))}cleanupLocalHighlightsListAfterDelete(y){if(this.highlightsSummaryData&&this.highlightsSummaryData.highlights.length>0){const X=this.highlightsSummaryData.highlights.find(c=>c.path===y);if(X){this.logger.info("Highlight to delete: ",X);const c=this.highlightsSummaryData.highlights.indexOf(X);c>-1&&this.highlightsSummaryData.highlights.splice(c,1)}}}getHighlightsToUse(y){return y?(this.highlightSummaryIsOpen=!0,this.highlightsSummaryData):{sdkVersion:"",profileName:"",appShortName:"",name:"",highlights:void 0}}generateGalleryFilename(y,X,c=new Date){return`${this.videoPath}${this.dirSeparator}${y}${this.dirSeparator}${y} ${this.datePipe.transform(c,"yyyy.MM.dd - HH.mm.ss.SS")}.${X}`}previewPaneSendEvent(y){this.previewPaneEvent$.next(y)}setPreviewCaller(y){this.previewCaller=y}getPreviewCaller(){return this.previewCaller}showDeleteSnackbar(y){let X=!0;const c=y.length,g=1===c?"confirmation.deletedTitle":"confirmation.deletedTitleMulti";return y.length<=0?(0,E.of)(!1):new B.c(Q=>{(0,P.zV)([this.translateService.get(g,{arg:c}),this.translateService.get("confirmation.undo")]).pipe((0,l.ZZ)(([j,le])=>{const ge=this.dialogHelper.openSnackBar(j,le);return ge.onAction().subscribe(()=>{X=!1}),ge.afterDismissed()}),(0,l.ZZ)(()=>(0,k.H)(y)),(0,l.ZZ)(j=>X?(this.telemetryIgo.sendGalleryFileRemoved(j),this.removeItem(j.fullFilename)):(0,E.of)(!1)),(0,M.H)()).subscribe(j=>{Q.next(j),Q.complete()})})}getCurrentGameDetails(){return this.gameDetails}getLastExitedGameDetails(){return this.lastExitedGameDetails}sendDiskSpaceChangedTelemetry(y){this.featureSupportService.isGFEMode()&&this.telemetry.sendIGOSettings(this.gameDetails,i.ld,y?"true":"false")}sendDiskSpaceSliderChangedTelemetry(y){this.featureSupportService.isGFEMode()&&this.telemetry.sendIGOSettings(this.gameDetails,i.q6,y.toString())}getGalleryPath(){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetSettings).pipe((0,l.ZZ)(y=>(this.hlTempPath=y.settings.tempFolderPath,this.galleryPath=y.settings.userGalleryPath,(0,E.of)(!0))))}moveFiles(y,X){const c={source:"",destination:""};return c.source=y,c.destination=X,this.bridgeService.executeCommand(u.Ts.Common.Gallery.MoveFile,c)}getFolderListing(y){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetFolderListing,{directory:y})}sendHighlightsSavedNotification(y){this.notifierService.show(p.Ed.HighlightsSavedToGallery,y.toString())}launchHighlightsSummaryDialog(){return this.bridgeService.executeCommand(u.Ts.Common.Gallery.GetAppUGC,{appName:this.lastExitedGameDetails.drsProfileName}).pipe((0,l.ZZ)(X=>{this.filteredSummaryData=this.filterSummaryData(X.ugc),this.logger.info("filteredSummaryData : ",this.filteredSummaryData),this.highlightsSummaryData={sdkVersion:this.sdkService.sdkInstance.sdkVersion,profileName:this.gameDetails.drsProfileName,appShortName:this.sdkService.sdkInstance.appShortName,name:this.sdkService.sdkInstance.name,highlights:this.isNvApp?this.filteredSummaryData:X.ugc};const c={callbackData:JSON.stringify({openedFromSDK:!0})};return this.filteredSummaryData.length&&(this.highlightSummaryIsOpen=!0,this.oscDisplayService.openOSC("sidebar/gallery",c)),(0,E.of)(!0)})).subscribe()}getHighlightsTempPath(){return this.hlTempPath+this.highlightsPath+this.folderPathSeparator+this.lastExitedGameDetails.drsProfileName}isGalleryMenuExitAllowed(){return!this.isNvApp||!this.highlightSummaryIsOpen||!!this.isAppStartedReceived}}return(q=T).\u0275fac=function(y){return new(y||q)(o.KVO(_.J6),o.KVO(_.NZ),o.KVO(f.a),o.KVO(J._),o.KVO(a.P),o.KVO(p.mb),o.KVO(D.B),o.KVO(te.x),o.KVO(N.S),o.KVO(z.c$),o.KVO(R.e),o.KVO(v.vh),o.KVO(h.x_),o.KVO(W.R),o.KVO(ne.W1),o.KVO(ee.o))},q.\u0275prov=o.jDH({token:q,factory:q.\u0275fac,providedIn:"root"}),T})()},59002:(xe,de,t)=>{"use strict";t.d(de,{$0:()=>q,Fm:()=>Y,x_:()=>T});var e=t(8619),n=t(83915),E=t(65706),O=t(73180),B=t(25590),P=t(75707),k=t(91384),U=t(14714),r=t(4208),A=t(47766),l=t(33367),I=t(50801),S=t(33204),L=t(36203),s=t(74639),M=t(37543),u=t(26513),x=t(85735),p=t(80583),i=t(43848),o=t(31315),_=t(3496),f=t(16229),J=t(1794),D=t(54292),te=t(73934),N=t(26814),z=t(23860),R=t(46776),v=t(23355),h=t(58527),W=t(12137),ne=t(2688),ee=t(11728),b=t(72428),w=t(44202),F=t(65240),Z=t(24964),se=function(H){return H[H.MIN_COMPACT_ICON_DURATION=1e3]="MIN_COMPACT_ICON_DURATION",H[H.MIN_EXPANDED_NETWORK_MESSAGE_DURATION=6e3]="MIN_EXPANDED_NETWORK_MESSAGE_DURATION",H}(se||{}),Y=function(H){return H[H.RECORD_SPECIAL_CASE_NONE=0]="RECORD_SPECIAL_CASE_NONE",H[H.RECORD_SPECIAL_CASE_4K=1]="RECORD_SPECIAL_CASE_4K",H[H.RECORD_SPECIAL_CASE_PLAYTEST=2]="RECORD_SPECIAL_CASE_PLAYTEST",H[H.RECORD_SPECIAL_CASE_10bit=3]="RECORD_SPECIAL_CASE_10bit",H}(Y||{}),q=function(H){return H[H.NORMAL=0]="NORMAL",H[H.WARNING=1]="WARNING",H[H.ALERT=2]="ALERT",H}(q||{});let T=(()=>{var H;class y{constructor(c,g,d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we){this.injector=c,this.igoConfig=g,this.featureSupportService=d,this.browserSupportService=C,this.oscDisplayService=Q,this.projectInterfaceService=j,this.loggingService=le,this.bridgeService=ge,this.hotkeyService=ie,this.hotkeyShareService=ce,this.microphoneService=G,this.notifierService=ue,this.clientInputService=ae,this.dbService=Ce,this.systemInfoService=Se,this.translateService=Ne,this.dialog=we,this.streamingEndTime=-1,this.appTitle="",this.appInstanceId="",this.currentGameProfileName="",this.gfnEnabled=!1,this.imeEnabled=!1,this.throttleMs=333,this.isGfnMicEnabled=!1,this.hdrStreamingStatus=R.ud.Inactive,this.$disableRecordSpecialCase=new u.t(Y.RECORD_SPECIAL_CASE_NONE),this.$disableRecordSpecialCaseInternal=new x.m(1),this.$gpuFriendlyName=new u.t(""),this.$streamingTerminated=new p.B7,this.$networkState=new u.t(q.NORMAL),this.subscriptions=[],this.networkStatusInit=!1,this.globalStore=null,this.igoNotifications="IgoNotifications",this.netWorkNotificationEnabled=!1,this.getGameHdrSupportInfo=new p.B7,this.micIconStatus=new u.t(!1),this.drcToggleStatus$=new x.m(1),this.l4sStatusNotificationGeronimo$=new x.m(1),this.l4sStatusString$=new x.m(1),this.streamerExitNotification$=new p.B7,this.logger=this.loggingService.getLogger("GfnInfoService"),this.globalStore=this.dbService.getGlobalStore(this.igoNotifications)}init(){this.logger.info("GfnInfo service init"),!0===this.igoConfig.GFNCefClient&&this.igoConfig.IGOFeatureEnabled&&(this.streamerConfigService=this.injector.get(M.zi2),this.streamerHelperService=this.injector.get(M.HFx),this.streamingProfileService||(this.streamingProfileService=this.injector.get(M.xfC)),this.playtestLiveService=this.injector.get(M.CC_),this.cloudVariableHelperService=this.injector.get(M.r1C),this.ecommerceService||(this.ecommerceService=this.injector.get(M.yJU)),this.streamingService||(this.streamingService=this.injector.get(L.I),this.logger.info("StreamingService not injected init")),this.streamingService.streamingEvent$.pipe((0,e.p)(c=>c.event===v.CW.SESSION_SETUP_SUCCESS)).subscribe(c=>{this.onSessionSetupSuccess(c),this.onGetGpuName(c),this.onGetGameName()}),this.streamingService.streamingEvent$.pipe((0,e.p)(c=>c.event===v.CW.STREAMING_CLIENT_MESSAGE)).subscribe(c=>{this.processStreamingClientMessage(c)}),this.streamingService.streamingEvent$.pipe((0,e.p)(c=>c.event===v.CW.STREAMING_BEGIN)).subscribe(()=>{this.appTitle=this.streamingService.streamingParams.appName,this.streamingEndTime=-1,this.getHDRGameSupportInfo()}),this.streamingService.streamingEvent$.pipe((0,e.p)(c=>c.event===v.CW.STREAMING_BEGIN||c.event===v.CW.STOP_RESULT||c.event===v.CW.STREAMING_TERMINATED||c.event===v.CW.STREAMING_STOPPED),(0,n.T)(c=>(this.logger.info("Microphone Icon Status update ",c.event),c.event===v.CW.STREAMING_BEGIN?this.micIconStatus.next(!0):(c.event===v.CW.STOP_RESULT||c.event===v.CW.STREAMING_TERMINATED||c.event===v.CW.STREAMING_STOPPED)&&this.micIconStatus.next(!1),!0))).subscribe(),this.feedbackService=this.injector.get(S.n1),this.surveyService=this.injector.get(M.Icg),this.nesUserInfoService=this.injector.get(M.lWV),this.gfcHelperService=this.injector.get(M.q8U),this.lcarsService=this.injector.get(M.Br4),this.appConfig||(this.appConfig=this.injector.get(M.Vk6)),A.zk.isBrowserPlatform()&&this.gfcHelperService.getAppInstanceId().subscribe(c=>{this.appInstanceId=c}),this.featureSupportService.isGfnMicrophoneEnabled().pipe((0,E.s)(1)).subscribe(c=>{this.isGfnMicEnabled=c,c?(this.hotkeyService.startListeningToHotkey(te.g8.MicToggle).pipe((0,E.s)(1)).subscribe(),this.hotkeyService.listen(te.g8.MicToggle).pipe((0,O.c)(this.throttleMs),(0,B.E)(this.microphoneService.currentMicState$)).subscribe(([g,d])=>{d!==I.EO.PermissionPending&&d!==I.EO.PermissionDenied&&this.microphoneService.toggleMicrophone()}),this.streamingService.streamingEvent$.pipe((0,e.p)(g=>g.event===v.CW.STREAMING_BEGIN)).subscribe(()=>{this.microphoneService.start(this.streamingService.streamingProperties.sessionId,this.streamingService.streamingProperties.subSessionId)})):!c&&!this.featureSupportService.isShadowPlayEnabled()&&this.hotkeyService.stopListeningToHotkey(te.g8.MicToggle)}),this.streamingService.streamingEvent$.pipe((0,e.p)(c=>c.event===v.CW.STREAMING_TERMINATED||c.event===v.CW.STOP_RESULT||c.event===v.CW.STREAMING_STOPPED)).subscribe(()=>{this.isGfnMicEnabled&&this.microphoneService.stop(),this.$gpuFriendlyName.next(""),this.$streamingTerminated.next(!0),this.$networkState.next(q.NORMAL),this.networkNotificationSubscription&&(this.networkNotificationSubscription.unsubscribe(),this.networkNotificationSubscription=void 0)}),this.idmService=this.injector.get(M.k_2),this.idmService.accountStatusChanged.subscribe(c=>{this.feedbackService.onAccountStatusChanged({userId:c.userId,externalUserId:c.externalId,idpId:c.idpId,isAuthenticated:c.isAuthenticated})}),this.gfnEnabled=!0,this.projectInterfaceService.triggerQuitStreaming.subscribe(c=>{c&&this.quitStreaming()}),this.clientInputService.isImeEnabled$.subscribe(c=>{this.logger.info("Checking ClientIME enablement value ",c),this.imeEnabled=c,this.imeEnabled?(this.hotkeyShareService.removeFromIgnoredHotkeysSet(te.g8.NativeKeyboardInputDialog),this.hotkeyService.startListeningToHotkey(te.g8.NativeKeyboardInputDialog).subscribe()):this.hotkeyService.stopListeningToHotkey(te.g8.NativeKeyboardInputDialog)},c=>{this.logger.info("Error getting ClientIME enablement value, defaulting to false",c),this.hotkeyService.stopListeningToHotkey(te.g8.NativeKeyboardInputDialog),this.imeEnabled=!1}),this.releaseHighlights=this.injector.get(M.wIR),this.networkConfigurationService=this.injector.get(M.uUB),this.networkBarsUiService=this.injector.get(s.E3),this.settingsService=this.injector.get(M.h$Q),this.networkConfigurationService.getNetworkOverride().subscribe(c=>{null!=c&&(this.currentServer1={server:c.name})}),this.networkConfigurationService.getCurrentCachedZone().subscribe(c=>{null!=c&&(this.currentServer2={server:c.name})}),A.zk.isBrowserPlatform()?(this.logger.info("Setting HDR status to unknown for non native client"),this.hdrStreamingStatus=R.ud.Unknown):this.registerHDRStreamingStatusNotification(),this.streamingService.streamingEvent$.pipe((0,e.p)(c=>{var g;return(null===(g=c.event===v.CW.STREAMING_PROPERTY_UPDATE&&c)||void 0===g?void 0:g.updateType)===v.XK.BIT_DEPTH})).subscribe(c=>{this.colorBitDepth=null==c?void 0:c.bitDepth,this.logger.info("Received color bit depth ",this.colorBitDepth)}),this.projectInterfaceService.exitStreamerFlowNotify.subscribe(c=>{this.logger.info("Streamer exit notification received"),this.colorBitDepth=void 0,this.currentProfile=null,this.streamerExitNotification$.next(!0),this.l4sStatusNotificationGeronimo$.next(l.Or.Gfn.Streaming.L4SState.UNKNOWN)}),this.checkL4sStateGeronimo()),"GFN"===this.igoConfig.branding&&(this.experienceControlService=this.injector.get(N.BW),this.experienceControlService.batchCvsFetchedStatus$.pipe((0,E.s)(1),(0,P.ZZ)(c=>c?this.isIgssEnabledInConfig():(0,i.of)(!0))).subscribe(),this.checkIfOscEnabled())}getL4sStatusString(){return this.l4sStatusString$.asObservable()}get drcToggleStatus(){return this.drcToggleStatus$.asObservable()}set drcToggleStatus(c){this.drcToggleStatus$.next(c)}checkIfOscEnabled(){this.streamerHelperService.isOscEnabled()?(this.logger.info("Open IGO hotkey blocked for OSC enabled clients on GDN"),this.hotkeyService.updateBlockedHotkeysList(te.g8.OpenIGO,!0)):this.logger.info("OSC is disabled, so Open IGO hotkey will not be blocked")}getstreamerConfig(){return this.streamerConfigService.activeConfig}updateSessionLengthTime(c){var g;const d=null==c||null===(g=c.message)||void 0===g?void 0:g.timerData;d&&d.beforeEventMS?this.streamingEndTime=Date.now()+d.beforeEventMS:this.logger.error("Missing timerData params:",JSON.stringify(d))}processStreamingClientMessage(c){var g;(null==c||null===(g=c.message)||void 0===g?void 0:g.messageType)===M.HD9.sessionLengthTimer&&this.updateSessionLengthTime(c)}getStreamingEndTime(){return this.streamingEndTime}getStreamingTitle(){return this.appTitle}quitGfnStreaming(){this.gfnEnabled&&(this.oscDisplayService.closeOSC(D.oy.QuitGath),this.quitStreaming())}quitStreaming(){this.projectInterfaceService.exitStreamerCallBack().pipe((0,E.s)(1)).subscribe(()=>this.oscDisplayService.gfnQuitting())}exitFullScreen(){this.browserSupportService.exitFullscreen()}sendFeeback(c){if(this.feedbackService.setUpToastContainer(c),!this.gfnEnabled)return;const g=()=>this.streamerConfigService.config$.pipe((0,P.ZZ)(Q=>this.surveyService.getAvailableSurvey([J.TriggerType.Feedback],`${Q.cmsId}`,this.streamingService.streamingProperties.sessionId))),d=()=>this.surveyService.isSurveyFeatureAvailable([J.TriggerType.Feedback]),C=()=>this.surveyService.surveyEventListenerCloseDialog(J.TriggerType.Feedback);this.nesUserInfoService.fetchUserInfoWithStreamingUrl().pipe((0,P.ZZ)(Q=>this.feedbackService.initializeFeedback(Q.serviceEndpoint.loginProvider,g,d,this.appInstanceId)),(0,e.p)(Q=>Q),(0,E.s)(1)).subscribe(()=>{this.feedbackService.onOpenFeedbackDialog(C)})}getAppMetadataUsingCmsId(c){return this.lcarsService.getMetadataByCmsId(c)}getAppMetaDataUsingParentId(c){return this.lcarsService.getAppdata(c).pipe((0,n.T)(g=>g[0]))}getRecordSpecialCase(){return this.$disableRecordSpecialCase.asObservable()}checkRecordingCapability(c){this.logger.info("checkRecordingCapability ",c),this.getCodec().pipe((0,E.s)(1),(0,P.ZZ)(g=>this.featureSupportService.isShadowPlayEnabled()&&g.codec!==l.Or.Gfn.Streaming.Codec.H264&&g.codec!==l.Or.Gfn.Streaming.Codec.None?(this.logger.info("Checking Record capability ",g,c),this.bridgeService.executeCommand(l.Ts.Gfn.Streaming.RecordingTranscodeSupport,{})):(this.logger.info("Record capability check skipped ",g,c),(0,i.of)(!0)))).subscribe(g=>{this.logger.info("Received Transcode support boolean",g),g||(this.logger.info("Disabling recording due to missing transcode support"),this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_10bit))})}onSessionSetupSuccess(c){if(this.logger.info("OnSessionSetupSuccess EventInfo: ",c),this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_NONE),this.hasWarningBeenShown=this.hasAlertBeenShown=this.ignoreQScore=!1,this.getNetworkNotificationStateFromMall(),this.networkStatusInit||(this.networkStatusInit=!0,this.networkStatus()),!this.featureSupportService.isControlUGCEnabled()||!this.igoConfig.ControlUGCEnabled)return void this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_NONE);const g=c.streamSettings[0].videoSettings.resolution.width,d=c.streamSettings[0].videoSettings.resolution.height,C=c.streamSettings[0].videoSettings.frameRate,Q=4953600,j=g*d;this.logger.info("videoSettings.resolution.width : ",g),this.logger.info("videoSettings.resolution.height: ",d),this.playtestLiveService.disableClientRecord()?(this.logger.info("SpecialCase: PLAYTEST"),this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_PLAYTEST)):j>=Q&&C>=120||C>=240?(this.logger.info("Streaming at 4K like resolution with fps >= 120"),this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_4K)):j>=Q?(this.logger.info("Streaming at 4K, check if transcode to 1440p is supported for record"),this.bridgeService.executeCommand(l.Ts.Share.Shareserver.GetIf4KRecordingFallbackAvailable).subscribe(le=>{this.logger.info("GetIf4KRecordingFallbackAvailable result:",le),le?(this.logger.info("SpecialCase: NONE"),this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_NONE)):(this.logger.info("SpecialCase: 4K"),this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_4K))},le=>{this.logger.error("GetIf4KRecordingFallbackAvailable error:",le),this.logger.info("SpecialCase: 4K error"),this.$disableRecordSpecialCase.next(Y.RECORD_SPECIAL_CASE_4K)})):(this.logger.info("SpecialCase: NONE"),this.checkRecordingCapability(Y.RECORD_SPECIAL_CASE_NONE)),this.checkL4sState()}getGpuName(){return this.$gpuFriendlyName.asObservable()}getCodec(){return this.streamingService||(this.streamingService=this.injector.get(L.I),this.logger.info("StreamingService not injected getCodec")),this.streamingService.getStreamingCodec()}onGetGpuName(c){this.$gpuFriendlyName.next(c.gpuType)}streamingTerminated(){return this.$streamingTerminated.asObservable()}onGetGameName(){const c=this.bridgeService.executeCommand(l.Ts.Share.Shareserver.RegisterAppNotifications).pipe((0,e.p)(g=>!(null==g||!g.appStarted))).subscribe(g=>{this.currentGameProfileName=g.appStarted.profileName,c.unsubscribe()})}showReleaseHighlight(c){this.releaseHighlights.onShowReleaseHighlight(!1,c,"0")}getCurrentServer(){const c=null==this.currentServer1;return c&&null==this.currentServer2?{server:"Auto"}:c?this.currentServer2:this.currentServer1}checkL4SUserEntitlement(){return this.streamingProfileService||(this.streamingProfileService=this.injector.get(M.xfC)),this.ecommerceService||(this.ecommerceService=this.injector.get(M.yJU)),this.ecommerceService.isFeatureAvailableToUser(M.N1D.ENABLED_L4S,M.q3U.SUPPORT_L4S)?(this.logger.info("User entitled for L4S"),!0):(this.logger.info("User not entitled for L4S"),!1)}networkStatus(){const c=(0,o.zV)([this.networkBarsUiService.qualityInfo$,this.systemInfoService.getSystemInfo([A.Lu.DeviceType]).pipe((0,E.s)(1))]).pipe((0,e.p)(()=>!this.ignoreQScore),(0,k.M)(()=>{this.ignoreQScore=!0})).subscribe(([g,d])=>{let C=!1;if(this.netWorkNotificationEnabled)if(this.isQosUnderThreshold(g.streamQuality))if(g.streamQuality>this.appConfig.networkIndicators.alertThreshold){const Q=!(this.hasWarningBeenShown||this.hasAlertBeenShown),j="notification.network.spottyConnection";this.hasWarningBeenShown=!0,Q?(C=!1,this.notifierService.show(z.Ed.NetworkSpottyConnection,j)):(C=!0,this.$networkState.next(q.WARNING))}else{if(this.hasAlertBeenShown)C=!0,this.$networkState.next(q.ALERT);else{C=!1;const j=d.DeviceType===A.Y0.Phone?z.wz.Message1:this.featureSupportService.isGuestAppFlowWrapper()?z.wz.Message2:z.wz.None;this.notifierService.show(z.Ed.NetworkBadConnection,"","","","",{useAlternativeMessage:j})}this.hasAlertBeenShown=!0}else this.$networkState.next(q.NORMAL);else C=!1;this.delayTimer(C)});this.subscriptions.push(c)}getHDRSupportInfo(){return this.getGameHdrSupportInfo.asObservable()}getTimerSubString(){return this.ecommerceService.getUserMembership().pipe((0,U.W)(c=>(this.logger.error("User Membership fetch failed ",c),(0,i.of)(null))),(0,n.T)(c=>{var g,d,C,Q;const j=null==c||null===(g=c.product)||void 0===g?void 0:g.shortDescription,le=(null==c||null===(d=c.subscription)||void 0===d?void 0:d.subType)===M.hz6.TIME_CAPPED;return le?(null==c||null===(C=c.subscription)||void 0===C||null===(C=C.currentSubscriptionState)||void 0===C?void 0:C.state)===M.zZZ.LIMITED&&(null==c||null===(Q=c.subscription)||void 0===Q||null===(Q=Q.currentSubscriptionState)||void 0===Q?void 0:Q.isGamePlayAllowed)?(this.logger.info("User in limited playable state"),j?this.translateService.instant("mainMenu.GfnLimitedStateWarningShortDescr",{arg:j}):this.translateService.instant("mainMenu.GfnLimitedStateWarning")):(this.logger.info("User not in limited playable state"),null!=j?j:null):(this.logger.info("Not a time Capped SKU ",le),null!=j?j:null)}))}getHDRGameSupportInfo(){const c=this.getstreamerConfig().cmsId;let g;g=c?this.getAppMetadataUsingCmsId(c):this.getAppMetaDataUsingParentId(this.streamerConfigService.activeConfig.parentGameId),g.pipe((0,n.T)(d=>{const C=this.streamingProfileService.getSupportedHDRMode(d.variants);this.getGameHdrSupportInfo.next(void 0!==C&&C!==l.Or.Gfn.Streaming.HdrStreamingMode.OFF)})).subscribe()}isUserHDREntitled(){return this.streamingProfileService.isHDRFeatureAvailableToUser()}getResolutionLabel(c,g){return this.streamingProfileService.getResolutionLabel(c,g)}getHDRStreamingStatus(){return this.hdrStreamingStatus}isPlatformSupportsHDRDecode(){return this.streamingProfileService.IsPlatformSupportsHDRDecode}getFormattedAspectRatio(c,g){return this.streamingProfileService.calculateAspectRatio(c,g)}getNetworkNotificationStateFromMall(){var c;this.networkNotificationSubscription=null===(c=this.settingsService)||void 0===c?void 0:c.networkWarningsEnabled$.subscribe(g=>{this.netWorkNotificationEnabled=g,this.globalStore.setItem("noteConnectionStatus",g).pipe((0,E.s)(1)).subscribe(()=>{this.logger.info("Network Notification enabled: ",g)},d=>{this.logger.error(`Unable to set noteConnectionStatus in store ${this.igoNotifications}`,d)})})}getNetworkWarningsEnabledState(){var c,g;return null!==(c=null===(g=this.settingsService)||void 0===g?void 0:g.networkWarningsEnabled$)&&void 0!==c?c:(0,i.of)(!1)}getNetworkState(){return this.$networkState.asObservable()}delayTimer(c){const d=(0,_.O)(c?se.MIN_COMPACT_ICON_DURATION:se.MIN_EXPANDED_NETWORK_MESSAGE_DURATION).subscribe(()=>{this.ignoreQScore=!1});this.subscriptions.push(d)}isQosUnderThreshold(c){return c<=this.appConfig.networkIndicators.warningThreshold}getColorBitDepth(){return this.colorBitDepth}registerHDRStreamingStatusNotification(){this.bridgeService.executeCommand(l.Ts.Gfn.Streaming.RegisterHDRStreamingStatusNotification).subscribe(c=>{this.hdrStreamingStatus=c?R.ud.Active:R.ud.Inactive,this.logger.info("registerHDRStreamingStatusNotification: HDR streaming status: ",c)},c=>{this.logger.error("registerHDRStreamingStatusNotification error:",c)})}isIgssEnabledInConfig(){return A.zk.isNativeLikePlatform()?(0,i.of)(!0):this.cloudVariableHelperService.getFeatureToggle(M.Yi6.ENABLE_BROWSER_IGSS).pipe((0,E.s)(1))}showMicIcon(){return this.micIconStatus.asObservable()}checkIfBitDepthAvailable(){var c;return this.ecommerceService||(this.ecommerceService=this.injector.get(M.yJU)),this.appConfig||(this.appConfig=this.injector.get(M.Vk6)),null===(c=this.ecommerceService)||void 0===c?void 0:c.isFeatureAvailableToUser(M.N1D.BIT_DEPTH,M.q3U.HIGHER_BIT_DEPTH)}checkL4sStateGeronimo(){this.checkL4SUserEntitlement()?this.bridgeService.executeCommand(l.Ts.Gfn.Streaming.StreamingL4SStateNotification,{}).subscribe(c=>{this.logger.info("l4sStatusNotification received ",c),c?this.l4sStatusNotificationGeronimo$.next(c.l4sState):this.logger.error("Empty L4S state received")}):this.logger.info("User not entitled to L4S, so skipping Geronimo subscription")}checkL4sState(){this.logger.info("checkL4sState"),this.checkL4SUserEntitlement()?(0,o.zV)([this.settingsService.getSettingsData(),this.streamingProfileService.getStreamingProfile(),this.streamingProfileService.readCustomProfileData()]).pipe((0,P.ZZ)(([c,g,d])=>{var C,Q;this.logger.info("Shared Settings: ",c),this.logger.info("Current Profile: ",g);const j={...g};return this.currentProfile={l4sEnabled:null==j?void 0:j.l4sEnabled,drc:null==j?void 0:j.drc,isCustomProfile:c.streamingProfiles===M.SBM.Custom},this.logger.info("Streaming proile initialized to ",this.currentProfile),null!==(C=this.currentProfile)&&void 0!==C&&C.drc?null!==(Q=this.currentProfile)&&void 0!==Q&&Q.l4sEnabled?(this.logger.info("DRC and L4S enabled at game launch"),this.translateService.get("statistics.L4SUnknown")):(this.logger.info("L4S disabled at game launch"),this.translateService.get("commonLabels.Inactive")):(this.logger.info("DRC disabled at game launch"),this.translateService.get("commonLabels.Inactive"))}),(0,P.ZZ)(c=>(this.l4sStatusString$.next(c),this.currentProfile.isCustomProfile&&this.currentProfile.l4sEnabled&&this.currentProfile.drc?(this.logger.info("Game launched with custom streaming profile"),this.geronimoWaitL4SStatus(!0)):this.currentProfile.l4sEnabled&&this.currentProfile.drc?(this.logger.info("Game launched with non-custom streaming profile"),this.geronimoWaitL4SStatus(!1)):(this.logger.info("Not waiting for response from geronimo"),(0,i.of)(null)))),(0,r.Q)(this.streamerExitNotification$)).subscribe(c=>{},c=>{this.logger.error("L4S State fetch failed with ",c)},()=>{this.logger.info("L4S state fetch subscription closed")}):this.logger.info("User not entitled for L4S")}showInputControlMessage(){this.oscDisplayService.getCurrentOpenState().pipe((0,E.s)(1)).subscribe(c=>{this.logger.info("Checking OSC state before closing for input control option",c),c&&this.oscDisplayService.closeOSC()}),this.dialog.openSnackBar(this.translateService.instant("clientInput.sdLongMessage"))}geronimoWaitL4SStatus(c){this.logger.info("geronimoWaitL4SStatus");let g=this.currentProfile.drc;const d=c?this.drcToggleStatus:(0,i.of)(!0);return(0,f.h)(d.pipe((0,P.ZZ)(C=>(this.logger.info("DRC toggle switched in Gameplay page",C),g=C,this.translateService.get(g?"statistics.L4SUnknown":"commonLabels.Inactive")))),this.l4sStatusNotificationGeronimo$.pipe((0,P.ZZ)(C=>g&&C===l.Or.Gfn.Streaming.L4SState.ACTIVE?(this.logger.info("Geronimo L4S state enabled ",C,g),this.translateService.get("commonLabels.Active")):g&&C===l.Or.Gfn.Streaming.L4SState.INACTIVE?(this.logger.info("Geronimo L4S state disabled ",C,g),this.translateService.get("commonLabels.Inactive")):g&&C===l.Or.Gfn.Streaming.L4SState.UNKNOWN?(this.logger.info("Geronimo L4S state unknown ",C,g),this.translateService.get("statistics.L4SUnknown")):(this.logger.info("Geronimo L4S response ignored since drc is disabled",g,C),(0,i.of)(null))))).pipe((0,n.T)(C=>(C?this.l4sStatusString$.next(C):this.logger.info("Incorrect status received so ignoring",C),null)))}}return(H=y).\u0275fac=function(c){return new(c||H)(h.KVO(h.zZn),h.KVO(W.k),h.KVO(ne.R),h.KVO(D.vT),h.KVO(ee.B),h.KVO(I.qQ),h.KVO(A.J6),h.KVO(A.NZ),h.KVO(te.QS),h.KVO(b.f),h.KVO(I.CQ),h.KVO(z.mb),h.KVO(w.$),h.KVO(A.at),h.KVO(A.zW),h.KVO(F.c$),h.KVO(Z.e))},H.\u0275prov=h.jDH({token:H,factory:H.\u0275fac,providedIn:"root"}),y})()},34414:(xe,de,t)=>{"use strict";t.d(de,{R:()=>B});var e=t(47766),n=t(76560),E=t(58527),O=t(37543);let B=(()=>{var P;class k{constructor(r){this.guestModeHelperService=r}get(r,A){const l=r===e.t_.MacOS?n.oO:n.vO;if(this.guestModeHelperService.isGuestAppFlow()){const I=r===e.t_.MacOS?n.kO:n.Hu;null==I||I.forEach((S,L)=>{void 0!==l.get(L)&&l.set(L,S)}),r===e.t_.MacOS&&A===e.dZ.SAFARI&&(null==n.Gj||n.Gj.forEach((S,L)=>{void 0!==l.get(L)&&l.set(L,S)}))}return l}}return(P=k).\u0275fac=function(r){return new(r||P)(E.KVO(O.xDS))},P.\u0275prov=E.jDH({token:P,factory:P.\u0275fac,providedIn:"root"}),k})()},58889:(xe,de,t)=>{"use strict";t.d(de,{m:()=>M});var e=t(26875),E=t(80583),O=t(43848),B=t(83915),P=t(75707),k=t(41346),U=t(76560),r=t(73934),A=t(25343),l=t(58527),I=t(47766),S=t(50801),L=t(72428),s=t(34414);let M=(()=>{var u;class x{constructor(i,o,_,f,J){this.dbCacheService=i,this.projectInterfaceService=o,this.hotkeyShareService=f,this.hotkeyDefaultMappingService=J,this.isHotKeyMappingInitialized$=new E.B7,this.areHotkeysOverridden=!1,this.logger=_.getLogger("HotkeyMonitoringService"),this.inMemoryHotkeyMapping=new Map,this.igoShortcutsDb=this.dbCacheService.getOrCreateCachedGlobalItem(U.Ui,U.Zy.Shortcuts)}initHotkeyMapping(i,o,_){this.defaultHotkeyMapping=this.hotkeyDefaultMappingService.get(o,_),this.areHotkeysOverridden=!!i&&0!==(null==i?void 0:i.size),this.logger.info("Init hotkey mapping"),this.projectInterfaceService.setShortcutCheckCallBacks(this.checkIfShortcutIsPresent.bind(this)),0===this.inMemoryHotkeyMapping.size&&this.initializeHotkeyMemory(i),this.isHotKeyMappingInitialized$.next(!0),this.isHotKeyMappingInitialized$.complete()}initializeHotkeyMemory(i){this.igoShortcutsDb.sync_().pipe((0,B.T)(o=>{if(this.cacheExists()){let _=0;return this.logger.info("igoDb Cache exists"),this.defaultHotkeyMapping.forEach((f,J)=>{void 0!==this.igoShortcutsDb[J]?this.inMemoryHotkeyMapping.set(J,this.igoShortcutsDb[J]):this.updateCacheAndMemory(J,f),_++}),_===this.defaultHotkeyMapping.size?(this.logger.info("All hotkeys written in memory/db."),(0,O.of)(!0)):(0,O.of)(!1)}return this.resetToDefault()})).subscribe(o=>{this.areHotkeysOverridden&&this.initMemoryWithOverriddenHotkeys(i)})}initMemoryWithOverriddenHotkeys(i){this.logger.info("Overrides found, only write in memory."),this.overriddenHotkeysList=new Map(i),i.forEach((o,_)=>{(0,A.B)(o,this.defaultHotkeyMapping.get(_))||void 0===this.igoShortcutsDb[_]||(0,A.B)(o,this.igoShortcutsDb[_])?(0,A.B)(o,this.defaultHotkeyMapping.get(_))||this.inMemoryHotkeyMapping.set(_,o):(0,A.B)(this.defaultHotkeyMapping.get(_),this.igoShortcutsDb[_])?this.inMemoryHotkeyMapping.set(_,o):this.inMemoryHotkeyMapping.set(_,this.igoShortcutsDb[_])}),this.logger.info("Write in memory completed")}cacheExists(){return void 0!==this.igoShortcutsDb[r.g8.OpenIGO]}updateHotkeyMapping(i,o){this.inMemoryHotkeyMapping.set(i,o)}checkIfShortcutIsPresent(i){let o=null;const _=i.slice().sort();return this.defaultHotkeyMapping.forEach((f,J)=>{const a=f.slice().sort();if(!this.hotkeyShareService.isHotkeyInIgnoredSet(J))if(this.inMemoryHotkeyMapping.has(J)&&void 0!==this.inMemoryHotkeyMapping.get(J)){const D=this.inMemoryHotkeyMapping.get(J).slice().sort();(0,e.isEqual)(D,_)&&(o=i)}else this.updateCacheAndMemory(J,a),(0,e.isEqual)(a,_)&&(o=i)}),o||[]}updateCacheAndMemory(i,o){this.igoShortcutsDb.sync_().pipe((0,P.ZZ)(()=>(this.igoShortcutsDb[i]=o,this.inMemoryHotkeyMapping.set(i,o),this.igoShortcutsDb.persist_()))).subscribe()}resetToDefault(){return this.resetToDefaultObs$()}resetToDefaultObs$(){return this.igoShortcutsDb.sync_().pipe((0,k.o)(i=>this.isHotKeyMappingInitialized$),(0,P.ZZ)(()=>(this.logger.info("Resetting to defaults"),this.defaultHotkeyMapping.forEach((i,o)=>{this.areHotkeysOverridden?(this.igoShortcutsDb[o]=this.overriddenHotkeysList.get(o),this.inMemoryHotkeyMapping.set(o,this.overriddenHotkeysList.get(o))):(this.igoShortcutsDb[o]=i,this.inMemoryHotkeyMapping.set(o,i))}),this.igoShortcutsDb.persist_())))}}return(u=x).\u0275fac=function(i){return new(i||u)(l.KVO(I.sc),l.KVO(S.qQ),l.KVO(I.J6),l.KVO(L.f),l.KVO(s.R))},u.\u0275prov=l.jDH({token:u,factory:u.\u0275fac,providedIn:"root"}),x})()},73934:(xe,de,t)=>{"use strict";t.d(de,{g8:()=>J,DX:()=>a,QS:()=>D});var e=t(80583),n=t(93181),E=t(43848),O=t(8619),B=t(83915),P=t(75707),k=t(14714),U=t(65706),r=t(10174),A=t(91384),l=t(47766),I=t(33367),S=t(26875);class L{constructor(N){this.osrName=N}}const M={CMD:new L("cmd"),N0:new L("0"),ALT:new L("alt"),TAB:new L("tab"),CTRL:new L("ctrl")};var u=t(36466),x=t(58527);let p=(()=>{var te;class N{constructor(R,v,h){this.bridgeService=v,this.systemInfoService=h,this.keyPressCallback$=new e.B7,this.keyBindings=new Map,this.platformUniqueKeys=new Map,this.logger=R.getLogger("gfn/KeybindingService"),this.setPlatformUniqueKeys(),this.init()}registerKeyBinding(R,v){if(0===R.length)throw Error("Key combination cannot have length 0");for(const W of R)if(this.platformUniqueKeys.has(W)&&!this.platformUniqueKeys.get(W).includes(v))throw Error(`Key ${W.osrName} is not supported by current platform`);const h=this.generateKeyBindingName(R);if(this.keyBindings.has(h))throw Error("Key combination already exists in keyBindings");return this.keyBindings.set(h,R),this.osrRegisterCustomKeyPress(h,h).subscribe(u.l,W=>{this.logger.error(`Failed to register ${h} with error`,W)}),new N.KeyBindImpl(h,this,this.keyPressCallback$.pipe((0,O.p)(W=>W===h)))}unregisterKeyBinding(R){if(!this.keyBindings.has(R))throw Error(`Key binding ${R} does not exist and cannot be unregisterd.`);this.keyBindings.delete(R),this.osrUnregisterCustomKeyPress(R).subscribe(u.l,v=>{this.logger.error(`Failed to unregister ${R} with error`,v)})}generateKeyBindingName(R){return(0,S.map)(R,"osrName").join("-")}init(){this.registerKeybindingCallback()}setPlatformUniqueKeys(){this.platformUniqueKeys.set(M.CMD,[l.t_.MacOS])}registerKeybindingCallback(){this.logger.info("osrRegisterKeyPressCallback"),this.systemInfoService.getDeviceOSType().pipe((0,P.ZZ)(R=>this.bridgeService.executeCommand(I.Ts.Gfn.Streaming.OsrRegisterKeyPressCallback,{osType:R}))).subscribe(R=>{if(null!==R){const v=R.toString();this.checkIfKeyBindingIsPresent(v)?this.logger.info("Keybinding is present ",v):this.logger.error("Unhandled custom keypress event type: ",v)}else this.logger.error("null custom keypress event: ",R)},R=>{this.logger.error("osrRegisterKeyPressCallback callback failure",R)})}checkIfKeyBindingIsPresent(R){var v;let h=!1;const W=R.split("-").slice().sort(),ne=Array.from(null===(v=this.keyBindings)||void 0===v?void 0:v.keys());return null==ne||ne.forEach(ee=>{const b=null==ee?void 0:ee.split("-").slice().sort();(0,S.isEqual)(W,b)&&(h=!0,this.keyPressCallback$.next(ee),this.logger.info("keyPressCallback$ is updated with ",ee))}),h}osrRegisterCustomKeyPress(R,v){return this.logger.info("osrRegisterCustomKeyPress",R,v),this.bridgeService.executeCommand(I.Ts.Gfn.Streaming.OsrRegisterCustomKeyPress,{name:R,keyCombination:v})}osrUnregisterCustomKeyPress(R){return this.logger.info("osrUnregisterCustomKeyPress",R),this.bridgeService.executeCommand(I.Ts.Gfn.Streaming.OsrUnregisterCustomKeyPress,{keyCombination:R})}}return(te=N).KeyBindImpl=class{constructor(z,R,v){this.keyBindingName=z,this.parent=R,this.keyPressed$=new e.B7,v.subscribe(this.keyPressed$)}get onKeyPressed$(){return this.keyPressed$.asObservable()}unregister(){this.parent.unregisterKeyBinding(this.keyBindingName),this.keyPressed$.complete()}},te.\u0275fac=function(R){return new(R||te)(x.KVO(l.J6),x.KVO(l.NZ),x.KVO(l.zW))},te.\u0275prov=x.jDH({token:te,factory:te.\u0275fac,providedIn:"root"}),N})();var i=t(83168),o=t(12137),_=t(72428),f=t(34414),J=I.Or.Share.Shareserver.HotkeyEnum,a=function(te){return te.Valid="Valid",te.Invalid="Invalid",te.InUse="InUse",te.Error="Error",te}(a||{});let D=(()=>{var te;class N{listen(R){return this.hkCallback$.pipe((0,O.p)(v=>v===R))}listenPTT(){return this.hkPTTCallback$.asObservable()}listenChatBoxPTT(){return this.hkChatBoxPTTCallback$.asObservable()}constructor(R,v,h,W,ne,ee,b,w){this.loggingService=R,this.bridgeService=v,this.igoConfig=h,this.injector=W,this.hotkeyShareService=ne,this.hotKeyHelper=ee,this.systemInfoService=b,this.hotkeyDefaultMappingService=w,this.hkCallback$=new e.B7,this.hkPTTCallback$=new e.B7,this.hkChatBoxPTTCallback$=new e.B7,this.hotkeyChanged$=new e.B7,this.hotkeyList={},this.gfnHotkeyMappings={},this.nvAppDynamicEnableStatus={},this.nvAppDynamicHotkeysChanged$=new e.B7,this.keybindingService=null,this.streamerManagerService=null,this.blockHotkeys=!1,this.blockedHotkeysMap=new Map,this.logger=this.loggingService.getLogger("HotkeyService")}init(){this.logger.info("Hotkey service init"),!0===this.igoConfig.GFNCefClient&&this.igoConfig.IGOFeatureEnabled&&(this.keybindingService=this.injector.get(p),this.streamerManagerService=this.injector.get(i.cp)),this.getAllHotkeys(),this.bridgeService.executeCommand(I.Ts.Share.Shareserver.RegisterHotkeyNotifications).subscribe(R=>this.hotkeyEvent(R))}updateBlockedHotkeysList(R,v){v?this.blockedHotkeysMap.set(R,!0):!v&&this.blockedHotkeysMap.has(R)?this.blockedHotkeysMap.delete(R):this.logger.error("Incorrect combination of hotkey and update",R,v)}hotkeyEvent(R){if(null!==R&&(this.logger.info("Hotkey: ",R),!this.blockHotkeys&&void 0!==R.hotkey))if(R.hotkey===J.PTT&&this.hkPTTCallback$.next("Down"===R.state),R.hotkey===J.ChatPTT){const v=this.hotKeyHelper.shortcutToString(this.hotkeyList[J.ChatPTT]);if(!v||"None"===v)return;this.hkChatBoxPTTCallback$.next("Down"===R.state)}else this.hkCallback$.next(R.hotkey)}getAllHotkeys(){const R=Object.keys(J).map(h=>J[h]),v=[];R.forEach(h=>{const W=J[h];v.push(this.getHotkeyNum(W).pipe((0,B.T)(ne=>(this.logger.info(`Hot key mapping for ${W} :`,ne),this.hotkeyList[W]=ne,!0))))}),(0,n.p)(v).subscribe(()=>{R.forEach(h=>{const W=J[h];this.keybindingService&&this.hotkeyList[W]&&this.hotkeyList[W].length>0&&this.registerGfnHotkey(W,this.hotkeyList[W])})})}getHotkeyNum(R){return this.hotkeyList[R]?(0,E.of)(this.hotkeyList[R]):this.bridgeService.executeCommand(I.Ts.Share.Shareserver.GetHotkeyShortcut,{hotkey:R}).pipe((0,B.T)(v=>v.keys))}getHotkeyString(R){return this.hotkeyList[R]?(0,E.of)(this.hotKeyHelper.shortcutToString(this.hotkeyList[R])):this.getHotkeyNum(R).pipe((0,B.T)(v=>this.hotKeyHelper.shortcutToString(v)))}setHotkeyString(R,v){return this.checkIfValidGfnHotkey(v).pipe((0,P.ZZ)(h=>h?this.bridgeService.executeCommand(I.Ts.Share.Shareserver.SetHotkeyShortcut,{hotkey:R,keys:v}):(0,E.of)({_return_internal:I.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Error_InvalidArg})),(0,B.T)(h=>h._return_internal===I.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Success_Ok?(this.keybindingService&&(this.gfnHotkeyMappings[R]&&(this.gfnHotkeyMappings[R].unregister(),this.gfnHotkeyMappings[R]=void 0),(1!==v.length||0!==v[0])&&this.registerGfnHotkey(R,v)),this.hotkeyList[R]=v,this.hotkeyChanged$.next(R),a.Valid):h._return_internal===I.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Error_InvalidArg?a.Invalid:h._return_internal===I.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Error_HotkeyInUse?a.InUse:(this.logger.info("SetHotkeyShortcut Unhandled result: ",h._return_internal),a.Error)),(0,k.W)(h=>(this.logger.info("SetHotkeyShortcut failed: ",h),(0,E.of)(a.Error))))}checkForDup(R,v){let h=!1;const W=R.slice().sort();return v.forEach(ne=>{if(this.hotkeyList[ne].length){const ee=this.hotkeyList[ne].slice().sort();(0,S.isEqual)(W,ee)&&(h=!0)}}),h}checkIdenticalEntry(R,v){if(!R||!this.hotkeyList[v])return!1;const h=R.slice().sort(),W=this.hotkeyList[v].slice().sort();return(0,S.isEqual)(h,W)}checkIfModifierKey(R){let v=!1;return l.$f.forEach(h=>{h===R&&(v=!0)}),v}checkIfWinKey(R){return 91===R||92===R}getHotkeyChangedEvents(R){return this.hotkeyChanged$.pipe((0,O.p)(v=>R.includes(v)))}checkIfValidGfnHotkey(R){if(!this.keybindingService||!R||0===R.length||1===R.length&&0===R[0])return(0,E.of)(!0);const W=R.map(ne=>this.hotKeyHelper.processKey(ne).toLowerCase()).map(ne=>new L(ne)).map(ne=>ne.osrName).join("-");return this.bridgeService.executeCommand(I.Ts.Gfn.Streaming.OsrCheckKeyPressCombination,{keyCombination:W}).pipe((0,k.W)(ne=>(this.logger.info("Check KeyPress Combo err: ",ne),(0,E.of)(!0))))}registerGfnHotkey(R,v){if(this.hotkeyShareService.isHotkeyInIgnoredSet(R))return void this.logger.info("Skip register gfn hotkey",R);const W=v.map(ne=>this.hotKeyHelper.processKey(ne).toLowerCase()).map(ne=>new L(ne));this.gfnHotkeyMappings[R]&&this.gfnHotkeyMappings[R].unregister(),(1!==v.length||0!==v[0])&&this.systemInfoService.getDeviceOSType().pipe((0,U.s)(1)).subscribe(ne=>{this.gfnHotkeyMappings[R]=this.keybindingService.registerKeyBinding(W,ne),this.gfnHotkeyMappings[R]&&this.gfnHotkeyMappings[R].onKeyPressed$.subscribe(()=>{this.logger.info("key pressed: ",R),this.blockHotkeys||this.streamerManagerService.getCurrentState()!==i.H.Streaming||this.blockedHotkeysMap.has(R)?this.logger.info("Hotkey ignored ",R,this.blockHotkeys,this.streamerManagerService.getCurrentState()):this.hkCallback$.next(R)})})}blockAllHotkeys(R){return this.blockHotkeys=R,this.bridgeService.executeCommand(I.Ts.Share.Shareserver.SetHotkeyMonitoring,{enable:!R}).pipe((0,B.T)(v=>(this.logger.info("setHotkeyMonitoring returned: ",v),!0)),(0,k.W)(v=>(this.logger.error("setHotkeyMonitoring failed: ",v),(0,E.of)(!1))))}stopListeningToHotkey(R){this.hotkeyList[R]&&this.hotkeyList[R].length<=0||(this.keybindingService&&this.gfnHotkeyMappings[R]&&(this.gfnHotkeyMappings[R].unregister(),this.gfnHotkeyMappings[R]=void 0),this.logger.info("Stop listening to hotkey",R),this.hotkeyShareService.addToIgnoredHotkeysSet(R))}startListeningToHotkey(R){if(void 0===this.hotkeyList[R]||this.hotkeyList[R].length<=0)return(0,E.of)(!0);const v=this.hotkeyShareService.isHotkeyInIgnoredSet(R);return this.logger.info("Start listening to hotkey",R,v),v&&this.hotkeyShareService.removeFromIgnoredHotkeysSet(R),this.keybindingService?this.resolveInnerConflicts(R):(0,E.of)(!0)}resolveInnerConflicts(R){const v=[];return this.systemInfoService.getDeviceOSType().pipe((0,U.s)(1),(0,B.T)(h=>{this.removeMappings(R,v,h),v&&v.length>0&&v.forEach(W=>{this.setHotkeyString(W,this.hotkeyDefaultMappingService.get(h).get(W)).subscribe(ne=>{ne===a.Valid?this.logger.info("Resolve Conflicts result is: ",ne):this.logger.error("Some Error occurred while resolving conflicts")})}),this.registerGfnHotkey(R,this.hotkeyList[R])}),(0,r.u)(!0))}removeMappings(R,v,h){const W=this.findDuplicate(R,v,h);void 0!==W&&(this.gfnHotkeyMappings[W]&&(this.gfnHotkeyMappings[W].unregister(),this.gfnHotkeyMappings[W]=void 0),v.push(W),this.removeMappings(W,v,h))}findDuplicate(R,v,h){let W;return Object.keys(J).map(ee=>J[ee]).forEach(ee=>{var b;const w=J[ee];if(w!==R&&(null===(b=this.hotkeyList[w])||void 0===b?void 0:b.length)>0)if(0===v.length)this.checkIdenticalEntry(this.hotkeyList[w],R)&&(W=w);else{const F=this.hotkeyDefaultMappingService.get(h).get(R);W=F&&this.checkIdenticalEntry(F,w)?w:void 0}}),this.logger.info("duplicate hotkey found: ",W),W}resetToDefaults(){return this.logger.info("resetToDefaults"),this.bridgeService.executeCommand(I.Ts.Share.Shareserver.ResetHotkeysToDefault).pipe((0,k.W)(()=>(0,E.of)(!0)),(0,A.M)(()=>{this.hotkeyList={},Object.keys(J).map(v=>J[v]).forEach(v=>{this.keybindingService&&this.gfnHotkeyMappings[v]&&(this.gfnHotkeyMappings[v].unregister(),this.gfnHotkeyMappings[v]=void 0),this.hotkeyChanged$.next(J[v])}),this.getAllHotkeys()}),(0,r.u)(!0))}triggerHotkeyCallbacks(R){this.hkCallback$.next(R)}triggerChatBoxPTTCallback(R){this.hkChatBoxPTTCallback$.next(R)}nvAppDynamicHokeysChangedEvent(){return this.nvAppDynamicHotkeysChanged$.asObservable()}isNvAppHotkeyEnabled(R){return this.nvAppDynamicEnableStatus[R]}setHotkeyDynamicEnable(R,v,h=!1){this.logger.info("setHotkeyDynamicEnable:",R,v,h),h||(R.forEach(W=>{this.nvAppDynamicEnableStatus[W]=v}),this.nvAppDynamicHotkeysChanged$.next()),this.bridgeService.executeCommand(I.Ts.Share.Shareserver.SetHotkeyDynamicEnable,{enable:v,keys:R}).subscribe(W=>{this.logger.info("setHotkeyDynamicEnable result:",W)},W=>{this.logger.error("setHotkeyDynamicEnable error:",W)})}}return(te=N).\u0275fac=function(R){return new(R||te)(x.KVO(l.J6),x.KVO(l.NZ),x.KVO(o.k),x.KVO(x.zZn),x.KVO(_.f),x.KVO(l.Ho),x.KVO(l.zW),x.KVO(f.R))},te.\u0275prov=x.jDH({token:te,factory:te.\u0275fac,providedIn:"root"}),N})()},72428:(xe,de,t)=>{"use strict";t.d(de,{f:()=>B});var e=t(33367),n=t(58527),E=t(47766),O=e.Or.Share.Shareserver.HotkeyEnum;let B=(()=>{var P;class k{constructor(r){this.ignoredHotkeysSet=new Set([O.DVRSave,O.InStreamPaste]),this.logger=r.getLogger("HotkeyShareService")}addToIgnoredHotkeysSet(r){this.ignoredHotkeysSet.add(r),this.logger.info("Added hotkey to ignore set:",r)}removeFromIgnoredHotkeysSet(r){this.ignoredHotkeysSet.delete(r),this.logger.info("Removed hotkey from ignore set:",r)}isHotkeyInIgnoredSet(r){return this.ignoredHotkeysSet.has(r)}}return(P=k).\u0275fac=function(r){return new(r||P)(n.KVO(E.J6))},P.\u0275prov=n.jDH({token:P,factory:P.\u0275fac,providedIn:"root"}),k})()},50057:(xe,de,t)=>{"use strict";t.d(de,{A:()=>U});var e=t(80583),n=t(43848),E=t(33367),O=t(91384),B=t(14714),P=t(58527),k=t(47766);let U=(()=>{var r;class A{constructor(I,S){this.loggingService=I,this.bridgeService=S,this.localConfigChangedNotification=new e.B7,this.generateExceptionFlag=!1,this.logger=this.loggingService.getLogger("IgoPiplLocaleConfigService"),this.registerForlocaleChangeNotification()}getLocaleOverride(){return this.bridgeService.executeCommand(E.Ts.Common.Nvlocalizedconfig.GetLocalizationData)}setServerURL(I){this.serverURL=I}generateException(){this.generateExceptionFlag=!0}getGenerateExceptionFlag(){return this.generateExceptionFlag}getServerURL(){return this.serverURL}localConfigChangeNotification(){return this.localConfigChangedNotification.asObservable()}registerForlocaleChangeNotification(){this.bridgeService.executeCommand(E.Ts.Common.Nvlocalizedconfig.LocalizationDataChangeNotification).pipe((0,O.M)(I=>{var S,L;this.logger.info("Received Localization Data Change Notification: ",I),(null==I||null===(S=I.jsEvents)||void 0===S?void 0:S.server)!==this.getServerURL()?this.localConfigChangedNotification.next(I):this.logger.info("Telemetry URL unchanged ",null==I||null===(L=I.jsEvents)||void 0===L?void 0:L.server)}),(0,B.W)(I=>(this.logger.error("Failed to get overrides",I),(0,n.of)(!1)))).subscribe()}}return(r=A).\u0275fac=function(I){return new(I||r)(P.KVO(k.J6),P.KVO(k.NZ))},r.\u0275prov=P.jDH({token:r,factory:r.\u0275fac,providedIn:"root"}),A})()},57412:(xe,de,t)=>{"use strict";t.d(de,{B:()=>p});var e=t(26513),n=t(43848),E=t(36466),O=t(75707),B=t(91384),P=t(8619),k=t(25590),U=t(83915),r=t(14714),A=t(26875),I=t(81834),S=t(33367),L=t(78854),s=t(51830),M=t(58527),u=t(47766),x=t(70815);let p=(()=>{var i;class o{constructor(f,J,a,D,te){this.injector=f,this.loggingService=J,this.endpointFactory=a,this.bridgeService=D,this.localeService=te,this.currentGameChromaInfo$=new e.t({}),this.logger=this.loggingService.getLogger("LcarsService")}populateIgoAppConfig(f){this.logger.info("AppConfig populated"),this.igoAppConfig=f}init(){this.shadowPlayService=this.injector.get(s.W1),this.registerAppNotifications()}getCurrentAppChromaInfo(){return this.currentGameChromaInfo$.asObservable()}registerAppNotifications(){this.listenToAppStartedNotification(),this.listenToAppExitNotification(),this.listenToLocalChangedEvent()}listenToAppStartedNotification(){let f;this.shadowPlayService.registerAppStartedEvent().pipe((0,O.ZZ)(J=>{const a=J.appStarted.ChromaAppId;if(f=J,!a||"None"===a){const D={};return D.id=a,D.nvidiaTech={FREESTYLE:!0,RTXDVC:!0},D.title="",(0,n.of)(D)}return this.getAppAssetsByAppId(f)}),(0,B.M)(J=>{if(null==J||!J.nvidiaTech)return void this.logger.error("erroneous LCARS response:",J);const a={};a.cmsId=f.appStarted.cmsId,a.pid=f.appStarted.pid,a.profileName=f.appStarted.profileName,a.id=J.id,a.title=J.title,a.nvidiaTech=J.nvidiaTech,this.logger.info("App chroma info fetched for ",a),this.currentGameChromaInfo$.next(a)})).subscribe(E.l,J=>{this.logger.error("error to register for app started notification:",J)})}listenToAppExitNotification(){this.bridgeService.executeCommand(S.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,P.p)(f=>!!f.gameExited),(0,k.E)(this.currentGameChromaInfo$.asObservable()),(0,B.M)(([f,J])=>{f.gameExited.exitAppPID===(null==J?void 0:J.pid)&&this.currentGameChromaInfo$.next({})})).subscribe(E.l,f=>{this.logger.error("error to register for app exit notification:",f)})}listenToLocalChangedEvent(){this.localeService.localeChanged.pipe((0,B.M)(f=>{this.currentLocale=f})).subscribe(E.l,f=>{this.logger.error("failed to apply slot automatically: ",f.message)})}fetchAppsAndGamesAssets(f,J){const a=Object.assign({requestType:J},{query:f}),D={headers:this.createHeader(),params:a};return this.queryDataEndpoint=this.endpointFactory.createEndpoint({config:{timeout:this.igoAppConfig.lcarsConfig.defaultTimeout,timeBetweenRetries:this.igoAppConfig.lcarsConfig.defaultTimeBetweenRetries,maxRetries:this.igoAppConfig.lcarsConfig.defaultRetries}}),this.queryDataEndpoint.get((0,I.l2)([this.igoAppConfig.lcarsConfig.serverUrlCDN]),D).pipe((0,U.T)(z=>{var R;const v=null==z||null===(R=z.data)||void 0===R?void 0:R.apps.items;return(0,A.isEmpty)(v)?[]:v}))}getAppAssetsByAppId(f){const a=this.getAppAssetsQueryOptions(this.currentLocale,f.appStarted.ChromaAppId),D=(0,L.az)(a);return this.fetchAppsAndGamesAssets(D,L.cW.AppMetaData).pipe((0,U.T)(te=>te[0]),(0,r.W)(te=>{this.logger.error("Error while chroma app metadata query",te);const N={};return N.cmsId=f.appStarted.cmsId,N.pid=f.appStarted.pid,this.currentGameChromaInfo$.next(N),(0,n.of)(null)}))}getAppAssetsQueryOptions(f,J){return{language:f,appIds:this.forMatStringsArray(Array.isArray(J)?J:[J])}}forMatStringsArray(f){return f.map(J=>JSON.stringify(J)).join(",")}createHeader(){return{"NV-Client-ID":this.igoAppConfig.lcarsConfig.clientId,"NV-Client-Version":this.igoAppConfig.build.version,"Content-Type":"application/graphql"}}}return(i=o).\u0275fac=function(f){return new(f||i)(M.KVO(M.zZn),M.KVO(u.J6),M.KVO(x.t),M.KVO(u.NZ),M.KVO(u.iH))},i.\u0275prov=M.jDH({token:i,factory:i.\u0275fac,providedIn:"root"}),o})()},78854:(xe,de,t)=>{"use strict";t.d(de,{CZ:()=>E,az:()=>n,cW:()=>e});var e=function(O){return O.AppMetaData="appMetaData",O}(e||{});const n=O=>`{\n apps(\n language: "${O.language}",\n appIds:[${O.appIds}]) {\n items {\n id\n title\n nvidiaTech {\n ANSEL\n FREESTYLE\n RTXDVC\n REFLEX\n REFLEXFLASHINDICATOR\n REFLEXFIAUTO\n REFLEXSTATS\n }\n }\n }}`,E=3e4},72582:(xe,de,t)=>{"use strict";t.d(de,{o:()=>k});var e=t(80583),n=t(58527),E=t(47766),O=t(10279),B=t(27211),P=t(14354);let k=(()=>{var U;class r{escapeEvent(){return this.escapeCallback$.asObservable()}centerPaneClosedEvent(){return this.centerPaneCallback$.asObservable()}constructor(l,I,S,L){this.telemetryHelperService=I,this.telemetryIgoService=S,this.router=L,this.disableEscape=!1,this.escapeCallback$=new e.B7,this.centerPaneCallback$=new e.B7,this.centerPaneOpened=!1,this.logger=l.getLogger("NavigationService")}navigate(l,I,S){this.disableEscape=!1;const L=Date.now();return S?this.router.navigate(l,I).then(s=>(this.telemetryIgoService.trackNavigation(L,S),s),s=>(this.logger.error("error:",s),!1)):this.router.navigate(l,I)}goToNextNavState(){this.disableEscape||(this.centerPaneOpened?this.centerPaneCallback$.next():this.escapeCallback$.next(),this.centerPaneOpened=!1),this.disableEscape=!1}openCenterPane(l){this.centerPaneOpened&&!l&&this.centerPaneCallback$.next(),this.centerPaneOpened=l}disableEscapeEvent(l){this.disableEscape=l}disableCenterPaneCallback(){this.centerPaneOpened=!1}}return(U=r).\u0275fac=function(l){return new(l||U)(n.KVO(E.J6),n.KVO(O.x),n.KVO(B.S),n.KVO(P.Ix))},U.\u0275prov=n.jDH({token:U,factory:U.\u0275fac,providedIn:"root"}),r})()},8559:(xe,de,t)=>{"use strict";t.d(de,{DP:()=>B,LM:()=>E,N5:()=>O,VJ:()=>n}),t(33367);var n=function(r){return r[r["dlssoverride.performanceModes.performance"]=0]="dlssoverride.performanceModes.performance",r[r["dlssoverride.performanceModes.balanced"]=1]="dlssoverride.performanceModes.balanced",r[r["dlssoverride.performanceModes.quality"]=2]="dlssoverride.performanceModes.quality",r[r["dlssoverride.performanceModes.default"]=3]="dlssoverride.performanceModes.default",r[r["dlssoverride.performanceModes.dlaa"]=4]="dlssoverride.performanceModes.dlaa",r[r["dlssoverride.performanceModes.ultraPerformance"]=5]="dlssoverride.performanceModes.ultraPerformance",r[r["dlssoverride.performanceModes.custom"]=6]="dlssoverride.performanceModes.custom",r}(n||{}),E=function(r){return r[r["dlssoverride.models.default"]=0]="dlssoverride.models.default",r[r["dlssoverride.models.presetA"]=1]="dlssoverride.models.presetA",r[r["dlssoverride.models.presetB"]=2]="dlssoverride.models.presetB",r[r["dlssoverride.models.presetC"]=3]="dlssoverride.models.presetC",r[r["dlssoverride.models.presetD"]=4]="dlssoverride.models.presetD",r[r["dlssoverride.models.presetE"]=5]="dlssoverride.models.presetE",r[r["dlssoverride.models.presetF"]=6]="dlssoverride.models.presetF",r[r["dlssoverride.models.presetJ"]=10]="dlssoverride.models.presetJ",r[r["dlssoverride.models.presetK"]=11]="dlssoverride.models.presetK",r[r["dlssoverride.models.presetL"]=12]="dlssoverride.models.presetL",r[r["dlssoverride.models.presetM"]=13]="dlssoverride.models.presetM",r[r["dlssoverride.models.presetN"]=14]="dlssoverride.models.presetN",r[r["dlssoverride.models.presetO"]=15]="dlssoverride.models.presetO",r[r["dlssoverride.models.latest"]=16777215]="dlssoverride.models.latest",r}(E||{}),O=function(r){return r[r["dlssoverride.fg.off"]=1]="dlssoverride.fg.off",r[r["dlssoverride.fg.value_3x"]=2]="dlssoverride.fg.value_3x",r[r["dlssoverride.fg.value_4x"]=3]="dlssoverride.fg.value_4x",r}(O||{}),B=function(r){return r[r.DlssDD=57580]="DlssDD",r[r.FgxDD=57e3]="FgxDD",r}(B||{})},10356:(xe,de,t)=>{"use strict";t.d(de,{z:()=>u});var e=t(26513),n=t(43848),E=t(93181),O=t(83915),B=t(8619),P=t(72147),k=t(14714),U=t(33367),r=t(11728),A=t(8559),l=t(58527),I=t(47766),S=t(2688),L=t(27211),s=t(33452),M=t(65240);let u=(()=>{var x;class p{constructor(o,_,f,J,a,D,te){this.injector=o,this.loggingService=_,this.bridgeService=f,this.featureSupportService=J,this.telemetryIgoService=a,this.perfMonService=D,this.translateService=te,this.disabledDueToGlobalToggle=!1,this.isValidGameRunning$=new e.t(!1),this.isFgSupported=!1,this.fgEnabled=!1,this.currentGameInfo=void 0,this.gameDetails={cmsId:"",drsName:"",drsProfileName:""},this.restartRequiredFgx=!1,this.isDlssSupportedDD=!1,this.isFgxSupportedDD=!1,this.drsSRSetting="N/A",this.drsRRSetting="N/A",this.drsFGSetting="N/A",this.dlssFGSupported=!1,this.dlssSRSupported=!1,this.dlssRRSupported=!1,this.dlssSMSupported=!1,this.dlssFGEnabled=!1,this.dlssSREnabled=!1,this.dlssRREnabled=!1,this.dlssSMEnabled=!1,this.logger=this.loggingService.getLogger("NgxService")}init(){this.logger.info("Initialize"),this.oscDisplayService=this.injector.get(r.B),this.registerAppNotifications(),this.disabledDueToGlobalToggle=!this.featureSupportService.isNgxAvailable()}isNgxAvailable(){return this.featureSupportService.isNgxAvailable()}isValidGameRunning(){return this.isValidGameRunning$.asObservable()}isValidGameRunningValue(){return this.isValidGameRunning$.value}isDlssFGEnabled(){return this.dlssFGEnabled}isDlssSREnabled(){return this.dlssSREnabled}isDlssRREnabled(){return this.dlssRREnabled}isDlssEnabled(){return this.dlssFGEnabled||this.dlssSREnabled||this.dlssRREnabled}getNGXOverrideSRState(){return this.logger.info("Calling DLSS SR state "),this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.GetNGXOverrideSRState,{cmsId:this.currentGameInfo?this.currentGameInfo.cmsId:0})}getNGXOverrideRRState(){return this.logger.info("Calling DLSS RR state "),this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.GetNGXOverrideRRState,{cmsId:this.currentGameInfo?this.currentGameInfo.cmsId:0})}getNGXOverrideFGState(){return this.logger.info("Calling DLSS FG state "),this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.GetNGXOverrideFGState,{cmsId:this.currentGameInfo?this.currentGameInfo.cmsId:0})}getFgxDrsState(){return this.logger.info(" : getNGXOverrideFGXState currentGameInfo : ",this.currentGameInfo),this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.GetFGXState,{cmsId:this.currentGameInfo?this.currentGameInfo.cmsId:0})}getFgxDynamicState(){return this.logger.info(" : getNGXOverrideFGXDynState currentGameInfo : ",this.currentGameInfo),this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.GetFGXDynamicState,{processId:this.currentGameInfo?this.currentGameInfo.procId:0,cmsId:this.currentGameInfo?this.currentGameInfo.cmsId:0})}getNgxDDSupport(){return this.featureSupportService.isNvApp()?this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.GetGenericInfo).pipe((0,O.T)(o=>{const _=Number(o.DriverVersion.replace(".",""));return this.isDlssSupportedDD=_>=A.DP.DlssDD,this.isFgxSupportedDD=_>=A.DP.FgxDD,this.logger.info("DLSS Support",+this.isDlssSupportedDD+" Ver: "+_+" Min. DD is: "+A.DP.DlssDD),this.logger.info("FGX Support",+this.isFgxSupportedDD+" Ver: "+_+" Min. DD is: "+A.DP.FgxDD),[this.isDlssSupportedDD,this.isFgxSupportedDD]})):(0,n.of)([!1,!1])}launchNgxMenu(){this.logger.info("launchNgxPerformanceMenu"),this.oscDisplayService.openOSC("sidebar/ngx/ngx-menu")}registerAppNotifications(){this.bridgeService.executeCommand(U.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,B.p)(o=>!(null==o||!o.gameExited))).subscribe(o=>{this.onGameExit()}),this.bridgeService.executeCommand(U.Ts.Share.Shareserver.RegisterAppNotifications).pipe((0,B.p)(o=>!(null==o||!o.appStarted))).subscribe(o=>{this.logger.info(" App Start Data: ",o),o&&(this.currentGameInfo={procId:o.appStarted.pid,cmsId:o.appStarted.cmsId,drsName:o.appStarted.DRSAppName,drsProfileName:o.appStarted.profileName,shortName:o.appStarted.shortName,drsWhitelist:!1}),this.gameDetails.cmsId=this.currentGameInfo.cmsId.toString(),this.gameDetails.drsName=this.currentGameInfo.drsName,this.gameDetails.drsProfileName=this.currentGameInfo.drsProfileName,this.onGameStart(this.currentGameInfo.cmsId,this.currentGameInfo.procId).subscribe(_=>{this.logger.info("onGameLaunched command: ",_),o.appStarted.pid&&o.appStarted.cmsId?(this.isValidGameRunning$.next(!!_),_&&setTimeout(()=>{(this.isDlssSupportedDD||this.isFgxSupportedDD)&&this.GetFeatureProfileSettings(this.currentGameInfo.cmsId)},1e3)):this.isValidGameRunning$.next(!1)})})}checkFGSupportConstraints(o){var _;const f=null===(_=o.constraintsFG[0])||void 0===_?void 0:_.parameters;return!(!f||f.bUnknown||f.bGpuUnsupported||f.bDriverUnsupported||f.bDenyListed||f.bFGMultiFrameCountUnsupported)}checkSRSupportConstraints(o){var _;const f=null===(_=o.constraintsSR[0])||void 0===_?void 0:_.parameters;return!(!f||f.bUnknown||f.bGpuUnsupported||f.bDriverUnsupported||f.bDenyListed||f.bSRModelDenyListed)}checkRRSupportConstraints(o){var _;const f=null===(_=o.constraintsRR[0])||void 0===_?void 0:_.parameters;return!(!f||f.bUnknown||f.bGpuUnsupported||f.bDriverUnsupported||f.bDenyListed||f.bRRModelDenyListed)}checkSMSupportConstraints(o){var _;const f=null===(_=o.constraintsSM[0])||void 0===_?void 0:_.parameters;return!(!f||f.bUnknown||f.bGpuUnsupported||f.bDriverUnsupported||f.bDenyListed||f.bHWSUnavailable||f.bGraphicsApiUnsupported)}GetFeatureProfileSettings(o){this.logger.info("Profile Settings called "),this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.GetProfileSettingsForNvApp,{cmsId:o}).pipe((0,O.T)(f=>(this.logger.info("Profile info ",f),this.isDlssSupportedDD&&(this.dlssFGSupported=this.checkFGSupportConstraints(f),this.dlssSRSupported=this.checkSRSupportConstraints(f),this.dlssRRSupported=this.checkRRSupportConstraints(f)),this.isFgxSupportedDD&&(this.dlssSMSupported=this.checkSMSupportConstraints(f)),!0)),(0,P.n)(()=>(0,E.p)([this.getDlssFgFeatureState(this.dlssFGSupported),this.getDlssSrFeatureState(this.dlssSRSupported),this.getDlssRrFeatureState(this.dlssRRSupported),this.getFgxFeatureState(this.dlssSMSupported)]))).subscribe(([f,J,a,D])=>{this.perfMonService.setDlssFGmetric(this.translateService.instant(f)),this.perfMonService.setDlssSRmetric(this.translateService.instant(J)),this.perfMonService.setDlssRRmetric(this.translateService.instant(a)),this.perfMonService.setDlssSMmetric(this.translateService.instant(D))})}onGameLaunchedCommand(o){return this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.DlssOnGameLaunched,o)}changeMFG(o,_){const f={cmsId:this.currentGameInfo.cmsId,overrideEnabled:o.overrideEnabled,dlssOverrideFgMultiFrameFeedback:o.dlssOverrideFgMultiFrameFeedback,overrideMultiFrameCountId:_};return this.logger.info("mfg Drs is being updated ",f),this.bridgeService.executeCommand(U.Ts.Share.Graphicssetting.SetNGXOverrideFGState,f)}onGameStart(o,_){const f={processId:_,cmsId:o};return this.logger.info("OnGameLaunched ",f),this.restartRequiredFgx=!0,this.onGameLaunchedCommand(f)}onGameExit(){this.isValidGameRunning$.next(!1),this.currentGameInfo=void 0,this.gameDetails={cmsId:"",drsName:"",drsProfileName:""},this.restartRequiredFgx=!1,this.dlssFGSupported=!1,this.dlssSRSupported=!1,this.dlssRRSupported=!1,this.dlssSMSupported=!1,this.dlssFGEnabled=!1,this.dlssSREnabled=!1,this.dlssRREnabled=!1,this.dlssSMEnabled=!1}getDlssSrFeatureState(o){return o?this.getNGXOverrideSRState().pipe((0,O.T)(_=>(this.logger.info("DLSS SR state ",_),_?(this.dlssSREnabled=_.overrideEnabled,_.overrideEnabled?(this.perfMonService.requestNgxPolling(),"commonLabels.Inactive"):"commonLabels.ingame"):"commonLabels.ingame")),(0,k.W)(_=>(this.logger.info("Get DLSS SR state error : ",_),(0,n.of)("commonLabels.ingame")))):(this.perfMonService.setDlssSRmetric(this.translateService.instant("commonLabels.Unsupported")),(0,n.of)("commonLabels.Unsupported"))}getDlssRrFeatureState(o){return o?this.getNGXOverrideRRState().pipe((0,O.T)(_=>(this.logger.info("DLSS RR state ",_),_?(this.dlssRREnabled=_.overrideEnabled,_.overrideEnabled?(this.perfMonService.requestNgxPolling(),"commonLabels.Inactive"):"commonLabels.ingame"):"commonLabels.ingame")),(0,k.W)(_=>(this.logger.info("Get DLSS RR state error : ",_),(0,n.of)("commonLabels.ingame")))):(0,n.of)("commonLabels.Unsupported")}getDlssFgFeatureState(o){return o?this.getNGXOverrideFGState().pipe((0,O.T)(_=>(this.logger.info("DLSS FG state ",_),_?(this.dlssFGEnabled=_.overrideEnabled,_.overrideEnabled?(this.perfMonService.requestNgxPolling(),"commonLabels.Inactive"):"commonLabels.ingame"):"commonLabels.ingame")),(0,k.W)(_=>(this.logger.info("Get DLSS FG state error : ",_),(0,n.of)("commonLabels.ingame")))):(0,n.of)("commonLabels.Unsupported")}getFgxFeatureState(o){return o?this.getFgxDrsState().pipe((0,O.T)(_=>(this.logger.info("Fgx Drs state ",_),_.isFgxEnabled)),(0,P.n)(_=>_?this.getFgxFeatureDynamicState(_):(0,n.of)(void 0)),(0,P.n)(_=>{if(this.logger.info("FGX Dynamic state ",_),!_)return(0,n.of)("commonLabels.Inactive");let f="";return f=_.isFgxEnabled?"commonLabels.Active":"commonLabels.Inactive",(0,n.of)(f)}),(0,k.W)(_=>(this.logger.info("Get FGX DRS state error : ",_),(0,n.of)("commonLabels.Inactive")))):(0,n.of)("commonLabels.Unsupported")}getFgxFeatureDynamicState(o){return this.getFgxDynamicState().pipe()}}return(x=p).\u0275fac=function(o){return new(o||x)(l.KVO(l.zZn),l.KVO(I.J6),l.KVO(I.NZ),l.KVO(S.R),l.KVO(L.S),l.KVO(s.z),l.KVO(M.c$))},x.\u0275prov=l.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},75042:(xe,de,t)=>{"use strict";t.d(de,{a:()=>A});var e=t(83915),n=t(75707),E=t(14714),O=t(43848),B=t(47766),P=t(33367),k=t(73934),U=t(58527),r=t(12137);let A=(()=>{var l;class I{constructor(L,s,M,u,x){this.igoConfig=s,this.systemInfoService=M,this.bridgeService=u,this.hotKeyHelper=x,this.logger=L.getLogger("OsService")}init(){return this.logger.info("Initialize"),"GFE"===this.igoConfig.branding?this.systemInfoService.getSystemInfo([B.Lu.Platform]).pipe((0,e.T)(L=>(this.logger.info("Platform: ",L.Platform),this.isWindows=L.Platform===B.aI.Windows,this.isOptimus=!1,!0)),(0,n.ZZ)(()=>this.bridgeService.executeCommand(P.Ts.Share.Graphicssetting.GetGPUInfo)),(0,e.T)(L=>(this.isOptimus="1"===L.IsOptimus,this.logger.info("IsOptimus: ",this.isOptimus),!0)),(0,E.W)(()=>(0,O.of)(!0))):this.systemInfoService.getSystemInfo([B.Lu.Platform,B.Lu.Network]).pipe((0,e.T)(L=>(this.logger.info("Platform: ",L.Platform),this.isWindows=L.Platform===B.aI.Windows,this.isOptimus=!1,this.networkInfo=L.Network,this.logger.info("NetworkInfo: ",this.networkInfo),!0)))}getDirSeparator(){return"GFE"===this.igoConfig.branding||this.isWindows?"\\":"/"}getFileBaseSize(){return this.isWindows?1024:1e3}getQuitHotkey(){return this.bridgeService.executeCommand(P.Ts.Share.Shareserver.GetHotkeyShortcut,{hotkey:k.g8.QuitGame}).pipe((0,e.T)(L=>L.keys),(0,e.T)(L=>this.hotKeyHelper.shortcutToString(L)))}getOSType(){return this.isWindows?B.aI.Windows:B.aI.Mac}getIsOptimus(){return this.isOptimus}getNetworkInfo(){return this.networkInfo}}return(l=I).\u0275fac=function(L){return new(L||l)(U.KVO(B.J6),U.KVO(r.k),U.KVO(B.zW),U.KVO(B.NZ),U.KVO(B.Ho))},l.\u0275prov=U.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),I})()},11728:(xe,de,t)=>{"use strict";t.d(de,{B:()=>Z});var e=t(14354),n=t(26513),E=t(85735),O=t(80583),B=t(43848),P=t(31315),k=t(27731),U=t(16229),r=t(10174),A=t(72147),l=t(75707),I=t(8619),S=t(65706),L=t(14714),s=t(91384),M=t(36666),u=t(47766),x=t(33367),p=t(44968),i=t(48852),o=t(73934),_=t(23860),f=t(53914),J=t(81873),a=t(83168),D=t(54292),te=t(72238),N=t(10918),z=t(37543),R=t(58527),v=t(2688),h=t(12137),W=t(27211),ne=t(72582),ee=t(26537),b=t(65597),w=t(50801),F=t(44202);let Z=(()=>{var se;class Y{getCurrentOpenStateImmediate(){return this.currentOpenState$.value}getCurrentOpenState(){return this.currentOpenState$.asObservable()}getCurrentDesktopModeImmediate(){return"desktop"===this.currentDesktopMode$.value}getCurrentDesktopMode(){return this.currentDesktopMode$.asObservable()}getLastActiveWindow(){return this.lastActiveWindow}getCanShowUI(){return this.showUI$.asObservable()}getIsUIAllowed(){return this.showUI$.value}getHideSidebar(){return this.hideSidebar}getSidebarVisibilityChange$(){return this.sideBarVisible$.asObservable()}setHideSidebar(T){this.hideSidebar=T,this.sideBarVisible$.next(!T)}setOutsideClickState(T){this.clickOutsideSidebarState=T}getOutsideClickState(){return this.clickOutsideSidebarState}getRtxHdrStatus$(){return this.rtxHdrState$.asObservable()}getRtxHdrEnable(){return!this.inDesktopMode&&this.rtxHdrState$.value}setRtxHdrStatus(T){this.rtxHdrState$.next(T)}getNativeHdrStatus$(){return this.nativeHdrState$.asObservable()}getNativeHdrEnable(){return this.nativeHdrState$.value}isDisplayStateCheckComplete(){return this.hdrStateCheckStatus$.asObservable()}constructor(T,H,y,X,c,g,d,C,Q,j,le,ge,ie,ce,G,ue){this.featureSupportService=T,this.hotkeyService=H,this.notifierService=y,this.loggingService=X,this.bridgeService=c,this.injector=g,this.ngZone=d,this.igoConfig=C,this.telemetryIgo=Q,this.navigationService=j,this.dialog=le,this.snackBar=ge,this.browserSupportService=ie,this.projectInterfaceService=ce,this.gamepadService=G,this.clientInputService=ue,this.transitioning=!1,this.openNoInput=0,this.openWithInput=!1,this.isInteractivePersistentModeOpen=!1,this.needToOpen=!1,this.paintingAllowed=!0,this.lastActiveWindow=null,this.inDesktopMode=null,this.inFakeFSMode=null,this.inGamepadOrientedMode=null,this.isGfnBrowserDevMode=null,this.isGfnMobileMode=null,this.appInFocus=null,this.needTransitionWorkaround=!1,this.pathSegments=[],this.startingState="sidebar/main-menu",this.startingStateName=f.jb.mainMenu,this.osrHandler=null,this.applicationLifetime=null,this.quitShownHandle=null,this.useAlternateHotkeyForIGO=!1,this.currentOpenState$=new n.t("closed"),this.currentDesktopMode$=new n.t("desktop"),this.currentDisplayMode$=new n.t({}),this.currentCursorType$=new n.t({cursorId:0}),this.showUI$=new n.t(!0),this.gfnStreamerService=null,this.streamerConfigService=null,this.longPressStartDuration$=new E.m(1),this.storeDelayedState=void 0,this.osdDisplayRect=[],this.hideSidebar=!1,this.sideBarVisible$=new E.m(1),this.rtxHdrState$=new n.t(!1),this.nativeHdrState$=new n.t(!1),this.hdrStateCheckStatus$=new n.t(!1),this.visibileNotificationCount=0,this.notificationVisible$=new O.B7,this.forceOSDDisplayRectUpdate$=new O.B7,this.clickOutsideSidebarState=!0,this.isChartOrImageDialogOpen=!1,this.displayResolutionAvailable$=new E.m(1),this.streamerState$=new n.t(void 0),this.logger=this.loggingService.getLogger("OscDisplayService"),this.inGamepadOrientedMode=T.isGamepadOrientedMode(),this.isGfnBrowserDevMode=T.isGfnBrowserDevMode(),this.isGfnMobileMode=T.isGfnMobileMode(),"GFN"===this.igoConfig.branding&&(this.streamerConfigService=this.injector.get(z.zi2),this.gfnAppConfig=this.injector.get(z.Vk6)),C.Path&&(this.pathSegments=C.Path.split("/"))}doOpenWindow(T,H=!1){return this.logger.info("doOpenWindow:",T,H),u.zk.isBrowserPlatform()&&T&&this.browserSupportService.setExitPath(D.oy.IGO),null!==this.osrHandler?this.osrHandler.open(T).pipe((0,r.u)(null)):(!T&&H?setTimeout(()=>{this.openNoInput>0&&!this.openWithInput&&this.setDisplayRects().subscribe()},1e3):T?this.unsetDisplayRects().subscribe():this.setDisplayRects().subscribe(),this.bridgeService.executeCommand(x.Ts.Share.Osc.OpenWindow,{enableInput:T}))}getLongPressDuration(){return this.streamerConfigService.config$.pipe((0,A.n)(T=>{this.logger.info("Streamer config received and long press duration will be checked ",T.cmsId);const H=T.cmsId.toString(),y=this.gfnAppConfig.igo.gamepadLongStartPressDurationOverride;if(y&&y.hasOwnProperty(H)){const X=y[H];return this.logger.info("Long press start duration will be increased for the game ",X),(0,B.of)(X)}return this.logger.info("Long press start duration will not be increased for the game ",this.gfnAppConfig.gamepadConfig.longPressDuration),(0,B.of)(this.gfnAppConfig.gamepadConfig.longPressDuration)}))}doCloseWindow(T){this.logger.info("doCloseWindow:"),u.zk.isBrowserPlatform()&&this.browserSupportService.resetExitPath(),null===this.osrHandler?(this.unsetDisplayRects().subscribe(),this.hdrStateCheckStatus$.next(!1),this.bridgeService.executeCommand(x.Ts.Share.Osc.CloseWindow).subscribe()):this.osrHandler.close().subscribe()}setDisplayRects(){return this.featureSupportService.isRectOptimizationEnabled()&&"GFE"===this.igoConfig.branding?(this.logger.info("setDisplayRects, visibileNotificationCount:",this.visibileNotificationCount),(0,B.of)(this.visibileNotificationCount).pipe((0,l.ZZ)(T=>T>0?this.notificationVisible$.asObservable():(0,B.of)(!1)),(0,I.p)(T=>!T),(0,S.s)(1),(0,l.ZZ)(()=>{if(this.openWithInput||this.isInteractivePersistentModeOpen)return this.logger.info("skipping setDisplayRects, interactive IGO up"),(0,B.of)("true");const T=this.osdDisplayRect;return this.logger.info("setDisplayRects:",T),this.bridgeService.executeCommand(x.Ts.Share.Osc.SetDisplayRects,{displayRects:T})}),(0,L.W)(()=>(0,B.of)("Error setting display rects")))):(0,B.of)("")}unsetDisplayRects(){return this.featureSupportService.isRectOptimizationEnabled()&&"GFE"===this.igoConfig.branding?(this.logger.info("unsetDisplayRects"),this.bridgeService.executeCommand(x.Ts.Share.Osc.SetDisplayRects,{displayRects:[]}).pipe((0,L.W)(()=>(0,B.of)("Error setting display rects")))):(0,B.of)("")}init(){if(this.logger.info("initialized osc display"),this.router=this.injector.get(e.Ix),!0===this.igoConfig.GFNCefClient&&this.igoConfig.IGOFeatureEnabled){const X=this.injector.get(J.Gm);X&&(this.osrHandler=X.createOsrHandler("OscDisplayService")),this.applicationLifetime=this.injector.get(p.lM),this.applicationLifetime&&(this.quitShownHandle=this.applicationLifetime.addWorkOnShutdownRequested(this.gfnQuitting.bind(this))),this.showUI$.next(!1),this.gfnStreamerService=this.injector.get(a.cp),this.gfnStreamerService.getCurrentStateChanges().subscribe(c=>{this.logger.info("streaming state change: ",c),this.streamerState$.next(c),c===a.H.Streaming?this.gfnStreamingEnter():this.gfnStreamingExit()}),this.projectInterfaceService.triggerCloseIGO.subscribe(c=>{c&&this.closeOSC(D.oy.QuitGath)}),this.projectInterfaceService.triggerOpenIGOSystemSettings.subscribe(c=>{c&&this.openOSC("sidebar/settings/system")}),this.featureSupportService.isInputControlEnabled()&&this.clientInputService.inputControlUIOpened$.pipe((0,I.p)(c=>c)).subscribe(()=>{this.closeOSC()}),this.clientInputService.imeOpened$.subscribe(c=>{c&&this.closeOSC()})}else{var T;this.aiChatboxService=this.injector.get(te.D),null===(T=this.aiChatboxService)||void 0===T||T.getIsChartOrImageDialogChangedEvent().subscribe(X=>{this.isChartOrImageDialogOpen=!0}),(0,P.zV)([this.currentCursorType$,this.currentDisplayMode$]).pipe((0,A.n)(([X,c])=>null!=c&&c.fullscreen?(this.logger.info("Sending cursor info to CEF",X.cursorId),this.bridgeService.executeCommand(x.Ts.Share.Osc.SetCursorInfo,{cursorId:X.cursorId})):(0,B.of)(null))).subscribe()}this.router.events.subscribe(X=>{X instanceof e.Z?this.preNavigate(X.url):X instanceof e.wF&&this.postNavigate()}),this.useAlternateHotkeyForIGO=this.featureSupportService.usesAlternateHotkeyForIGO(),this.bridgeService.executeCommand(x.Ts.Share.Shareserver.RegisterWindowStateChangeNotifications).subscribe(X=>this.windowEvent(X));const H=(0,P.zV)([this.projectInterfaceService.enableListener,this.getCanShowUI()]).pipe((0,A.n)(([X,c])=>X&&c?this.useAlternateHotkeyForIGO?this.gamepadService.onButtonComboPressed$([i.dt.DpadUp,i.dt.LeftBumper]).pipe((0,I.p)(g=>g),(0,s.M)(g=>this.logger.info("IGO hotkey combination buttons pressed."))):this.getCurrentOpenState().pipe((0,A.n)(g=>{const d=this.gamepadService.onButtonPressed$(i.dt.Start).pipe((0,I.p)(C=>!1===C));return"closed"===g?this.getLongPressDuration().pipe((0,A.n)(C=>(this.logger.info("Received long press duration ",C),this.gamepadService.onButtonLongPressed$(i.dt.Start,C)))):d.pipe((0,M.i)(1))})):k.t)),y=this.inGamepadOrientedMode?(0,U.h)(this.hotkeyService.listen(o.g8.OpenIGO),H):this.hotkeyService.listen(o.g8.OpenIGO);this.isGfnMobileMode||y.subscribe(()=>this.toggleOSCFromHotkey()),this.igoConfig.GFNCefClient||(this.bridgeService.executeCommand(x.Ts.Share.Osc.RegisterCloseCommand).subscribe(()=>{this.aiChatboxService.takeChatBoxToNonInteractiveMode(),this.closeOSC()}),this.bridgeService.executeCommand(x.Ts.Share.Osc.RegisterResizeEvent).subscribe(()=>{this.handleOSCResize()}))}preNavigate(T){"/"!==T&&(this.bridgeService.executeCommand(x.Ts.Share.Osc.SetPainting,{enablePainting:!1}).subscribe(),this.paintingAllowed=!1),this.needToOpen&&(this.needToOpen=!1,this.doOpenWindow(!0).subscribe(H=>{H&&"noWindow"!==H&&(this.lastActiveWindow=H),this.notifyOverlayState(!0),this.telemetryIgo.sendStartupTelemetry()}))}postNavigate(){this.needTransitionWorkaround?(this.needTransitionWorkaround=!1,this.router.navigate([...this.pathSegments,{outlets:{igo:[this.startingState]}}]),this.logger.info("Going to starting state now")):(this.paintingAllowed||(this.bridgeService.executeCommand(x.Ts.Share.Osc.SetPainting,{enablePainting:!0}).subscribe(),this.paintingAllowed=!0),this.transitioning=!1)}windowEvent(T){if(null!=T)if(this.logger.info("Window event: ",T),"dismiss"===T.windowMsg)this.aiChatboxService.takeChatBoxToNonInteractiveMode(),this.closeOSC();else if("fullscreenTransition"===T.windowMsg)null!==this.inDesktopMode&&(this.openNoInput||this.openWithInput)&&("toDesktop"===T.direction&&!this.currentDisplayMode.fullscreen||this.aiChatboxService.takeChatBoxToNonInteractiveMode(),this.getFSMode().subscribe(c=>{if(this.logger.info("new display state: ",c),this.logger.info("current display state: ",this.currentDisplayMode),!c)return;const g=!c.fullscreen;let d=!1;!g&&this.currentDisplayMode&&(c.width!==this.currentDisplayMode.width||c.height!==this.currentDisplayMode.height)&&(d=!0),this.currentDisplayMode=c,(g!==this.inDesktopMode||!g&&c.borderlessMode!==this.inFakeFSMode||d)&&(this.inDesktopMode=g,this.inFakeFSMode=c.borderlessMode,this.currentDisplayMode$.next(this.currentDisplayMode),this.triggerForcedDisplayRectUpdate(),this.transitionDisplayFullscreen(),this.logger.info("closing OSC because of state change"))}));else if("overlayToggle"===T.windowMsg)this.toggleOSCFromHotkey();else if("showPreferences"===T.windowMsg)this.hotkeyService.triggerHotkeyCallbacks(o.g8.ChatUIToggle);else if("showHotkeyMessage"===T.windowMsg){var H,y;const X="GFE"===this.igoConfig.branding?"product.NVIDIA":"product.GFN",c="GFE"===this.igoConfig.branding?_.Ed.OpenShareNvApp:_.Ed.OpenShare;this.inGamepadOrientedMode&&!this.useAlternateHotkeyForIGO?this.notifierService.show(c,X,"","","",{useAlternativeMessage:_.wz.Message1}):this.inGamepadOrientedMode&&this.useAlternateHotkeyForIGO?this.notifierService.show(c,"notification.HotkeyForXbox",X):!this.featureSupportService.isGuestAppFlowWrapper()||this.featureSupportService.isGfnMobileMode()||null!==(H=this.featureSupportService.getForceTouchModeSettings())&&void 0!==H&&H.useOsc?!this.isGfnMobileMode&&(null===(y=this.featureSupportService.getForceTouchModeSettings())||void 0===y||!y.useOsc)&&this.hotkeyService.getHotkeyString(x.Or.Share.Shareserver.HotkeyEnum.OpenIGO).subscribe(g=>{g&&g.length&&this.notifierService.show(c,g,X)}):(0,P.zV)([this.hotkeyService.getHotkeyString(x.Or.Share.Shareserver.HotkeyEnum.OpenIGO),this.featureSupportService.isGfnMicrophoneEnabled()]).pipe((0,S.s)(1)).subscribe(([g,d])=>{g&&g.length&&this.notifierService.show(c,g,"","","",{useAlternativeMessage:d?_.wz.Message2:_.wz.Message3,useAlternativeIcon:!0})})}}fetchDisplayResolution(){this.featureSupportService.enlargeIGOTextFont()?this.bridgeService.executeCommand(x.Ts.Gfn.Streaming.GetDisplayMode).pipe((0,S.s)(1)).subscribe(T=>{this.logger.info("Received display resolution details ",T),T.logical.width<=N.im&&T.logical.height<=N.$S?(this.logger.info("using smaller display resolution"),this.displayResolutionAvailable$.next(!0)):(this.logger.info("not using smaller display resolution"),this.displayResolutionAvailable$.next(!1))}):(this.logger.info("Resolution check skipped, overlay resolution will be set to 1080p"),this.displayResolutionAvailable$.next(!1))}gfnStreamingEnter(){this.showUI$.next(!0),this.displayResolutionAvailable$.pipe((0,S.s)(1),(0,l.ZZ)(T=>{this.logger.info("gfnStreamingEnter ",T);let H={width:N.im,height:N.$S};return T&&(H={width:N.xs,height:N.W6}),this.bridgeService.executeCommand(x.Ts.Gfn.Streaming.OsrSetOverlayResolution,{width:H.width,height:H.height})})).subscribe(),this.storeDelayedState&&this.storeDelayedState.state&&this.storeDelayedState.state.length>0&&setTimeout(()=>{this.openOSC(this.storeDelayedState.state,this.storeDelayedState.stateParams),this.storeDelayedState=void 0},500)}gfnStreamingExit(){this.getIsUIAllowed()&&(this.showUI$.next(!1),this.closeAll(),this.bridgeService.executeCommand(x.Ts.Gfn.Streaming.OsrSetOverlayResolution,{width:0,height:0}).subscribe())}gfnQuitting(){return this.openWithInput&&this.closeOSC(),(0,B.of)(!1)}getFSMode(){return this.bridgeService.executeCommand(x.Ts.Share.Osc.FullscreenState)}getAppInFocus(){return this.appInFocus}requestAppInFocus(){return this.bridgeService.executeCommand(x.Ts.Share.Shareserver.GetCaptureProcessInfo,{appType:x.Or.Share.Shareserver.AppType.in_focus}).pipe((0,l.ZZ)(T=>(this.logger.info("requestAppInFocus: success ",T),this.appInFocus=T,(0,B.of)(!0))),(0,L.W)(T=>(this.logger.info("requestAppInFocus: error ",T),(0,B.of)(!0))))}closeAll(){for(this.openWithInput&&this.closeOSC();this.openNoInput>0;)this.closeNonInteractiveOSC();this.doCloseWindow()}openOSC(T=null,H={}){this.logger.info("OpenOSC"),!this.transitioning&&(this.clientInputService.imeInputInProgress&&setTimeout(()=>{this.clientInputService.closeImeInput()}),this.featureSupportService.isInputControlEnabled()&&this.clientInputService.toggleInputControlUI(!1),this.requestAppInFocus().subscribe(()=>{this.openSelectedOSC(T,H)}))}openSelectedOSC(T=null,H={}){if(this.showUI$.value)return!T&&""!==T&&(T=this.startingState),this.router.url===this.startingState&&(this.needTransitionWorkaround=!0,T=null,this.logger.info("Need transition workaround")),this.openWithInput||(this.transitioning=!0,this.openWithInput=!0,this.needToOpen=!0,this.currentOpenState$.next("open")),this.checkDisplayState(),T&&""!==T?void this.navigationService.navigate([...this.pathSegments,{outlets:{igo:[...T.split("/"),H]}}],{skipLocationChange:!0},this.startingStateName):(this.preNavigate("/"),void this.postNavigate());this.storeDelayedState={state:T,stateParams:H}}navigateToNull(){return this.navigationService.navigate([...this.pathSegments,{outlets:{igo:null}}],{skipLocationChange:!0},f.jb.none)}closeOSC(T){if(this.logger.info("closeOSC"),this.openWithInput&&!this.transitioning){if(this.isChartOrImageDialogOpen||this.dialog.closeAll(),this.snackBar.dismiss(),this.appInFocus=null,this.openWithInput=!1,this.navigateToNull().then(H=>{H||(this.logger.info("navigation failed, retrying"),setTimeout(()=>{this.navigateToNull()},100))},H=>{this.logger.info("navigation rejected: ",H),setTimeout(()=>{this.navigateToNull()},100)}),this.currentOpenState$.next("closed"),this.notifyOverlayState(!1),this.isInteractivePersistentModeOpen)return void this.logger.info("InteractivePersistentModeOpen, skipping window close");this.openNoInput>0?(this.logger.info("Open OSC without input"),this.doOpenWindow(!1,!0).subscribe(),setTimeout(()=>{this.setDisplayRects().subscribe()})):(this.logger.info("Close OSC"),this.doOpenWindow(!1,!0).subscribe(),setTimeout(()=>{0===this.openNoInput&&!this.openWithInput&&this.doCloseWindow(T)},1e3))}}openNonInteractiveOSC(){if(this.logger.info("openNonInteractiveOSC"),!this.showUI$.value)return;this.checkDisplayState();const T=0===this.openNoInput;this.openNoInput+=1,T?this.openWithInput||(this.logger.info("Open OSC without input"),this.doOpenWindow(!1).subscribe()):this.logger.info("Non-interactive overlay already up")}closeNonInteractiveOSC(){this.logger.info("closeNonInteractiveOSC"),0!==this.openNoInput&&(this.openNoInput-=1,this.openNoInput<0&&(this.openNoInput=0),setTimeout(()=>{0===this.openNoInput&&!this.openWithInput&&(this.logger.info("Close OSC"),this.doCloseWindow(D.oy.OscNotification))},5e3))}convertRect(T){return T.map(H=>({x:Math.round(H.x),y:Math.round(H.y),width:Math.round(H.width),height:Math.round(H.height)}))}setOSDDisplayRectangles(T){this.osdDisplayRect=this.convertRect(T),this.openNoInput>0&&!this.openWithInput&&this.setDisplayRects().subscribe()}transitionDisplayFullscreen(){if(!(this.openNoInput<=0)||this.openWithInput){if(this.openWithInput){if(!(this.dialog.openDialogs.length>0))return this.logger.info("Interactive ui is up during FS transition, closing it"),void this.closeOSC();this.logger.info("Dialog open during FS transition")}this.doCloseWindow(),setTimeout(()=>{this.logger.info("Reopening OSC after state change"),this.doOpenWindow(this.openWithInput).subscribe(()=>{this.inDesktopMode&&this.ngZone.run(()=>{this.logger.info("Refreshing ui on switching to DT mode")})}),this.currentDesktopMode$.next(this.inDesktopMode?"desktop":"fullscreen")},1e3)}}setNotificationStart(){this.visibileNotificationCount++,this.notificationVisible$.next(!0),this.unsetDisplayRects().subscribe()}setNotificationStop(){this.visibileNotificationCount--,this.visibileNotificationCount<0&&(this.logger.error("Something is wrong, visibileNotificationCount < 0"),this.visibileNotificationCount=0),0===this.visibileNotificationCount&&this.notificationVisible$.next(!1),this.setDisplayRects().subscribe()}registerForcedDisplayRectUpdate(){return this.forceOSDDisplayRectUpdate$.asObservable()}triggerForcedDisplayRectUpdate(){this.forceOSDDisplayRectUpdate$.next(!0)}getCurrentDisplayMode(){return this.currentDisplayMode$.asObservable()}setCurrentCursorShape(T){this.currentCursorType$.next(T)}checkDisplayState(){this.getFSMode().subscribe(T=>{var H,y;if(!T)return;this.logger.info("display state:",T);const c=this.inDesktopMode!==!T.fullscreen||T.width!==(null===(H=this.currentDisplayMode)||void 0===H?void 0:H.width)||T.height!==(null===(y=this.currentDisplayMode)||void 0===y?void 0:y.height);this.currentDisplayMode=T,this.inDesktopMode=!T.fullscreen,this.inDesktopMode&&(T.hdrMode=!1),c&&this.currentDisplayMode$.next(this.currentDisplayMode),this.nativeHdrState$.next(T.hdrMode)},T=>{this.logger.info("Could not query fs state: ",T),this.inDesktopMode=!0,this.hdrStateCheckStatus$.next(!0)},()=>{this.currentDesktopMode$.next(this.inDesktopMode?"desktop":"fullscreen"),this.hdrStateCheckStatus$.next(!0)})}notifyOverlayState(T){}toggleOSCFromHotkey(){this.transitioning||(this.openWithInput?this.closeOSC():(this.telemetryIgo.beginStartupTimer(f.gh.openHotkey),this.openOSC()))}handleOSCResize(){this.logger.info("handleOSCResize"),this.triggerForcedDisplayRectUpdate()}getInteractiveModeForPersistentOverlay(){return this.logger.info("getInteractiveModeForPersistentOverlay:",this.isInteractivePersistentModeOpen),this.isInteractivePersistentModeOpen}openInteractiveModeForPersistentOverlay(){this.logger.info("openInteractiveModeForPersistentOverlay, openWithInput",this.openWithInput),this.isInteractivePersistentModeOpen=!0,!this.openWithInput&&setTimeout(()=>{this.currentOpenState$.next("open"),this.doOpenWindow(!0).subscribe()},100)}closeInteractiveModeForPersistentOverlay(){this.logger.info("closeInteractiveModeForPersistentOverlay, openWithInput",this.openWithInput),this.isInteractivePersistentModeOpen=!1,!this.openWithInput&&setTimeout(()=>{this.currentOpenState$.next("closed"),this.doOpenWindow(!1).subscribe()},100)}}return(se=Y).\u0275fac=function(T){return new(T||se)(R.KVO(v.R),R.KVO(o.QS),R.KVO(_.mb),R.KVO(u.J6),R.KVO(u.NZ),R.KVO(R.zZn),R.KVO(R.SKi),R.KVO(h.k),R.KVO(W.S),R.KVO(ne.o),R.KVO(ee.bZ),R.KVO(b.UG),R.KVO(D.vT),R.KVO(w.qQ),R.KVO(i.bi),R.KVO(F.$))},se.\u0275prov=R.jDH({token:se,factory:se.\u0275fac,providedIn:"root"}),Y})()},23860:(xe,de,t)=>{"use strict";t.d(de,{Ed:()=>U,Jk:()=>r,mb:()=>I,wz:()=>A});var e=t(80583),n=t(43848),E=t(93181),O=t(14714),B=t(91384),P=t(58527),k=t(47766),U=function(S){return S[S.Empty=0]="Empty",S[S.OpenShare=1]="OpenShare",S[S.OpenShareNvApp=2]="OpenShareNvApp",S[S.InstantReplayStarted=3]="InstantReplayStarted",S[S.InstantReplayStopped=4]="InstantReplayStopped",S[S.InstantReplaySaving=5]="InstantReplaySaving",S[S.InstantReplaySaved=6]="InstantReplaySaved",S[S.RecordStarted=7]="RecordStarted",S[S.RecordSaving=8]="RecordSaving",S[S.RecordStopped=9]="RecordStopped",S[S.ScreenshotSaved=10]="ScreenshotSaved",S[S.PhotographicScreenshotSavedToGallery=11]="PhotographicScreenshotSavedToGallery",S[S.WarningFullscreenGameRequired=12]="WarningFullscreenGameRequired",S[S.WarningRecordingStopToCustomize=13]="WarningRecordingStopToCustomize",S[S.WarningHighlightsStopToCustomize=14]="WarningHighlightsStopToCustomize",S[S.WarningRecordingStopToUseFeature=15]="WarningRecordingStopToUseFeature",S[S.WarningInstantReplayStopToUseFeature=16]="WarningInstantReplayStopToUseFeature",S[S.WarningSupportedGameRequired=17]="WarningSupportedGameRequired",S[S.WarningNvidiaGpuRequired=18]="WarningNvidiaGpuRequired",S[S.HighlightsSaved=19]="HighlightsSaved",S[S.FailedToRemove=20]="FailedToRemove",S[S.GalleryIsFull=21]="GalleryIsFull",S[S.DiskSpaceIsLow=22]="DiskSpaceIsLow",S[S.NoSpaceCaptureNotSaved=23]="NoSpaceCaptureNotSaved",S[S.NoSpaceCaptureNotStarted=24]="NoSpaceCaptureNotStarted",S[S.ErrorRestartGame=25]="ErrorRestartGame",S[S.PhotoModeNotAllowedNvApp=26]="PhotoModeNotAllowedNvApp",S[S.PhotoModeNotAllowed=27]="PhotoModeNotAllowed",S[S.CustomOverlaySlotEmpty=28]="CustomOverlaySlotEmpty",S[S.ManualRecordRunning=29]="ManualRecordRunning",S[S.ConnectingToGfnBroadcast=30]="ConnectingToGfnBroadcast",S[S.ConnectedToGfnBroadcast=31]="ConnectedToGfnBroadcast",S[S.FailedToConnectGfnBroadcast=32]="FailedToConnectGfnBroadcast",S[S.DisconnectedFromGfnBroadcast=33]="DisconnectedFromGfnBroadcast",S[S.NetworkSpottyConnection=34]="NetworkSpottyConnection",S[S.NetworkBadConnection=35]="NetworkBadConnection",S[S.OnscreenKeyboardUsage=36]="OnscreenKeyboardUsage",S[S.HDRErrorRecord=37]="HDRErrorRecord",S[S.HDRErrorScreenshot=38]="HDRErrorScreenshot",S[S.HDRErrorHighlight=39]="HDRErrorHighlight",S[S.PerfMonLogging=40]="PerfMonLogging",S[S.PerfMonRectAlignmentWarning=41]="PerfMonRectAlignmentWarning",S[S.PerfMonRfiWarning=42]="PerfMonRfiWarning",S[S.ProtectedContentWarning=43]="ProtectedContentWarning",S[S.HighlightsSavedToGallery=44]="HighlightsSavedToGallery",S[S.GAssistLaunchError=45]="GAssistLaunchError",S[S.GAssistChartDataSaved=46]="GAssistChartDataSaved",S[S.GAssistChartDataSaveError=47]="GAssistChartDataSaveError",S}(U||{}),r=function(S){return S[S.Empty=0]="Empty",S[S.OpenOverlay=1]="OpenOverlay",S[S.ConnectionStatus=2]="ConnectionStatus",S[S.SaveIRToGallery=3]="SaveIRToGallery",S[S.SaveMRToGallery=4]="SaveMRToGallery",S[S.SaveSSToGallery=5]="SaveSSToGallery",S[S.SaveHLToGallery=6]="SaveHLToGallery",S[S.IROnOff=7]="IROnOff",S[S.MROn=8]="MROn",S[S.RecordHDRError=9]="RecordHDRError",S[S.HighlightHDRError=10]="HighlightHDRError",S[S.ScreenshotHDRError=11]="ScreenshotHDRError",S[S.ProtectedContentWarning=12]="ProtectedContentWarning",S[S.SaveHLFromTempToGallery=13]="SaveHLFromTempToGallery",S}(r||{}),A=function(S){return S[S.None=0]="None",S[S.Message1=1]="Message1",S[S.Message2=2]="Message2",S[S.Message3=3]="Message3",S}(A||{});const l={useAlternativeMessage:A.None,useAlternativeIcon:!1,useAlternativeIconClass:""};let I=(()=>{var S;class L{constructor(M,u){this.loggingService=M,this.dbService=u,this.notification$=new e.B7,this.globalStore=null,this.igoNotifications="IgoNotifications",this.globalToggleStore="GlobalToggle",this.globalState=!0,this.initialState=!0,this.controls=[{saveStr:"noteOverlay",control:r.OpenOverlay,enable:this.initialState,controlledNotifiers:[U.OpenShare,U.OpenShareNvApp]},{saveStr:"noteSaveIR",control:r.SaveIRToGallery,enable:this.initialState,controlledNotifiers:[U.InstantReplaySaving,U.InstantReplaySaved]},{saveStr:"noteSaveMR",control:r.SaveMRToGallery,enable:this.initialState,controlledNotifiers:[U.RecordSaving,U.RecordStopped]},{saveStr:"noteSaveSS",control:r.SaveSSToGallery,enable:this.initialState,controlledNotifiers:[U.ScreenshotSaved,U.PhotographicScreenshotSavedToGallery]},{saveStr:"noteSaveHL",control:r.SaveHLToGallery,enable:this.initialState,controlledNotifiers:[U.HighlightsSaved]},{saveStr:"noteOnOffIR",control:r.IROnOff,enable:this.initialState,controlledNotifiers:[U.InstantReplayStarted,U.InstantReplayStopped]},{saveStr:"noteOnMR",control:r.MROn,enable:this.initialState,controlledNotifiers:[U.RecordStarted]},{saveStr:"noteConnectionStatus",control:r.ConnectionStatus,enable:this.initialState,controlledNotifiers:[U.NetworkSpottyConnection,U.NetworkBadConnection]},{saveStr:"noteHDRErrorScreenshot",control:r.ScreenshotHDRError,enable:this.initialState,controlledNotifiers:[U.HDRErrorScreenshot]},{saveStr:"noteHDRErrorHighlight",control:r.HighlightHDRError,enable:this.initialState,controlledNotifiers:[U.HDRErrorHighlight]},{saveStr:"noteHDRErrorRecord",control:r.RecordHDRError,enable:this.initialState,controlledNotifiers:[U.HDRErrorRecord]},{saveStr:"noteProtectedContentWarning",control:r.ProtectedContentWarning,enable:this.initialState,controlledNotifiers:[U.ProtectedContentWarning]},{saveStr:"noteSaveHLToGallery",control:r.SaveHLFromTempToGallery,enable:this.initialState,controlledNotifiers:[U.HighlightsSavedToGallery]}],this.logger=this.loggingService.getLogger("OscNotificationService"),this.globalStore=this.dbService.getGlobalStore(this.igoNotifications)}getOscEvents(){return this.notification$.asObservable()}showInternal(M,u,x="",p="",i="",o="",_=l){this.isNotificationBlocked(M)||this.notification$.next({selection:M,arg1:x,arg2:p,flip:u,thumb:o,alternateNotificationData:_})}show(M,u="",x="",p="",i="",o=l){this.showInternal(M,!1,u,x,p,i,o)}flipTo(M,u="",x="",p="",i="",o=l){this.showInternal(M,!0,u,x,p,i,o)}init(){const M=this.globalStore.getItem(this.globalToggleStore).subscribe(u=>{void 0!==u&&(this.globalState=u)},u=>{this.logger.error("Failed to read global notification state",u)},()=>{M.unsubscribe()});this.controls.forEach(u=>{const x=this.globalStore.getItem(u.saveStr).subscribe(p=>{u.enable=void 0===p?this.initialState:p},p=>{this.logger.error("Failed to read Notification Control in database: ",p)},()=>{x.unsubscribe()})})}getNotificationControls(){return this.controls}setNotificationControl(M,u){const x=this.controls.find(i=>i.control===M);x&&(x.enable=u);const p=this.globalStore.setItem(x.saveStr,x.enable).subscribe(()=>{p.unsubscribe(),this.logger.info("Notification Control Stored: "+x.saveStr+" Value: "+x.enable)})}isNotificationBlocked(M){let u=!1;return this.controls.forEach(x=>{x.controlledNotifiers.forEach(p=>{p===M&&(u=!x.enable||!this.globalState)})}),u}getGlobalToggle(){return this.globalState}setGlobalToggle(M){this.globalState=M;const u=this.globalStore.setItem(this.globalToggleStore,this.globalState).subscribe({complete:()=>{u.unsubscribe()}})}loadGFEMigrationData(M){const u=M["notification-settings"];if(!u)return this.logger.info("No valid notification data found in GFE backup"),(0,n.of)(null);this.logger.info("Porting GFE backup data");const x={noteOverlay:"openShare",noteSaveIR:"savedIR",noteSaveMR:"savedMR",noteSaveSS:"savedSS",noteSaveHL:"savedHL",noteOnOffIR:"IROnOff",noteOnMR:"MRStarted",noteHDRErrorScreenshot:"screenshotHDRError",noteHDRErrorHighlight:"hlHDRError",noteHDRErrorRecord:"recordHDRError",noteProtectedContentWarning:"protectedContentWarning"};let p=!0;const i=[];return Object.keys(x).forEach(o=>{const _=u[x[o]];void 0!==_&&i.push(this.globalStore.setItem(o,_).pipe((0,O.W)(f=>(this.logger.error("GFE migrations indexDb update failed",f),(0,n.of)(null))))),_&&(p=!1)}),p&&i.push(this.globalStore.setItem(this.globalToggleStore,!1).pipe((0,O.W)(o=>(this.logger.error("GFE migrations indexDb update failed",o),(0,n.of)(null))))),(0,E.p)(i).pipe((0,B.M)(o=>this.logger.info("Notification data migrated from GFE")))}}return(S=L).\u0275fac=function(M){return new(M||S)(P.KVO(k.J6),P.KVO(k.at))},S.\u0275prov=P.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},10132:(xe,de,t)=>{"use strict";t.d(de,{QY:()=>M,VH:()=>L,au:()=>u,hc:()=>s,lb:()=>S});var e=t(80583),n=t(35146),E=t(43848),O=t(93181),B=t(91384),P=t(10174),k=t(14714),U=t(33452),r=t(58527),A=t(47766),l=t(12137),I=t(2688),S=function(x){return x.Recording="Recording",x.IR="IR",x.Highlights="Highlights",x.Broadcast="Broadcast",x.Mic="Mic",x.ViewerCount="ViewerCount",x.Comments="Comments",x.Webcam="Webcam",x.WebcamSize="WebcamSize",x.GfnMic="GfnMic",x.PerfLogging="PerfLogging",x.Statistics="Statistics",x.StatsSize="StatsSize",x.Network="Network",x.Performance="Performance",x.AIChatbox="AIChatbox",x}(S||{}),L=function(x){return x.rightTop="rightTop",x.rightCenter="rightCenter",x.rightBottom="rightBottom",x.centerBottom="centerBottom",x.leftBottom="leftBottom",x.leftCenter="leftCenter",x.leftTop="leftTop",x.centerTop="centerTop",x.none="none",x}(L||{}),s=function(x){return x.small="small",x.medium="medium",x.large="large",x}(s||{}),M=function(x){return x.compact="compact",x.standard="standard",x}(M||{});let u=(()=>{var x;class p{constructor(o,_,f,J,a,D){this.injector=o,this.dbService=_,this.igoConfig=f,this.featureSupportService=J,this.loggingService=a,this.localeService=D,this.osdChanged$=new e.B7,this.globalStore=null,this.dbStoreName="IgoIndicatorSettings",this.overlaySettings={Recording:L.rightTop,IR:L.rightTop,Highlights:L.rightTop,Mic:L.rightTop,Broadcast:L.rightTop,ViewerCount:L.rightTop,Comments:L.rightTop,GfnMic:L.rightTop,Statistics:L.none,StatsSize:M.compact,Network:L.none,Performance:L.rightTop,PerfLogging:L.rightTop,AIChatbox:L.rightTop},this.logger=this.loggingService.getLogger("OsdService"),"GFN"===this.igoConfig.branding?this.overlaySettings.Statistics=this.localeService.isRTLLayoutEnabled?L.leftTop:L.rightTop:(this.perfMonService=this.injector.get(U.z),this.overlaySettings.Recording=L.rightBottom,this.overlaySettings.IR=L.rightBottom,this.overlaySettings.Mic=L.rightBottom,this.overlaySettings.Highlights=L.rightBottom,this.overlaySettings.PerfLogging=L.rightBottom,this.featureSupportService.isGAssistFeatureAvailable()&&(this.overlaySettings.AIChatbox=L.rightBottom)),this.featureSupportService.isConnectionStatusEnabled()&&this.featureSupportService.isGfnMobileMode()&&(this.overlaySettings.Network=L.rightTop),this.globalStore=this.dbService.getGlobalStore(this.dbStoreName)}init(){var o;const _=[];Object.keys(this.overlaySettings).forEach(f=>{this.getAndSetOverriddenPositionSetting(f);const J=this.globalStore.getItem(f).pipe((0,B.M)(a=>{const D=L[a],te=M[a];void 0!==D?this.overlaySettings[f]=D:void 0!==te&&(this.overlaySettings[f]=te)}));_.push(J)}),(0,n.yU)(..._).subscribe(()=>{var f;null===(f=this.perfMonService)||void 0===f||f.setPerfOverlayQuadrant(this.overlaySettings[S.Performance]),this.triggerChange(null)}),null===(o=this.perfMonService)||void 0===o||o.listenVisibilityChanges().subscribe(f=>{this.logger.info("listenVisibilityChanges:",f),this.overlaySettings.Performance===L.none&&f&&(this.overlaySettings.Performance=L.rightTop,this.saveOverlaySettings().subscribe()),this.triggerChange(S.Performance)})}saveOverlaySettings(o=!1){const _=[];return Object.keys(this.overlaySettings).forEach(f=>{const J=this.globalStore.setItem(f,this.overlaySettings[f]);_.push(J)}),(0,n.yU)(..._).pipe((0,B.M)(()=>{o||this.triggerChange(null)}),(0,P.u)(!0))}getPosition(o){return this.overlaySettings[o]}setPosition(o,_){this.overlaySettings[o]=_,o===S.Performance&&this.perfMonService.setPerfOverlayQuadrant(_)}getStatsSize(){return this.overlaySettings[S.StatsSize]}setStatsSize(o){this.overlaySettings[S.StatsSize]=o}getOsdIndicatorSize(o){return this.overlaySettings[o]}setOsdIndicatorSize(o,_){this.overlaySettings[o]=_}listenChanges(){return this.osdChanged$.asObservable()}triggerChange(o){this.osdChanged$.next(o)}indexDbUpdateGfeMigration(o,_){return this.globalStore.setItem(o,_).pipe((0,k.W)(f=>(this.logger.error("GFE migrations indexDb update failed",f),(0,E.of)(null))))}loadGFEMigrationData(o){var _,f;const J=o["osd-storage"];if(!J)return this.logger.info("No valid data found in GFE backup"),(0,E.of)(null);this.logger.info("Porting GFE backup data");const a={RightTop:L.rightTop,RightBottom:L.rightBottom,LeftBottom:L.leftBottom,LeftTop:L.leftTop},D=[];if(null!==(_=J.Status)&&void 0!==_&&_.enabled){const te=J.Status.position;a[te]&&(D.push(this.indexDbUpdateGfeMigration(S.Recording,a[te])),D.push(this.indexDbUpdateGfeMigration(S.IR,a[te])),D.push(this.indexDbUpdateGfeMigration(S.Mic,a[te])),D.push(this.indexDbUpdateGfeMigration(S.Highlights,a[te])))}if(null!==(f=J.Performance)&&void 0!==f&&f.enabled){const te=J.Performance.position;a[te]&&D.push(this.indexDbUpdateGfeMigration(S.Performance,a[te]))}return(0,O.p)(D).pipe((0,B.M)(te=>this.logger.info("OSD settings migrated from GFE")))}getAndSetOverriddenPositionSetting(o){let _=null;var f;if(o===S.GfnMic)_=null!==(f=this.featureSupportService.getOverriddenMicPosition())&&void 0!==f?f:null;else if(o===S.Network){var J;_=null!==(J=this.featureSupportService.getOverriddenNetworkStatusIconPosition())&&void 0!==J?J:null}else if(o===S.Statistics){var a;_=null!==(a=this.featureSupportService.getOverriddenStatisticsPosition())&&void 0!==a?a:null}_&&(this.overlaySettings[o]=_)}}return(x=p).\u0275fac=function(o){return new(o||x)(r.KVO(r.zZn),r.KVO(A.at),r.KVO(l.k),r.KVO(I.R),r.KVO(A.J6),r.KVO(A.iH))},x.\u0275prov=r.jDH({token:x,factory:x.\u0275fac,providedIn:"root"}),p})()},27271:(xe,de,t)=>{"use strict";t.d(de,{Az:()=>f,Bn:()=>U,EM:()=>R,GA:()=>O,K_:()=>z,Lx:()=>te,NX:()=>o,Ne:()=>e,Np:()=>A,Or:()=>S,Q2:()=>D,TE:()=>k,UY:()=>v,Vq:()=>u,XB:()=>_,Zt:()=>N,aL:()=>P,eC:()=>J,f1:()=>r,it:()=>n,ix:()=>i,j9:()=>a,nN:()=>M,oX:()=>L,pw:()=>s,si:()=>x,v4:()=>E});const e=500,n=20,E=5e3,O=3e4,P="1.0";var k=function(h){return h[h.FPS=0]="FPS",h[h.GPU=1]="GPU",h[h.CPU=2]="CPU",h[h.Latency=3]="Latency",h[h.DLSSFG=4]="DLSSFG",h[h.DLSSSR=5]="DLSSSR",h[h.DLSSRR=6]="DLSSRR",h[h.DLSSSM=7]="DLSSSM",h}(k||{});const U=["white","red","#76b900","blue","black","custom"],r=[{id:k.FPS,name:"settings.gameplay.FPS",shortName:"settings.gameplay.FPS"},{id:k.GPU,name:"perfmon.GPUName",shortName:"perfmon.GPU"},{id:k.CPU,name:"perfmon.CPUName",shortName:"perfmon.CPU"},{id:k.Latency,name:"perfmon.latency",shortName:"perfmon.latencyShortName"},{id:k.DLSSFG,name:"dlssoverride.techov.fgov",shortName:"dlssoverride.techov.fgovshort"},{id:k.DLSSSR,name:"dlssoverride.techov.srov",shortName:"dlssoverride.techov.srovshort"},{id:k.DLSSRR,name:"dlssoverride.techov.rrov",shortName:"dlssoverride.techov.rrovshort"},{id:k.DLSSSM,name:"dlssoverride.tech.sm",shortName:"dlssoverride.tech.smshort"}];var A=function(h){return h[h.FPS=0]="FPS",h[h.Basic=1]="Basic",h[h.Advanced=2]="Advanced",h[h.Latency=3]="Latency",h[h.DLSS=4]="DLSS",h[h.Custom=9999]="Custom",h}(A||{});Object.keys(A);const S=A.Basic,L=[{id:A.FPS,name:"settings.gameplay.FPS",metrics:["fpsdispavg"]},{id:A.Basic,name:"perfmon.basic",metrics:["fpsdispavg","gpuUtil","cpuUtil","avgPCLatency"]},{id:A.Advanced,name:"perfmon.advanced",metrics:["fpsdispavg","fpsdisp1pc","fpsMax","fpsMin","frameTime","gpuUtil","gpuTemp","gpuClock","gpuVoltage","gpuPower","gpuFanSpeed","vramClock","cpuUtil","cpuTemp","cpuClock","renderLatency","avgPCLatency"]},{id:A.Latency,name:"perfmon.latency",metrics:["fpsdispavg","renderLatency","avgPCLatency","reflexMonitorPosition","mouseLatency","avgMouseLatency","pcDisplayLatency","avgPcDisplayLatency","systemLatency","avgSystemLatency"]},{id:A.DLSS,name:"dlssoverride.dlss",metrics:["fpsdispavg","fpsdisp1pc","avgPCLatency","dlssfg","dlsssr","dlssrr"]},{id:A.Custom,name:"settings.gameplay.Custom",metrics:["fpsdispavg","fpsdisp1pc","fpsMax","fpsMin","frameTime","gpuUtil","gpuTemp","gpuClock","gpuVoltage","gpuPower","gpuFanSpeed","vramClock","cpuUtil","cpuTemp","cpuClock","renderLatency","avgPCLatency","reflexMonitorPosition","mouseLatency","avgMouseLatency","pcDisplayLatency","avgPcDisplayLatency","systemLatency","avgSystemLatency","dlssfg","dlsssr","dlssrr","dlsssm"]}];var s=function(h){return h[h.Linear=0]="Linear",h[h.Double=1]="Double",h[h.Stacked=2]="Stacked",h}(s||{});const M=s.Linear;var u=function(h){return h[h.Standard=0]="Standard",h[h.Enhanced=1]="Enhanced",h}(u||{}),x=function(h){return h[h.Standard=0]="Standard",h[h.Large=1]="Large",h}(x||{}),p=function(h){return h[h.White=0]="White",h[h.Red=1]="Red",h[h.Green=2]="Green",h[h.Blue=3]="Blue",h[h.Black=4]="Black",h[h.Custom=5]="Custom",h}(p||{});const i=u.Standard,o=x.Standard,_=p.White,f=0,J="#76b900";var a=function(h){return h.FPS="FPS",h.Basic="Basic",h.Advanced="Advanced",h.Latency="Latency",h}(a||{});const D=60,te=35,N=40,z=35,R=30;function v(){return[{metricId:"fps",name:"perfmon.framRate",shortName:"settings.gameplay.FPS",category:k.FPS,visible:!1,value:void 0,unit:void 0,defaultValue:"N/A"},{metricId:"fpsdispavg",name:"perfmon.framRate",shortName:"settings.gameplay.FPS",category:k.FPS,visible:!1,value:void 0,unit:void 0,defaultValue:"N/A"},{metricId:"fps1pc",name:"perfmon.fps1pc",shortName:"perfmon.fps1pcShort",category:k.FPS,visible:!1,value:void 0,unit:"perfmon.fps1pcUnit",defaultValue:"N/A"},{metricId:"fpsdisp1pc",name:"perfmon.fps1pc",shortName:"perfmon.fps1pcShort",category:k.FPS,visible:!1,value:void 0,unit:"perfmon.fps1pcUnit",defaultValue:"N/A"},{metricId:"fpsMax",name:"perfmon.fpsMax",shortName:"perfmon.fpsMaxShort",category:k.FPS,visible:!1,value:void 0,unit:"perfmon.fpsMaxUnit"},{metricId:"fpsMin",name:"perfmon.fpsMin",shortName:"perfmon.fpsMinShort",category:k.FPS,visible:!1,value:void 0,unit:"perfmon.fpsMinUnit"},{metricId:"frameTime",name:"perfmon.frameTime",shortName:"perfmon.frameTimeShort",category:k.FPS,visible:!1,value:void 0,unit:"perfmon.milliseconds"},{metricId:"gpuUtil",name:"perfmon.gpuUtil",shortName:"perfmon.gpuUtilShort",category:k.GPU,visible:!1,value:void 0,unit:"perfmon.percentage"},{metricId:"gpuTemp",name:"perfmon.gpuTemp",shortName:"perfmon.gpuTempShort",category:k.GPU,visible:!1,value:void 0,unit:"perfmon.degreeCelcius"},{metricId:"gpuClock",name:"perfmon.gpuClock",shortName:"perfmon.gpuClockShort",category:k.GPU,visible:!1,value:void 0,unit:"perfmon.megaHertz"},{metricId:"gpuVoltage",name:"perfmon.gpuVoltage",shortName:"perfmon.gpuVoltageShort",category:k.GPU,visible:!1,value:void 0,unit:"perfmon.volt"},{metricId:"gpuPower",name:"perfmon.gpuPower",shortName:"perfmon.gpuPowerShort",category:k.GPU,visible:!1,value:void 0,unit:"perfmon.watt"},{metricId:"gpuFanSpeed",name:"perfmon.gpuFanSpeed",shortName:"perfmon.gpuFanSpeedShort",category:k.GPU,visible:!1,value:void 0,unit:"perfmon.rpm"},{metricId:"vramClock",name:"perfmon.vramClock",shortName:"perfmon.vramClockShort",category:k.GPU,visible:!1,value:void 0,unit:"perfmon.megaHertz"},{metricId:"cpuUtil",name:"perfmon.cpuUtil",shortName:"perfmon.cpuUtilShort",category:k.CPU,visible:!1,value:void 0,unit:"perfmon.percentage"},{metricId:"cpuTemp",name:"perfmon.cpuTemp",shortName:"perfmon.cpuTempShort",category:k.CPU,visible:!1,value:void 0,unit:"perfmon.degreeCelcius"},{metricId:"cpuClock",name:"perfmon.cpuClock",shortName:"perfmon.cpuClockShort",category:k.CPU,visible:!1,value:void 0,unit:"perfmon.megaHertz"},{metricId:"renderLatency",name:"perfmon.renderLatency",shortName:"perfmon.renderLatencyShort",category:k.Latency,visible:!1,value:void 0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"avgPCLatency",name:"perfmon.avgPCLatency",shortName:"perfmon.avgPCLatencyShort",category:k.Latency,visible:!1,value:void 0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"reflexMonitorPosition",name:"perfmon.reflexMonitorPosition",shortName:"perfmon.reflexMonitorPositionShort",category:k.Latency,visible:!1,value:void 0,unit:"",defaultValue:"N/A"},{metricId:"mouseLatency",name:"perfmon.mouseLatency",shortName:"perfmon.mouseLatencyShort",category:k.Latency,visible:!1,value:void 0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"avgMouseLatency",name:"perfmon.avgMouseLatency",shortName:"perfmon.avgMouseLatencyShort",category:k.Latency,visible:!1,value:void 0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"pcDisplayLatency",name:"perfmon.pcDisplayLatency",shortName:"perfmon.pcDisplayLatencyShort",category:k.Latency,visible:!1,value:void 0,useCachedValue:!0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"avgPcDisplayLatency",name:"perfmon.avgPcDisplayLatency",shortName:"perfmon.avgPcDisplayLatencyShort",category:k.Latency,visible:!1,value:void 0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"systemLatency",name:"perfmon.systemLatency",shortName:"perfmon.systemLatencyShort",category:k.Latency,visible:!1,value:void 0,useCachedValue:!0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"avgSystemLatency",name:"perfmon.avgSystemLatency",shortName:"perfmon.avgSystemLatencyShort",category:k.Latency,visible:!1,value:void 0,unit:"perfmon.milliseconds",defaultValue:"N/A"},{metricId:"dlssfg",name:"dlssoverride.techov.fgov",shortName:"dlssoverride.techov.fgovshort",category:k.DLSSFG,visible:!1,value:void 0,unit:void 0,errorString:void 0,defaultValue:"N/A"},{metricId:"dlsssr",name:"dlssoverride.techov.srov",shortName:"dlssoverride.techov.srovshort",category:k.DLSSSR,visible:!1,value:void 0,unit:void 0,defaultValue:"N/A"},{metricId:"dlssrr",name:"dlssoverride.techov.rrov",shortName:"dlssoverride.techov.rrovshort",category:k.DLSSRR,visible:!1,value:void 0,unit:void 0,defaultValue:"N/A"},{metricId:"dlsssm",name:"dlssoverride.tech.sm",shortName:"dlssoverride.tech.smshort",category:k.DLSSSM,visible:!1,value:void 0,unit:void 0,defaultValue:"N/A"}]}},33452:(xe,de,t)=>{"use strict";t.d(de,{z:()=>h});var e=t(80583),n=t(26513),E=t(892),O=t(43848),B=t(12532),P=t(83915),k=t(91384),U=t(75707),r=t(14714),A=t(8619),l=t(65706),I=t(73180),S=t(40198),L=t(33367),s=t(78854),M=t(11728),u=t(27271),x=t(73934),p=t(51830),i=t(53914),o=t(19724),_=t(10132),f=t(23860),J=t(10356),a=t(8559),D=t(58527),te=t(65240),N=t(47766),z=t(2688),R=t(27211),v=t(57412);let h=(()=>{var W;class ne{constructor(b,w,F,Z,se,Y,q,T,H,y){this.injector=b,this.translateService=w,this.loggingService=F,this.dbService=Z,this.bridgeService=se,this.hotkeyService=Y,this.featureSupportService=q,this.oscNotificationService=T,this.telemetryIgoService=H,this.lcarsService=y,this.PerfMonStorageKeyName="PerfMonPersistedData",this.throttleDuration=500,this.gpuData=[],this.perfData=[],this.perfOverlayVisibilityChanged$=new e.B7,this.perfOverlayCoordinatesChanged$=new e.B7,this.perfLoggingIndicator$=new n.t(!1),this.fpsMetricVisible=!1,this.isPerfTrackingActive=!1,this.perfStatsSubscriberCount=0,this.stopPerfTrackingTimer=void 0,this.isPerfMenuLaunched=!1,this.dlsssrvalue="N/A",this.dlssrrvalue="N/A",this.dlssfgvalue="N/A",this.dlsssmvalue="N/A",this.legacyRFISupportedCMSIDs=[],this.latestRFISupportedCMSIDs=[],this.ReflexStatsSupportedCMSIDs=[],this.ReflexIntegratedCMSIDs=[],this.islatestRFISupported=!1,this.islegacyRFISupported=!1,this.isReflexStatsSupported=!1,this.cachedReflexStatsSupported=!1,this.isReflexIntegrated=!1,this.ngxPollingSubscription=null,this.runningRFISupportedGamePID=void 0,this.currentDisplayMode={},this.currentGameInfo=void 0,this.isAppStartedReceived=!1,this.gameDetails={cmsId:"",drsName:"",drsProfileName:""},this.logger=this.loggingService.getLogger("PerfMonService"),this.dBStore=this.dbService.getGlobalStore("PerfMon")}init(){this.logger.info("Initialize"),this.oscDisplayService=this.injector.get(M.B),this.shadowPlayService=this.injector.get(p.W1),this.ngxService=this.injector.get(J.z),this.getIsRLASupported().subscribe(b=>{this.isRLAEnabled=b}),this.ngxService.getNgxDDSupport().subscribe(b=>{this.isDlssSupportedDD=b[0],this.isFgxSupportedDD=b[1]}),this.registerPerfStatsNotifications(),this.setHotkeys(!0),this.registerHotkeyNotifications(),this.registerAppNotifications(),this.registerDisplayNotifications(),this.initStatsAndLoadData()}isDlssSupported(){return this.isDlssSupportedDD}isFgxSupported(){return this.isFgxSupportedDD}requestNgxPolling(){var b,w;this.isPerfTrackingActive&&this.isValidGameRunning&&((null===(b=this.perfmonData)||void 0===b?void 0:b.activeMetricSetId)===u.Np.DLSS||(null===(w=this.perfmonData)||void 0===w?void 0:w.activeMetricSetId)===u.Np.Custom)&&this.startNgxPolling()}listenVisibilityChanges(){return this.perfOverlayVisibilityChanged$.asObservable()}getPerfLoggingStatus(){return this.perfLoggingIndicator$.asObservable()}getPerfOverlayVisiblity(){var b;return null===(b=this.perfmonData)||void 0===b?void 0:b.isPerfOverlayVisible}getFpsMetricVisible(){return this.perfmonData.activeMetricSetId!==u.Np.FPS||this.fpsMetricVisible}setPerfOverlayVisiblity(b){this.logger.info("setPerfOverlayVisiblity: ",b),(this.islegacyRFISupported||this.islatestRFISupported)&&this.isRLAEnabled&&!this.flashIndicatorStatus&&this.setFlashIndicatorVisibility(b),this.togglePerfOverlay(b,!1)}getIsRLASupported(){return this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.GetRLAMonitorSupport).pipe((0,P.T)(b=>(this.logger.info("RLA Monitor Status: ",b.supported),b.supported)))}getIsPerfOverlayEnabled(){return this.isPerfOverlayEnabled}setIsPerfOverlayEnabled(b){this.logger.info("setIsPerfOverlayEnabled: ",b),this.isPerfOverlayEnabled!==b&&(this.isPerfOverlayEnabled=b,this.setPerfOverlayVisiblity(b))}getMetricSet(){return void 0===this.perfmonData.activeMetricSetId?u.Or:this.perfmonData.activeMetricSetId}setMetricSet(b){this.logger.info("setMetricSet:",b),b===u.Np.Latency&&!this.isRLAEnabled&&(b=u.Or),b===u.Np.DLSS&&!this.isDlssSupportedDD&&(b=u.Or),this.perfmonData.activeMetricSetId=b,!this.isValidGameRunning||this.perfmonData.activeMetricSetId!==u.Np.DLSS&&this.perfmonData.activeMetricSetId!==u.Np.Custom?this.stopNgxPolling():this.startNgxPolling(),this.togglePerfOverlay(!0,!1)}getActiveLayout(){var b;return void 0===(null===(b=this.perfmonData)||void 0===b?void 0:b.activeLayout)?u.nN:this.perfmonData.activeLayout}setActiveLayout(b){this.perfmonData.activeLayout=b,this.logger.info("setActiveLayout:",this.perfmonData.activeLayout),this.togglePerfOverlay(!0,!1),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.E6,o.Eq[u.pw[this.perfmonData.activeLayout]])}getVisibilityMode(){var b;return void 0===(null===(b=this.perfmonData)||void 0===b?void 0:b.perfOverlayVisibilityMode)?u.ix:this.perfmonData.perfOverlayVisibilityMode}setVisibilityMode(b){this.logger.info("setVisibilityMode:",b),this.perfmonData.perfOverlayVisibilityMode=b,this.togglePerfOverlay(!0,!1),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.ft,o.Om[u.Vq[this.perfmonData.perfOverlayVisibilityMode]])}getOverlayFontSize(){var b;return void 0===(null===(b=this.perfmonData)||void 0===b?void 0:b.perfOverlayFontSize)?u.NX:this.perfmonData.perfOverlayFontSize}setOverlayFontSize(b){this.perfmonData.perfOverlayFontSize=b,this.togglePerfOverlay(!0,!1)}getOverlayFontColor(){var b;return void 0===(null===(b=this.perfmonData)||void 0===b?void 0:b.perfOverlayFontColor)?u.XB:this.perfmonData.perfOverlayFontColor}setOverlayFontColor(b){this.perfmonData.perfOverlayFontColor=b,this.togglePerfOverlay(!0,!1)}getOverlayBackgroundOpacity(){var b;return void 0===(null===(b=this.perfmonData)||void 0===b?void 0:b.perfOverlayFontColor)?u.Az:this.perfmonData.perfOverlayBackgroundOpacity}setOverlayBackgroundOpacity(b){this.perfmonData.perfOverlayBackgroundOpacity=b,this.togglePerfOverlay(!0,!1)}getOverlayCustomFontColor(){var b;return void 0===(null===(b=this.perfmonData)||void 0===b?void 0:b.perfOverlayCustomFontColor)?u.eC:this.perfmonData.perfOverlayCustomFontColor}setOverlayCustomFontColor(b){this.perfmonData.perfOverlayCustomFontColor=b,this.togglePerfOverlay(!0,!1)}validateCustomFontColorInput(b){return new RegExp("^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$").test(b)}getPerfData(b){return this.perfData[b]}launchPerformanceMenu(){this.logger.info("launchPerformanceMenu"),this.oscDisplayService.openOSC("sidebar/performance/performance-menu")}getIsValidGameRunning(){return this.isValidGameRunning}isPerformanceAvailable(){return this.featureSupportService.isPerfOverlayEnabled()}getLoggingState(){var b;return this.logger.info("getLoggingState:",this.perfmonData.isLogging),null===(b=this.perfmonData)||void 0===b?void 0:b.isLogging}toggleLogging(b,w=!0){this.logger.info("toggleLogging"),this.perfmonData.isLogging=void 0===b?!this.perfmonData.isLogging:b,this.perfmonData.isLogging?(this.startPerfTracking(),this.telemetryIgoService.startStatsLoggingSession(w?o.gv.UsingHotkey:o.gv.UsingUI)):(this.stopPerfTracking(),this.telemetryIgoService.sendStatsLoggingSession(this.gameDetails)),this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.LoggingToggle,{path:this.perfmonData.logPath,enable:this.perfmonData.isLogging}).subscribe(Z=>{this.logger.info("toggleLogging:",Z)},Z=>{this.logger.info("toggleLogging:",Z)}),this.perfOverlayVisibilityChanged$.next(this.perfmonData.isPerfOverlayVisible),this.perfLoggingIndicator$.next(this.perfmonData.isLogging),this.perfmonData.isLogging&&this.oscNotificationService.show(f.Ed.PerfMonLogging),this.savePersistedData()}getPerfOverlayAbsolutePosition(b=null){if(this.logger.info("getPerfOverlayAbsolutePosition"),this.perfmonData){if(!this.perfmonData.perfOverlayAbsolutePosition){if(!b)return this.perfmonData.perfOverlayAbsolutePosition;this.updatePerformancePositionCoordinates(b)}return this.perfmonData.perfOverlayAbsolutePosition}}setPerfOverlayAbsolutePosition(b,w=!1){this.logger.info("setPerfOverlayAbsolutePosition",b),this.perfmonData.perfOverlayAbsolutePosition=b,w||this.perfOverlayCoordinatesChanged$.next(b),this.savePersistedData(),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.Ls,null==b?void 0:b.x.toString()),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.Qi,null==b?void 0:b.y.toString())}listenPerfOverlayCoordinateChanges(){return this.perfOverlayCoordinatesChanged$.asObservable()}setPerfOverlayQuadrant(b){this.logger.info("setPerfOverlayQuadrant",b),this.perfOverlayQuadrant=b}checkPerformancePositionCoordinates(){this.perfmonData.perfOverlayAbsolutePosition||(this.perfmonData.perfOverlayAbsolutePosition={x:void 0,y:void 0},this.updatePerformancePositionCoordinates(this.perfOverlayQuadrant))}updatePerformancePositionCoordinates(b,w=null){if(this.logger.info("updatePerformancePositionCoordinates",b),this.perfmonData&&(w=w||this.perfmonData.perfOverlayAbsolutePosition))switch(b){case _.VH.rightTop:w.x=100,w.y=0;break;case _.VH.rightCenter:w.x=100,w.y=50;break;case _.VH.rightBottom:w.x=100,w.y=100;break;case _.VH.centerBottom:w.x=50,w.y=100;break;case _.VH.leftBottom:w.x=0,w.y=100;break;case _.VH.leftCenter:w.x=0,w.y=50;break;case _.VH.leftTop:w.x=0,w.y=0;break;case _.VH.centerTop:w.x=50,w.y=0;break;default:w.x=void 0,w.y=void 0}}startNgxPolling(){this.ngxService.isDlssEnabled()?this.ngxPollingSubscription?this.logger.info("polling already active"):(this.logger.info("start polling"),this.ngxPollingSubscription=(0,E.Y)(5e3).subscribe(b=>{this.pollNgxOverrideState()})):this.logger.info("dlss deatures disabled, not polling")}stopNgxPolling(){this.ngxPollingSubscription?(this.logger.info("stop polling"),this.ngxPollingSubscription&&(this.ngxPollingSubscription.unsubscribe(),this.ngxPollingSubscription=null)):this.logger.info("polling already stopped")}startPerfTracking(){if(this.logger.info("startPerfTracking:",this.perfStatsSubscriberCount,this.isPerfTrackingActive),this.isValidGameRunning){const b=this.getMetricSet();b===u.Np.DLSS||b===u.Np.Custom?this.startNgxPolling():this.stopNgxPolling()}this.clearPerfTrackingStopTimer(),this.perfStatsSubscriberCount++,this.isPerfTrackingActive||this.enablePerfTracking(!0)}stopPerfTracking(){if(this.logger.info("stopPerfTracking:",this.perfStatsSubscriberCount,this.isPerfTrackingActive),this.isPerfTrackingActive||this.logger.error("something went wrong, isPerfTrackingActive:",this.isPerfTrackingActive),this.perfStatsSubscriberCount--,this.perfStatsSubscriberCount<0)this.logger.error("something went wrong, perfSubscriberCount:",this.perfStatsSubscriberCount),this.perfStatsSubscriberCount=0;else if(this.perfStatsSubscriberCount>0)return;0===this.perfStatsSubscriberCount&&(void 0!==this.stopPerfTrackingTimer&&(this.logger.error("something went wrong, stopPerfTracking timer already running"),this.clearPerfTrackingStopTimer()),this.stopPerfTrackingTimer=setTimeout(()=>{this.enablePerfTracking(!1)},u.GA),this.stopNgxPolling())}updateDefaultLoggingPath(){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.GetDefaultLoggingPath).subscribe(b=>{this.logger.info("GetDefaultLoggingPath:",b),this.perfmonData.logPath=b.path.logpath},b=>{this.logger.error("GetDefaultLoggingPath error:",b)})}getLoggingPath(){return this.perfmonData.logPath}setLoggingPath(b){this.perfmonData.logPath=b,this.savePersistedData()}updateMetricVisibility(b){void 0===b.value&&b.defaultValue?(b.value=b.defaultValue,b.visible=this.perfmonData.activeMetricSetId!==u.Np.FPS,b.isUnitHidden=!0):(b.visible=void 0!==b.value,b.isUnitHidden=void 0===b.value||b.defaultValue&&b.value===b.defaultValue)}updateCustomMetricSet(){this.perfmonData.customMetrics.length=0,this.perfData[0]&&this.perfData[0].forEach(b=>{b.isCustomSelected&&this.perfmonData.customMetrics.push(b.metricId)}),this.savePersistedData()}checkSystemLatency(){return!!this.perfData[0]&&!!this.perfData[0].find(w=>"systemLatency"===w.metricId).isCustomSelected}checkDlssFG(){if(this.perfData[0]){const b=this.perfData[0].find(w=>"dlssfg"===w.metricId);return!(!b.isCustomSelected&&b.category!==u.TE.DLSSFG)}return!1}checkDlssSR(){if(this.perfData[0]){const b=this.perfData[0].find(w=>"dlsssr"===w.metricId);return!(!b.isCustomSelected&&b.category!==u.TE.DLSSSR)}return!1}checkDlssRR(){if(this.perfData[0]){const b=this.perfData[0].find(w=>"dlssrr"===w.metricId);return!(!b.isCustomSelected&&b.category!==u.TE.DLSSRR)}return!1}checkDlssSM(){if(this.perfData[0]){const b=this.perfData[0].find(w=>"dlsssm"===w.metricId);return!(!b.isCustomSelected&&b.category!==u.TE.DLSSSM)}return!1}loadGFEMigrationData(b){const w=b.overclockings;if(!w)return this.logger.info("No valid data found in GFE backup"),(0,O.of)(null);this.logger.info("Porting GFE backup data");const F={isPerfOverlayVisible:!!w.isPerfOverlayVisible,activeMetricSetId:u.Or,activeLayout:u.nN,perfOverlayVisibilityMode:u.ix,perfOverlayAbsolutePosition:null,isLogging:!1,logPath:w.loggingPath||"",customMetrics:[...u.oX.find(se=>se.id===u.Or).metrics],rectAlignmentStatus:!0,flashIndicatorStatus:!1,avgSampleSize:20,perfOverlayFontSize:u.NX,perfOverlayFontColor:u.XB,perfOverlayBackgroundOpacity:u.Az,perfOverlayCustomFontColor:u.eC,version:u.aL},Z=b["osd-storage"];if(null!=Z&&Z.Performance.view)switch(null==Z?void 0:Z.Performance.view){case u.j9.FPS:F.activeMetricSetId=u.Np.FPS;break;case u.j9.Basic:F.activeMetricSetId=u.Np.Basic;break;case u.j9.Advanced:F.activeMetricSetId=u.Np.Advanced;break;case u.j9.Latency:F.activeMetricSetId=u.Np.Latency}return this.dBStore.setItem(this.PerfMonStorageKeyName,F).pipe((0,k.M)(se=>this.logger.info("Statistics overlay settings migrated from GFE")))}getIsRLAEnabled(){return this.isRLAEnabled}isReflexAnalyzerAvailable(){return this.featureSupportService.isReflexAnalyzerEnabled()}isRLASupportedDriver(){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.CheckRLASupportedDriver).subscribe(b=>{this.logger.info("getSupportedDD response:",b),this.isRLAsupportedDD=b.supported},b=>{this.logger.error("error in getSupportedDD:",b),this.isRLAsupportedDD=!1})}GetNGXOverrideState(b,w){return this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.GetNGXOverrideState,{processId:b,cmsId:w})}getIsRLASupportedDD(){return this.isRLAsupportedDD}updateRectAlignStatus(b){this.perfmonData.rectAlignmentStatus=b,this.savePersistedData(),this.logger.info("Storing current rectangle alignment status to local storage - "+this.perfmonData.rectAlignmentStatus),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.Q3,null==b?void 0:b.toString())}getRectAlignStatus(){return void 0===this.perfmonData.rectAlignmentStatus&&(this.perfmonData.rectAlignmentStatus=!0),this.perfmonData.rectAlignmentStatus}setRectAlignStatusOnInit(){return this.perfmonData.rectAlignmentStatus}setFlashIndicatorVisibility(b){this.reflexFlashIndicatorVisibility=b,this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.ShowFlashIndicator,{isVisible:this.reflexFlashIndicatorVisibility}).subscribe(w=>{this.logger.info("setFlashIndicatorVisibility response:",w)},w=>{this.logger.error("error in setFlashIndicatorVisibility:",w)})}getFlashIndicatorStatus(){return this.flashIndicatorStatus=this.perfmonData.flashIndicatorStatus,this.flashIndicatorStatus}setFlashIndicatorSize(b){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.SetFlashIndicatorSize,{size:b}).subscribe(w=>{this.logger.info("SetFlashIndicatorSize response:",w)},w=>{this.logger.error("error in setFlashIndicatorSize:",w)})}updateFlashIndicatorStatus(b){this.perfmonData.flashIndicatorStatus=b,this.flashIndicatorStatus=b,this.savePersistedData(),this.logger.info("Storing current Flash Indicator status to local storage - "+this.perfmonData.flashIndicatorStatus),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.uA,null==b?void 0:b.toString())}getCustAvgSampleSize(){return this.perfmonData.avgSampleSize?this.perfmonData.avgSampleSize:u.it}updateCustAvgSampleSize(b){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.SetMetricSampleSize,{sampleSize:b}).subscribe(w=>{this.logger.info("updateCustAvgSampleSize response:",w),this.perfmonData.avgSampleSize=b,this.savePersistedData()},w=>{this.logger.error("error in setCustAvgOnInit:",w)}),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.oi,b.toString())}setCustAvgOnInit(){const b=this.getCustAvgSampleSize();this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.SetMetricSampleSize,{sampleSize:b}).subscribe(w=>{this.logger.info("setCustAvgOnInit response:",w)},w=>{this.logger.error("error in setCustAvgOnInit:",w)})}resetAverages(){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.ResetAverageMetrics).subscribe(b=>{this.logger.info("resetAverages response:",b)},b=>{this.logger.error("error in resetAverages:",b)}),this.telemetryIgoService.sendIGOSettings(this.gameDetails,i.QT,"true")}alignMonitoringRect(){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.AlignLatencyMonitoringRectangle).subscribe(b=>{this.logger.info("alignMonitoringRect response:",b)},b=>{this.logger.error("error in alignMonitoringRect:",b)})}getCurrentDisplayMode(){return this.currentDisplayMode}setPerfMenuLaunched(b){this.isPerfMenuLaunched=b,!b&&!this.perfmonData.isPerfOverlayVisible&&this.clearCachedMetricValues()}clearCachedMetricValues(){var b;null===(b=this.getPerfData(0))||void 0===b||b.forEach(w=>{w.useCachedValue&&(w.cachedValue=void 0)})}clearPerfTrackingStopTimer(){this.stopPerfTrackingTimer&&(clearTimeout(this.stopPerfTrackingTimer),this.stopPerfTrackingTimer=void 0)}enablePerfTracking(b){this.logger.info("enablePerfTracking:",b),this.isPerfTrackingActive=b,this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.EnablePerfStatsNotification,{intervalMS:u.Ne,isEnable:b}).subscribe(F=>{this.logger.info("enablePerfTracking result:",F)},F=>{this.logger.error("enablePerfTracking error:",F),this.isPerfTrackingActive=!1})}loadCustomMetricSet(){this.perfData[0]&&this.perfmonData.customMetrics.forEach(b=>{this.perfData[0].find(w=>w.metricId===b).isCustomSelected=!0})}savePersistedData(b=null){this.dBStore.setItem(this.PerfMonStorageKeyName,b=b||this.perfmonData).subscribe(w=>{this.logger.info("Perstisted data saved successfully ",w)},w=>{this.logger.error("Error while saving the persisted data ",w)})}initStatsAndLoadData(){this.initPerfStats().pipe((0,U.ZZ)(()=>this.loadPerfMonData()),(0,P.T)(()=>(this.perfmonData.isPerfOverlayVisible&&(this.perfmonData.isPerfOverlayVisible=!1,this.togglePerfOverlay(!0,!1)),setTimeout(()=>{this.perfmonData.perfOverlayAbsolutePosition&&this.perfOverlayCoordinatesChanged$.next(this.perfmonData.perfOverlayAbsolutePosition)},250),this.isReflexAnalyzerAvailable&&(this.setCustAvgOnInit(),this.isRLASupportedDriver(),this.getFlashIndicatorStatus()&&this.setFlashIndicatorSize(!0)),!0))).subscribe()}getDefaultPerfMonData(){return this.perfmonData={isPerfOverlayVisible:!1,activeMetricSetId:u.Or,activeLayout:u.nN,perfOverlayVisibilityMode:u.ix,perfOverlayAbsolutePosition:null,isLogging:!1,logPath:"",customMetrics:[...u.oX.find(b=>b.id===u.Or).metrics],rectAlignmentStatus:!0,flashIndicatorStatus:!1,avgSampleSize:20,perfOverlayFontSize:u.NX,perfOverlayFontColor:u.XB,perfOverlayBackgroundOpacity:u.Az,perfOverlayCustomFontColor:u.eC,version:u.aL},this.updateDefaultLoggingPath(),this.perfmonData}loadPerfMonData(){return this.dBStore.getItem(this.PerfMonStorageKeyName).pipe((0,P.T)(b=>b?(this.logger.info("Loaded perfmon data from the storage"),this.perfmonData=b,this.perfmonData.isLogging=!1,this.perfmonData.version||(this.perfmonData.activeMetricSetId===u.Np.DLSS&&(this.perfmonData.activeMetricSetId=u.Np.Custom),this.perfmonData.version=u.aL),!0):(this.logger.info("No perfmon data found in storage"),this.perfmonData=this.getDefaultPerfMonData(),!1)),(0,r.W)(b=>(this.logger.error("Could not load perfmon data from the storage: ",JSON.stringify(b)),this.perfmonData=this.getDefaultPerfMonData(),(0,O.of)(!1))),(0,k.M)(()=>{this.loadCustomMetricSet()}))}registerAppNotifications(){this.shadowPlayService.registerAppStartedEvent().pipe((0,U.ZZ)(b=>(this.logger.info("app notification:",b),this.onGameStart(b),this.getRFIDataForLaunchedGame()))).subscribe(),this.bridgeService.executeCommand(L.Ts.Share.Shareserver.RegisterGeneralNotifications).pipe((0,A.p)(b=>!(null==b||!b.gameExited))).subscribe(b=>{this.onGameExit()})}setProcessID(b){return this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.SetProcessId,{processId:b}).pipe((0,k.M)(w=>{this.isValidGameRunning=!0}))}onGameStart(b){var w,F;this.logger.info(" App Start Data: ",b),this.isAppStartedReceived=!0,b&&(this.currentGameInfo={procId:b.appStarted.pid,cmsId:b.appStarted.cmsId,drsName:b.appStarted.DRSAppName,drsProfileName:b.appStarted.profileName,shortName:b.appStarted.shortName,drsWhitelist:!1}),this.gameDetails.cmsId=this.currentGameInfo.cmsId.toString(),this.gameDetails.drsName=this.currentGameInfo.drsName,this.gameDetails.drsProfileName=this.currentGameInfo.drsProfileName,this.getPerfOverlayVisiblity()&&this.telemetryIgoService.sendStatsOverlaySession(this.gameDetails,o.B_[u.Np[this.perfmonData.activeMetricSetId]],this.perfmonData.perfOverlayAbsolutePosition.x,this.perfmonData.perfOverlayAbsolutePosition.y,o.Om[u.Vq[this.perfmonData.perfOverlayVisibilityMode]],o.Eq[u.pw[this.perfmonData.activeLayout]],!0),this.setProcessID(b.appStarted.pid).subscribe(),void 0===(null===(w=this.perfmonData)||void 0===w?void 0:w.rectAlignmentStatus)&&(this.perfmonData.rectAlignmentStatus=!0),null!==(F=this.perfmonData)&&void 0!==F&&F.rectAlignmentStatus&&this.isRLAsupportedDD&&this.isRLAEnabled&&(this.isPerfTrackingActive?this.alignMonitoringRect():(this.startPerfTracking(),setTimeout(()=>{this.alignMonitoringRect(),!this.perfmonData.isPerfOverlayVisible&&!this.perfmonData.isLogging&&this.stopPerfTracking()},u.v4)))}isNgxDlssError(b){return!!(b.dlssOverrideFlagErrFailed||b.dlssOverrideFlagErrDenied||b.dlssOverrideFlagErrDRS||b.dlssOverrideFlagErrNotFound||b.dlssOverrideFlagErrDllLoad)}pollNgxOverrideState(){this.GetNGXOverrideState(this.currentGameInfo.procId,this.currentGameInfo.cmsId).pipe((0,l.s)(1),(0,U.ZZ)(b=>{if(!b)return(0,O.of)("N/A");if(this.ngxService.isDlssFGEnabled())if(b.dlssOverrideFlagEvaluateFG&&!this.isNgxDlssError(b.errFeedbackFG)){if(1!==b.frameGenerationCount){const w=this.translateService.instant("dlssoverride.models.latest"),Z=this.translateService.instant(a.N5[b.frameGenerationCount]?a.N5[b.frameGenerationCount]:a.N5[0]);this.setDlssFGmetric(w+", "+Z)}}else this.setDlssFGmetric(this.translateService.instant("commonLabels.Inactive"));if(this.ngxService.isDlssSREnabled())if(b.dlssOverrideFlagEvaluateSR&&!this.isNgxDlssError(b.errFeedbackSR)){const F=this.translateService.instant(a.LM[b.renderPreset]?a.LM[b.renderPreset]:a.LM[0]),se=this.translateService.instant(a.VJ[b.performanceMode]?a.VJ[b.performanceMode]:a.VJ[3]);this.setDlssSRmetric(F+", "+se)}else this.setDlssSRmetric(this.translateService.instant("commonLabels.Inactive"));if(this.ngxService.isDlssRREnabled())if(b.dlssOverrideFlagEvaluateRR&&!this.isNgxDlssError(b.errFeedbackRR)){const F=this.translateService.instant(a.LM[b.renderPreset]?a.LM[b.renderPreset]:a.LM[0]),se=this.translateService.instant(a.VJ[b.performanceMode]?a.VJ[b.performanceMode]:a.VJ[3]);this.setDlssRRmetric(F+", "+se)}else this.setDlssRRmetric(this.translateService.instant("commonLabels.Inactive"));return(0,O.of)("N/A")}),(0,r.W)(b=>(this.logger.info("Get DLSS GetNGXOverrideState error : ",b),(0,O.of)(void 0)))).subscribe()}onGameExit(){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.SetProcessId,{processId:0}).subscribe(b=>{this.isValidGameRunning=!1,this.isAppStartedReceived=!1}),this.currentGameInfo={procId:0,cmsId:0,drsName:"",drsProfileName:"",shortName:"",drsWhitelist:!1},this.gameDetails={cmsId:"",drsName:"",drsProfileName:""},this.clearDlssMetricValues(),this.clearCachedMetricValues(),this.stopNgxPolling()}clearDlssMetricValues(){this.setDlssSRmetric(this.translateService.instant("perfmon.notApplicable")),this.setDlssRRmetric(this.translateService.instant("perfmon.notApplicable")),this.setDlssFGmetric(this.translateService.instant("perfmon.notApplicable")),this.setDlssSMmetric(this.translateService.instant("perfmon.notApplicable"))}registerPerfStatsNotifications(){this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.RegisterPerfStatsNotifications).subscribe(b=>{this.updatePerfStats(b)},b=>{this.logger.error("error:",b)})}registerDisplayNotifications(){this.logger.info("registerDisplayNotifications"),this.oscDisplayService.getCurrentDesktopMode().pipe((0,k.M)(()=>{this.perfmonData&&(this.logger.info("registerDisplayNotifications, isPerfOverlayVisible:",this.perfmonData.isPerfOverlayVisible),this.perfOverlayVisibilityChanged$.next(this.perfmonData.isPerfOverlayVisible))})).subscribe(),this.oscDisplayService.getCurrentDisplayMode().pipe((0,k.M)(b=>{this.currentDisplayMode=b})).subscribe()}setHotkeys(b){this.hotkeyService.setHotkeyDynamicEnable([x.g8.PMOCOverlay,x.g8.PMOCLoggingToggle,x.g8.PMOCOverlayCycle,x.g8.PMOCOverlayVisibility,x.g8.PMOCResetAverageMetrics],b)}registerHotkey(b,w){this.hotkeyService.listen(b).pipe((0,I.c)(this.throttleDuration)).subscribe(()=>{w()})}registerHotkeyNotifications(){this.registerHotkey(x.g8.PMOCOverlay,this.togglePerfOverlay.bind(this)),this.registerHotkey(x.g8.PMOCLoggingToggle,this.toggleLogging.bind(this)),this.registerHotkey(x.g8.PMOCOverlayCycle,this.cyclePerfOverlayMetrics.bind(this)),this.registerHotkey(x.g8.PMOCOverlayVisibility,this.toggleEnhancedMode.bind(this)),this.registerHotkey(x.g8.PMOCResetAverageMetrics,this.resetAverages.bind(this))}togglePerfOverlay(b,w=!0){this.checkPerformancePositionCoordinates();const F=this.perfmonData.isPerfOverlayVisible;this.logger.info("togglePerfOverlay, oldState:",F,"forceOperation:",b),this.perfmonData.isPerfOverlayVisible=void 0!==b?b:!this.perfmonData.isPerfOverlayVisible,this.perfmonData.isPerfOverlayVisible?(this.isPerfOverlayEnabled=!0,F||this.startPerfTracking()):this.stopPerfTracking(),this.perfOverlayVisibilityChanged$.next(this.perfmonData.isPerfOverlayVisible);const Z=this.checkSystemLatency(),se=[u.Np.Latency];Z&&se.push(u.Np.Custom),(this.islegacyRFISupported||this.islatestRFISupported)&&this.isRLAEnabled&&!this.flashIndicatorStatus&&(this.perfmonData.isPerfOverlayVisible&&se.includes(this.perfmonData.activeMetricSetId)?this.setFlashIndicatorVisibility(!0):this.setFlashIndicatorVisibility(!1)),this.savePersistedData(),!this.perfmonData.isPerfOverlayVisible&&!this.isPerfMenuLaunched&&this.clearCachedMetricValues(),F!==this.perfmonData.isPerfOverlayVisible&&(this.perfmonData.isPerfOverlayVisible?this.telemetryIgoService.startStatsOverlaySession(w?o.gv.UsingHotkey:o.gv.UsingUI):this.telemetryIgoService.sendStatsOverlaySession(this.gameDetails,o.B_[u.Np[this.perfmonData.activeMetricSetId]],this.perfmonData.perfOverlayAbsolutePosition.x,this.perfmonData.perfOverlayAbsolutePosition.y,o.Om[u.Vq[this.perfmonData.perfOverlayVisibilityMode]],o.Eq[u.pw[this.perfmonData.activeLayout]],!1))}cyclePerfOverlayMetrics(){if(!this.perfmonData.isPerfOverlayVisible)return;this.logger.info("cyclePerfOverlay, current metricSet:",this.perfmonData.activeMetricSetId,this.isRLAEnabled);let b=u.Or;this.perfmonData.activeMetricSetId===u.Np.FPS?b=u.Np.Basic:this.perfmonData.activeMetricSetId===u.Np.Basic?b=u.Np.Advanced:this.perfmonData.activeMetricSetId===u.Np.Advanced?b=this.isRLAEnabled?u.Np.Latency:this.isDlssSupportedDD?u.Np.DLSS:u.Np.Custom:this.perfmonData.activeMetricSetId===u.Np.Latency?b=this.isDlssSupportedDD?u.Np.DLSS:u.Np.Custom:this.perfmonData.activeMetricSetId===u.Np.DLSS?b=u.Np.Custom:this.perfmonData.activeMetricSetId===u.Np.Custom&&(b=u.Np.FPS),this.oscDisplayService.unsetDisplayRects().subscribe(),this.setMetricSet(b)}toggleEnhancedMode(){this.perfmonData.isPerfOverlayVisible&&(this.logger.info("toggleEnhancedMode, current mode:",this.perfmonData.perfOverlayVisibilityMode),this.oscDisplayService.unsetDisplayRects().subscribe(),this.setVisibilityMode((this.perfmonData.perfOverlayVisibilityMode+1)%2))}initPerfStats(){return this.bridgeService.executeCommand(L.Ts.Share.Nvperfmon.GetGpuInfo).pipe((0,P.T)(b=>(this.gpuData=b.gpus,this.logger.info("GPUData",this.gpuData),this.gpuData.forEach((w,F)=>{this.perfData[F]=(0,u.UY)()}),!0)),(0,r.W)(b=>(this.logger.error("error:",b),(0,O.of)(!1))))}round(b,w){return Math.round(b*(w=Math.pow(10,w)))/w}fillPerfMetrics(b,w){const F=this.perfData[w],Z=b.gpusPerfStats.find(Y=>Y.gpuIndex===w);let se=0;F.forEach(Y=>{let q;if(Z&&Y.category===u.TE.GPU){if(q=Z[Y.metricId],"gpuFanSpeed"===Y.metricId&&q&&q.length>0){let T=0;for(let H=0;H0&&Y.category===u.TE.FPS?q=Math.round(q):q>0&&(Y.category===u.TE.Latency||"renderLatency"===Y.metricId)?q=this.round(q,1).toFixed(1):q>0&&"gpuVoltage"===Y.metricId?q=this.round(q,3).toFixed(3):void 0!==q&&(q=this.round(q,1))),Y.value=q,Y.category===u.TE.DLSSFG&&(Y.value=this.dlssfgvalue),Y.category===u.TE.DLSSRR&&(Y.value=this.dlssrrvalue),Y.category===u.TE.DLSSSR&&(Y.value=this.dlsssrvalue),Y.category===u.TE.DLSSSM&&(Y.value=this.dlsssmvalue),Y.useCachedValue&&(void 0!==Y.value?Y.cachedValue=Y.value:Y.value=Y.cachedValue),this.updateMetricVisibility(Y),Y.visible&&(se+=1)}),se!==this.visibleMetricCount&&(this.logger.info("visibile metric count changed"),this.visibleMetricCount=se,this.perfOverlayVisibilityChanged$.next(this.perfmonData.isPerfOverlayVisible))}checkFPSViewVisibility(b){this.perfmonData.activeMetricSetId===u.Np.FPS&&(void 0===b||this.fpsMetricVisible?void 0===b&&this.fpsMetricVisible&&(this.fpsMetricVisible=!1,this.perfOverlayVisibilityChanged$.next(this.perfmonData.isPerfOverlayVisible)):(this.fpsMetricVisible=!0,this.perfOverlayVisibilityChanged$.next(this.perfmonData.isPerfOverlayVisible)))}updatePerfStats(b){b&&b.gpusPerfStats&&b.gpusPerfStats.length>0?(b.gSyncLamp&&(Object.keys(b.gSyncLamp).forEach(w=>{if("lamEnabled"===w)b.gSyncLamp[w]!==this.isLAMSupported&&(this.logger.info("Lam metrics support recieved"),this.logger.info("stats:",b),this.isLAMSupported=b.gSyncLamp[w]);else if("reflexMonitorPosition"===w){const F=b.gSyncLamp[w];b[w]="("+F.topleftx+", "+F.toplefty+")"}else if(w.toLowerCase().includes("mouselatency")){const F=b.gSyncLamp[w].latency;b[w]=F&&F>0?F/1e3:void 0}else{const F=b.gSyncLamp[w];b[w]=F&&F>0?F/1e3:void 0}}),delete b.gSyncLamp),this.gpuData.forEach(w=>{this.fillPerfMetrics(b,w.index),this.checkFPSViewVisibility(b.fps)})):this.logger.error("No GPU stats present, ignore this FvSDK sample:",b)}getRFIDataForLaunchedGame(){return this.ensureChromaDataIsAvailableForGame().pipe((0,P.T)(b=>{if(!this.perfmonData||!b)return;this.islatestRFISupported=b.nvidiaTech.REFLEXFIAUTO,this.islegacyRFISupported=b.nvidiaTech.REFLEXFLASHINDICATOR,this.isReflexIntegrated=b.nvidiaTech.REFLEX,(this.islatestRFISupported||this.islegacyRFISupported)&&(this.runningRFISupportedGamePID=b.pid);const w=this.checkSystemLatency(),F=[u.Np.Latency];w&&F.push(u.Np.Custom),this.islatestRFISupported||this.islegacyRFISupported?this.perfmonData.flashIndicatorStatus?this.setFlashIndicatorSize(this.perfmonData.flashIndicatorStatus):this.setFlashIndicatorVisibility(this.perfmonData.isPerfOverlayVisible&&F.includes(this.perfmonData.activeMetricSetId)):this.setFlashIndicatorVisibility(!1),this.perfmonData.isPerfOverlayVisible&&this.isRLAEnabled&&this.isValidGameRunning&&(this.islegacyRFISupported?(this.logger.info("Toggle legacy RFI from in-game settings"),this.oscNotificationService.show(f.Ed.PerfMonRfiWarning)):this.islegacyRFISupported||this.islatestRFISupported||(this.logger.info("RFI not supported"),this.oscNotificationService.show(f.Ed.PerfMonRectAlignmentWarning)))}),(0,r.W)(b=>(this.logger.error("Unable to obtain game meta data:",b),B.w)))}setDlssSRmetric(b){this.dlsssrvalue=b}setDlssRRmetric(b){this.dlssrrvalue=b}setDlssFGmetric(b){this.dlssfgvalue=b}setDlssSMmetric(b){this.dlsssmvalue=b}ensureChromaDataIsAvailableForGame(){return this.lcarsService.getCurrentAppChromaInfo().pipe((0,A.p)(b=>!!b&&void 0!==b.pid&&b.pid===this.currentGameInfo.procId),(0,P.T)(b=>(this.logger.info("Chroma info fetched successfully for the current reflex game ",b),b)),(0,l.s)(1),(0,S.w)(s.CZ))}}return(W=ne).\u0275fac=function(b){return new(b||W)(D.KVO(D.zZn),D.KVO(te.c$),D.KVO(N.J6),D.KVO(N.at),D.KVO(N.NZ),D.KVO(x.QS),D.KVO(z.R),D.KVO(f.mb),D.KVO(R.S),D.KVO(v.B))},W.\u0275prov=D.jDH({token:W,factory:W.\u0275fac,providedIn:"root"}),ne})()},30254:(xe,de,t)=>{"use strict";t.d(de,{$k:()=>u,J1:()=>M,O3:()=>n,Ow:()=>S,Qu:()=>p,VL:()=>l,X4:()=>E,ag:()=>B,dz:()=>L,ke:()=>s,lR:()=>k,on:()=>I,qp:()=>x,sg:()=>r});var e=t(33367),n=function(i){return i[i.FEATURE_SUPPORT_ERROR_OK=0]="FEATURE_SUPPORT_ERROR_OK",i[i.FEATURE_SUPPORT_ERROR_ERROR=1]="FEATURE_SUPPORT_ERROR_ERROR",i[i.FEATURE_SUPPORT_ERROR_MINIMUM_DRIVER_VERSION_NOT_MET=2]="FEATURE_SUPPORT_ERROR_MINIMUM_DRIVER_VERSION_NOT_MET",i[i.FEATURE_SUPPORT_ERROR_OS_HDR_DISABLED=3]="FEATURE_SUPPORT_ERROR_OS_HDR_DISABLED",i}(n||{}),E=function(i){return i[i.GPU_INCOMPATIBLE=0]="GPU_INCOMPATIBLE",i[i.CLIENT_VIRTUALIZATION_ENABLED=1]="CLIENT_VIRTUALIZATION_ENABLED",i[i.OS_INCOMPATIBLE=2]="OS_INCOMPATIBLE",i[i.MSHYBRID_ENABLED=8]="MSHYBRID_ENABLED",i[i.DISPLAY_INCOMPATIBLE=10]="DISPLAY_INCOMPATIBLE",i[i.NO_DISPLAY_CONNECTED=11]="NO_DISPLAY_CONNECTED",i[i.GAME_DENYLISTED=21]="GAME_DENYLISTED",i}(E||{}),O=function(i){return i[i.MULTI_MON_DETECTED=3]="MULTI_MON_DETECTED",i[i.HDR_DISABLED=4]="HDR_DISABLED",i[i.SOC_FEATURE_ENABLED=5]="SOC_FEATURE_ENABLED",i[i.SLI_ENABLED=6]="SLI_ENABLED",i[i.SURROUND_ENABLED=7]="SURROUND_ENABLED",i[i.MSHYBRID_ENABLED_DDS_IGPU=9]="MSHYBRID_ENABLED_DDS_IGPU",i[i.USE_ALTERNATE_DISPLAY=12]="USE_ALTERNATE_DISPLAY",i[i.MINIMUM_DRIVER_VERSION_NOT_MET=20]="MINIMUM_DRIVER_VERSION_NOT_MET",i}(O||{});const B={[O.MULTI_MON_DETECTED]:"nvcamera.PpeError.multiMonitor",[O.MINIMUM_DRIVER_VERSION_NOT_MET]:"nvcamera.PpeError.minDriver",[O.HDR_DISABLED]:"nvcamera.PpeError.osAndAutoHdrAndGameHdr",[O.SLI_ENABLED]:"nvcamera.PpeError.sli",[O.SURROUND_ENABLED]:"nvcamera.PpeError.surround",[O.SOC_FEATURE_ENABLED]:"nvcamera.PpeError.socFeatures",[O.USE_ALTERNATE_DISPLAY]:"nvcamera.PpeError.alternateDisplay",[O.MSHYBRID_ENABLED_DDS_IGPU]:"nvcamera.PpeError.msHybridDDS"};var P=function(i){return i[i.INGAMEHDR_AUTOHDR_ENABLED=0]="INGAMEHDR_AUTOHDR_ENABLED",i}(P||{});const k={[P.INGAMEHDR_AUTOHDR_ENABLED]:"nvcamera.PpeError.AutoHdrAndGameHdr"};var U=function(i){return i[i.DRS_REGKEY_NOT_SET=0]="DRS_REGKEY_NOT_SET",i[i.UNSUPPORTED_PRESENTATION_MODE=1]="UNSUPPORTED_PRESENTATION_MODE",i[i.GAME_HDR_ENABLED=2]="GAME_HDR_ENABLED",i[i.OS_HDR_DISABLED=3]="OS_HDR_DISABLED",i[i.SOC_FEATURES_ENABLED=4]="SOC_FEATURES_ENABLED",i[i.MISTMATCHED_DISPLAY=5]="MISTMATCHED_DISPLAY",i[i.API_NOT_SUPPORTED=6]="API_NOT_SUPPORTED",i}(U||{});const r={[U.DRS_REGKEY_NOT_SET]:"nvcamera.PpeError.featureDisabled",[U.UNSUPPORTED_PRESENTATION_MODE]:"nvcamera.PpeError.iFlip",[U.GAME_HDR_ENABLED]:"nvcamera.PpeError.osAndAutoHdrAndGameHdr",[U.OS_HDR_DISABLED]:"nvcamera.PpeError.osAndAutoHdrAndGameHdr",[U.SOC_FEATURES_ENABLED]:"nvcamera.PpeError.socFeatures",[U.MISTMATCHED_DISPLAY]:"nvcamera.PpeError.mismatchedDisplay",[U.API_NOT_SUPPORTED]:"nvcamera.PpeError.unsupportedApi"},l="sqhfx7",I="nXEC17",S="ydzplY",L="ydznXE",s={filterDetails:{filter:{status:e.Or.Common.Nvcamera.AnselStatusEnum.ok},controls:[{id:0,displayName:"Intensity (%)",controlType:"slider",measureUnit:"%",dataType:e.Or.Common.Nvcamera.DataType.uint,minValue:[0],maxValue:[100],defaultValue:[50],currentValue:[50],stepSize:[1],uiStepSize:[1],uiMinValueV1:[0],uiMaxValueV1:[100],uiDisplayNameV1:[""],uiMinValue:0,uiMaxValue:100},{id:0,displayName:"Saturation Boost (%)",controlType:"slider",measureUnit:"%",dataType:e.Or.Common.Nvcamera.DataType.uint,minValue:[0],maxValue:[100],defaultValue:[25],currentValue:[25],stepSize:[1],uiStepSize:[1],uiMinValueV1:[0],uiMaxValueV1:[100],uiDisplayNameV1:[""],uiMinValue:0,uiMaxValue:100}]}},M={filterDetails:{filter:{status:e.Or.Common.Nvcamera.AnselStatusEnum.ok},controls:[{id:0,displayName:"Peak brightness (nits)",controlType:"slider",measureUnit:"%",dataType:e.Or.Common.Nvcamera.DataType.uint,minValue:[0],maxValue:[100],defaultValue:[1],currentValue:[1],stepSize:[1],uiStepSize:[1],uiMinValueV1:[0],uiMaxValueV1:[100],uiDisplayNameV1:[""],uiMinValue:0,uiMaxValue:100},{id:0,displayName:"Middle greys (nits)",controlType:"slider",measureUnit:"nits",dataType:e.Or.Common.Nvcamera.DataType.uint,minValue:[0],maxValue:[100],defaultValue:[50],currentValue:[50],stepSize:[1],uiStepSize:[1],uiMinValueV1:[0],uiMaxValueV1:[100],uiDisplayNameV1:[""],uiMinValue:0,uiMaxValue:100},{id:0,displayName:"Contrast (%)",controlType:"slider",measureUnit:"%",dataType:e.Or.Common.Nvcamera.DataType.int,minValue:[-100],maxValue:[100],defaultValue:[0],currentValue:[0],stepSize:[1],uiStepSize:[1],uiMinValueV1:[-100],uiMaxValueV1:[100],uiDisplayNameV1:[""],uiMinValue:-100,uiMaxValue:100},{id:0,displayName:"Saturation (%)",controlType:"slider",measureUnit:"%",dataType:e.Or.Common.Nvcamera.DataType.int,minValue:[-100],maxValue:[100],defaultValue:[0],currentValue:[0],stepSize:[1],uiStepSize:[1],uiMinValueV1:[-100],uiMaxValueV1:[100],uiDisplayNameV1:[""],uiMinValue:-100,uiMaxValue:100}]}},u={filterDetails:{filter:{status:e.Or.Common.Nvcamera.AnselStatusEnum.ok},controls:[{id:0,displayName:"Sharpen (%)",controlType:"slider",measureUnit:"%",dataType:e.Or.Common.Nvcamera.DataType.uint,minValue:[0],maxValue:[100],defaultValue:[50],currentValue:[50],stepSize:[1],uiStepSize:[1],uiMinValueV1:[0],uiMaxValueV1:[100],uiDisplayNameV1:[""],uiMinValue:0,uiMaxValue:100}]}};class x{constructor(){this.ppeFilterSlot={}}}var p=function(i){return i.RTX_DVC="RTX Dynamic Vibrance",i.RTX_HDR="RTX HDR",i.NIS2="Sharpen (Image Scaling)",i}(p||{})},83934:(xe,de,t)=>{"use strict";t.d(de,{P:()=>a});var e=t(26513),n=t(35146),E=t(43848),O=t(36466),B=t(91384),P=t(75707),k=t(83915),U=t(14714),r=t(33367),A=t(23860),l=t(53914),I=t(18880),S=t(37543),L=t(59002),s=t(58527),M=t(47766),u=t(65240),x=t(12137),p=t(10279),i=t(27211),o=t(24964),_=t(70815),f=t(73934);let a=(()=>{var D;class te{get streamerConfig(){return this.streamerConfigService.activeConfig}isHighlightsActive(){return this.highlightsActive$.asObservable()}overrideHighlightSettings(){return this.overrideHighlightUI}cachedAHLGameShortName(){return this.cachedShortName}constructor(z,R,v,h,W,ne,ee,b,w,F,Z,se){this.injector=z,this.bridgeService=v,this.translateService=h,this.igoConfig=W,this.oscNotificationService=ne,this.telemetry=ee,this.telemetryIgo=b,this.dialogHelper=w,this.endpointFactory=F,this.hotkeyService=Z,this.gfnInfoService=se,this.disableRecordSpecialCase=L.Fm.RECORD_SPECIAL_CASE_4K,this.appShortName="",this.scopes=[],this.highlightsActive=!1,this.overrideHighlightUI=!1,this.sdkHighlightSupported=!1,this.cachedShortName="",this.sdkInstance={appShortName:"",profileName:"",name:"",sdkVersion:""},this.highlightsActive$=new e.t(!1),this.gameSpecificHlData=[],this.subActions=[],this.isNvApp=!1,this.logger=R.getLogger("SdkHighlightsService"),this.isNvApp="GFE"===this.igoConfig.branding}init(){this.logger.info("Initialize"),this.gfnInfoService.getRecordSpecialCase().subscribe(z=>{this.logger.info("disableRecordSpecialCase mode: ",z),this.disableRecordSpecialCase=z}),this.bridgeService.executeCommand(r.Ts.Share.Shareserver.RegisterSDKNotifications).subscribe(z=>this.highlightsEvent(z)),this.bridgeService.executeCommand(r.Ts.Share.Shareserver.GetHighlightsActive).subscribe(z=>{z&&this.highlightsActive$.next(!this.disableRecordSpecialCase&&z.active)})}getPermissionsData(z){const R=[];R.push(this.bridgeService.executeCommand(r.Ts.Share.Shareserver.GetApplicationConfigs,{}).pipe((0,B.M)(v=>{if(this.gameSpecificHlData.length=0,v){const h=v.apps.findIndex(W=>W.app.profileName===z);-1!==h&&(this.gameSpecificHlData=v.apps[h].highlights,this.gameSpecificHlData.forEach(W=>W.userEnabled=!0))}}))),R.push(this.hotkeyService.blockAllHotkeys(!0).pipe((0,B.M)(()=>{this.logger.info("Hotkeys disabled")}))),setTimeout(()=>{(0,n.yU)(...R).subscribe(()=>{this.askToSetPermissions(z)})},2e3)}askToSetPermissions(z){this.logger.info("permissions request");let R="GFE"===this.igoConfig.branding?"product.NVAPP":"product.GFN";R=this.translateService.instant(R);let v="GFE"===this.igoConfig.branding?"confirmation.HighlightsTitle":R;v=this.translateService.instant(v);const h="GFE"===this.igoConfig.branding?"confirmation.HighlightsPermissionsNvApp":"confirmation.HighlightsPermissions",W="GFE"===this.igoConfig.branding?"confirmation.HighlightsHintNvApp":"confirmation.HighlightsHint";this.subActions.length=0,this.gameSpecificHlData.length>0&&this.gameSpecificHlData.forEach(ee=>{const b=`highlightLabels.${ee.name}`;let w=this.translateService.instant(b);w===b&&(w=ee.name),this.subActions.push({label:w,state:ee.userEnabled})}),this.dialogHelper.openAlertDialog({title:v,query:h,queryParam:{arg:z},state:"confirmation.HighlightsMainCheckbox",hint:W,hintParam:{arg:R},action1:"confirmation.LetsGo",action1Color:"#76b900",subActions:this.subActions}).pipe((0,P.ZZ)(ee=>ee.afterClosed())).subscribe(ee=>{ee===I.SF.Action1?this.allowHighlights():this.disallowHighlights(),this.hotkeyService.blockAllHotkeys(!1).subscribe()})}highlightsEvent(z){this.logger.info("Event: ",z),z?z.requestPermissions?this.eventRequestPermissions(z):z.createInstance?this.eventCreateInstance(z):z.destroyInstance?this.eventDestroyInstance(z):z.updatePermissions?(this.sdkInstance.appShortName=z.updatePermissions.app.appShortName,this.sdkInstance.profileName=z.updatePermissions.app.profileName,this.sdkInstance.name=z.updatePermissions.app.name):z.actionStatus?this.eventActionStatus(z):z.openGroup||z.closeGroup||(z.highlightSessionStatus?(this.highlightsActive=z.highlightSessionStatus.enable,this.highlightsActive$.next(z.highlightSessionStatus.enable)):z.manualRecordRunning?"GFE"===this.igoConfig.branding&&this.oscNotificationService.show(A.Ed.ManualRecordRunning,z.manualRecordRunning.manualRecordGameName,z.manualRecordRunning.gameName):this.logger.info("Unknown or unhandled Event Type: ",z)):this.logger.info("Event: undefined or null")}eventRequestPermissions(z){this.appShortName=z.requestPermissions.app.appShortName,this.scopes=z.requestPermissions.scopes,this.getPermissionsData(z.requestPermissions.app.profileName)}eventCreateInstance(z){this.sdkInstance.appShortName=z.createInstance.app.appShortName,this.sdkInstance.profileName=z.createInstance.app.profileName,this.sdkInstance.name=z.createInstance.app.name,this.sdkInstance.sdkVersion=z.createInstance.sdkVersion}sendHighlightFailureTelemetry(z){var R,v;!this.isNvApp||null==z||null===(R=z.actionStatus)||void 0===R||null===(R=R.app)||void 0===R||!R.name||null==z||null===(v=z.actionStatus)||void 0===v||!v.status||this.telemetry.sendHighlightCapture({shortName:z.actionStatus.app.name},null,null,null,null,z.actionStatus.status)}eventActionStatus(z){const R=z.actionStatus;"HighlightsSaveVideo"!==z.actionStatus.action&&"HighlightsSaveScreenshot"!==z.actionStatus.action||"NVGSDK_ERR_CAP_LIMIT_REACHED"!==z.actionStatus.status?"HighlightsSaveVideo"!==z.actionStatus.action&&"HighlightsSaveScreenshot"!==z.actionStatus.action||"NVGSDK_ERR_DISK_LIMIT_REACHED"!==z.actionStatus.status?"NVGSDK_SUCCESS"!==z.actionStatus.status&&(void 0===z.actionStatus.status?z.actionStatus.status="NVGSDK_ERR_NOT_SET":this.sendHighlightFailureTelemetry(z),this.logger.info("Event not handled: ",z)):(this.logger.info("Capture failed due to disk space limit"),this.oscNotificationService.show(A.Ed.NoSpaceCaptureNotSaved,"commonLabels.Highlights")):(this.logger.info("Capture failed due to cap space limit"),this.oscNotificationService.show(A.Ed.NoSpaceCaptureNotSaved,"commonLabels.Highlights")),this.telemetryIgo.recordSDKCallResult(R.action,R.status,R.statusInternalCode,{shortName:R.app.appShortName},R.sdkVersion?R.sdkVersion:""),R.action===l.rV.connect&&!this.isNvApp&&this.getStateOfCurrentGame(z.actionStatus.app).subscribe(v=>{v.permissionParams.permissions.length>0&&this.telemetry.sendHighlightsGameSetting({},v.state,v.state?l.Bt.alreadyOn:l.Bt.alreadyOff)})}eventDestroyInstance(z){this.sdkInstance.appShortName="",this.sdkInstance.profileName="",this.sdkInstance.name="",this.sdkInstance.sdkVersion=""}fillPermissions(z){const R={app:{},permissions:[]};return R.app.appShortName=this.appShortName,this.scopes.forEach((v,h)=>{R.permissions[h]={scope:v,permission:z}}),R}setPermissions(z){const R=this.fillPermissions(z);return this.bridgeService.executeCommand(r.Ts.Share.Shareserver.SetSDKPermissions,R).pipe((0,k.T)(v=>(this.logger.info("SetSDKPermissions "+(z===r.Or.Share.Shareserver.SdkPermissions.granted?"granted":"denied")+" for: ",this.appShortName),this.gameSpecificHlData.length>0&&this.updateHighlightsSettings(),!0)),(0,U.W)(v=>(this.logger.info("SetSDKPermissions failed: ",v),(0,E.of)(!1))))}updateHighlightsSettings(){const R={app:{appShortName:this.sdkInstance.appShortName,profileName:this.sdkInstance.profileName,name:this.sdkInstance.name},highlightDefinitions:this.gameSpecificHlData};R.highlightDefinitions.forEach(v=>{const h=`highlightLabels.${v.name}`;let W=this.translateService.instant(h);W===h&&(W=v.name),v.userEnabled=this.subActions.find(ne=>ne.label===W).state}),this.bridgeService.executeCommand(r.Ts.Share.Shareserver.SetHighlightsConfig,R).subscribe(()=>{})}allowHighlights(){this.setPermissions(r.Or.Share.Shareserver.SdkPermissions.granted).subscribe(),this.telemetry.sendHighlightsGameSetting({shortName:this.sdkInstance.appShortName},!0,l.Bt.initial,null,l.f2.gameToggle,this.sdkInstance.profileName)}disallowHighlights(){this.setPermissions(r.Or.Share.Shareserver.SdkPermissions.denied).subscribe(),this.telemetry.sendHighlightsGameSetting({shortName:this.sdkInstance.appShortName},!1,l.Bt.initial,null,l.f2.gameToggle,this.sdkInstance.profileName)}getStateOfCurrentGame(z){return this.bridgeService.executeCommand(r.Ts.Share.Shareserver.GetSDKPermissions,{app:z}).pipe((0,k.T)(h=>{let W=!1;for(let ee=0;ee{this.logger.info("Permissions for: "+z.permissionParams.app.profileName+" changed to: "+z.permissionParams.permissions[0].permission)}))}IsSDKHighlightSupportedGame(z){return this.lcarsService.getMetadataByCmsId(z).pipe((0,k.T)(R=>{if(R){var v,h;if(this.logger.info("isHighlightsSupported: ",null===(v=R.nvidiaTech)||void 0===v?void 0:v.HIGHLIGHTS),null!==(h=R.nvidiaTech)&&void 0!==h&&h.HIGHLIGHTS)return this.sdkHighlightSupported=!0,void(this.overrideHighlightUI=!1);this.sdkHighlightSupported=!1}else this.logger.info("isHighlightsSupported value not found for the game")})).subscribe(O.l,R=>{this.sdkHighlightSupported=!1,this.overrideHighlightUI=!1,this.logger.error("Unable to obtain game meta data.",R)})}createEndpoint(){return this.endpointFactory.createEndpoint({config:{timeout:1e4,timeBetweenRetries:3e4,maxRetries:2}})}toggleAutohighlight(z){this.streamerConfigService=this.injector.get(S.zi2),this.lcarsService=this.injector.get(S.Br4),this.IsSDKHighlightSupportedGame(this.streamerConfig.cmsId),this.enableAutohighlight(z)}enableAutohighlight(z){const R={toggle:z};z||this.sdkHighlightSupported?(this.overrideHighlightUI=!1,this.cachedShortName=""):(this.overrideHighlightUI=!0,this.cachedShortName=this.streamerConfig.shortName,this.logger.info("AHL disabled on a supported game: ",this.cachedShortName)),this.sdkHighlightSupported?this.logger.info("AHL not supported for ",this.streamerConfig.shortName):this.bridgeService.executeCommand(r.Ts.Share.Shareserver.ToggleAutoHighlight,R).pipe((0,k.T)(v=>(this.logger.info("ToggleAutoHighlight returns: ",v),v)),(0,U.W)(v=>(this.logger.info("ToggleAutoHighlight error: ",v),(0,E.of)(!1)))).subscribe()}toggleSdkHighlights(z){!0===this.igoConfig.GFNCefClient&&this.bridgeService.executeCommand(r.Ts.Share.Shareserver.DisableRecordSpecialCase,{specialCase:z?L.Fm.RECORD_SPECIAL_CASE_NONE:L.Fm.RECORD_SPECIAL_CASE_4K}).pipe((0,k.T)(v=>(this.logger.info("DisableRecordSpecialCase returns: ",v),v)),(0,U.W)(v=>(this.logger.info("DisableRecordSpecialCase error: ",v),(0,E.of)(!1)))).subscribe()}}return(D=te).\u0275fac=function(z){return new(z||D)(s.KVO(s.zZn),s.KVO(M.J6),s.KVO(M.NZ),s.KVO(u.c$),s.KVO(x.k),s.KVO(A.mb),s.KVO(p.x),s.KVO(i.S),s.KVO(o.e),s.KVO(_.t),s.KVO(f.QS),s.KVO(L.x_))},D.\u0275prov=s.jDH({token:D,factory:D.\u0275fac,providedIn:"root"}),te})()},51830:(xe,de,t)=>{"use strict";t.d(de,{W1:()=>y,YQ:()=>w,gX:()=>H,m_:()=>se});var e=t(26513),n=t(80583),E=t(93181),O=t(43848),B=t(31315),P=t(17053),k=t(35146),U=t(8619),r=t(65706),A=t(73180),l=t(75707),I=t(83915),S=t(14714),L=t(91384),s=t(26875),u=t(33367),x=t(78812),p=t(50801),i=t(23860),o=t(73934),_=t(53914),f=t(43827),J=t(22123),a=t(18880),D=t(59002),te=t(72238),N=t(58527),z=t(47766),R=t(11728),v=t(10279),h=t(24964),W=t(12137),ne=t(83934),ee=t(2688),b=t(27211),w=u.Or.Share.Shareserver.MicModeEnum,F=u.Or.Share.Shareserver.Resolution,Z=u.Or.Share.Shareserver.Quality,se=u.Or.Share.Shareserver.Codec,T=u.Or.Share.Shareserver.DeviceTypeEnum,H=u.Or.Share.Shareserver.DeviceStateTypeEnum;let y=(()=>{var X;class c{constructor(d,C,Q,j,le,ge,ie,ce,G,ue,ae,Ce,Se,Ne,we){this.injector=C,this.bridgeService=Q,this.oscNotificationService=j,this.hotkeyService=le,this.oscDisplayService=ge,this.telemetry=ie,this.dialogHelper=ce,this.igoConfig=G,this.gfnInfoService=ue,this.sdkHighlightService=ae,this.microphoneService=Ce,this.featureSupportService=Se,this.telemetryIgoService=Ne,this.dbService=we,this.ShadowplayStorageKeyName="ShadowplayPersistedData",this.disableRecordSpecialCase=D.Fm.RECORD_SPECIAL_CASE_4K,this.$mrState=new e.t(!1),this.$irState=new e.t(f.Qe.off),this.$micState=new e.t(w.off),this.$hlBadState=new e.t(!1),this.$micDeviceState=new n.B7,this.$micSelectionChanged=new n.B7,this.$camDeviceState=new n.B7,this.$micPttHotkey=new e.t(!1),this.$freestyleAnselState=new n.B7,this.$videoSpecsInitState=new e.t(!1),this.$appStartedEvent=new n.B7,this.$gAssistInstallState=new n.B7,this._mrStartTime=null,this.isDTCaptureSupported=!1,this.notebookCoProc=!1,this.captureState=null,this.isGfnMicrophoneEnabled=!1,this.maxIRTime=15,this.throttleMs=333,this.microphoneSpecs=[],this.currentMicIndex=-1,this.isNvApp=!1,this.isAV1RecSupported=!1,this.protectedContentFail=!1,this.protectedContentFailRecordSave=!1,this.captureScreenshot=void 0,this.enableInstantReplay=void 0,this.disableInstantReplay=void 0,this.saveIR=void 0,this.startManualRecord=void 0,this.stopAndSaveManualRecord=void 0,this.logger=d.getLogger("ShadowPlayService"),this.dBStore=this.dbService.getGlobalStore("Shadowplay"),this.isNvApp=this.featureSupportService.isNvApp()}throttled(d){return(0,s.throttle)(d,1e3,{trailing:!1})}init(){this.captureScreenshot=this.throttled(this._captureScreenshot),this.enableInstantReplay=this.throttled(this._enableInstantReplay),this.disableInstantReplay=this.throttled(this._disableInstantReplay),this.saveIR=this.throttled(this._saveIR),this.startManualRecord=this.throttled(this._startManualRecord),this.stopAndSaveManualRecord=this.throttled(this._stopAndSaveManualRecord),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.RegisterCaptureStateChangeNotifications).pipe((0,U.p)(C=>C.captureMode!==u.Or.Share.Shareserver.CaptureModeEnum.gameCast)).subscribe(C=>this.handleCaptureEvent(C)),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.RegisterGeneralNotifications).subscribe(C=>this.handleGeneralNotification(C)),this.gfnInfoService.getRecordSpecialCase().subscribe(C=>{this.logger.info("disableRecordSpecialCase mode: ",C),this.disableRecordSpecialCase=C,this.sdkHighlightService.toggleAutohighlight(!this.disableRecordSpecialCase),this.sdkHighlightService.toggleSdkHighlights(!this.disableRecordSpecialCase)}),this.featureSupportService.isGfnMicrophoneEnabled().pipe((0,r.s)(1)).subscribe(C=>{if(this.isGfnMicrophoneEnabled=C,C)this.microphoneService.currentMicState$.subscribe(Q=>{this.setMicMode(Q===p.EO.Unmuted?w.on:w.off)});else{const Q=this.getMicrophoneData().subscribe(()=>{Q.unsubscribe()});this.hotkeyService.listen(o.g8.MicToggle).pipe((0,A.c)(this.throttleMs)).subscribe(()=>{let j=this.$micState.getValue();j=j===w.ptt||j===w.on?w.off:w.on,this.setMicMode(j)}),this.hotkeyService.listenPTT().pipe().subscribe(j=>{this.$micPttHotkey.next(j),this.setMicPTTMode(j?w.on:w.off)})}}),this.hotkeyService.listen(o.g8.DVRToggle).pipe((0,A.c)(this.throttleMs)).subscribe(()=>{this.disableRecordSpecialCase||(this.$irState.getValue()===f.Qe.off?this.enableInstantReplay():this.disableInstantReplay())}),this.hotkeyService.listen(o.g8.DVRSave).pipe((0,A.c)(this.throttleMs)).subscribe(()=>{this.disableRecordSpecialCase||(this.$irState.getValue()===f.Qe.recording?this.saveIR():this.logger.info("Attempted to save and instant replay while instant replay was disabled"))}),this.hotkeyService.listen(o.g8.RecordToggle).pipe((0,A.c)(this.throttleMs)).subscribe(()=>{this.disableRecordSpecialCase||(this.$mrState.getValue()?this.stopAndSaveManualRecord():this.startManualRecord())}),this.hotkeyService.listen(o.g8.Screenshot).pipe((0,A.c)(this.throttleMs)).subscribe(()=>{D.Fm.RECORD_SPECIAL_CASE_PLAYTEST!==this.disableRecordSpecialCase&&this.captureScreenshot()}),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetCaptureState).subscribe(C=>{this.captureState=C.state}),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetDesktopCaptureSupportReason).subscribe(C=>{if(this.logger.info("Desktop Support Reason: ",C),this.isDTCaptureSupported=C.support,!this.isDTCaptureSupported){const Q=C.desktopCaptureUnsupportedReason[0];(Q.indexOf("notebookDriver")>=0||Q.indexOf("notebookCoProc")>=0||Q.indexOf("notebookDGpu")>=0||Q.indexOf("hideCheckboxAOSP")>=0)&&(this.notebookCoProc=!0)}},C=>{this.logger.info("Desktop support query failed")});const d=this.getInstantReplayMaxLength().subscribe(C=>{this.maxIRTime=C,this.logger.info("IR Length: "+C+" seconds"),d.unsubscribe()});(0,E.p)([this.getInstantReplayEnableStatus(),this.getInstantReplayRunningStatus()]).subscribe(([C,Q])=>{Q?this.$irState.next(f.Qe.recording):C&&this.$irState.next(f.Qe.on),(Q||C)&&this.hotkeyService.startListeningToHotkey(o.g8.DVRSave).subscribe()}),this.isNvApp&&(this.aiChatBoxService=this.injector.get(te.D),this.getVideoSpecs().pipe((0,l.ZZ)(()=>this.loadShadowplayData()),(0,r.s)(1),(0,I.T)(()=>{var C;this.isAV1RecSupported=!(null===(C=this.videoSpecs)||void 0===C||null===(C=C.codecs)||void 0===C||!C.length),this.$videoSpecsInitState.next(!0),this.telemetryIgoService.updateVideoSpecSettings(this.videoSpecs)})).subscribe(),this.getMicMode().pipe((0,r.s)(1)).subscribe(C=>{this.telemetryIgoService.updateMicMode(C)}),setTimeout(()=>{this.getLastLaunchedApp()},0)),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.RegisterAppNotifications).pipe((0,U.p)(C=>!(null==C||!C.appStarted))).subscribe(C=>{this.$appStartedEvent.next(C)})}get mrStartTime(){return this._mrStartTime}get videoCaptureReturnLocation(){return this._videoCaptureReturnLocation}set videoCaptureReturnLocation(d){this._videoCaptureReturnLocation=d}getShowCodecMessage(){return this.isAV1RecSupported&&this.spData.showCodecMessage}dismissShowCodecMessage(){this.spData.showCodecMessage=!1,this.savePersistedData()}isGAssistInstalled(){var d;return this.isNvApp&&(null===(d=this.aiChatBoxService)||void 0===d?void 0:d.getIsGAssistInstalled())}getDefaultShadowplayData(){return this.spData={showCodecMessage:!0},this.spData}savePersistedData(d=null){this.dBStore.setItem(this.ShadowplayStorageKeyName,d=d||this.spData).subscribe(C=>{this.logger.info("Persisted data saved successfully ",C)},C=>{this.logger.error("Error while saving the persisted data ",C)})}loadShadowplayData(){return this.dBStore.getItem(this.ShadowplayStorageKeyName).pipe((0,I.T)(d=>d?(this.logger.info("Loaded sp data from the storage"),this.spData=d,!0):(this.logger.info("No sp data found in storage"),this.spData=this.getDefaultShadowplayData(),!1)),(0,S.W)(d=>(this.logger.error("Could not load sp data from the storage: ",JSON.stringify(d)),this.spData=this.getDefaultShadowplayData(),(0,O.of)(!1))))}handleCaptureEvent(d){this.logger.info("Capture Event:",d);const C=!this.isNvApp||(null==d?void 0:d.errorType);switch(d.captureMode){case u.Or.Share.Shareserver.CaptureModeEnum.screenshot:this.logger.info("screenshot capture event"),C&&this.telemetry.sendCaptureEvent(_.db.screenshotSaved,d.captureMethod,d.recordWidth,d.recordHeight,d.recordFramerate,d.recordCodec,d.colorSpaceRange,d.errorType,d.errorDetails);break;case u.Or.Share.Shareserver.CaptureModeEnum.manual:this.logger.info("Manual capture"),d.recordingState===u.Or.Share.Shareserver.RecordingState.started?this.disableRecordSpecialCase||(this.oscNotificationService.show(i.Ed.RecordStarted),this.$mrState.next(!0),this._mrStartTime=Date.now(),C&&this.telemetry.sendCaptureEvent(_.db.startManualCapture,d.captureMethod,d.recordWidth,d.recordHeight,d.recordFramerate,d.recordCodec,d.colorSpaceRange,d.errorType,d.errorDetails)):d.recordingState===u.Or.Share.Shareserver.RecordingState.available&&(this.protectedContentFailRecordSave||this.oscNotificationService.show(i.Ed.RecordSaving),this.protectedContentFailRecordSave=!1,this.$mrState.next(!1),this._mrStartTime=null,C&&this.telemetry.sendCaptureEvent(_.db.stopAndSaveManualCapture,d.captureMethod,d.recordWidth,d.recordHeight,d.recordFramerate,d.recordCodec,d.colorSpaceRange,d.errorType,d.errorDetails));break;case u.Or.Share.Shareserver.CaptureModeEnum.dvr:this.logger.info("DVR");const Q=this.$irState.value===f.Qe.on||this.$irState.value===f.Qe.recording;d.recordingState===u.Or.Share.Shareserver.RecordingState.enabled?this.disableRecordSpecialCase||(this.oscNotificationService.show(i.Ed.InstantReplayStarted),this.logger.info("IR Enabled"),this.$irState.next(f.Qe.on),C&&this.telemetry.sendCaptureEvent(_.db.turnOnInstantReplay,d.captureMethod,d.recordWidth,d.recordHeight,d.recordFramerate,d.recordCodec,d.colorSpaceRange,d.errorType,d.errorDetails)):d.recordingState===u.Or.Share.Shareserver.RecordingState.started?this.disableRecordSpecialCase||(this.logger.info("IR Started"),this.$irState.next(f.Qe.recording)):d.recordingState===u.Or.Share.Shareserver.RecordingState.available?this.disableRecordSpecialCase||(this.logger.info("IR Available"),this.$irState.next(f.Qe.on)):d.recordingState===u.Or.Share.Shareserver.RecordingState.saved?this.disableRecordSpecialCase||(this.logger.info("IR Saved"),this.oscNotificationService.show(i.Ed.InstantReplaySaving),C&&this.telemetry.sendCaptureEvent(_.db.instantReplaySaved,d.captureMethod,d.recordWidth,d.recordHeight,d.recordFramerate,d.recordCodec,d.colorSpaceRange,d.errorType,d.errorDetails)):d.recordingState===u.Or.Share.Shareserver.RecordingState.disabled&&(this.oscNotificationService.show(i.Ed.InstantReplayStopped),this.logger.info("IR Disabled"),this.$irState.next(f.Qe.off),C&&this.telemetry.sendCaptureEvent(_.db.turnOffInstantReplay,d.captureMethod,d.recordWidth,d.recordHeight,d.recordFramerate,d.recordCodec,d.colorSpaceRange,d.errorType,d.errorDetails));const j=this.$irState.value===f.Qe.on||this.$irState.value===f.Qe.recording;j!==Q&&(j?this.hotkeyService.startListeningToHotkey(o.g8.DVRSave).subscribe():this.hotkeyService.stopListeningToHotkey(o.g8.DVRSave));break;case u.Or.Share.Shareserver.CaptureModeEnum.gearHighlight:this.logger.info("Gear Highlight"),d.recordingState===u.Or.Share.Shareserver.RecordingState.enabled?(this.logger.info("Gear Highlights Enabled"),this.$hlBadState.next(!1)):d.recordingState===u.Or.Share.Shareserver.RecordingState.disabled&&(this.logger.info("Gear Highlights Disabled"),this.$hlBadState.next(!0));break;default:this.logger.info("Other",d.captureMode)}}handleGeneralNotification(d){if(this.logger.info("General Event: ",d),d.captureFailed)this.handleError();else if(d.galleryIsFull)this.logger.info("Gallery is full"),this.oscNotificationService.show(i.Ed.GalleryIsFull);else if(d.diskSpaceIsLow)this.logger.info("Gallery disk space is low"),this.oscNotificationService.show(i.Ed.DiskSpaceIsLow);else if(d.deviceChange)d.deviceChange.device===T.mic?(this.logger.info("Microphone has been ",d.deviceChange.state),this.$micDeviceState.next(d.deviceChange.state)):d.deviceChange.device===T.webcam&&(this.logger.info("Camera has been ",d.deviceChange.state),this.$camDeviceState.next(d.deviceChange.state));else if(d.disableHDR)switch(d.disableHDR.captureMode){case u.Or.Share.Shareserver.CaptureModeEnum.manual:this.oscNotificationService.show(i.Ed.HDRErrorRecord);break;case u.Or.Share.Shareserver.CaptureModeEnum.highlight:this.oscNotificationService.show(i.Ed.HDRErrorHighlight)}else if(d.protectedContentRunning){this.logger.info("Protected content notification ",d.protectedContentRunning.appname);let C="";if(d.protectedContentRunning.appname){const Q=d.protectedContentRunning.appname.replace(".exe","");C=Q[0].toUpperCase()+Q.substring(1,Q.length)}else C="notification.ProtectedContentGeneric";this.protectedContentFail=!0,this.protectedContentFailRecordSave=!0,setTimeout(()=>{this.oscNotificationService.show(i.Ed.ProtectedContentWarning,C)},1e3)}else d.freeStyleAnselState?this.$freestyleAnselState.next(d.freeStyleAnselState.enable):d.gassistInstallState&&this.$gAssistInstallState.next(d.gassistInstallState.installed)}handleError(){!1===this.isDTCaptureSupported&&!0===this.notebookCoProc&&("PID"===this.captureState?(this.oscNotificationService.show(i.Ed.WarningSupportedGameRequired),this.logger.info("Supported game required")):(this.oscNotificationService.show(i.Ed.WarningFullscreenGameRequired),this.logger.info("Fullscreen game required")))}getMRState(){return this.$mrState.asObservable()}getIRState(){return this.$irState.asObservable()}getMICState(){return this.$micState.asObservable()}getHLBadState(){return this.$hlBadState.asObservable()}getMICDeviceState(){return this.$micDeviceState.asObservable()}getCAMDeviceState(){return this.$camDeviceState.asObservable()}micPttHotkeyPressed(){return this.$micPttHotkey.asObservable()}isNotebookCoProcSystem(){return this.notebookCoProc}doWeNeedToAskPermission(){const d={isPossible:!1,shouldAskForPermission:!1};return(0,B.zV)([this.isCaptureControlPIDModeValid(),this.isInDesktopMode(),this.getDesktopCaptureSupported(),this.getDesktopCaptureEnabled()]).pipe((0,I.T)(([C,Q,j,le])=>(this.logger.info("isCaptureControlPIDModeValid: ",C),this.logger.info("isInDesktopMode: ",Q),this.logger.info("isDesktopCaptureSupported: ",j),this.logger.info("isDesktopCaptureEnabled: ",le),!Q||le||C?(d.isPossible=!0,d):!0===this.notebookCoProc?("PID"===this.captureState?(this.oscNotificationService.show(i.Ed.WarningSupportedGameRequired),this.logger.info("Supported game required")):(this.oscNotificationService.show(i.Ed.WarningFullscreenGameRequired),this.logger.info("Fullscreen game required")),d):(d.shouldAskForPermission=j,d))))}isCaptureControlPIDModeValid(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetCaptureControlPIDMode).pipe((0,I.T)(d=>(this.logger.info("Is Capture Control PID mode valid: ",d),d.valid)))}getMicSelectionChanges(){return this.$micSelectionChanged.asObservable()}isInDesktopMode(){return this.oscDisplayService.getCurrentDesktopMode().pipe((0,r.s)(1),(0,I.T)(d=>(this.logger.info("Desktop mode: ",d),"desktop"===d)))}getDesktopCaptureSupported(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetDesktopCaptureSupported).pipe((0,I.T)(d=>(this.logger.info("DesktopCapture Supported: ",d.support),d.support)))}getDesktopCaptureEnabled(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetDesktopCaptureEnabled).pipe((0,I.T)(d=>(this.logger.info("DesktopCapture Enabled: ",d.enable),d.enable)))}SetDesktopCaptureEnabled(d){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetDesktopCaptureEnabled,{enable:d}).pipe((0,I.T)(Q=>(this.logger.info("SetDesktopCaptureEnabled: ",Q),!0)),(0,S.W)(Q=>(this.logger.error("Error in SetDesktopCaptureEnabled: ",Q),(0,O.of)(!1))))}handlePrivacyAndAvailability(d){return this.doWeNeedToAskPermission().pipe((0,l.ZZ)(C=>C.shouldAskForPermission?"GFE"===this.igoConfig.branding?(this.dialogHelper.closeAll(),this.askToEnableDTCapture(d)):(0,O.of)(!1):(0,O.of)(!0)))}sendCaptureTelemetryNvApp(d,C){if(!this.isNvApp)return;let Q;Q=d===_.db.turnOnInstantReplay||d===_.db.turnOffInstantReplay?(0,O.of)(null):this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetCaptureProcessInfo,{appType:u.Or.Share.Shareserver.AppType.capture}).pipe((0,r.s)(1),(0,S.W)(j=>(this.logger.error("GetCaptureProcessInfo failed with ",j.toString()),(0,O.of)(null)))),Q.pipe((0,I.T)(j=>{this.telemetry.sendCaptureEvent(d,null,null,null,null,null,null,C?C.toString():x.oX.Undefined,null,null,{drsName:null==j?void 0:j.DRSAppName,drsProfileName:null==j?void 0:j.profileName})})).subscribe()}checkFailure(d,C,Q){this.logger.info("Check Failure for ",C," returns: ",d),d._return_internal===u.Or.Share.Shareserver.InternalErrorCodeEnum.ShadowPlay_E_FAIL_NO_DISC_SPACE||d._return_internal===u.Or.Share.Shareserver.InternalErrorCodeEnum.ShadowPlay_E_BOUNDS||d._return_internal===u.Or.Share.Shareserver.InternalErrorCodeEnum.ShadowPlay_E_FAIL_NO_GALLERY_SPACE?"mainMenu.ManualRecord"===C?this.oscNotificationService.show(i.Ed.NoSpaceCaptureNotStarted):this.oscNotificationService.show(i.Ed.NoSpaceCaptureNotSaved,C):d._return_internal===u.Or.Share.Shareserver.InternalErrorCodeEnum.ShadowPlay_E_FAIL_CAPTURE_DISABLED&&(this.logger.info("Record failure due to protected content",this.protectedContentFail),this.protectedContentFail||this.oscNotificationService.show(i.Ed.WarningSupportedGameRequired,C),this.protectedContentFail=!1),this.sendCaptureTelemetryNvApp(Q,null==d?void 0:d._return_status)}askToEnableDTCapture(d){this.logger.info("askToEnableDTCapture request for: ",d);let C="",Q="";switch(d){case"ss":C="mainMenu.Screenshot",Q="confirmation.CaptureScreenshot";break;case"mr":C="mainMenu.ManualRecord",Q="confirmation.CaptureRecording";break;case"br":C="settings.Broadcast",Q="confirmation.CaptureBroadcasting"}return this.dialogHelper.openAlertDialog({title:C,query:Q,queryParam:"",action1:"confirmation.NotRightNow",action2:"confirmation.yes"},!0,!1).pipe((0,l.ZZ)(le=>le.afterClosed()),(0,l.ZZ)(le=>le===a.SF.Action2?this.SetDesktopCaptureEnabled(!0):(0,O.of)(!1)),(0,I.T)(le=>"ss"!==d&&le))}_captureScreenshot(){this.handlePrivacyAndAvailability("ss").subscribe(C=>{C&&(this.logger.info("Taking screenshot"),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.CaptureScreenshot).subscribe(Q=>{this.checkFailure(Q,"mainMenu.Screenshot",_.db.screenshotSaved)},Q=>{this.sendCaptureTelemetryNvApp(_.db.screenshotSaved,Q),this.logger.error("CaptureScreenshot failed: ",Q)}),this.telemetry.startCaptureEvent(_.db.screenshotSaved))})}captureCustomScreenshot(d,C,Q){return this.logger.info("Got custom screenshot request: Filename "+C),new P.c(j=>{const le=this.bridgeService.executeCommand(u.Ts.Share.Shareserver.CustomScreenshotNotifications).subscribe(ge=>{j.next(ge),le.unsubscribe(),j.complete()},ge=>{j.error(ge)});this.bridgeService.executeCommand(u.Ts.Share.Shareserver.CaptureCustomScreenshot,{controller:d,screenshotName:C,slotId:Q}).subscribe(ge=>{(ge._return_code||ge._return_internal!==u.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Success_Ok&&ge._return_internal!==u.Or.Share.Shareserver.InternalErrorCodeEnum.GXP_Success_NoError)&&(this.logger.info("Internal error while capturing screenshot."+ge.return_code),j.error(ge.return_code),le.unsubscribe())},ge=>{this.logger.info("Error while initializing custom screenshot"),j.error(ge),le.unsubscribe()})})}_enableInstantReplay(){return this.logger.info("IR Enabled"),this.telemetry.startCaptureEvent(_.db.turnOnInstantReplay),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.EnableInstantReplay,{enable:!0}).subscribe(d=>{this.checkFailure(d,"mainMenu.InstantReplay",_.db.turnOnInstantReplay)},d=>{this.sendCaptureTelemetryNvApp(_.db.turnOnInstantReplay,d),this.logger.error("EnableInstantReplay (enable) failed: ",d)})}_disableInstantReplay(){return this.logger.info("IR Disabled"),this.telemetry.startCaptureEvent(_.db.turnOffInstantReplay),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.EnableInstantReplay,{enable:!1}).subscribe(d=>{this.checkFailure(d,"mainMenu.InstantReplay",_.db.turnOffInstantReplay)},d=>{this.sendCaptureTelemetryNvApp(_.db.turnOffInstantReplay,d),this.logger.error("EnableInstantReplay (disable) failed: ",d)})}_saveIR(){return this.logger.info("IR saved"),this.telemetry.startCaptureEvent(_.db.instantReplaySaved),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SaveInstantReplay).subscribe(d=>{this.checkFailure(d,"mainMenu.InstantReplay",_.db.instantReplaySaved)},d=>{this.sendCaptureTelemetryNvApp(_.db.instantReplaySaved,d),this.logger.error("SaveInstantReplay failed: ",d)})}_startManualRecord(){this.logger.info("Try manual"),this.handlePrivacyAndAvailability("mr").subscribe(C=>{C&&(this.logger.info("Manual Record started"),this.telemetry.startCaptureEvent(_.db.startManualCapture),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.EnableRecord,{enable:!0}).subscribe(Q=>{this.checkFailure(Q,"mainMenu.ManualRecord",_.db.startManualCapture)},Q=>{this.sendCaptureTelemetryNvApp(_.db.startManualCapture,Q),this.logger.error("EnableRecord (start) failed: ",Q)}))})}_stopAndSaveManualRecord(){return this.logger.info("Manual Record saved"),this.telemetry.startCaptureEvent(_.db.stopAndSaveManualCapture),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.EnableRecord,{enable:!1}).subscribe(d=>{this.checkFailure(d,"mainMenu.ManualRecord",_.db.stopAndSaveManualCapture)},d=>{this.sendCaptureTelemetryNvApp(_.db.stopAndSaveManualCapture,d),this.logger.error("EnableRecord (save) failed: ",d)})}getInstantReplayRunningStatus(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetInstantReplayRunningStatus).pipe((0,I.T)(d=>(this.logger.info("GetInstantReplayRunningStatus returns: ",d),d.status)))}getInstantReplayEnableStatus(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetInstantReplayEnableStatus).pipe((0,I.T)(d=>(this.logger.info("GetInstantReplayEnableStatus returns: ",d),d.status)))}getInstantReplayMaxLength(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetInstantReplaySettings).pipe((0,I.T)(d=>(this.logger.info("GetInstantReplaySettings returns: ",d),this.telemetry.updateReplayLength(d.replayLengthSeconds),d.replayLengthSeconds)))}getMicMode(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetMicMode).pipe((0,I.T)(d=>(this.logger.info("GetMicMode returns: ",d),this.$micState.next(d.mode),d.mode)),(0,S.W)(d=>(this.logger.error("GetMicMode error: ",d),(0,O.of)(w.off))))}setMicMode(d){const C={mode:d},Q=d!==w.off;return!this.isGfnMicrophoneEnabled&&"GFN"===this.igoConfig.branding&&(this.logger.info(" SetMicState with ",Q),this.bridgeService.executeCommand(u.Ts.Gfn.Streaming.SetMicState,{enable:Q}).subscribe(j=>{},j=>{this.logger.error(" SetMicState: ",j)})),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetMicMode,C).subscribe(j=>{this.$micState.next(d),this.telemetryIgoService.updateMicMode(d)},j=>{this.logger.error(" SetMicMode: ",j)})}setMicPTTMode(d){const C=!this.$mrState.getValue(),Q=this.$irState.getValue()!==f.Qe.recording,j=this.$micState.getValue()!==w.ptt;C&&Q||j||this.bridgeService.executeCommand(u.Ts.Share.Shareserver.MicPTTMode,{mode:d}).subscribe(ge=>{this.logger.info("SetMicPTTMode results: ",ge)},ge=>{this.logger.info("SetMicPTTMode error: ",ge)})}getFreestylePreviewBasePath(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetFreestylePreviewBasePath,{})}GetSupportedBitrates(d,C){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetSupportedBitrates,{quality:d,resolution:C})}GetSupportedBitratesFramerates(d,C,Q,j){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetSupportedBitratesFramerates,{quality:d,resolution:C,codec:Q,framerate:j})}GetQualityDefaultData(d){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetQualityDefaultData,{quality:d})}setInstantReplaySettings(d){return this.logger.info("setInstantReplaySettings params: ",d),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetInstantReplaySettings,d).pipe((0,I.T)(C=>(this.logger.info("setInstantReplaySettings returns: ",C),!0)))}getRecordSettings(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetRecordSettings).pipe((0,I.T)(d=>(this.logger.info("GetRecordSettings returns: ",d),d)))}setRecordSettings(d){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetRecordSettings,d).subscribe(C=>{this.logger.info("SetRecordSettings returns: ",C)})}getBroadcastSettings(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetBroadcastSettings).pipe((0,I.T)(d=>(this.logger.info("GetBroadcastSettings returns: ",d),d)))}convertResolution(d){switch(d){case"In-game":default:return F.In_game;case"2160p 4K":return F.Resolution_2160p_4K;case"4320p 8K":return F.Resolution_4320p_8K;case"1440p HD":return F.Resolution_1440p_HD;case"1080p HD":return F.Resolution_1080p_HD;case"720p HD":return F.Resolution_720p_HD;case"480p":return F.Resolution_480p;case"360p":return F.Resolution_360p;case"240p":return F.Resolution_240p;case"Exact":return F.Exact}}convertCodec(d){return"AV1"===d?se.AV1:se.H264_HEVC}getVideoSpecsInit(){return(0,B.zV)([this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetSupportedResolutionsCodecs),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetSupportedFramerates),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetInstantReplaySettings)]).pipe((0,I.T)(([d,C,Q])=>{const j=Z[Q.quality],le=this.convertResolution(Q.resolution),ge=this.convertCodec(Q.codec);return this.videoSpecs={resolutions:d.resolutions,frameRates:C.framerates,codecs:d.codecs,frameRatesDefault:void 0,codecDefault:d.defaultCodec,bitRatesMin:void 0,bitRatesMax:void 0,bitRatesDefault:void 0,recQualitySP:j,recQualityIgo:this.convertQualitySpToIgo(j),recResolution:le,recFramerate:Q.framerate,recBitrate:Q.bitrateBps,recReplayLength:Q.replayLengthSeconds,recCodec:ge},this.videoSpecs}),(0,S.W)(d=>(this.logger.error("Error in getVideoSpecsInit: ",d),(0,O.of)(this.videoSpecs))))}getVideoSpecs(){return this.getVideoSpecsInit().pipe((0,l.ZZ)(d=>this.GetSupportedBitratesFramerates(d.recQualitySP,d.recResolution,d.recCodec,d.recFramerate)),(0,I.T)(d=>(this.videoSpecs.bitRatesMin=d.bitrateBpsMin,this.videoSpecs.bitRatesMax=d.bitrateBpsMax,this.videoSpecs.bitRatesDefault=d.bitrateBpsDefault,this.videoSpecs.frameRates=d.fpsList.slice(0,d.supportedFPSCount),this.videoSpecs.frameRatesDefault=d.fpsDefault,this.videoSpecs)),(0,S.W)(d=>(this.logger.error("Error in getVideoSpecs: ",d),(0,O.of)(this.videoSpecs))))}convertQualitySpToIgo(d){switch(d){case Z.Average:return f.xT.low;case Z.Good:return f.xT.medium;case Z.VeryGood:return f.xT.high;case Z.UltraGood:return f.xT.ultra;case Z.Custom:return f.xT.custom;default:this.logger.info("Invalid Quality: ",d)}}convertQualityIgoToSp(d){switch(d){case f.xT.low:return Z.Average;case f.xT.medium:return Z.Good;case f.xT.high:return Z.VeryGood;case f.xT.ultra:return Z.UltraGood;case f.xT.custom:return Z.Custom;default:this.logger.info("Invalid Quality: ",d)}}setVideoSpecs(d,C){if(!C)return this.videoSpecs={...this.videoSpecs,recReplayLength:d.recReplayLength},this.setVideoSpecsNUpdateIRMaxTime({resolution:u.Or.Share.Shareserver.Resolution.In_game,framerate:60,bitrateBps:5e7,codec:u.Or.Share.Shareserver.Codec.H264_HEVC,replayLengthSeconds:d.recReplayLength});if(void 0===this.videoSpecs)return this.logger.error("setVideoSpecs input is undefined!"),(0,O.of)(!1);this.videoSpecs.recQualitySP=this.convertQualityIgoToSp(d.recQualityIgo),this.videoSpecs.recResolution=d.recResolution,this.videoSpecs.recFramerate=d.recFramerate,this.videoSpecs.recBitrate=d.recBitrate,this.videoSpecs.recReplayLength=d.recReplayLength,this.videoSpecs.recCodec=d.recCodec;const Q={quality:this.videoSpecs.recQualitySP,resolution:d.recResolution,framerate:d.recFramerate,bitrateBps:d.recBitrate,replayLengthSeconds:d.recReplayLength,codec:d.recCodec};return this.GetSupportedBitratesFramerates(Q.quality,Q.resolution,Q.codec,Q.framerate).pipe((0,l.ZZ)(j=>(Q.quality!==Z.Custom&&(Q.bitrateBps=this.videoSpecs.recBitrate=j.bitrateBpsDefault),j.fpsList.indexOf(Q.framerate)<0&&(Q.framerate=j.fpsDefault),this.setVideoSpecsNUpdateIRMaxTime(Q).pipe((0,L.M)(le=>{le&&this.telemetryIgoService.updateVideoSpecSettings(this.videoSpecs)})))))}setVideoSpecsNUpdateIRMaxTime(d){return this.setInstantReplaySettings(d).pipe((0,I.T)(()=>(this.maxIRTime=this.videoSpecs.recReplayLength,!0)))}getMicCount(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetMicCount).pipe((0,I.T)(d=>d.present),(0,S.W)(d=>(this.logger.error("GetMicCount error: ",d),(0,O.of)(0))))}getMicSettings(d){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetMicSettings,d).pipe((0,I.T)(C=>(this.microphoneSpecs[d.index]=C,!0)),(0,S.W)(C=>(this.logger.error("GetMicSettings error: ",C),(0,O.of)(!1))))}getCurrentMicSettings(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetMicSettings,{index:-1}).pipe((0,I.T)(C=>C.index),(0,S.W)(C=>(this.logger.error("getCurrentMicSettings error: ",C),(0,O.of)(0))))}getLastLaunchedApp(){this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetCaptureProcessInfo,{appType:u.Or.Share.Shareserver.AppType.last_proc}).pipe((0,L.M)(d=>{this.logger.info("getLastAppInfo: ",d);const C={};C.appStarted=d,this.$appStartedEvent.next(C)}),(0,S.W)(d=>(this.logger.error("getLastAppInfo failed:",d),(0,O.of)(null)))).subscribe()}setMicSettings(d){var C,Q,j,le,ge,ie;this.$micSelectionChanged.next();const ce={index:d.index,muted:null!==(C=null===(Q=d.micSpecs[d.index])||void 0===Q?void 0:Q.muted)&&void 0!==C&&C,volumePercent:null!==(j=null===(le=d.micSpecs[d.index])||void 0===le?void 0:le.volumePercent)&&void 0!==j?j:0,boostPercent:null!==(ge=null===(ie=d.micSpecs[d.index])||void 0===ie?void 0:ie.boostPercent)&&void 0!==ge?ge:0};return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetMicSettings,ce).pipe((0,S.W)(G=>(this.logger.error("setMicSettings error: ",G),(0,O.of)(!1))))}getAudioSettings(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetAudioSettings).pipe((0,I.T)(d=>({systemVolumePercent:d.systemVolumePercent,separateTracks:d.separateTracks})),(0,S.W)(d=>(this.logger.error("GetAudioSettings error: ",d),(0,O.of)({systemVolumePercent:0,separateTracks:!1}))))}setAudioSettings(d){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetAudioSettings,d).pipe((0,S.W)(C=>(this.logger.error("setAudioSettings error: ",C),(0,O.of)(!1))))}getMicrophoneData(){this.microphoneSpecs.length=0;let d=0;return this.getMicCount().pipe((0,l.ZZ)(C=>{if(d=C,0===d)return(0,O.of)({index:-1,micSpecs:void 0});const Q=[];for(let j=0;jthis.getCurrentMicSettings()),(0,I.T)(C=>{var Q;this.logger.info("All Mic Data: ",this.microphoneSpecs),this.logger.info("Current Index: ",C);const j=[];var le;if(null!==(Q=this.microphoneSpecs)&&void 0!==Q&&Q.length)if(this.microphoneSpecs.forEach((ce,G)=>{j[G]={index:ce.index,name:ce.name,id:ce.id,muted:ce.muted,enabled:ce.enabled,volumePercent:ce.volumePercent,boostPercent:ce.boostPercent}}),null!==(le=j[C])&&void 0!==le&&le.enabled)this.currentMicIndex=C;else{this.currentMicIndex=-1;for(let ce=0;ce{var d;return null===(d=this.microphoneSpecs[this.currentMicIndex])||void 0===d?void 0:d.enabled}))}syncShadowPlaySettings(d){return this.logger.info("syncShadowPlaySettings"),this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SyncShadowPlaySettings,{isGFEMigration:d}).pipe((0,I.T)(Q=>(this.logger.info("SyncShadowPlaySettings successful:",Q),!0)),(0,S.W)(Q=>(this.logger.error("SyncShadowPlaySettings failed:",Q),(0,O.of)(!1))))}getNvCameraToggleStateUpdates(){return this.$freestyleAnselState.asObservable()}getVideoSpecsInitStateUpdates(){return this.$videoSpecsInitState.asObservable()}getNvCameraToggleState(){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GetNvCameraToggleState).pipe((0,I.T)(d=>{let C=null==d?void 0:d.enable;return this.logger.info("nvcamera toggle state:",C),void 0===C&&(this.logger.info("Nvcamera toggle setting not present, using default"),C=J.P8),C}),(0,S.W)(d=>(this.logger.error("Error while fetching nvcamera toggle state:",d),(0,O.of)(J.P8))))}setNvCameraToggleState(d){return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetNvCameraToggleState,{enable:d}).pipe((0,L.M)(()=>{this.logger.info("nvcamera toggle state set successfully")}),(0,S.W)(Q=>(this.logger.error("Error while setting nvcamera toggle state:",Q),(0,O.of)(null))))}registerAppStartedEvent(){return this.$appStartedEvent.asObservable()}notifyUIReadyStatus(){this.bridgeService.executeCommand(u.Ts.Share.Shareserver.SetOverlayReady,{bReady:!0}).subscribe(C=>{this.logger.info("SetOverlayReady response:",C)},C=>{this.logger.error("SetOverlayReady failed:",C)})}setGAssistGlobalToggle(d,C=!1){this.logger.info("setGAssistGlobalToggle:",d,C);const Q=d?u.Or.Share.Shareserver.GAssistFeatureState.SPFeatureState_Start:u.Or.Share.Shareserver.GAssistFeatureState.SPFeatureState_Stop,j=u.Or.Share.Shareserver.GAssistFeatureState.SPFeatureState_Unknown;return this.bridgeService.executeCommand(u.Ts.Share.Shareserver.GAssistToggle,{systemAssistEnable:j,gameAssistEnable:C||!d?Q:j,voiceQueryEnable:C?j:Q}).pipe((0,L.M)(ge=>{this.logger.info("setGAssistGlobalToggle response:",ge)}))}getGAssistInstallStateChanges(){return this.$gAssistInstallState.asObservable()}}return(X=c).\u0275fac=function(d){return new(d||X)(N.KVO(z.J6),N.KVO(N.zZn),N.KVO(z.NZ),N.KVO(i.mb),N.KVO(o.QS),N.KVO(R.B),N.KVO(v.x),N.KVO(h.e),N.KVO(W.k),N.KVO(D.x_),N.KVO(ne.P),N.KVO(p.CQ),N.KVO(ee.R),N.KVO(b.S),N.KVO(z.at))},X.\u0275prov=N.jDH({token:X,factory:X.\u0275fac,providedIn:"root"}),c})()},46776:(xe,de,t)=>{"use strict";t.d(de,{BK:()=>te,rJ:()=>N,ud:()=>a});var e=t(65240),n=t(47766),E=t(80583),O=t(26513),B=t(36466),P=t(43848),k=t(35146),U=t(8619),r=t(75707),A=t(4208),l=t(91384),I=t(65706),S=t(73934),L=t(10132),s=t(37543),M=t(33367),u=t(59002),x=t(36203),p=t(23355),i=t(48852),o=t(56123),f=t(58527),J=t(18125),a=function(z){return z[z.Active=0]="Active",z[z.Inactive=1]="Inactive",z[z.Unknown=2]="Unknown",z}(a||{}),D=function(z){return z.Normal="normal-color",z.Bright="bright-color",z.Warning="warning-color",z.Error="error-color",z}(D||{}),te=function(z){return z[z.Off=0]="Off",z[z.Standard=1]="Standard",z[z.Compact=2]="Compact",z}(te||{});let N=(()=>{var z;class R{constructor(h,W,ne,ee,b,w,F,Z,se){this.injector=h,this.igoConfig=W,this.loggingService=ne,this.hotkeyService=ee,this.osdService=b,this.bridgeService=w,this.systemInfoService=F,this.featureSupportService=Z,this.gamepadService=se,this.throttleDuration=500,this.statsWindowPosition=L.VH.rightTop,this.statsWindowSize=L.QY.standard,this.statsRunning=!1,this.mrPosition=L.VH.none,this.irPosition=L.VH.none,this.hlPosition=L.VH.none,this.micPosition=L.VH.none,this.mrState=!1,this.irState=!1,this.hlState=!1,this.micState=!1,this.statistics$=new E.B7,this.statsHotkey$=new E.B7,this.totalDroppedFrames=0,this.previousPacketLoss=0,this.networkData={roundTripDelay:0,streamingFps:0,gameEngineFps:0,frameLoss:"0",totalFrameLoss:"0",packetLoss:"0",totalPacketLoss:"0",totalAvailableBandwidth:0,bandwidthUsed:0,bandwidthPrecentage:0,networkName:"",connectionType:"",isVpnOn:!1,resolution:"",resolutionLabel:"",serverLoc:"",hdrStreamingStatus:"",streamingCodec:"",bitDepth:void 0},this.colorDataEnabled=!0,this.colorData={roundTripDelay:D.Bright,streamingFps1:D.Bright,streamingFps2:D.Normal,gameEngineFps:D.Bright,packetLoss1:D.Bright,packetLoss2:D.Normal,packetLossTotal:D.Normal,frameLoss:D.Normal,frameLossTotal:D.Normal,totalAvailableBandwidth:D.Normal,connectionType:D.Normal,vpnIndicator:D.Normal,resolution:D.Normal,serverLoc:D.Normal},this.statsStateSubject=new O.t(te.Off),this.statsEvent={state:te.Off,position:this.statsWindowPosition,size:this.statsWindowSize,data:this.networkData,colors:this.colorData},this.zone="",this.zoneDefault="",this.hdrSupportedForCurrentGame=!1,this.streamingStatsSubject=new E.B7,this.statsStopListening=new E.B7,this.stopPerf=new E.B7,this.totalBlockedTime=0,this.hdrStreamingStatus="","GFN"===this.igoConfig.branding&&(this.gridService=this.injector.get(s.Gip),this.gfnInfoService=this.injector.get(u.x_),this.streamingService=this.injector.get(x.I),this.translateService=this.injector.get(e.c$),this.logger=this.loggingService.getLogger("StatisticsService"))}handleStatsActivation(){this.logger.info("Hotkey for Statistics toggle pressed.");const h=this.statsStateSubject.getValue();let W;W=this.featureSupportService.isISSOCompactMode()?h===te.Off?te.Compact:te.Off:h===te.Compact?te.Off:h+1,this.statsStateSubject.next(W),this.toggleStatistics(),this.statsHotkey$.next(W)}init(){this.logger.info("Initializing Statistics Service"),this.igoConfig.handleGamepadShortcutForInternalStats&&this.gamepadService.onButtonComboPressed$([i.dt.LeftBumper,i.dt.LeftTrigger,i.dt.B]).pipe((0,U.p)(h=>h),(0,r.ZZ)(h=>(this.logger.info("Gamepad button combo LB-LT-B pressed, toggling internal stats"),this.bridgeService.executeCommand(M.Ts.Gfn.Streaming.ToggleStats)))).subscribe(B.l,h=>{this.logger.error("Error while toggling internal stats: ",h)}),this.igoConfig.handleGamepadShortcutForExternalStats&&this.gamepadService.onButtonComboPressed$([i.dt.LeftBumper,i.dt.LeftTrigger,i.dt.X]).pipe((0,U.p)(h=>h)).subscribe(h=>{this.logger.info("Gamepad button combo LB-LT-X pressed, toggling external stats"),this.handleStatsActivation()},h=>{this.logger.error("Error while toggling external stats",h)}),this.hotkeyService.listen(S.g8.StatisticsToggle).subscribe(()=>{this.handleStatsActivation()}),this.streamingService.streamingEvent$.pipe((0,U.p)(h=>h.event===p.CW.STREAMING_TERMINATED||h.event===p.CW.STOP_RESULT||h.event===p.CW.STREAMING_STOPPED)).subscribe(()=>{this.killStats()}),this.gfnInfoService.getHDRSupportInfo().subscribe(h=>{this.hdrSupportedForCurrentGame=h,this.logger.info("HDR support for current game: ",this.hdrSupportedForCurrentGame)}),this.featureSupportService.isIssoPerfOptimizationEnabled()?(this.logger.info("Optimization enabled to improve perf on switching ISSO off"),this.statsStateSubject.asObservable().pipe((0,r.ZZ)(h=>(this.logger.info("Toggling ISSO ",h),this.bridgeService.executeCommand(M.Ts.Gfn.Streaming.ToggleISSOStats,{enableIsso:h!==te.Off})))).subscribe(h=>{this.logger.info("ToggleISSOStats success ",h)},h=>this.logger.error("ToggleISSOStats failed ",h.toString())),this.streamingStatsObservable=this.streamingStatsSubject.asObservable()):(this.logger.info("Optimization for ISSO disabled"),this.streamingStatsObservable=this.bridgeService.executeCommand(M.Ts.Gfn.Streaming.GetStreamStats,{}))}getStatsDetails(){this.featureSupportService.isIssoPerfOptimizationEnabled||this.logger.info("Optimization for ISSO disabled, so skipping"),this.bridgeService.executeCommand(M.Ts.Gfn.Streaming.GetStreamStats,{}).pipe((0,A.Q)(this.statsStopListening),(0,l.M)(h=>{this.streamingStatsSubject.next(h)})).subscribe()}toggleStatistics(){this.statsWindowPosition=this.osdService.getPosition(L.lb.Statistics),this.statsWindowSize=this.osdService.getStatsSize(),this.logger.info("Stat Position: "+this.statsWindowPosition+" Size: "+this.statsWindowSize),this.statsRunning?(this.statsRunning=this.statsStateSubject.getValue()!==te.Off,this.sendUICurrentData()):(this.sendUICurrentData(),this.updateStatsData(),this.getStatsDetails())}showHdrISSOStatus(){return this.gfnInfoService.isUserHDREntitled()&&this.hdrSupportedForCurrentGame}updateStatsData(){if(this.statsStateSubject.getValue()!==te.Off){const ne=!this.statsRunning;this.statsRunning=!0;const ee=[];var h,W;ne&&(this.zone=this.zoneDefault="",ee.push(null===(h=this.gridService)||void 0===h?void 0:h.defaultZone$.pipe((0,l.M)(b=>{b&&(this.zoneDefault=b.name)}))),ee.push(null===(W=this.gridService)||void 0===W?void 0:W.detectedLocalZone$.pipe((0,l.M)(b=>{b&&(this.zone=b.name)})))),ee.push(this.systemInfoService.getSystemInfo([n.Lu.Network]).pipe((0,l.M)(b=>{this.networkInfo=b.Network}))),ee.push(this.streamingStatsObservable.pipe((0,l.M)(b=>{this.streamingStats=b}))),ee.push((0,P.of)(this.gfnInfoService.getHDRStreamingStatus()).pipe((0,l.M)(b=>{if(b===a.Active)this.hdrStreamingStatus="statistics.HDR10";else if(this.showHdrISSOStatus()&&b===a.Inactive)this.hdrStreamingStatus="commonLabels.Off";else if(this.showHdrISSOStatus()&&b===a.Unknown){var w;this.hdrStreamingStatus=(null===(w=this.streamingStats)||void 0===w||null===(w=w.streamStats)||void 0===w?void 0:w.sdrHdrMode)===o.SdrHdrMode.HDR?"statistics.HDR10":"commonLabels.Off"}else this.hdrStreamingStatus=""}))),(0,k.yU)(...ee).pipe((0,I.s)(1)).subscribe(()=>{this.updateUIData(),this.getStatsData()},b=>{this.logger.error("UpdateStats Error: ",b.toString()),ne&&(this.statsRunning=!1),this.getStatsData()})}else this.statsStopListening.next(!0)}getStatsData(){setTimeout(()=>{this.updateStatsData()},1e3)}sendUICurrentData(){this.statsEvent={state:this.statsStateSubject.getValue(),position:this.statsWindowPosition,size:this.statsWindowSize,data:this.networkData,colors:this.colorData},this.statistics$.next(this.statsEvent)}updateUIData(){var h,W,ne,ee,b,w,F,Z;const se=this.streamingStats,Y=se.streamStats.frameWidth,q=se.streamStats.frameHeight,T=this.gfnInfoService.getFormattedAspectRatio(Y,q),H=this.translateService.instant("settings.gameplay.ResView",{resWidth:Y,resHeight:q,aspectRatio:T}),y=this.gfnInfoService.getResolutionLabel(se.streamStats.frameWidth,se.streamStats.frameHeight);this.totalDroppedFrames+=se.streamStats.droppedFrames;const X=se.streamStats.packetloss-this.previousPacketLoss;this.previousPacketLoss=se.streamStats.packetloss;const c=se.streamStats.bandwidth||0,d=se.streamStats.bandwidthUtilization,C=Math.round((se.streamStats.streamBitrate||0)/1e3),Q=Math.round(c/1e3);let j=null===(h=se.streamStats.serverZone)||void 0===h?void 0:h.toUpperCase().replace(/-/g,"\u2011");j=void 0===j||""===j?"--":j;const le=""===this.zone?this.zoneDefault:this.zone,ge=void 0!==(null===(W=this.networkInfo)||void 0===W?void 0:W.NetworkName)&&""!==(null===(ne=this.networkInfo)||void 0===ne?void 0:ne.NetworkName),ie=void 0!==(null===(ee=this.networkInfo)||void 0===ee?void 0:ee.NetworkType)&&""!==(null===(b=this.networkInfo)||void 0===b?void 0:b.NetworkType);let G,ce="";var ue,ae;if(n.zk.isNativeLikePlatform()?(ce="",G=this.gfnInfoService.getColorBitDepth()):(ce=null===(ue=se.streamStats)||void 0===ue?void 0:ue.codec,G=null===(ae=se.streamStats)||void 0===ae?void 0:ae.bitDepth),this.networkData={roundTripDelay:se.streamStats.roundTripDelayMs||0,streamingFps:se.streamStats.frameRate||0,gameEngineFps:se.streamStats.avgGameFrameRate||0,frameLoss:se.streamStats.droppedFrames.toString(),totalFrameLoss:this.totalDroppedFrames.toString(),packetLoss:X.toString(),totalPacketLoss:se.streamStats.packetloss.toString(),totalAvailableBandwidth:Q,bandwidthUsed:C,bandwidthPrecentage:d,networkName:ge?null===(w=this.networkInfo)||void 0===w?void 0:w.NetworkName:"--",connectionType:ie?null===(F=this.networkInfo)||void 0===F?void 0:F.NetworkType:"--",isVpnOn:"1"===(null===(Z=this.networkInfo)||void 0===Z?void 0:Z.IsVPN),resolution:H,resolutionLabel:y,serverLoc:le+" ("+j+")",hdrStreamingStatus:this.hdrStreamingStatus,streamingCodec:ce,bitDepth:G},this.colorDataEnabled){var Ce,Se;const Ne=this.networkData.roundTripDelay<=40?D.Bright:this.networkData.roundTripDelay<=80?D.Warning:D.Error;let we=D.Normal;null!==(Ce=this.networkData.connectionType)&&void 0!==Ce&&Ce.includes("2.4")&&(we=D.Warning),this.colorData={roundTripDelay:Ne,streamingFps1:D.Bright,streamingFps2:D.Normal,gameEngineFps:D.Bright,packetLoss1:0===X?D.Bright:D.Error,packetLoss2:0===X?D.Normal:D.Error,packetLossTotal:0===se.streamStats.packetloss?D.Normal:D.Error,frameLoss:0===se.streamStats.droppedFrames?D.Normal:D.Error,frameLossTotal:0===this.totalDroppedFrames?D.Normal:D.Error,totalAvailableBandwidth:D.Normal,connectionType:we,vpnIndicator:"1"===(null===(Se=this.networkInfo)||void 0===Se?void 0:Se.IsVPN)?D.Warning:D.Normal,resolution:D.Normal,serverLoc:D.Normal}}this.sendUICurrentData()}getStatisticsEvents(){return this.statistics$.asObservable()}statisticsLayoutChanged(){this.toggleStatistics()}statisticsStateChanged(h){this.statsStateSubject.next(h),this.toggleStatistics()}statisticsHotkeyPressed(){return this.statsHotkey$.asObservable()}getStatsState(){return this.statsStateSubject.getValue()}killStats(){this.totalDroppedFrames=0,this.previousPacketLoss=0,this.statsRunning=!1,this.statsStateSubject.next(te.Off),this.sendUICurrentData()}}return(z=R).\u0275fac=function(h){return new(h||z)(f.KVO(f.zZn),f.KVO(J.k$F),f.KVO(n.J6),f.KVO(S.QS),f.KVO(L.au),f.KVO(n.NZ),f.KVO(n.zW),f.KVO(J.Rvq),f.KVO(i.bi))},z.\u0275prov=f.jDH({token:z,factory:z.\u0275fac,providedIn:"root"}),R})()},19724:(xe,de,t)=>{"use strict";t.d(de,{B_:()=>f,Bs:()=>P,CV:()=>p,Eq:()=>_,Om:()=>o,T8:()=>J,Uk:()=>L,db:()=>r,gv:()=>U,x4:()=>k});var P=function(Y){return Y.FiltersAdded="FiltersAdded",Y.FiltersSlotChanged="FiltersSlotChanged",Y.FiltersApplied="FiltersApplied",Y}(P||{}),k=function(Y){return Y.SessionProviderSettings="SessionProviderSettings",Y.SessionLogin="SessionLogin",Y.SessionMenuLaunch="SessionMenuLaunch",Y.SessionHotkeySettings="SessionHotkeySettings",Y}(k||{}),U=function(Y){return Y.UsingHotkey="UsingHotkey",Y.UsingUI="UsingUI",Y}(U||{}),r=function(Y){return Y.ScreenshotCaptured="ScreenshotCaptured",Y.ScreenshotCancelled="ScreenshotCancelled",Y.ScreenshotFailed="ScreenshotFailed",Y.MRStart="MRStart",Y.MRSave="MRSave",Y.IRStart="IRStart",Y.IRSave="IRSave",Y.IRStop="IRStop",Y.DetectValidGame="DetectValidGame",Y}(r||{}),L=function(Y){return Y.Ansel="Ansel",Y.Freestyle="Freestyle",Y.AnselLite="AnselLite",Y}(L||{}),p=function(Y){return Y.PreferencesScreen="PreferencesScreen",Y.UploadScreen="UploadScreen",Y.ProviderTrigger="ProviderTrigger",Y.CustomizeScreen="CustomizeScreen",Y.ProviderStop="ProviderStop",Y.ProviderPause="ProviderPause",Y.ProviderResume="ProviderResume",Y.CameraPreviewOn="CameraPreviewOn",Y.KeyboardShortcutScreen="KeyboardShortcutScreen",Y.AnselBringup="AnselBringup",Y.GalleryPopulateFolders="GalleryPopulateFolders",Y.GalleryPopulateFiles="GalleryPopulateFiles",Y.Screenshot="Screenshot",Y.CloseOsc="CloseOsc",Y}(p||{}),o=function(Y){return Y.Standard="Standard",Y.Enhanced="Enhanced",Y}(o||{}),_=function(Y){return Y.Linear="Linear",Y.Double="Double",Y.Stacked="Stacked",Y}(_||{}),f=function(Y){return Y.FPS="FPS",Y.Basic="Basic",Y.Advanced="Advanced",Y.Latency="Latency",Y.Custom="Custom",Y}(f||{}),J=function(Y){return Y.UNDEFINED="UNDEFINED",Y.TRUE="TRUE",Y.FALSE="FALSE",Y}(J||{})},53914:(xe,de,t)=>{"use strict";t.d(de,{$l:()=>we,Af:()=>I,Bt:()=>L,C0:()=>Be,Cd:()=>q,E6:()=>n,G$:()=>X,HZ:()=>Z,IR:()=>y,J7:()=>ne,JC:()=>ot,JD:()=>Fe,Jf:()=>v,Jy:()=>C,LA:()=>Se,LL:()=>We,Ls:()=>O,N_:()=>c,Ng:()=>ee,O5:()=>M,O6:()=>p,OH:()=>G,OU:()=>N,Q3:()=>P,QA:()=>Q,QT:()=>r,Qi:()=>B,Qq:()=>tt,Qt:()=>Xe,Rz:()=>ie,T7:()=>h,TF:()=>x,TO:()=>ge,UQ:()=>d,UZ:()=>f,VT:()=>ae,Vy:()=>g,XW:()=>Oe,Xy:()=>J,YB:()=>ce,Y_:()=>se,Yj:()=>z,_u:()=>Ee,aM:()=>Qe,bG:()=>w,cM:()=>S,cO:()=>ve,db:()=>D,eL:()=>o,f2:()=>s,fU:()=>le,ft:()=>E,gh:()=>i,hN:()=>j,jb:()=>a,k8:()=>F,kG:()=>_e,ld:()=>A,nt:()=>W,oi:()=>U,pG:()=>te,q6:()=>l,rV:()=>u,ri:()=>Y,tT:()=>_,uA:()=>k,xg:()=>H,yQ:()=>R,zC:()=>T});var e=t(78812);const n="StatsLayout",E="StatsVisibility",O="StatsPositionX",B="StatsPositionY",P="RectAlignment",k="FlashIndicatorStatus",U="CustAvgSampleSize",r="ResetAverages",A="DiskSpaceLimit",l="DiskSpaceLimitSlider";var I=function(K){return K.gfn="GFN",K.standalone="Standalone",K}(I||{}),S=function(K){return K.image="Image",K.video="Video",K.none="None",K}(S||{}),L=function(K){return K.initial="Initial",K.settings="Settings",K.alreadyOn="AlreadyOn",K.alreadyOff="AlreadyOff",K}(L||{}),s=function(K){return K.individualToggle="IndividualToggle",K.gameToggle="GameToggle",K.featureToggle="FeatureToggle",K}(s||{}),M=function(K){return K.GameFilter="Freestyle",K.PhotoMode="Ansel",K.PhotoModeLight="AnselLite",K}(M||{}),u=function(K){return K.connect="Connect",K.disconnect="Disconnect",K.requestpermissions="RequestPermissions",K.getlanguage="GetLanguage",K.highlightsconfigure="HighlightsConfigure",K.highlightsopengroup="HighlightsOpenGroup",K.highlightsclosegroup="HighlightsCloseGroup",K.highlightssavevideo="HighlightsSaveVideo",K.highlightssavescreenshot="HighlightsSaveScreenshot",K.highlightsopensummary="HighlightsOpenSummary",K.highlightsgetcount="HighlightsGetCount",K.highlightsgetuserconfig="HighlightsGetUserConfig",K.opsoptimize="OpsOptimize",K.unknown="UNKNOWN",K}(u||{}),x=function(K){return K.success="NVGSDK_SUCCESS",K.successversionoldsdk="NVGSDK_SUCCESS_VERSION_OLD_SDK",K.successversionoldgfe="NVGSDK_SUCCESS_VERSION_OLD_GFE",K.successpending="NVGSDK_SUCCESS_PENDING",K.successusernotinterested="NVGSDK_SUCCESS_USER_NOT_INTERESTED",K.successpermissiongranted="NVGSDK_SUCCESS_PERMISSION_GRANTED",K.successlinked="NVGSDK_SUCCESS_LINKED",K.errgeneric="NVGSDK_ERR_GENERIC",K.errgfeversion="NVGSDK_ERR_GFE_VERSION",K.errsdkversion="NVGSDK_ERR_SDK_VERSION",K.errnotimplemented="NVGSDK_ERR_NOT_IMPLEMENTED",K.errinvalidparameter="NVGSDK_ERR_INVALID_PARAMETER",K.errnotset="NVGSDK_ERR_NOT_SET",K.errshadowplayirdisabled="NVGSDK_ERR_SHADOWPLAY_IR_DISABLED",K.errsdkinuse="NVGSDK_ERR_SDK_IN_USE",K.errgroupnotfound="NVGSDK_ERR_GROUP_NOT_FOUND",K.errfilenotfound="NVGSDK_ERR_FILE_NOT_FOUND",K.errhighlightssetupfailed="NVGSDK_ERR_HIGHLIGHTS_SETUP_FAILED",K.errhighlightsnotconfigured="NVGSDK_ERR_HIGHLIGHTS_NOT_CONFIGURED",K.errhighlightssavefailed="NVGSDK_ERR_HIGHLIGHTS_SAVE_FAILED",K.errunexpectedexception="NVGSDK_ERR_UNEXPECTED_EXCEPTION",K.errnohighlights="NVGSDK_ERR_NO_HIGHLIGHTS",K.errnoconnection="NVGSDK_ERR_NO_CONNECTION",K.errpermissionnotgranted="NVGSDK_ERR_PERMISSION_NOT_GRANTED",K.errpermissiondenied="NVGSDK_ERR_PERMISSION_DENIED",K.errinvalidhandle="NVGSDK_ERR_INVALID_HANDLE",K.errunhandledexception="NVGSDK_ERR_UNHANDLED_EXCEPTION",K.erroutofmemory="NVGSDK_ERR_OUT_OF_MEMORY",K.errloadlibrary="NVGSDK_ERR_LOAD_LIBRARY",K.errlibcallfailed="NVGSDK_ERR_LIB_CALL_FAILED",K.erripcfailed="NVGSDK_ERR_IPC_FAILED",K.errconnection="NVGSDK_ERR_CONNECTION",K.errmodulenotloaded="NVGSDK_ERR_MODULE_NOT_LOADED",K.errapplicationlookupfailed="NVGSDK_ERR_APPLICATION_LOOKUP_FAILED",K.errapplicationnotknown="NVGSDK_ERR_APPLICATION_NOT_KNOWN",K.errfeaturedisabled="NVGSDK_ERR_FEATURE_DISABLED",K.errlibcalltimeout="NVGSDK_ERR_LIB_CALL_TIMEOUT",K.errappnooptimization="NVGSDK_ERR_APP_NO_OPTIMIZATION",K.errappsettingsread="NVGSDK_ERR_APP_SETTINGS_READ",K.errappsettingswrite="NVGSDK_ERR_APP_SETTINGS_WRITE",K.errhighlightnotdefined="NVGSDK_ERR_HIGHLIGHT_NOT_DEFINED",K.errcaplimitreached="NVGSDK_ERR_CAP_LIMIT_REACHED",K.errdisklimitreached="NVGSDK_ERR_DISK_LIMIT_REACHED",K}(x||{}),p=function(K){return K.on="Yes",K.true="Yes",K.yes="Yes",K.off="No",K.false="No",K.no="No",K}(p||{}),i=function(K){return K.openHotkey="OpenHotkey",K.highlightsButton="HighlightsButton",K}(i||{}),o=function(K){return K.internal="Internal",K.external="External",K.network="Network",K.unknown="Unknown",K}(o||{}),_=function(K){return K.Success="Success",K.Failure="Failure",K}(_||{}),f=function(K){return K.root="Root",K.folder="Folder",K.content="Content",K}(f||{}),J=function(K){return K.none="None",K.screenshot="Screenshot",K.video="Video",K.ir="InstantReplay",K.highlight="Highlight",K}(J||{}),a=function(K){return K.none="None",K.settings="Settings",K.galleryMain="GalleryMain",K.galleryImagePreview="GalleryImagePreview",K.galleryVideoPreview="GalleryVideoPreview",K.browser="FolderBrowser",K.mainMenu="MainMenu",K.general="General",K.highlights="HighlightsSettings",K.videoCapture="VideoCaptureSettings",K.storage="StorageSettings",K.shortcuts="HotkeySettings",K.headsup="HUDSettings",K.notifications="NotificationSettings",K.audioCapture="AudioCaptureSettings",K.broadcast="BroadcastSettings",K.gfnBroadcast="GfnBroadcast",K.connect="ConnectSettings",K.connectOauth="ConnectOauth",K.broadcastLive="BroadcastLive",K.share="Share",K.privacy="Privacy",K.system="System",K.gameplay="Gameplay",K.debug="Debug",K.graphics="Graphics",K.instantReplay="InstantReplay",K}(a||{}),D=function(K){return K.startManualCapture="StartManualCapture",K.stopAndSaveManualCapture="StopAndSaveManualCapture",K.turnOnInstantReplay="TurnOnInstantReplay",K.instantReplaySaved="InstantReplaySaved",K.turnOffInstantReplay="TurnOffInstantReplay",K.screenshotSaved="ScreenshotSaved",K}(D||{}),te=function(K){return K.upperRight="UpperRight",K.lowerRight="LowerRight",K.lowerLeft="LowerLeft",K.upperLeft="UpperLeft",K.none="None",K}(te||{}),N=function(K){return K.standard="Standard",K.compact="Compact",K}(N||{}),z=function(K){return K.balanced="Balanced",K.dataSaver="DataSaver",K.competitive="Competitive",K.custom="Custom",K}(z||{}),R=function(K){return K.recording="Recording",K.iR="IR",K.highlights="Highlights",K.mic="Mic",K.statistics="Statistics",K.network="Network",K}(R||{}),v=function(K){return K.empty="Empty",K.openOverlay="OpenOverlay",K.connectionStatus="ConnectionStatus",K.saveIRToGallery="SaveIRToGallery",K.saveMRToGallery="SaveMRToGallery",K.saveSSToGallery="SaveSSToGallery",K.saveHLToGallery="SaveHLToGallery",K.iROnOff="IROnOff",K.mROn="MROn",K}(v||{}),h=function(K){return K.anselFreeStyle="AnselFreestyleNoResponse",K.anselFreestyleGeneralFailure="AnselFreestyleGeneralFailure",K.anselFailedToStart="AnselFailedToStart",K.anselNoSpaceLeft="AnselNoSpaceLeft",K.anselPermissionDenied="AnselPermissionDenied",K.anselInvalidRequest="AnselInvalidRequest",K.anselFreestyleAlreadyEnabled="AnselFreestyleAlreadyEnabled",K.anselFreestyleAlreadyDisabled="AnselFreestyleAlreadyDisabled",K.anselOutOfRange="AnselOutOfRange",K.anselFreestyleAlreadySet="AnselFreestyleAlreadySet",K.anselFreestyleIncompatibleVersion="AnselFreestyleIncompatibleVersion",K.anselFreestyleAppFatalError="AnselFreestyleAppFatalError",K.anselFreestyleAppNonFatalError="AnselFreestyleAppNonFatalError",K.anselFreestyleUnsupportedGameError="AnselFreestyleUnsupportedGameError",K.anselFreestyleMenuLaunchError="AnselFreestyleMenuLaunchError",K}(h||{}),W=function(K){return K.nvCameraTimedOut="NvCameraTimedOut",K.gameBlacklisted="GameBlackListed",K.unsupportedGame="UnSupportedGame",K.streamerError="StreamerError",K}(W||{}),ne=function(K){return K.started="Started",K.completed="Completed",K.cancelled="Cancelled",K.failed="Failed",K}(ne||{}),ee=function(K){return K.anselScreenshotTimeoutFailure="AnselScreenshotTimeoutFailure",K.anselScreenshotUnknownFailure="AnselScreenshotUnknownFailure",K.anselScreenshotNoFailure="AnselScreenshotNoFailure",K}(ee||{}),w=function(K){return K.nvCameraReadyNotificationNotReceived="NvCameraReadyNotificationNotReceived",K.featureNotAvailable="FeatureNotAvailable",K.nvCameraSessionConfigurationFailed="NvCameraSessionConfigurationFailed",K.featureDisabledReasonUnknown="FeatureDisabledReasonUnknown",K}(w||{}),F=function(K){return K.start="Start",K.stop="Stop",K.pause="Pause",K.resume="Resume",K}(F||{}),Z=function(K){return K.adobe="Adobe",K.facebook="Facebook",K.lightstream="Lightstream",K.twitch="Twitch",K.youtube="YouTube",K}(Z||{}),se=function(K){return K.failedToStart="FailedToStart",K.failedToStop="FailedToStop",K.timeoutError="TimeoutError",K.unknownError="UnknownError",K}(se||{}),Y=function(K){return K.fullscreen="Fullscreen",K.windowed="Windowed",K}(Y||{});class q extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="GFNSession"}}class T extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="OpenedIGO"}}class H extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Behavioral,this.name="SettingSnapshot"}}class y extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Behavioral,this.name="UITransition"}}class X extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="HighlightsGameSetting"}}class c extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Behavioral,this.name="HighlightsIndividualGameToggle"}}class g extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="HighlightsCancelled"}}class d extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="SDKCallResult"}}class C extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="GalleryAccess"}}class Q extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Behavioral,this.name="GalleryFilterUsed"}}class j extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Behavioral,this.name="GalleryPlayedVideo"}}class le extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Behavioral,this.name="GalleryFileRemoved"}}class ge extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Behavioral,this.name="GalleryOpenedFileLocation"}}class ie extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="CaptureEvent"}}class ce{get streamerConfig(){var ke;return null===(ke=this.streamerConfigService)||void 0===ke?void 0:ke.activeConfig}constructor(ke,Ue){this.bridgeService=ke,this.streamerConfigService=Ue}generateFinalizedEvent(ke,Ue){return ke.cmsId=ke.cmsId||(this.streamerConfig?this.streamerConfig.cmsId.toString():""),ke.shortName=ke.shortName||(this.streamerConfig?this.streamerConfig.shortName:""),new Ue(ke)}}class G extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="AnselFreestyleSession"}}class ae extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="AnselFreestyleFilters"}}class Se extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="FreestyleStylesApplied"}}class we extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="AnselScreenshotEvent"}}class ve extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="AnselFreestyleError"}}class Oe extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Technical,this.name="AnselFreestyleFeatureDisabled"}}class Be extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="BroadcastEvent"}}class tt extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="BroadcastError"}}class Ee extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="StatsClosedEvent"}}class ot extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="StatsViewChangedEvent"}}class We extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="GameplayEntryEvent"}}class Qe extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="StreamingQualityChangedEvent"}}class Fe extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="ResolutionUpscalingChangedEvent"}}class Xe extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="WidgetViewChangedEvent"}}class _e extends e.YH{constructor(){super(...arguments),this.gdprLevel=e.EU.Functional,this.name="NotificationChangedEvent"}}},27211:(xe,de,t)=>{"use strict";t.d(de,{S:()=>E});var e=t(53914),n=t(43848);class E{constructor(){this.clientHost=e.Af.standalone,this.modsActive=!1}toTelemetryBoolean(B){return B?e.O6.yes:e.O6.no}setModsActiveStatus(B){this.modsActive=B}sendHighlightCapture(B,P,k,U,r,A,l,I){}sendHighlightsGameSetting(B,P,k,U,r,A){}sendProcessingFilter(B,P,k,U,r,A,l,I,S){}sendProcessingControlSettings(B,P,k,U,r){}sendIGOSettings(B,P,k){}sendStatsSession(B,P,k,U,r,A,l,I,S){}sendUIPerfEvent(B,P,k,U,r,A){}init(){}initCommonData(){return(0,n.of)(null)}sendAudioTelemetry(B){}sendCaptureEvent(B,P,k,U,r,A,l,I,S,L,s,M,u,x,p){}startAnselScreenshot(){}sendAnselFreestyleCaptureEvent(B,P,k,U,r,A,l,I,S,L,s,M){}sendAnselFreestyleError(B,P,k,U,r,A,l,I,S,L,s){}updateVideoSpecSettings(B){}updateMicMode(B){}startStatsLoggingSession(B){}sendStatsLoggingSession(B){}sendStatsOverlaySession(B,P,k,U,r,A,l=!1){}startStatsOverlaySession(B){}sendStartupTelemetry(){}beginStartupTimer(B){}trackNavigation(B,P=e.jb.none){}sendHighlightsIndividualGameToggle(B,P,k){}sendHighlightCancelled(B,P,k){}getHighlightsEnabled(){return null}recordSDKCallResult(B,P,k,U,r){}sendSDKCallResults(B,P){}sendGalleryOpenedFileLocation(){}sendGalleryFileRemoved(B){}sendGalleryPlayedVideo(B,P){}sendGalleryFilterUsed(B){}sendGalleryFileAccess(B){}sendGalleryAccess(){}startGalleryAccess(B){}setGalleryAccessCached(B){}setGalleryFolderCounts(B,P){}sendStatsClosedTelemetry(B,P,k){}sendStatsViewChanged(B,P,k){}sendWidgetViewChanged(B,P,k){}sendNotificationChanged(B,P){}sendSessionEvent(B,P,k,U,r,A,l,I){}sendNotificationSettingsTelemetry(B){}}},10279:(xe,de,t)=>{"use strict";t.d(de,{x:()=>a});var e=t(33367),n=t(85735),E=t(17053),O=t(93181),B=t(43848),P=t(83915),k=t(75707),U=t(90975),r=t(91384),A=t(53914),l=t(52619),I=t(23355),S=t(37543),L=t(61958),s=t(10132),M=t(23860),u=t(27211),x=t(58527),p=t(47766),i=t(12137),o=t(73934),_=t(44968),f=t(50057),J=t(78812);let a=(()=>{var D;class te{constructor(z,R,v,h,W,ne,ee,b,w,F,Z,se){this.loggingService=z,this.bridgeService=R,this.igoConfig=v,this.injector=h,this.hotkeyService=W,this.appLifetimeService=ne,this.dbService=ee,this.osdService=b,this.notificationService=w,this.igoPiplLocaleConfigService=F,this.systemInfoService=Z,this.telemetryService=se,this.commonData={},this.clientHost=A.Af.standalone,this.driveTypeMap={unknown:A.eL.unknown,removable:A.eL.external,fixed:A.eL.internal,network:A.eL.network},this.captureEventsMap={},this.screenPosMap={},this.statsFormat={},this.profileNameMap={},this.widgetIndicatorMap={},this.notificationMap={},this.cachedSessionId="",this.irBufLength=new n.m(1),this.gallerySettings=new n.m(1),this.modsActive=!1,this.uiPerfEventData=new Map,this.anselFilterApplied=!1,this.isNvApp=!1,this.logger=this.loggingService.getLogger("TelemetryHelperService"),this.screenPosMap[s.VH.leftBottom]=A.pG.lowerLeft,this.screenPosMap[s.VH.leftTop]=A.pG.upperLeft,this.screenPosMap[s.VH.rightBottom]=A.pG.lowerRight,this.screenPosMap[s.VH.rightTop]=A.pG.upperRight,this.screenPosMap[s.VH.none]=A.pG.none,this.statsFormat[s.QY.standard]=A.OU.standard,this.statsFormat[s.QY.compact]=A.OU.compact,this.profileNameMap[S.SBM.Balanced]=A.Yj.balanced,this.profileNameMap[S.SBM.DataSaver]=A.Yj.dataSaver,this.profileNameMap[S.SBM.Competitive]=A.Yj.competitive,this.profileNameMap[S.SBM.Custom]=A.Yj.custom,this.widgetIndicatorMap[s.lb.Recording]=A.yQ.recording,this.widgetIndicatorMap[s.lb.IR]=A.yQ.iR,this.widgetIndicatorMap[s.lb.Highlights]=A.yQ.highlights,this.widgetIndicatorMap[s.lb.Mic]=A.yQ.mic,this.widgetIndicatorMap[s.lb.GfnMic]=A.yQ.mic,this.widgetIndicatorMap[s.lb.Statistics]=A.yQ.statistics,this.widgetIndicatorMap[s.lb.Network]=A.yQ.network,this.notificationMap[M.Jk.Empty]=A.Jf.empty,this.notificationMap[M.Jk.OpenOverlay]=A.Jf.openOverlay,this.notificationMap[M.Jk.ConnectionStatus]=A.Jf.connectionStatus,this.notificationMap[M.Jk.SaveIRToGallery]=A.Jf.saveIRToGallery,this.notificationMap[M.Jk.SaveMRToGallery]=A.Jf.saveMRToGallery,this.notificationMap[M.Jk.SaveSSToGallery]=A.Jf.saveSSToGallery,this.notificationMap[M.Jk.SaveHLToGallery]=A.Jf.saveHLToGallery,this.notificationMap[M.Jk.IROnOff]=A.Jf.iROnOff,this.notificationMap[M.Jk.MROn]=A.Jf.mROn,this.isNvApp="GFE"===this.igoConfig.branding}init(){let z;this.logger.info("Initializing telemetry"),this.sessionStartTime=Date.now(),this.telemetryHelperIGOService=this.injector.get(u.S),"GFN"===this.igoConfig.branding?(this.streamingService=this.injector.get(l.I),z=this.injector.get(S.zi2),this.appConfig=this.injector.get(L.Vk),this.streamingSubscription=this.streamingService.streamingEvent$.subscribe(R=>{R.event===I.CW.SESSION_SETUP_SUCCESS&&(this.sendSettingsTelemetry(),this.cachedSessionId=this.streamingService.streamingProperties.sessionId||"",this.streamingSubscription.unsubscribe())}),this.gridService=this.injector.get(S.Gip),this.gridService.getCachedZone().subscribe(R=>{this.zone=R})):this.registerForlocaleChangeNotification(),this.perGameEventFactory=new A.YB(this.bridgeService,z),this.clientHost="GFN"===this.igoConfig.branding?A.Af.gfn:A.Af.standalone,"GFN"===this.igoConfig.branding?this.appLifetimeService.addWorkOnShutdown(()=>new E.c(R=>{R.next(this.sendExitTelemetry()),R.complete()})):this.telemetryHelperIGOService.initCommonData().subscribe(R=>{this.commonData=R}),this.telemetryHelperIGOService.init()}registerForlocaleChangeNotification(){this.igoPiplLocaleConfigService.localConfigChangeNotification().subscribe(z=>{var R;const v=null==z||null===(R=z.jsEvents)||void 0===R?void 0:R.server;v?this.telemetryService.setServerConfig(v):this.logger.error("Telemetry Server URL empty in local config ",z)})}getLocaleOverride(){return this.bridgeService.executeCommand(e.Ts.Common.Nvlocalizedconfig.GetLocalizationData)}sendExitTelemetry(){this.telemetryHelperIGOService.sendSDKCallResults(!1,!0);const z=this.perGameEventFactory.generateFinalizedEvent({wasHighlightsAvailable:this.toTelemetryBoolean(this.telemetryHelperIGOService.getHighlightsEnabled()),sessionDurationMs:Date.now()-this.sessionStartTime,sessionId:this.cachedSessionId},A.Cd);this.telemetryService.push(z,0,{appExit:!0})}sendSettingsTelemetry(){const z=this.dbService.getGlobalStore("IGOTelemetry");z.getItem("lastSettingsSendTime").subscribe(R=>{this.logger.info("sendTime: ",R,"alwaysSend: ",this.appConfig?this.appConfig.featureEnablement?this.appConfig.featureEnablement.alwaysSendSettingsTelemetry:"No featureEnablement in config":"No appConfig"),(this.appConfig&&this.appConfig.featureEnablement&&this.appConfig.featureEnablement.alwaysSendSettingsTelemetry||!R||Date.now()-R>6048e5)&&(this.logger.info("Sending settings"),this.doSendSettingsTelemetry(),z.setItem("lastSettingsSendTime",Date.now()))})}doSendSettingsTelemetry(){let R=0,v=0,h=0,W=A.eL.unknown;const ne={clientHost:this.clientHost,gallerySizeMB:0,gallerySpaceUsedPercent:0,typeOfStorageDrive:W,areGlobalHighlightsOn:this.toTelemetryBoolean(!1),openIGOHotkey:"",numGalleryImages:0,numGalleryVideos:0,instantReplayBufferLength:0,galleryTotalSizeMB:0,screenshotHotkey:"",irToggleHotkey:"",saveIRHotkey:"",mrHotkey:"",statsHotkey:"",recordingHUDLocation:this.screenPosMap[this.osdService.getPosition(s.lb.Recording)],instantReplayHUDLocation:this.screenPosMap[this.osdService.getPosition(s.lb.IR)],highlightsHUDLocation:this.screenPosMap[this.osdService.getPosition(s.lb.Highlights)],micHUDLocation:this.screenPosMap[this.osdService.getPosition(s.lb.Mic)],connectionStatusHUDLocation:this.screenPosMap[this.osdService.getPosition(s.lb.Network)],statsLocation:this.screenPosMap[this.osdService.getPosition(s.lb.Statistics)],statsFormat:this.statsFormat[this.osdService.getStatsSize()],irSavedIndicatorOn:this.toTelemetryBoolean(this.notificationService.getNotificationControls()[M.Jk.SaveIRToGallery-1].enable),mrSavedIndicatorOn:this.toTelemetryBoolean(this.notificationService.getNotificationControls()[M.Jk.SaveMRToGallery-1].enable),screenshotSavedIndicatorOn:this.toTelemetryBoolean(this.notificationService.getNotificationControls()[M.Jk.SaveSSToGallery-1].enable),irToggleIndicatorOn:this.toTelemetryBoolean(this.notificationService.getNotificationControls()[M.Jk.IROnOff-1].enable),mrStartedIndicatorOn:this.toTelemetryBoolean(this.notificationService.getNotificationControls()[M.Jk.MROn-1].enable),highlightSavedIndicatorOn:this.toTelemetryBoolean(this.notificationService.getNotificationControls()[M.Jk.SaveHLToGallery-1].enable)},ee=(0,O.p)([this.bridgeService.executeCommand(e.Ts.Common.Gallery.EnumerateDrives),this.gallerySettings]).pipe((0,P.T)(([w,F])=>{if(F.settings.path)for(const Z of w.drives)if(F.settings.path.startsWith(Z.name))return W=this.driveTypeMap[Z.type]||A.eL.unknown,W;return W})),b=this.gallerySettings.pipe((0,P.T)(w=>(w.settings.capacity&&(R=w.settings.capacity.enabled?Math.round(w.settings.capacity.capacityPercent*w.settings.capacity.totalDiskSpaceMB):0,v=w.settings.capacity.usageMB,h=w.settings.capacity.totalDiskSpaceMB),ne.gallerySizeMB=v,ne.gallerySpaceUsedPercent=R>0?Math.round(100*v/R):0,ne.galleryTotalSizeMB=h,w)),(0,k.ZZ)(w=>w.settings.path?this.bridgeService.executeCommand(e.Ts.Common.Gallery.GetFolderListing,{directory:w.settings.path,shouldGetOnlyNv:!0,excludeDirectoryType:e.Or.Common.Gallery.ExcludeDirectoryType.empty}):(0,B.of)(null)),(0,P.T)(w=>w&&w.directories.length>0?w.directories:[""]),(0,k.ZZ)(w=>(0,B.of)(...w)),(0,k.ZZ)(w=>0===w.length?(0,B.of)({screenshots:0,videos:0}):this.bridgeService.executeCommand(e.Ts.Common.Gallery.GetAppStats,{appName:w})),(0,U.T)((w,F)=>(w.numImages+=F.screenshots,w.numVideos+=F.videos,w),{numImages:0,numVideos:0}),(0,r.M)(w=>{ne.numGalleryImages=w.numImages,ne.numGalleryVideos=w.numVideos}),(0,k.ZZ)(()=>ee),(0,r.M)(w=>{ne.typeOfStorageDrive=w||A.eL.unknown}),(0,k.ZZ)(()=>this.bridgeService.executeCommand(e.Ts.Share.Shareserver.GetHighlightsEnable)),(0,r.M)(w=>{ne.areGlobalHighlightsOn=this.toTelemetryBoolean(w.enable)}),(0,k.ZZ)(()=>this.irBufLength),(0,r.M)(w=>{ne.instantReplayBufferLength=w}),(0,k.ZZ)(()=>this.hotkeyService.getHotkeyString(e.Or.Share.Shareserver.HotkeyEnum.OpenIGO)),(0,r.M)(w=>{ne.openIGOHotkey=w}),(0,k.ZZ)(()=>this.hotkeyService.getHotkeyString(e.Or.Share.Shareserver.HotkeyEnum.Screenshot)),(0,r.M)(w=>{ne.screenshotHotkey=w}),(0,k.ZZ)(()=>this.hotkeyService.getHotkeyString(e.Or.Share.Shareserver.HotkeyEnum.DVRToggle)),(0,r.M)(w=>{ne.irToggleHotkey=w}),(0,k.ZZ)(()=>this.hotkeyService.getHotkeyString(e.Or.Share.Shareserver.HotkeyEnum.DVRSave)),(0,r.M)(w=>{ne.saveIRHotkey=w}),(0,k.ZZ)(()=>this.hotkeyService.getHotkeyString(e.Or.Share.Shareserver.HotkeyEnum.RecordToggle)),(0,r.M)(w=>{ne.mrHotkey=w}),(0,k.ZZ)(()=>this.hotkeyService.getHotkeyString(e.Or.Share.Shareserver.HotkeyEnum.StatisticsToggle)),(0,r.M)(w=>{ne.statsHotkey=w})).subscribe(()=>{this.logger.info("Actually sending settings telemetry",ne);const w=new A.xg(ne);this.telemetryService.push(w,0,{immediateRequest:!0}),b.unsubscribe()})}updateReplayLength(z){this.irBufLength.next(z),this.irBufLength.complete()}updateGallerySettings(z){this.gallerySettings.next(z),this.gallerySettings.complete()}toTelemetryBoolean(z){return z?A.O6.yes:A.O6.no}updateAnselFilterAppliedField(z){this.anselFilterApplied=z}sendHighlightCapture(z,R,v,h,W,ne,ee){this.telemetryHelperIGOService.sendHighlightCapture(z,R,v,h,W,ee,ne,this.anselFilterApplied)}sendProcessingControlSettings(z,R,v,h,W){this.telemetryHelperIGOService.sendProcessingControlSettings(z,R,v,h,W)}sendProcessingFilter(z,R,v,h,W,ne,ee,b,w){this.telemetryHelperIGOService.sendProcessingFilter(z,R,v,h,W,ne,ee,b,w)}sendIGOSettings(z,R,v){this.telemetryHelperIGOService.sendIGOSettings(z,R,v)}startUIPerfEvent(z){this.uiPerfEventData.set(z,Date.now())}sendUIPerfEvent(z,R,v,h){if(!this.uiPerfEventData.has(R))return void this.logger.error("Cannot send stats ui perf telemetry, timer was never started");const W=this.uiPerfEventData.get(R)-Date.now();this.telemetryHelperIGOService.sendUIPerfEvent(z,R,W,W,v,h),this.uiPerfEventData.delete(R)}sendHighlightsGameSetting(z,R,v,h,W,ne){this.telemetryHelperIGOService.sendHighlightsGameSetting(z,R,v,h,W,ne)}startCaptureEvent(z){this.captureEventsMap[z]=Date.now()}sendCaptureEvent(z,R,v,h,W,ne,ee,b,w,F,Z){var se;this.isNvApp||this.captureEventsMap[z]?(null===(se=this.telemetryHelperIGOService)||void 0===se||se.sendCaptureEvent(z,R,v,h,W,ne,ee,b,w,Date.now()-this.captureEventsMap[z],F,Z,this.osdService.getPosition(s.lb.IR),this.osdService.getPosition(s.lb.Performance),this.anselFilterApplied),this.isNvApp||(this.captureEventsMap[z]=0)):this.logger.error("Attempted to end a performance measurement for "+z+" without starting it!")}sendAnselFreestyleSession(z,R,v,h,W,ne,ee,b,w,F,Z,se){if("GFN"===this.igoConfig.branding){const Y=this.perGameEventFactory.generateFinalizedEvent({mode:z,totalMs:R,usedKeyboard:this.toTelemetryBoolean(v),usedMouse:this.toTelemetryBoolean(h),cmsId:ne||"",shortName:ee||"",panningUsed:this.toTelemetryBoolean(F),panningWithKB:this.toTelemetryBoolean(Z),panningWithMouse:this.toTelemetryBoolean(se)},A.OH);this.telemetryService.push(Y)}}sendAnselFreestyleFilters(z,R,v,h,W,ne){if("GFN"===this.igoConfig.branding){const ee=this.perGameEventFactory.generateFinalizedEvent({mode:R,filterName:z||"",cmsId:v||"",shortName:h||""},A.VT);this.telemetryService.push(ee)}}sendFreestyleSlotTelemetry(z,R,v,h,W,ne,ee,b,w,F,Z){if("GFN"===this.igoConfig.branding){const se=this.perGameEventFactory.generateFinalizedEvent({usedStyles:ne,style1Filters:z,style2Filters:R,style3Filters:v,activeStyle:W||0,activeFilters:h,cmsId:b||"",shortName:w||"",persistedFilters:this.toTelemetryBoolean(ee),usedMenu:this.toTelemetryBoolean(!ee)},A.LA);this.telemetryService.push(se)}}sendAnselScreenshotTelemetry(z,R,v,h,W,ne,ee,b,w,F,Z,se,Y,q){if("GFN"===this.igoConfig.branding){const T=new A.$l({state:z,cmsId:R||0,shortName:v||"",screenshotType:h,screenshotResolution:W,panningUsed:this.toTelemetryBoolean(ne),mode:ee,totalMs:b||0,gridUsed:this.toTelemetryBoolean(w),installedDDVersion:z===A.J7.failed&&this.zone.name||"",gpuName:z===A.J7.failed&&this.zone.address||"",errorType:Y,errorString:q,roll:F,fov:Z,stackedFilters:se});this.telemetryService.push(T)}}sendAnselFreestyleErrorTelemetry(z,R,v,h,W,ne,ee,b,w,F,Z,se,Y,q){if("GFN"===this.igoConfig.branding){const T=this.perGameEventFactory.generateFinalizedEvent({errorType:z,errorSubType:Y,errorString:q||"",mode:R,serverGPUType:this.zone.name,serverOSVersion:this.zone.address,usedMenu:A.O6.true,cmsId:v||"",shortName:h||""},A.cO);this.telemetryService.push(T)}}sendAnselFreestyleFeatureDisableTelemetry(z,R,v,h,W){if("GFN"===this.igoConfig.branding){const ne=this.perGameEventFactory.generateFinalizedEvent({cmsId:"",shortName:R||"",mode:v,errorType:h,errorInfo:W||"",serverInfo:this.zone.address||""},A.XW);this.telemetryService.push(ne)}}sendBroadcastEventTelemetry(z,R,v,h,W){if("GFN"===this.igoConfig.branding){const ne=this.perGameEventFactory.generateFinalizedEvent({cmsId:"",shortName:R||"",action:v||A.k8.start,provider:A.HZ.lightstream,timeMs:0,modsActive:this.toTelemetryBoolean(this.modsActive)},A.C0);this.telemetryService.push(ne)}}sendBroadcastErrorTelemetry(z,R,v,h,W){if("GFN"===this.igoConfig.branding){const ne=this.perGameEventFactory.generateFinalizedEvent({cmsId:"",shortName:R||"",errorType:v||A.Y_.unknownError,provider:A.HZ.lightstream,errorString:W||""},A.Qq);this.telemetryService.push(ne)}}setModsActiveStatus(z){this.modsActive=z}sendStatsViewChanged(z,R,v){this.telemetryHelperIGOService.sendStatsViewChanged(z,this.statsFormat[R],this.screenPosMap[v])}sendGameplayEntrySetting(z){const R=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,profile:this.profileNameMap[z]},A.LL);this.logger.info("Gameplay Profile Entry Telemetry: ",R),this.telemetryService.push(R)}sendStatsClosedTelemetry(z,R,v){this.telemetryHelperIGOService.sendStatsClosedTelemetry(z,this.screenPosMap[R],this.statsFormat[v])}sendStreamingQualityChanged(z){const R=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,maxBitrateAuto:this.toTelemetryBoolean(z.maxBitrateAuto),maxBitrateAutoChanged:this.toTelemetryBoolean(z.maxBitrateAutoChanged),maxBitrate:z.maxBitrate,maxBitrateChanged:this.toTelemetryBoolean(z.MaxBitrateChanged),vsync:z.vSync,vsyncChanged:this.toTelemetryBoolean(z.vSyncChanged),drc:this.toTelemetryBoolean(z.drc),drcChanged:this.toTelemetryBoolean(z.drcChanged)},A.aM);this.logger.info("StreamingQuality Changed Telemetry: ",R),this.telemetryService.push(R)}sendResolutionUpscalingChanged(z){const R=this.perGameEventFactory.generateFinalizedEvent({clientHost:this.clientHost,sessionId:this.cachedSessionId,upscaleMode:z.upscaleMode,detailEnhancement:z.detailEnhancement},A.JD);this.logger.info("ResolutionUpscaling Changed Telemetry: ",R),this.telemetryService.push(R)}sendWidgetViewChanged(z,R){this.telemetryHelperIGOService.sendWidgetViewChanged(z,this.screenPosMap[R],this.widgetIndicatorMap[z])}sendNotificationChanged(z,R){this.telemetryHelperIGOService.sendNotificationChanged(this.notificationMap[z],R)}sendAnselFreestyleError(z,R,v,h,W,ne,ee,b,w,F,Z){this.telemetryHelperIGOService.sendAnselFreestyleError(z,R,v,h,W,ne,ee,b,w,F,Z)}}return(D=te).\u0275fac=function(z){return new(z||D)(x.KVO(p.J6),x.KVO(p.NZ),x.KVO(i.k),x.KVO(x.zZn),x.KVO(o.QS),x.KVO(_.lM),x.KVO(p.at),x.KVO(s.au),x.KVO(M.mb),x.KVO(f.A),x.KVO(p.zW),x.KVO(J.H0))},D.\u0275prov=x.jDH({token:D,factory:D.\u0275fac,providedIn:"root"}),te})()},28890:(xe,de,t)=>{"use strict";t.d(de,{BJ:()=>L,IM:()=>S,Il:()=>s,KL:()=>O,Q5:()=>P,Rb:()=>x,Uo:()=>U,cv:()=>E,fY:()=>r,nA:()=>u,om:()=>k,t5:()=>l,to:()=>A,uY:()=>i});var e=t(30578),n=t(33367),E=n.Or.Nvapp.Rise.ContentType1,O=n.Or.Nvapp.Rise.ContentType;const P=5e3,k="INSTALLING",U="READY",r="ERROR",A="DOWNLOAD REQUIRED",l="/clear",S="Tell me about my GPU",L="Chart my CPU & GPU utilization",s="Overclock my GPU",u="DummyRequest",x=["hey gpu","hey system","hey system-assist","hey system assist","/sa"],i=(o,_,f=!1)=>{const J=(o=>(o||"").split("%%"))(o=o.replace(/(\r\n)+/g,"\r\n"));let a="";J.forEach((te,N)=>{const z=document.createElement("div"),R=(0,e.SC)(z),v=(0,e.K3)(R);if((0,e.om)(v,te),(f||N!==J.length-1)&&(0,e.Qp)(v),N%2!=0){const h=z.querySelector("p");if(h){const W=document.createElement("summary");W.textContent=h.textContent.replace(":",""),W.style.color="var(--colors-brand)",z.firstChild.replaceWith(W),Array.from(z.querySelectorAll("a")).forEach(ne=>{ne.textContent=ne.textContent.replace("http://","").replace("https://","")}),a=`${a}
${z.innerHTML}
`}}else a=`${a}${z.innerHTML}`});const D=document.createElement("div");return D.innerHTML=a,Array.from(D.querySelectorAll("ol")).forEach(te=>{te.setAttribute("start","1")}),"RiseService"===_&&Array.from(D.querySelectorAll("a")).forEach(te=>{const N=document.createElement("span");N.textContent=te.textContent,te.replaceWith(N)}),D.innerHTML.replace("{"use strict";t.d(de,{i:()=>D});var e=t(56106),n=t(97979),E=t(99204),O=t(20288),B=t(47973),P=t(96501),k=t(44296),U=t(48362),r=t(44224),A=t(29370),l=t(12949),I=t(62141),S=t(49678),L=t(26945),s=t(50599),M=t(4418),u=t(26537),x=t(64409),p=t(65597),i=t(44186),o=t(51635),_=t(31308),f=t(19061),J=t(58527);const a=[e.YN,B.wG,n.ic,P.Wh,k.bB,U.s5,E.D6,O.PO,r.w,A.m_,l.Ve,I.jm,S.Wk,s.fS,x.E9,L.MY,M.g7,u.hM,p._T,i.uc,o.pZ,_.Pd,f.bm];let D=(()=>{var te;class N{}return(te=N).\u0275fac=function(R){return new(R||te)},te.\u0275mod=J.$C({type:te}),te.\u0275inj=J.G2t({providers:[{provide:u.di,useValue:{exitAnimationDuration:"0ms",enterAnimationDuration:"0ms"}}],imports:[e.YN,a,e.YN,B.wG,n.ic,P.Wh,k.bB,U.s5,E.D6,O.PO,r.w,A.m_,l.Ve,I.jm,S.Wk,s.fS,x.E9,L.MY,M.g7,u.hM,p._T,i.uc,o.pZ,_.Pd,f.bm]}),N})()},76560:(xe,de,t)=>{"use strict";t.d(de,{Gj:()=>k,Hu:()=>B,Ui:()=>U,Zy:()=>r,kO:()=>P,oO:()=>O,vO:()=>E});const n=t(33367).Or.Share.Shareserver.HotkeyEnum,E=new Map([[n.OpenIGO,[17,71]],[n.Screenshot,[17,49]],[n.OpenAnsel,[17,50]],[n.RecordToggle,[17,57]],[n.DVRSave,[17,48]],[n.DVRToggle,[17,16,48]],[n.MicToggle,[17,77]],[n.FreeStyleToggleStyle1,[]],[n.FreeStyleToggleStyle2,[]],[n.FreeStyleToggleStyle3,[]],[n.NativeKeyboardInputDialog,[17,75]],[n.ConnectGfnBroadcastToggle,[]],[n.QuitGame,[18,115]],[n.StatisticsToggle,[17,78]]]),O=new Map([[n.OpenIGO,[65335,71]],[n.Screenshot,[65335,49]],[n.OpenAnsel,[65335,50]],[n.RecordToggle,[65335,57]],[n.DVRSave,[65335,48]],[n.DVRToggle,[65335,16,48]],[n.MicToggle,[65335,77]],[n.FreeStyleToggleStyle1,[]],[n.FreeStyleToggleStyle2,[]],[n.FreeStyleToggleStyle3,[]],[n.NativeKeyboardInputDialog,[65335,75]],[n.ConnectGfnBroadcastToggle,[]],[n.QuitGame,[65335,81]],[n.StatisticsToggle,[65335,78]],[n.InStreamPaste,[65335,86]]]),B=new Map([[n.StatisticsToggle,[17,16,69]]]),P=new Map([[n.StatisticsToggle,[65335,16,69]]]),k=new Map([[n.MicToggle,[65335,16,77]],[n.QuitGame,[65335,16,88]]]),U="IgoShareSettings";var r=function(A){return A.Shortcuts="shortcuts",A}(r||{})},25343:(xe,de,t)=>{"use strict";function e(n,E){if(void 0===n||void 0===E)return!1;let O=!0;return n.length===E.length&&(n.forEach((B,P)=>{B!==E[P]&&(O=!1)}),O)}t.d(de,{B:()=>e})},45239:(xe,de,t)=>{"use strict";t.d(de,{Q6:()=>_,SF:()=>o});var e=t(26537),n=t(58527),E=t(61142),O=t(3457),B=t(28139),P=t(47973),k=t(99204),U=t(20288),r=t(65240);const A=f=>({spinnerContent:f}),l=()=>({progressBarContent:!0});function I(f,J){if(1&f&&n.nrm(0,"mat-progress-spinner",8),2&f){const a=n.XpG(2);n.Y8G("diameter",48)("mode",a.data.progressMode)("value",a.value)}}function S(f,J){if(1&f&&(n.j41(0,"div",5),n.DNE(1,I,1,3,"mat-progress-spinner",6),n.nrm(2,"span",7),n.nI1(3,"translate"),n.k0s()),2&f){const a=n.XpG();n.Y8G("ngClass",n.eq3(6,A,a.data.spinner)),n.R7$(),n.Y8G("ngIf",a.data.spinner),n.R7$(),n.Y8G("innerHtml",n.i5U(3,3,a.data.query,a.data.queryParam),n.npT)}}function L(f,J){if(1&f&&n.nrm(0,"mat-progress-bar",12),2&f){const a=n.XpG(2);n.Y8G("mode",a.data.progressMode)("value",a.value)}}function s(f,J){if(1&f&&(n.j41(0,"div",13),n.EFF(1),n.k0s()),2&f){const a=n.XpG(2);n.R7$(),n.SpI("",a.value,"%")}}function M(f,J){if(1&f&&(n.j41(0,"div",9),n.nrm(1,"span",7),n.nI1(2,"translate"),n.DNE(3,L,1,2,"mat-progress-bar",10)(4,s,2,1,"div",11),n.k0s()),2&f){const a=n.XpG();n.Y8G("ngClass",n.lJ4(7,l)),n.R7$(),n.Y8G("innerHtml",n.i5U(2,4,a.data.query,a.data.queryParam),n.npT),n.R7$(2),n.Y8G("ngIf",a.data.progressBar),n.R7$(),n.Y8G("ngIf",a.data.progressPercentage)}}function u(f,J){if(1&f&&(n.j41(0,"button",14),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&f){const a=n.XpG();n.Y8G("mat-dialog-close",a.retVals.Action1),n.R7$(),n.SpI(" ",n.bMT(2,2,a.data.action1)," ")}}function x(f,J){if(1&f&&(n.j41(0,"button",14),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&f){const a=n.XpG();n.Y8G("mat-dialog-close",a.retVals.Action2),n.R7$(),n.SpI(" ",n.bMT(2,2,a.data.action2)," ")}}function p(f,J){if(1&f&&(n.j41(0,"button",14),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&f){const a=n.XpG();n.Y8G("mat-dialog-close",a.retVals.Action3),n.R7$(),n.SpI(" ",n.bMT(2,2,a.data.action3)," ")}}var o=function(f){return f.Action1="action1",f.Action2="action2",f.Action3="action3",f}(o||{});let _=(()=>{var f;class J{constructor(D){this.data=D,this.retVals=o,this.value=0,D.spinner&&(D.progressBar=!1),void 0===D.progressMode&&(D.progressMode="indeterminate")}set dialogData(D){this.data=D}get dialogData(){return this.data}}return(f=J).\u0275fac=function(D){return new(D||f)(n.rXU(e.Vh))},f.\u0275cmp=n.VBU({type:f,selectors:[["nv-hig-alert-dialog"]],inputs:{value:"value",dialogData:"dialogData"},decls:9,vars:9,consts:[["mat-dialog-title","",1,"font-header6"],["mat-dialog-content","","class","font-body2","fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","14px",3,"ngClass",4,"ngIf"],["mat-dialog-content","","class","font-body2","fxLayout","column","fxLayoutAlign","start start","fxLayoutGap","8px",3,"ngClass",4,"ngIf"],["mat-dialog-actions","",3,"align"],["mat-button","","class","font-button2 hig-button",3,"mat-dialog-close",4,"ngIf"],["mat-dialog-content","","fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","14px",1,"font-body2",3,"ngClass"],["color","accent","fxFlex","none",3,"diameter","mode","value",4,"ngIf"],[3,"innerHtml"],["color","accent","fxFlex","none",3,"diameter","mode","value"],["mat-dialog-content","","fxLayout","column","fxLayoutAlign","start start","fxLayoutGap","8px",1,"font-body2",3,"ngClass"],["class","mat-accent",3,"mode","value",4,"ngIf"],["fxLayoutAlign","start start",4,"ngIf"],[1,"mat-accent",3,"mode","value"],["fxLayoutAlign","start start"],["mat-button","",1,"font-button2","hig-button",3,"mat-dialog-close"]],template:function(D,te){1&D&&(n.j41(0,"span",0),n.EFF(1),n.nI1(2,"translate"),n.k0s(),n.DNE(3,S,4,8,"div",1)(4,M,5,8,"div",2),n.j41(5,"div",3),n.DNE(6,u,3,4,"button",4)(7,x,3,4,"button",4)(8,p,3,4,"button",4),n.k0s()),2&D&&(n.R7$(),n.JRh(n.bMT(2,7,te.data.title)),n.R7$(2),n.Y8G("ngIf",void 0===te.data.progressBar||te.data.spinner),n.R7$(),n.Y8G("ngIf",te.data.progressBar),n.R7$(),n.Y8G("align","end"),n.R7$(),n.Y8G("ngIf",te.data.action1),n.R7$(),n.Y8G("ngIf",te.data.action2),n.R7$(),n.Y8G("ngIf",te.data.action3))},dependencies:[E.YU,E.bT,O.DJ,O.BO,O.sA,O.UI,B.PW,P.iV,k.LG,U.HM,e.tx,e.BI,e.Yi,e.E7,r.D9],styles:[".spinnerContent[_ngcontent-%COMP%]{overflow:hidden!important}.progressBarContent[_ngcontent-%COMP%]{padding-top:16px}"]}),J})()},71107:(xe,de,t)=>{"use strict";t.d(de,{$Y:()=>E,DK:()=>O,QA:()=>P,Tk:()=>M,VZ:()=>R,Wr:()=>B,Xw:()=>A,gE:()=>k,r3:()=>te,so:()=>U});var e=t(33367);const E={width:296,height:167},O=32;var B=function(v){return v.Video="video",v.Image="image",v.Other="other",v}(B||{}),P=function(v){return v.Temporary="temporary",v.Highlights="highlights",v}(P||{}),k=e.Or.Common.Gallery.AudioType,U=function(v){return v.Normal="Normal",v.SuperResolution="SuperResolution",v.SuperResolutionOversized="SuperResolution_Oversized",v.Mono360="360Mono",v.Stereo="Stereo",v.Stereo360="360Stereo",v.Exr="Exr",v.Live="Live",v.Offline="Offline",v.Highlights="Highlight",v.Mta="MTA",v.NormalAnsel="Normal_Ansel",v.Gif="AnimatedGif",v.Montage="Montage",v.InstantReplay="InstantReplay",v.Manual="Manual",v.Screenshot="Screenshot",v}(U||{}),A=function(v){return v.off="Off",v.inPlace="InPlace",v.toNew="ToNew",v}(A||{});class M{constructor(){this.total=0,this.highlights=0,this.videos=0,this.instantReplays=0,this.images=0,this.montages=0,this.highlightBreakDown=[]}}var te=function(v){return v.newest="newest",v.oldest="oldest",v.atoz="atoz",v.ztoa="ztoa",v}(te||{}),R=function(v){return v.Highlight="Highlight",v.InstantReplay="InstantReplay",v.Recording="Recording",v.Montage="Montage",v.Screenshot="Screenshot",v}(R||{})},34867:(xe,de,t)=>{"use strict";t.d(de,{_:()=>I});var e=t(33367),n=t(892),E=t(43848),O=t(83915),B=t(14714),P=t(75707),k=t(91384),U=t(58527),r=t(47766),A=t(50197),l=function(S){return S[S.Empty=0]="Empty",S[S.Partial=1]="Partial",S[S.Full=2]="Full",S}(l||{});let I=(()=>{var S;class L{constructor(M,u,x){this.osService=u,this.bridgeService=x,this.videoPath="",this.directoryListOutdated=!0,this.directoryListUpdateCounts=!1,this.files=[],this.directoryList=[],this.directories=[],this.populatedFolder=[[],[],[],[],[]],this.folderData=[],this.fileData=[],this.mainCache=[],this.folderCache=[],this.cacheEntries=5,this.initialized=!1,this.ageCounter=0,this.dataIndex=0,this.freeInterval=3e5,this.minEntryAge=12e5,this.active=!1,this.logger=M.getLogger("CacheService")}resetCacheEntry(M){this.folderCache[M]={dirty:!0,crc:0,path:"",age:0,time:0,loaded:l.Empty}}init(){if(this.logger.info("Initialize"),this.dirSeparator=this.osService.getDirSeparator(),!this.initialized){this.directoryListOutdated=!0,this.mainCache[0]={dirty:!0,crc:0,path:""};for(let M=0;M{if(this.logger.info("cacheTimer called"),this.active)return;let M=2147483647,u=-1;const p=(new Date).getTime();for(let i=0;ithis.minEntryAge&&(u=i,M=this.folderCache[i].age);0!==M&&-1!==u&&(this.logger.info("resetting cache entry: "+u+" age was: "+M),this.folderData[u].directories.length=0,this.folderData[u].files.length=0,this.folderCache[u].loaded===l.Full&&(this.fileData[u].popFolder.length=0),this.resetCacheEntry(u)),this.checkCacheState()}))}cacheTimerOff(){this.logger.info("cacheTimerOff called"),this.cacheTimer&&(this.cacheTimer.unsubscribe(),this.cacheTimer=void 0)}checkCacheState(){let M=!0;this.folderCache.forEach(u=>{u.loaded!==l.Empty&&(M=!1)}),M&&this.cacheTimerOff()}setRecordingPaths(M){this.videoPath=M,this.reInit()}getCurrentPopFolder(){return this.populatedFolder[this.dataIndex]}resetCurrentPopFolder(){this.populatedFolder[this.dataIndex].length=0}useCacheData(M,u){let x=!1;if(M!==this.videoPath){const p=this.folderCache.findIndex(J=>J.path===M);if(-1===p)return!1;x=!this.folderCache[p].dirty&&this.folderCache[p].path===M;const i=x&&this.folderCache[p].loaded!==l.Empty,o=x&&this.folderCache[p].loaded===l.Full;this.dataIndex=p;const f=(new Date).getTime();return u?(i&&(this.logger.info("useCacheData, updating partial!"),this.files=this.folderData[p].files,this.directories=this.folderData[p].directories,this.counts=this.folderData[p].counts,this.logger.info("useCacheData, updating partial - DONE!!"),this.folderCache[p].time=f),i):(o&&(this.logger.info("useCacheData, updating full!"),this.populatedFolder[p]=this.fileData[p].popFolder,this.counts=this.folderData[p].counts,this.logger.info("useCacheData, updating full - DONE!!"),this.folderCache[p].time=f),o)}return x=!this.mainCache[0].dirty&&this.mainCache[0].path===M,x}setCacheNotDirty(M){if(M===this.videoPath)this.mainCache[0].dirty=!1;else{const u=this.folderCache.findIndex(x=>x.path===M);-1!==u&&(this.folderCache[u].dirty=!1)}}setCacheLoadedPartial(M){const u=this.folderCache.findIndex(x=>x.path===M);-1!==u&&(this.folderCache[u].loaded=l.Partial,this.folderData[u]={files:this.files,directories:this.directories,counts:this.counts})}setCacheLoaded(M){const u=this.folderCache.findIndex(x=>x.path===M);-1!==u&&(this.folderCache[u].loaded=l.Full,this.fileData[u]={popFolder:this.populatedFolder[u]})}setFileCounts(M,u){const x=this.folderCache.findIndex(p=>p.path===u);-1!==x?this.folderData[x].counts=M:this.logger.error("Could not find cache entry")}getVideoPathCRC(){return this.logger.info("Getting video path CRC: ",this.videoPath),this.getGalleryFolderCRC(this.videoPath).pipe((0,O.T)(M=>{const u=this.mainCache[0].crc!==M.crc;return this.mainCache[0]={dirty:u,crc:M.crc,path:this.videoPath},u}),(0,B.W)(M=>(this.logger.info("getVideoPathCRC error: ",M),(0,E.of)(!0))))}getCachedDataCRC(M){return void 0===M&&(this.logger.info("getCachedDataCRC: input undefined will use video path"),M=this.videoPath),M===this.videoPath?this.getVideoPathCRC():this.getGalleryFolderCRC(M).pipe((0,P.ZZ)(u=>{let x=-1;if(x=this.folderCache.findIndex(J=>J.path===M),-1===x&&(x=this.folderCache.findIndex(J=>0===J.crc)),-1===x){let J=2147483647;for(let a=0;a=this.cacheEntries&&(this.logger.error("folder cache has bad indexing! ",x),x=0),this.logger.info("Using index: "+x);const p=this.folderCache[x].crc!==u.crc,o=p||this.folderCache[x].loaded===l.Empty;this.ageCounter++;const f=(new Date).getTime();return this.folderCache[x]={dirty:o,crc:u.crc,path:M,age:this.ageCounter,time:f,loaded:p?l.Empty:this.folderCache[x].loaded},this.cacheTimerOn(),(0,E.of)(!0)}),(0,B.W)(u=>(this.logger.info("getCachedDataCRC error: ",u),(0,E.of)(!1))))}getGalleryFolderCRC(M){return this.bridgeService.executeCommand(e.Ts.Common.Gallery.GetFolderCRC,{directory:M})}getDirectoryListCRC(){return this.getVideoPathCRC().pipe((0,k.M)(M=>{this.directoryListOutdated=M}))}getNewDirectoryList(){return this.directoryListOutdated?(this.directoryList.length=0,this.directoryListUpdateCounts=!0,this.bridgeService.executeCommand(e.Ts.Common.Gallery.GetFolderListing,{directory:this.videoPath,shouldGetOnlyNv:!0,excludeDirectoryType:e.Or.Common.Gallery.ExcludeDirectoryType.empty}).pipe((0,O.T)(u=>(this.setDirectoryList(u.directories),this.logger.info("New Directories: ",this.directoryList),this.directoryList)))):(this.logger.info("Current Directories: ",this.directoryList),this.directoryListUpdateCounts=!1,(0,E.of)(this.directoryList))}getDirectoryList(){return this.getDirectoryListCRC().pipe((0,P.ZZ)(()=>this.getNewDirectoryList()))}setDirectoryList(M){this.directoryList=M.slice(),this.directoryListOutdated=!1}updateDirectoryList(M){if(this.directoryList.length){let u=M.lastIndexOf(this.dirSeparator);const x=M.substr(0,u);u=x.lastIndexOf(this.dirSeparator)+1;const p=x.substr(u);this.directoryList.find(i=>i===p)||this.flushDirectoryList()}}flushDirectoryList(){this.directoryListOutdated=!0}}return(S=L).\u0275fac=function(M){return new(M||S)(U.KVO(r.J6),U.KVO(A.J),U.KVO(r.NZ))},S.\u0275prov=U.jDH({token:S,factory:S.\u0275fac,providedIn:"root"}),L})()},90671:(xe,de,t)=>{"use strict";t.d(de,{e:()=>P});var e=t(43848),n=t(45239),E=t(58527),O=t(26537),B=t(65597);let P=(()=>{var k;class U{constructor(A,l){this.dialog=A,this.snackbar=l}openAlertDialog(A,l=!0){const S=this.dialog.open(n.Q6,{panelClass:["nv-hig","nv-oogg"],disableClose:l,autoFocus:!1,data:A});return(0,e.of)(S)}openSnackBar(A,l="",I=5e3){return this.snackbar.open(A,l,{duration:I,horizontalPosition:"left",panelClass:["nv-hig","nv-oogg"]})}closeSnackBar(){this.snackbar.dismiss()}}return(k=U).\u0275fac=function(A){return new(A||k)(E.KVO(O.bZ),E.KVO(B.UG))},k.\u0275prov=E.jDH({token:k,factory:k.\u0275fac,providedIn:"root"}),U})()},53135:(xe,de,t)=>{"use strict";t.d(de,{AF:()=>ne});var e=t(26513),n=t(80583),E=t(43848),O=t(35146),B=t(17053),P=t(31315),k=t(19392),U=t(69917),r=t(75707),A=t(91384),l=t(83915),I=t(86447),S=t(65726),L=t(99047),s=t(14714),M=t(10174),u=t(25577),x=t(8619),p=t(33367),i=t(47766),o=t(71107),_=t(45239),f=t(37543),J=t(58527),a=t(50197),D=t(34867),te=t(65240),N=t(90671),z=t(61142),R=t(78812);let ne=(()=>{var ee;class b{get fileDataChangeListener(){return this.currentFileData$.asObservable()}get currentFileData(){return this.currentFileData$.getValue()}set currentFileData(F){this.logger.info("Updating metadata"),this.currentFileData$.next(F)}get filesSelectedDataChangeListener(){return this.currentSelectedFilesData$.asObservable()}get currentSelectedFilesData(){return this.currentSelectedFilesData$.getValue()}set currentSelectedFilesData(F){this.currentSelectedFilesData$.next(F)}listenForFilteredDataChange(){return this.filteredData$.asObservable()}listenForTrackerEvents(){return this.trackerCallback$.asObservable()}listenForEmptyStateChanged(){return this.emptyStateChanged$.asObservable()}listenForDeleteCompletion(){return this.deleteCompleted$.asObservable()}constructor(F,Z,se,Y,q,T,H,y,X,c){this.bridgeService=Z,this.osService=se,this.dbService=Y,this.cacheService=q,this.translateService=T,this.dialogHelper=H,this.datePipe=y,this.telemetryService=X,this.dateHandlerService=c,this.testMode=!1,this.dbStorageName="OoggData",this.sortKey="Sort",this.videoPath="",this.thumbWidth=o.$Y.width,this.thumbHeight=o.$Y.height,this.directories=[],this.workingFolder="",this.currentFileData$=new e.t(null),this.currentSelectedFilesData$=new e.t([]),this.allItems=[],this.modifiedItems=[],this.filteredItems=[],this.galleryDataIsInitialized=!1,this.trimInProgess=o.Xw.off,this.activeFilter=0,this.fileCounts=new o.Tk,this.topLevelCounts=[],this.trackerReady=!1,this.sortType=o.r3.newest,this.noDataExists=!1,this.filterInit=!1,this.gameItems=[],this.mediaItems=[],this.highlightItems=[],this.globalHighlightCount=0,this.activityItems=[],this.activityEvents=[],this.activityVolume=100,this.trackerCallback$=new n.B7,this.filteredData$=new n.B7,this.emptyStateChanged$=new e.t(!1),this.deleteCompleted$=new n.B7,this.logger=F.getLogger("GalleryService")}init(){return this.logger.info("Initialize"),this.dirSeparator=this.osService.getDirSeparator(),this.dBStore=this.dbService.getGlobalStore(this.dbStorageName),this.getSortKey().subscribe(F=>{void 0!==F&&(this.sortType=F)}),this.bridgeService.executeCommand(p.Ts.Common.Gallery.GalleryNotifications).subscribe(F=>this.galleryEvent(F)),this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetSettings).pipe((0,r.ZZ)(F=>(F&&F.settings&&F.settings.trackerStatus&&(this.trackerReady=F.settings.trackerStatus===p.Or.Common.Gallery.GalleryPathUpdateStatus.TrackerUpdateComplete),F&&F.settings&&F.settings.path?this.initPathItems(F.settings.path):(0,E.of)())))}hasAnyEntries(){if(this.topLevelCounts.length>0){let F=0;return this.topLevelCounts.forEach(Z=>{F+=Z.totalCount}),console.log("gallery entries: ",F),F>0}return!1}initPathItems(F){return this.videoPath=F,this.logger.info("Recording Path: ",this.videoPath),this.cacheService.setRecordingPaths(this.videoPath),(0,E.of)(null)}initGalleryData(){return this.galleryDataIsInitialized?(this.logger.info("Gallery Initialization skipped!"),(0,E.of)(!0)):this.isTrackerReady().pipe((0,r.ZZ)(()=>this.getFolders()),(0,r.ZZ)(()=>this.getAllData()),(0,A.M)(()=>(this.galleryDataIsInitialized=!0,(0,E.of)(!0))))}isTrackerReady(){return this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetSettings).pipe((0,l.T)(F=>{if(F&&F.settings&&F.settings.trackerStatus&&(this.trackerReady=F.settings.trackerStatus===p.Or.Common.Gallery.GalleryPathUpdateStatus.TrackerUpdateComplete),!this.trackerReady)throw new Error("Tracker not ready");return this.trackerReady}),(0,I.l)(F=>F.pipe((0,A.M)(()=>this.logger.info("Retrying isTrackerReady")),(0,S.c)(300))))}getGalleryData(){return this.filteredItems}getISOTime(F,Z){const se=i.Nq.convertDurationToMilliseconds(Z),Y=i.Nq.parseISODate(F.toISOString());return i.Nq.addTime(Y,se,i.yr.MILLISECONDS)}fillActivityFeed(F){return this.logger.info("EdgeData: ",F),this.activityItems.length=0,F.recents.forEach((Z,se)=>{this.activityItems.push({identity:se,gameName:"",session:0,playStarted:Z.startTime,playTime:Z.endTime,startTime:"00:00:00.0",endTime:Z.endTime,mapFileName:"",events:Z.events,rounds:Z.rounds,metaData:[]})}),this.activityItems}populateActivityFeed(){const F=this.getGalleryData().slice(),Z=[];F.sort((T,H)=>new Date(T.date).getTime()-new Date(H.date).getTime());const se=this.translateService.instant("montage.Montage");let Y=0;this.activityItems.forEach(T=>{const H=i.Nq.parseISODate(T.playStarted),y=this.getISOTime(H,T.playTime);this.activityEvents=T.events,T.events=[],T.rounds&&(Y=0),Z.length=0,F.forEach(X=>{if(X.folder!==se){const g=i.Nq.parseISODate(""===X.eventTimeStamp?X.date:X.eventTimeStamp);i.Nq.isBetween(g,H,y)&&Z.push(X)}}),Z.sort((X,c)=>{const g=""===X.eventTimeStamp?new Date(X.date):new Date(X.eventTimeStamp),d=""===c.eventTimeStamp?new Date(c.date):new Date(c.eventTimeStamp);return i.Nq.getDifferenceInTime(g,d,i.yr.MILLISECONDS)}),Z.forEach(X=>{this.logger.info("Capture Data to map: "+X.file.name+" hlName: "+X.hlName+" eventTime: "+X.eventTimeStamp+" dateTime: "+X.date)}),Z.forEach((X,c)=>{T.metaData.push(X),""===T.gameName&&(T.gameName=X.folder,T.session=X.session),"Map"===X.hlDefinitionId&&""===T.mapFileName&&(T.mapFileName=X.fullFilename);const g="video"===X.file.type&&("InstantReplay"===X.file.subtype||"Manual"===X.file.subtype),d="image"===X.file.type&&"Highlight"!==X.file.subtype;if("Highlight"===X.file.subtype){const Q=new Date(X.eventTimeStamp);this.logger.info("UGC item time: ",Q.toISOString());let j=!1;this.activityEvents.forEach((le,ge)=>{if(!j&&"sessionStarted"!==le.name&&"sessionEnded"!==le.name){const ie=this.getISOTime(H,le.time);this.logger.info("Activity entry index: "+ge+" time: "+le.time+" true time: "+ie.toISOString()),Q.toISOString()===ie.toISOString()&&(this.activityEvents[ge].name=X.hlName,T.events.push(this.activityEvents[ge]),this.logger.info("Type3 Event: ",this.activityEvents[ge]),j=!0)}}),j||this.logger.error("Could not match Highlight to log event! TimeStamp: ",Q)}else if(g||d){this.logger.info((g?"Type1: IR or MR: ":"Type2: Screenshot: ")+X.hlName+" index: "+c);const j=""===X.eventTimeStamp?X.date:X.eventTimeStamp;""===j&&this.logger.info("TimeStamp missing for: ",X.file.name);const le=this.dateHandlerService.formatDate(new Date(i.Nq.getDifferenceInTime(i.Nq.parseISODate(j),H,i.yr.MILLISECONDS)),"HH:mm:ss.SSS");this.logger.info("Duration: ",le);let ge=0;if(T.rounds&&T.rounds.length>0){let ce=!1;T.rounds.forEach(G=>{const ue=this.getISOTime(H,G.time),ae=i.Nq.parseISODate(j);!ce&&i.Nq.isBetween(ae,H,ue)&&(ge=G.number-1,ce=!0)})}const ie={time:le,name:g?X.file.subtype:"Screenshot",info:"",round:ge};T.events.push(ie),this.logger.info("Type1/2 Event: ",ie)}})});for(let T=this.activityItems.length-1;T>=0;T--)""===this.activityItems[T].gameName?(this.logger.info("Removing Activity, Not populated: ",this.activityItems[T]),this.activityItems.splice(T,1)):0===this.activityItems[T].events.length&&(this.logger.info("Removing Activity, No events present ",this.activityItems[T]),this.activityItems.splice(T,1));return this.sortFilteredActivity(this.sortType),this.logger.info("Number of Activity Cards: ",this.activityItems.length),this.logger.info("Activity Data: ",this.activityItems),this.activityItems}getActivityData(){return this.testMode?this.getActivityFeedDataTest():this.getActivityFeedData()}getActivityFeedData(){return this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetEventData).pipe((0,l.T)(F=>F.recents&&0!==F.recents.length?(this.fillActivityFeed(F),this.populateActivityFeed(),this.logger.info("Executed the bridge call to get activity data"),this.activityItems):null))}getActivityFeedDataTest(){const F=this.getGalleryData(),Z=this.translateService.instant("montage.Montage");this.activityItems.length=0;let se=0;return F.forEach((q,T)=>{q.folder===Z||0!==this.activityItems.length&&this.activityItems.find(H=>H.gameName===q.folder)||(this.activityItems.push({identity:T,gameName:q.folder,session:0,playStarted:"2020-12-09T03:30:00."+se,playTime:"",startTime:"00:00:00.0",endTime:"",mapFileName:"",events:[],rounds:[],metaData:[]}),se++)}),this.activityItems.forEach((q,T)=>{let y=0,X=10,c=0,g=0,d=10,C=0;F.forEach(ue=>{if(ue.folder===q.gameName){ue.session=q.session,q.metaData.push(ue),"Map"===ue.hlDefinitionId&&""===q.mapFileName&&(q.mapFileName=ue.fullFilename);const ae=y.toString()+":"+X.toString()+":00.000";let Ce;if("video"===ue.file.type&&(Ce=ue.file.subtype,"Highlight"===Ce)){const we=ue.hlName,ve=`highlightLabels.${we}`;Ce=this.translateService.instant(ve),Ce===ve&&(Ce=we)}q.events.push({time:ae,name:"image"===ue.file.type?"Screenshot":Ce,round:-1,info:""}),g=y,d=X,C=c,X+=10,60===X&&(X=0,y+=1,c+=0)}}),this.activityItems[T].endTime=g.toString()+":"+d.toString()+":00.000",this.activityItems[T].playTime=g>0?g.toString()+":"+d.toString()+":00.000":d>0?"00:"+d.toString()+":00.000":"00:00:"+C.toString();let Q=0,j=0,le=0,ie=1;const ce=q.events.length-1,G=q.events.length>6;q.events.forEach((ue,ae)=>{ue.round=ie-1,!G||5!==le&&ae!==ce?le++:(Q+=Math.floor(10*Math.random()),j+=Math.floor(10*Math.random()),q.rounds.push({number:ie,time:ue.time,score1:Q,score2:j}),ie++,le=0)})}),this.logger.info("Number of Activity Cards: ",this.activityItems.length),this.logger.info("Activity Data: ",this.activityItems),(0,E.of)(this.activityItems)}getActivityItem(F,Z,se,Y){let q;return this.logger.info("Activity Game: "+F+" Session: "+se+" File: "+Z),this.activityItems.forEach(T=>{if(T.gameName===F&&T.session===se){const H=T.metaData.length-1;T.metaData.forEach((y,X)=>{if(y.fullFilename===Z){let c=0;c=Y?Xthis.getUsableData(F)),(0,r.ZZ)(se=>(this.cacheService.useCacheData(Z,!1),(0,E.of)(this.cacheService.files.length))))}getWorkingFolder(){return""!==this.workingFolder&&this.directories.length&&(this.directories.find(Z=>Z===this.workingFolder)||(this.workingFolder="")),""===this.workingFolder&&this.directories.length&&(this.workingFolder=this.directories[0]),this.workingFolder}getVideoFolder(){return this.videoPath}saveCurrentLocation(F){this.currentLocation=F}getCurrentLocation(){return this.currentLocation}setGalleryThumbSize(F,Z){this.thumbWidth=F,this.thumbHeight=Z}populateDirectoryStats(){if(this.directories.length>0&&this.cacheService.directoryListUpdateCounts){this.topLevelCounts=[];const F=[];return this.directories.forEach(Z=>{F.push(this.getAppStats(Z))}),(0,O.yU)(...F).pipe((0,l.T)(()=>this.directories))}return(0,E.of)(this.directories)}getFolders(){return this.cacheService.getDirectoryList().pipe((0,r.ZZ)(F=>(this.directories=F,this.populateDirectoryStats())))}showFolderContents(F){return""===F?""===this.workingFolder?this.workingFolder=F=this.directories[0]:F=this.workingFolder:this.workingFolder=F,this.logger.info("Working Folder: ",this.workingFolder),this.setWorkingFolder(F).pipe((0,l.T)(()=>this.cacheService.getCurrentPopFolder()))}getAllItemsCount(){return this.allItems.length}unselectAllItems(){this.allItems.forEach(F=>F.selected=!1),this.filteredItems.forEach(F=>F.selected=!1)}getUsableData(F){this.logger.info("GetUsableData Dir: ",F);const Z=this.buildPath(F);if(this.cacheService.useCacheData(Z,!0))return this.logger.info("GetUsableData - Using cached data"),this.fileCounts=this.cacheService.counts,(0,E.of)(!0);const se=[];return this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetAppUGC,{appName:F}).pipe((0,l.T)(Y=>{this.cacheService.resetCurrentPopFolder();const q=[],T=this.cacheService.getCurrentPopFolder();let H=0,y=0,X=0,c=0,g=0;return Y.ugc&&Y.ugc.forEach((d,C)=>{y+=d.fileSubType===p.Or.Common.Gallery.SubType.InstantReplay?1:0,H+=d.fileSubType===p.Or.Common.Gallery.SubType.Manual?1:0,d.fileType===p.Or.Common.Gallery.FileType.video&&d.fileSubType!==p.Or.Common.Gallery.SubType.InstantReplay&&d.fileSubType!==p.Or.Common.Gallery.SubType.Manual&&d.fileSubType!==p.Or.Common.Gallery.SubType.Montage&&d.fileSubType!==p.Or.Common.Gallery.SubType.Highlight&&(H+=1),X+=d.fileType===p.Or.Common.Gallery.FileType.image?1:0,c+=d.fileSubType===p.Or.Common.Gallery.SubType.Highlight?1:0,g+=d.fileSubType===p.Or.Common.Gallery.SubType.Montage?1:0;const Q=d.path.lastIndexOf(this.dirSeparator),le={name:d.path.substr(Q+1),type:d.fileType,subtype:d.fileSubType,source:d.fileSource,drsProfileName:d.DRSProfileName,thumbnail:""};q.push(le);const ge={fullFilename:d.path,selected:!1,file:le,folder:F,cmsId:d.cmsId,index:C,duration:d.duration,msDuration:d.msDuration,date:d.date,fileSize:d.fileSizeKB.toString(),audiotype:d.audiotype,hlName:""!==d.highlightName?d.highlightName:d.highlightDefinitionId,hlDefinitionId:d.highlightDefinitionId,hlId:d.id,hlGroup:d.highlightGroupId,cancel:!1,eventTimeStamp:d.eventTimeStamp,data:null,errorType:null,errorDetails:null};T.push(ge),se.some(ie=>{ie.name===d.highlightName&&ie.count++})}),this.cacheService.files=q,this.cacheService.setCacheLoadedPartial(Z),this.logger.info("Files: "+Y.ugc.length+" Highlights : "+c+" Recordings: "+H+" IR: "+y+" Images: "+X+" Montages: "+g),this.fileCounts={total:Y.ugc.length,highlights:c,videos:H,instantReplays:y,images:X,montages:g,highlightBreakDown:se},!0}))}getAppStats(F){return this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetAppStats,{appName:F}).pipe((0,l.T)(se=>{this.logger.info("App Stats: "+F+" SS: "+se.screenshots+" V: "+se.videos);const Y=this.topLevelCounts.findIndex(q=>q.folder===F);return Y>=0?this.topLevelCounts[Y].totalCount=se.screenshots+se.videos:this.topLevelCounts.push({folder:F,totalCount:se.screenshots+se.videos}),se}))}getMetaData(F,Z=!0){return this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetFileMetadata,{file:F,width:Z?this.thumbWidth:void 0,height:Z?this.thumbHeight:void 0})}getImageFileDimensions(F){return this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetImageFileDimensions,{file:F})}getFileData(F,Z){return this.getMetaData(F.fullFilename,Z).pipe((0,L.$)(),(0,l.T)(se=>(F.audiotype=void 0===se.audiotype?o.gE.Unknown:se.audiotype,F.duration=void 0===se.duration?"":se.duration,F.memeTop=se.memeInfo?se.memeInfo.topBarText:"",F.memeBottom=se.memeInfo?se.memeInfo.bottomBarText:"",F.data=void 0===se.thumbnail?null:se.thumbnail,F)),(0,s.W)(se=>(this.logger.error("GetMetaData failed: ",se),(0,E.of)(void 0))))}fillInFileData(F){return this.getFileData(F,!0)}removeItem(F){return this.bridgeService.executeCommand(p.Ts.Common.Gallery.RemoveGalleryItem,{file:F,forceDelete:!1}).pipe((0,r.ZZ)(se=>{const Y=F.lastIndexOf(this.dirSeparator),q=F.substr(Y+1,F.length-1);return this.logger.info("File deleted: ",q),this.checkIfThereIsNoData(),(0,E.of)(!0)}),(0,s.W)(se=>(this.logger.info("File remove failed: ",se),(0,E.of)(!1))))}getThumbnailForFile(F,Z=70,se=70){return this.bridgeService.executeCommand(p.Ts.Common.Gallery.GetThumbnail,{file:F,width:Z,height:se}).pipe((0,l.T)(q=>q.thumbnail))}getCurrentDropdownCount(F){return this.getAppStats(F).pipe((0,l.T)(Z=>{const se=this.topLevelCounts.findIndex(Y=>Y.folder===F);return-1!==se?(this.topLevelCounts[se].totalCount=Z.screenshots+Z.videos,this.topLevelCounts[se].totalCount):0}))}updateFolderSync(F,Z){return new B.c(se=>{this.updateFolder(F,Z).subscribe(()=>{se.next(),se.complete(),this.logger.info("Complete")})})}updateFolder(F,Z){let se={};if(Z===o.QA.Highlights)se={userGalleryPath:F};else if(Z===o.QA.Temporary){const q=F.lastIndexOf(this.dirSeparator),T=F.length-1;q===T&&(F=F.slice(0,T)),se={tempFolderPath:F}}return this.bridgeService.executeCommand(p.Ts.Common.Gallery.SetSettings,{settings:se}).pipe((0,l.T)(()=>!0),(0,M.u)(!0))}galleryEvent(F){if(F)if(F.captureSaved)this.logger.info("Gallery event: CaptureSaved"),this.eventCaptureSaved(F);else if(F.ugcDeleted)this.logger.info("Gallery event: UgcDeleted"),this.eventUGCDeleted(F);else if(F.galleryPathUpdateStatus){switch(this.logger.info("Gallery event UpdateStatus: ",F.galleryPathUpdateStatus.status),F.galleryPathUpdateStatus.status){case p.Or.Common.Gallery.GalleryPathUpdateStatus.TrackerUpdateInProgress:this.trackerReady=!1;break;case p.Or.Common.Gallery.GalleryPathUpdateStatus.TrackerUpdateComplete:case p.Or.Common.Gallery.GalleryPathUpdateStatus.CancelUpdateComplete:this.trackerReady=!0}this.trackerCallback$.next({trackerEvent:F.galleryPathUpdateStatus.status})}else this.logger.info("Unknown or unhandled Event Type: ",F);else this.logger.info("Event: undefined or null")}eventCaptureSaved(F){if(this.allItems&&this.allItems.find(y=>y.fullFilename===F.captureSaved.ugc.path))return void this.logger.info("Extraneous capture event received!");this.cacheService.updateDirectoryList(F.captureSaved.ugc.path);const Z=F.captureSaved.ugc,se=Z.path.lastIndexOf(this.dirSeparator),Y=Z.path.slice(se+1),q={fullFilename:Z.path,selected:!1,file:{name:Y,type:Z.fileType,subtype:Z.fileSubType,source:Z.fileSource,drsProfileName:Z.DRSProfileName,thumbnail:""},folder:Z.DRSProfileName,cmsId:Z.cmsId,index:0,duration:Z.duration,msDuration:Z.msDuration,date:Z.date,fileSize:Z.fileSizeKB.toString(),audiotype:Z.audiotype,hlName:""!==Z.highlightName?Z.highlightName:Z.highlightDefinitionId,hlDefinitionId:Z.highlightDefinitionId,hlId:-1,hlGroup:Z.highlightGroupId,cancel:!1,eventTimeStamp:Z.eventTimeStamp,data:"",errorType:"",errorDetails:""};this.logger.info("New UGC Data: ",q);const T=this.allItems.length===this.filteredItems.length;let H;switch(this.allItems.unshift(q),this.checkIfThereIsNoData(),this.filterAll(T),this.trimInProgess){case o.Xw.off:H=f.WCA.Add;break;case o.Xw.toNew:H=f.WCA.TrimNew;break;case o.Xw.inPlace:H=f.WCA.TrimReplace}this.galleryCaptureAction(H,Z)}eventUGCDeleted(F){const Z=F.ugcDeleted.ugc,se=Z.path,Y=this.allItems.find(T=>T.fullFilename===se),q=this.allItems.length===this.filteredItems.length;this.arrayDeleteFile(Y,this.allItems),this.filterAll(q),this.checkIfThereIsNoData(),this.galleryCaptureAction(f.WCA.Delete,Z),this.deleteCompleted$.next(!0)}checkIfThereIsNoData(){this.noDataExists!==(0===this.allItems.length)&&(this.noDataExists=!this.allItems.length,this.emptyStateChanged$.next(this.noDataExists))}getNextFile(){const F=this.filteredItems.findIndex(se=>se.fullFilename===this.currentFileData.fullFilename);this.currentFileData=this.filteredItems[F===this.filteredItems.length-1?0:F+1],this.galleryViewAction(f.WCA.Preview,this.currentFileData)}getPreviousFile(){const F=this.filteredItems.findIndex(se=>se.fullFilename===this.currentFileData.fullFilename);this.currentFileData=this.filteredItems[0===F?this.filteredItems.length-1:F-1],this.galleryViewAction(f.WCA.Preview,this.currentFileData)}generateGalleryFilename(F,Z,se=new Date){return`${this.videoPath}${this.dirSeparator}${F}${this.dirSeparator}${F} ${this.datePipe.transform(se,"yyyy.MM.dd - HH.mm.ss.SS")}.${Z}`}generateTempFilename(F,Z,se,Y=new Date){return F[F.length-1]===this.dirSeparator&&(F=F.slice(0,F.length-1)),`${F}${this.dirSeparator}${Z} ${this.datePipe.transform(Y,"yyyy.MM.dd - HH.mm.ss.SS")}.${se}`}showDeleteSnackbar(F){let Z=!0;const se=F.length,Y=1===se?"confirmation.deletedTitle":"confirmation.deletedTitleMulti";return F.length<=0?(0,E.of)(!1):new B.c(H=>{(0,P.zV)([this.translateService.get(Y,{arg:se}),this.translateService.get("confirmation.undo")]).pipe((0,r.ZZ)(([y,X])=>{const c=this.dialogHelper.openSnackBar(y,X);return c.onAction().subscribe(()=>{Z=!1}),c.afterDismissed()}),(0,r.ZZ)(()=>(Z&&this.galleryDeleteCountEvent(F.length),(0,E.of)(!0))),(0,r.ZZ)(()=>(0,k.H)(F)),(0,r.ZZ)(y=>Z?this.removeItem(y.fullFilename):(0,E.of)(!1)),(0,u.H)()).subscribe(y=>{H.next(y),H.complete()})})}getFolderContents(F){return this.setWorkingFolder(F).pipe((0,l.T)(()=>this.cacheService.getCurrentPopFolder()))}getAllData(){const F=this.cacheService.directoryList,Z=[];return this.allItems.length=0,0===F.length?(this.checkIfThereIsNoData(),(0,E.of)([])):(F.forEach(se=>{Z.push(this.getFolderContents(se))}),(0,U.x)(...Z).pipe((0,l.T)(se=>{se.forEach(Y=>{this.allItems.push(Y)})}),(0,u.H)(),(0,l.T)(()=>this.filterAll(!0))))}deleteItems(F){if(this.logger.info("Remove clicked"),0===F.length)return void this.logger.info("no selected item");const Z=F.length>1,T={title:Z?"confirmation.confirmDeleteTitleMulti":"confirmation.confirmDeleteTitle",query:Z?"confirmation.confirmDeleteMulti":"confirmation.confirmDelete",queryParam:{arg1:Z?F.length:"0"},action1:"confirmation.NotRightNow",action2:"confirmation.remove"};let H=!1;const y=this.filteredItems.slice(),X=this.modifiedItems.slice(),c=this.allItems.slice(),g=()=>{setTimeout(()=>{this.allItems=c,this.modifiedItems=X,this.filteredItems=y,this.filterAll(this.allItems.length===this.filteredItems.length),this.filteredData$.next(this.filteredItems),this.checkIfThereIsNoData(),this.galleryAction(f.cPF.DeleteUndo),this.deleteCompleted$.next(!0)},0)};this.dialogHelper.openAlertDialog(T).pipe((0,r.ZZ)(d=>d.afterClosed()),(0,x.p)(d=>d===_.SF.Action2),(0,A.M)(()=>this.deleteCompleted$.next(!0)),(0,r.ZZ)(()=>(0,k.H)(F)),(0,A.M)(d=>{this.arrayDeleteFile(d,this.filteredItems),this.arrayDeleteFile(d,this.modifiedItems),this.arrayDeleteFile(d,this.allItems),this.filterAll(this.allItems.length===this.filteredItems.length),this.filteredData$.next(this.filteredItems),this.checkIfThereIsNoData()}),(0,u.H)(),(0,A.M)(()=>this.filteredItems=this.filteredItems.slice()),(0,r.ZZ)(()=>this.showDeleteSnackbar(F)),(0,A.M)(d=>H=d),(0,x.p)(d=>!0===d),(0,A.M)(()=>{})).subscribe(()=>{},()=>{H||g()},()=>{H||g()})}arrayDeleteFile(F,Z){const se=Z.indexOf(F);se>=0&&Z.splice(se,1)}initializeFilters(){this.initializeGameFilters(),this.initializeMediaFilters(),this.initializeHighlightsFilters(!0)}initializeGameFilters(){this.gameItems.length=0,this.allItems.sort((F,Z)=>F.fullFilename.localeCompare(Z.fullFilename)),this.allItems.forEach(F=>{this.gameItems.find(Z=>Z.label===F.folder)||this.gameItems.push({label:F.folder,value:0,filtered:!1,children:null,cmsId:F.cmsId})})}initializeMediaFilters(){const F=p.Or.Common.Gallery.FileType.video,se=[{menu:"filter.Highlight",type:F,subtype:p.Or.Common.Gallery.SubType.Highlight},{menu:"filter.InstantReplay",type:F,subtype:p.Or.Common.Gallery.SubType.InstantReplay},{menu:"filter.Recording",type:F,subtype:p.Or.Common.Gallery.SubType.Manual},{menu:"filter.Montage",type:F,subtype:p.Or.Common.Gallery.SubType.Montage},{menu:"filter.Screenshot",type:p.Or.Common.Gallery.FileType.image,subtype:p.Or.Common.Gallery.SubType.Normal}];this.mediaItems.length=0,se.forEach(Y=>{this.mediaItems.push({label:Y.menu,type:Y.type,subtype:Y.subtype,value:0,filtered:!1,children:null})})}tryTranslateHighlightLabel(F){const Z=`highlightLabels.${F}`;let se=this.translateService.instant(Z);return se===Z&&(se=F),se}initializeHighlightsFilters(F){F&&(this.highlightItems.length=0),this.allItems.forEach(Z=>{const se=this.tryTranslateHighlightLabel(Z.hlName);this.highlightItems.find(Y=>Y.label===se)||""!==Z.hlName&&this.highlightItems.push({label:se,value:0,filtered:!1,children:null,hlDefId:Z.hlDefinitionId})}),this.globalHighlightCount=this.highlightItems.length}filterAll(F){return F&&(this.initializeFilters(),this.filterInit=!0),this.modifiedItems=this.allItems.slice(),this.filterBasedOnGames(),this.modifiedItems=this.filteredItems.slice(),this.filterBasedOnMedia(),this.modifiedItems=this.filteredItems.slice(),this.filterBasedOnHighlight(),this.filterInit&&(this.filterInit=!1),this.sortFilteredData(this.sortType,!1),this.filteredItems}filterBasedOnGames(){this.filteredItems.length=0;let F=!0;return this.gameItems.forEach(Z=>{Z.filtered&&(F=!1),Z.value=0}),this.modifiedItems.forEach(Z=>{const se=this.gameItems.find(Y=>Y.label===Z.folder);se&&((F||se||this.filterInit)&&se.value++,(F||se.filtered)&&this.filteredItems.push(Z))}),this.filteredItems}filterBasedOnMedia(){this.filteredItems.length=0;let F=!0;return this.mediaItems.forEach(Z=>{Z.filtered&&(F=!1),Z.value=0}),this.modifiedItems.forEach(Z=>{let se=this.mediaItems.find(Y=>Y.type===Z.file.type&&Y.subtype===Z.file.subtype);se||Z.file.type===p.Or.Common.Gallery.FileType.video&&Z.file.subtype===p.Or.Common.Gallery.SubType.Normal&&(se=this.mediaItems.find(Y=>Y.subtype===p.Or.Common.Gallery.SubType.Manual)),se||Z.file.type===p.Or.Common.Gallery.FileType.image&&Z.file.subtype===p.Or.Common.Gallery.SubType.Highlight&&(se=this.mediaItems.find(Y=>Y.subtype===p.Or.Common.Gallery.SubType.Highlight)),se||Z.file.type===p.Or.Common.Gallery.FileType.image&&(Z.file.subtype===p.Or.Common.Gallery.SubType.Normal_Ansel||Z.file.subtype===p.Or.Common.Gallery.SubType.SuperResolution||Z.file.subtype===p.Or.Common.Gallery.SubType.SuperResolution_Oversized||Z.file.subtype===p.Or.Common.Gallery.SubType.SubType_360Mono||Z.file.subtype===p.Or.Common.Gallery.SubType.Stereo||Z.file.subtype===p.Or.Common.Gallery.SubType.SubType_360Stereo)&&(se=this.mediaItems.find(Y=>Y.type===p.Or.Common.Gallery.FileType.image)),se?((F||se||this.filterInit)&&se.value++,(F||se.filtered)&&this.filteredItems.push(Z)):this.logger.warn("An unknown type was encountered, Type: "+Z.file.type+" SubType: "+Z.file.subtype+" File: "+Z.file.name)}),this.filteredItems}filterBasedOnHighlight(){const F=this.highlightItems.slice();this.initializeHighlightsFilters(!1);const Z=this.highlightItems.filter(Y=>this.modifiedItems.find(q=>this.tryTranslateHighlightLabel(q.hlName)===Y.label));this.highlightItems=Z.slice();let se=!0;return this.highlightItems.forEach(Y=>{const q=F.findIndex(T=>Y.label===T.label);q>=0&&(Y.filtered=F[q].filtered),Y.filtered&&(se=!1),Y.value=0}),this.filteredItems.length=0,this.modifiedItems.forEach(Y=>{const q=this.tryTranslateHighlightLabel(Y.hlName),T=this.highlightItems.find(H=>H.label===q);(T||!T&&se)&&(T&&T.value++,(se||T&&T.filtered)&&this.filteredItems.push(Y))}),this.highlightItems.sort((Y,q)=>Y.label.localeCompare(q.label)),this.filteredItems}gameFilterChanged(F){this.logger.info("Game Filter: ",F);const Z=this.gameItems.find(se=>se.label===F.label);Z&&(Z.filtered=F.filtered),this.filterAll(!1),this.galleryFilterEvent(f.dZ.Game,F.label,F.filtered,F.cmsId)}mediaFilterChanged(F){this.logger.info("Media Filter: ",F);const Z=this.mediaItems.find(Y=>Y.label===F.label);let se;switch(Z&&(Z.filtered=F.filtered),this.filterAll(!1),F.type){case"image":se=o.VZ.Screenshot;break;case"video":switch(F.subtype){case"Highlight":se=o.VZ.Highlight;break;case"InstantReplay":se=o.VZ.InstantReplay;break;case"Manual":se=o.VZ.Recording;break;case"Montage":se=o.VZ.Montage}}this.galleryFilterEvent(f.dZ.Media,se,F.filtered)}highlightFilterChanged(F){this.logger.info("Highlight Filter: ",F);const Z=this.highlightItems.find(se=>se.label===F.label);Z&&(Z.filtered=F.filtered),this.filterAll(!1),this.galleryFilterEvent(f.dZ.Highlights,F.hlDefId,F.filtered)}sortFilteredData(F,Z){F===o.r3.newest?(this.filteredItems.sort((se,Y)=>new Date(Y.date).getTime()-new Date(se.date).getTime()),Z&&this.gallerySortEvent(f.FEW.Newest)):F===o.r3.oldest?(this.filteredItems.sort((se,Y)=>new Date(se.date).getTime()-new Date(Y.date).getTime()),Z&&this.gallerySortEvent(f.FEW.Oldest)):F===o.r3.atoz?(this.filteredItems.sort((se,Y)=>se.fullFilename.localeCompare(Y.fullFilename)),Z&&this.gallerySortEvent(f.FEW.AtoZ)):F===o.r3.ztoa&&(this.filteredItems.sort((se,Y)=>Y.fullFilename.localeCompare(se.fullFilename)),Z&&this.gallerySortEvent(f.FEW.ZtoA)),this.sortType!==F&&(this.sortType=F,this.dBStore.setItem(this.sortKey,this.sortType).subscribe(()=>{this.logger.info("Sort Key storage updated")},se=>{this.logger.error("Error while updating Sort Key storage: ",se)})),this.sortFilteredActivity(F),this.filteredData$.next(this.filteredItems)}sortFilteredActivity(F){0!==this.activityItems.length&&(F===o.r3.newest?this.activityItems.sort((Z,se)=>new Date(se.playStarted).getTime()-new Date(Z.playStarted).getTime()):F===o.r3.oldest?this.activityItems.sort((Z,se)=>new Date(Z.playStarted).getTime()-new Date(se.playStarted).getTime()):F===o.r3.atoz?this.activityItems.sort((Z,se)=>Z.gameName.localeCompare(se.gameName)):F===o.r3.ztoa&&this.activityItems.sort((Z,se)=>se.gameName.localeCompare(Z.gameName)))}getSortKey(){return this.dBStore.getItem(this.sortKey).pipe((0,l.T)(F=>{if(F)return this.logger.info("Sort Key: ",F),F;this.logger.info("SortType not found in the storage")}),(0,s.W)(F=>(this.logger.error("Could not load SortType from the storage: ",JSON.stringify(F)),(0,E.of)(void 0))))}galleryAction(F){const Z={userAction:F};this.logger.info("Telemetry Gallery User Action: ",Z),this.telemetryService.push(new f._nL(Z))}getTelemetrySubtype(F){let Z;switch(F){case"Highlight":Z=f.XM7.Highlight;break;case"Normal":Z=f.XM7.Normal;break;case"Manual":Z=f.XM7.Manual;break;case"InstantReplay":Z=f.XM7.InstantReplay;break;case"Montage":Z=f.XM7.Montage;break;default:this.logger.warn("Unknown subtype: ",F),Z=f.XM7.Normal}return Z}getAge(F){let Z=0;const Y=void 0!==F&&i.Nq.isValidDate(i.Nq.parseISODate(F))?Date.parse(F):0;return Z=Date.now()-Y,Z}galleryCaptureAction(F,Z){let se=0;F!==f.WCA.Add&&(se=this.getAge(Z.date));const Y="video"===Z.fileType?f.lv$.Video:f.lv$.Image,q=this.getTelemetrySubtype(Z.fileSubType.toString());this.galleryContentEvent({eventType:F,mediaType:Y,mediaSubtype:q,game:Z.DRSProfileName,cmsId:Z.cmsId||-1,filesizeKB:Z.fileSizeKB,durationMs:Z.msDuration,ageMs:se,errorType:"",errorDetails:""})}galleryViewAction(F,Z){const se=this.getAge(Z.date),T={eventType:F,mediaType:"video"===Z.file.type?f.lv$.Video:f.lv$.Image,mediaSubtype:this.getTelemetrySubtype(Z.file.subtype),game:Z.file.drsProfileName,cmsId:Z.cmsId||-1,filesizeKB:Number(Z.fileSize),durationMs:Z.msDuration,ageMs:se,errorType:"",errorDetails:""};this.galleryContentEvent(T)}galleryContentEvent(F){this.logger.info("Telemetry ContentEventInfo: ",F),this.telemetryService.push(new f.JUy(F))}galleryDeleteCountEvent(F){const Z={count:F};this.logger.info("Telemetry Delete count: ",Z),this.telemetryService.push(new f.iLx(Z))}gallerySortEvent(F){const Z={type:F};this.logger.info("Telemetry Gallery Sort: ",Z),this.telemetryService.push(new f.waC(Z))}galleryFilterEvent(F,Z,se,Y){const q={type:F,item:Z,filtered:se?f.T80.TRUE:f.T80.FALSE,cmsId:void 0!==Y?Y:0};this.logger.info("Telemetry Gallery Filter: ",q),this.telemetryService.push(new f.myS(q))}}return(ee=b).\u0275fac=function(F){return new(F||ee)(J.KVO(i.J6),J.KVO(i.NZ),J.KVO(a.J),J.KVO(i.at),J.KVO(D._),J.KVO(te.c$),J.KVO(N.e),J.KVO(z.vh),J.KVO(R.H0),J.KVO(i.I_))},ee.\u0275prov=J.jDH({token:ee,factory:ee.\u0275fac,providedIn:"root"}),b})()},50197:(xe,de,t)=>{"use strict";t.d(de,{J:()=>B});var e=t(83915),n=t(47766),E=t(58527),O=function(P){return P.Windows="Windows",P.Mac="Mac",P}(O||{});let B=(()=>{var P;class k{constructor(r,A){this.systemInfoService=A,this.logger=r.getLogger("OsService")}init(){return this.logger.info("Initialize"),this.systemInfoService.getSystemInfo([n.Lu.Platform]).pipe((0,e.T)(r=>(this.logger.info("Platform: ",r.Platform),this.isWindows=r.Platform===O.Windows,!0)))}getDirSeparator(){return this.isWindows?"\\":"/"}getFileBaseSize(){return this.isWindows?1024:1e3}getOSType(){return this.isWindows?O.Windows:O.Mac}}return(P=k).\u0275fac=function(r){return new(r||P)(E.KVO(n.J6),E.KVO(n.zW))},P.\u0275prov=E.jDH({token:P,factory:P.\u0275fac,providedIn:"root"}),k})()},71425:(xe,de,t)=>{"use strict";t.d(de,{m:()=>l});var e=t(61142),n=t(26513),E=t(75707),O=t(91384),B=t(58527),P=t(47766),k=t(50197),U=t(34867),r=t(53135),A=t(33945);let l=(()=>{var I;class S{constructor(s,M,u,x,p,i){this.injector=s,this.loggingService=M,this.osService=u,this.cacheService=x,this.galleryService=p,this.trimService=i,this.initComplete$=new n.t(!1)}init(){return this.logger=this.loggingService.getLogger("OOGG ServiceLoader"),this.logger.info("OOGG InitData Started"),this.injector.get(e.hj,Promise.resolve(null)).finally(()=>this.initBaseServices().toPromise()).catch(M=>{this.logger.error("Error initializing service loader base services",M)})}initBaseServices(){return this.osService.init().pipe((0,E.ZZ)(()=>(this.cacheService.init(),this.trimService.init(),this.galleryService.init())),(0,O.M)(()=>{this.initComplete$.next(!0),this.logger.info("OOGG InitData complete")}))}isInitComplete(){return this.initComplete$.asObservable()}}return(I=S).\u0275fac=function(s){return new(s||I)(B.KVO(B.zZn),B.KVO(P.J6),B.KVO(k.J),B.KVO(U._),B.KVO(r.AF),B.KVO(A.g))},I.\u0275prov=B.jDH({token:I,factory:I.\u0275fac,providedIn:"root"}),S})()},33945:(xe,de,t)=>{"use strict";t.d(de,{g:()=>U});var e=t(33367),n=t(83915),E=t(14714),O=t(75707),B=t(43848),P=t(58527),k=t(47766);let U=(()=>{var r;class A{constructor(I,S){this.loggingService=I,this.bridgeService=S,this.logger=this.loggingService.getLogger("TrimService")}init(){this.logger.info("Initializing Trim Service")}trim(I){return this.bridgeService.executeCommand(e.Ts.Common.Gallery.Trim,I).pipe((0,n.T)(S=>(this.logger.info("Trim complete: ",S),!0),S=>(this.logger.error("Trim failed: ",S),!0)),(0,E.W)(S=>(this.logger.error("Trim error: ",S),(0,B.of)(!1))))}moveFile(I,S){return this.bridgeService.executeCommand(e.Ts.Common.Gallery.MoveFile,{source:I,destination:S})}copyFile(I,S){return this.bridgeService.executeCommand(e.Ts.Common.Gallery.CopyFile,{source:I,destination:S})}deleteFile(I){return this.bridgeService.executeCommand(e.Ts.Common.Gallery.RemoveGalleryItem,{file:I})}overwriteOriginal(I,S){return this.logger.info("Overwriting original!"),this.deleteFile(S).pipe((0,O.ZZ)(()=>(this.logger.info("Original deleted!"),this.moveFile(I,S))))}getMetaData(I){return this.bridgeService.executeCommand(e.Ts.Common.Gallery.GetFileMetadata,{file:I})}}return(r=A).\u0275fac=function(I){return new(I||r)(P.KVO(k.J6),P.KVO(k.NZ))},r.\u0275prov=P.jDH({token:r,factory:r.\u0275fac,providedIn:"root"}),A})()},91903:()=>{},24394:()=>{},81248:xe=>{"use strict";xe.exports=JSON.parse('{"components/menu-item":"Verbose"}')}},xe=>{xe.O(0,[502],()=>xe(xe.s=30264)),xe.O()}]);