var portalCommon,pc,microsoft;(function(n,t){"use strict";var i=t.module("ngAria");i.directive("ngModel",function(){return{restrict:"A",require:"?ngModel",priority:199,link:function(n,t,i,r){r.$validators||(r.$validators={})}}})})(window,window.angular);microsoft=microsoft||{};microsoft.support=microsoft.support||{};microsoft.support.client=microsoft.support.client||{};microsoft.support.client.web=microsoft.support.client.web||{};microsoft.support.client.web.chat=microsoft.support.client.web.chat||{};microsoft.support.client.web.chat.constants=microsoft.support.client.web.chat.constants||{},function(){var n=microsoft.support.client.web.chat.constants;n.flagKeys={surveyType:"surveyType"}}();Array.prototype.indexOf||(Array.prototype.indexOf=function(n,t){for(var i=t||0;i<this.length;++i)if(this[i]==n)return i;return-1});Array.prototype.map||(Array.prototype.map=function(n){for(var i=[],t=0;t<this.length;++t)i.push(n(this[t]));return i});Array.prototype.filter||(Array.prototype.filter=function(n){for(var i=[],t=0;t<this.length;++t)n(this[t])&&i.push(this[t]);return i});Array.prototype.forEach||(Array.prototype.forEach=function(n){for(var i=[],t=0;t<this.length;++t)i.push(n(this[t]));return i});Array.isArray||(Array.isArray=function(n){return Object.prototype.toString.call(n)==="[object Array]"});Array.prototype.reshape||(Array.prototype.reshape=function(n){for(var i=[],r=this.slice(0),t=0;t<r.length;t+=n)i.push(r.slice(t,t+n));return i});Array.prototype.some||(Array.prototype.some=function(n){"use strict";var t;if(this==null)throw new TypeError("Array.prototype.some called on null or undefined");if(typeof n!="function")throw new TypeError;var i=Object(this),r=i.length>>>0,u=arguments.length>=2?arguments[1]:void 0;for(t=0;t<r;t++)if(t in i&&n.call(u,i[t],t,i))return!0;return!1});Function.prototype.bind||(Function.prototype.bind=function(n){if(typeof this!="function")throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var r=Array.prototype.slice.call(arguments,1),u=this,t=function(){},i=function(){return u.apply(this instanceof t?this:n,r.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(t.prototype=this.prototype),i.prototype=new t,i});Date.prototype.toISOString||(Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+(this.getUTCMonth()+1)+"-"+this.getUTCDate()+"T"+this.getUTCHours()+":"+this.getUTCMinutes()+":"+this.getSeconds()+"."+this.getUTCMilliseconds()+"Z"});typeof String.prototype.trim!="function"&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});String.prototype.repeat||(String.prototype.repeat=function(n){"use strict";var t,i;if(this==null)throw new TypeError("can't convert "+this+" to object");if(t=""+this,n=+n,n!=n&&(n=0),n<0)throw new RangeError("repeat count must be non-negative");if(n==Infinity)throw new RangeError("repeat count must be less than infinity");if(n=Math.floor(n),t.length==0||n==0)return"";if(t.length*n>=268435456)throw new RangeError("repeat count must not overflow maximum string size");for(i="";;){if((n&1)==1&&(i+=t),n>>>=1,n==0)break;t+=t}return i});Object.keys||(Object.keys=function(n){var t,i;if(n!==Object(n))throw new TypeError("Object.keys called on a non-object");t=[];for(i in n)Object.prototype.hasOwnProperty.call(n,i)&&t.push(i);return t});portalCommon="portalCommon";pc=angular.module(portalCommon,["ngSanitize","ngRoute","ngCookies","ngAria","ui.bootstrap","ngMessages","AdalAngular"]);pc.value("clientConfig",{});pc.value("authConfiguration",{});pc.value("fatalRoutes",[/api\/search/i,/api\/content\/help/i,/api\/content\/instantanswers/i,/api\/content\/getcompasscontentforpage(?!(\/partnerconfig|\/widgetconfig|\/contactus\/.+))/i]);pc.constant("chromeConstants",{messaging:{slideOutTime:400,thinkingTime:1200,contentThinkingTime:2e3,maxLength:1024,room:"Virtual-Agent",maxWaitTimes:{normal:3e4,action:6e4}},entrypoints:{chromeButton:"smc-entry-chrome"},session:{storageKey:"virtual-agent-session",contactUsEntryClicked:"contact-us-entry-clicked",virtualAgentEntryClicked:"va-entry-clicked",virtualAgentIsFirstLaunch:"va-is-first-launch",virtualAgentTranscript:"va-transcript-posted"},localstore:{popupcontext:"popupcontext"},popupcontext:{pageUrl:"pageUrl",pageTitle:"pageTitle"},hosts:{windows:"windows",web:"web"},cookies:{smcPartner:"smcpartner"},configuration:{flowId:"flowId",partnerId:"partnerId",appId:"appid"},flows:{virtualAgentEntry:"smc-virtual-agent",contactUsEntry:"smc-contactus",contactUsToVirtualAgent:"smc-contactus-to-va",virtualAgentToContactus:"smc-va-to-contactus",officePilot1:"office-pilot1",windowsGetHelp:"windows-gethelp",settings:"settings",cortana:"cortana",feedbackHub:"feedback-hub",msTips:"ms-tips"},flights:{searchACS:"smc-search-acs-1",searchACSFx:"smc-search-acsfx-1",searchProvider:"sps-srch-provider-1",searchProviderFx:"sps-srch-providerfx-1"},search:{resultsPerPage:10,locale:"en-us",providers:{searchProvider:"bingv7",instantAnswerProvider:"bingv7ia"}}}),function(){var n=microsoft.support.client.web.chat;n.surveyTypes={DEFAULT:"DEFAULT",NONE:"NONE"}}(),function(n){n.factory("errorInterceptor",["$rootScope","$q","fatalRoutes",function(n,t,i){function u(n){return e.filter(function(t){return n&&n.config&&n.config.url.match(t)!==null}).length>0}function f(n){return!n||!n.config||!n.config.params?!0:n.config.params.shouldRequestErrorCrashExperience===!1?!1:!0}var r={},e=i;return r.responseError=function(i){if(!f(i))return t.reject(i);var r=u(i);return r&&i.status===404?n.$broadcast("404Error"):r&&n.$broadcast("500Error",{reason:"Http request failed",response:i}),t.reject(i)},r}])}(angular.module(portalCommon)),function(n){n.config(["$provide",function(n){n.decorator("$exceptionHandler",["$delegate","$injector",function(n,t){return function(i,r){var u={},f=t.get("qosTelemetryService");u.message=i.message||"";u.stack=i.stack||"";u.context=i&&JSON.stringify(i)||"";f.createEvent(f.eventTypes.app.exception).reject(JSON.stringify(u));n(i,r)}}])}])}(angular.module(portalCommon)),function(n){n.service("navigationOverrideService",["$rootScope","$location","$route","$routeParams","$window","$log","compassService","breadcrumbsService","clientConfig",function(n,t,i,r,u,f,e,o,s){function h(){if(!s||!s.shouldDisableFlightOverriding){var n=t.search().flighting;n&&(u.document.cookie="smc_expid="+decodeURIComponent(n)+";secure;path=/;domain="+u.location.host)}}n.$on("$routeChangeSuccess",function(i,r){var u=t.path().substring(1);e.fetchContent(u);r&&r.data&&r.data.noIndex===!0&&n.$broadcast("NoIndex")});n.$on("$routeChangeStart",function(){h()});n.$on("$routeChangeSuccess",function(){o.generateBreadcrumbs(i,r)});h()}])}(angular.module(portalCommon)),function(){function t(n){return n!==null&&typeof n=="object"}var n=function(n){var i,r;if(n&&n.data)try{try{i=t(n.data)?n.data:JSON.parse(n.data)}catch(u){console.info("Received cross-frame message, was unable to parse event.data: "+u);return}i.type==="$broadcast"&&i.name&&angular.element(document)&&angular.element(document).injector()&&(r=angular.element(document).injector().get("$rootScope"),r.$broadcast(i.name,i.args,n.source),r.$digest())}catch(u){console.error("Error parsing message as JSON: "+u)}};window.addEventListener?window.addEventListener("message",n,!1):window.attachEvent("onmessage",n)}(),function(n){n.service("ParentWindowBroadcaster",["$rootScope","$window","$log",function(n,t){function i(i){n.$on(i,function(n,r,f){t.window!==f&&u(i,r)})}function r(i,r){i.$on(r,function(i,u,f){t.window!==f&&n.$broadcast(r,u)})}function u(n,i){t.parent&&t.parent.postMessage(JSON.stringify({type:"$broadcast",name:n,args:i}),"*")}this.init=function(n,u){n.forEach(i);try{if(t&&t.parent&&t.parent.angular&&t.parent.angular.element(t.frameElement)){var f=t.parent.angular.element(t.frameElement).scope();f&&u.forEach(function(n){r(f,n)})}}catch(e){}};this.init([],[])}]).run(["ParentWindowBroadcaster",function(){}])}(angular.module(portalCommon)),function(n){n.service("previewService",["$location","$cookies","$rootScope",function(n,t,i){this.isPreview=function(){return n.search().preview||t.get("smc_preview")||i.isPreview}}])}(angular.module(portalCommon)),function(n){n.decorator("$q",["$delegate",function(n){function t(t){return n(function(n,i){angular.forEach(t,function(t){t.then(n,i)})})}return n.race=t,n}])}(angular.module(portalCommon)),function(n){n.service("seoService",["$http","$rootScope","$window","$timeout",function(n,t,i,r){function c(){u=u||n.pendingRequests.length;u&&!n.pendingRequests.length&&r(function(){u&&!n.pendingRequests.length&&(i.callPhantom(),e())},200)}function f(n,t){var r=t&&t.reason||"Page not found";i.callPhantom({error:!0,reason:r});e()}function e(){o();s();h()}var u=!1,o,s,h;typeof i.callPhantom=="function"&&(o=t.$watch(function(){return n.pendingRequests.length},c),s=t.$on("500Error",f),h=t.$on("404Error",f))}])}(angular.module(portalCommon)),function(n){n.service("authenticationHelperService",["$q","$window","$rootScope","$location","$timeout","$route","$injector","clientConfig","osService","languageService","locationService","flightService","autoSuggestFactory",function(n,t,i,r,u,f,e,o,s,h,c,l,a){function y(n,t){var i,u,h,a;n?(i=$(o.RpsSignInInfo.SignInLink).attr("href"),u="wreply"):(i=$(o.RpsSignInInfo.SignOutLink).attr("href"),u="ru");var e=c.getQueryStringParameters(i),l=c.getQueryStringParameters(r.absUrl()),v=c.getQueryStringParameters(e[u]);return $.each(v,function(n,t){l[n]=t}),!n&&f&&f.current&&f.current.data&&f.current.data.returnUrl?(h=f.current.data.returnUrl,h=p(h,f.current.params),a=r.protocol()+"://"+r.host()+h+"?"+$.param(l),e[u]=encodeURI(a)):e[u]=encodeURI(r.absUrl().substring(0,r.absUrl().indexOf(r.path())+r.path().length)+"?"+$.param(l)),n&&(s.isMobile()||t)&&(e.pcexp="false"),i.substring(0,i.indexOf("?")+1)+$.param(e)}function v(n,t){if(o.authInfo.authStatus()===2){var r=function(){o.authInfo.isLoggedIn()?n&&n():i.$broadcast("ProcessUserSignIn",t)},f=u(function(){r()},5e3);i.$on("AuthStatusChange",function(){u.cancel(f);r();i.$apply()})}else o.authInfo.authStatus()===1?n&&n():i.$broadcast("ProcessUserSignIn",t)}function p(n,t){return n&&n.indexOf(":")>=0&&t&&(n=n.replace(/:([a-zA-Z]+)/g,function(n,i){return t[i]?t[i]:n})),n}this.getSignInState=function(){function r(){o.authInfo.isLoggedIn()?t.resolve():t.reject()}var t=n.defer(),f,e;return o.authInfo.authStatus()===2?(f=u(r,5e3),e=i.$on("AuthStatusChange",function(){u.cancel(f);r();e()})):o.authInfo.authStatus()===1?t.resolve():t.reject(),t.promise};this.getUpdatedAuthenticationUrl=function(n,t){return y(n,t)};this.signIn=function(n){v(n,!1)};this.mobileSignIn=function(n){v(n,!0)};this.getShellOptions=function(){var n=t.msCommonShell;return{meControlOptions:{rpData:{msaInfo:{signInUrl:jQuery(o.RpsSignInInfo.SignInLink).attr("href"),signOutUrl:jQuery(o.RpsSignInInfo.SignOutLink).attr("href"),meUrl:o.RpsSignInInfo.MeControlLink}},userData:{idp:n.SupportedAuthIdp.MSA,firstName:null,lastName:null,memberName:null,cid:null,authenticatedState:n.AuthState.NotSignedIn},events:{onSignIn:function(){i.$broadcast("ProcessUserSignIn")},onBeforeSignOut:function(){i.$broadcast("ProcessUserSignOut")}}},as:{callback:function(n){var t=n.text;a.getSuggestions(t,"uhf-suggest").then(function(t){var i=t.suggestions.map(function(n){return{type:"string",value:n.CompletionText}});n.response(i)})}}}}}])}(angular.module(portalCommon)),function(n){n.factory("authService",["$rootScope","$window","$location","$q","$cookieStore","$timeout","$injector","$http","clientConfig","osService","metaTagsService","languageService","locationService","flightService","qosTelemetryService","adalAuthenticationService","authConfiguration","sdkProxyService","meControlService","autoSuggestFactory",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d){function ki(){var n=y.createEvent(y.eventTypes.auth.meControlLoad);try{k.shellDefined().then(function(){var i=t.msCommonShell,r=at();i.load(r);ht=!0;n.resolve()},function(t){ht=!1;n.reject();console.log(t)})}catch(i){ht=!1;n.reject(i.message);console.log(i.message)}}function st(){var n=nr();n===g.NONE?f(function(){ui()},500):n!==rt?f(function(){di(n)},500):(ut=!0,rt===g.AAD?p.enableProtectedResourceInterceptor():p.disableProtectedResourceInterceptor(),lt(n))}function di(n){n===g.MSA?ur():n===g.AAD?fr():ui()}function ui(){pt();wt()}function gi(){var n=y.createEvent(y.eventTypes.auth.aadSilentAuth);vi=!0;try{p.silentLoginAAD().then(function(){n.resolve();gt=!0;st()},function(t){t&&!lr(t)?n.reject(t):n.resolve();gt=!0;st()})}catch(t){n.resolve();st()}}function nr(){return it.length===0?tr():it.length===1?ir():it.length===2?rr():g.NONE}function tr(){var n=g.NONE;return ot()&&et()?n=g.MSA:et()&&!ot()?n=g.MSA:!et()&&ot()&&(n=g.AAD),n}function ir(){var n=g.NONE;return it[0]===g.MSA?et()&&(n=g.MSA):it[0]===g.AAD&&ot()&&(n=g.AAD),n}function rr(){var n=g.NONE;return pi()&&(it[0]===g.MSA&&(n=et()?g.MSA:g.AAD),it[0]===g.AAD&&(n=ot()?g.AAD:g.MSA)),n}function fi(){if(pt(),(!s.authInfo||!s.authInfo.puid)&&p&&p.userInfo&&p.userInfo.profile){if(s.authInfo.firstName=p.userInfo.profile.given_name,s.authInfo.lastName=p.userInfo.profile.family_name,p.userInfo.profile.altsecid){var n=p.userInfo.profile.altsecid,t=n.lastIndexOf(":");s.authInfo.puidAsHex=n.substring(t+1,n.length);s.authInfo.puid=n.substring(t+1,n.length)}s.authInfo.displayName=p.userInfo.profile.email;s.authInfo.cid="cid"}return nt.firstName=s.authInfo.firstName,nt.lastName=s.authInfo.lastName,nt.displayName=s.authInfo.firstName+" "+s.authInfo.lastName,nt.email=s.authInfo.displayName,nt.puid=s.authInfo.puid,nt.puidAsHex=s.authInfo.puidAsHex,nt.cid=s.authInfo.cid,nt}function ei(){return pt(),nt.firstName=p.userInfo.profile.given_name,nt.lastName=p.userInfo.profile.family_name,nt.displayName=p.userInfo.profile.name,nt.email=p.userInfo.profile.upn,nt.puid=p.userInfo.profile.puid,nt}function pt(){nt={firstName:"",lastName:"",displayName:"",email:"",puid:"",puidAsHex:"",cid:"",roles:[],sg_groups:[]}}function wt(){if(ht&&t&&t.msCommonShell){var n=t.msCommonShell,i=at(),r={idp:n.SupportedAuthIdp.MSA,firstName:null,lastName:null,displayName:null,memberName:null,cid:null,authenticatedState:n.AuthState.NotSignedIn};bt(n,i,r)}p.disableProtectedResourceInterceptor();rt=g.NONE;ut=!0;lt(g.NONE)}function ur(){var n,i,r;if(ht&&t&&t.msCommonShell){if(n=t.msCommonShell,i=at(),nt=fi(),!nt||!nt.email||!nt.cid)return wt();r={firstName:nt.firstName,lastName:nt.lastName,memberName:nt.email,cid:nt.cid,idp:g.MSA.toLowerCase(),authenticatedState:n.AuthState.SignedIn};bt(n,i,r)}p.disableProtectedResourceInterceptor();rt=g.MSA;ut=!0;lt(g.MSA)}function fr(){var n,i,r;if(ht&&t&&t.msCommonShell){if(n=t.msCommonShell,i=at(),nt=ei(),!nt||!nt.email)return wt();r={firstName:nt.firstName,lastName:nt.lastName,memberName:nt.email,idp:g.AAD.toLowerCase(),authenticatedState:n.AuthState.SignedIn};bt(n,i,r)}p.enableProtectedResourceInterceptor();rt=g.AAD;ut=!0;lt(g.AAD)}function bt(n,i,r){var u=y.createEvent(y.eventTypes.auth.meControlState),f;t.MSA&&t.MSA.MeControl&&t.MSA.MeControl.API?(f=t.MSA.MeControl.API,f.setActiveUser(r),u.resolve()):(i.meControlOptions.rpData.msaInfo.signOutUrl=w.signOutUri,i.meControlOptions.userData.authenticatedState=r.authenticatedState,n.load(i),u.reject())}function lt(t){t&&(c.addOrUpdateMetaTag("awa-authType",t),c.setMetaTag("ms.auth",t!==g.NONE?1:0),t===g.MSA?n.$broadcast(w.userSignedInMSAEvent):t===g.AAD?n.$broadcast(w.userSignedInAADEvent):t===g.NONE&&n.$broadcast(w.userNotSignedInEvent))}function er(n){if(oi(n))it=n;else throw new Error("Unable to set page preference as invalid idp array values were passed in");}function oi(n){var t=!0;return!n||!n instanceof Array?t=!1:n.length===1&&n[0]!==g.MSA&&n[0]!==g.AAD?t=!1:n.length===2?(n[0]===n[1]&&(t=!1),n[0]!==g.MSA&&n[0]!==g.AAD&&(t=!1),n[1]!==g.MSA&&n[1]!==g.AAD&&(t=!1)):n.length>2&&(t=!1),t}function or(){var t=r.defer(),i=y.createEvent(y.eventTypes.auth.unknownSilentAuth),u=f(function(){ii()?(i.reject("Resolve Auth State Timed out after "+ai+"ms | Is Iframe: "+hi()+" | MSASilentAuthTriggered: "+dt+" | AADSilentAuthTriggered: "+vi+" | AADSilentAuthCompleted: "+gt),t.reject({message:"timeout waiting for auth state to resolve"})):(i.resolve(),si(t))},ai);if(ii())var e=n.$on(w.userSignedInMSAEvent,function(){i.resolve();f.cancel(u);t.resolve(g.MSA);e()}),o=n.$on(w.userSignedInAADEvent,function(){i.resolve();f.cancel(u);t.resolve(g.AAD);o()}),s=n.$on(w.userNotSignedInEvent,function(){i.resolve();f.cancel(u);t.resolve(g.NONE);s()});else i.resolve(),f.cancel(u),si(t);return t.promise}function si(n){vt()?n.resolve(g.MSA):yt()?n.resolve(g.AAD):n.resolve(g.NONE)}function hi(){try{return t.self!==t.top}catch(n){return!0}}function sr(n,t,i){return n?kt($(s.RpsSignInInfo.SignInLink).attr("href"),t,i,"wreply"):kt($(s.RpsSignInInfo.SignOutLink).attr("href"),t,i,"ru")}function hr(n){return kt(s.RpsSignInInfo.AssureSignInLink,n,null,"wreply")}function kt(n,t,r,u){var f=a.getQueryStringParameters(n),o=a.getQueryStringParameters(f[u]),s=r?r:i.absUrl(),e=a.getQueryStringParameters(s);return $.each(o,function(n,t){e[n]=t}),f[u]=r?encodeURI(r.split("?")[0]+"?"+$.param(e)):encodeURI(i.absUrl().substring(0,i.absUrl().indexOf(i.path())+i.path().length)+"?"+$.param(e)),(h.isMobile()||t)&&(f.pcexp="false"),n.substring(0,n.indexOf("?")+1)+$.param(f)}function at(){var i=t.msCommonShell;return{meControlOptions:{rpData:{msaInfo:{signInUrl:w.signInUri,signOutUrl:w.signOutUri,meUrl:s.RpsSignInInfo.MeControlLink},aadInfo:{signInUrl:w.signInUri,signOutUrl:w.signOutUri,siteUrl:w.siteUrl,appId:w.clienId,accountSettingsUrl:w.accountSettingsUrl}},userData:{idp:i.SupportedAuthIdp.MSA,firstName:null,lastName:null,displayName:null,memberName:null,cid:null,authenticatedState:i.AuthState.NotSignedIn},events:{onSignIn:function(){n.$broadcast("ProcessUserSignIn")},onBeforeSignOut:function(){n.$broadcast("ProcessUserSignOut")}}},as:{callback:function(n){var t=n.text;d.getSuggestions(t,"uhf-suggest").then(function(t){var i=t.suggestions.map(function(n){return{type:"string",value:n.CompletionText}});n.response(i)})}}}}function ci(){var n=window.navigator.userAgent,t=n.indexOf("MSIE "),r,i;return t>0?parseInt(n.substring(t+5,n.indexOf(".",t)),10):(r=n.indexOf("Trident/"),r>0)?(i=n.indexOf("rv:"),parseInt(n.substring(i+3,n.indexOf(".",i)),10)):!1}function cr(){var n=ci();return n&&typeof n=="number"&&n<10?!0:!1}function lr(n){var t=!1;return w&&w.whitelistedAADErrorCodes&&w.whitelistedAADErrorCodes.every(function(i){return n&&i&&n.toLowerCase().indexOf(i.toLowerCase())>-1?(t=!0,!1):!0}),t}function li(){return i.path().indexOf(w.signInUri)>-1||i.path().indexOf(w.signOutUri)>-1}var tt={},g={MSA:"MSA",AAD:"AAD",NONE:"NONE"},nt={firstName:"",lastName:"",displayName:"",email:"",puid:"",puidAsHex:"",cid:"",roles:[],sg_groups:[]},ct=!1,iu=i.protocol()+"://"+i.host(),it=[],rt=g.NONE,ai=3e4,ht=!1,ut=!1,dt=!1,vi=!1,gt=!1,ft=e.has("nativeAppService")?e.get("nativeAppService"):null;n.$on("$routeChangeSuccess",function(n,t,i){var r,u;if(t&&t.$$route){if(r=t.$$route,r.requireLogin)if(u=angular.isFunction(r.requireLogin)?r.requireLogin(v):r.requireLogin,oi(u))it=u;else throw new Error("Unable to set page preference as invalid idp array values were passed in");else it=[];typeof i!="undefined"&&(ut=!1,!angular.isFunction(s.authInfo.authStatus)||s.authInfo.authStatus()===2||p.loginInProgress()||p.renewActive()||st())}});n.$on("UserSignedIn",function(){dt=!0;li()?st():ni()});n.$on("UserSignedOut",function(){dt=!0;li()?st():ni()});n.$on("adal:stateMismatch",function(n,t){if(t){var i=y.createEvent(y.eventTypes.auth.aadStateMismatch);t==="SUCCESS"?i.resolve():i.reject(t)}});var ar=function(){f(function(){ki()})},vr=function(n,t){ft&&ft.isNative()?ft.signInUser(t):(ct=n?n:!1,yi(n))},yr=function(){vt()?i.path(w.signOutPersonalUri):yt()&&i.path(w.signOutWorkUri)},ni=function(){p.loginInProgress()||p.renewActive()||cr()?st():(ci()&&wi()&&p.clearToken(),ut=!1,gi())},yi=function(n){ft&&ft.isNative()?ft.signInUser(i.absUrl()):it.length===1&&it[0]===g.MSA?ti(g.MSA,n):ti(g.AAD,n)},ti=function(n,r){b.isInSdk()&&b.config.hostType==b.hostTypes.POPUP&&b.proxy().then(function(n){n.dispatchEvent("SignInRedirect");b.disableUnload()});ft&&ft.isNative()?ft.signInUser(i.absUrl()):b.isInSdk()&&b.config.hostType==b.hostTypes.IFRAME?b.proxy().then(function(t){n===g.AAD?t.dispatchSignInRequest({type:n}):t.dispatchSignInRequest({type:n,policy:"MBI_SSL"})}):b.isInSdk()&&(b.config.hostType==b.hostTypes.UWP||b.config.hostType==b.hostTypes.IOS||b.config.hostType==b.hostTypes.ANDROID)?b.proxy().then(function(t){n===g.MSA&&t.dispatchSignInRequest({rpsproperties:{siteName:i.host(),sitePolicy:s.RpsConfig.SitePolicy},silently:!1})}):(n||(n=g.NONE),ct=r&&typeof r=="boolean"?r:ct,n===g.MSA?t.location=sr(!0,!!ct):n===g.AAD&&((it&&it.length===1&&it[0]===g.AAD||bi())&&(p.config.extraQueryParameter=w.msaFedParam),p.login()))},pr=function(){t.location=hr(!1,!!ct)},wr=function(n){n||(n=rt);n===g.MSA?o.get("/api/wlexpire").finally(function(){t.location=$(s.RpsSignInInfo.SignOutLink).attr("href")}):n===g.AAD&&p.logOut()},br=function(){return et()&&vt()?fi():ot()&&yt()?ei():nt},ii=function(){return!ut},pi=function(){return et()||ot()},et=function(){return u.get("smcloggedin")||ri()&&p.userInfo.isAuthenticated},ot=function(){return ri()?!1:p.userInfo.isAuthenticated},kr=function(){return rt},vt=function(){return rt===g.MSA&&ut===!0},yt=function(){return rt===g.AAD&&ut===!0},dr=function(){return rt===g.NONE&&ut===!0},gr=function(){return g},nu=function(){return or()},tu=function(n){er(n)},wi=function(){return hi()},bi=function(){var n=window.location.hostname;return n===w.internalProdHost||n===w.internalUatHost||n===w.internalDevHost},ri=function(){return p&&p.userInfo&&p.userInfo.profile&&p.userInfo.profile.idp&&p.userInfo.profile.idp===w.msaFedIDP};return tt.init=ar,tt.login=yi,tt.logout=wr,tt.loginUsingAccountType=ti,tt.silentLoginAAD=ni,tt.loginWithSAPIPolicy=pr,tt.processUserSignIn=vr,tt.processUserSignOut=yr,tt.getSupportedIDP=gr,tt.getUserInfo=br,tt.resolveAuthState=nu,tt.isAuthStatusUnknown=ii,tt.isAuthenticated=pi,tt.isAuthenticatedMSA=et,tt.isAuthenticatedAAD=ot,tt.isSignedInMSA=vt,tt.isSignedInAAD=yt,tt.isNotSignedIn=dr,tt.getCurrentSignedInAccountType=kr,tt.setPagePreference=tu,tt.isIframe=wi,tt.isInternalDomain=bi,tt.checkMSAFedSignOn=ri,tt}])}(angular.module(portalCommon)),function(n){n.directive("autoSuggest",["$rootScope","$timeout","$document",function(n,t,i){return{restrict:"A",templateUrl:function(n,t){return t.templateUrl},scope:{queryFunction:"&",submitHandler:"&",queryModelMapper:"&?",suggestionHtmlGenerator:"&?",inputQuery:"=",selectedSuggestion:"=?"},link:function(r,u,f){function v(t,i){n.$broadcast(a,{suggestionType:r.selected&&r.selected.AutoSuggestionType||"",searchQuery:r.selected&&r.selected.CompletionText||"",originalQuery:o,suggestionIndex:t,suggestionCount:i})}function y(n){if(s==0||n&&n.length>=s){o=n;var t=r.queryFunction({query:n});t.then(function(n){r.result=n})}}function c(){t(function(){r.isVisible=!1},0)}function p(){r.isVisible=!0;r.$digest()}function w(n,t){var u=r.result.suggestions.indexOf(r.selected),i=Math.abs(t-n);i=i==0?0:i/(t-n);u===-1?(r.selected=r.result.suggestions[n],r.selectedSuggestion&&(r.selectedSuggestion.selected=r.result.suggestions[n])):u===t?(r.selected=null,r.selectedSuggestion&&(r.selectedSuggestion.selected=null)):(r.selected=r.result.suggestions[u+i],r.selectedSuggestion&&(r.selectedSuggestion.selected=r.result.suggestions[u+i]));k()}function d(n){if(r.result&&r.result.suggestions&&r.result.suggestions.length)if(n.which===27)c();else{if(r.isVisible==!1&&p(),n.which===40)return w(0,r.result.suggestions.length-1),r.$digest(),!1;if(n.which===38)return w(r.result.suggestions.length-1,0),r.$digest(),!1;if(n.which===13){var t=-1;a&&(r.selected&&(t=r.result.suggestions.indexOf(r.selected)),v(t,r.result.suggestions.length),r.selected=null);r.result&&(r.result.suggestions=[]);r.$digest()}}}function b(n){angular.equals(i[0].activeElement,e[0])&&(r.selected&&n===h(r.selected)||n===o||l||(l=!0,y(n),t(function(){l=!1;b(r.inputQuery)},300)))}function k(){r.inputQuery=r.selected!==null?h(r.selected):o}function h(n){if(r.queryModelMapper&&typeof r.queryModelMapper=="function")return r.queryModelMapper({suggestion:n});if(typeof n=="string")return n;throw new Error("queryModelMapper function missing");}var e=$(f.inputSource),o="",l=!1,a=f.telemetryEventName,s=f.minimumLetters?parseInt(f.minimumLetters,10):0;s=s<0?0:s;r.isVisible=!1;r.generateSuggestionHtml=function(n){if(r.suggestionHtmlGenerator&&typeof r.suggestionHtmlGenerator=="function"){var t=o.toLowerCase();return r.suggestionHtmlGenerator({query:t,suggestion:h(n)})}return h(n)};r.isSelected=function(n){return n===r.selected};r.clickSuggestion=function(n,i){r.selected=n;r.selectedSuggestion&&(r.selectedSuggestion.selected=n);k();c();t(function(){if(a){var n=0;r.result&&r.result.suggestions&&(n=r.result.suggestions.length);v(i,n);r.selected=null}r.submitHandler({})},0)};t(function(){e=$(f.inputSource);r.$watch("inputQuery",b);e.keydown(d);e.focus(p);e.blur(c);y("")},0)}}}])}(angular.module(portalCommon)),function(n){n.factory("autoSuggestFactory",["$injector",function(n){return n.get("dgpsAutoSuggestService")}])}(angular.module(portalCommon)),function(n){n.service("dgpsAutoSuggestService",["$http","$q","$filter","$log","clientConfig","languageService","osService","qosTelemetryService","stringUtilityService",function(n,t,i,r,u,f,e,o,s){function h(n){return!n||n==="null"?!0:n.AutoSuggestions?!1:!0}function c(n){var t=u.AutosuggestConfig.ServiceUri;return t=t.replace("{0}",encodeURIComponent(n)),t=t.replace("{1}",f.langLocale()),t.replace("{2}",e.getOS())}function l(n){return i("limitTo")(n.AutoSuggestions,10)}this.getSuggestions=function(i){var f=t.defer(),v=e.isCorsEnabled(),a;return!u.AutosuggestConfig.Enabled||!v||!i?f.promise:(a=c(i),n.get(a).then(function(n){var t=n.data,i,u;h(t)?(t&&t!=="null"&&(r.error("Improperly structured Dynamic GPS result set",t),o.createEvent(o.eventTypes.dgps.invalid).reject({results:t})),f.reject(t)):(i=l(t),u=i.map(function(n){var t=n?s.escapeHtml(n.CompletionText):n;return{CompletionText:t}}),f.resolve({suggestions:u}))},function(n){f.reject(n)}),f.promise)}}])}(angular.module(portalCommon)),function(n){n.controller("F1FooterController",["$rootScope","$scope","compassService",function(n,t,i){function r(){var n=i.getF1Footer();n&&(t.viewlinkfarm=n.f1FooterView)}t.reset=function(){r()};t.reset();t.$on("CompassContentReady",function(){r()})}])}(angular.module(portalCommon)),function(n){n.component("floodgateSurveyInvitation",{controller:["$cookies","$window","flightService","languageService","surveyContentService",function(n,t,i,r,u){var f,v="SMC",c="FpsClick",e,o,l=n.get("MSFPC"),a,s,h;a=l?/GUID=([a-f\d]{8})([a-f\d]{4})([a-f\d]{4})([a-f\d]{4})([a-f\d]{12})/.exec(l).slice(1).join("-"):null;i.isUserInFlight("sps-fgdelay1-1")?(o=1,e=1,s=15,f=30,h=1e3):i.isUserInFlight("sps-fgdelay30-1")?(o=1,e=1,s=60,f=120,h=3e4):(o=0,e=0,s=2592e3,f=2592e3,h=3e4);u.getFloodgateSurveyContent().then(function(n){function i(){window.onfocus=function(){window.OfficeBrowserFeedback.floodgate&&window.OfficeBrowserFeedback.floodgate.start()};window.onblur=function(){window.OfficeBrowserFeedback.floodgate&&window.OfficeBrowserFeedback.floodgate.stop()};window.onunload=function(){window.OfficeBrowserFeedback.floodgate&&window.OfficeBrowserFeedback.floodgate.stop()}}var u=[{CampaignId:"71c60310-07d8-43b0-a648-4cf2e3f94ece",StartTimeUtc:"2019-08-07T00:00:00Z",EndTimeUtc:"2020-04-07T23:59:59Z",GovernedChannelType:e,Scope:{Type:1},NominationScheme:{Type:0,PercentageNumerator:100,PercentageDenominator:100,NominationPeriod:{Type:0,IntervalSeconds:s},CooldownPeriod:{Type:0,IntervalSeconds:f}},SurveyTemplate:{Type:2,ActivationEvent:{Type:1,Sequence:[{Type:0,Activity:c,Count:1,IsAggregate:!0}]},Content:{Prompt:{Title:n.popupOneTitle,Question:n.popupOnePrompt,YesLabel:"Yes",NoLabel:"No"},Rating:{Question:n.popupTwoRatingQuestion,RatingValuesAscending:[n.popupTwoRatingScaleBad,n.popupTwoRatingScaleTwo,n.popupTwoRatingScaleThree,n.popupTwoRatingScaleFour,n.popupTwoRatingScaleGood]},Question:{Question:n.popupTwoVerbatimQuestion}}}}];window.OfficeBrowserFeedback=window.OfficeBrowserFeedback||{};window.OfficeBrowserFeedback.floodgate=window.OfficeBrowserFeedback.floodgate||{};window.OfficeBrowserFeedback.initOptions={appId:2329,stylesUrl:"/content/officebrowserfeedback.css",intlUrl:"/scripts/floodgate/resources/intl/",environment:o,locale:r.lang(),telemetryGroup:{audienceGroup:"Production",channel:"CC",featureArea:v,sourceContext:"Activation"},sessionId:a};window.OfficeBrowserFeedback.floodgate.initOptions={campaignDefinitions:u};window.OfficeBrowserFeedback.floodgate.initialize().then(function(){window.OfficeBrowserFeedback.floodgate.start().finally(setTimeout(function(){var n={behavior:t.awa.behavior.SURVEYCHECKPOINT,actionType:"O",content:{contentId:"floodgate-offered"}};t.awa.ct.captureContentPageAction(n);window.OfficeBrowserFeedback.floodgate.getEngine().getActivityListener().logActivity(c)},h))});i()})}]})}(angular.module(portalCommon)),function(n){n.controller("L0HeaderController",["$rootScope","$scope","$window","$location","$sce","$cookies","clientConfig","compassService","flightService","authenticationHelperService","authService","authConfiguration","meControlService","$anchorScroll",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var y=!1,p=function(){c.init();t.userDisplayName=null};n.$on("ProcessUserSignIn",function(n,t){y=t||!1;c.processUserSignIn(y,r.path())});p();t.signInText="Sign in";t.signOutText="Sign out";t.isSignedIn=!1;t.login=function(){c.processUserSignIn(y,r.path())};t.logout=function(){r.path(l.signOutUri)};n.$on(l.userSignedInMSAEvent,function(){var n=c.getUserInfo();n&&n.email&&(t.userDisplayName=n.email);t.isSignedIn=!0});n.$on(l.userSignedInAADEvent,function(){var n=c.getUserInfo();n&&n.email&&(t.userDisplayName=n.email);t.isSignedIn=!0});n.$on(l.userNotSignedInEvent,function(){t.userDisplayName=null;t.isSignedIn=!1});angular.element(document.querySelector('a[href="#mainContent"]')).bind("click",function(){var n=angular.element(document.querySelector("#mainContent"));n.focus();v()})}])}(angular.module(portalCommon)),function(n){n.component("m365NavigationMenu",{templateUrl:"/PartialViews/Chrome/m365NavigationMenu.html",controller:["$scope","$sce","flightService","m365NavigationMenuService","languageService","getScriptService",function(n,t,i,r,u,f){n.showNav=i.isUserInFlight("sps-singlestackuhf-1");n.$on("LoadL2Menu",function(i,e){var o="defaultNavMenus",s="";e.sapList?(o=e.sapList,s="SapId"):e.pageId&&(o=e.pageId,s="PageId");r.getContextualNavMenu(u.langLocale(),s,o).then(function(i){n.contextNavHtml=t.trustAsHtml(i);f.addScript("/socbundles/topnav")})})}]})}(angular.module(portalCommon)),function(n){n.service("m365NavigationMenuService",["$http","$log",function(n,t){this.getContextualNavMenu=function(i,r,u){var f="/{0}/html/contextualnavmenu/{1}".replace("{0}",i).replace("{1}",r),e={method:"GET",url:f,params:{ids:u},data:""};return n(e).then(function(n){return n.data}).catch(function(n){t.error(n)})}}])}(angular.module(portalCommon)),function(n){n.controller("mwfSurveyModalController",["$rootScope","$scope","$window","surveyContentService","mwfSurvey","supportSDK","surveyStatus","mwfDialog",function(n,t,i,r,u,f,e,o){function h(){return i&&i.awa&&i.awa.cv&&angular.isFunction(i.awa.cv.getValue)?i.awa.cv.getValue():""}var s="#smc-survey-target";t.cancelButtonAriaLabel="Close dialog";t.surveyContainerLabel="Site survey";r.getSurveyContent().then(function(n){t.cancelButtonAriaLabel=n.surveyContent.surveyCloseButtonLabel;t.surveyContainerLabel=n.surveyContent.surveyContainerLabel});t.cancelButtonClicked=function(){n.$broadcast("MwfSurveyStateChange",e.Dismissed)};t.$on("MwfSurveyVisible",function(){$(s).empty();u.render({correlationVector:h(),uiInfo:{type:f.ui.HostType.IFRAME,containerSelector:s},onSurveyComplete:function(){n.$broadcast("MwfSurveyStateChange",e.Completed)}}).then(function(){o.mwfComponent.update();n.$broadcast("MwfSurveyStateChange",e.Started)},function(){n.$broadcast("MwfSurveyStateChange",e.Error)})})}])}(angular.module(portalCommon)),function(n){n.service("mwfSurveyModalService",["$rootScope","mwfModalService","supportSDK","surveyStatus","wedcsService",function(n,t,i,r,u){var f="smc-survey-event",e=null;n.$on("MwfSurveyStateChange",function(n,t){switch(t){case r.Completed:u.logCustomEvent("survey-completed",f);break;case r.Dismissed:e!==r.Completed&&u.logCustomEvent("survey-dismissed",f)}e=t});this.createSurveyModal=function(i){n.$broadcast("MwfSurveyStateChange",r.Starting);var u={templateUrl:"/PartialViews/Chrome/surveyModalMwf.html",selector:"#angular-mwf-survey-modal-container",locals:{mwfSurvey:i},controller:"mwfSurveyModalController",hideCallback:function(){n.$broadcast("MwfSurveyStateChange",r.Dismissed)},showCallback:function(){n.$broadcast("MwfSurveyVisible")}};return t.createModal(u)}}])}(angular.module(portalCommon)),function(n){n.controller("SearchBoxController",["$scope","$rootScope","$route","$location","$window","compassService","languageService","osService","clientConfig","flightService","autoSuggestFactory","authenticationHelperService","osService","browserService","productPagesService","notificationBannerService","authService",function(n,t,i,r,u,f,e,o,s,h,c,l,o,a,v,y,p){function w(){var t=f.getSearchView(),i,r;t&&(d(t),n.view=t,n.isCommercial&&(i=f.getPremierHomeView2(),i&&(n.view.premierQuickNavLinks=i.quickNavLinks)));n.isCommercial&&(r=f.getPremierHomeView(),r&&(n.alerts=r.siteAlerts),k())}function d(n){if(n&&n.quickNavLinks)for(var t=0;t<n.quickNavLinks.length;t++)n.quickNavLinks[t].key==="contact-us-next"&&(n.quickNavLinks[t].hidden=h.isUserInFlight("smc-contactus-1")?!0:!1)}function b(){n.displayAllContent=i.current&&i.current.data&&i.current.data.isLandingPage==!0;n.isCommercial=i.current&&i.current.data&&i.current.data.isCommercial==!0;n.enablePremierAlert=i.current&&i.current.data&&i.current.data.enablePremierAlert==!0;k()}function k(){y.getBannerPlacementFromCompass().then(function(t){n.bannerPlacement=t})}var g=c;n.bannerPlacement="";n.isUserInFloodgateSurvey=h.isUserInFlight("sps-floodgate-1");n.reset=function(){n.userQuery=r.search().query||"";n.userQuery=encodeURIComponent(n.userQuery);n.userQuery=decodeURIComponent(n.userQuery);n.osVersion=o.getOS();n.browser=a.determineBrowser();t.isEnterprisePage=!1;b();w()};n.primarySearchClicked=function(){n.userQuery&&(t.$broadcast("SearchPrimaryClicked",{Location:"Primary",SearchString:n.userQuery}),r.url("/"+e.langLocale()+"/search?query="+encodeURIComponent(n.userQuery)))};n.linkClick=function(n,t){switch(t){case"contact-us-next":var i=u.location.origin+"/"+e.langLocale()+"/contactus/";u.location=i}};n.getCompleteText=function(n){return n.CompletionText};n.getSuggestions=function(n){return g.getSuggestions(n,"searchbox-suggest")};n.generateSuggestionHtml=function(n,t){return n!=undefined&&t!=undefined?(n=n.toLowerCase(),!n.length)?t:(n+=n==="b"?" ":"",t="<b>"+t.toLowerCase()+"<\/b>",t.replace(n,"<\/b>"+n+"<b>")):""};n.$on("$routeChangeSuccess",function(){b()});n.$on("CompassContentReady",function(){w()});n.checkVisibility=function(n){return n?n.key==="microsoft-account"&&p.isSignedInAAD()||n.key==="work-account"&&!p.isSignedInAAD()||n.hidden:!1};n.userLocale=e.langLocale();n.reset()}])}(angular.module(portalCommon)),function(n){n.controller("SelfHostFeedbackController",["$scope","$window","$http","$location","compassService","surveyCookieService",function(n,t,i,r,u,f){var e=function(){var e=f.setSurveyCookie(),t=u.getSelfhostFeedback(),i;t&&(n.viewfeedback=t,i=t.selfHostFeedbackEmailBody,i=i.replace(/(\n)+/g,"%0D%0A"),t.selfHostFeedbackEmailBody=i,n.currentUrl="%0D%0AUrl: "+r.absUrl(),n.icon=String.fromCharCode("0x"+t.selfHostFeedbackIcon))};e();n.$on("CompassContentReady",function(){e()})}])}(angular.module(portalCommon)),function(n){n.service("stringUtilityService",[function(){this.escapeHtml=function(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/\//g,"&#x2F;")}}])}(angular.module(portalCommon)),function(n){n.service("surveyContentService",["$q","$location","contentApiService","localStorageService",function(n,t,i,r){function s(n){var i=n,r=i.selfHostFeedbackEmailBody;return r=r.replace(/(\n)+/g,o),i.selfHostFeedbackEmailBody=r,i.feedbackUrlCurrent=o+"Url: "+t.absUrl(),i.feedbackIcon=String.fromCharCode("0x"+i.selfHostFeedbackIcon),i}var u="smc:floodgate:survey:content",f="smc:survey:content",e="smcsurvey",o="%0D%0A";this.getSurveyContent=function(){var t=r.getCacheContent(f);return t?n.resolve(t):i.getCompassContentForPage(e).then(function(n){var t=n.data;return t.selfhostFeedbackView=s(t.selfHostFeedback),r.commit(f,t),t},function(){return null})};this.getFloodgateSurveyContent=function(){var t=r.getCacheContent(u);return t?n.resolve(t):i.getCompassContentForPage(e).then(function(n){var t=n.data;return n.data&&(t=n.data.surveyFloodgateContent,r.commit(u,t)),t},function(){return null})}}])}(angular.module(portalCommon)),function(n){n.service("surveyCookieService",["$document",function(n){this.setSurveyCookie=function(){var t=this.getCookie("msresearch"),n="",i=(new Date).getTime(),r="",u,f,e;return(t?(u={},t.split(",").forEach(function(n){var t=n.split(":"),i;t[1]&&(u[t[0]]=t[1]);i=t[0].toString();i.indexOf("lastinvited")>-1&&(r=t[1])}),f='"lastinvited":'+r+",",e='"lastinvited":'+i+",",n=t.replace(f,e),this.setCookie("msresearch",n)):(n='"lastinvited":'+i+",",n='{ "version": "5.0", "state": { "name": "IDLE", "url": undefined, "timestamp": '+i+' }, "lastinvited": '+i+', "userid": "", "vendorid": 1, "surveys": [""], "graceperiod": 5, "trackertimestamp": 0 }',this.setCookie("msresearch",n)),n!=t)?!0:!1};this.getSurveyCookie=function(){return this.getCookie("msresearch")||""};this.setCookie=function(t,i){n[0].cookie=t+"="+i+";secure;expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"};this.getCookie=function(t){return t?decodeURIComponent(n[0].cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null:null}}])}(angular.module(portalCommon)),function(n){n.service("surveyEligibilityService",["$location","$q","$timeout","$window","assistedSupportCommonConstants","dateTimeExtensions","flightService","surveyStateStorageService","surveyStatus",function(n,t,i,r,u,f,e,o){function a(){i(function(){s.resolve();s=null},b*1e3)}function nt(){var t=n.search()["survey-pool-override"];return t&&t==="true"&&h()}function v(){var t=n.search()["survey-internal-override"];return t&&t==="true"&&h()}function y(){var t=n.search()["survey-state-override"];return t&&t==="true"&&h()}function p(){var t=n.search()["survey-override-all"];return t&&t==="true"&&h()}function tt(){var t=n.search()[u.traditionalIsNativeKey];return t&&t==="true"}function h(){return e.isUserInFlight(g+c)}function it(){var n=e.isUserInFlight(lt+c),t=e.isUserInFlight(at+c),i=h(),r=tt();if(!n){s.reject();return}if(!ct()){s.reject();return}if(r){s.reject();return}if(p()){s.resolve();return}if(!ot()){s.reject();return}if(et(i)){if(!ft()){s.reject();return}a();return}if(!rt(t)){s.reject();return}if(!ut()){s.reject();return}a()}function rt(n){return n||nt()}function ut(){return st()||y()}function ft(){return w()||y()}function et(n){return n&&!v()}function ot(){var t=n.path().toLowerCase(),i=d.some(function(n){return t.indexOf(n.toLowerCase())>=0});return!i}function st(){return w()&&ht()}function w(){var n=o.getSurveyDismissed();return!n}function ht(){var n=o.getSurveyResult(),t;return n?angular.isDate(n)?(t=f.dateDiffInDays(new Date,n),t>k):!0:!0}function ct(){var n=r.navigator.userAgent,t=0,u=n.indexOf("MSIE "),f,i;return(u>0&&(t=parseInt(n.substring(u+5,n.indexOf(".",u)),10)),f=n.indexOf("Trident/"),f>0&&(i=n.indexOf("rv:"),i>0&&(t=parseInt(n.substring(i+3,n.indexOf(".",i)),10))),t&&typeof t=="number"&&t<10)?!1:!0}var c="-1",b=5,k=0,d=[],lt="smc-survey-feat",at="smc-survey-elg",g="smc-survey-int",s=null,l=[];this.setConfiguration=function(n){b=n.surveyInvitationTimeoutSeconds;k=n.surveyEligibilityTimespanDays;d=n.excludedRoutes};this.isEligibleForSurvey=function(){return s?s.promise:(s=t.defer(),it(),s.promise)};this.surveyCompleted=function(){o.saveSurveyResult();for(var n=0;n<l.length;n++)l[n]()};this.surveyDismissed=function(){o.saveSurveyDismissed()};this.showInternalFeedback=function(){return e.isUserInFlight(g+c)&&!v()&&!p()};this.registerSurveyCompletedCallback=function(n){l.push(n)}}])}(angular.module(portalCommon)),function(n){n.component("surveyInvitation",{templateUrl:"/PartialViews/Chrome/survey.html",bindings:{view:"@?"},controller:["$rootScope","$timeout","flightService","wedcsService","surveyModalService","surveyEligibilityService","surveyContentService","supportSDK","languageService",function(n,t,i,r,u,f,e,o,s){function a(){v();e.getSurveyContent().then(function(n){y(n);f.setConfiguration(n.surveyConfiguration);c().then(function(){p()})})}function v(){f.registerSurveyCompletedCallback(function(){c()})}function y(n){h.internalFeedbackContent=n.selfhostFeedbackView;h.buttonLabel=n.surveyContent.surveyInvitationLabel;h.mobileButtonLabel=n.surveyContent.mobileSurveyInvitationLabel;h.mobileSurveyInvitationCloseButtonLabel=n.surveyContent.mobileSurveyInvitationCloseButtonLabel;h.showInternalFeedback=f.showInternalFeedback()}function c(){return f.isEligibleForSurvey().then(function(){r.logCustomEvent("invitation-offered",b);var n={surveyId:k,locale:s.langLocale()};h.siteSurvey=o.ui.survey.createSurvey(n);h.inviteClass=w;i.isUserInFlight("sps-floodgate-1")||(h.isElibigleForSurvey=!0);h.siteSurvey.logOfferResponse(o.ui.survey.OfferState.DISPLAYED);t(500).then(function(){u.createSurveyModals(h.siteSurvey)})},function(){h.inviteClass=l;h.isElibigleForSurvey=!1})}function p(){n.$on("$routeChangeSuccess",function(){c()})}var h=this,l=["survey-invite"],w=["survey-invite","survey-invite-slide-in"],b="smc-survey-event",d=undefined,k="sitesurvey";this.inviteClass=l;this.buttonLabel="Feedback";this.mobileButtonLabel="Feedback";this.showInternalFeedback=!1;this.internalFeedbackContent={};this.isElibigleForSurvey=!1;h.$onInit=function(){h.view=h.view||"both"};this.showPopupSurvey=function(){h.siteSurvey.logOfferResponse(o.ui.survey.OfferState.ACCEPTED);u.showSurveyModal(this.siteSurvey)};this.mobileInviteDismiss=function(){f.surveyDismissed();h.siteSurvey.logOfferResponse(o.ui.survey.OfferState.REJECTED);c()};a()}]})}(angular.module(portalCommon)),function(n){n.controller("surveyModalInstanceController",["$scope","$uibModalInstance","$window","languageService","surveyContentService","surveyState","surveyStatus","supportSDK","sdkSurvey",function(n,t,i,r,u,f,e,o,s){function h(){return i&&i.awa&&i.awa.cv&&angular.isFunction(i.awa.cv.getValue)?i.awa.cv.getValue():""}n.closeButtonClicked=function(){t.dismiss()};u.getSurveyContent().then(function(t){n.surveyCloseButtonLabel=t.surveyContent.surveyCloseButtonLabel;n.surveyContainerLabel=t.surveyContent.surveyContainerLabel;n.surveyContainerEndLabel=t.surveyContent.surveyContainerEndLabel});n.elementReadyShowSurvey=function(){s.render({correlationVector:h(),uiInfo:{type:o.ui.HostType.IFRAME,containerSelector:"#smc-survey-target"},onSurveyComplete:function(){f.status=e.Completed}})}}])}(angular.module(portalCommon)),function(n){n.value("surveyStatus",{Starting:"Starting",Started:"Started",Dismissed:"Dismissed",Completed:"Completed",Error:"Error"});n.service("surveyModalService",["$injector","$q","wedcsService","surveyEligibilityService","surveyStatus","clientConfig",function(n,t,i,r,u,f){function e(n,t){var f={status:u.Starting},e="smc-survey-event",o=t.open({templateUrl:"/PartialViews/Chrome/surveyModal.html",backdropClass:"smc-modal-backdrop",windowTemplateUrl:"/PartialViews/Chrome/surveyModalTemplate.html",resolve:{surveyState:f,sdkSurvey:n},controller:"surveyModalInstanceController"});return o.opened.then(function(){f.status=u.Started},function(){f.status=u.Error}),o.result.then(function(){f.status=u.Completed;console.log("survey was closed")},function(){f.status=f.status!==u.Completed?u.Dismissed:u.Completed;console.log("survey was dismissed");console.log(f);f.status===u.Completed?(r.surveyCompleted(),i.logCustomEvent("survey-completed",e)):i.logCustomEvent("survey-dismissed",e)})}this.createSurveyModals=function(i){if(f.SurveyOptions&&f.SurveyOptions.ModalFormat&&f.SurveyOptions.ModalFormat==="mwf.v1"){var r=n.get("mwfSurveyModalService");return r.createSurveyModal(i)}return t.resolve({})};this.showSurveyModal=function(t){if(f.SurveyOptions&&f.SurveyOptions.ModalFormat&&f.SurveyOptions.ModalFormat==="uibModal"||!f.SurveyOptions||!f.SurveyOptions.ModalFormat)return e(t,n.get("$uibModal"))}}])}(angular.module(portalCommon)),function(n){n.service("surveyStateStorageService",["$window","localStorageService","sessionStorageService",function(n,t,i){var r="smc-survey-completed",u="smc-survey-dismissed";this.saveSurveyResult=function(){t.commitWithoutExpiration(r,(new Date).toJSON())};this.getSurveyResult=function(){var n=t.getCacheContent(r);return n?new Date(n):null};this.getSurveyDismissed=function(){var n=i.get(u);return n!=null&&n};this.saveSurveyDismissed=function(){i.set(u,!0)}}])}(angular.module(portalCommon)),function(n){var t="va-entry-seen-";n.component("virtualAgentEntry",{templateUrl:"/PartialViews/Chrome/VirtualAgentEntry.html",bindings:{name:"@",view:"<",flow:"@",userInput:"@?",messageDelay:"<?",messageDuration:"<?",onSeen:"&",onClicked:"&"},controller:["$timeout","$window","virtualAgentLinkService","sessionStorageService","chromeConstants",function(n,i,r,u,f){function h(){n.cancel(o)}var o=null,e=this,s="";this.$onInit=function(){this.isThinking=!1;this.isMessageVisible=!1;this.isMessageTextVisible=!1;this.hasShownMessage=!1;this.isSlidOut=!1;s=this.flow||s};this.$onDestroy=h;this.toggleBubble=function(n){this.hasShownMessage&&(n?(this.isThinking=!1,this.isMessageTextVisible=!0,this.isMessageVisible=!0):this.isMessageVisible=!1)};this.messageBubbleStart=function(t,i){if((t===0||t)&&(i===0||i))return(o=n(function(){e.isThinking=!0;e.isMessageVisible=!0},t)).then(function(){return o=n(function(){e.isThinking=!1;e.isSlidOut=!0},f.messaging.thinkingTime)}).then(function(){return o=n(function(){e.isMessageTextVisible=!0;e.hasShownMessage=!0},f.messaging.slideOutTime)}).then(function(){return o=n(function(){e.toggleBubble(!1)},i)})};this.openVirtualAgent=function(){h();this.onClicked();r.openPopup({flowId:this.flow,"sky.queryChannel":this.name,userInput:this.userInput})};i.onload=function(){var n=t+s;e.hasShownMessage=!!u.get(n);e.hasShownMessage?e.isSlidOut=!0:(e.messageBubbleStart(e.messageDelay,e.messageDuration),u.set(n,!0));e.onSeen({name:e.name})}}]})}(angular.module(portalCommon)),function(n){n.service("virtualAgentLinkService",["$location","$cookies","languageService","locationService","clientConfig","windowService","chromeConstants",function(n,t,i,r,u,f,e){var o="/virtual-agent/?",s="smc";this.openPopup=function(h){h=h||{};h.params=angular.extend({},h);h.params.referrer=h.params.referrer||r.getReferrerDomain();h.params.flowId=h.params.flowId||"";h.params.partnerId=h.params.partnerId||t.get(e.cookies.smcPartner)||s;h.params.userInput=h.params.userInput||"";h.params["sky.context"]=h.params["sky.context"]||"";var c=Object.keys(h.params).map(function(n){return h.params[n]?n+"="+h.params[n]:""}).filter(function(n){return!!n}).join("&"),l=o+c,a=function(n,t){t=t||{};var i=v(n),r={width:t.width||u.ContactUsConfig.CadPopupWidth,height:t.height||u.ContactUsConfig.CadPopupHeight,resizable:"yes",scrollbars:"yes"};f.openPopupCenter(i,"contactSupport",r)},v=function(t){return r.appendCurrentRouteParams("https://"+n.host()+"/"+i.langLocale().toLowerCase()+"/contact"+t)};a(l,{width:u.ContactUsConfig.VirtualAgentWidth})}}])}(angular.module(portalCommon)),function(n){n.service("adalIframeAccessibilityShim",["$rootScope","$timeout","$document","qosTelemetryService",function(n,t,i){var u="adalIdTokenFrame",f=3,r=this;this.init=function(){this.currentRetry=0;this.findIframe()};this.findIframe=function(){t(function(){var t=i[0].getElementById(u);t?t.setAttribute("aria-hidden","true"):r.currentRetry>=f?n.$broadcast("QoS",{qosOperation:{name:"adalIframeShim.accessibilty",description:"Event triggered when we try to find adal idToken iframe and add accessibility improvements (add aria-hidden attribute)"},status:500,custom:"Could not find adal iframe with id "+u}):(r.currentRetry++,r.findIframe())},Math.pow(2,r.currentRetry)*1e3)};this.init()}])}(angular.module(portalCommon)),function(n){n.directive("ajaxLoad",["$http",function(n){var t=5e3;return{restrict:"A",link:function(i,r,u){r.bind("error",function(){var i=u.ngSrc||u.src;i?n.get(i,{responseType:"arraybuffer",httpAppOptions:{qosOperation:"//app/image/ajax-load"}}).then(function(n){for(var u=new Uint8Array(n.data),f="",i=0;i<u.length;i+=t)f+=String.fromCharCode.apply(null,u.subarray(i,i+t));r[0].src="data:image/png;base64,"+btoa(f)}).catch(function(){r.css("display","none")}):r.css("display","none")})}}}])}(angular.module(portalCommon)),function(n){n.service("breadcrumbsService",[function(){function t(r,u,f){if(r&&r.data&&r.data.breadcrumb&&(n.length||r.data.breadcrumb.parent)){var e=r.data.breadcrumb;n.unshift({url:i(r.originalPath,f),text:i(e.text,f)});t(u[e.parent],u,f)}}function i(n,t){return n&&n.indexOf(":")>=0&&t&&(n=n.replace(/:([a-zA-Z]+)/g,function(n,i){return t[i]?t[i]:n})),n}var n=[];this.generateBreadcrumbs=function(i,r){var u=i.current;n=[];t(u.$$route,i.routes,r)};this.getBreadcrumbs=function(){return n}}])}(angular.module(portalCommon)),function(n){n.service("browserService",["$window",function(n){var i,t={Android:function(){return n.navigator.userAgent.match(/Android/i)},BlackBerry:function(){return n.navigator.userAgent.match(/BlackBerry/i)},iOS:function(){return n.navigator.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return n.navigator.userAgent.match(/Opera Mini/i)},Windows:function(){return n.navigator.userAgent.match(/IEMobile/i)},Other:function(){return n.navigator.userAgent.indexOf("Mobi")>=0},any:function(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||t.Other()}};this.getBrowser=function(){return i};this.isMobile=function(){return!!t.any()};this.determineBrowser=function(){var i=!!window.opr&&!!opr.addons||!!window.opera||navigator.userAgent.indexOf(" OPR/")>=0,r,u,n,f,e,o,s,h,t,c;return i?"opera":(r=typeof InstallTrigger!="undefined",r)?"firefox":(u=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,u)?"safari":(n=!1,f=!!document.documentMode&&document.documentMode==11,f)?(n=!0,"ie11"):(e=!!document.documentMode&&document.documentMode==10,e)?(n=!0,"ie10"):(o=!!document.documentMode&&document.documentMode==9,o)?(n=!0,"ie9"):(s=!n&&!!window.StyleMedia,s)?"edge":(h=!!window.chrome&&!!/edg/.test(navigator.userAgent.toLowerCase()),h)?"chredge":(t=!!window.chrome&&!!/Google Inc/.test(navigator.vendor),t)?"chrome":(c=(t||i)&&!!window.CSS,c)?"blink":"Other"};i=this.determineBrowser()}])}(angular.module(portalCommon)),function(n){n.directive("compile",["$compile","$sanitize",function(n){return{restrict:"A",transclude:!0,scope:{compile:"="},link:function(t,i){t.$watch(function(n){return n.compile},function(r){if(r)try{i.html(r);n(i.contents())(t)}catch(u){console.log("Does not compile",u)}})}}}])}(angular.module(portalCommon)),function(n){n.directive("script",["$window","$cookies",function(){return{restrict:"E",scope:!1,link:function(){}}}])}(angular.module(portalCommon)),function(n){n.decorator("$cookies",["$delegate","$window","clientConfig",function(n,t,i){function b(){var v=arguments[0],i=arguments[2],p,t,y,f,w;if(i&&i.expires&&(typeof i.expires=="string"&&(i.expires=new Date(i.expires)),i.expires-Date.now()>tt&&(p=new Date,i.expires=new Date(p.setFullYear((new Date).getFullYear()+1)))),g(v))e.apply(n,arguments);else{if(t=[],arguments.length===3)c(v)&&t.push(r.Analytics),l(v)&&t.push(r.Advertising),a(v)&&t.push(r.SocialMedia);else if(arguments.length>3)for(y=3;y<arguments.length;y++)f=arguments[y],(f===r.Analytics||f===r.Advertising||f===r.SocialMedia)&&t.push(f);t.length===0&&t.push(r.Analytics,r.Advertising,r.SocialMedia);w=t.reduce(function(n,t){switch(t){case r.Analytics:return n||!o();case r.Advertising:return n||!s();case r.SocialMedia:return n||!h()}},!1);w?(d(),u.push(arguments)):e.apply(n,arguments)}}function k(){var t=arguments[0];return c(t)&&!o()?"":l(t)&&!s()?"":a(t)&&!h()?"":nt.apply(n,arguments)}function d(){if(window.WcpConsent&&window.siteConsent&&!f){f=!0;window.WcpConsent.onConsentChanged(function(){var i=u,t;for(u=[];i.length>0;)t=i.pop(),t&&n.put.apply(n,t)})}else if(t.mscc&&!f){f=!0;t.mscc.on("consent",function(){while(u.length>0){var t=u.pop();t&&e.apply(n,t)}})}}function o(){return window.WcpConsent&&window.siteConsent?window.siteConsent.getConsentFor(window.WcpConsent.consentCategories.Analytics):t.mscc?t.mscc.hasConsent():!0}function s(){return window.WcpConsent&&window.siteConsent?window.siteConsent.getConsentFor(window.WcpConsent.consentCategories.Advertising):t.mscc?t.mscc.hasConsent():!0}function h(){return window.WcpConsent&&window.siteConsent?window.siteConsent.getConsentFor(window.WcpConsent.consentCategories.SocialMedia):t.mscc?t.mscc.hasConsent():!0}function c(n){return y.indexOf(n)>=0}function l(n){return p.indexOf(n)>=0}function a(n){return w.indexOf(n)>=0}function g(n){return v.indexOf(n)>=0}var r={Analytics:"Analytics",Advertising:"Advertising",SocialMedia:"SocialMedia"},e=n.put,nt=n.get,f=!1,tt=31536e6,u=[],v=[],y=[],p=[],w=[];return i&&i.CookieConsentConfig&&(v=i.CookieConsentConfig.CookieWhitelist||[],y=i.CookieConsentConfig.AnalyticsBlocklist||[],p=i.CookieConsentConfig.AdvertisingBlocklist||[],w=i.CookieConsentConfig.SocialMediaBlocklist||[]),n.put=b,n.get=k,n}])}(angular.module(portalCommon)),function(n){n.service("dateTimeExtensions",[function(){function n(n){return n==0&&(n=0),n}this.dateDiffInDays=function(t,i){var r=this.dateDiffInMilliseconds(t,i);return n(Math.round(r/864e5))};this.dateDiffInMilliseconds=function(t,i){var r=t.getTime(),u=i.getTime();return n(u-r)}}])}(angular.module(portalCommon)),function(n){n.directive("debug",["$routeParams",function(n){return{restrict:"A",scope:{debug:"="},link:function(t,i,r){t.enabled=n.debug;t.name=r.debug},template:'<pre ng-if="enabled"> {{name}}: {{debug | json}}<\/pre>'}}])}(angular.module(portalCommon)),function(n){n.service("delayService",["$q","$timeout",function(n,t){this.delay=function(i,r){return n.all([i,t(function(){},r)]).then(function(n){return n[0]})}}])}(angular.module(portalCommon)),function(n){n.directive("ngElementReady",[function(){return{priority:Number.MIN_SAFE_INTEGER,restrict:"A",link:function(n,t,i){n.$eval(i.ngElementReady)}}}])}(angular.module(portalCommon)),function(n){n.directive("focusContent",["$timeout","focusContentService",function(n,t){return{restrict:"A",link:function(i,r,u){function f(t){t===u.name&&e&&n(function(){r[0].focus()})}var e=!1;i.$on("FocusContent",function(n,t){f(t.name)});i.$watch(function(){return r.attr("data-condition")||r.attr("condition")},function(n){e=n&&n.toLowerCase()==="true"||typeof u.condition=="undefined"?!0:!1;f(u.name)});f(t.activeTarget)}}}])}(angular.module(portalCommon)),function(n){n.service("focusContentService",["$rootScope",function(n){this.activeTarget=null;this.focus=function(t){n.$broadcast("FocusContent",{name:t});this.activeTarget=t}}])}(angular.module(portalCommon)),function(n){n.service("getScriptService",["$timeout","$document","$q",function(n,t,i){function r(n,r){return i(function(i,u){var e=r&&r.element?r.element:angular.element("head"),f=t[0].createElement("script");e.append(f);f.onload=f.onreadystatechange=function(){f.readyState&&f.readyState!=="complete"||i(f)};f.onerror=u;f.src=n})}function u(t){return n(t).then(function(){return i.reject({status:504})})}var f=3e4;this.addScript=function(n,t){var e=t&&typeof t.timeout=="number"?t.timeout:f;return i.race([u(e),r(n,t)])}}])}(angular.module(portalCommon)),function(n){n.service("guidGenerator",["$window",function(n){this.newGuid=function(){var r=n.crypto||n.msCrypto,t,i;return r&&r.getRandomValues?(t=new Uint16Array(8),r.getRandomValues(t),i=function(n){for(var t=n.toString(16);t.length<4;)t="0"+t;return t},i(t[0])+i(t[1])+"-"+i(t[2])+"-"+i(t[3]&20479)+"-"+i(t[4]&16383|32768)+"-"+i(t[5])+i(t[6])+i(t[7])):"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,i=n=="x"?t:t&3|8;return i.toString(16)})}}])}(angular.module(portalCommon)),function(n){n.factory("httpAppOptionsInterceptor",["$window","authConfiguration","previewContentRequestedResolver",function(n,t,i){function r(n,t){n.params?angular.extend(n.params,t):n.params=t}var u={};return u.request=function(u){var f,e;return u&&u.headers&&!u.headers["Caller-Name"]&&(u.headers["Caller-Name"]="Angular"),n&&n.awa&&n.awa.cv&&n.awa.cv.getValue&&(n.awa.cv.increment(),u.headers["MS-CV"]=n.awa.cv.getValue()),f={},u.httpAppOptions&&(u.httpAppOptions.cacheBust&&(f.iecbust=(new Date).getTime()),u.httpAppOptions.allowPreview&&i.isPreviewContentRequested()&&(f.preview=!0),(f.iecbust||f.preview)&&r(u,f)),t&&t.protectedEndpoints&&(e=!1,t.protectedEndpoints.every(function(n){return n&&u.url&&u.url.toLowerCase().indexOf(n.toLowerCase())>-1?(e=!0,!1):!0}),e&&r(u,{iecbust:(new Date).getTime()})),u},u}])}(angular.module(portalCommon)),function(n){n.filter("icon",[function(){return function(n){return typeof n=="string"&&(n.indexOf("0x")===-1&&(n="0x"+n),n=String.fromCharCode(n)),n}}])}(angular.module(portalCommon)),function(n){n.component("iframeContainer",{bindings:{minHeight:"<"},controller:["$window","$timeout","$element",function(n,t,i){var r=this;r.$onInit=function(){t(function(){var t=i[0]&&i[0].querySelector("iframe");if(t)angular.element(n).on("message",function(n){r.heightChangeHandler(n,t)})})};r.heightChangeHandler=function(n,t){if(n&&n.originalEvent&&n.originalEvent.data){var u=r.minHeight||parseInt(r.getElement(t).css("min-height"),10),i=parseInt(n.originalEvent.data);i=i>u?i:u;r.bufferedHeight=i+5;r.getElement(t).css("height",r.bufferedHeight+"px")}};r.getElement=function(n){return $(n)}}]})}(angular.module(portalCommon));angular.module(portalCommon).filter("linkify",function(){return function(n){var t,i=n,r;if(n&&n.toLowerCase().indexOf("<a")!==-1&&n.toLowerCase().indexOf("<\/a>")!==-1){do if(t=n.match(/<a.*?(?=>)/i),t!==null){var r=t.toString(),e=n.match(/((["']id)|(\s+(id)))\s*=\s*((["'])(.*?)["']|([^>\s]*)(?=\s|\/>))(?=[^<]*>)/i),u=n.match(/target\=.*?(?=\s|>)/i),o=n.match(/(href)=(["'])((ht|f)tp(s?):)/i),f=o?"target='_blank'":"target='_self'";if(u?(i=i.replace(u,f),n=n.replace(t,"")):(i=i.replace(t,t+" "+f),n=n.replace(t,"")),e!==null)continue;t=i.match(/<a.*?(?=>)/i);i=i.replace(t,t+" id='dynamic-link'")}while(t!==null)}else if(n)do t=n.match(/^(?:(?:https?):\/\/?|www\.)[a-zA-Z0-9+&@#/%=~_|$?!:.-]*[a-zA-Z0-9+&@#/%=~_|$]/),t!==null&&(r=t.toString(),r.indexOf("http")!==0&&(r="http://"+r),i=i.replace(t,"<a href='"+r+"' target='_blank' id='dynamic-link'>"+t+"<\/a>"),n=n.replace(t,""));while(t!==null);return i}}),function(n){n.directive("loadingSpinner",["$rootScope","$timeout",function(n,t){return{restrict:"A",templateUrl:"/PartialViews/Common/LoadingSpinner.html",scope:{content:"=",deferred:"=",progressPercentage:"="},link:function(i,r,u){function s(){u.timeout&&(e=t(c,u.timeout));u.delay?o=t(h,u.delay):i.isStarted=!0;angular.isDefined(u.indeterminate)&&u.indeterminate==="false"&&(i.indeterminate=!1);i.indeterminate&&(u.type==="bar"?l():a())}function h(){i.isStarted=!0}function c(){u.message&&(n.$broadcast(u.message,i.content),n.$broadcast("QoS",{operation:"/app/"+u.message}))}function l(){i.progressClasses.indeterminate=!0;i.barClasses["indeterminate-bar"]=!0;i.indicatorClasses["indeterminate-indicator"]=!0;i.isBar=!0}function a(){i.progressClasses.ring=!0;i.progressClasses.indeterminate=!0;i.indicatorClasses["indeterminate-ring"]=!0;i.barClasses["vatheme-progress-symbol-dot"]=!0;u.size==="small"||(u.size==="large"?(i.indicatorClasses["indeterminate-large"]=!0,i.progressClasses["ring-large"]=!0):(i.indicatorClasses["indeterminate-medium"]=!0,i.progressClasses["ring-medium"]=!0))}function f(){e&&(t.cancel(e),e=null);o&&(t.cancel(o),o=null);i.isStarted=!1}i.isStarted=!1;i.progressClasses={};i.barClasses={};i.indicatorClasses={};i.isBar=!1;i.indeterminate=!0;var e,o;i.$watch("deferred",function(){i.deferred&&i.deferred.then&&(f(),s(),i.deferred.then(f,f))});i.$on("$destroy",f);r.on("$destroy",f);u.deferred||s()}}}])}(angular.module(portalCommon)),function(n){n.service("localStorageCacheProvider",["previewContentRequestedResolver","localStorageService",function(n,t){function i(){return!n.isPreviewContentRequested()}this.getValue=function(n){return i()?t.getCacheContent(n):undefined};this.setValue=function(n,r){i()&&t.commit(n,r)}}])}(angular.module(portalCommon)),function(n){n.service("localStorageService",["$window","$log","clientConfig","currentLanguageService",function(n,t,i,r){var f="cacheConfigKey",u=n&&n.navigator&&n.navigator.cookieEnabled&&n.localStorage;try{n.localStorage.setItem("storageTest","");n.localStorage.removeItem("storageTest","")}catch(l){u=!1}u||t.error("Local storage not supported");var e=function(){var n={};return n.language=r.getLang().toLowerCase(),i&&i.SiteContentConfig&&i.SiteContentConfig.BuildVersion&&(n.buildVersion=i.SiteContentConfig.BuildVersion),n},c=function(){var t,r,i;if(u&&n.localStorage[f]){t=JSON.parse(n.localStorage[f]);r=e();for(i in t)if(t[i]!=r[i])return!1;return!0}return!1},o=function(t){return u&&n.localStorage[t]},h=function(t){var r=JSON.parse(n.localStorage[t]),u=(new Date).getTime()-new Date(r.timestamp);return!r.noExpiration&&u>i.SiteContentConfig.ClientCompassCacheTimeout?(localStorage.removeItem(t),null):r.data},s=function(t,i,r){var u={data:i,timestamp:(new Date).getTime()};r&&(u.noExpiration=!0);n.localStorage.setItem(t,JSON.stringify(u))};this.getCacheContent=function(n){return o(n)?c()?h(n):(this.invalidateCache(),null):null};this.getAppCacheContent=function(n){return o(n)?h(n):null};this.removeAppCacheContent=function(t){o(t)&&n.localStorage.removeItem(t)};this.commit=function(t,r){u&&i.SiteContentConfig&&i.SiteContentConfig.ClientCompassCachingEnabled&&i.SiteContentConfig.ClientCompassCacheTimeout&&(n.localStorage.setItem(f,JSON.stringify(e())),s(t,r))};this.commitAppContent=function(n,t,i){u&&s(n,t,i)};this.commitWithoutExpiration=function(t,i){u&&(n.localStorage.setItem(f,JSON.stringify(e())),s(t,i,!0))};this.invalidateCache=function(){var n,r,t;if(u&&i.SiteContentConfig&&i.SiteContentConfig.ClientCompassCachingEnabled&&i.SiteContentConfig.ClientCompassCacheTimeout)for(n=0,r=localStorage.length;n<r;++n)t=localStorage.key(n),t&&t.indexOf("adal")===-1&&localStorage.removeItem(localStorage.getItem(t))}}])}(angular.module(portalCommon)),function(n){n.service("locationService",["$window","$location","$route","$anchorScroll","$rootScope","$timeout",function(n,t,i,r,u,f){this.getQueryStringParameters=function(n){for(var i={},r=n.substring(n.indexOf("?")+1),u=/([^&=]+)=([^&]*)/g,t;t=u.exec(r);)i[decodeURIComponent(t[1])]=decodeURIComponent(t[2]);return i};this.getCurrentPath=function(){return t.url().replace(t.hash(),"")};this.setPathAndReload=function(t){n.location=t||this.getCurrentPath()};this.switchLocale=function(n,i){i=i||t.path();var r=i.split("/");return r.length>1&&r[1]!==n?(r[1]=n,r.join("/")):i};this.pathNoReload=function(n){var r=i.current,f=u.$on("$locationChangeSuccess",function(){i.current=r;f()});return t.path(n)};this.scrollTo=function(n,i){f(function(){var i=t.hash();t.hash(n);r();t.hash(i)},i)};this.appendCurrentRouteParams=function(n){var i=t.search(),u,r;if(Object.keys(i).length>0&&n){(u=n.indexOf("?")<0)?n+="?":u<n.length-1&&(n+="&");for(query in i)r=query+"=",n.toLowerCase().indexOf(r.toLowerCase())<0&&(n+=r+i[query]+"&");n=n.slice(0,-1)}return n};this.getPathSubset=function(n,i,r){return r=r?r.split("?")[0]:t.path(),r.split("/").slice(n,i).join("/")};this.getPathLength=function(n){n||(n=t.path());var i=n[0]==="/"?1:0,r=n[n.length-1]==="/"?-1:undefined;return n.split("/").slice(i,r).length};this.getReferrerDomain=function(){var t=/\/\/(.*?)(\/|$|\?)/;return n.document.referrer&&t.test(n.document.referrer)?n.document.referrer.match(t)[1]:null}}])}(angular.module(portalCommon)),function(n){n.directive("metatags",["$rootScope","$window","$interval","$cookies","$injector","metaTagsService","guidGenerator","currentLanguageService",function(n,t,i,r,u,f,e,o){return{restrict:"A",link:function(s){function c(n){return n?(queryStringIndex=n.indexOf("?"),fragmentIndex=n.indexOf("#"),outputLength=queryStringIndex>0?queryStringIndex:n.length,outputLength=fragmentIndex>0?Math.min(outputLength,fragmentIndex):outputLength,n.substring(0,outputLength)):n}function l(){var i=t.location.pathname,r=o.getLang().toLowerCase(),n=i.substring(r.length+1,i.length);return n=n.replace(/^[\/]+|[\/]+$/g,""),n===""&&(n="smcHome"),n}function a(){var r=l(),n={},t={},i;return r==="smcHome"?(n.pageType="home",n.assetId=r):(t=r.split("/"),i=t[0],i==="allproducts"?(n.pageType="home",n.assetId=i):i==="search"?(n.pageType="serp",n.assetId="s.serp"):i==="lifecycle"?(n.pageType=i,n.assetId=t[1]==="search"&&t[2]!=undefined?t[2]:t[1]):i==="verifyme"?(n.pageType="",n.assetId="verifyme"):i==="devices"?(n.pageType=i,n.assetId=t[1]===undefined?"devicesHome":"devicesDetails"):i==="fre"?(n.pageType="firstrunexperience",t[1]&&(n.assetId=t[1])):i==="verifyme"?(n.pageType="assistedsupport",n.assetId=i):i==="surfacerecoveryimage"||i==="acpowercord"||i==="deviceselector"?(n.pageType="devices",n.assetId=i):i==="files"?(n.pageType="landing",n.assetId="securefile-exchange"):i==="accessibility"?(n.pageType="landing",n.assetId=t[1]==="enterprise-answer-desk"?"enterprise-disability-answerdesk":"consumer-disability-answerdesk"):i==="supportforbusiness"?(n.pageType=i,t[1]==="refund"?n.assetId="refundpurchase":t[1]==="requestdetails"?n.assetId="requestdetails":t[1]==="requests"?n.assetId="requestlist":t[1]==="complete"?n.assetId="completeworkflow":t[1]==="contacts"?n.assetId="contactinformation":t[1]==="issuedetails"?n.assetId="issuedetails":t[1]==="plan"?n.assetId="planselection":t[1]==="productselection"?n.assetId="productselection":t[1]==="review"?n.assetId="reviewcase":t[1]==="severity"&&(n.assetId="severityselection")):(n.pageType=i,n.assetId=t[1]?t[1]:"")),n}function v(u,s,l){var y=a(),p,v,w;f.addOrUpdateMetaTag("awa-market",o.getLang().toLowerCase());f.addOrUpdateMetaTag("awa-asst",y.assetId);f.addOrUpdateMetaTag("ms.vlid",e.newGuid());f.setMetaTag("ms.refView",l!==s&&c(l)||"");f.setMetaTag("ms.pageType",y.pageType);f.doesMetaTagExist("ms.isNative")&&h&&f.setMetaTag("ms.isNative",(!!h.isNative()).toString());f.doesMetaTagExist("ms.partnerId")&&f.setMetaTag("ms.partnerId",r.get("smcpartner")||"");f.doesMetaTagExist("ms.flightId")&&(p=r.get("smc_expid"),f.setMetaTag("ms.flightId",p));f.doesMetaTagExist("ms.cV")&&(v="",t&&t.awa&&t.awa.cv&&angular.isFunction(t.awa.cv.getValue)&&(v=t.awa.cv.getValue()),f.setMetaTag("ms.cV",v||""));f.doesMetaTagExist("ms.auth")?f.getMetaTagContent("ms.auth")?n.$broadcast("metaTagsUpdated"):w=i(function(){f.getMetaTagContent("ms.auth")&&(n.$broadcast("metaTagsUpdated"),i.cancel(w))},250,20):n.$broadcast("metaTagsUpdated")}var h=u.has("nativeAppService")?u.get("nativeAppService"):null;s.reset=function(){};s.$on("$locationChangeSuccess",v);s.$on("UpdateMetaTag",function(n,t){t&&f.addOrUpdateMetaTag(t.name,t.value)});s.$on("RemoveMetaTag",function(n,t){t&&f.setMetaTag(t.name,"")});s.$on("awasaChatId",function(n,t){t&&f.setMetaTag("ms.chatId",t.toString())});s.$on("awasaVisitId",function(n,t){t&&f.setMetaTag("ms.visitId",t.toString())});s.$on("awasaEnqueueId",function(n,t){t&&f.setMetaTag("ms.enqueueId",t.toString())});s.reset()}}}])}(angular.module(portalCommon)),function(n){n.service("metaTagsService",[function(){this.addOrUpdateMetaTag=function(n,t,i){this.doesMetaTagExist(n)||(i?$("head").prepend($('<meta name="'+n+'" content="" />')):$("head").append($('<meta name="'+n+'" content="" />')));this.setMetaTag(n,t)};this.setMetaTag=function(n,t){$('meta[name="'+n+'"]').attr("content",t)};this.doesMetaTagExist=function(n){return $('meta[name="'+n+'"]').attr("name")};this.getMetaTagContent=function(n){return $('meta[name="'+n+'"]').attr("content")}}])}(angular.module(portalCommon)),function(n){n.decorator("ngClickDirective",["$delegate","$window",function(n,t){var i=n[0].compile;return n[0].compile=function(){var n=i.apply(this,arguments);return function(i,r){return r.bind("click",function(){t.mscc&&!t.mscc.hasConsent()&&t.mscc.interactiveConsentEnabled&&t.mscc.setConsent()}),n.apply(this,arguments)}},n}])}(angular.module(portalCommon));angular.module(portalCommon).filter("objectOrderBy",function(){return function(n,t,i){var r=[];for(var u in n)n[u]!==undefined&&r.push(n[u]);return r.sort(function(n,i){return n[t]>i[t]?1:-1}),i&&r.reverse(),r}}),function(n){n.controller("OnlineController",["$scope","compassService",function(n,t){function i(){n.offlineMessage=t.getOfflineMessage()}n.$on("CompassContentReady",function(){i()});i()}])}(angular.module(portalCommon));angular.module(portalCommon).run(["$window","$rootScope",function(n,t){t.online=navigator.onLine?!0:!1;t.showOfflineDetectMessage=!0;n.addEventListener&&(n.addEventListener("online",function(){t.online=!0;t.$apply();t.$broadcast("ClientReconnected")}),n.addEventListener("offline",function(){t.online=!1;t.$apply()}))}]),function(n){n.service("osService",["$window",function(n){var i,r={"Windows 2000":["Windows NT 5.0"],"Windows XP":["Windows NT 5.1"],"Windows 2003":["Windows NT 5.2"],"Windows Vista":["Windows NT 6.0"],"Windows 7":["Windows NT 6.1","Windows 7"],"Windows 8":["Windows NT 6.2","Windows 8"],"Windows 8.1":["Windows NT 6.3","Windows 8"],"Windows 10":["Windows NT 10"],Mac:["Mac"],X11:["Unix"],Linux:["Linux"],"Windows 10 Mobile":["Windows Phone 10"],"Windows 8.1 Mobile":["Windows Phone 8","Windows Phone 8.1"]},t={Android:function(){return n.navigator.userAgent.match(/Android/i)},BlackBerry:function(){return n.navigator.userAgent.match(/BlackBerry/i)},iOS:function(){return n.navigator.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return n.navigator.userAgent.match(/Opera Mini/i)},Windows:function(){return n.navigator.userAgent.match(/IEMobile/i)},Other:function(){return n.navigator.userAgent.indexOf("Mobi")>=0},any:function(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||t.Other()}};this.getOS=function(){return i};this.isMobile=function(){return!!t.any()};this.determineOS=function(){var f=n.navigator.platform,u=n.navigator.userAgent,t,i;for(t in r)if(i=r[t].filter(function(n){return u.indexOf(n)>-1}),i.length)return t;return"Other"};this.isWindows=function(){return n.navigator.platform.indexOf("Win")>=0};this.is64bitWindows=function(){return n.navigator.userAgent.indexOf("WOW64")>-1||n.navigator.platform=="Win64"};i=this.determineOS();this.isCorsEnabled=function(){return n.navigator.userAgent.indexOf("MSIE 8.0")>-1||n.navigator.userAgent.indexOf("MSIE 9.0")>-1?!1:!0}}])}(angular.module(portalCommon)),function(n){n.controller("PageController",["$rootScope","$scope","$window","$location","$route","$routeParams","compassService","meControlService","osService","languageService","flightService","clientConfig","iframeService","authService","sessionStorageService","localStorageService","$cookies","chromeConstants","uhfService","qosTelemetryService","queryStringService",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g){function nt(){t.noChrome=t.iFrame||r.search().nochrome||g.getQueryStringValue("isNative")||l.NoChrome}function it(){t.pageReferrer=document.referrer;t.iFrame=a.init(t.pageReferrer,parent);t.iFrame==a.noHostsList&&t.$on("CompassContentReady",function(){t.iFrame=a.init(t.pageReferrer,parent);nt()})}function rt(n){var i=e.getPageInfo();h.languages().then(function(n){t.languages=n});i&&(t.title=t.title&&n?t.title:i.pageTitle,t.alertBanner=i.alertBanner,i.alertBannerLink&&i.alertBannerLink.linkText&&i.alertBannerLink.linkUrl&&(t.alertBannerLink='<a id="alert-banner-link" href="'+i.alertBannerLink.linkUrl+'">'+i.alertBannerLink.linkText+"<\/a>"),i.alertBannerLink2&&i.alertBannerLink2.linkText&&i.alertBannerLink2.linkUrl&&(t.alertBannerLink2='<a id="alert-banner-link-2" href="'+i.alertBannerLink2.linkUrl+'">'+i.alertBannerLink2.linkText+"<\/a>"))}function ut(){t.skylightEntryView=e.getVirtualAgentEntry()}function ft(){t.errorStatus=i.navigator.cookieEnabled?null:"cookies"}function et(t){t.indexOf("/help/")<0&&t.indexOf("/hub/")<0&&(t=t.indexOf("/lifecycle/search")>0?t.split(/[/]+/).slice(-2).join("/"):t.split(/[/]+/).pop(),n.$broadcast("LoadL2Menu",{pageId:t}))}function ot(n){if(n!=="/"+h.langLocale()&&n.indexOf("/help/")<0&&n.indexOf("/hub/")<0){var t=d.createEvent(d.eventTypes.l1HeaderSwap.meControlPromiseRejected);k.getL1HeaderForTheRoute(n).then(function(n){i&&i.msCommonShell?k.swapL1Header(n):o.shellDefined().then(function(){k.swapL1Header(n)},function(){t.reject()})})}}var st="https://assets.onestore.ms/cdnfiles/external/webcore/4.19.0/stylesheets/WebCore.4.19.0."+h.currentDirection()+".light.min.css",tt;t.title="";t.noIndex=!1;t.locale=h.langLocale();t.noChrome=!1;t.iFrame=!1;t.metaTags=[];t.entryName=b.entrypoints.chromeButton;t.getCv=function(){return i&&i.Asimov&&i.Asimov.cv?i.Asimov.cv.getValue():i&&i.awa&&i.awa.cv&&i.awa.cv.getValue()?i.awa.cv.getValue():null};t.reset=function(){t.isMobile=s.isMobile();l&&l.IsVirtualAgent||rt();ut();ft()};t.onEntrySeen=function(t){n.$broadcast("VirtualAgentEntry",{name:t,type:"view"})};t.onEntryClicked=function(){var t=r&&r.absUrl&&r.absUrl(),u=i&&i.document&&i.document.title,n;(t||u)&&(n={},t&&(n[b.popupcontext.pageUrl]=t),u&&(n[b.popupcontext.pageTitle]=u),p.commitAppContent(b.localstore.popupcontext,n,!0))};t.calculateEntryFlow=function(){return y.get(b.session.contactUsEntryClicked)?b.flows.contactUsToVirtualAgent:b.flows.virtualAgentEntry};t.$on("UpdateTitle",function(n,i){t.title=i});t.$on("AddMetaTags",function(n,i){var r,u;for(r in i)u=t.metaTags.map(function(n){return n.name}).indexOf(i[r].name),u>=0?t.metaTags[u]=i[r]:t.metaTags.push(i[r])});t.$on("CompassContentReady",function(){l&&l.IsVirtualAgent||rt(!0);ut()});t.$on("NoIndex",function(){t.noIndex=!0});t.$on("500Error",function(n,i){t.errorStatus||(t.errorStatus="500");t.errorContent=i&&i.errorContent});t.$on("404Error",function(i,r){t.errorStatus||r&&r.preventError||(t.errorStatus="404");n.$broadcast("PageContentLoadFailed",{asst:"smc.404Page.error"});t.errorContent=r&&r.errorContent});t.$on("$routeChangeStart",function(){t.errorStatus!=="cookies"&&(t.errorStatus=null);t.noIndex=!1});t.$on("$routeChangeSuccess",function(){t.canonicalUrl="https://support.microsoft.com"+r.path();nt();t.hideSearch=u.current&&u.current.data&&u.current.data.hideSearch==!0;t.fluidContainer=u.current&&u.current.data&&u.current.data.fluidContainer==!0;t.isDefaultPremier=u.current&&u.current.data&&u.current.data.isDefaultPremier==!0;t.hasSkylightEntry=!v.isInternalDomain()&&u.current&&u.current.data&&u.current.data.hasSkylightEntry===!0&&h.langLocale().lastIndexOf("en-",0)===0;t.metaTags=[];var n=r.path().toLowerCase();t.noChrome||c.isUserInFlight("sps-singlestackuhf-1")?et(n):ot(n)});v.isInternalDomain()?(tt=v.getSupportedIDP(),v.isIframe()?(it(),nt(),v.resolveAuthState().then(function(n){n===tt.AAD?t.reset():r.path(r.url()+"/internalsignin")})):v.resolveAuthState().then(function(n){n===tt.AAD?(nt(),t.reset()):v.login()})):(v.isIframe()&&it(),nt(),t.reset())}])}(angular.module(portalCommon)),function(n){n.service("partnerDataService",["$rootScope","$cookies","$location","$q","$injector","contentApiService","resourceLoaderService","flightService","sessionStorageService","qosTelemetryService",function(n,t,i,r,u,f,e,o,s,h){function w(){var n=t.get("smcpartner"),r=i.search().partnerId||i.search().partnerid;return r&&(n=r,t.put("smcpartner",n,{secure:!0})),n}function d(){var n=w();return a?a.then(function(n){return n}):(v||(v=f.getCompassContentForPage("partnerconfig")),v.then(function(t){var i=t.data&&t.data.configList&&t.data.configList[n]&&t.data.configList[n].partnerDefinition;return a=i&&r.resolve(i),i},function(n){return a=null,v=null,r.reject(n)}))}var a=null,v=null,l=i.search(),b="returnUrl",k=u.has("chatContextService")?u.get("chatContextService"):null,c,p,y;if(this.init=function(){w()},this.getPartnerData=function(n){return d().then(function(t){return t&&(n?t[n]:t)})},this.returnUrl=function(){return s.get(b)},this.decodeContext=function(n){try{if(decodeURIComponent(n)!==n){var t=decodeURIComponent(n);return decodeURIComponent(t)}return n}catch(i){return console.log(i),n}},this.escapeSpecialChars=function(n){return n.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")},l&&angular.isString(l.context))try{c=this.decodeContext(l.context);c=decodeURIComponent(c);c=this.escapeSpecialChars(c);l.partnerId&&(p=this.decodeContext(l.partnerId));y=angular.fromJson(c);p&&c&&Array.isArray(y)&&y.push({name:"partnerId",value:p});h.createEvent(h.eventTypes.partnerDataService.contextFormat).resolve();k?(k.setValues({prechatsurvey:JSON.stringify(y)}).then(function(){i.search("context",null).replace();i.search("hascontext","true").replace()}),h.createEvent(h.eventTypes.partnerDataService.chatContextService).resolve()):h.createEvent(h.eventTypes.partnerDataService.chatContextService).reject()}catch(g){h.createEvent(h.eventTypes.partnerDataService.contextFormat).reject();console.log(g)}i.search().return&&(s.set(b,i.search().return),i.search("return",null).replace());this.init()}])}(angular.module(portalCommon)),function(n){n.service("previewContentRequestedResolver",["$rootScope","$cookies","$routeParams",function(n,t,i){this.isPreviewContentRequested=function(){return i.preview||t.get("smc_preview")||n.preview}}])}(angular.module(portalCommon)),function(n){n.service("queryStringService",["$location",function(n){var t=this;t.getQueryStringObjectWithLowerCasedKeys=function(){var t=n.search(),i={};for(var r in t)i[r.toLowerCase()]=t[r];return i};t.getQueryStringValue=function(n){var r=t.getQueryStringObjectWithLowerCasedKeys(),i=r[n.toLowerCase()];return i?i.toString():undefined};t.createQueryStringFromObject=function(n){var i,r,t;if(typeof n!="object"||n===null)return"";i="";r=!0;for(t in n)n.hasOwnProperty(t)&&(typeof n[t]=="string"||typeof n[t]=="boolean"||typeof n[t]=="number")&&n[t]!==""&&(r?(i+="?",r=!1):i+="&",i+=t+"="+encodeURIComponent(n[t].toString()));return i}}])}(angular.module(portalCommon)),function(n){n.provider("resourceLoaderService",[function(){var n=null;this.setResourceURLPrefix=function(t){n=t};this.$get=["$q","$document","qosTelemetryService",function(t,i,r){return{loadCSS:function(u){u=n?n+u:u;var f=t.defer(),e=r.createEvent(r.eventTypes.app.downloadCSS);return i[0].createStyleSheet?(i[0].createStyleSheet(u),f.resolve(),e.resolve(),f.promise):(angular.element("head").append(angular.element('<link rel="stylesheet" type="text/css" />').attr("href",u).on("load",function(){e.resolve();f.resolve()}).on("error",function(){e.reject();f.reject()})),f.promise)}}}]}])}(angular.module(portalCommon)),function(n){n.directive("scrollTo",["$location","$anchorScroll","$log","$timeout",function(n,t,i,r){return{restrict:"A",link:function(i,u,f){u.bind("click",function(){r(function(){f&&f.location&&(n.hash(f.location),t())})})}}}])}(angular.module(portalCommon)),function(n){n.directive("searchableDropdown",["$timeout",function(n){return{restrict:"AE",scope:{items:"=",prompt:"@",display:"@",modelObject:"=",onSelect:"&",preserveInput:"=?",resetOnClear:"=?",noLimit:"@?"},templateUrl:"/PartialViews/Common/SearchableDropdownTemplate.html",link:function(t){t.setCurrent=function(n){t.current=n};t.onItemSelected=function(i){t.model=i[t.display];t.modelObject=i;t.current=0;t.selected=!0;n(function(){t.onSelect();t.preserveInput&&t.preserveInput===!0||(t.model=null)})};t.actionOnKeyDown=function(n){if(n.keyCode==38&&t.current>0)t.current--;else if(n.keyCode==40&&t.current<t.filtered.length-1)t.current++;else if(n.keyCode==13){t.onItemSelected(t.filtered[t.current]);n.preventDefault()}};t.$watch("modelObject",function(n){t.selected&&t.modelObject==n||(t.current=0,t.selected=!1)});t.preserveInput&&t.preserveInput===!0&&(t.preserveInput&&t.preserveInput===!0&&t.modelObject&&(t.model=t.modelObject[t.display],t.selected=!0),t.resetOnClear&&t.resetOnClear===!0&&t.$watch("model",function(){t.model||(t.modelObject="",t.current=0,t.onSelect())}))}}}])}(angular.module(portalCommon)),function(n){n.service("sessionStorageService",["$window","$log",function(n,t){var i=!1;try{i=n&&n.sessionStorage;n.sessionStorage.setItem("storageTest","");n.sessionStorage.removeItem("storageTest","")}catch(r){i=!1}i||t.error("Session storage not supported");this.get=function(t){return i&&n.sessionStorage.getItem(t)?JSON.parse(n.sessionStorage.getItem(t)):null};this.set=function(t,r){i&&n.sessionStorage.setItem(t,JSON.stringify(r))}}])}(angular.module(portalCommon)),function(n){n.directive("smoothScroll",["$window","$document","$timeout",function(n,t,i){return{restrict:"A",link:function(r,u,f){function h(t){var f=c(),r=l(t),h=Math.abs(r-f),u=Math.round(h/25),v=Math.round(h/100);if(v>=o&&(v=o),u>=s&&(u=s),h<=a){n.scrollTo(0,r);return}e=i(function y(t){r>f?(t+=u,t>r&&(t=r)):(t-=u,t<r&&(t=r));n.scrollTo(0,t);t!==r&&(e=i(y.bind(this,t),v))}.bind(this,f))}function c(){return n.self.pageYOffset?n.self.pageYOffset:t[0].documentElement&&t[0].documentElement.scrollTop?t[0].documentElement.scrollTop:t[0].body&&t[0].body.scrollTop?t[0].body.scrollTop:0}function l(n){if(n){for(var i=n,r=i.offsetTop;i.offsetParent&&i.offsetParent!==t[0].body;)i=i.offsetParent,r+=i.offsetTop;return r}return 0}var e,o=parseInt(f.maxSpeed,10)||5,a=parseInt(f.minSkipDistance,10)||10,s=parseInt(f.maxStep,10)||15;r.$on("SmoothScroll",function(n,t){f.name===t&&h(u[0])});r.$on("$destroy",function(){i.cancel(e)})}}}])}(angular.module(portalCommon)),function(n){n.service("smoothScrollService",["$rootScope",function(n){this.scroll=function(t){n.$broadcast("SmoothScroll",t)}}])}(angular.module(portalCommon)),function(n){n.directive("starRating",["compassService",function(n){function t(){return n.getChatSurvey()}return{restrict:"A",templateUrl:"/PartialViews/Common/StarRating.html",scope:{ratingValue:"=value",scales:"=",view:"=?",name:"@",tooltipText:"@",max:"=?",optional:"=?",disabled:"=?",onClick:"&?"},link:function(n){n.max=n.max||5;n.stars=new Array(n.max);n.view=t()||n.view;n.rate=function(t){if(n.ratingValue=t+1,typeof n.onClick=="function")n.onClick({rating:t+1})};n.preview=function(t){n.previewValue=t+1}}}}])}(angular.module(portalCommon)),function(n){n.service("uhfService",["$http","$window",function(n,t){function i(n){return n?n.data:null}this.getL1HeaderForTheRoute=function(t,r){var u;return r?(u={params:{productIDList:r}},n.get("/api/UHF/GetL1HeaderforContentPages/",u).then(i)):(u={params:{requestedRoute:t}},n.get("/api/UHF/GetL1Header/",u).then(i))};this.swapL1Header=function(n){t&&t.msCommonShell&&t.msCommonShell.swapCategoryHeader&&n&&n.length&&t.msCommonShell.swapCategoryHeader(n)}}])}(angular.module(portalCommon)),function(n){n.service("windowService",["$window","$document","flightService",function(n,t,i){var r=630,u=420;this.openPopupCenter=function(f,e,o){var h,s;o=o||{};o.width=o.width||u;o.height=o.height||r;var c=n.screenLeft!=undefined?n.screenLeft:n.screen.left,l=n.screenTop!=undefined?n.screenTop:n.screen.top,a=n.innerWidth?n.innerWidth:t.documentElement.clientWidth?t.documentElement.clientWidth:n.screen.width,v=n.innerHeight?n.innerHeight:t.documentElement.clientHeight?t.documentElement.clientHeight:n.screen.height;return o.left=a/2-o.width/2+c,o.top=v/2-o.height/2+l,i.isUserInFlight("vac-23")&&(o.left=o.left<0?0:o.left,o.top=o.top<0?0:o.top),h=Object.keys(o).map(function(n){return n+"="+o[n]}).join(","),s=n.open(f,e,h),s.focus&&s.focus(),s}}])}(angular.module(portalCommon)),function(n){n.filter("compassFormat",["languageService",function(n){return function(t,i){var r=t,u,f;if(r=r&&r.replace(/{lang-locale}/g,n.langLocale()),!r||!angular.isObject(i))return r;for(u in i)while(r.indexOf("{"+u+"}")>=0)f=new RegExp("\\{"+u+"\\}","g"),(i[u]===null||i[u]===undefined)&&(r=r.replace(f,"")),r=r.replace(f,i[u]);return r}}])}(angular.module(portalCommon)),function(n){n.service("compassService",["$q","$log","$rootScope","$cookies","contentApiService","currentLanguageService","clientConfig","localStorageService","locationService",function(n,t,i,r,u,f,e,o){function a(n){var t=s(n);return t||c("commercial"),t}function s(n,t){return t&&h&&h[n]&&h[n][t]?h[n][t]:!t&&h&&h[n]?h[n]:null}function c(n,t){var r;return p[n]?r=p[n]:(r=n!="allproducts/"&&n.indexOf("products/")>-1?u.getCompassContentForProductPages(n):u.getCompassContentForPage(n),p[n]=r,r.then(function(n){if(n){if(n.data){if(t)t(n.data);else for(var r in n.data)h[r]=n.data[r];o.commit(k(),h)}i.$broadcast("CompassContentReady")}else i.$broadcast("500Error",{reason:"Failed to load compass content",response:n})},function(n){n&&n.status&&n.status==404&&i.$broadcast("404Error",{reason:"Compass content not found",response:n})})["finally"](function(){p[n]&&(p[n]=null)})),r}function k(){return b.compassContentKey}function d(t){return h[t.key]?n.when(h[t.key]):c(t.url).then(function(n){return n.data[t.key]})}function v(t){var i=b.contentNodes.filter(function(n){return n.key===t})[0];return h[i.key]?n.when(h[i.key]):c(i.url)}var h={},p={},b={compassContentKey:"CompassContent",contentNodes:[{condition:"",key:"search",url:""},{condition:"menu",key:"menus",url:"menu/"},{condition:"contactus",key:"landingPage",url:"contactus/"},{condition:"chat",key:"chat",url:"menu/"},{condition:"callback",key:"callback",url:"menu/"},{condition:"schedulecallback",key:"callback",url:"menu/"},{condition:"form",key:"form",url:"menu/"},{condition:"allproducts",key:"allProducts",url:"allproducts/"},{condition:"products",key:"productHubPage",url:"products/"},{condition:"search",key:"searchResults",url:"searchresults/"},{condition:"enterprise",key:"menus",url:"menu/"},{condition:"partner",key:"menus",url:"menu/"},{condition:"rat-phone",key:"menus",url:"menu/"},{condition:"commercial",key:"commercial",url:"commercial/"},{condition:"premier",key:"commercial",url:"commercial/"},{condition:"devices",key:"devices",url:"devices/"},{condition:"deviceselector",key:"devices",url:"deviceselector/"},{condition:"acpowercord",key:"devices",url:"acpowercord/"},{condition:"kinectadapter",key:"devices",url:"kinectadapter/"},{condition:"virtual-agent",key:"virtualAgent",url:"virtual-agent/"},{condition:"lifecycle",key:"lifecycle",url:"lifecycle/"},{condition:"enterpriseanswerdesk",key:"enterpriseanswerdesk",url:"enterpriseanswerdesk/"},{condition:"enterpriseanswerdeskv2",key:"enterpriseanswerdesk",url:"enterpriseanswerdeskv2/"},{condition:"verifyme",key:"verifyme",url:"verifyme/"},{condition:"fileexchange",key:"fileexchange",url:"fileexchange/"},{condition:"surfacerecoveryimage",key:"surfacerecoveryimage",url:"surfacerecoveryimage/"},{condition:"supportforbusiness",key:"supportforbusiness",url:"supportforbusiness/"}]},w="productMenus",l="productHubPages",y="landingPage",g="disabilityanswerdesk",nt="enterpriseanswerdesk";this.getContentNodes=function(){return b.contentNodes};this.clearCache=function(){h={};p={};o.invalidateCache()};this.fetchContent=function(n){var s,l,o,u;for(r.get("smc_preview")&&(t.info("Preview mode: cache wiped for new fetch"),this.clearCache()),s=f.getLang(),pathParts=n.split("/"),s&&pathParts[0].toUpperCase()===s.toUpperCase()&&pathParts.shift(),l="",l=n.indexOf("products/")>-1?n:pathParts&&pathParts.length>=1?pathParts[0]:null,o=0;o<b.contentNodes.length;o++)if(u=b.contentNodes[o],u&&l===u.condition){h&&h[u.key]?(t.info("Cache hit for node",u),i.$broadcast("CompassContentReady")):(t.info("fetchContent internalFetch:"+n),c(u.url));break}e&&e.IsVirtualAgent||h&&h.search||c("")};this.getContent=function(n,t){return s(n,t)};this.getPageInfo=function(){return s("basePage")};this.getMenu=function(t){return s("menus",t)?n.resolve(s("menus",t)):c("menu").then(function(){return s("menus",t)})};this.getContactUsHeader=function(){return h.contactUsHeader?n.resolve(h.contactUsHeader):v(y).then(function(n){return n&&n.data&&n.data.contactUsHeader})};this.getVirtualAgent=function(){return d({key:"virtualAgent",url:"virtual-agent/"})};this.getVirtualAgentEntry=function(){return h&&h.virtualAgentEntry};this.getAccessibilityView=function(){return h.accessibilityView?n.when(h.accessibilityView):c(g).then(function(n){return n&&n.data&&n.data.accessibilityView})};this.getEnterpriseAccessibilityView=function(){return h.enterpriseAccessibilityView?n.resolve(h.enterpriseAccessibilityView):c(nt).then(function(n){return n&&n.data&&n.data.enterpriseAccessibilityView})};this.getEnterpriseAccessibilityV2View=function(){return h.enterpriseAccessibilityV2View?n.resolve(h.enterpriseAccessibilityV2View):c("enterpriseanswerdeskv2").then(function(n){return n&&n.data&&n.data.enterpriseAccessibilityV2View})};this.getHoursOfOperationView=function(){return h.hoursOfOperationView?n.resolve(h.hoursOfOperationView):v(y).then(function(n){return n&&n.data&&n.data.hoursOfOperationView})};this.getMLProblemClassificationSupportedLocales=function(){return h.mLProblemClassificationSupportedLocales?n.resolve(h.mLProblemClassificationSupportedLocales):v(y).then(function(n){return n&&n.data&&n.data.mLProblemClassificationSupportedLocales})};this.getContactUsView=function(){return h.contactUsView?n.resolve(h.contactUsView):v(y).then(function(n){return n&&n.data&&n.data.contactUsView})};this.getSigninNextComponentView=function(){return h.signinNextComponentView?n.resolve(h.signinNextComponentView):v(y).then(function(n){return n&&n.data&&n.data.signinNextComponentView})};this.getInstantAnswerView=function(){return h.instantAnswerView?n.resolve(h.instantAnswerView):v(y).then(function(n){return n&&n.data&&n.data.instantAnswerView})};this.getContactUsProducts=function(){return h.landingPage?n.resolve(h.landingPage):v(y).then(function(n){return n&&n.data&&n.data.landingPage})};this.getContactUsMenu=function(t){if(t==="contactus/")return this.getContactUsProducts();var i=s(w,t);return i?n.resolve(i):c(t,function(n){var t=n[w];h[w]||(h[w]={});for(contactusProductPage in t)h[w][contactusProductPage]=t[contactusProductPage]}).then(function(){return s(w,t)})};this.getContactUsMenuLinks=function(n){return this.getContactUsMenu(n).then(function(n){return n.links&&n.links.length>0?n.links:null})};this.getMenuExtras=function(){var n=s("menuExtras");return n&&n.menuExtras?{icon:n.menuExtraIcon,extras:n.menuExtras.links}:null};this.getPageSubjectId=function(n){var t=n&&n.subjectId,r,i,u;if(t&&t>=0)return t;for(r=0;r<n.links.length;r++)if(i=n.links[r].link.linkUrl,(i.indexOf("/chat/")>-1||i.indexOf("/callback/")>-1||i.indexOf("/phone/")>-1||i.indexOf("/form/")>-1)&&(u=i.split("/"),u.length>=3&&u[2]!=="{subject-id}")){if(t=parseInt(u[2],10),isNaN(t))continue;return t}return undefined};this.getMenuOptionsForId=function(n){return this.getMenu().then(function(t){var i,r;if(t)for(r in t)if(i=t[r],i.hasModality&&this.getPageSubjectId(i)===n)return i.links;return null}.bind(this))};this.getChat=function(){return s("chat")};this.getChatSurvey=function(){return s("chat","survey")};this.getCallback=function(){return s("callback")};this.getWaitStatusText=function(){return this.getContactUsView().then(function(n){return n&&{waitTimeSingular:n.waitTimeSingular,waitTimePlural:n.waitTimePlural,usersWaitingSingular:n.usersWaitingCountTextSingular,usersWaitingPlural:n.usersWaitingCountTextPlural,connecting:n.connectingWait}})};this.getSupportedLocales=function(){return s("callback","supportedLocales")};this.getUnauthForm=function(){return s("form")};this.getServiceAgreement=function(){var n=s("serviceAgreement"),t=s("serviceAgreementLink");return n&&t?{serviceAgreement:n,serviceAgreementLink:t}:null};this.getComingSoon=function(){return s("comingSoon")};this.getContactHeader=function(){return s("contactHeader")};this.getStepConfig=function(){return s("stepListConfig")};this.getContactSupportIcon=function(){return s("contactSupportIcon")};this.getPasscode=function(){return s("passcode")};this.getMicrosoftLogo=function(){return s("microsoftLogo")};this.getMicrosoftLogoAlt=function(){return s("microsoftLogoAlt")};this.getNavigationInterrupted=function(){return s("navigationInterrupted")};this.getSearchView=function(){return s("search")};this.getSearchResultsView=function(){return s("searchResults")};this.getProductView=function(){return s("products")};this.getProductHubPage=function(){return s("products")};this.getProductsMasterList=function(){return s("productsMasterList")};this.getDevicesView=function(){return s("devicesView")};this.getSurfaceRecoveryImageView=function(){return s("surfaceRecoveryImageView")};this.getlifecycleHomepageView=function(){return h.lifecycleHomepageView?n.when(h.lifecycleHomepageView):c("lifecycle").then(function(n){return n&&n.data&&n.data.lifecycleHomepageView})};this.getlifecycleSearchPageView=function(){return h.lifecycleSearchPageView?n.when(h.lifecycleSearchPageView):c("lifecycle").then(function(n){return n&&n.data&&n.data.lifecycleSearchPageView})};this.getVerifyMePageView=function(){return h.verifymePageView?n.when(h.verifymePageView):c("verifyme").then(function(n){return n&&n.data&&n.data.verifymePageView})};this.getFileExchangePageView=function(){return h.fileExchangeView?n.when(h.fileExchangeView):c("fileexchange").then(function(n){return n&&n.data&&n.data.fileExchangeView})};this.getRouteChangeConfig=function(){return h.routeChangeConfig?n.resolve(h.routeChangeConfig):c("routechange").then(function(n){return n&&n.data})};this.getOrdersView=function(){return s("ordersView")};this.getDeviceRegistrationView=function(){return s("deviceRegistrationView")};this.getLinkFarm=function(){return s("linkFarm")};this.getHeroView=function(){return s("heroView")};this.getBroadCommercialView=function(){return s("broadCommercialView")};this.getCommercialHubView=function(){return a("commercialHub")};this.getCommercialIncidentsHub=function(){return a("commercialIncidentsHub")};this.getCreateIncidentsHub=function(){return a("createIncidentsHub")};this.getIncidentDetailHub=function(){return a("incidentDetailHub")};this.getPremierHomeView=function(){return a("premierHomepage")};this.getPremierHomeView2=function(){return a("premierHomepage2")};this.getManageAccountHub=function(){return a("manageAccountHub")};this.getCommercialContactsHub=function(){return a("commercialContactsHub")};this.getCommercialServiceErrorMessages=function(){return a("serviceErrorMessages")};this.getCreateCaseHubAsync=function(){return h.createCasesHub?n.when(h.createCasesHub):c("commercial").then(function(n){return n.data.createCasesHub})};this.getBackText=function(){return s("basePage","contactSupportBack")};this.getCloseText=function(){return s("basePage","contactSupportClose")};this.getLanguageSelectorTitle=function(){return s("basePage","languageSelectorTitle")};this.getLanguageSelectorCloseAltText=function(){return s("basePage","languageSelectorCloseAltText")};this.getLanguages=function(){return s("basePage","languages")?n.resolve(s("basePage","languages")):c("").then(function(){return s("basePage","languages")})};this.getFeedbackCtrl=function(){return s("basePage","feedback")};this.getF1Footer=function(){return s("basePage","f1Footer")};this.getSelfhostFeedback=function(){return s("basePage","selfHostFeedbackView")};this.getOfflineMessage=function(){return s("basePage","offlineMessage")};this.getNotificationBanner=function(){return s("basePage","notificationBanner")};this.getNotificationBannersList=function(){return s("basePage","notificationBannersList")};this.getSmcEngagementValue=function(){return s("basePage","smcEngagementValue")?n.resolve(s("basePage","smcEngagementValue")):c("").then(function(){return s("basePage","smcEngagementValue")})};this.getAllProducts=function(){return s("allProducts")};this.getProductPage=function(){return s("productHubPage")};this.getProductPageCommonView=function(){return s("productPagesCommonView")};this.getProductDetails=function(n){var e=langLocale="/"+f.getLang().toLowerCase()+"/"+n,a=n+"/",o=e+"/",t=s(l,n),r,u;return t||(r=s(l,a)),u=!1,t||r?u=!0:(t=s(l,e),r=s(l,o),t||r?u=!0:(u=!1,c(n,function(c){var g=n.indexOf("?os=")>0?!0:!1,v="",y,p,w,b,k,d;g?v=n.substring(0,n.indexOf("?")):(y=n.lastIndexOf("/"),y=y==-1?n.length:y+1,v=n.substring(0,y));p=langLocale="/"+f.getLang().toLowerCase()+"/"+v;w=c[l];h[l]||(h[l]={});b=!1;k=0;for(productHubPage in w)k++,d={ProductHubPages:w[productHubPage],ProductCommonView:c.productPagesCommonView},h[l][productHubPage]=d,(n==productHubPage||e==productHubPage||a==productHubPage||o==productHubPage)&&(u=!0,t=s(l,e),t||(r=s(l,o))),(v==productHubPage||p==productHubPage||v+"/"==productHubPage||p+"/"==productHubPage)&&(b=!0);!u&&b&&k>1&&i.$broadcast("404Error",{reason:"Compass content not found",response:"404 Error - Compass Content Not Found"})}))),t||(t=r),t};this.getFrePage=function(t){var i=n.defer();return h&&h.fre&&h.fre[t]?i.resolve(h.fre[t]):c("fre/"+t).then(function(n){h.fre=h.fre||{};h.fre[t]=n.data;i.resolve(n.data)},function(n){i.reject(n)}),i.promise};this.getContentSurvey=function(){return s("contentView","contentSurvey")};this.getContentProperties=function(){return s("contentView","contentProperties")};this.getContentProductPicker=function(){return s("contentView","contentProductPicker")};this.getContentMediaWidget=function(){return s("contentView","contentMediaWidget")};this.getKbReferenceText=function(){return s("contentView","kbReference")};this.getMachineTranslation=function(){return s("contentView","machineTranslation")};this.getSelected=function(){return s("contentView","selected")};this.getErrorStatusCodeSearch=function(){return s("contentView","errorStatusCodeSearch")};this.getSearch404Captions=function(){return s("contentView","search404Captions")};this.getArticlePerformance=function(){return s("contentView","articlePerformance")};this.getProductList=function(){var t=n.defer();return h.productsInformation&&h.productsInformation.products?t.resolve(h.productsInformation.products):c("productsConfig").then(function(n){n&&n.data&&n.data.productsInformation&&n.data.productsInformation.products?t.resolve(n.data.productsInformation.products):t.reject("Products missing from compass config")}),t.promise};this.getProduct=function(t){var i=n.defer();return this.getProductList().then(function(n){var r=n.filter(function(n){return n&&n.ecoId==t});r.length==1?i.resolve(r[0]):i.reject("Product not found")}),i.promise};this.getLocaleMapping=function(){var t=n.defer();return h.mappingRules?t.resolve(h.mappingRules):c("localeMapping").then(function(n){n&&n.data&&n.data.mappingRules?t.resolve(n.data.mappingRules):t.reject("Locale mappings list not found")}),t.promise};this.getCollapsibleContentProperties=function(){return s("contentView","collapsibleContentProperties")};this.getInternalContentProperties=function(){return s("contentView","internalContentProperties")};this.getKbBanners=function(){return s("contentView","kbBanners")};this.getKbHotfixCaption=function(){return s("contentView","kbHotfixCaption")};this.getKbRetiredCaption=function(){return s("contentView","kbRetired")};this.getContentIframe=function(){return s("contentView","contentIframe")};this.getPlayVideoCaption=function(){return s("contentView","playVideoCaption")};h=e.SiteContentConfig&&e.SiteContentConfig.ClientCompassCachingEnabled&&e.SiteContentConfig.ClientCompassCacheTimeout?o.getCacheContent(k())||{}:{}}])}(angular.module(portalCommon)),function(n){n.service("contentApiService",["clientConfig","$q","currentLanguageService","restDataService","$log","previewService",function(n,t,i,r,u,f){var o={},h=typeof microsoft!="undefined"&&microsoft.support&&microsoft.support.prefetchedArticle,e,s;h&&!f.isPreview()&&(o=angular.extend(o,h));e="/api/content/";s="/app/content/api/content/";this.getAgentById=function(n){return r.get(e+"GetAgent/"+n)};this.getCompassContentForPage=function(n){return r.get(e+"GetCompassContentForPage/"+n)};this.getCompassContentForProductPages=function(n){return r.get(e+"GetCompassContentForProductPages/"+n)};this.getHelpArticle=function(n,i){var u=o[i+"/"+n],f;return u?t.when(u):(f=s+"help/"+i+"/"+n,r.get(f).then(function(n){var t=n.data;return t&&t.details.locale&&t.details.id&&(o[t.details.locale+"/"+t.details.id]=t),t}))};this.getHubDocument=function(n,i){var u=o[i+"/"+n],f;return u?t.when(u):(f=s+"hub/"+i+"/"+n,r.get(f).then(function(n){var t=n.data;return t&&t.details.locale&&t.details.id&&(o[t.details.locale+"/"+t.details.id]=t),t}))};this.getInstantAnswer=function(n){return r.get(e+"InstantAnswers/"+n)};this.getInstantAnswerForPartners=function(n,t){return r.get(s+"ia/"+t+"/"+n)};this.getAsset=function(f){var e=t.defer(),o;return n.AuthoringConfig&&n.AuthoringConfig.PreviewAssetApi?r.get("/authoring/api/content/asset/"+f+"/"+i.getLang().toLowerCase()).then(function(n){e.resolve(n)},function(n){u.error(n);e.reject("Asset not found")}):(o=s+"asset/"+i.getLang().toLowerCase()+"/"+f,r.get(o).then(function(n){e.resolve(n)},function(n){u.error(n)})),e.promise};this.getOneSiteResources=function(){return n&&n.SiteContentConfig&&n.SiteContentConfig.OneSiteEnabled?r.get(e+"OneSite"):null};this.getDevices=function(){return r.get(e+"devices/")}}])}(angular.module(portalCommon)),function(n){n.service("iframeService",["$document","$location","$log","$rootScope","$timeout","$window","compassService",function(n,t,i,r,u,f,e){this.noHostsList="no hosts list - compass not ready";this.init=function(o,s){var c=!1,l=e.getContentIframe(),p,v,h,a,y;if(l&&l.iframeContentHosts)p=l.iframeContentHosts;else return this.noHostsList;if(v=!1,l.iframeTestEnvironments&&angular.forEach(l.iframeTestEnvironments,function(n){n==t.host()&&(v=!0)}),h=o,h=h.indexOf("://")>-1?h.split("/")[2]:h.split("/")[0],h=h.split(":")[0],v?(c=!0,h="*"):angular.forEach(p,function(n){n&&h&&h.indexOf(n)>=0&&(c=!0,h=o)}),!c)return i.warn("Unknown iframe host: "+o),c;n.on("click","a:not(a[id])",function(){var t=$(this).attr("href"),n;t&&(n=this.href,n.protocol=="http"&&(n.protocol="https",$(this).attr("href",n)),$(this).attr("target","_parent"))});return a=null,y=function(n){a&&clearTimeout(a);a=u(function(){var t=n==0?n:n+1;s.postMessage(t,h)},5)},r.$watch(function(){return n[0].body.offsetHeight},function(){u(function(){y(n[0].body.offsetHeight)},0)}),angular.element(f).bind("resize",function(){y(n[0].body.offsetHeight)}),f.mscc&&(f.mscc.interactiveConsentEnabled=!1),i.info("Page has been iframed by "+o),c}}])}(angular.module(portalCommon)),function(n){n.service("productsService",["$http","$q","$log","sessionStorageService","clientConfig","currentLanguageService",function(n,t,i,r,u,f){function o(n){var t=[];return n&&n.length&&e&&!angular.equals(e,{})&&angular.forEach(n,function(n){n&&e[n.controlType]&&t.push(n)}),t}var e={textArea:!0,textBox:!0};this.getSupportTopics=function(i){var o=f.getLang(),u="supportTopics,"+o+","+i,e=r.get(u);return e?t.when(e):n.get("/api/products/"+i+"/topics",{httpAppOptions:{cacheBust:!0,qosOperation:{name:"ProductsService.GetSupportTopics",description:"Get support topics for a product"}}}).then(function(n){var t=n.data;return r.set(u,t),t})};this.getScopingQuestions=function(i,u){var s,e,a=f.getLang(),h,c,l;return u&&(s=e=u[0].id,u[1]&&(e=u[1].id)),h="scopingQuestions,"+a+","+s+","+e,c=r.get(h),c?t.when(c):(l="/api/products/"+i+"/topics/"+s+"/subtopics/"+e+"/questions",n.get(l,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"ProductsService.GetScopingQuestions",description:"Get support topics for a product"}}}).then(function(n){var t=n.data;return t=o(t),r.set(h,t),t}))};this.getCustomScopingQuestions=function(i){var c=f.getLang(),e="customScopingQuestions,"+c+","+i,s=r.get(e),l,h;return s?t.when(s):(l=u.ProductsServiceConfig.BaseUrl,h="/api/customsq/"+i,n.get(h,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"ProductsService.GetCustomScopingQuestions",description:"Get custom scoping questions"}}}).then(function(n){var t=n.data;return t=o(t),r.set(e,t),t}))};this.getDiagnosticMetadata=function(i,e){var c=f.getLang(),o="diagnosticMetadata,"+c+","+i+","+e,s=r.get(o),l,h;return s?t.when(s):(l=u.ProductsServiceConfig.BaseUrl,h="/api/products/"+i+"/topics/"+e+"/assets",n.get(h,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"ProductsService.GetDiagnosticMetadata",description:"Get diagnostic metadata"}}}).then(function(n){var t=n.data,i=t&&t.diagnostic;return r.set(o,i),i}))};this.getProductList=function(i){var a=f.getLang(),v="productList-"+a,s=[],h=[],e=r.get(v)||{},o,c,l;if(e){for(o=0;o<i.length;o++)c=i[o],l=e[c],l?s.push(l):h.push(c);return h.length==0?t.when(s):n.get(u.ProductsServiceConfig.BaseUrl+"/api/"+a+"/products/gds?gdsid="+h.join().trim(),{httpAppOptions:{cacheBust:!0,qosOperation:{name:"ProductsService.GetProductsList",description:"Get products list by Ids"}}}).then(function(n){for(var t,i=n.data,u=0;u<i.length;u++)t=i[u],t&&t.gdsId&&(e[t.gdsId]=t);return r.set(v,e),s.concat(i)},function(){return t.reject("ProductsService - Unable to retrieve product list")})}};this.getAllProducts=function(){var s=f.getLang(),o="allproducts",e=r.get(o);return e&&e.expiry&&e.expiry>(new Date).getTime()&&e.products?t.when(e.products):u&&u.ProductsServiceConfig&&u.ProductsServiceConfig.BaseUrl?n.get(u.ProductsServiceConfig.BaseUrl+"/api/"+s+"/products/gds",{httpAppOptions:{cacheBust:!0,qosOperation:{name:"ProductsService.GetAllProducts",description:"Get All known products"}}}).then(function(n){var t=n.data;return t&&t.length>0&&r.set(o,{products:t,expiry:(new Date).getTime()+36e5}),t},function(){return t.reject("ProductsService - Unable to retrieve all product list")}):(i.warn("no product service configuration found"),t.when([]))}}])}(angular.module(portalCommon)),function(n){n.service("restDataService",["$http","$q","$httpParamSerializer","localStorageCacheProvider",function(n,t,i,r){function f(n,t){return r.getValue(n+(t?"?"+i(t):""))}function e(n,t,u){r.setValue(n+(t?"?"+i(t):""),u)}function o(t,i){var r={httpAppOptions:{cacheBust:!0,allowPreview:!0}};return i=i?angular.extend(i,r):r,n.get(t,i)}var u=this;u.get=function(n,i,r,u){var s,h;return(u=typeof u=="undefined"?!1:!!u,u&&(s=f(n,i),s))?t.resolve(s):(h={},r&&(h.qosOperation=r),o(n,{params:angular.extend({},i),httpAppOptions:h}).then(function(t){return u&&e(n,i,t),t}))};u.getData=function(n,t,i,r){return u.get(n,t,i,r).then(function(n){return n.data})};u.post=function(t,r,u,f){var o=t+(r?"?"+i(r):""),e={};return f&&(e.qosOperation=f),n.post(o,u,e).then(function(n){return n.data})}}])}(angular.module(portalCommon)),function(n){n.service("flightService",["$document","$cookies","$window","$log","sessionStorageService","metaTagsService","qosTelemetryService",function(n,t,i){var u=this,r={flightCookie:"smc_expid",flightSeparator:"|",eventName:"interacted-with-flight"};this.isUserInFlight=function(n,t){var i=u.getUserFlights();return i&&(t||typeof n=="string")?i.some(function(i){return t?i.match(new RegExp(n)):i.toLowerCase()===n.toLowerCase()}):!1};this.getUserFlights=function(){var n=[],i;return t&&typeof t.get(r.flightCookie)=="string"&&(i=t.get(r.flightCookie).toLowerCase(),i&&(n=n.concat(i.split(r.flightSeparator)))),n};this.isUserInAnyFlight=function(n){return n.some(function(n){return u.isUserInFlight(n)})};this.logFlightInteraction=function(n){i.awa&&i.awa.ct&&i.awa.ct.captureContentPageAction({behavior:i.awa.behavior.EXPERIMENTATION,content:{contentId:r.eventName,contentName:n},isManual:!0})}}])}(angular.module(portalCommon)),function(n){n.value("assistedSupportCommonConstants",{get getHelpAppProtocol(){return"ms-contact-support://"},get assistedSupportIdKey(){return"ms-asid"},get correlationVectorKey(){return"ms-cv"},get traditionalIsNativeKey(){return"isNative"}})}(angular.module(portalCommon)),function(n){n.service("getHelpRedirectionService",["$cookies","$location","$window","$rootScope","osService","assistedSupportCommonConstants","getHelpRedirectionEvents","queryStringService","nativeExperienceCheckerService","sdkProxyService","guidGenerator",function(n,t,i,r,u,f,e,o,s,h,c){function y(t,i){var r={},u=n.get(w)||"";return r[p]=u,r[f.correlationVectorKey]=t,r[f.assistedSupportIdKey]=v(),f.getHelpAppProtocol+i+o.createQueryStringFromObject(r)||""}function a(n,t){var i=angular.copy(t||{});i[f.assistedSupportIdKey]=v();r.$broadcast(n,i)}function v(){return l=l||n.get(f.assistedSupportIdKey),l||(n.put(f.assistedSupportIdKey,c.newGuid(),{secure:!0}),l=n.get(f.assistedSupportIdKey)),l}var k=this,p="flighting",w="smc_expid",l="",b=["sg1.support.services.microsoft.com","dev.support.services.microsoft.com","staging.support.services.microsoft.com","support-uat.microsoft.com"];this.canRedirectToGetHelpApp=function(){var n=u.determineOS().toLowerCase()==="windows 10",i=!!o.getQueryStringValue("noghredir")&&b.indexOf(t.host().toLowerCase())>=0,r=!!s.isLegacyNative(),f=!!h.isInSdk()&&h.config.hostType==h.hostTypes.UWP;return a(e.testedForRedirection,{meetsOsRequirements:n,isDevEject:i,isRunningNativeLegacy:r,isRunningUwp:f}),n&&!f&&!r&&!i};this.redirectToGetHelpApp=function(n){var t="",u=c.newGuid(),r;i&&i.awa&&i.awa.cv&&angular.isFunction(i.awa.cv.increment)&&(t=i.awa.cv.increment());r={getHelpPartnerId:n,redirectIterationId:u};r[f.correlationVectorKey]=t;a(e.redirected,r);i.open(y(t,n),"_self")}}])}(angular.module(portalCommon)),function(n){n.value("getHelpRedirectionEvents",{testedForRedirection:"as-ghrd-tested-for-redirection",redirected:"as-ghrd-redirected"});n.service("getHelpRedirectionTelemetryService",["$rootScope","$log","queryStringService","baseTelemetryService","basicTelemetryEvents","wedcsService","getHelpRedirectionEvents",function(n,t,i,r,u,f,e){function s(n,r){var u=!!i.getQueryStringValue("enableASLogging");u&&t.info(JSON.stringify(n)+(r?" -- "+JSON.stringify(r):""))}function o(n,t,i,u){var e=angular.extend({},t||{},i||{});r.pushCustomPageActionEvent(n,u,e);f.logCustomEvent(n,"assisted-support",{"ms.scvalue":JSON.stringify(e)});s(n,e)}var h=this;n.$on(e.testedForRedirection,function(n,t){o(n.name,t,null,u.startProcess)});n.$on(e.redirected,function(n,t){o(n.name,t)})}])}(angular.module(portalCommon)),function(n){n.service("nativeExperienceCheckerService",["$cookies","assistedSupportCommonConstants","queryStringService",function(n,t,i){this.isLegacyNative=function(){var r=i.getQueryStringValue(t.traditionalIsNativeKey);return typeof r!="undefined"?!!r:!!n.get(t.traditionalIsNativeKey)}}])}(angular.module(portalCommon)),function(n){n.directive("hipScript",["clientConfig","languageService","getScriptService","qosTelemetryService",function(n,t,i,r){function u(){return Math.floor(Math.random()*1e11)}var f=function(f,e){var o=r.createEvent(r.eventTypes.hip.download),s=n.HipConfig.WebEndpoint+"/GetHIP/GetHipObject/"+e+"?mkt="+t.langLocale()+"&fid="+u()+"&id="+n.HipConfig.PartnerId+"&type=visual&rnd="+u();i.addScript(s,{element:f,timeout:n.ChatConfig.ChatDefaultTimeout}).then(function(){o.resolve()},function(n){o.reject(n)})};return{restrict:"A",compile:function(n,t){f(n,t.objectName)}}}])}(angular.module(portalCommon)),function(n){n.service("currentLanguageService",["$document","$log","clientConfig",function(n,t,i){this.setLang=function(n){var i=n==null?location.pathname.split("?")[0].substring(1):n.locale,t=h(i);return(t!=null?r("SMCsiteLang",t):r("SMCsiteLang",n.locale),e(n.direction),t!=null)?t:n.locale};this.getLang=function(){return u("SMCsiteLang")||"en-US"};this.getDirection=function(){return u("SMCsiteDir")||"ltr"};this.setDirection=function(n){return e(n)};this.getFallbackLocaleReverseLookup=function(n){var t=o();for(var i in t)if(t[i].Fallback==n)return t[i].Locale;return null};var s="."+window.location.host,f="; Domain="+s+";secure;expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/",r=function(i,r){n[0].cookie=i+"="+r+f;t.info("Set Cookie to:"+i+"="+r+f)},u=function(t){return!t||!n[0]?null:decodeURIComponent(n[0].cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},e=function(n){var t=u("SMCsiteDir");return(r("SMCsiteDir",n),n!=t)?!0:!1},h=function(n){var t=o();for(var i in t)if(t[i].Locale==n)return t[i].Fallback;return null},o=function(){if(i&&i.SupportedLocalesConfig&&i.SupportedLocalesConfig.LanguageFallbacks)return i.SupportedLocalesConfig.LanguageFallbacks}}])}(angular.module(portalCommon)),function(n){n.controller("LanguageController",["$window","$scope","$document","languageService","clientConfig","compassService","$timeout",function(n,t,i,r,u,f,e){t.displayLanguageSelector=!1;t.columns=[];t.languageSelectorTitle="";var h=4,s=function(){r.languages().then(function(n){var i=Object.keys(n),r=i.length/h;t.columns=i.reduce(function(t,i){return t.push(n[i]),t},[]).sort(function(n,t){return n.displayName<=t.displayName?-1:n.displayName>t.displayName?1:0}).reduce(function(n,t,i){var u=Math.floor(i/r);return n[u]||(n[u]=[]),n[u].push(t),n},[])});t.languageSelectorTitle=f.getLanguageSelectorTitle();t.languageSelectorCloseAltText=f.getLanguageSelectorCloseAltText()},o=function(t){var i=angular.element(t);i.focus();n.scrollTo(0,i.offset().top)};t.setLanguage=function(n){r.set(n)};t.closeClick=function(){t.displayLanguageSelector=!1;o("#locale-picker-link")};t.$on("languageSelectorClicked",function(){u&&u.SiteContentConfig&&u.SiteContentConfig.LanguageSelectorEnabled&&(t.displayLanguageSelector?(t.displayLanguageSelector=!1,o("#locale-picker-link")):(t.displayLanguageSelector=!0,e(function(){o("#language-selector-title")},0)))});t.$on("CompassContentReady",function(){s()});s()}])}(angular.module(portalCommon)),function(n){n.directive("languaugeselector",["$rootScope",function(){return{restrict:"A",link:function(){$(document).ready(function(){$('a[id="locale-picker-link"]').on("click",function(n){n.preventDefault();var t=new URL(document.getElementById("locale-picker-link").getAttribute("href"));t.searchParams.append("returnURL",window.location.href);window.location=t.toString()})})}}}])}(angular.module(portalCommon)),function(n){n.service("languageService",["$routeParams","$location","$q","currentLanguageService","compassService","locationService","clientConfig",function(n,t,i,r,u,f,e){var o={},c="displayName",s="",h;this.set=function(n,t){var i=r.getLang().toLowerCase(),u=r.setLang(n).toLowerCase(),e;i!=u&&(f.getCurrentPath().indexOf(i)==-1&&(i=r.getFallbackLocaleReverseLookup(i)),e=f.getCurrentPath().replace(i.toLowerCase(),u),t||f.setPathAndReload(e))};this.redirectWithLocale=function(n){return n!=this.langLocale()&&!r.getFallbackLocaleReverseLookup(n)?(t.path("/"+this.langLocale()+t.path()).replace(),!0):!1};this.langLocale=function(){return r.getLang().toLowerCase()};this.currentDirection=function(){return r.getDirection().toLowerCase()};this.currentLanguage=function(){var n=this.langLocale().toLowerCase();if(o[n])return o[n][c]};this.getLanguageInfo=function(n){var t,i;return!n||Object.keys(o).length===0||!(t=o[n.toLowerCase()])?null:(i=t.displayName.split("-"),angular.extend({country:i[0].trim(),language:i[1].trim()},t))};this.lang=function(){var t=this.langLocale(),n=t.split("-");return n.length>1&&n.pop(),n.join("-")};this.locale=function(){var t=this.langLocale(),n=t.split("-");return n[n.length-1]};this.languages=function(){return o[0]?i.resolve(o):u.getLanguages().then(function(n){return o=n})};this.languageSelectorTitle=function(){return s||(s=u.getLanguageSelectorTitle()),s};this.getSupportedLanguageForGivenCountry=function(n){var i=h(),r,t;for(r in i)if(t=i[r].Locale.split("-"),t[t.length-1].toLowerCase()==n.toLowerCase())return t[0];return null};h=function(){if(e&&e.SupportedLocalesConfig&&e.SupportedLocalesConfig.LanguageFallbacks)return e.SupportedLocalesConfig.LanguageFallbacks};n.langLocale&&this.set(n.langLocale)}])}(angular.module(portalCommon)),function(n){n.directive("textDirection",["currentLanguageService",function(n){return{restrict:"A",compile:function(t){var i=n.getDirection();t.removeAttr("text-direction");t.attr("dir",i);i==="rtl"&&t.addClass("css-rtl")}}}])}(angular.module(portalCommon)),function(n){n.provider("mwfModalService",function(){return{$get:["$compile","$document","$q","$rootScope","$templateCache","$controller","$window",function(n,t,i,r,u,f,e){function h(){return++k}function c(){return angular.isDefined(e.mwf)&&angular.isDefined(e.mwf.ComponentFactory)}function l(n){o.push(n)}function s(n){angular.isString(n)&&(n=parseInt(n));for(var t=0;t<o.length;t++)if(o[t].id===n)return o[t]}function a(n){var t=s(n);t&&t.modalRenderedDeferred&&t.modalRenderedDeferred.resolve(t)}function v(n,t){var i=s(n);i&&(i.mwfComponent=t)}function y(n){if(angular.isString(n))for(var t=0;t<o.length;t++)if(o[t].templateUrl===n)return o[t]}function p(t){var i;if(t.controller&&(i=document.querySelector(t.selector),i)){var e=t.scope||r.$new(),o=n(i)(e),u={$scope:e,$element:o,mwfDialog:t};t.locals&&(u=angular.extend(u,t.locals));f(t.controller,u)}}function w(u){var f=i.defer(),s,a,o,w;if(!(u&&u.selector&&(u.templateUrl||u.template)&&angular.isString(u.selector)&&angular.isString(u.templateUrl)))throw"createModal invalid options. Must specify templateUrl and selector parameters";return(s=y(u.templateUrl),s)?(s.mwfComponent?f.resolve(s.mwfComponent):f.resolve({error:"dialog component is missing"}),f.promise):(a=h(),o=angular.element("<modal-window><\/modal-window"),o.attr({"template-url":u.templateUrl,"modal-id":a}),n(o)(r),t[0].body.appendChild(o[0]),w={id:a,templateUrl:u.templateUrl,selector:u.selector,controller:u.controller,scope:u.scope,modalRenderedDeferred:i.defer(),modalInstanceDeferred:f,modalEl:o[0],hideCallback:u.hideCallback,showCallback:u.showCallback,locals:u.locals},l(w),w.modalRenderedDeferred.promise.then(function(n){if(!c()){f.reject({error:"mwf library is not available"});return}p(n);e.mwf.ComponentFactory.create([{c:e.mwf.Dialog,element:$(n.selector).first(),callback:function(t){var u,i,r;if(t&&t.length)for(u=document.querySelector(n.selector),i=0;i<t.length;i++)t[i].element.id===u.id&&(v(n.id,t[i]),r=t[i],angular.isFunction(n.hideCallback)&&r.subscribe({onHidden:function(){n.hideCallback(r)}}),angular.isFunction(n.showCallback)&&r.subscribe({onShown:function(){n.showCallback(r)}}),f.resolve(r))},eventToBind:"DOMContentLoaded"}])}),f.promise)}function b(n){n&&n.hide()}var k=0,o=[];return{createModal:w,hideModal:b,modalDidRender:a}}]}});n.component("modalWindow",{templateUrl:["$element","$attrs",function(n,t){return t.templateUrl}],controller:["mwfModalService","$attrs",function(n,t){var i=this;i.$postLink=function(){n.modalDidRender(t.modalId)}}]})}(angular.module(portalCommon)),function(n){n.controller("NotificationBannerController",["$scope","$rootScope","$route","$location","compassService","flightService","osService","browserService","notificationBannerService","jsllService",function(n,t,i,r,u,f,e,o,s,h){function c(){n.bannerPlacement="";l()}function a(){l()}function l(){var i,r,f;if(n.hasBanner=!1,!n.bannersList){if(i=u.getNotificationBannersList(),!i)return;n.bannersList=i}var c=o.determineBrowser(),l=e.getOS(),t=s.filterRelevantBanner(l,c,n.bannersList);t&&(n.hasBanner=!0,n.isRight=t.alignment&&t.alignment=="right"?!0:!1,n.banner=t.banner,n.bannerPlacement=s.getBannerPlacement(n.bannersList.notificationBannerLayout),n.isBannerLink=v(n.banner),r=angular.isDefined(n.banner.notificationUrl)?n.banner.notificationUrl.htmlId:"",f=angular.isDefined(n.banner.notificationUrl)?n.banner.notificationUrl.linkUrl:"",h.captureContentUpdate({isManual:!0,actionType:"O",behavior:280,content:{contentId:"notification-banner",contentName:r}}))}function v(n){return n&&n.notificationUrl&&n.notificationUrl.linkUrl&&n.notificationUrl.linkUrl!==""}n.reset=function(){c()};n.$on("$routeChangeSuccess",function(){a()});n.$on("CompassContentReady",function(){c()});n.reset()}])}(angular.module(portalCommon)),function(n){n.service("notificationBannerService",["$rootScope","$log","$location","$window","$q","compassService","languageService","osService","browserService","productPagesService","flightService",function(n,t,i,r,u,f,e,o,s,h){function a(n,t){var i="",r;return n&&n.notificationBannerList&&n.notificationBannerLayout&&(r=y.filterRelevantBanner(v,p,n),r&&(i=y.getBannerPlacement(n.notificationBannerLayout),i==""&&(i="above-search"))),t?t.resolve(i):u.resolve(i)}var v=h.getVersionValue(o.getOS()),p=s.determineBrowser(),w=e.langLocale(),y=this,l=null,c=null;this.filterRelevantBanner=function(n,t,r){var f,e,l,a,y,s,h,p,u,c,b;if(r)for(f=0;f<r.notificationBannerList.length;f++){var k=!1,d=!1,g=!1,o=r.notificationBannerList[f];if(o.notificationText&&o.notificationText!==""&&(!o||!o.notificationUrl||!o.notificationUrl.htmlId||(e=o.notificationUrl.htmlId,e!=="chrome-upgrade-download"&&e!=="ie-upgrade-download"&&e!=="mac-upgrade-download"&&e!=="windows-7-upgrade-pc"&&e!=="win8-to-win10-upgrade-banner"))){if(r.notificationBannerList[f].associatedOSList)if(l=r.notificationBannerList[f].associatedOSList.length,l==0)k=!0;else for(u=0;u<l;u++)v==r.notificationBannerList[f].associatedOSList[u]&&(k=!0);if(r.notificationBannerList[f].associatedBrowsersList)if(a=r.notificationBannerList[f].associatedBrowsersList.length,a==0)d=!0;else for(u=0;u<a;u++)t==r.notificationBannerList[f].associatedBrowsersList[u]&&(d=!0);if(r.notificationBannerList[f].associatedLocalesList)if(y=r.notificationBannerList[f].associatedLocalesList.length,y==0)g=!0;else for(u=0;u<y;u++)w==r.notificationBannerList[f].associatedLocalesList[u]&&(g=!0);if(h=!1,s=r.notificationBannerList[f].inclusionPageList,s&&s.length>0){for(u=0;u<s.length;u++)if(i.path().search(s[u])>-1){h=!0;break}}else if(h=!0,r.notificationBannerList[f].exclusionPageList)for(p=r.notificationBannerList[f].exclusionPageList,u=0;u<p.length;u++)if(i.path().search(p[u])>-1){h=!1;break}if(k==!0&&h==!0&&g==!0&&d==!0)return c=r.notificationBannerList[f],b=this.getimageClassName(c.productImageLocation),c.productImageLocation=b.imageClassName,{banner:c,alignment:b.alignment}}}};this.getimageClassName=function(n){var t="",i="";n.indexOf("banner-image")>-1&&(n=n.substring(13,n.length));switch(n){case"top-right":t="banner-image-top-right";i="right";break;case"bottom-right":t="banner-image-bottom-right";i="right";break;case"right":t="banner-image-right";i="right";break;case"top-left":t="banner-image-top-left";i="left";break;case"bottom-left":t="banner-image-bottom-left";i="left";break;case"left":t="banner-image-left";i="left"}return{imageClassName:t,alignment:i}};this.getBannerPlacementFromCompass=function(){return c?a(c):(c=f.getNotificationBannersList(),c)?a(c):(l||(l=u.defer()),l.promise)};n.$on("CompassContentReady",function(){c=f.getNotificationBannersList();c&&l&&a(c,l)});this.getBannerPlacement=function(n){var u="",t,r;if(n)for(t=0;t<n.length;t++)for(r=0;r<n[t].assosicatedPagesList.length;r++)if(i.path().search(n[t].assosicatedPagesList[r])>-1){u=n[t].bannerLayout;break}return u}}])}(angular.module(portalCommon)),function(n){n.service("productPagesService",["$rootScope","$log","$location","$window","languageService","locationService","osService",function(n,t,i,r,u,f,e){this.checkProductforOSDetection=function(n){var i,h,r,t,f,o;if(n&&n.url){if(i=n.url,h="products/",n.subversions.length>0){var c=e.getOS(),l=this.getVersionValue(c),s="os=",u=!1;for(r=0;r<n.subversions.length;r++)if(t=n.subversions[r],f=i.search(s),f!=-1){t=i;u=!0;break}else if(o=t.substring(s.length-1,t.length),o===l){t=i+n.subversions[r];u=!0;break}return u||(t=i+n.subversions[0]),t}return n.url}};this.getParentPath=function(n){var r=n.split("/"),u,t,i;if(r.length-2!=0){for(u=r.length-1,t="products/",i=1;i<u;i++)t=t+r[i]+"/";return t}return n};this.getVersionValue=function(n){if(n){var t=n.toLowerCase();return t.split(" ").join("-")}}}])}(angular.module(portalCommon)),function(n){n.service("objectCopyService",[function(){var n=this;this.shallowCopyWithExclusions=function(n,t){var r,u,i;if(!n||typeof n!="object")throw new Error("obj must be an object");if(r=t||[],typeof r!="object"||!r.indexOf)throw new Error("exclusionKeysList must be an object that implements an indexOf method. Typically a javascript array.");u={};for(i in n)!n.hasOwnProperty(i)||r.indexOf(i)>=0||(u[i]=n[i]);return u}}])}(angular.module(portalCommon)),function(n){n.service("retryService",["$q","$rootScope","$timeout","objectCopyService","retryTelemetryService",function(n,t,i,r,u){function s(n){if(n&&n.maxRetries<=0)throw new Error("Invalid opts.maxRetries parameter");if(n&&n.maxRetries>f.maxRetries)throw new Error("Invalid opts.maxRetries parameter: opts.maxRetries cannot exceed "+f.maxRetries);if(n&&n.backoffBaseMilliseconds<=0)throw new Error("Invalid opts.backoffBaseMilliseconds parameter");if(n&&n.backoffBaseMilliseconds>f.maxRetryWaitTime)throw new Error("Invalid opts.backoffBaseMilliseconds parameter: opts.backoffBaseMilliseconds cannot be greater than "+f.maxRetryWaitTime);}function h(t,i){return{actionFunction:t,opts:i,numRetries:0,actionDeferral:n.defer(),currentTimeoutPromise:null}}function e(n,t){t.actionDeferral.resolve(n)}function o(n,t){if(t.numRetries>=t.opts.maxRetries){t.actionDeferral.reject(n);return}var r=t.opts.backoffBaseMilliseconds*Math.pow(2,t.numRetries);r>f.maxRetryWaitTime&&(r=f.maxRetryWaitTime);t.currentTimeoutPromise=i(t.actionFunction,r);t.numRetries+=1;c(angular.copy(t));t.currentTimeoutPromise.then(function(n){e(n,t)}).catch(function(n){o(n,t)})}function c(n){u.retryWithBackoffExecuted(r.shallowCopyWithExclusions(n,["actionFunction","actionDeferral","currentTimeoutPromise"]))}var a=this,f={maxRetries:5,maxRetryWaitTime:5e3},l={actionKey:"UndefinedActionKey",maxRetries:3,backoffBaseMilliseconds:1e3};this.runActionWithRetry=function(n,t){s(t);var r=angular.extend({},l,t||{}),i=h(n,r);return i.actionFunction().then(function(n){e(n,i)}).catch(function(n){o(n,i)}),i.actionDeferral.promise}}])}(angular.module(portalCommon)),function(n){n.service("retryTelemetryService",["$rootScope","baseTelemetryService",function(n,t){function i(n,i,r){var u=angular.copy(i);t.pushCustomPageActionEvent(n,r,u)}var r=this;this.retryWithBackoffExecuted=function(n){i("retryWithBackoffExecuted",n)}}])}(angular.module(portalCommon)),function(n){n.service("sdkProxyService",["$q","$window","$location",function(n,t){function h(){return r?n.resolve(r):f.promise}function c(){o=!0}function l(){return i&&i.isInSdk()}var r,u,e,o,f=n.defer(),i=window.SupportSdkIntegration,s;i&&(e=i.HostType,u=i.configFromUrl(window.location.href),s=i.createProxy(u,function(){r=s;f.resolve(r);$(t).bind("unload",function(){o||r.dispatchEvent("Unloaded")})},function(n){console.log(n.message);f.reject(n)}));this.config=u;this.hostTypes=e;this.proxy=h;this.disableUnload=c;this.isInSdk=l}])}(angular.module(portalCommon)),function(n){n.directive("instantAnswer",["$sce","$timeout","$rootScope","focusContentService","smoothScrollService","$window","contentApiService","languageService",function(n,t,i,r,u,f,e,o){return{restrict:"A",templateUrl:"/PartialViews/Search/InstantAnswer.html",scope:{answer:"=?instantAnswer",view:"=",feedbackAction:"&?",target:"=?",previewAction:"=?",displaySurvey:"=?hasSurvey",displayFeedback:"=?hasFeedback",getPingBackUrl:"=?",iaId:"=?",onLoadComplete:"&?",maxHeight:"=?"},link:function(f,s){function c(n){if(n.image){var t=n.image;return t.url||t.thumbnailUrl}return n.url||n.thumbnailUrl}function l(){f.instantAnswerStyle={overflow:"hidden"};f.hasShowMoreButton=!1;f.inShowMoreState=!1}function a(){f.iaLoading=!0;f.iaId&&e.getInstantAnswerForPartners(f.iaId,o.langLocale()).then(function(n){if(n&&n&&n.data&&n.data.answerContent&&(v(n.data.answerContent),f.init(),f.onLoadComplete))f.onLoadComplete({result:{success:!0,data:{title:n.data.answerContent.problem&&n.data.answerContent.problem.name}}})}).catch(function(){if(f.iaLoading=!1,f.onLoadComplete)f.onLoadComplete({result:{success:!1}})})}function v(n){if(n){var t=JSON.stringify(n).replace(new RegExp(String.fromCharCode(57356),"g"),"<strong>").replace(new RegExp(String.fromCharCode(57344),"g"),"<strong>").replace(new RegExp(String.fromCharCode(57357),"g"),"<\/strong>").replace(new RegExp(String.fromCharCode(57345),"g"),"<\/strong>");f.answer=h(JSON.parse(t));f.iaLoading=!1}}function h(n){var i=!1,r=0;for(var t in n)n.hasOwnProperty(t)&&(r++,angular.isObject(n[t])&&(n[t]=h(n[t])),i=t==="value");return i&&r===1?n.value:n}f.reset=function(){f.answer?f.init():!f.answer&&f.iaId&&a()};f.init=function(){f.target=f.target||"_blank";f.actionId=f.previewAction&&f.previewAction.id||"instant-answer-action";f.displayFeedback===undefined&&(f.displayFeedback=!0);f.solution=f.solution||{active:f.answer&&f.answer.solutions&&f.answer.solutions.length>0?f.answer.solutions[0]:null};f.solution.active&&f.solution.active.media&&f.solution.active.media[0]&&(f.solution.active.media[0].mediaUrl=c(f.solution.active.media[0]));f.instantAnswerFeedbackName="instant-answer-feedback";f.maxHeight&&f.setShowMoreLessState();$(s).find("a").on("mousedown",function(){f.getPingBackUrl&&(f.pingbackUrl=f.getPingBackUrl(this.href,f.answer.resultId),f.$digest())})};f.setShowMoreLessState=function(){l();t(function(){f.hasShowMoreButton=s.prop("offsetHeight")>1.25*f.maxHeight;f.toggleShowMoreLess(f.hasShowMoreButton);f.hasShowMoreButton&&i.$broadcast("InstantAnswerCollapsable",{name:f.answer.problem.name,resultId:f.answer.resultId,sourceId:f.answer.sourceId,maxHeight:f.maxHeight,elemHeight:s.prop("offsetHeight")})})};f.toggleShowMoreLess=function(n){f.inShowMoreState=n;n?f.instantAnswerStyle["max-height"]=f.maxHeight:(i.$broadcast("InstantAnswerTriggeredShowMore",{name:f.answer.problem.name,resultId:f.answer.resultId,sourceId:f.answer.sourceId}),f.instantAnswerStyle={overflow:"hidden"})};f.trustSrc=function(t){return n.trustAsResourceUrl(t)};f.provideFeedback=function(n){f.feedbackProvided=!0;f.feedbackResult=n;r.focus(f.instantAnswerFeedbackName);u.scroll(f.instantAnswerFeedbackName);f.feedbackAction&&f.feedbackAction({feedback:n,id:f.answer.resultId})};f.reset()}}}])}(angular.module(portalCommon)),function(n){n.factory("searchConfigurationService",["$window","$http","$q","$rootScope","nativeAppService","chromeConstants","localStorageService","queryStringService","$routeParams","clientConfig","flightService","$cookies",function(n,t,i,r,u,f,e,o,s,h,c,l){function a(n,t){return typeof n!="undefined"&&(n==="true"||n===!0)||t}function v(){var n=o.getQueryStringValue(f.configuration.partnerId);return typeof n=="string"&&n.toLowerCase()||l.get(f.cookies.smcPartner)}function y(n){if(n){if(n=="success"||n=="failure")return{any:n};var t={};return n.split(";").forEach(function(n){var i=n.split("=");t[i[0]]=i[1]}),t}return{}}function p(){var n=e.getAppCacheContent(f.localstore.popupcontext);return n&&e.removeAppCacheContent(f.localstore.popupcontext),n}function w(n){var t=angular.extend({},u.fetchDeviceInfo(),u.fetchCapabilities()),i;return t.hostType=u.isNative()?f.hosts.windows:f.hosts.web,i=p(),i&&(t=angular.extend({},t,i)),n&&n.split(";").forEach(function(n){var i=n.split("=");t[i[0]]=i[1]}),t}return{get defaultRequestOptions(){return{withDialog:!1,isPreview:a(o.getQueryStringValue("sky.preview"),!1),backEndFlightId:o.getQueryStringValue("sky.engineFlight")||"",mockActions:y(o.getQueryStringValue("sky.mockActions")),queryChannel:o.getQueryStringValue("sky.queryChannel")||v()||"dialog",userAgent:n.navigator.userAgent,flights:c.getUserFlights(),augments:{TalkToHumanEnabled:!0},dialogScriptId:o.getQueryStringValue("sky.dialogScriptId")||"",custom:w(o.getQueryStringValue("sky.context"))}}}}])}(angular.module(portalCommon)),function(n){n.directive("searchResult",["virtualAgentFeedbackService",function(n){return{restrict:"A",templateUrl:"/PartialViews/Search/SearchResult.html",scope:{result:"=searchResult",id:"=",size:"=?",target:"=?",showLink:"=?",focusIndex:"="},link:function(t){t.size=t.size||"medium";t.target=t.target||"_self";t.selectResult=function(){t.pingbackUrl=t.result.pingbackUrl;t.result.resultId&&(t.pingbackUrl=n.getClickUrl(t.result))}}}}])}(angular.module(portalCommon)),function(n){n.service("searchResultsService",["$http","$rootScope","$q","languageService","chromeConstants",function(n,t,i,r,u){function e(n){var r=n.searchResults.map(h),i={};return i.results=r,i.totalCount=n.totalResults,i.instantAnswer=s(n.instantAnswerJson),i.searchResponse=n,t.$broadcast("SearchResponse",{item:i,caller:"search"}),i}function o(n,t){var i=0;return n&&n>0&&t&&(i=(n-1)*t),i}function s(n){return n?(helpContent=n.replace(new RegExp(String.fromCharCode(57356),"g"),"<strong>").replace(new RegExp(String.fromCharCode(57344),"g"),"<strong>").replace(new RegExp(String.fromCharCode(57357),"g"),"<\/strong>").replace(new RegExp(String.fromCharCode(57345),"g"),"<\/strong>"),f(JSON.parse(helpContent))):null}function f(n){var i=!1,r=0;for(var t in n)n.hasOwnProperty(t)&&(r++,angular.isObject(n[t])&&(n[t]=f(n[t])),i=t==="value");return i&&r===1?n.value:n}function h(n){var t=n.title.replace(/\<\/?(strong|c0)\>/g,"");return{simpleTitle:t,title:n.title,description:n.description,link:n.targetUrl,displayLink:n.displayUrl}}this.fetchResults=function(t){var f={method:"GET",url:"/api/portalsearch/articles",params:{searchQuery:t.query||"",locale:r.langLocale()||u.search.locale,skip:o(t.page,u.search.resultsPerPage)},httpAppOptions:{qosOperation:{name:"bingService.GetSearchResults",description:"Get search results from Bing Service"}}};return n(f).then(function(n){return e(n.data)}).catch(function(n){return i.reject(n)})}}])}(angular.module(portalCommon)),function(n){n.service("virtualAgentAPIService",["$http","$q","$rootScope","languageService","searchConfigurationService",function(n,t,i,r,u){function f(n,r){if(!n.data.content||!n.data.content.webResults&&!n.data.content.answers)return t.reject({error:"Invalid property values"});var u=e(n.data.content);return results=angular.extend({results:n.data.content.webResults&&n.data.content.webResults.items.map(s)||[],totalCount:n.data.content.webResults&&n.data.content.webResults.totalEstimatedMatches,summarizedQuery:n.data.content.webResults&&n.data.content.webResults.query,engineStatus:n.data.content.engineStatus,engineFlight:n.data.content.flightId,id:n.data.id,feedbackUrl:n.data.feedbackUrlBase,sessionId:n.data.sessionId,sentiment:n.data.content.sentiment},u),results.action=results.engineStatus=="Action"&&{name:results.metaData.action,prereq:results.metaData.prereq&&results.metaData.prereq.split(";")[0]},r||n.data.content.engineStatus==="FinalAnswer"?r||i.$broadcast("SearchResponse",{item:results,caller:"virtualagent"}):i.$broadcast("instantAnswerWithQuestion",{results:results,sessionId:n.data.sessionId}),results}function e(n){var t={instantAnswer:null,dialog:{},metaData:[]},i,r,u,f;return n.answers?(answersText=JSON.stringify(n.answers).replace(new RegExp(String.fromCharCode(57356),"g"),"<strong>").replace(new RegExp(String.fromCharCode(57357),"g"),"<\/strong>"),i=JSON.parse(answersText),!i||!i.length)?t:(r=i.filter(function(n){return n.type==="InstantAnswer"})[0],u=i.filter(function(n){return n.type==="Dialog"&&!n.isChitChat})[0],r=r||u,f=i.filter(function(n){return n.type==="Dialog"&&n.isChitChat})[0],t.dialog={question:u&&u.question&&u.question.text,options:u&&u.question&&u.question.questionOptions},t.instantAnswer=r&&r.content&&r.content[0],t.leadingMessage=i[0].leadingMessage&&i[0].leadingMessage[0],t.instantAnswer&&(t.instantAnswer.sourceId=r.sourceId,t.instantAnswer.resultId=r.resultId),!t.dialog.question&&i[0].question&&(t.dialog.question=i[0].question.text,t.dialog.options=i[0].question.questionOptions),t.metaData=o(i[0].metadata),t.context=i[0].currentUserContext||{},t.chitChat=f&&f.content&&f.content[0],t.sourceId=i[0].sourceId||"",t.source=i[0].source||"",t.slotId=i[0].slotId||"",t.resultId=i[0].resultId||"",t.type=i[0].type||"",t.outcomeType=i[0].scriptAnswerOutcomeType||"",t):t}function o(n){var t={};return n&&n.split(",").forEach(function(n){var i=n.split("=");t[i[0]]=i[1]}),t}function s(n){return{simpleTitle:n.title.replace(/\<\/?b\>/g,""),title:n.title,description:n.description,link:n.url,displayLink:n.displayUrl,resultId:n.resultId,source:n.source,sourceId:n.sourceId}}var h=["en-us"],c=this;this.fetchContent=function(t){var i=angular.merge({},u.defaultRequestOptions,t),r;return i.query=encodeURIComponent(i.query),r={params:{}},i.withDialog&&(r.params.shouldRequestErrorCrashExperience=!1),t.canceler&&(r.timeout=t.canceler.promise),n.post("/api/search/virtualagent",i,r).then(function(n){return f(n,i.withDialog)})};this.isEnabled=function(){return h.indexOf(r.langLocale())!==-1};this.parseResponse=function(n,t){return f(n,t)}}])}(angular.module(portalCommon));microsoft=microsoft||{};microsoft.support=microsoft.support||{};microsoft.support.config=microsoft.support.config||{};microsoft.support.config.authInfo=microsoft.support.config.authInfo||{},function(n){n.authState=2;n.isLoggedIn=function(){return n.puid!=null};n.authStatus=function(){return n.authState};n.userSignedIn=function(t){n.puidAsHex=t.puidAsHex;n.displayName=t.displayName;n.puid=t.puid;n.firstName=t.firstName;n.lastName=t.lastName;n.cid=t.cid;n.authState=1;i();r()};n.userSignedOut=function(){n.puidAsHex=null;n.displayName=null;n.puid=null;n.firstName=null;n.lastName=null;n.cid=null;n.authState=0;i();u()};var r=function(){var n=t();n&&n.$broadcast("UserSignedIn")},u=function(){var n=t();n&&n.$broadcast("UserSignedOut")},i=function(){var n=t();n&&n.$broadcast("AuthStatusChange")},t=function(){var t=null,i,n;try{i=angular.element(document.body);n=i.injector();t=n&&n.get("$rootScope")}catch(r){}return t};return n}(microsoft.support.config.authInfo),function(n){n.service("autoSuggestTelemetryService",["$rootScope","$window","jsllService",function(n,t,i){var r={autoSuggestSelected:"auto-suggest-selected"};n.$on("AutoSuggestSelected",function(n,u){var f={behavior:t.awa.behavior.SEARCHAUTOCOMPLETE,actionType:"CL",content:{contentName:r.autoSuggestSelected,contentId:r.autoSuggestSelected,suggestionType:u.suggestionType,searchQuery:u.searchQuery,originalQuery:u.originalQuery,originalQueryLength:u.originalQuery.length,suggestionIndex:u.suggestionIndex,suggestionCount:u.suggestionCount}};i.captureContentPageAction(f)})}])}(angular.module(portalCommon)),function(n){n.value("basicTelemetryEvents",{startProcess:"bteStartProcess",processCheckpoint:"bteProcessCheckpoint",signIn:"bteSignIn",chatInitiate:"bteChatInitiate",chatEnd:"bteChatEnd",feedback:"bteFeedback",callback:"bteCallback"});n.value("awa",window.awa);n.service("baseTelemetryService",["awa","$log","queryStringService","basicTelemetryEvents",function(n,t,i,r){function f(){n&&(e(),o())}function e(){n.actionType&&(n.actionType.AUTO=n.actionType.AUTO||"A")}function o(){n.behavior&&(u.bteToAwaBehaviorMap[r.startProcess]=n.behavior.STARTPROCESS,u.bteToAwaBehaviorMap[r.processCheckpoint]=n.behavior.PROCESSCHECKPOINT,u.bteToAwaBehaviorMap[r.signIn]=n.behavior.SIGNIN,u.bteToAwaBehaviorMap[r.chatInitiate]=n.behavior.CHATINITIATE,u.bteToAwaBehaviorMap[r.chatEnd]=n.behavior.CHATEND,u.bteToAwaBehaviorMap[r.feedback]=n.behavior.VOTE,u.bteToAwaBehaviorMap[r.callback]=n.behavior.CALL)}function s(t){return angular.isDefined(t)&&angular.isDefined(u.bteToAwaBehaviorMap[t])?u.bteToAwaBehaviorMap[t]:n.behavior.PROCESSCHECKPOINT}function h(n){var r=!!i.getQueryStringValue("enableTelemLogging");r&&t.info(JSON.stringify(n))}var c=this,u={bteToAwaBehaviorMap:{}};this.pushCustomPageActionEvent=function(t,i,r,u){if(n&&n.ct&&n.ct.captureContentPageAction&&t){var f={behavior:s(i),actionType:n.actionType.AUTO,content:angular.extend({contentName:t,contentId:t},r||{}),isManual:!0};u&&(f.contentTags=u);n.ct.captureContentPageAction(f);h(f)}};f()}])}(angular.module(portalCommon)),function(n){n.service("clientTelemetryService",["clientConfig","$window","$location","$cookies","$log","languageService","osService","$injector","metaTagsService",function(n,t,i,r,u,f,e,o,s){function y(n){!t.Asimov&&n.content&&(n.data={},angular.copy(n.content,n.data),delete n.content,u.info("Event "+n.name+" has been updated"))}var w=this,h=o.has("nativeAppService")?o.get("nativeAppService"):null,l=o.has("chatStateService")?o.get("chatStateService"):null,p=["JS:Microsoft.Support.Sdk".toLowerCase()],a,v,c;t&&t.Asimov&&(t.Asimov.appId="JS:"+i.host());a="csapp";v="smc";s.doesMetaTagExist("ms.cV")&&(c=s.getMetaTagContent("ms.cV"));t.awa&&t.awa.cv&&(c&&t.awa.cv.isValid(c)?t.awa.cv.setValue(c):t.awa.cv.init());this.pushEvent=function(n){t&&t.Asimov&&t.Asimov.writeEvent?t.Asimov.writeEvent(n):t&&t.awa&&t.awa.writeEvent&&t.awa.writeEvent(n)};this.populateDefaultFields=function(i){var o=null;if(t.Asimov)o="content";else if(t.awa)o="data";else{u.info("populateDataFields returned without populating data fields because window.Asimov or window.awa are not defined");return}return y(i),i[o][i.name].userAgent=t.navigator.userAgent,i[o][i.name].server=n.UserPropertyConfig&&n.UserPropertyConfig.EnvironmentType!==undefined?n.UserPropertyConfig.EnvironmentType:"",i[o][i.name].language=f.lang()?f.lang():"",i[o][i.name].locale=f.locale()?f.locale():"",i[o][i.name].isNative=h&&h.isNative()?!0:!1,i[o][i.name].isMobile=e.isMobile(),i[o][i.name].partnerId=r.get("smcpartner"),i[o][i.name].parentCv=l&&l.getParentCv()?l.getParentCv().toString():"",i};t&&t.location&&t.location.host&&t.location.host.indexOf("partner")<0&&(h&&h.isNative()?r.put("smcpartner",a,{secure:!0}):r.put("smcpartner",v,{secure:!0})),function(){var n=null,i;if(t&&t.Asimov)n=t.Asimov;else if(t&&t.awa)n=t.awa;else return;i=n._validateAndTranslateEvent;n._validateAndTranslateEvent=function(t){var r,u;return r=i.call(n,t),u=r.event.appId,n.appId?r.event.appId=n.appId:n.getConfig&&(!u||p.indexOf(u.toLowerCase())>-1)&&(r.event.appId=n.getConfig().coreData.appId),r}}()}])}(angular.module(portalCommon)),function(n){n.service("jsllService",["$log",function(n){function t(){return!window.awa||!window.awa.ct?(n.warn("jsllService requires JSLL 4.0 or later"),!1):!0}this.captureContentUpdateTimings=function(n,i){t()&&window.awa.ct.captureContentUpdate({pageName:n,timings:i})};this.captureContentUpdate=function(n){t()&&window.awa.ct.captureContentUpdate(n)};this.captureContentPageAction=function(n){t()&&window.awa.ct.captureContentPageAction(n)}}])}(angular.module(portalCommon)),function(n){n.service("linkTaggingService",["$document",function(n){this.tagContainerLinks=function(t,i){i=i?i+"-":"";angular.forEach(n.find(t+" a"),function(n,t){angular.element(n).attr("id",i+"link-"+(t+1))})}}])}(angular.module(portalCommon)),function(n){n.service("metatagService",["$rootScope",function(n){this.fetchMetaTags=function(n){var i={},r,t,u,f;if(n){for(r=[],t=0;t<n.length;t++)u=n[t].key,f=n[t].value,r.push({name:u,content:f}),u.toLowerCase()=="title"&&(i.metaTagTitle=f);return i.pageMetaTags=r,i}};this.updateMetaTags=function(t){if(t&&t.metaTagsList&&t.metaTagsList.metaTags){var i=this.fetchMetaTags(t.metaTagsList.metaTags);i.metaTagTitle&&n.$broadcast("UpdateTitle",i.metaTagTitle);i.pageMetaTags&&n.$broadcast("AddMetaTags",i.pageMetaTags)}}}])}(angular.module(portalCommon)),function(n){n.service("pageLoadTimeService",["$document","$log","performanceTimingService","performanceTelemetryService",function(n,t,i,r){function f(n){i.domLoading()>0&&i.fetchStart()>0&&(n.serverTime=i.domLoading()-i.fetchStart());i.domComplete()>0&&i.domLoading()>0&&(n.browserTime=i.domComplete()-i.domLoading())}function s(){for(var n in u.featureLogs)f(u.featureLogs[n]),o(u.featureLogs[n])}function e(n){n.hasOwnProperty("featureComplete")&&n.hasOwnProperty("featureStart")&&n.featureComplete>=n.featureStart&&(n.featureTime=n.featureComplete-n.featureStart);o(n)}function o(n){!u.pageLoadRecorded&&n.featureComplete&&(u.pageLoadRecorded=!0,n.experienceLoaded=n.featureComplete-i.fetchStart());h(n)&&n.hasOwnProperty("experienceLoaded")&&delete n.experienceLoaded}function h(n){return c(n)?(r.push(n),!0):!1}function c(n){return angular.isNumber(n.serverTime)&&angular.isNumber(n.browserTime)&&angular.isNumber(n.featureTime)}var u=this;this.featureLogs={};this.pageLoadRecorded=!1;this.featureLoadStarted=function(n){u.featureLogs[n]={name:n};u.pageLoadRecorded&&(u.featureLogs[n].firstLoadRecorded=!0);f(u.featureLogs[n]);u.featureLogs[n].featureStart=i.now();e(u.featureLogs[n])};this.featureLoadCompleted=function(n){if(u.featureLogs[n]){u.featureLogs[n].featureComplete=i.now();e(u.featureLogs[n]);return}t.warn("unknown feature during featureLoadCompleted call will be ignored")};n[0].onreadystatechange=function(){n[0].readyState==="complete"&&s()}}])}(angular.module(portalCommon)),function(n){n.service("performanceTelemetryService",["jsllService",function(n){this.push=function(t){var i={CLT:t.featureTime};t.hasOwnProperty("experienceLoaded")&&(i.ATV=t.experienceLoaded);n.captureContentUpdateTimings(t.name,i)}}])}(angular.module(portalCommon)),function(n){n.service("performanceTimingService",[function(){this.fetchStart=function(){return performance.timing.fetchStart};this.domLoading=function(){return performance.timing.domLoading};this.domComplete=function(){return performance.timing.domComplete};this.now=function(){return Date.now()}}])}(angular.module(portalCommon)),function(n){n.factory("qosTelemetryInterceptor",["$q","$rootScope","$log",function(n,t,i){function u(n){return o.some(function(t){return t.test(n)})}function f(n){var i={};i.latency=(new Date).getTime()-n.config.startTime;i.status=n.status;i.operation=n.config.url;n.config&&n.config.httpAppOptions&&n.config.httpAppOptions.qosOperation&&(i.qosOperation=n.config.httpAppOptions.qosOperation);t.$broadcast("QoS",i)}function e(n){var i={};i.operation="//app/invalid-request";i.status=500;i.latency=0;i.custom=JSON.stringify(n);t.$broadcast("QoS",i)}var r={},o=[/html$/,/^\/\/caribe/];return r.request=function(n){return n.startTime=(new Date).getTime(),n},r.response=function(n){return n&&n.config&&!u(n.config.url)&&f(n),n},r.responseError=function(t){return t&&t.config&&!u(t.config.url)?f(t):e(t),i.error("Error occurred during http request",JSON.stringify(t)),n.reject(t)},r}])}(angular.module(portalCommon)),function(n){n.service("qosTelemetryService",["$rootScope","$q","$window","$location","$injector","$log","clientTelemetryService",function(n,t,i,r,u,f,e){function l(n){var t=n.operation.replace(/[?].*/,"");return t.match(/^\/api/)?t=t.split("/").splice(0,4).join("/"):t.match(/^https:\/\/dgps/)&&(t=s.dgps.suggest),t===s.awasa.error&&n.custom&&n.custom.errorCode&&(t=t+"/"+n.custom.errorCode.toLowerCase()),t}function a(n){return n.latency="latency"in n?n.latency:-1,n.operation="operation"in n?n.operation:"",n.status="status"in n?n.status+"":"",n.error="error"in n?n.error:-1,n.custom="custom"in n?n.custom:"",n.subject=c&&c.getSubject()||"",n}function h(n,t){var u,h,s,n;if(t=a(t),u=t.qosOperation!=null?t.qosOperation.name:l(t),h=t.qosOperation!=null?t.qosOperation.description:o[u]?o[u].description:"",angular.isObject(t.custom)&&(t.custom=JSON.stringify(t.custom)),s=null,i.Asimov)s="content";else if(i.awa)s="data";else{f.info("qosTelemetryService.pushQosEvent returned without pushing event because window.Asimov or window.awa are not defined");return}n={name:"Ms.Webi.OutgoingRequest"};n[s]={"Ms.Qos.OutgoingServiceRequest":{operationName:u,dependencyName:"SelfAssistWeb",dependencyType:"WebService",dependencyOperationName:u,latencyMs:t.latency,targetUri:t.operation,succeeded:t.status>=200&&t.status<400,serviceErrorCode:t.error,protocolStatusCode:t.status},"Ms.Webi.OutgoingRequest":{description:h,route:r.url(),visitId:c&&c.getVisitId(),custom1:t.custom}};n=e.populateDefaultFields(n);e.pushEvent(n)}var v=this,c=u.has("chatStateService")?u.get("chatStateService"):null,s={app:{exception:"//app/exception",error:"//app/error",unknownRoute:"//app/unknown-route",unknownCommand:"//app/unknown-command",commandError:"//app/command-error",dupeCommandError:"//app/dupe-command-error",invalidRequest:"//app/invalid-request",beginsharing:"//app/begin-sharing",pausesharingbyuser:"//app/pause-sharing-by-user",resumesharingbyuser:"//app/resume-sharing-by-user",endsharingbyuser:"//app/end-sharing-by-user",downloadCSS:"//app/download-css"},awasa:{error:"//awasa/error",callback:"//awasa/callback",chat:"//awasa/chat",times:"//awasa/times",sendMessage:"//awasa/message",disengage:"//awasa/disengage",download:"//awasa/download",initialize:"//awasa/initialize",lazyInitialize:"//awasa/initialize-lazy",channelDisconnect:"//awasa/channel-disconnect",channelReconnect:"//awasa/channel-reconnect",channelUnavailable:"//awasa/channel-unavailable",agentDisconnect:"//awasa/agent-disconnect",agentReconnect:"//awasa/agent-reconnect",agentDisconnectOnTransfer:"//awasa/agent-disconnect-chattransfer",sendCommand:"//awasa/send-command",channelStatus:"//awasa/channel-status",chatReconnectTimedOut:"//awasa/chat-reconnect-timeout",getQueueLength:"//awasa/get-queue-length",postChatTranscript:"//awasa/post-chat-transcript",setSubject:"//awasa/set",getSubject:"//awasa/getSubject"},dgps:{suggest:"//dgps/suggestions",unknownLocale:"//dgps/unknownlocale",invalid:"//dgps/invalid"},"native":{appStartContext:"//app/appStartContext"},dbs:{invalid:"//dbs/invalid"},hip:{download:"//hip/download"},geo:{init:"//geo/init",changes:"//geo/changes"},auth:{unknownSilentAuth:"//auth/unknown-silent-auth",aadSilentAuth:"//auth/aad-silent-auth",aadStateMismatch:"//auth/aad-state-mismatch",meControlLoad:"//auth/me-control-loaded",meControlState:"//auth/me-control-partial-state",meControlShellLoaded:"//aap//mecontrol-shell-loaded"},supportsdk:{getModalitiesApi:"//supportsdk/get-modalities-api",getSearchResults:"//supportsdk/get-search-results",renderChatUI:"//supportsdk/render-chat-ui",renderCallbackUI:"//supportsdk/render-callback-ui",renderScheduleCallbackUI:"//supportsdk/render-schedulecallback-ui",renderVirtualAgentUI:"//supportsdk/render-virtualagent-ui"},l1HeaderSwap:{meControlPromiseRejected:"//L1HeaderSwap/meControlService-promise-rejected"},partnerDataService:{chatContextService:"//service/missingchatcontextservice",contextFormat:"//service/contextformat"},muid:{metatagMuidAbsent:"//muid/metatag-muid-absent"}},o;this.eventTypes=s;o={};o["/api/content/GetAgent"]={description:"Event triggered when agent information is requested from Awasa."};o["/api/content/GetCompassContentForPage"]={description:"Event triggered when resources such as strings and images are requested from Compass."};o["/api/content/GetCompassContentForProductPages"]={description:"Event triggered when resources such as strings and images for Product Pages are requested from Compass and or Portico."};o["/api/content/GetCompassContentForPartner"]={description:"Event triggered when resources such as strings are requested from Compass for a partner."};o["/api/kb/GetKbArticle"]={description:"Event triggered when a KB article is requested."};o["/api/search/index"]={description:"Event triggered to provide search results for a given search term"};o["/api/Token/GetToken"]={description:"Event triggered when a security token to allow the user to use the chat and callback functionality is requested from the Awasa Security service."};o["/api/Token/GetUserState"]={description:"Event triggered when encryption of user information is requested from Awasa."};o["/api/v1/AutoSuggestion"]={description:"Event triggered when autosuggestions are requested from DGPS. This request goes directly to the DGPS endpoint."};o["/app/ScheduleCallbackTimesTimeout"]={description:"Event triggered when a timeout occurs while waiting for the times available to schedule a call."};o[s.app.error]={description:"Event triggered when an error occurs in the code running on the client side."};o[s.app.exception]={description:"Event triggered when exception is caught by the AngularJS exception handler."};o[s.app.unknownRoute]={description:"Event triggered when the user attempts to go to a route not rendered by support.microsoft.com"};o[s.app.unknownCommand]={description:"Event triggered when the a command received from the native app is not understood or is unknown to web"};o[s.app.commandError]={description:"Event triggered when a command received from the native app has failed"};o[s.app.dupeCommandError]={description:"Event triggered when a duplicate command is sent to the app for processing, only one of a type should fire at a time."};o[s.app.beginsharing]={description:"Event triggered when beginsharing command is sent from web to app"};o[s.app.pausesharingbyuser]={description:"Event triggered when pausesharingbyuser command is sent from web to app"};o[s.app.resumesharingbyuser]={description:"Event triggered when resumesharingbyuser command is sent from web to app"};o[s.app.endsharingbyuser]={description:"Event triggered when endsharingbyuser command is sent from web to app"};o[s.app.downloadCSS]={description:"Event triggered when CSS is downloaded"};o[s.awasa.callback]={description:"Event triggered when a callback (either schedule or immediate) is requested from Awasa. This request goes directly to the Awasa endpoint."};o[s.awasa.chat]={description:"Event triggered when a chat is queued. This request goes directly to the Awasa endpoint."};o[s.awasa.disengage]={description:"Event triggered when a chat is ended or a user leaves the queue. This request goes directly to the Awasa endpoint."};o[s.awasa.error]={description:"Event triggered when an error occurs in the client-side Awasa framework."};o[s.awasa.sendMessage]={description:"Event triggered when a message is sent or received from the chat experience. This request goes directly to the Awasa endpoint."};o[s.awasa.times]={description:"Event triggered when a user request to see the open time slots to schedule a call. This request goes directly to the Awasa endpoint."};o[s.awasa.download]={description:"Event triggered when the Awasa SDK is downloaded to the client"};o[s.awasa.initialize]={description:"Event triggered when the 'loaded' callback is called from the Awasa SDK. Indicates that the Awasa SDK has successfully been initialized."};o[s.awasa.channelReconnect]={description:"Event triggered from the Awasa SDK when the user reconnects to the chat after being disconnected"};o[s.awasa.channelDisconnect]={description:"Event triggered from the Awasa SDK when a connection issue occurs on the user side of a chat"};o[s.awasa.channelUnavailable]={description:"Event triggerd when a modality is in HOOPs but unavailable for other reasons"};o[s.awasa.agentDisconnect]={description:"Event triggered from the Awasa SDK when a connection issue occurs on the agent side of a chat"};o[s.awasa.agentReconnect]={description:"Event triggrered from the Awasa SDK when the agent reconnects to the chat after being disconnected"};o[s.awasa.agentDisconnectOnTransfer]={description:"Event triggrered from the Cantilever SDK when the agent disconnects due to chat transfer"};o[s.awasa.sendCommand]={description:"Event triggered when a command is sent to the agent via the Awasa SDK."};o[s.awasa.channelStatus]={description:"Event triggered when chat and callback status is requested from the Awasa SDK."};o[s.awasa.chatReconnectTimedOut]={description:"Event triggered when attempting to reconnect chat times out."};o[s.native.appStartContext]={description:"Event triggered when the app starts and sends back context on how the app was launched."};o[s.awasa.getQueueLength]={description:"Event triggered from the Awasa SDK when it fails to retrieve the queue position."};o[s.awasa.postChatTranscript]={description:"Event triggered when a request to the Awasa post transcript API occurs."};o[s.awasa.setSubject]={description:"Event triggered when a request to the Awasa to set SubjectName API occurs."};o[s.awasa.getSubject]={description:"Event triggered when a request to the Awasa to get SubjectName API occurs."};o["//awasa/callback/channel_error"]={description:"Event triggered when there is an issue with the Awasa callback channel."};o["//awasa/callback/channel_contactinvalid"]={description:"Event triggered when the contact number is rejected as invalid by the telephony service"};o["//awasa/callback/request_unauthorized"]={description:"Event triggered when a callback API call is made with an invalid token"};o[s.geo.init]={description:"Event triggered by geoComponent when it is instantiated/used"};o[s.geo.changes]={description:"Event triggered by geoComponent when bindings are changed/updated"};o[s.auth.unknownSilentAuth]={description:"Event triggered when resolve auth state times out without resolving"};o[s.auth.aadSilentAuth]={description:"Event triggered when we are having issues with completing AAD silent auth flow"};o[s.auth.aadStateMismatch]={description:"Event triggered by auth service when we are having state mismatch issues with silent AAD auth"};o[s.auth.meControlLoad]={description:"Event triggered by auth service when we are having issues loading me control shell - when this happens we use the fallback L0Header as Universal Header is not available at all"};o[s.auth.meControlState]={description:"Event triggered by auth service me control is having issues and is in a partial working state i.e sign in/out works, dropdown and user pic does not"};o[s.auth.meControlShellLoaded]={description:"Event triggred when application uses to load me control shell"};o[s.supportsdk.getModalitiesApi]={description:"Event triggered when we use the support SDK to get modalities for a given product and issue."};o[s.supportsdk.getSearchResults]={description:"Event triggered when we use the support SDK to get search results for a query entered by a user."};o[s.supportsdk.renderChatUI]={description:"Event triggered when we load the chat popup window using the support sdk and wait for the loaded callback."};o[s.supportsdk.renderCallbackUI]={description:"Event triggered when we load the callback popup window using the support sdk and wait for the loaded callback."};o[s.supportsdk.renderScheduleCallbackUI]={description:"Event triggered when we load the schedulecallback popup window using the support sdk and wait for the loaded callback."};o[s.supportsdk.renderVirtualAgentUI]={description:"Event triggered when we load the virtualagent popup window using the support sdk and wait for the loaded callback."};o[s.l1HeaderSwap.meControlPromiseRejected]={description:"Event triggered when L1 Header cannot be swapped because meControlPromise is rejected"};o[s.partnerDataService.chatContextService]={description:"Event triggered when we use chatContextService to set context from partner."};o[s.partnerDataService.contextFormat]={description:"Event triggered when we try to parse the context from partner."};o[s.muid.metatagMuidAbsent]={description:"Event triggered when No MUID detected in meta tag and can not set MUID in session storage or cookie."};this.createEvent=function(n){var i={operation:n},r=(new Date).getTime(),u=t.defer();return u.promise.then(function(n){i.latency=(new Date).getTime()-r;i.status=200;i.custom=n||"";h({},i)},function(n){i.latency=(new Date).getTime()-r;i.status=n&&n.status||500;i.custom=n||"";h({},i)}),u};n.$on("QoS",h);n.$on("AutoSuggestBadResults",function(){v.createEvent(s.dgps.invalid).reject()});n.$on("500Error",function(n,t){t&&h(n,{operation:s.app.error,status:"500",custom:t})});n.$on("404Error",function(n,t){t&&h(n,{operation:s.app.unknownRoute,status:"404",custom:t})});n.$on("AppStartContext",function(n,t){h(n,{operation:s.native.appStartContext,status:"200",custom:t})})}])}(angular.module(portalCommon)),function(n){n.service("smcEngagementTelemetryService",["$rootScope","$timeout","$log","compassService","wedcsService","jsllService",function(n,t,i,r,u,f){function o(n,i){var r=0,o;i&&(n.routeList&&i.originalPath&&(o=i.originalPath.substr(i.originalPath.lastIndexOf("/"),i.originalPath.length),n.routeList.forEach(function(n){o===n.route&&(r=1,e=t(function(){(u.logCustomEvent("engaged","",i),window.awa&&window.awa.ct)&&f.captureContentPageAction({behavior:0,actionType:"S",content:{contentName:"engaged",contentId:"engaged"}});e=null},parseInt(n.timer,10)*1e3))})),r===0&&n.defaultTimer&&(e=t(function(){(u.logCustomEvent("engaged","",i),window.awa&&window.awa.ct)&&f.captureContentPageAction({behavior:0,actionType:"S",content:{contentName:"engaged",contentId:"engaged"}})},parseInt(n.defaultTimer,10)*1e3)))}var e;n.$on("$routeChangeStart",function(){e&&t.cancel(e)});n.$on("$routeChangeSuccess",function(n,t){r.getSmcEngagementValue().then(function(n){o(n,t)},function(){i.info("Content isn't available.")})})}])}(angular.module(portalCommon)),function(n){n.service("meControlService",["$window","$timeout","qosTelemetryService","$q",function(n,t,i,r){var u=[];this.shellDefined=function(){var o=i.createEvent(i.eventTypes.auth.meControlShellLoaded),f=r.defer(),e;return n.msCommonShell?f.resolve():(e=t(function(){f.reject()},1e4),n.onShellReadyToLoad=function(){if(n.onShellReadyToLoad=null,t.cancel(e),n.msCommonShell)for(var i=0;i<u.length;i++)u[i].resolve();else f.reject()}),u.push(f),f.promise}}])}(angular.module(portalCommon)),function(n){n.directive("scrollTrack",["$window","wedcsService",function(n,t){return{restrict:"A",link:function(i){var r=!1;angular.element(n).off("scroll");angular.element(n).on("scroll",function(){!r&&n&&n.scrollY&&n.innerHeight&&(n.scrollY>n.innerHeight||n.scrollY+n.innerHeight+1>=$(document).height())&&(r=!0,t.logCustomEvent("fullview-scroll"),n.awa&&n.awa.ct)&&n.awa.ct.captureContentPageAction({behavior:0,actionType:"S",content:{contentName:"fullview-scroll",contentId:"fullview-scroll"}})});i.$on("destroy",function(){angular.element(n).off("scroll")})}}}])}(angular.module(portalCommon)),function(n){n.service("wedcsService",["$rootScope","$window","$timeout","$route","flightService","metaTagsService",function(n,t,i,r,u,f){function l(n){return n.type=="checkbox"?n.checked+"_"+n.value:n.nodeName=="A"?n.href:n.value}function h(n){var t="";return n.id&&(t="elemId_"+n.id),n.name&&(t=t+"_elemName_"+n.name),n.parentNode&&n.parentNode.id&&(t=t+"_parId_"+n.parentNode.id),n.parentNode&&n.parentNode.name&&(t=t+"_parName_"+n.parentNode.name),n.parentNode&&n.parentNode.parentNode&&n.parentNode.parentNode.id&&(t=t+"_parParId_"+n.parentNode.parentNode.id),n.parentNode&&n.parentNode.parentNode&&n.parentNode.parentNode.name&&(t=t+"_parParName_"+n.parentNode.parentNode.name),n.parentNode&&n.parentNode.parentNode&&n.parentNode.parentNode.parentNode&&n.parentNode.parentNode.parentNode.id&&(t=t+"_parParParId_"+n.parentNode.parentNode.parentNode.id),n.parentNode&&n.parentNode.parentNode&&n.parentNode.parentNode.parentNode&&n.parentNode.parentNode.parentNode.name&&(t=t+"_parParParName_"+n.parentNode.parentNode.parentNode.name),n.className&&(t=t+"_elemClass_"+n.className),n.type&&(t=t+"_elemType_"+n.type),t}function a(n){var i;t.awa&&t.awa.ct&&(n.dataset&&n.dataset.biId?i={behavior:300,actionType:"KE",content:{contentId:n.dataset.biId,contentName:n.dataset.biName,selected:n.dataset.biSelected,identifier:n.dataset.biIdentifier,totalcount:n.dataset.biTotalcount}}:n.id&&(i={behavior:300,actionType:"KE",content:{contentId:n.id,contentName:n.name}}),t.awa.ct.captureContentPageAction(i))}function o(n){n.hasAttribute("data-nolog")||e(h(n),"userAction",{"ms.scvalue":l(n)})}function c(n,t){n.hasAttribute("data-nolog")||e(t,"userAction",{"ms.scvalue":JSON.stringify({value:l(n),label:h(n)})})}function e(n,i,r){if(n&&t&&t.MscomCustomEvent){var u=[];r=r||{};r["ms.scn"]=n;i&&(r["ms.scnct"]=i);angular.forEach(r,function(n,t){u.push(t+"="+n)});t.MscomCustomEvent.apply(t,u)}}var v=!1,s;this.logAwaKeyPress=a;this.logWEDCS=o;this.logWEDCSElementEvent=c;this.logCustomEvent=e;$(document).ready(function(){var n={};$(document).on("keypress","button",function(n){n.which==13&&n.currentTarget&&n.currentTarget.formAction&&n.currentTarget.formAction.indexOf("supportforbusiness")>-1&&a(n.currentTarget)});$(document).on("keydown","a",function(n){n.which==13&&c(this,"enter-key")});$(document).on("mouseover","input[type='radio'], input[type='checkbox'], button, a",function(){var t=h(this);n[t]&&i.cancel(n[t]);n[t]=i(function(){c(this,"hover");delete n[t]}.bind(this),1e3)});$(document).on("change","textarea",function(){o(this)});$(document).on("change","select",function(){(o(this),t.awa&&t.awa.ct)&&t.awa.ct.capturePageAction(this,{behavior:4})})});n.$on("ButtonClickedAndDisabled",function(n,t){o(t.target)});n.$on("ChatMessageReceived",function(){e("agent-chat-post","chatAction")});n.$on("ChatMessageSendSuccess",function(){e("customer-chat-post","chatAction")});n.$on("$routeChangeSuccess",function(){r.current.controller!=="SupportMenuController"||v||(t&&t.MscomCustomEvent&&t.MscomCustomEvent("ms.scnct","CAD-Displayed"),v=!0)});n.$on("$routeChangeStart",function(n,r){if(t&&t.MscomCustomEvent&&(u&&i.cancel(u),r&&r.$$route))var u=i(function(){e("route-change-start","viewLoad",{cot:"0"})},250);s&&i.cancel(s)});n.$on("PageResourcesDownloaded",function(n,r){i(function(){e("page-resources-downloaded","",r)},250);s=i(function(){(e("no-bounce","",r),t.awa&&t.awa.ct)&&t.awa.ct.captureContentPageAction({behavior:300,actionType:"O",content:{contentName:"no-bounce",contentId:"no-bounce"}});s=null},8e3)});n.$on("404Error",function(){e("page-resources-not-found","",{"ms.scvalue":"404"})});n.$on("500Error",function(){e("page-resources-download-failed","",{"ms.scvalue":"500"})});n.$on("PageContentLoadFailed",function(n,i){f.addOrUpdateMetaTag("awa-asst",i.asst);t.awa.ct.capturePageView()});n.$on("PageContentLoadSuccess",function(){t.awa.ct.capturePageView()})}])}(angular.module(portalCommon));angular.module("portalCommon").run(["$templateCache",function(n){n.put("/PartialViews/Chrome/GetHelpRedirectionModal.html",'<div class="modal-header">\r\n    <h2 id="modal-label" role="status" aria-live="polite">{{view.title}}<\/h2>\r\n<\/div>\r\n<div class="modal-body">\r\n    <p id="modal-description">{{view.body}}<\/p>\r\n<\/div>\r\n<div class="modal-footer">\r\n    <div class="btn-group">\r\n        <button class="btn" ng-click="triggerWebExperience()">{{view.webExperienceButtonText}}<\/button>\r\n        <button class="btn btn-primary" ng-click="dismissModal()">{{view.closeButtonText}}<\/button>\r\n    <\/div>\r\n<\/div>\r\n');n.put("/PartialViews/Chrome/m365NavigationMenu.html",'<div ng-if="showNav" ng-bind-html="contextNavHtml"><\/div>');n.put("/PartialViews/Chrome/survey.html",'<div ng-if="$ctrl.isElibigleForSurvey">\r\n    <div class="survey-tab" ng-class="$ctrl.inviteClass" ng-if="$ctrl.view == \'both\' || $ctrl.view == \'desktop\'">\r\n        <button id="smc-survey-external-feedback-button" class="btn-primary c-button f-primary" ng-if="!$ctrl.showInternalFeedback" data-js-dialog-show="angular-mwf-survey-modal-container" ng-click="$ctrl.showPopupSurvey()">{{$ctrl.buttonLabel}}<\/button>\r\n        <a id="smc-survey-internal-feedback-button" role="button" class="btn btn-primary c-button f-primary" ng-if="$ctrl.showInternalFeedback" ng-href="mailto:{{$ctrl.internalFeedbackContent.selfHostFeedbackEmailTo}}?subject={{$ctrl.internalFeedbackContent.selfHostFeedbackEmailSubject}}&body={{$ctrl.internalFeedbackContent.selfHostFeedbackEmailBody}}{{$ctrl.internalFeedbackContent.currentUrl}}">{{$ctrl.buttonLabel}}<\/a>\r\n    <\/div>\r\n    <div class="container-fluid survey-banner" ng-class="$ctrl.inviteClass" ng-if="$ctrl.view == \'both\' || $ctrl.view == \'mobile\'">\r\n        <div class="row padded-row survey-invitation-background" data-grid="col-12">\r\n            <div class="col-xs-18" ng-if="!$ctrl.showInternalFeedback" data-grid="col-9">\r\n                <button id="smc-survey-external-feedback-button-mobile"\r\n                        data-js-dialog-show="angular-mwf-survey-modal-container"\r\n                        class="btn text-align-left x-type-left survey-invitation-background feedback-buttonlink c-button survey-control-high-contrast"\r\n                        ng-click="$ctrl.showPopupSurvey()">\r\n                    {{$ctrl.mobileButtonLabel}}\r\n                <\/button>\r\n            <\/div>\r\n            <div class="col-xs-18" ng-if="$ctrl.showInternalFeedback" data-grid="col-9">\r\n                <button id="smc-survey-internal-feedback-button-mobile"\r\n                        class="btn text-align-left x-type-left survey-invitation-background feedback-buttonlink c-button survey-control-high-contrast"\r\n                        ng-href="mailto:{{$ctrl.internalFeedbackContent.selfHostFeedbackEmailTo}}?subject={{$ctrl.internalFeedbackContent.selfHostFeedbackEmailSubject}}&body={{$ctrl.internalFeedbackContent.selfHostFeedbackEmailBody}}{{$ctrl.internalFeedbackContent.currentUrl}}">\r\n                    {{$ctrl.mobileButtonLabel}}\r\n                <\/button>\r\n            <\/div>\r\n            <div class="col-xs-6" data-grid="col-3">\r\n                <button id="smc-survey-feedback-dismiss-mobile"\r\n                        aria-label="{{$ctrl.mobileSurveyInvitationCloseButtonLabel}}"\r\n                        ng-click="$ctrl.mobileInviteDismiss()"\r\n                        class="btn survey-invitation-background c-button survey-control-high-contrast">\r\n                    <span aria-hidden="true" tabindex="-1" id="smc-survey-mobile-invite-dismiss" class="win-icon win-icon-Clear"><\/span>\r\n                <\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Chrome/surveyModal.html",'<div autofocus id="smc-survey-container" tabindex="0" aria-label="{{surveyContainerLabel}}"><\/div>\r\n<div class="survey-close-button-container">\r\n    <button id="smc-survey-modal-close-button" ng-click="closeButtonClicked()" class="win-icon win-icon-Clear pull-right x-float-right c-button" aria-label="{{surveyCloseButtonLabel}}"><\/button>\r\n<\/div>\r\n<div class="survey-iframe-container" ng-element-ready="elementReadyShowSurvey()" id="smc-survey-target"><\/div>\r\n<div tabindex="0" aria-label="{{surveyContainerEndLabel}}"><\/div>');n.put("/PartialViews/Chrome/surveyModalMwf.html",'<div class="c-dialog f-flow" id="angular-mwf-survey-modal-container" aria-hidden="true">\r\n    <div role="presentation" tabindex="-1"><\/div>\r\n    <div role="dialog" aria-label="{{surveyContainerLabel}}" tabindex="-1">\r\n        <button id="survey-modal-close-button" class="c-glyph glyph-cancel" data-js-dialog-hide="" ng-click="cancelButtonClicked()" aria-label="{{cancelButtonAriaLabel}}" tabindex="0"><\/button>\r\n        <div role="document">\r\n            <div class="mwf-survey-host" id="smc-survey-target"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n');n.put("/PartialViews/Chrome/surveyModalTemplate.html",'<div class="modal-dialog survey-modal-dialog"><div class="survey-modal-content" uib-modal-transclude><\/div><\/div>');n.put("/PartialViews/Chrome/VirtualAgentEntry.html",'<div class="skylight-entry">\r\n    <div ng-if="$ctrl.view.messageText" ng-show="$ctrl.isMessageVisible" ng-class="{ \'full-width\': $ctrl.isSlidOut }" class="message-bubble bubble-content bubble-below">\r\n        <message-animation ng-show="$ctrl.isThinking"><\/message-animation>\r\n        <div class="message-bubble-content" ng-hide="$ctrl.isThinking" ng-class="{ \'visible\': $ctrl.isMessageTextVisible }">\r\n            <div id="message-bubble-header-aria" class="message-bubble-header" ng-if="$ctrl.view.entryHeader">{{ $ctrl.view.entryHeader }}<\/div>\r\n            <div id="message-bubble-text-aria" class="message-bubble-text">{{ $ctrl.view.messageText }}<\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <button ng-click="$ctrl.openVirtualAgent()" ng-focus="$ctrl.toggleBubble(true)" ng-blur="$ctrl.toggleBubble(false)" ng-mouseenter="$ctrl.toggleBubble(true)" ng-mouseleave="$ctrl.toggleBubble(false)" aria-describedby="message-bubble-header-aria message-bubble-text-aria" id="skylight-entry-chrome">\r\n        <img ng-src="{{ $ctrl.view.entryImage.url }}" alt="{{ $ctrl.view.entryImageAltText }}"/>\r\n        <span>{{ $ctrl.view.entryText }}<\/span>\r\n    <\/button>\r\n<\/div>');n.put("/PartialViews/Common/F1Footer.html",'<div class="f1-footer" ng-controller="F1FooterController">\r\n    <!-- Needed to span the full page -->\r\n    <div class="container">\r\n        <div class="row">\r\n            <section class="col-sm-24 col-md-8 section remove-header-rule" ng-repeat="section in viewlinkfarm.sectionList">\r\n                <div class="section-header dropdown-no-toggle-header collapsed">\r\n                    <h3 class="text-base">{{section.header}}<\/h3>\r\n                <\/div>\r\n                <div class="section-header dropdown-toggle-header collapsed">\r\n                    <h3 class="text-base">{{section.header}}<a href="" aria-label="{{section.header}}" aria-expanded="false"  role="button" data-toggle="collapse" class="text-title pull-right dropdown-toggle win-icon" data-target="#link-section-footer-{{$index}}"><\/a><\/h3>\r\n                <\/div>\r\n\r\n                <ul id="link-section-footer-{{$index}}" class="list-unstyled section-body collapse landing-section-content">\r\n                    <li ng-repeat="link in section.links"><a id="f1footer-{{link.htmlId}}" ng-href="{{link.linkUrl}}" target="_self">{{link.linkText}}<\/a><\/li>\r\n                <\/ul>\r\n            <\/section>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/L0Header.html",'<!-- L0Header.html is used as a fallback in both Portal and VA Verticals in case OneSiteResources are not configured properly or not available -->\r\n<div class="container">\r\n    <div class="row">\r\n        <div class="col-xs-24">\r\n            <div id="l0-header" class="pull-right text-body" ng-controller="L0HeaderController">\r\n                <span id=\'signin-container\'>\r\n                    <span id=\'signin-display-name\'>{{userDisplayName}}<\/span>\r\n                    <a href="#" ng-click="login()"  ng-hide="isSignedIn">{{ signInText }}<\/a>\r\n                    <a href="#" ng-click="logout()" ng-show="isSignedIn">{{ signOutText }}<\/a>\r\n                <\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/LoadingSpinner.html",'<div class="progress vatheme-progress-symbol-dot-outline" ng-class="progressClasses" ng-if="isStarted">\r\n    <div class="indeterminate progress-bar vatheme-progress-symbol-dot-outline" role="progressbar" ng-if="indeterminate" ng-class="barClasses">\r\n        <div class="indeterminate-indicators" ng-if="isBar">\r\n            <div class="indicator-1 vatheme-progress-symbol-dot-outline" ng-class="indicatorClasses">\r\n                <div class="dot vatheme-progress-symbol-dot"><\/div>\r\n            <\/div>\r\n            <div class="indicator-2 vatheme-progress-symbol-dot-outline" ng-class="indicatorClasses">\r\n                <div class="dot vatheme-progress-symbol-dot"><\/div>\r\n            <\/div>\r\n            <div class="indicator-3 vatheme-progress-symbol-dot-outline" ng-class="indicatorClasses">\r\n                <div class="dot vatheme-progress-symbol-dot"><\/div>\r\n            <\/div>\r\n            <div class="indicator-4 vatheme-progress-symbol-dot-outline" ng-class="indicatorClasses">\r\n                <div class="dot vatheme-progress-symbol-dot"><\/div>\r\n            <\/div>\r\n            <div class="indicator-5 vatheme-progress-symbol-dot-outline" ng-class="indicatorClasses">\r\n                <div class="dot vatheme-progress-symbol-dot"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="indicator-1 vatheme-progress-symbol-dot-outline" ng-show="!isBar" ng-class="indicatorClasses"><\/div>\r\n        <div class="indicator-2 vatheme-progress-symbol-dot-outline" ng-show="!isBar" ng-class="indicatorClasses"><\/div>\r\n        <div class="indicator-3 vatheme-progress-symbol-dot-outline" ng-show="!isBar" ng-class="indicatorClasses"><\/div>\r\n        <div class="indicator-4 vatheme-progress-symbol-dot-outline" ng-show="!isBar" ng-class="indicatorClasses"><\/div>\r\n        <div class="indicator-5 vatheme-progress-symbol-dot-outline" ng-show="!isBar" ng-class="indicatorClasses"><\/div>\r\n    <\/div>\r\n    <div ng-if="!indeterminate" class="progress-bar" role="progressbar" aria-valuenow="{{progressPercentage}}" aria-valuemin="0" aria-valuemax="100" ng-style="{width: progressPercentage + \'%\'}">\r\n        <span class="sr-only"><\/span>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/Locale.html",'<div id="language-selector" class="language-selector-section" ng-controller="LanguageController" ng-show="displayLanguageSelector">\r\n    <div class="container">\r\n        <div class="text-title spacer-20-top spacer-32-bottom">\r\n            <h3 tabindex="-1" id="language-selector-title">{{ languageSelectorTitle }}<\/h3>\r\n            <button aria-label="{{ languageSelectorCloseAltText }}" class="btn-link win-icon win-icon-Cancel pull-right" ng-click="closeClick()"><\/button>\r\n\r\n        <\/div>\r\n        <div class="col-xs-24 col-sm-6" ng-repeat="column in columns">\r\n            <div class="row" ng-repeat="language in column track by $index">\r\n                <a ng-attr-id="{{\'language-\'+ language.locale}}" href="" ng-click="setLanguage(language);">{{language.displayName}}<\/a>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/SearchableDropdownTemplate.html",'<div class="searchable-dropdown">\r\n    <div class="search-bar">\r\n        <input class="form-control"\r\n               type="text"\r\n               ng-model="model"\r\n               placeholder="{{prompt}}"\r\n               ng-keydown="selected=false; actionOnKeyDown($event)" />\r\n        <span class="win-icon form-control-feedback" tabindex="-1"> &#xE721; <\/span>\r\n    <\/div>\r\n\r\n    <div class="dropdown">\r\n        <ul class="dropdown-menu item-block"\r\n            ng-hide="!model.length || selected">\r\n            <li class="item"\r\n                ng-repeat="item in filtered = (items | filter:model | limitTo:noLimit ? null : 6)  track by $index"\r\n                ng-click="onItemSelected(item)"\r\n                ng-class="{\'current-active\':current == $index}"\r\n                ng-mouseenter="setCurrent($index)">\r\n                <p class="title">{{item[display]}}<\/p>\r\n            <\/li>\r\n        <\/ul>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/StarRating.html",'<div class="star-track" ng-repeat="star in stars track by $index">\r\n    <label class="star-rating win-icon win-icon-FavoriteStarFill radio"\r\n           aria-hidden="true"\r\n           title="{{ tooltipText }}"\r\n           ng-class="{\'filled\' : $index < ratingValue, \'preview\' : $index < previewValue, \'disabled\' : disabled}"\r\n           ng-mouseover="preview($index)"\r\n           ng-mouseleave="preview(-1)"\r\n           for="{{ name }}-{{$index}}">\r\n    <\/label>\r\n    <input type="radio"\r\n           id="{{ name }}-{{$index}}"\r\n           class="sr-only star-rating-radio-button-sr"\r\n           name="{{ name }}"\r\n           aria-label="{{ view.starRating + \' \' + ($index + 1) + \' \' + view.starRatingsList[$index] }}"\r\n           ng-click="rate($index)"\r\n           ng-keypress="$event.keyCode === 13 && rate($index)"\r\n           ng-blur="preview(-1)"\r\n           ng-focus="preview($index)"\r\n           ng-required="!optional" \r\n           ng-disabled="disabled"/>\r\n<\/div>\r\n<div ng-if="ratingValue && scales && scales[ratingValue - 1]" class="text-body rating-scale-label">{{ scales[ratingValue - 1] }}<\/div>');n.put("/PartialViews/Search/BingAutoSuggest.html",'<ul ng-show="result.suggestions.length && isVisible">\r\n    <li ng-bind-html="generateSuggestionHtml(suggestion)"\r\n        ng-class="{selected: isSelected(suggestion)}"\r\n        ng-repeat="suggestion in result.suggestions"\r\n        ng-mousedown="clickSuggestion(suggestion,$index)">\r\n    <\/li>\r\n<\/ul>\r\n<div class="sr-only" aria-live="polite" role="status">{{selected.CompletionText}}<\/div>');n.put("/PartialViews/Search/HelpLinks.html",'<div class=" container quick-nav" ng-class="{\'home\' : displayAllContent && !errorStatus, \'other\' : !displayAllContent || errorStatus}">\r\n    <div class="row">\r\n        <div class="help-link" ng-hide="checkVisibility(quickNavLink)" ng-repeat="quickNavLink in view.quickNavLinks">\r\n            <a href ng-attr-id="{{quickNavLink.key}}" ng-href="{{ (quickNavLink.key + \'/\') == quickNavLink.link.linkUrl ? \'#\' : quickNavLink.link.linkUrl}}" ng-click="linkClick($event, quickNavLink.key)" target="_self">\r\n                <span class="win-icon" aria-hidden="true">{{quickNavLink.icon | icon}}<\/span>\r\n                <span class="text-body">{{quickNavLink.link.linkText}}<\/span>\r\n            <\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Search/InstantAnswer.html",'<div loading-spinner ng-if="iaLoading" data-delay="1000"><\/div>\r\n<div ng-if="answer" class="instant-answer search-result-panel item-section section remove-top-margin remove-bottom-margin" role="tabpanel" ng-style="instantAnswerStyle">\r\n    <div class="hidden" > <img ng-src="{{pingbackUrl}}" /><\/div>\r\n    <header class="section-header" ng-if="answer.solutions.length > 1" role="presentation">\r\n        <select ng-model="solution.active" ng-options="solution.name for solution in answer.solutions" ng-change="setShowMoreLessState()" role="listbox"><\/select>\r\n    <\/header>\r\n    <div class="section-body" role="tabpanel">\r\n        <div class="container">\r\n            <div class="row">\r\n                <div>\r\n                    <div class="image-col col-xs-24" ng-if="solution.active.media[0]">\r\n                        <div class="image-container">\r\n                            <div ng-click="solution.active.media[0].motionThumbnailUrl && (showMedia = true)" role="group" aria-labelledby="card-header">\r\n                                <img ajax-load ng-if="!showMedia" class="img-responsive" ng-src="{{solution.active.media[0].mediaUrl}}" alt="{{solution.active.media[0].name}}" title="{{solution.active.media[0].name}}" />\r\n                                <iframe ng-if="showMedia" class="embed-responsive-item" scrolling="no" allowfullscreen frameborder="0" ng-src="{{trustSrc(solution.active.media[0].motionThumbnailUrl)}}" width="{{solution.active.media[0].image.width}}" height="{{solution.active.media[0].image.height}}"><\/iframe>\r\n                                <button ng-show="!showMedia && solution.active.media[0].motionThumbnailUrl" class="win-icon win-icon-Play normalize-button">\r\n                                    <span class="sr-only">{{ view.playButtonLabel }}<\/span>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class="col-xs-24 spacer-12-bottom" ng-show="solution.active.description">\r\n                        <span class="text-body">\r\n                            <span ng-bind-html="solution.active.description | linkify"><\/span>\r\n                        <\/span>\r\n                    <\/div>\r\n                    <div class="col-xs-24">\r\n                        <!--keep span on the same line, otherwise there will be weird spacing issues-->\r\n                        <ol ng-class="{\'ia-numbered\': solution.active.listStyle === \'Numbered\', \'ia-bullet\': solution.active.listStyle === \'Bullet\', \'ia-none\': solution.active.listStyle === \'None\' || !solution.active.listStyle, \'ia-single-bullet\': (solution.active.steps.length === 1 || solution.active.listStyle === \'Paragraphed\')}">\r\n                            <li ng-repeat="step in solution.active.steps">\r\n                                <span ng-if="step.stepTitle" ng-bind-html="step.stepTitle | linkify"><\/span><span class="text-body" ng-repeat="fragment in step.formattedFragments"><a id="instant-answer-link-{{$parent.$index}}-{{$index}}" ng-if="fragment.url" ng-href="{{fragment.url}}" target="{{ target }}" ng-bind-html="fragment.text  | linkify"><\/a><span ng-if="!fragment.url && !fragment.inlineIconCode && !fragment.icon" ng-bind-html="fragment.text"><\/span><span class="win-icon" ng-if="fragment.inlineIconCode" title="{{fragment.text}}"> {{fragment.inlineIconCode | icon}} <\/span><span class="win-icon" ng-if="fragment.icon" title="{{fragment.text}}"> {{fragment.icon | icon}} <\/span><\/span><span ng-show="step.media[0]"><img ajax-load class="img-responsive spacer-12-top spacer-12-bottom" ng-src="{{step.media[0].url}}" width="{{step.media[0].width}}" height="{{step.media[0].height}}" /><\/span>\r\n                                <ol class="ia-bullet spacer-12-top" ng-show="step.helpSubSteps">\r\n                                    <li ng-repeat="subStep in step.helpSubSteps">\r\n                                        <span ng-if="subStep.stepTitle" ng-bind-html="subStep.stepTitle | linkify"><\/span><span class="text-body" ng-repeat="fragment in subStep.formattedFragments"><a id="instant-answer-link-{{$parent.$parent.$index}}-{{$parent.$index}}-{{$index}}" ng-if="fragment.url" ng-href="{{fragment.url}}" target="{{ target }}" ng-bind-html="fragment.text | linkify"><\/a><span ng-if="!fragment.url && !fragment.inlineIconCode && !fragment.icon" ng-bind-html="fragment.text"><\/span><span class="win-icon" ng-if="fragment.inlineIconCode" title="{{fragment.text}}"> {{fragment.inlineIconCode | icon}} <\/span><span class="win-icon" ng-if="fragment.icon" title="{{fragment.text}}"> {{fragment.icon | icon}} <\/span><\/span>\r\n                                    <\/li>\r\n                                <\/ol>\r\n                            <\/li>\r\n                        <\/ol>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class="col-xs-24 instant-answer-extras-container" ng-class="{ \'spacer-32-bottom\': hasShowMoreButton && !feedbackProvided }">\r\n                    <div ng-show="solution.active.potentialAction.length">\r\n                        <div class="spacer-12-top" ng-repeat="action in solution.active.potentialAction">\r\n                           <a ng-attr-id="{{ (previewAction && previewAction.id) || (actionId + \'-\' + $index) }}" class="btn btn-primary" ng-href="{{action.url}}" ng-if="action.url" target="{{ target }}" ng-click="previewAction && previewAction.postFeedback(action)"> {{ action.name }} <\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class="container-fluid">\r\n                        <div class="row" ng-hide="inShowMoreState">\r\n                            <div ng-class="displayFeedback ? \'col-xs-12\' : \'col-xs-24\'">\r\n                                <span ng-show="!solution.active.relatedHelpUrl" ng-bind-html="solution.active.relatedHelpDisplayText | linkify"><\/span>\r\n                                <a id="instant-answer-related-help" ng-show="solution.active.relatedHelpUrl" ng-href="{{solution.active.relatedHelpUrl}}" target="{{ target }}" ng-bind-html="solution.active.relatedHelpDisplayText || view.relatedHelp"><\/a>\r\n                            <\/div>\r\n                            <div class="col-xs-12 text-right instant-answer-survey" ng-if="displayFeedback">\r\n                                <div class="win-color-fg-secondary" ng-show="(!feedbackProvided || displaySurvey) && view.feedbackQuestion">\r\n                                    <span class="instant-answer-survey-question" ng-show="!feedbackProvided || !displaySurvey"> {{ view.feedbackQuestion }} <\/span>\r\n                                    <div class="instant-answer-survey-buttons">\r\n                                        <button id="instant-answer-survey-success" class="btn btn-link btn-link-inline"\r\n                                                title="{{ view.feedbackThumbsUpTooltip }}"\r\n                                                aria-label="{{ view.feedbackQuestion }} {{ view.feedbackSuccess }}"\r\n                                                ng-click="!surveyInput && provideFeedback(true)"\r\n                                                value="{{answer.sourceId}}">\r\n                                            <span ng-show="!displaySurvey">{{ view.feedbackSuccess }} <\/span>\r\n                                            <span ng-show="displaySurvey" class="win-icon win-icon-Like" aria-label="{{ view.feedbackThumbsUpTooltip }}"><\/span>\r\n                                        <\/button>\r\n                                        <button id="instant-answer-survey-failure" class="btn btn-link btn-link-inline"\r\n                                                title="{{ view.feedbackThumbsDownTooltip }}"\r\n                                                aria-label="{{ view.feedbackQuestion }} {{ view.feedbackFailure }}"\r\n                                                ng-click="!surveyInput && provideFeedback(false)"\r\n                                                value="{{answer.sourceId}}">\r\n                                            <span ng-show="!displaySurvey">{{ view.feedbackFailure }} <\/span>\r\n                                            <span ng-show="displaySurvey" class="win-icon win-icon-Dislike" aria-label="{{ view.feedbackThumbsDownTooltip }}"><\/span>\r\n                                        <\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <div class="win-color-fg-secondary" ng-show="feedbackProvided && !displaySurvey"> {{ view.feedbackAppreciation }} <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>                    \r\n                <\/div>\r\n                <div class="col-xs-24" ng-show="feedbackProvided && displaySurvey && !inShowMoreState" ng-class="{ \'spacer-32-bottom\': hasShowMoreButton }">\r\n                    <div ng-show="!surveyComplete">\r\n                        <h4 class="spacer-12-top spacer-12-bottom"> {{ view.surveyQuestion }} <\/h4>\r\n                        <textarea smooth-scroll focus-content data-name="{{ instantAnswerFeedbackName }}" data-condition="{{feedbackProvided && displaySurvey && !surveyComplete }}" id="instant-answer-survey-detailed-text" class="spacer-12-bottom form-control" ng-model="surveyInput" ng-keypress="$event.which === 13 && surveyInput && (surveyComplete = true)" placeholder="{{ view.feedbackPlaceholder }}"><\/textarea>\r\n                        <div class="btn-group remove-top-margin remove-bottom-margin">\r\n                            <button id="instant-answer-survey-detailed-success" class="btn btn-default" ng-disabled="!surveyInput" ng-click="surveyInput && (surveyComplete = true)"> {{ view.surveySubmit }} <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div ng-show="surveyComplete">\r\n                        <h4 class="spacer-32-top spacer-32-bottom text-align-center"> {{ view.feedbackAppreciation }} <\/h4>\r\n                    <\/div>\r\n                <\/div>\r\n                <!--Show more/less buttons - created separate button elements to ensure events fire properly discerning more/less clicks-->\r\n                <div ng-if="hasShowMoreButton">\r\n                    <!--Show more button-->\r\n                    <button class="text-align-left col-xs-24 win-color-bg-20 instant-answer-show-more-less instant-answer-show-more" \r\n                            ng-click="toggleShowMoreLess(!inShowMoreState)"\r\n                            ng-show="inShowMoreState">\r\n                        <span class="instant-answer-show-more-less-text" ng-bind="view.showMore"><\/span>\r\n                        <span class="win-icon win-icon-ChevronDown"><\/span>\r\n                    <\/button>\r\n                    <!--Show less button-->\r\n                    <button class="text-align-left col-xs-24 win-color-bg-20 instant-answer-show-more-less instant-answer-show-less" \r\n                            ng-click="toggleShowMoreLess(!inShowMoreState)"\r\n                            ng-hide="inShowMoreState">\r\n                        <span class="instant-answer-show-more-less-text" ng-bind="view.showLess"><\/span>\r\n                        <span class="win-icon win-icon-ChevronUp"><\/span>\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<div debug="answer"><\/div>');n.put("/PartialViews/Search/NotificationAndSurveyBanner.html",'<div id="search-box" ng-controller="SearchBoxController">\r\n    <div ng-if="bannerPlacement==\'above-search\'" ng-include="\'/PartialViews/Search/NotificationBanner.html\'"><\/div>\r\n    <div ng-if="!isUserInFloodgateSurvey">\r\n        <survey-invitation data-view="mobile"><\/survey-invitation>\r\n    <\/div>\r\n    <div ng-if="bannerPlacement==\'below-search\'" ng-include="\'/PartialViews/Search/NotificationBanner.html\'"><\/div>\r\n<\/div>');n.put("/PartialViews/Search/NotificationBanner.html",'<div id="notification-banner" ng-show="hasBanner" ng-controller="NotificationBannerController">\r\n    <div ng-if="isBannerLink" class="bannerDisplay">\r\n        <a id="notification-banner-{{banner.notificationUrl.htmlId}}" class="jumbotron notification-banner banner-image link-banner" ng-style="{\'background-color\': banner.backgroundColor}" ng-href="{{banner.notificationUrl.linkUrl}}">\r\n            <div ng-if="!isRight" class="container banner-container contentIsLeft">\r\n                <span class="text-subtitle banner-text banner-highlight">{{banner.notificationText}} {{banner.notificationUrl.linkText}}<\/span>\r\n                <img class="banner-image {{banner.productImageLocation}}" ng-src="{{banner.productImage.url}}" alt="{{product.name}}" />\r\n            <\/div>\r\n            <div ng-if="isRight" class="container banner-container contentIsRight">\r\n                <img class="banner-image {{banner.productImageLocation}}" ng-src="{{banner.productImage.url}}" alt="{{product.name}}" />\r\n                <span class="text-subtitle banner-text banner-highlight">{{banner.notificationText}} {{banner.notificationUrl.linkText}}<\/span>\r\n            <\/div>\r\n        <\/a>\r\n    <\/div>\r\n    <div ng-if="!isBannerLink">\r\n        <div id="notification-banner-text" class="jumbotron notification-banner banner-image bannerDisplay" ng-style="{\'background-color\': banner.backgroundColor}">\r\n            <div ng-if="!isRight" class="container banner-container contentIsLeft">\r\n                <span class="text-subtitle banner-text">{{banner.notificationText}}<\/span>\r\n                <img class="banner-image {{banner.productImageLocation}}" ng-src="{{banner.productImage.url}}" alt="{{product.name}}" />\r\n            <\/div>\r\n            <div ng-if="isRight" class="container banner-container contentIsRight">\r\n                <img class="banner-image {{banner.productImageLocation}}" ng-src="{{banner.productImage.url}}" alt="{{product.name}}" />\r\n                <span class="text-subtitle banner-text">{{banner.notificationText}}<\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Search/SearchContainer.html",'<!-- TODO: 15952725 Separate notification banner and survey invitation from SearchBoxController and SearchContainer-->\r\n<div id="search-box" ng-controller="SearchBoxController">\r\n    <div ng-if="bannerPlacement==\'above-search\'" ng-include="\'/PartialViews/Search/NotificationBanner.html\'"><\/div>\r\n    <div ng-if="!isUserInFloodgateSurvey">\r\n        <survey-invitation data-view="mobile"><\/survey-invitation>\r\n    <\/div>\r\n    <div ng-if="bannerPlacement==\'below-search\'" ng-include="\'/PartialViews/Search/NotificationBanner.html\'"><\/div>\r\n<\/div>');n.put("/PartialViews/Search/SearchResult.html",'<div class="item-section section search-result-panel remove-top-margin">\r\n    <div class="section-header remove-bottom-margin">\r\n        <div>            \r\n            <div class="text-body" ng-class="{\'text-subtitle\': size != \'small\', \'text-body text-maxlines-1\': size == \'small\'}">                \r\n                <a role="link" aria-label="{{result.simpleTitle}}" title="{{result.simpleTitle}}" focus-content data-name="search-result-item" data-condition="{{$parent.$index === focusIndex}}" id="result-{{ id }}" target="{{ target }}" ng-href="{{result.link}}" ng-mousedown="selectResult()" ng-keydown="$event.which === 13 && selectResult()" ng-bind-html="result.title"><\/a>\r\n            <\/div>\r\n        <\/div>\r\n        <div aria-hidden="true" class="text-body text-maxlines-1 search-result-display-link" ng-hide="showLink">\r\n            <div ng-bind-html="result.displayLink"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="section-body"> \r\n        <div class="text-body" ng-bind-html="result.description" ng-class="{\'text-maxlines-3\': size == \'small\'}" ><\/div>\r\n    <\/div> \r\n    <div aria-hidden="true" class="hidden"> <img ng-src="{{pingbackUrl}}" /><\/div>\r\n<\/div>\r\n')}]),function(){function t(n,t,i,r,u,f,e,o,s){t(function(){n.$broadcast("AngularJsReady")},10);n.$on("$routeChangeSuccess",function(t,i,o){s.initializePageLoadTimeCounters(r.path());u.current&&u.current.otherwise&&(o==null?(n.$broadcast("404Error",{location:r.url()}),e.log("hit otherwise statement for route: ",u)):f.location.reload())});r&&r.hash&&r.hash()&&t(function(){i()},2e3);o.initializeAntiForgery()}var n=angular.module("smc.core",["portalCommon","ngFileUpload","AdalAngular"]).value("authConfiguration",{tenant:"common",clienId:"fdf9885b-dd37-42bf-82e5-c3129ef5a302",prodHost:"support.microsoft.com",uatHost:"support-uat.microsoft.com",stagingHost:"staging.support.services.microsoft.com",internalProdHost:"internal.support.services.microsoft.com",internalUatHost:"internal-uat.support.services.microsoft.com",internalDevHost:"internal-dev.support.services.microsoft.com",inProdHost:"inprod.support.services.microsoft.com",partnersHost:"partner.support.services.microsoft.com",prodInstance:"https://login.microsoftonline.com/",accountSettingsUrl:"https://portal.office.com/account/",siteUrl:"https://login.microsoftonline.com/",protectedEndpoints:["api/cases","api/commercialcontacts","api/content/help","api/content/asset","api/entitlements","api/incidents","api/Incidents/Assets/FileWorkspaces","api/incidents/list","api/jwtaftoken","api/token/getAADToken","api/token/getAADUserStateCookie","api/workspaces","api/workspaces/AccessTokens","api/supportforbusiness/addcontact","api/supportforbusiness/addentitlement","api/supportforbusiness/cases","api/supportforbusiness/createemailinteraction","api/supportforbusiness/deleteContact","api/supportforbusiness/getcasedetails","api/supportforbusiness/getcases","api/supportforbusiness/getentitlements","api/supportforbusiness/gethoops","api/supportforbusiness/getinteractionbyid","api/supportforbusiness/purchase","api/supportforbusiness/purchase/options","api/supportforbusiness/refund","api/supportforbusiness/refund/options","api/supportforbusiness/updateContact","api/supportforbusiness/workspace"],endpoints:{"https://graph.microsoft.com":"https://graph.microsoft.com"},signInUri:"/signin",signOutUri:"/signout",signOutPersonalUri:"/signout/personal",signOutWorkUri:"/signout/work",userSignedInMSAEvent:"UserSignedInMSA",userSignedInAADEvent:"UserSignedInAAD",userNotSignedInEvent:"UserNotSignedIn",msaFedIDP:"live.com",msaFedParam:"msafed=0",adalPrefix:"adal",whitelistedAADErrorCodes:["AADSTS50058","AADSTS70002","AADSTS50133","AADSTS16000","AADSTS50076","AADSTS_RENEW_TIMEOUT"]}).value("mwf",window.mwf).value("clientConfig",microsoft.support.config).value("serverInfo",microsoft.support.serverInfo).run(t);window.MsSupportSdk?window.MsSupportSdk.init({partnerId:"SMC",appId:"support-portal"}).then(function(){n.value("supportSDK",window.MsSupportSdk)}):n.value("supportSDK",{});t.$inject=["$rootScope","$timeout","$anchorScroll","$location","$route","$window","$log","antiForgeryService","pageLoadTimePortalFeatures"]}(),function(){function n(n,t,i){var r=i.$get(),u=window.location.hostname;t.init({instance:r.prodInstance,tenant:r.tenant,clientId:r.clienId,redirectUri:"https://"+u+"/loginredirect",protectedEndpoints:r.protectedEndpoints,endpoints:r.endpoints},n)}angular.module("smc.core").config(n);n.$inject=["$httpProvider","adalAuthenticationServiceProvider","authConfigurationProvider"]}(),function(){angular.module("smc.core").config(["$httpProvider",function(n){n.interceptors.push("qosTelemetryInterceptor");n.interceptors.push("errorInterceptor");n.interceptors.push("httpAppOptionsInterceptor")}])}(),function(){angular.module("smc.core").run(["searchTelemetryService","autoSuggestTelemetryService","qosTelemetryService","wedcsService","authenticationHelperService","seoService","navigationOverrideService","smcEngagementTelemetryService","getHelpRedirectionTelemetryService",function(){}]).run(["dtmFileInteractionsTelemetryService","fileExchangeTelemetryService","casesTelemetryService",function(){}])}(),function(){angular.module("smc.core").service("antiForgeryService",["authService","$http","$rootScope","authConfiguration","flightService","authenticationHelperService",function(n,t,i,r){function o(){return t.get("/api/jwtaftoken").then(function(n){n.data&&e.setAadToken(n.data.token)})}function s(){return t.get("/api/aftoken").then(function(n){n.data&&e.setToken(n.data.token)})}var u="no request verification token",f={NONE:"NONE",MSA:"MSA",AAD:"AAD"},e=this;this.setToken=function(n){var i={"x-request-verification":n||u};t.defaults.headers.post["x-request-verification"]=n||u;t.defaults.headers.put["x-request-verification"]=n||u;t.defaults.headers.patch=i;t.defaults.headers.delete=i};this.setAadToken=function(n){var i={"x-request-verification-aad":n||u};t.defaults.headers.post["x-request-verification-aad"]=n||u;t.defaults.headers.put["x-request-verification-aad"]=n||u;t.defaults.headers.patch=i;t.defaults.headers.delete=i};this.initializeAntiForgery=function(){return n.resolveAuthState().then(function(n){switch(n){case f.AAD:return o();case f.MSA:case f.NONE:return s()}})};this.resolveAntiforgeryTokens=function(){return this.initializeAntiForgery()};i.$on(r.userSignedInMSAEvent,function(){s()});i.$on(r.userSignedInAADEvent,function(){o()})}])}(),function(){angular.module("smc.core").service("casesService",["$http","$q","$window","languageService","sdkProxyService","fileUploaderService","antiForgeryService",function(n,t,i,r,u){function f(n){u.isInSdk()&&u.proxy().then(function(t){t.dispatchEvent("WebInteractionCreated",n)})}function e(n){u.isInSdk()&&u.proxy().then(function(t){t.dispatchEvent("LoadCaseCompleted",{status:n.status,statusText:n.statusText,data:n.data})})}this.createCase=function(t){return n.post("/api/cases",t,{headers:{"Content-Type":"application/json"},httpAppOptions:{qosOperation:{name:"CasesService.submit",description:"Create a new case in CaseManagement Client"}}}).then(function(n){return n.data})};this.getCase=function(t){return n.get("/api/cases/"+t).then(function(n){return e(n),n.data},function(n){return e(n),n})};this.createCaseWebInteraction=function(t,i){return n.post("/api/cases/"+t+"/interactions",i,{headers:{"Content-Type":"application/json"}}).then(function(n){return i.id=n.data.id,i.userDisplayInfo=n.data.userDisplayInfo,f(i),i},function(n){f(n.data)})}}])}(),function(){angular.module("smc.core").service("clientConfigurationService",function(){this.getCulturesWithNameFormatting=function(n){if(n)return n.LocaleBasedFormattingConfig.CulturesWithNameFormatting}})}(),function(){"use strict";function n(n,t){function r(r,u){var f=n.getCulturesWithNameFormatting(microsoft.support.config),e=t.locale();return e&&f&&f.length>0&&f.indexOf(e.toLowerCase())>=0?i(u,r):i(r,u)}function i(n,t){if(n&&t)return n+" "+t}return{cultureSpecificName:r}}angular.module("smc.core").factory("customerName",n);n.$inject=["clientConfigurationService","languageService"]}(),function(){angular.module("smc.core").service("dtmFileUploader",["$q","$window","dtmFileInteractionsTelemetryService","clientConfig","$filter","Upload","dtmTokenHelper",function(n,t,i,r,u,f,e){function p(n,t,i){var r,u,f;if(n&&n.length)for(r=0;r<n.length;r++)u=n[r],f={isExpired:!1},c(u,t,f,i,n.length)}function c(t,r,h,l,a){var v={name:"dtmFileUploader.uploadFileChunk",description:"upload file of name="+t.file.name+", chunk index="+t.index+" total file chunks="+a+" token isExpired="+h.isExpired};o.length<y||o.length==y&&h.isExpired==!0?(h.isExpired==!1&&o.push(t),e.getAccessToken(h.isExpired,l).then(function(e){var p,s,y;try{p=et(l)}catch(b){n.reject("DTM URL for dtmFileUploader.getWorkspaceFileInfoWithRetry could be not determines. Error: "+b.message)}return s={url:p+u("compassFormat")(nt,{workspaceId:r,folderName:k,fileName:encodeURIComponent(t.file.name)}),method:"PATCH",headers:it(e.accessToken,t),data:t.file,httpAppOptions:{qosOperation:v},timeout:tt},y=f.http(s),t.upload=y,i.logUploadFileChunkRequest({config:s,chunkSize:t.size,totalFileChunks:a}),y.then(function(n){var u=o.indexOf(t),i,f;u>=0&&o.splice(u,1);i=ft(t);i&&(f={isExpired:!1},c(i,r,f,l));s.data=null;n.config=n.config||{};n.config.data=n.config.data||{};n.config.data.name=t.file.name;t.file=null;t.deferred.resolve(n)},function(n){s.data=null;n.status=="401"&&h.isExpired==!1?(h.isExpired=!0,c(t,r,h,l)):(w(t,l),n.config=n.config||{},n.config.data=n.config.data||{},n.config.data.fileName=t.file.name,t.deferred.reject(n))},function(n){t.deferred.notify({update:n,index:t.index})}),y},function(n){w(t,l);t.deferred.reject(n)})):s.push(t)}function it(n,i){return{"Content-Type":i.file.type,Authorization:u("compassFormat")(g,{authorizationToken:n}),PartnerId:d,"MS-CV":t.awa.cv.getValue(),ChunkIndex:i.index}}function rt(t,i){for(var e=[],u=0,r=Math.min(l,t.size),o=0,s,f;u<t.size;)s=n.defer(),f={file:t.slice(u,r,t.type),deferred:s,index:o,workspaceId:i,size:r-u},f.file.name=t.name,e.push(f),o++,u=r,r=Math.min(r+l,t.size);return e}function w(n,t){var r=o.indexOf(n),i,u;r>=0&&o.splice(r,1);h.push(n);s.length>0&&(i=s.shift(),u={isExpired:!1},c(i,i.workspaceId,u,t))}function a(n,t){var i=[];return i=i.concat(b(n,s)),i=i.concat(ut(n,t)),i.concat(b(n,h))}function ut(n,t){for(var i,u,e,f=[],r=0;r<o.length;)if(i=o[r],n==i.file.name){if(i.upload)try{i.upload.abort()}catch(h){}o.splice(r,1);f.push(i);s.length>0&&(u=s.shift(),e={isExpired:!1},c(u,u.workspaceId,e,t))}else r++;return f}function b(n,t){var u=[],i,r;if(n&&t&&t.length)for(i=0;i<t.length;)r=t[i],n==r.file.name?(u.push(r),t.splice(i,1)):i++;return u}function v(n,t){var i,r;if(n&&t&&t.length)for(i=0;i<t.length;i++)if(r=t[i],n==r.file.name)return!0;return!1}function ft(){if(s.length>0)return s.shift()}function et(n){return e.getDtmEndpoint(n)}var s=[],o=[],h=[];r.DtmWorkspaceConfiguration=r.DtmWorkspaceConfiguration||{};var y=r.DtmWorkspaceConfiguration.ClientUploadMaxConcurrentFile,l=r.DtmWorkspaceConfiguration.ClientUploadChunkSize,k=r.DtmWorkspaceConfiguration.ClientFolderName,d=r.DtmWorkspaceConfiguration.PartnerId,g=r.DtmWorkspaceConfiguration.AuthorizationScheme,ot=r.DtmWorkspaceConfiguration.ServiceBaseUrl,nt="/api/v1/workspaces/{workspaceId}/folders/{folderName}/files?fileName={fileName}",tt=r.DtmWorkspaceConfiguration.FileUploadTimeoutInMilliseconds|6e5;this.uploadFile=function(n,t,i,r,u){var f,o,e;for(l=i||l,f=rt(n,t),o=[],e=0;e<f.length;e++)o.push(f[e].deferred.promise);return p(f,t,r),{promises:o,fileName:n.name,metaData:u}};this.retryFile=function(t,i,r){for(var u=a(t.fileName,r),e=[],f=0;f<u.length;f++)u[f].deferred=n.defer(),e.push(u[f].deferred.promise);return p(u,i),{promises:e,fileName:t.name}};this.cancelFile=function(n,t){n&&a(n,t)};this.pauseFile=function(n,t){if(n){var i=a(n,t);h=h.concat(i)}};this.hasFile=function(n){return n?v(n,s)||v(n,o)||v(n,h):!1}}])}(),function(){angular.module("smc.core").service("dtmTokenHelper",["$q","$http","$route","$window","flightService","authService","clientConfig","antiForgeryService",function(n,t,i,r,u,f,e,o){function h(n){return n||i&&i.current&&i.current.params&&i.current.params.workspace}function c(n){var t=s["DtmConfig."+n],i,r;return t?t:(i=l(n),r=i.iss,s["DtmConfig."+n]=e.DtmWorkspaceConfiguration.IssuerWhitelist[r.toLowerCase()])}function l(n){var t=/^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/.exec(n),u,i;if(!t||t.length<4)throw new Error("Wokspace token not in valid JWT format. Cannot retreive payload.");if(u=t[2],i=r.atob(u),!i)throw new Error("Wokspace token's payload could not be translated from Base64Url string to Base64 string. Base64Url: "+base64IdToken);return JSON.parse(i)}function v(){return n.when(f.getUserInfo().email)}var a="/api/workspaces/AccessTokens",s={};this.getAccessToken=function(i,r){var e={name:"dtmFileService.getAccessToken",description:"get access token"},u,f;return r=h(r),typeof r=="undefined"?n.reject("No access token available"):(u=s[r],!i&&u?u:(f=a,s[r]=o.resolveAntiforgeryTokens().then(function(){return v().then(function(n){return t.post(f,{workspaceToken:r,email:n},{headers:{"Content-Type":"application/json"},httpAppOptions:{qosOperation:e}}).then(function(n){return n.data})})})))};this.getSupportRequestNumber=function(n){if(n=h(n),!n)throw new Error("DTM endpoint could not be determined. No workspace token available.");var t=l(n);return t.sr||null};this.getDtmEndpoint=function(n){if(n=h(n),!n)throw new Error("DTM endpoint could not be determined. No workspace token available.");var t=c(n);if(!t)throw new Error("DTM endpoint could not be determined by token");return t.Endpoint};this.getDtmSovereignCloudPolicy=function(n){if(n=h(n),!n)throw new Error("DTM sovereign cloud policy could not be determined. No workspace token available");var t=c(n);if(!t)throw new Error("Sovereign cloud policy could not be determined by token");return t.SovereignPolicy}}])}(),function(){"use strict";function n(n,t){function i(n,i,r){var u,f;if(!n)throw new Error("A resource must be provided.");return u="err_{resource}".replace("{resource}",n),i&&(u=u+"_"+i),f=t.strings[u],f||(f=r),f}function r(){if(n.awa&&n.awa.cv)return n.awa.cv.getValue()}return{getApiErrorMessage:i,getCV:r}}angular.module("smc.core").factory("errorService",n);n.$inject=["$window","pageResourcesService"]}(),function(){angular.module("smc.core").service("fileService",["$q","clientConfig","$filter","$http","$window","dtmTokenHelper","dtmFileUploader",function(n,t,i,r,u,f,e){function h(t,u,e,c,a,v){var y={name:"dtmFileService.createFileMetadata",description:"create file metadata with token.isExpired="+c.isExpired};return f.getAccessToken(c.isExpired,v).then(function(f){var k,d,b,nt;try{k=o(v)}catch(tt){n.reject("DTM URL for fileService.createFileMetadataWithRetry could be not determines. Error: "+tt.message)}return d=k+i("compassFormat")(g,{workspaceId:u,folderName:s,fileName:encodeURIComponent(t.name)}),b=l(f.accessToken),b.Overwrite=e,a=a||p,nt={chunkSize:a,contentType:t.type||w,fileSize:t.size,numberOfChunks:Math.ceil(t.size/a)},r.put(d,nt,{headers:b,httpAppOptions:{qosOperation:y}}).then(function(n){return n},function(i){return i.status=="401"&&c.isExpired==!1?(c.isExpired=!0,h(t,u,e,c,a,v)):(i.config.data.fileName=t.name,n.reject(i))})}).catch(function(i){return i.config.data.fileName=t.name,n.reject(i)})}function v(t,u,e){var h={name:"dtmFileService.deleteFile",description:"delete file with token.isExpired="+e.isExpired};return f.getAccessToken(e.isExpired).then(function(f){var c,a;try{c=o()}catch(y){return n.reject("DTM URL for fileService.deleteFileWithRetry could be not determines. Error: "+y.message)}return a=c+i("compassFormat")(d,{workspaceId:u,folderName:s,fileName:encodeURIComponent(t)}),r.delete(a,{headers:l(f.accessToken),httpAppOptions:{qosOperation:h}}).then(function(n){return n},function(i){return i.status=="401"&&e.isExpired==!1?(e.isExpired=!0,v(t,u,e)):n.reject(i)})})}function c(t,u,e){var s={name:"dtmFileService.getWorkspaceFileInfo",description:"get workspace file info with token.isExpired="+u.isExpired};return f.getAccessToken(u.isExpired,e).then(function(f){var h,a;try{h=o(e)}catch(v){n.reject("DTM URL for fileService.getWorkspaceFileInfoWithRetry could be not determines. Error: "+v.message)}return a=h+i("compassFormat")(b,{workspaceId:t}),r.get(a,{headers:l(f.accessToken),httpAppOptions:{qosOperation:s}}).then(function(n){return n},function(i){return i.status=="401"&&u.isExpired==!1?(u.isExpired=!0,c(t,u,e)):n.reject(i)})})}function nt(n,t){var i,r;if(t&&t.length)for(i=0;i<t.length;i++)if(r=t[i],r.fileName==n)return!0;return!1}function l(n){return{"Content-Type":"application/json",Authorization:i("compassFormat")(y,{authorizationToken:n}),PartnerId:a,"MS-CV":u.awa.cv.getValue()}}function o(n){return f.getDtmEndpoint(n)}var tt=t.DtmWorkspaceConfiguration.ServiceBaseUrl,y=t.DtmWorkspaceConfiguration.AuthorizationScheme,s=t.DtmWorkspaceConfiguration.ClientFolderName,a=t.DtmWorkspaceConfiguration.PartnerId,p=t.DtmWorkspaceConfiguration.ClientUploadChunkSize,w="application/octetstream",b="/api/v1/workspaces/{workspaceId}/files/metadata",k="/api/v1/workspaces/{workspaceId}/folders/{folderName}/files?filename={fileName}&partnerid={partnerId}&access_token={access_token}",d="/api/v1/workspaces/{workspaceId}/folders/{folderName}/files?fileName={fileName}",g="/api/v1/workspaces/{workspaceId}/folders/{folderName}/files/metadata?filename={fileName}";this.getFiles=function(n){return c(n,{isExpired:!1})};this.getDownloadFilePath=function(t,r){return f.getAccessToken({isExpired:!1}.isExpired).then(function(u){var f;try{f=o()}catch(e){return n.reject("DTM URL for fileService.getDownloadFilePath could be not determines. Error: "+e.message)}return f+i("compassFormat")(k,{workspaceId:r,folderName:s,fileName:encodeURIComponent(t),partnerId:a,access_token:u.accessToken})})};this.cancelFile=function(n,t){e.cancelFile(n);var i={isExpired:!1};return c(t,i).then(function(r){var u=r.data;if(nt(n,u))return v(n,t,i)})};this.uploadFile=function(n,t,i,r,u){return h(n,t,i,{isExpired:!1},r,u).then(function(){return e.uploadFile(n,t,r,u)})};this.retryFile=function(t,i,r,u){return h(t,i,r,{isExpired:!1},u).then(function(){return e.uploadFile(t,i,u)}).catch(function(r){return r.status=="409"&&e.hasFile(t.fileName)?(e.pauseFile(t.fileName),e.retryFile(t,i)):n.reject(r)})}}])}(),function(){angular.module("smc.core").service("fileUploaderService",["$http","$q","$log","fileService",function(n,t,i,r){function f(t){return n.post("api/workspaces",{incidentId:t},{headers:{"Content-Type":"application/json"},httpAppOptions:{qosOperation:{name:"FileUploaderService.UploadToWorkspaceFromClient",description:"Create a new DTM workspace for an incident and upload files to the workspace from client to DTM api directly"}}})}function e(n,i,u,f){for(var c=[],h=[],e=0;e<u.length;e++)h[e]=t.defer(),r.uploadFile(u[e],n,!1,f,i).then(function(n){var i=n,r=s(u,i.fileName);return r<0?t.reject("can't find matching file for uploading"):t.all(i.promises).then(function(){h[r].resolve(i)}).catch(function(n){h[r].reject({error:n})})}).catch(o(h[e])),c[e]=h[e].promise;return t.all(c)}function o(n){return function(t){return n.reject({error:t})}}function u(n){return n&&n.length&&n.length>0}function s(n,t){for(var i=0;i<n.length;i++)if(t==n[i].name)return i;return-1}this.uploadToWorkspaceFromClient=function(n,t,i){return f(t).then(function(t){return e(t.data.workspaceId,t.data.workspaceToken,n,i)})};this.getIncidentWorkspace=function(t){return n.get("/api/Incidents/Assets/FileWorkspaces",{params:{incidentId:t},httpAppOptions:{cacheBust:!0,qosOperation:{name:"FileUploaderService.GetIncidentWorkspace",description:"Get DTM file workspace for user specified incident ID"}}})};this.getWorkspaceFilesMetadata=function(t){return n.get("/api/Incidents/Assets/FileWorkspaces/"+t+"/Files",{httpAppOptions:{cacheBust:!0,qosOperation:{name:"FileUploaderService.GetWorkspaceFilesMetadata",description:"Get DTM workspace files for a user specified workspace id"}}})};this.validateUploadFiles=function(n,t,i){var f=!1,r;if(u(n)&&u(t)&&t.length>i){for(t.splice(0,t.length),r=0;r<n.length;r++)t.push(n[r]);f=!0}return f}}])}(),function(){"use strict";function n(){function i(i,r,u,f){var r=r||t(),e;if(f||f==!1||(f=!0),u||u==!1||(u=!0),e=document.getElementsByClassName(i),!e||e.length<1)throw new Error("Unable to locate elements using the cssSelector: "+i);n(e[0],r,u,f)}function r(i,r,u,f){var r=r||t(),e;if(f||f==!1||(f=!0),u||u==!1||(u=!0),e=document.getElementById(i),!e)throw new Error("Unable to locate element using the id: "+i);n(e,r,u,f)}function n(n,t,i,r){n.scrollIntoView(r,t);i&&n.focus()}function t(){return{behavior:"instant",block:"center",inline:"nearest"}}return{scrollIntoViewByClassName:i,scrollIntoViewByElementId:r}}angular.module("smc.core").factory("pageService",n)}(),function(){angular.module("smc.core").service("pageLoadTimePortalFeatures",["$rootScope","$timeout","$window","pageLoadTimeService",function(n,t,i,r){this.portalFeatureName="portal";this.premierIncidents="premier-incidents";this.premierAccess="premier-access";this.premierContacts="premier-contacts";this.premierCreateIncident="premier-createincident";this.premierIncidentsForId="premier-incidents-id";this.devices="devices";this.portalsOverAll={lifecycleSearch:"lifecycle-search",lifecycle:"lifecycle",search:"search",accessibilityEdad:"accessibility-edad",accessibilityDad:"accessibility-dad",fileExchange:"file-exchange",allProducts:"all-products",answerDeskPurchase:"answer-desk-purchase",surfaceAcPowerCord:"surface-ac-powerord",fre:"fre"};var u;this.initializePageLoadTimeCounters=function(n){var u,t,i,f;angular.isString(n)&&(u=n.charAt(0)==="/"?n.slice(1):n,t=u.split("/"),t.length>1?(i=t[1].toUpperCase(),(i==="PREMIER"||i==="COMMERCIAL")&&(t.length>2?(f=t[2].toUpperCase(),f==="INCIDENTS"&&t.length>3&&t[3].toUpperCase()==="CREATE"&&r.featureLoadStarted(this.premierCreateIncident)):r.featureLoadStarted(this.premierIncidents))):t.length===1&&r.featureLoadStarted(this.portalFeatureName))};this.portalFeatureBeginLoad=function(n){r.featureLoadStarted(n)};this.portalFeatureLoadedMetrics=function(n){this.portalFeatureLoaded(n);this.logNoBounce()};this.portalFeatureLoaded=function(n){r.featureLoadCompleted(n);awa.vortexEvents.drainQueuedEvents()};this.logNoBounce=function(){u=t(function(){if(i.awa&&i.awa.ct)i.awa.ct.captureContentPageAction({behavior:300,actionType:"O",content:{contentName:"no-bounce",contentId:"no-bounce"}});u=null},8e3)}}])}(),function(){angular.module("smc.core").service("casesTelemetryService",["$rootScope","$window",function(n,t){var u="casesCreation",r=this,i={caseCreation:{caseFormOffered:u+"CaseWorkFlowFormOffered",caseSubmitSuccess:u+"CaseSubmissionSucceeded",caseSubmitFailure:u+"CaseSubmissionFailed",caseFormOptionalField:u+"CaseFormOptionalField"}};this.logAwaEvent=function(n,i){if(t&&t.awa&&t.awa.ct){var r={behavior:t.awa.behavior.OTHER,actionType:i||"O",content:n};t.awa.ct.captureContentPageAction(r)}};n.$on(i.caseCreation.caseFormOffered,function(n,t){r.logAwaEvent({contentName:i.caseCreation.caseFormOffered,contentId:i.caseCreation.caseFormOffered,sapId:t.sapId})});n.$on(i.caseCreation.caseSubmitSuccess,function(n,t){r.logAwaEvent({contentName:i.caseCreation.caseSubmitSuccess,contentId:i.caseCreation.caseSubmitSuccess,caseId:t.caseId,sapId:t.sapId})});n.$on(i.caseCreation.caseSubmitFailure,function(n,t){r.logAwaEvent({contentName:i.caseCreation.caseSubmitFailure,contentId:i.caseCreation.caseSubmitFailure,errorMessage:t.errorMessage,sapId:t.sapId})});n.$on(i.caseCreation.caseFormOptionalField,function(n,t){r.logAwaEvent({contentName:i.caseCreation.caseFormOptionalField,contentId:i.caseCreation.caseFormOptionalField,sapId:t.sapId,fieldLabel:t.fieldLabel,fieldId:t.fieldId})});n.$on("casesPrepopulationNoRunTimeForCompassKeys",function(n,t){r.logAwaEvent({contentName:casesPrepopulationNoRunTimeForCompassKeys,contentId:casesPrepopulationNoRunTimeForCompassKeys,sapId:t.sapId,UnusedCompassKeys:t.keysRunTimeNoValue})})}])}(),function(){angular.module("smc.core").service("dtmFileInteractionsTelemetryService",["$rootScope","$window","jsllService",function(n,t,i){var r={uploadFileChunkRequest:"dtmFileInteractionsUploadFileChunkRequestInfo"};this.logUploadFileChunkRequest=function(n){var u={behavior:t.awa.behavior.OTHER,actionType:"O",content:{contentName:r.uploadFileChunkRequest,contentId:r.uploadFileChunkRequest,requestConfig:n.config,totalFileChunks:n.totalFileChunks,chunkSize:n.chunkSize}};i.captureContentPageAction(u)}}])}(),function(){angular.module("smc.core").service("fileExchangeTelemetryService",["$rootScope","$window","jsllService",function(n,t,i){this.eventNames={uploadCompletion:"secureFileExchangeFileUploadCompletion",authorizationCompletion:"secureFileExchangeAuthorizationCompletion",uploadFileRequest:"secureFileExchangeFileUploadRequest",uploadFileRetryRequest:"secureFileExchangeUploadFileRetryRequest",fileExchangeUsage:"secureFileExchangeUsage"};var r={uploadCompletion:{timeSpent:"secureFileExchangeFileUploadTimeSpent",complete:"secureFileExchangeFileUploadComplete"},authorizationCompletion:{userAuthorizationState:"secureFileExchangeUserAuthorizationState",sovereignCloudPolicy:"secureFileExchangeSovereignCloudPolicy"},uploadFileRequest:"secureFileExchangeFileUploadRequest",uploadFileRetryRequest:"secureFileExchangeUploadFileRetryRequest",fileExchangeUsage:"secureFileExchangeUsage"};n.$on(this.eventNames.uploadCompletion,function(n,u){var f={behavior:t.awa.behavior.OTHER,actionType:"O",content:{contentName:r.uploadCompletion.timeSpent,contentId:r.uploadCompletion.timeSpent,uploadTime:u.uploadTime}},e={behavior:t.awa.behavior.COMPLETEPROCESS,actionType:"O",content:{contentName:r.uploadCompletion.complete,contentId:r.uploadCompletion.complete,wasFileUploadCompleted:u.wasFileUploadCompleted}};i.captureContentPageAction(f);i.captureContentPageAction(e)});n.$on(this.eventNames.authorizationCompletion,function(n,u){var f={behavior:t.awa.behavior.SIGNIN,actionType:"CL",content:{contentName:r.authorizationCompletion.userAuthorizationState,contentId:r.authorizationCompletion.userAuthorizationState,userState:u.userState}},e={behavior:t.awa.behavior.OTHER,actionType:"O",content:{contentName:r.authorizationCompletion.sovereignCloudPolicy,contentId:r.authorizationCompletion.sovereignCloudPolicy,sovereignCloudPolicy:u.sovereignCloudPolicy}};i.captureContentPageAction(f);i.captureContentPageAction(e)});n.$on(this.eventNames.uploadFileRequest,function(n,u){var f={behavior:t.awa.behavior.OTHER,actionType:"O",content:{contentName:r.uploadFileRequest,contentId:r.uploadFileRequest,fileChunkSizeInByte:u.fileChunkSizeInByte,fileSizeTotalInByte:u.fileSizeTotalInByte,startTime:u.startTime}};i.captureContentPageAction(f)});n.$on(this.eventNames.uploadFileRetryRequest,function(n,u){var f={behavior:t.awa.behavior.OTHER,actionType:"O",content:{contentName:r.uploadFileRetryRequest,contentId:r.uploadFileRetryRequest,fileChunkSizeInByte:u.fileChunkSizeInByte,fileSizeTotalInByte:u.fileSizeTotalInByte,startTime:u.startTime}};i.captureContentPageAction(f)});n.$on(this.eventNames.fileExchangeUsage,function(n,u){var f={behavior:t.awa.behavior.OTHER,actionType:"O",content:{contentName:r.fileExchangeUsage,contentId:r.fileExchangeUsage,canUpload:u.canUpload,canViewList:u.canViewList,canDownload:u.canDownload,canDelete:u.canDelete}};i.captureContentPageAction(f)})}])}(),function(){angular.module("smc.core").constant("SearchResponseBlackList",["instantAnswerJson"]).constant("SearchResponseWhiteList",{searchResults:["displayUrl"]}).service("searchTelemetryService",["$rootScope","$location","$window","clientTelemetryService","jsllService","SearchResponseBlackList","SearchResponseWhiteList",function(n,t,i,r,u,f,e){function c(n,t){var r="searchResults",u,f,i;if(n[r]){for(u=n[r],f=[],i=0;i<u.length;i++)f[i]=l(u[i],t[r][0]);n[r]=f}return n}function l(n,t){var i={};return n.hasOwnProperty(t)&&(i[t]=angular.copy(n[t])),i}function a(n,t){for(var r,i=0;i<t.length;i++)r=t[i],n.hasOwnProperty(r)&&delete n[r];return n}var o={unknown:"unknown",searchPrimaryClicked:"searchPrimaryClicked",emptySearchResponse:"emptySearchResponse",instantAnswerFound:"instantAnswerFound",instantAnswerWithQuestion:"instantAnswerWithQuestion"},s={instantAnswerFound:"instant-answer-found",searchResponseExists:"search-response-exists",search:"search"},h=function(n,t,r){t=t||"";r=r||"";var f={behavior:i.awa.behavior.OTHER,actionType:"O",content:{contentName:"SearchAction",contentId:"SearchAction",actionName:n,custom1:t,custom2:r}};u.captureContentPageAction(f)};n.$on("SearchPrimaryClicked",function(n,r){var f={behavior:i.awa.behavior.SEARCH,actionType:"CL",content:{contentName:s.search,contentId:s.search,searchquery:r.SearchString,location:t.absUrl()}};h(o.searchPrimaryClicked,r.Location,r.SearchString);u.captureContentPageAction(f)});n.$on("SearchResponse",function(n,t){var l="false",v=0,r,p,y;t.item&&t.item.searchResponse?(r=angular.copy(t.item.searchResponse),r=c(r,e),r=a(r,f)):r={};t.item&&t.item.results&&t.item.results.length!==0?(p="",l=t.item.instantAnswer?t.item.instantAnswer.sourceId?t.item.instantAnswer.sourceId:"true":"false",v=t.item.totalCount,t.item&&t.item.instantAnswer&&h(o.instantAnswerFound)):h(o.emptySearchResponse,t.caller);y={behavior:i.awa.behavior.OTHER,actionType:"O",content:{contentName:s.searchResponseExists,contentId:s.searchResponseExists,instantAnswer:l,totalResults:v,searchContext:r}};u.captureContentPageAction(y)});n.$on("instantAnswerWithQuestion",function(n,t){h(o.instantAnswerWithQuestion,JSON.stringify(t))})}])}();angular.module("smc.core").run(["$templateCache",function(n){n.put("/PartialViews/Accessibility/EnterpriseAccessibility.html",'<div class="spinner-container spacer-20-top" ng-if="waitingOnCompass">\r\n    <div loading-spinner data-timeout="30000" data-delay="1000" data-message="EnterpriseAccessibilityPageLoadTimeout"><\/div>\r\n<\/div>\r\n<div ng-if="!loadV2" class="accessibility-page commercial-hub">\r\n    <div class="accessibility-hero-removemargin commercial-unauthenticated">\r\n        <img ng-src="{{view.heroSection.background.url}}" alt="{{ view.heroSection.answerDeskText}}" />\r\n        <div class="positioner">\r\n            <div class="container">\r\n                <section class="info-section section remove-header-rule ">\r\n                    <div class="section-header">\r\n                        <h1 class="text-header">{{view.heroSection.title}}<\/h1>\r\n                    <\/div>\r\n                    <div class="section-body">{{view.heroSection.body}}<\/div>\r\n                    <div class="btn-group">\r\n                        <button id=edad-calltoactionlink-{{view.heroSection.callToActionLink.htmlId}} class="btn-primary" ng-click=\'browseto(view.heroSection.callToActionLink.linkUrl)\'>{{ view.heroSection.callToActionLink.linkText }}<\/button>\r\n                    <\/div>\r\n                    <p class="text-body" id="heroSectionWithLink"><\/p>\r\n                <\/section>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="container">\r\n        <div class="row">\r\n            <div class="accessibility-content">\r\n                <section id="accessibility-connect-options" class="spacer-84-top accessibility-connect-options">\r\n                    <h2 class="text-title accessibility-subtitle spacer-16-bottom">{{ view.contactSection.header }}<\/h2>\r\n                    <div class="row">\r\n                        <div ng-repeat="item in view.contactSection.connectOptions" class="col-xs-24 col-sm-12 col-md-12 col-lg-6 spacer-84-bottom text-align-center">\r\n                            <a class="dad-contactcard-item" id=edad-connectcard-{{item.link.htmlId}} ng-href="{{ item.link.linkUrl}}" target="_self" aria-label="{{item.link.linkText}}">\r\n                                <div class="icon-box" ng-style="{\'background-color\': item.color}">\r\n                                    <span class="win-icon win-icon-size-lg {{ item.icon }}" role="presentation"><\/span>\r\n                                    <div class="overlay">\r\n                                        <br />\r\n                                        <div id=edad-connecttext-{{item.link.htmlId}} class="text-subtitle accessibility-contact-text">{{ item.link.linkText}}<\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n                <section id="accessibility-innovators" class="accessibility-innovators">\r\n                    <h2 class="text-title accessibility-subtitle spacer-16-bottom">{{ view.innovatorsSection.header }}<\/h2>\r\n                    <div class="row">\r\n                        <div ng-repeat="item in view.innovatorsSection.content" class="col-xs-24 col-sm-12 col-md-12 col-lg-6 text-align-center">\r\n                            <div class="photo-box">\r\n                                <img class="img-responsive" src="{{ item.image.url }}" alt="{{ item.imageAltText }}" />\r\n                                <div class="spacer-16-top">\r\n                                    <h3 class="text-subtitle spacer-16-bottom">{{ item.title  }}<\/h3>\r\n                                    <p id=edad-photosection-body-{{item.url.htmlId}} class="text-body">{{ item.description }}<\/p>\r\n                                    <p class="text-body spacer-12-top spacer-16-bottom">\r\n                                        <a id=edad-innovators-{{item.url.htmlId}} ng-href="{{ item.url.linkUrl }}" target="_self">\r\n                                            {{ item.url.linkText }}\r\n                                        <\/a>\r\n                                    <\/p>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n                <section id="accessibility-information">\r\n                    <h2 class="text-title accessibility-subtitle spacer-16-bottom">{{ view.informationSection.informationHeader  }}<\/h2>\r\n                    <div>\r\n                        <p class="text-body accessibility-information" id="informationSectionWithLinks"><\/p>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<div ng-if="loadV2">\r\n    <div ng-if="!waitingOnCompass" id="" class="accessibility">\r\n        <div ng-include="\'/PartialViews/Accessibility/HeroSection.html\'"><\/div>\r\n        <div class="connect-section">\r\n            <div class="container">\r\n                <div class="connect-with-expert-edad">\r\n                    <div>\r\n                        <div class="row">\r\n                            <h2 class="text-subheader header">{{view.connectWithExpertSection.title}}<\/h2>\r\n                        <\/div>\r\n                        <div class="description text-body">{{view.connectWithExpertSection.description}}<\/div>\r\n                        <div class="btn-group email-us">\r\n                            <button id=edad-calltoactionlink-{{view.connectWithExpertSection.emailUs.htmlId}} class="btn-primary" ng-click=\'browseto(view.connectWithExpertSection.emailUs.linkUrl)\'>{{ view.connectWithExpertSection.emailUs.linkText }}<\/button>\r\n                        <\/div>\r\n                        <div>\r\n                            <a class="text-body" ng-href="{{view.connectWithExpertSection.productSupportLink.linkUrl}}" target="_blank" id="{{view.connectWithExpertSection.productSupportLink.htmlId}}">{{view.connectWithExpertSection.productSupportLink.linkText}}<\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div ng-include="\'/PartialViews/Accessibility/Resources.html\'"><\/div>\r\n        <div ng-include="\'/PartialViews/Accessibility/Feedback.html\'"><\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Accessibility/Feedback.html",'<div class="feedback-section">\r\n    <div class="container">\r\n        <h2 class="text-subheader header">{{view.feedbackSection.title}}<\/h2>\r\n        <div>\r\n            <div ng-repeat="feedback in view.feedbackSection.feedbackItems" class="col-md-6 col-sm-12 col-xs-24 feedback-item">\r\n                <div>\r\n                    <div aria-hidden="true">\r\n                        <img class="icon" ng-src="{{feedback.icon.url}}" alt="" />\r\n                    <\/div>\r\n                    <div class="reference-link">\r\n                        <a ng-href="{{feedback.feedbackReferenceLink.linkUrl}}" target="_blank" id="{{feedback.feedbackReferenceLink.htmlId}}">{{feedback.feedbackReferenceLink.linkText}}<\/a>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Accessibility/HeroSection.html",'<section>\r\n    <div class="jumbotron-hero single-col">\r\n        <div class="hero-container">\r\n            <div class="hidden-xs hidden-sm hero-content-wrapper">\r\n                <div class="row hero-content">\r\n                    <H1 class="text-header title">{{view.heroSection.title}}<\/H1>\r\n                    <div class="text-body">{{view.heroSection.description}}<\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="background"><img class="hero-media-content" alt="{{view.heroSection.heroImage.altText}}" ng-src="{{view.heroSection.heroImage.url}}"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="hidden-md hidden-lg hero-content">\r\n        <div class="container">\r\n            <div class="row">\r\n                <h1 class="text-header title">{{view.heroSection.title}}<\/h1>\r\n                <div class="text-body">{{view.heroSection.description}}<\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>');n.put("/PartialViews/Accessibility/Index.html",'<div class="spinner-container" ng-if="waitingOnCompass">\r\n    <div loading-spinner data-timeout="30000" data-delay="1000" data-message="AccessibilityPageLoadTimeout"><\/div>\r\n<\/div>\r\n<div ng-if="!waitingOnCompass" id="" class="accessibility">\r\n    <div class="spacer-48-bottom" ng-include="\'/PartialViews/Accessibility/HeroSection.html\'"><\/div>\r\n    <div class="clearfix"><\/div>\r\n    <div class="connect-section">\r\n        <div class="container">\r\n            <div class="connect-with-expert-dad">\r\n                <div>\r\n                    <div title="{{view.contactSection.header}}" class="row ">\r\n                        <h2 class="text-subheader header display-inline-block col-xs-24 col-sm-20 col-md-18">{{view.contactSection.header}}<\/h2>\r\n                    <\/div>\r\n                    <div class="row">\r\n                        <div title="{{connect.toolTip}}" ng-repeat="connect in view.contactSection.connectOptions" class="connect-item col-sm-20 col-md-8 col-lg-6">\r\n                            <div aria-hidden="true">\r\n                                <img class="icon" ng-src="{{connect.icon.url}}" alt="" />\r\n                            <\/div>\r\n                            <h3 class="text-title title">{{connect.title}}<\/h3>\r\n                            <div class="text-body description" ng-bind-html="connect.description"><\/div>\r\n                            <div class="description">\r\n                                <a class="text-body" target="_blank" ng-if="!connect.launchChat" ng-href="{{connect.connectActionLink.linkUrl}}" id="{{connect.connectActionLink.htmlId}}"><span>{{connect.connectActionLink.linkText}}<\/span><\/a>\r\n                                <a ng-if="connect.launchChat" id="{{connect.connectActionLink.htmlId}}" href="" class="text-body" ng-click="LaunchChat(connect.connectActionLink.linkUrl)">{{connect.connectActionLink.linkText}}<\/a>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="deflection">\r\n                <div class="row">\r\n                    <h2 class="text-subheader header col-xs-24">{{view.defelctionSection.header}}<\/h2>\r\n                <\/div>\r\n                <div class="row">\r\n                    <div ng-repeat="deflection in view.defelctionSection.deflectionLinkList" class="deflection-item">\r\n                        <div class="deflection-container">\r\n                            <a class="text-body content" ng-if="deflection.linkTextOverride" target="_blank" ng-href="{{deflection.linkUrl}}" id="{{deflection.htmlId}}">{{deflection.linkText}}<\/a>\r\n                            <a ng-if="!deflection.linkTextOverride" href="" id="{{deflection.htmlId}}" class="text-body content" ng-click="LaunchChat(deflection.linkUrl)">{{deflection.linkText}}<\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <p class="text-body" ng-bind-html="visitAnswerdeskLink" id="contactanswerdesk"><\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div ng-include="\'/PartialViews/Accessibility/Resources.html\'"><\/div>\r\n    <div ng-include="\'/PartialViews/Accessibility/Feedback.html\'"><\/div>\r\n    <div class="clearfix"><\/div>\r\n<\/div>\r\n');n.put("/PartialViews/Accessibility/Resources.html",'<div class="resources">\r\n    <div class="container">\r\n        <h2 class="text-subheader header">{{view.resourceSection.title}}<\/h2>\r\n        <div>\r\n            <div ng-repeat="resource in view.resourceSection.resourceList" class="col-lg-6 col-md-12 col-xs-24 resources-item">\r\n                <div class="item-container">\r\n                    <h3 class="text-title">{{resource.title}}<\/h3>\r\n                    <div class="text-body description">{{resource.description}}<\/div>\r\n                    <div class="refrence-link">\r\n                        <a href="{{resource.resourceReferenceLink.linkUrl}}" target="_blank" id="{{resource.resourceReferenceLink.htmlId}}">{{resource.resourceReferenceLink.linkText}}<\/a>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/AllProducts/Index.html",'<div class="spinner-container spacer-20-top" ng-if="!allProducts">\r\n    <div loading-spinner data-timeout="30000" data-delay="500"><\/div>\r\n<\/div>\r\n<div class="container all-products-list" ng-if="allProducts">\r\n    <div class="row">\r\n        <header class="page-title-header">\r\n            <h1 class="page-title"> {{allProducts.header}} <\/h1>\r\n            <hr />\r\n        <\/header>\r\n    <\/div>\r\n    <ul class="row list-unstyled">\r\n        <li class="col-md-6 col-sm-12 col-xs-24 product-category" ng-repeat="category in allProducts.productCategories track by $index">\r\n            <div ng-if="category.links.length > 0">\r\n                <h2 class="text-subtitle product-subcategory">{{category.header}}<\/h2>\r\n                <ul class="spacer-20-top spacer-20-bottom">\r\n                    <li ng-repeat="link in category.links track by $index">\r\n                        <a id="all-products-{{category.header}}-{{$index}}" target="_self" ng-class="display(category, $parent.$index, $index) ? \'\' : \'hidden\'" ng-href="{{link.linkUrl}}">{{link.linkText}}<\/a>\r\n                    <\/li>\r\n                    <li ng-show="category.links.length > category.collapseCount && !showColumns[$index]">\r\n                        <a id="{{category.header}}-{{allProducts.showMore}}" href="" ng-click="showMore($index)">{{allProducts.showMore}}<\/a>\r\n                    <\/li>\r\n                    <li ng-show="showColumns[$index]">\r\n                        <a id="{{category.header}}-{{allProducts.showLess}}" href="" ng-click="showLess($index)">{{allProducts.showLess}}<\/a>\r\n                    <\/li>\r\n                <\/ul>\r\n            <\/div>\r\n        <\/li>\r\n    <\/ul>\r\n<\/div>');n.put("/PartialViews/AnswerDesk/Index.html",'<div class="answer-desk-purchase-page horizontally-center col-md-22 col-lg-20 col-xl-18 spacer-84-top spacer-84-bottom">\r\n    <div ng-if="view && isCurrentState(uiState.showOffer)">\r\n        <div class="container" ng-include="\'/PartialViews/AnswerDesk/Offer.html\'"><\/div>\r\n        <div class="container" ng-include="\'/PartialViews/AnswerDesk/Tiles.html\'"><\/div>\r\n    <\/div>\r\n    <div ng-if="isCurrentState(uiState.showOrderReview)" ng-include="\'/PartialViews/AnswerDesk/OrderReview.html\'"><\/div>\r\n    <div ng-if="isCurrentState(uiState.showOrderConfirmation)" ng-include="\'/PartialViews/AnswerDesk/OrderConfirmation.html\'"><\/div>\r\n    <div ng-if="isCurrentState(uiState.showPi)" ng-show="!isCurrentState(uiState.busy)" class="col-xs-24 col-md-20 horizontally-center">\r\n        <div class="text-header spacer-20-bottom">{{ view.answerDeskSupportText }}<\/div>\r\n        <div class="text-title spacer-20-bottom"> {{ view.orderReview.reviewOrderText }}<\/div>\r\n        <iframe class="answer-desk-pcsiframe" ng-src="{{ pcsIframePath }}"><\/iframe>\r\n    <\/div>\r\n    <div class="text-center" ng-if="isCurrentState(uiState.busy)">\r\n        <div ng-if="isCurrentState(uiState.processingOrder)">\r\n            <div class="text-title spacer-16-bottom">{{ view.processingOrderTitleText }}<\/div>\r\n            <div class="text-subtitle">{{ view.processingOrderText }}<\/div>\r\n        <\/div>\r\n        <div loading-spinner class="absolute-center loading-spinner" ng-class="{\'answer-desk-proccessing-order-spinner\': isCurrentState(uiState.processingOrder)}"><\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/AnswerDesk/Offer.html",'<div class="row answer-desk-heading">\r\n    <div class="col-xs-8 col-lg-7 col-xl-6 answer-desk-logo">\r\n        <img ng-src="{{ offer.image }}" alt="{{ view.answerDeskSupportText }}">\r\n    <\/div>\r\n    <div class="col-xs-16 col-lg-17 col-xl-18">\r\n        <div class="text-header spacer-12-bottom" ng-bind-html="offer.title"><\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class="col-xs-24 col-sm-16 col-lg-17 no-gutter">\r\n    <div class="text-subheader col-xs-24 spacer-20-bottom ">\r\n        {{ offer.currency + offer.price }}\r\n    <\/div>\r\n    <div class="col-xs-24 hidden-xs spacer-20-bottom">\r\n        <ul class="answer-desk-bulleted-list" ng-if="offer.details && offer.details.length">\r\n            <li ng-repeat="detail in offer.details track by $index"\r\n                ng-bind-html="detail.content"><\/li>\r\n        <\/ul>\r\n    <\/div>\r\n    <div class="col-xs-24 hidden-xs spacer-20-bottom"\r\n         ng-if="offer.content && offer.content.length"\r\n         ng-bind-html="offer.content[0].content">\r\n    <\/div>\r\n    <button id="answer-desk-accept-offer" class="btn btn-primary col-xs-2" ng-click="offerAccepted()">\r\n        {{ view.buyButtonText }}\r\n    <\/button>\r\n<\/div>');n.put("/PartialViews/AnswerDesk/OrderConfirmation.html",'<div class="col-xs-24 horizontally-center">\r\n    <div class="spacer-20-bottom">\r\n        <div class="text-headline spacer-32-bottom">{{ view.answerDeskSupportText }}<\/div>\r\n        <div class="text-subheader spacer-32-bottom" ng-bind-html="view.orderConfirmation.thankYouText | compassFormat: {\'offer-title\': offer.title}"><\/div>\r\n        <div class="text-body spacer-20-bottom"> {{ view.orderConfirmation.sendEmailText | compassFormat: {\'user-email\': accountInfo.email} }}<\/div>\r\n        <div class="text-body spacer-20-bottom"> {{ view.orderConfirmation.orderSummaryText }}<\/div>\r\n        <div class="text-body spacer-20-bottom"> {{ view.orderConfirmation.transactionText | compassFormat: {\'transaction-id\': pricingInfo.transactionId} }}<\/div>\r\n    <\/div>\r\n    <div ng-include="\'/PartialViews/AnswerDesk/OrderDetails.html\'"><\/div>\r\n    <div ng-include="\'/PartialViews/AnswerDesk/OrderDetailsMobile.html\'"><\/div>\r\n<\/div>\r\n');n.put("/PartialViews/AnswerDesk/OrderDetails.html",'<div class="table-responsive hidden-xs">\r\n    <table class="answer-desk-order-summary table win-color-bg-10">\r\n        <thead>\r\n            <tr>\r\n                <th>{{ view.orderDetails.paymentOptionsText }}<\/th>\r\n                <th>{{ view.orderDetails.itemText }}<\/th>\r\n                <th>{{ view.orderDetails.quantityText }}<\/th>\r\n                <th>{{ view.orderDetails.priceText }}<\/th>\r\n            <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n            <tr>\r\n                <td class="win-color-fg-primary">\r\n                    <div>{{ pi.cardType + view.orderDetails.cardNumberMask + pi.lastFour }}<\/div>\r\n                    <div>{{ view.orderDetails.expDateText | compassFormat: {\'exp-date\': (pi.expiration | date:view.orderDetails.expDateFormat)} }}<\/div>\r\n                <\/td>\r\n                <td class="win-color-fg-primary" ng-bind-html="offer.title"><\/td>\r\n                <td class="win-color-fg-primary">1<\/td>\r\n                <td class="win-color-fg-primary">{{ offer.currency + (offer.price | number:2) }}<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td>\r\n                    <a id="answer-desk-edit-pi" ng-if="isCurrentState(uiState.showOrderReview)" href="#" ng-click="offerAccepted()">{{ view.orderReview.editText }}<\/a>\r\n                <\/td>\r\n                <td colspan="2"><\/td>\r\n                <td class="win-color-fg-primary">\r\n                    <table class="table table-compact win-color-bg-10">\r\n                        <tr>\r\n                            <td>{{ view.orderDetails.subtotalText }}<\/td>\r\n                            <td>{{ pricingInfo.currency + (pricingInfo.totalWithoutTax | number:2) }}<\/td>\r\n                        <\/tr>\r\n                        <tr>\r\n                            <td>{{ view.orderDetails.taxText }}<\/td>\r\n                            <td>{{ pricingInfo.currency + (pricingInfo.totalTax | number:2) }}<\/td>\r\n                        <\/tr>\r\n                        <tr class="text-base">\r\n                            <td>{{ view.orderDetails.totalText }}<\/td>\r\n                            <td>{{ pricingInfo.currency + (pricingInfo.total | number:2) }}<\/td>\r\n                        <\/tr>\r\n                    <\/table>\r\n                <\/td>\r\n            <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n<\/div>');n.put("/PartialViews/AnswerDesk/OrderDetailsMobile.html",'<table class="answer-desk-order-summary table win-color-bg-10 hidden-sm hidden-md hidden-lg hidden-xl hidden-print">\r\n    <tbody>\r\n        <tr>\r\n            <td>{{ view.orderDetails.itemText }}<\/td>\r\n            <td colspan="3" class="win-color-fg-primary text-right" ng-bind-html="offer.title"><\/td>\r\n        <\/tr>\r\n        <tr>\r\n            <td colspan="3">{{ view.orderDetails.quantityText }}<\/td>\r\n            <td class="win-color-fg-primary text-right">1<\/td>\r\n        <\/tr>\r\n        <tr>\r\n            <td colspan="3">{{ view.orderDetails.priceText }}<\/td>\r\n            <td class="win-color-fg-primary text-right">{{ offer.currency + (offer.price | number:2) }}<\/td>\r\n        <\/tr>\r\n        <tr class="spacer-32-bottom">\r\n            <td colspan="3">\r\n                <div>{{ view.orderDetails.paymentOptionsText }}<\/div>\r\n            <\/td>\r\n            <td class="text-right">\r\n                <div>{{ pi.cardType + view.orderDetails.cardNumberMask + pi.lastFour }}<\/div>\r\n                <div>{{ view.orderDetails.expDateText | compassFormat: {\'exp-date\': (pi.expiration | date:view.orderDetails.expDateFormat)} }}<\/div>\r\n                <div class="spacer-20-top">\r\n                    <a id="answer-desk-mobile-edit-pi" ng-if="isCurrentState(uiState.showOrderReview)" href="#" ng-click="offerAccepted()">{{ view.orderReview.editText }}<\/a>\r\n                <\/div>\r\n            <\/td>\r\n        <\/tr>\r\n        <tr class="spacer-32-bottom">\r\n            <td colspan="3">{{ view.orderDetails.subtotalText }}<\/td>\r\n            <td class="text-right">{{ pricingInfo.currency + (pricingInfo.totalWithoutTax | number:2) }}<\/td>\r\n        <\/tr>\r\n        <tr>\r\n            <td colspan="3">{{ view.orderDetails.taxText }}<\/td>\r\n            <td class="text-right">{{ pricingInfo.currency + (pricingInfo.totalTax | number:2) }}<\/td>\r\n        <\/tr>\r\n        <tr class="text-base">\r\n            <td colspan="3">{{ view.orderDetails.totalText }}<\/td>\r\n            <td class="text-right">{{ pricingInfo.currency + (pricingInfo.total | number:2) }}<\/td>\r\n        <\/tr>\r\n    <\/tbody>\r\n<\/table>');n.put("/PartialViews/AnswerDesk/OrderReview.html",'<div class="horizontally-center col-xs-24 no-gutter">\r\n    <div class="col-xs-24 spacer-20-bottom">\r\n        <div class="text-header spacer-32-bottom">{{ view.answerDeskSupportText }}<\/div>\r\n        <div class="text-subheader spacer-32-bottom"> {{ view.orderReview.reviewOrderText }} <\/div>\r\n        <div class="text-title spacer-32-bottom"> {{ view.orderReview.paymentInfoText }}<\/div>\r\n    <\/div>\r\n    <div class="col-sm-14 spacer-32-bottom">\r\n        <div class="text-base spacer-20-bottom"> {{ view.orderReview.billingInfoText }} <\/div>\r\n        <div ng-if="accountInfo.name">{{ accountInfo.name }}<\/div>\r\n        <div ng-if="accountInfo.address.street1">{{ accountInfo.address.street1 }}<\/div>\r\n        <div ng-if="accountInfo.address.street2">{{ accountInfo.address.street2 }}<\/div>\r\n        <div ng-if="accountInfo.address.street3">{{ accountInfo.address.street3 }}<\/div>\r\n        <span ng-if="accountInfo.address.city">{{ accountInfo.address.city }}<\/span>\r\n        <span ng-if="accountInfo.address.state">{{ accountInfo.address.state }}<\/span>\r\n        <span ng-if="accountInfo.address.zipcode">{{ accountInfo.address.zipcode }}<\/span>\r\n    <\/div>\r\n    <div ng-if="accountInfo.email" class="col-sm-10 spacer-32-bottom">\r\n        <div class="text-base spacer-20-bottom">{{ view.orderReview.emailReceiptText }}<\/div>\r\n        <a id="answer-desk-email-receipt" href="{{ \'mailto:\' + accountInfo.email }}">{{ accountInfo.email }}<\/a>\r\n    <\/div>\r\n    <div class="col-xs-24 no-gutter">\r\n        <div class="text-title spacer-12-top spacer-32-bottom">{{ view.orderReview.purchaseDetailsText }}<\/div>\r\n        <hr class="spacer-20-bottom">\r\n        <div ng-include="\'/PartialViews/AnswerDesk/OrderDetails.html\'"><\/div>\r\n        <div ng-include="\'/PartialViews/AnswerDesk/OrderDetailsMobile.html\'"><\/div>\r\n        <div class="btn-group col-xs-24">\r\n            <button id="answer-desk-back" class="btn" ng-click="offerAccepted()">{{ view.orderReview.backButtonText }}<\/button>\r\n            <button id="answer-desk-place-order" class=" btn btn-primary" ng-click="placeOrder()">{{ view.orderReview.placeOrderButtonText }}<\/button>\r\n        <\/div>\r\n        <div class="text-body">\r\n            {{ view.orderReview.termOfServiceText }}\r\n            <a id="answer-desk-term-of-service" target="smccontent" ng-href="{{ view.orderReview.termOfServiceLink.linkUrl }}">{{ view.orderReview.termOfServiceLink.linkText }}<\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n');n.put("/PartialViews/AnswerDesk/Tiles.html",'<div class="spacer-20-top">\r\n    <div class="row"\r\n         ng-init="tileClasses = { \'training\': \'win-color-bg-20\', \'running\': \'win-color-bg-10\', \'peaceofmind\': \'win-color-bg-20\'}"\r\n         ng-class="tileClasses[tileGroup.name]"\r\n         ng-repeat="tileGroup in offer.tileGroups track by $index">\r\n        <!-- training, running, peaceofmind tiles -->\r\n        <div ng-if="[\'training\', \'running\', \'peaceofmind\'].indexOf(tileGroup.name) >= 0">\r\n            <div class="col-xs-24 col-md-12 answer-desk-img-tile" ng-class-odd="\'col-md-push-12\'" ng-style="{\'background-image\': \'url({{ tileGroup.tiles[0].imageUrl }})\', \'background-size\' : \'cover\'}"><\/div>\r\n            <div class="col-xs-24 col-md-12 answer-desk-tile" ng-class-odd="\'col-md-pull-12\'">\r\n                <div class="answer-desk-tile-content">\r\n                    <p class="text-subheader spacer-12-bottom">{{ tileGroup.tiles[0].titleText }}<\/p>\r\n                    <p class="text-body">{{ tileGroup.tiles[0].bodyText[0] }}<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <!-- requirements tiles -->\r\n        <div ng-if="tileGroup.name == \'requirements\'" class="col-xs-24 answer-desk-requirements no-gutter">\r\n            <div class="col-xs-24 col-md-12" ng-repeat="tile in tileGroup.tiles">\r\n                <p ng-if="tile.titleText" class="text-header">{{ tile.titleText }}<\/p>\r\n                <p ng-repeat="line in tile.bodyText" class="list-item" ng-bind-html="line | compassFormat: {\'msa-link\': getMicrosoftAccountLink(), \'tos-link\': getTermsOfServiceLink()}"><\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <!-- contact us & store location tiles -->\r\n        <div ng-if="tileGroup.name == \'contact\'">\r\n            <div class="col-xs-24 col-md-12 win-color-bg-blue answer-desk-tile text-center win-color-fg-primary color-alt">\r\n                <div class="answer-desk-tile-content">\r\n                    <img class="spacer-20-bottom" ng-src="{{ tileGroup.tiles[0].imageUrl }}" />\r\n                    <p class="text-title spacer-84-bottom">{{ tileGroup.tiles[0].titleText }}<\/p>\r\n                    <a id="answer-desk-contact-us" aria-label="{{ tileGroup.tiles[0].linkTextAriaLabel }}" class="win-color-fg-primary color-alt" ng-href="{{ tileGroup.tiles[0].linkUrl }}" target="_self">{{ tileGroup.tiles[0].linkText }}<\/a>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="col-xs-24 col-md-12 answer-desk-tile text-center win-color-fg-primary color-alt"\r\n                 ng-style="{\'background-image\': \'url({{ tileGroup.tiles[1].imageUrl }})\', \'background-size\' : \'cover\'}">\r\n                <div class="answer-desk-tile-content">\r\n                    <span class="text-header win-icon win-icon-MapPin spacer-20-bottom"><\/span>\r\n                    <p class="text-title spacer-84-bottom">{{ tileGroup.tiles[1].titleText }}<\/p>\r\n                    <a id="answer-desk-store-locator" class="win-color-fg-primary color-alt" ng-href="{{ tileGroup.tiles[1].linkUrl }}">{{ tileGroup.tiles[1].linkText }}<\/a>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/CaseCreation/formControls.html",'<div>\r\n    <div ng-repeat="formControl in formControls">\r\n        <div class="form-control">\r\n            <div ng-switch="formControl.typeName">\r\n                <div ng-switch-when="first-name|last-name|email|input-box|issue-title"\r\n                     ng-switch-when-separator="|"\r\n                     class="margin-top-11"\r\n                     ng-show="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <label class="c-label"\r\n                           for="formControl{{formControl.id}}">\r\n                        {{formControl.label}}<span ng-if="formControl.isRequired">*<\/span>\r\n                    <\/label>\r\n                    <input id="formControl{{formControl.id}}"\r\n                           class="c-text-field f-flex"\r\n                           type="{{formControl.isEmail?\'email\':\'text\'}}"\r\n                           name="{{formControl.name}}"\r\n                           ng-model="formModel.questionsAndUserAnswers[formControl.name]"\r\n                           ng-required="formControl.isRequired && (formControl.isHidden == undefined || !formControl.isHidden())"\r\n                           aria-describedby="{{formControl.describedByName}}"\r\n                           aria-invalid=false\r\n                           form-control-validators />\r\n                <\/div>\r\n                <div ng-switch-when="description|text-area"\r\n                     ng-switch-when-separator="|"\r\n                     class="c-textarea margin-top-11"\r\n                     ng-show="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <label class="c-label"\r\n                           for="formControl{{formControl.id}}">\r\n                        {{formControl.label}}\r\n                        <span ng-if="formControl.isRequired">*<\/span>\r\n                    <\/label>\r\n                    <textarea id="formControl{{formControl.id}}"\r\n                              class="f-flex f-scroll"\r\n                              name="{{formControl.name}}"\r\n                              ng-model="formModel.questionsAndUserAnswers[formControl.name]"\r\n                              ng-required="formControl.isRequired && (formControl.isHidden == undefined || !formControl.isHidden())"\r\n                              aria-invalid=false\r\n                              aria-describedby="{{formControl.describedByName}}"\r\n                              form-control-validators />\r\n                <\/div>\r\n                <div ng-switch-when="checkbox-group"\r\n                     class="margin-top-11"\r\n                     ng-show="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <fieldset class="c-checkbox"\r\n                              ng-class="{\'f-inline\': formControl.isInline}">\r\n                        <legend aria-label="{{formControl.screenReaderText}}"\r\n                                aria-describedby="{{formControl.describedByName}}"\r\n                                class="c-label">\r\n                            {{formControl.label}}<span ng-if="formControl.isRequired">*<\/span>\r\n                        <\/legend>\r\n                        <div>\r\n                            <div>\r\n                                <label class="c-label" ng-repeat="option in formControl.optionList">\r\n                                    <input id="formControl{{formControl.id}}{{$index}}"\r\n                                           aria-label="{{option.label}}"\r\n                                           type="checkbox"\r\n                                           name="{{formControl.name}}[]"\r\n                                           ng-checked="formModel.questionsAndUserAnswers[formControl.name+$index]"\r\n                                           ng-model="formModel.questionsAndUserAnswers[formControl.name+$index]"\r\n                                           ng-click="option.onClickHandler == undefined || option.onClickHandler(formModel.questionsAndUserAnswers[formControl.name+$index], formControl)">\r\n                                    <span>{{option.label}}<\/span>\r\n                                <\/label>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/fieldset>\r\n                <\/div>\r\n                <div ng-switch-when="comment"\r\n                     id="{{formControl.id}}"\r\n                     class="margin-top-11"\r\n                     ng-if="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <p>{{formControl.label}}<\/p>\r\n                <\/div>\r\n                <div ng-switch-when="dropdown-box"\r\n                     id="formControl{{formControl.id}}Div"\r\n                     class="margin-top-11"\r\n                     ng-show="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <label class="c-label"\r\n                           for="formControl{{formControl.id}}">\r\n                        {{formControl.label}}<span ng-if="formControl.isRequired">*<\/span>\r\n                    <\/label>\r\n                    <select ng-options="option.label for option in formControl.optionList track by option.value"\r\n                            ng-selected="formModel.questionsAndUserAnswers[formControl.name]"\r\n                            ng-model="formModel.questionsAndUserAnswers[formControl.name]"\r\n                            ng-change="formControl.onChangeHandler == undefined || formControl.onChangeHandler(formModel.questionsAndUserAnswers[formControl.name])"\r\n                            id="formControl{{formControl.id}}" name="{{formControl.name}}"\r\n                            class="col-6"\r\n                            ng-required="formControl.isRequired && (formControl.isHidden == undefined || !formControl.isHidden())"\r\n                            aria-invalid="false"\r\n                            aria-label="{{formControl.screenReaderText}}"\r\n                            aria-describedby="{{formControl.describedByName}}">\r\n                        <option disabled selected value="" />\r\n                        <option ng-if="formControl.placeholderText && formControl.placeholderText != \'\'"\r\n                                ng-show="!model"\r\n                                value="">\r\n                            {{formControl.placeholderText}}\r\n                        <\/option>\r\n                    <\/select>\r\n                <\/div>\r\n                <div ng-switch-when="radio-button-group"\r\n                     class="margin-top-11"\r\n                     ng-show="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <fieldset class="c-radio"\r\n                              ng-class="{\'f-inline\': formControl.isInline}"\r\n                              role="radiogroup"\r\n                              aria-label="{{formControl.label}}">\r\n                        <legend aria-label="{{formControl.screenReaderText}}"\r\n                                class="c-label"\r\n                                aria-describedby="{{formControl.describedByName}}">\r\n                            {{formControl.label}}<span ng-if="formControl.isRequired">*<\/span>\r\n                        <\/legend>\r\n                        <div ng-repeat="option in formControl.optionList">\r\n                            <label for="formControl-{{formControl.id}}-{{$index}}"\r\n                                   class="c-label"\r\n                                   role="radio">\r\n                                <input id="formControl-{{formControl.id}}-{{$index}}"\r\n                                       type="radio"\r\n                                       aria-label="{{option.label}}"\r\n                                       name="{{formControl.name}}"\r\n                                       ng-model="formModel.questionsAndUserAnswers[formControl.name]"\r\n                                       value="{{option.value}}"\r\n                                       ng-required="formControl.isRequired && (formControl.isHidden == undefined || !formControl.isHidden())"\r\n                                       ng-blur="checkRadioButton(formControl)"\r\n                                       ng-click="formControl.onChangeHandler == undefined || formControl.onChangeHandler(option)">\r\n                                <span>{{option.label}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                    <\/fieldset>\r\n                    <div class="validator-label"\r\n                         ng-if="radioButtonRequired"\r\n                         mwf-alert\r\n                         data-label-of-control="{{formControl.screenReaderText}}"\r\n                         data-type="error"\r\n                         data-has-icon="true"\r\n                         data-body="{{strings.validationMessages.requiredValidationLabel}}">\r\n                    <\/div>\r\n                <\/div>\r\n                <div ng-switch-when="section-heading"\r\n                     class="margin-top-11"\r\n                     ng-show="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <h3 class="c-subheading-4 margin-top-20">{{formControl.label}}<\/h3>\r\n                    <hr class="c-divider" role="presentation" />\r\n                <\/div>\r\n                <div ng-switch-when="file-attachment" class="margin-top-11 file-attachment" ng-show="formControl.isHidden == undefined || !formControl.isHidden()">\r\n                    <p id="fileattachment-description{{formControl.id}}" class="file-limit-messages margin-top-20">{{strings.fileAttachment.description}}<\/p>\r\n                    <p id="fileattachment-maxnumbe{{formControl.id}}" class="file-limit-messages file-limit-messages-2">{{strings.fileAttachment.maxNumberFileLabelFormat | compassFormat : {\'file-number\': strings.fileAttachment.maxFileNumber} }}<\/p>\r\n                    <p id="fileattachment-maxsize{{formControl.id}}" class="file-limit-messages">{{strings.fileAttachment.maxFileSizeLabelFormat | compassFormat : {\'file-size\': strings.fileAttachment.maxSingleFileSize} }}<\/p>\r\n                    <div class="c-file">\r\n                        <!-- Button id is also used within removeFile functionality. Used to send focus back to this element -->\r\n                        <button id="formControl{{formControl.id}}Button"\r\n                                aria-labelledby="formControl{{formControl.id}}Button fileattachment-errors{{formControl.id}} fileattachment-description{{formControl.id}} fileattachment-maxnumbe{{formControl.id}} fileattachment-maxsize{{formControl.id}}"\r\n                                aria-describedby="{{formControl.describedByName}}"\r\n                                class="c-button f-primary file-attach-button"\r\n                                type="button"\r\n                                name="files"\r\n                                ngf-select\r\n                                ng-model="formModel.questionsAndUserAnswers.files"\r\n                                ngf-max-size="strings.fileAttachment.maxSingleFileSize * 1024 * 1024 * 1024"\r\n                                ngf-max-files="strings.fileAttachment.maxFileNumber"\r\n                                ngf-multiple="true"\r\n                                ng-required="formControl.isRequired"\r\n                                ngf-keep="\'distinct\'"\r\n                                ngf-before-model-change="fileUploadBeforeModelChange($files, formControl)">\r\n                            {{strings.fileAttachment.header}}\r\n                        <\/button>\r\n                    <\/div>\r\n                    <ul class=\'c-group f-wrap-items\'>\r\n                        <li ng-repeat="file in formModel.questionsAndUserAnswers.files"\r\n                            class=\'c-choice-summary\'>\r\n                            <a class="c-action-trigger c-glyph glyph-cancel"\r\n                               href=""\r\n                               ng-click="removeFile(file, formControl.id)"\r\n                               aria-label="{{strings.removeLabel | compassFormat: {\'remove-content\': file.name} }}">\r\n                                <span class=\'x-screen-reader\'>{{strings.removeLabel | compassFormat: {\'remove-content\': file.name} }}<\/span>\r\n                            <\/a>\r\n                            <span>{{file.name}}<\/span>\r\n                        <\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n            <div id="fileattachment-errors{{formControl.id}}"\r\n                 ng-if="formControl.typeName == \'file-attachment\'"\r\n                 class="validation-messages alert alert-error">\r\n                <div id="fileattachment-required"\r\n                     ng-if="minFilesNotReached"\r\n                     class="validator-label"\r\n                     mwf-alert\r\n                     data-label-of-control="{{formControl.screenReaderText}}"\r\n                     data-type="error"\r\n                     data-has-icon="true"\r\n                     data-body="{{strings.fileAttachment.fileAttachmentRequiredMessage}}"><\/div>\r\n                <div class="validator-label"\r\n                     ng-show="formCtrl.files.$error.maxFiles || fileSelectionError"\r\n                     mwf-alert\r\n                     data-label-of-control="{{formControl.screenReaderText}}"\r\n                     data-type="error"\r\n                     data-has-icon="true"\r\n                     data-body="{{strings.fileAttachment.maxNumberFileValidationLabel}}"><\/div>\r\n                <div class="validator-label"\r\n                     ng-show="formCtrl.files.$error.maxSize"\r\n                     mwf-alert\r\n                     data-label-of-control="{{formControl.screenReaderText}}"\r\n                     data-type="error"\r\n                     data-has-icon="true"\r\n                     data-body="{{strings.fileAttachment.maxFileSizeValidationLabel | compassFormat: {\'file-size\' : strings.fileAttachment.maxSingleFileSize} }}"><\/div>\r\n            <\/div>\r\n            <div ng-if="formControl.validators"\r\n                 class="validation-messages alert alert-error">\r\n                <div ng-repeat="validator in formControl.validators">\r\n                    <div ng-switch="validator.ruleName">\r\n                        <div id="validator{{formControl.id}}{{validator.ruleName}}"\r\n                             class="validator-label"\r\n                             ng-switch-when="required-validator"\r\n                             ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[\'required\']"\r\n                             mwf-alert data-label-of-control="{{formControl.screenReaderText}}"\r\n                             data-type="error"\r\n                             data-has-icon="true"\r\n                             data-body="{{strings.validationMessages.requiredValidationLabel}}"><\/div>\r\n                        <div id="validator{{formControl.id}}{{validator.ruleName}}"\r\n                             class="validator-label"\r\n                             ng-switch-when="email-validator"\r\n                             ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[\'email\']"\r\n                             mwf-alert\r\n                             data-label-of-control="{{formControl.screenReaderText}}"\r\n                             data-type="error"\r\n                             data-has-icon="true"\r\n                             data-body="{{strings.validationMessages.emailValidationLabel}}"><\/div>\r\n                        <div id="validator{{formControl.id}}{{validator.ruleName}}"\r\n                             class="validator-label"\r\n                             ng-switch-when="max-length-validator"\r\n                             ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[validator.ruleName]"\r\n                             mwf-alert\r\n                             data-label-of-control="{{formControl.screenReaderText}}"\r\n                             data-type="error"\r\n                             data-has-icon="true"\r\n                             data-body="{{strings.validationMessages.maxLengthValidationLabel | compassFormat: {\'max-length\': validator.value} }}"><\/div>\r\n                        <div id="validator{{formControl.id}}{{validator.ruleName}}"\r\n                             class="validator-label"\r\n                             ng-switch-when="min-length-validator"\r\n                             ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[validator.ruleName]"\r\n                             mwf-alert\r\n                             data-label-of-control="{{formControl.screenReaderText}}"\r\n                             data-type="error"\r\n                             data-has-icon="true"\r\n                             data-body="{{strings.validationMessages.minLengthValidationLabel | compassFormat: {\'min-length\': validator.value} }}"><\/div>\r\n                        <div id="validator{{formControl.id}}{{validator.ruleName}}"\r\n                             class="validator-label"\r\n                             ng-switch-when="ip-v4-validator"\r\n                             ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[validator.ruleName]"\r\n                             mwf-alert\r\n                             ata-label-of-control="{{formControl.screenReaderText}}"\r\n                             ata-type="error"\r\n                             ata-has-icon="true"\r\n                             data-body="{{strings.validationMessages.ipV4ValidationLabel}}"><\/div>\r\n                        <div id="validator{{formControl.id}}{{validator.ruleName}}"\r\n                             class="validator-label"\r\n                             ng-switch-when="custom-validator"\r\n                             ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[validator.ruleName]"\r\n                             mwf-alert\r\n                             data-label-of-control="{{formControl.screenReaderText}}"\r\n                             data-type="error"\r\n                             data-has-icon="true"\r\n                             data-body="{{validator.validationMessage}}"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div ng-if="formControl.typeName == \'input-box\'">\r\n                    <span class="validator-label"\r\n                          ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[\'inputBoxMaxLength\']">\r\n                        {{strings.validationMessages.maxLengthValidationLabel | compassFormat: {\'max-length\': \'200\'} }}\r\n                    <\/span>\r\n                <\/div>\r\n                <div ng-if="formControl.typeName == \'text-area\'">\r\n                    <span class="validator-label"\r\n                          ng-show="formCtrl[formControl.name].$touched && formCtrl[formControl.name].$error[\'textAreaMaxLength\']">\r\n                        {{strings.validationMessages.maxLengthValidationLabel | compassFormat: {\'max-length\': \'2000\'} }}\r\n                    <\/span>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class="x-screen-reader"\r\n     aria-live="polite">\r\n    <p ng-if="showFormChangeMessage">{{strings.questionsUpdatedMessage}}<\/p>\r\n<\/div>');n.put("/PartialViews/Commercial/CaseCreation/FormStepView.html",'<div ng-if="!$parent.view().formHeaderDisabled">\r\n    <h2 id="form-headers-h2" class="c-subheading-3">{{stepView.header}}<\/h2>\r\n    <hr class="c-divider" role="presentation" />\r\n<\/div>\r\n<form data-grid="col-6" name="formContainer.caseDescriptionForm" ng-submit="submitDescription()"  aria-labelledby="case-title-header">\r\n    <div ng-if="!$parent.view().hideDefaultIssueTitle" class="margin-top-11">\r\n        <label for="caseTitle" class="c-label">{{stepView.issueTitle}}<span>*<\/span><\/label>\r\n        <input name="title" type="text" class="c-text-field f-flex" ng-model="caseDescriptionAndQuestions.title" id="caseTitle" required aria-invalid="false" maxlength="200" autofocus ng-blur="checkTitleValid()">\r\n        <div class="validator-label" ng-if="isTitleValid == false" mwf-alert data-label-of-control="{{stepView.issueTitle}}" data-type="error" data-has-icon="true" data-body="{{workflowView.requiredValidationLabel}}"><\/div>\r\n    <\/div>\r\n    <div data-form-ctrl="formContainer.caseDescriptionForm"\r\n         data-form-model="descriptionAndFormControls"\r\n         data-form-controls="formControls"\r\n         data-strings="clientStrings"\r\n         workflow-form>\r\n    <\/div>\r\n    <div ng-if="showCaptcha" class="captcha-form-control margin-top-24" ng-class="{ \'has-error\': wrongCaptcha }">\r\n        <captcha data-callback="updateScope()"><\/captcha>\r\n    <\/div>\r\n    <div class="btn-group clearfix">\r\n        <button id="work-flow-submit-previous" ng-if="hasPrev()" class="c-button" name="c-button" type="button" ng-click="moveToPrev()">{{workflowView.pagerPreviousLabel}}<\/button>\r\n        <button id="work-flow-submit-button" aria-describedby="disclaimer-id" class="c-button f-primary margin-top-48" name="" type="button" ng-disabled="!isStepComplete() || isSubmitting || checkFilesValid()" ng-click="submit()">{{workflowView.submitLabel}}<\/button>\r\n    <\/div>\r\n    <div ng-if="isSubmitting" data-grid="col-12" role="alert">\r\n        <progress-bar data-type="ring" size="small" screenreader="workflowView.screenReaderSubmitting"><\/progress-bar>\r\n    <\/div>\r\n    <!-- Error Message -->\r\n    <div ng-if="caseCreationFailed" class="validation-messages alert alert-error">\r\n        <div id="case-creation-failed" class="validator-label" mwf-alert data-type="error" data-has-icon="true" data-body="{{workflowView.caseServerFailureMessageLabel}}"><\/div>\r\n    <\/div>\r\n    <div ng-if="caseCreationThrottle" class="validation-messages alert alert-error">\r\n        <div id="case-creation-throttle" class="validator-label" mwf-alert data-type="error" data-has-icon="true" data-body="{{workflowView.caseServerThrottleMessageLabel}}"><\/div>\r\n    <\/div>\r\n    <div id="disclaimer-id" class="margin-top-11 c-label" tabindex="-1" ng-show="workflowView.disclaimer && workflowView.disclaimer.length">\r\n        <p>{{workflowView.disclaimer}}<\/p>\r\n    <\/div>\r\n<\/form>');n.put("/PartialViews/Commercial/CaseCreation/Index.html",'<div data-grid="container" class="smc-mwf case-management x-clearfix" component-height-monitor>\r\n    <div ng-if="isLoadingForm || isPageLoading || waitingToLogin" data-grid="col-12">\r\n        <progress-bar data-type="bar" screenreader="ariaLabel">\r\n        <\/progress-bar>\r\n    <\/div>\r\n    <div id="caseCreationWorkflow" ng-if="!isLoadingForm && !isPageLoading && !waitingToLogin" class="x-clearfix case-creation-workflow" workflow context="context"\r\n         data-workflow-name="caseCreation"\r\n         data-template-url="/PartialViews/Commercial/CaseCreation/Workflow.html"\r\n         data-step-template-url="/PartialViews/Commercial/CaseCreation/WorkflowStep.html">\r\n        <div workflow-step\r\n             data-step-name="form"\r\n             data-view-template-url="/PartialViews/Commercial/CaseCreation/FormStepView.html"\r\n             data-controller-name="caseCreationFormStepController">\r\n        <\/div>\r\n        <div workflow-step\r\n             data-step-name="success"\r\n             data-template-url=""\r\n             data-view-template-url="/PartialViews/Commercial/CaseCreation/SuccessStepView.html"\r\n             data-controller-name="caseCreationSuccessStepController">\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/CaseCreation/SuccessStepView.html",'<div ng-if="isOpen()">\r\n    <div id="workflowSuccessStep" data-grid="col-12 pad-24x" class="thank-user-section x-clearfix x-offset-content">\r\n        <div data-grid="col-6">\r\n            <img class="c-image x-float-right f-pad-horizontal-3x f-pad-top-6x thank-icon" ng-src="{{stepView.thankYouImageUrl}}" alt="{{stepView.thankYouImageAltText}}">\r\n        <\/div>\r\n        <div data-grid="col-6">\r\n            <div class="text-body ng-binding" tabindex="-1" focus-content data-name="thank-header" data-condition="{{srNumberStatement !== null}}" aria-label="{{thankHeader}}">\r\n                <h1 class="c-heading-3">{{thankHeader}}<\/h1>\r\n            <\/div>\r\n            <p class="c-paragraph-3">{{stepView.caseSubmittedHeader}}<\/p>\r\n            <p class="c-paragraph-3">{{srNumberStatement}}<\/p>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/CaseCreation/workflow.html","<div>\r\n    <div ng-transclude><\/div>\r\n<\/div>");n.put("/PartialViews/Commercial/CaseCreation/WorkflowStep.html",'<div ng-show="isOpen()" data-grid="col-12 pad-24x" class="x-offset-content case-creation-flow-step">\r\n    <div ng-if="!view().formHeaderDisabled">\r\n        <header>\r\n            <h1 id="case-title-header" class="c-heading-2">{{view().creationTitle}}<\/h1>\r\n        <\/header>\r\n        <div ng-if="totalSteps() > 1" class="c-paragraph-2">\r\n            <span>{{view().stepStatusFormat | compassFormat: {\'step-number\': stepIndex()} }}<\/span>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="workflow-step x-clearfix"><\/div>\r\n    <div ng-if="showNavi()" class="btn-group clearfix navigation-buttons">\r\n        <button id="{{workflowName}}-{{stepName}}-previous" ng-if="hasPrev()" class="c-button" name="" type="button" ng-click="moveToPrev()">{{view().pagerPreviousLabel}}<\/button>\r\n        <button id="{{workflowName}}-{{stepName}}-next" ng-if="hasNext()" class="c-button f-primary margin-top-48" name="" type="button" ng-click="moveToNext()" ng-disabled="!isComplete()">{{view().pagerNextLabel}}<\/button>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/CommercialAccountHub.html",'<div class="commercial-hub">\r\n    <div class="commercial">\r\n        <div ng-if="accountView" class="accounts-hub">\r\n            <div class="commercial-site-alerts" message-banner name="premierAccountsMessages"><\/div>\r\n            <div ng-if="!viewReady">\r\n                <div class="spinner-container spacer-20-top">\r\n                    <div loading-spinner data-timeout="30000" data-delay="200"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div ng-if="viewReady && !viewError" id="premier-access-content">\r\n                <header class="page-title-header">\r\n                    <h1 class="page-title">{{accountView.manageAccountPageTitle}}<\/h1>\r\n                <\/header>\r\n                <div class="section">\r\n                    <div class="section-header">\r\n                        <h2 class="text-title">{{accountView.addAccessIdSectionTitle}}<\/h2>\r\n                    <\/div>\r\n                    <div class="section-body">\r\n                        <div ng-include="\'/PartialViews/Commercial/registerForm.html\'"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class="section">\r\n                    <div class="section-header">\r\n                        <h2 class="text-title">{{accountView.removeAccessIdSectionTitle}}<\/h2>\r\n                    <\/div>\r\n                    <div class="section-body">\r\n                        <div ng-include="\'/PartialViews/Commercial/removeAccessIdForm.html\'"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/CommercialHelpLinks.html",'<div class="container quick-nav" ng-class="{\'home\' : displayAllContent && !errorStatus, \'other\' : !displayAllContent || errorStatus}">\r\n    <div class="row">\r\n        <div class="help-link" ng-repeat="quickNavLink in view.premierQuickNavLinks">\r\n            <a class="commercial-help-link" aria-label="{{quickNavLink.link.linkText}}" role="link" ng-attr-id="{{quickNavLink.link.htmlId}}" ng-href="{{quickNavLink.link.linkUrl | compassFormat: {\'user-locale\': userLocale} }}"\r\n               ng-attr-target="{{quickNavLink.externalLink ? \'_blank\' : undefined}}">\r\n                <img role="presentation" class="premier-img" ng-src="{{quickNavLink.image.url}}" />\r\n                <span aria-hidden="true" class="text-body">{{quickNavLink.link.linkText}}<\/span>\r\n            <\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/CommercialHub.html",'<div ng-controller="CommercialHubController" class="commercial-hub">\r\n    <div class="spinner-container spacer-20-top" ng-if="isAuthenticated === null">\r\n        <div loading-spinner data-timeout="30000" data-delay="250"><\/div>\r\n    <\/div>\r\n    <div id="premier-landing-section-unauthenticated" ng-if="isAuthenticated != null && isAuthenticated===false && viewReady"\r\n         class="commercial-unauthenticated">\r\n        <img ng-src="{{view.heroImage.url}}" ng-attr-alt="{{view.heroImage.altText}}" />\r\n        <div class="positioner">\r\n            <div class="container">\r\n                <section class="info-section section remove-header-rule ">\r\n                    <header class="section-header">\r\n                        <h1 class="text-header">{{view.stringTable.premierSupportTitle}}<\/h1>\r\n                    <\/header>\r\n                    <div class="section-body" ng-bind-html="premierSupportDescription"><\/div>\r\n                    <div class="btn-group sign-in-button">\r\n                        <button id="premier-landing-button-sign-in" class="btn-primary" ng-click="signIn()">{{view.linkTable.signInLink.link.linkText}}<\/button>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class="premier-message">\r\n            <h2 class="text-title premier-message-title">{{view.stringTable.newToPremierCaption}}<\/h2>\r\n            <a id="premier-landing-link-premier-information" class="text-subtitle" ng-href="{{view.linkTable.premierMoreInfoLink.link.linkUrl}}">{{view.linkTable.premierMoreInfoLink.link.linkText}}<\/a>\r\n        <\/div>\r\n    <\/div>\r\n    <div ng-if="isAuthenticated != null && isAuthenticated===true && viewReady">\r\n        <div ng-controller="IncidentsHubController">\r\n            <div ng-include="\'/PartialViews/Commercial/IncidentsHub.html\'"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/ContactStepView.html",'<h2 class="step-description">{{stepView.header}}<\/h2>\r\n<hr />\r\n<div class="form-group row">\r\n    <form name="contactForm" class="primary-contact-form col-lg-20 col-xl-18 clearfix" ng-submit="submitContact()" role="form">\r\n        <label class="text-base required">{{stepView.contactPreferenceLabel}}<\/label>\r\n        <div class="form-group contact-method contact-method-email clearfix">\r\n            <input type="radio" name="contactPreference" class="pull-left"\r\n                   ng-value="{\'preference\': \'email\', \'label\': stepView.emailPreferenceLabelFormat}"\r\n                   ng-model="primaryContactForm.contactMethod" id="preference-email" ng-required="true">\r\n            <label class="contact-label pull-left" for="preference-email">{{stepView.emailPreferenceLabelFormat | compassFormat: {\'user-email\': userEmail } }}<\/label>\r\n        <\/div>\r\n        <div class="form-group contact-method contact-method-phone clearfix">\r\n            <input type="radio" name="contactPreference" class="pull-left"\r\n                   ng-value="{\'preference\': \'phone\', \'label\':stepView.phonePreferenceLabel}" ng-model="primaryContactForm.contactMethod" id="preference-phone" ng-required="true">\r\n            <label class="contact-label pull-left" for="preference-phone">{{stepView.phonePreferenceLabel}}<\/label>\r\n        <\/div>\r\n        <div ng-if="contactForm.contactPreference.$error.required && contactForm.contactPreference.$touched" class="validation-messages alert alert-error">\r\n            <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n        <\/div>\r\n        <div class="row">\r\n            <div class="col-md-18 col-lg-10 col-xl-9">\r\n                <div ng-if="nameLayout == \'FirstAndLast\'">\r\n                    <!--first, last-->\r\n                    <div class="form-group">\r\n                        <label for="contact-first-name" class="text-base required">{{stepView.firstNameLabel}}<\/label>\r\n                        <input name="contactFirstName" type="text" class="form-control" ng-model="primaryContactForm.firstName" id="contact-first-name" required autofocus>\r\n                    <\/div>\r\n                    <div ng-if="contactForm.contactFirstName.$touched && contactForm.contactFirstName.$error.required" class="validation-messages alert alert-error">\r\n                        <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n                    <\/div>\r\n                    <div class="form-group">\r\n                        <label for="contact-last-name" class="text-base required">{{stepView.lastNameLabel}}<\/label>\r\n                        <input name="contactLastName" type="text" class="form-control" ng-model="primaryContactForm.lastName" id="contact-last-name" required>\r\n                    <\/div>\r\n                    <div ng-if="contactForm.contactLastName.$touched && contactForm.contactLastName.$error.required" class="validation-messages alert alert-error">\r\n                        <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div ng-if="nameLayout == \'LastAndFirst\'">\r\n                    <!--last, first-->\r\n                    <div class="form-group">\r\n                        <label for="contact-last-name" class="text-base required">{{stepView.lastNameLabel}}<\/label>\r\n                        <input name="contactLastName" type="text" class="form-control" ng-model="primaryContactForm.lastName" id="contact-last-name" required>\r\n                    <\/div>\r\n                    <div ng-if="contactForm.contactLastName.$touched && contactForm.contactLastName.$error.required" class="validation-messages alert alert-error">\r\n                        <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n                    <\/div>\r\n                    <div class="form-group">\r\n                        <label for="contact-first-name" class="text-base required">{{stepView.firstNameLabel}}<\/label>\r\n                        <input name="contactFirstName" type="text" class="form-control" ng-model="primaryContactForm.firstName" id="contact-first-name" required autofocus>\r\n                    <\/div>\r\n                    <div ng-if="contactForm.contactFirstName.$touched && contactForm.contactFirstName.$error.required" class="validation-messages alert alert-error">\r\n                        <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div ng-if="nameLayout == \'LastFirstFull\'">\r\n                    <!--full name-->\r\n                    <div class="form-group">\r\n                        <label for="contact-last-first-full-name" class="text-base required">{{stepView.fullNameLabel}}<\/label>\r\n                        <input name="contactLastFirstFullName" type="text" class="form-control" ng-model="primaryContactForm.lastFirstFullName" id="contact-last-first-full-name" required>\r\n                    <\/div>\r\n                    <div ng-if="contactForm.contactLastFirstFullName.$touched && contactForm.contactLastFirstFullName.$error.required" class="validation-messages alert alert-error">\r\n                        <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div ng-if="nameLayout == \'LastAndFirstAndPronounce\'">\r\n                    <!--last, first and pronouciation-->\r\n                    <div class="form-group">\r\n                        <label for="contact-kana" class="text-base required">{{stepView.firstNameLabel}}<\/label>\r\n                        <input name="contactKana" type="text" class="form-control" ng-model="primaryContactForm.kana" id="contact-kana" required autofocus>\r\n                    <\/div>\r\n                    <div ng-if="contactForm.contactKana.$touched && contactForm.contactKana.$error.required" class="validation-messages alert alert-error">\r\n                        <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n                    <\/div>\r\n                    <div class="form-group">\r\n                        <label for="contact-kanji" class="text-base required">{{stepView.lastNameLabel}}<\/label>\r\n                        <input name="contactKanji" type="text" class="form-control" ng-model="primaryContactForm.kanji" id="contact-kanji" required>\r\n                    <\/div>\r\n                    <div ng-if="contactForm.contactKanji.$touched && contactForm.contactKanji.$error.required" class="validation-messages alert alert-error">\r\n                        <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class="form-group">\r\n                    <label for="contact-phone-number" class="text-base required">{{stepView.phoneNumberLabel}}<\/label>\r\n                    <input name="contactPhoneNumber" type="text" class="form-control" ng-model="primaryContactForm.phoneNumber" id="contact-phone-number" ng-pattern="/^.{3,50}$/" required>\r\n                <\/div>\r\n                <div ng-if="contactForm.contactPhoneNumber.$error.required || contactForm.contactPhoneNumber.$error.pattern" class="validation-messages alert alert-error">\r\n                    <span class="validator-label" ng-show="contactForm.contactPhoneNumber.$touched && contactForm.contactPhoneNumber.$error.required">{{view.requiredValidationLabel}}<\/span>\r\n                    <span class="validator-label" ng-show="contactForm.contactPhoneNumber.$touched && contactForm.contactPhoneNumber.$error.pattern">{{stepView.phoneNumberValidationMessage}}<\/span>\r\n                <\/div>\r\n                <div class="form-group">\r\n                    <label for="user-prefered-email" class="text-base required">{{stepView.emailPreferenceLabelFormat}}<\/label>\r\n                    <input name="userPreferedEmail" type="email" class="form-control" ng-model="primaryContactForm.userPreferedEmail" id="user-prefered-email" ng-attr-placeholder="{{stepView.emailWatermark}}" required>\r\n                <\/div>\r\n                <div ng-if="contactForm.userPreferedEmail.$error.required || contactForm.userPreferedEmail.$error.email" class="validation-messages alert alert-error">\r\n                    <span class="validator-label" ng-show="contactForm.userPreferedEmail.$touched && contactForm.userPreferedEmail.$error.required">{{view.requiredValidationLabel}}<\/span>\r\n                    <span class="validator-label" ng-show="contactForm.userPreferedEmail.$touched && contactForm.userPreferedEmail.$error.email">{{stepView.emailListValidationMessage}}<\/span>\r\n                <\/div>\r\n                <div class="form-group">\r\n                    <label for="contact-addtional-email" class="text-base">{{stepView.additionalEmailLabel}}<\/label>\r\n                    <input name="additionalRecipientEmails" type="email" class="form-control" ng-model="primaryContactForm.additionalEmails" id="contact-addtional-email" ng-attr-placeholder="{{stepView.emailWatermark}}">\r\n                <\/div>\r\n                <div ng-if="contactForm.additionalRecipientEmails.$error.email" class="validation-messages alert alert-error">\r\n                    <span class="validator-label" ng-show="contactForm.additionalRecipientEmails.$touched && contactForm.additionalRecipientEmails.$error.email">{{stepView.emailListValidationMessage}}<\/span>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/DescriptionStepView.html",'<h2 class="step-description">{{stepView.header}}<\/h2>\r\n<hr />\r\n<div ng-if="loadingQuestions && !hasError">\r\n    <div class="spinner-label">{{view.loadinglabel}}<\/div>\r\n    <div class="spinner-container spacer-20-top">\r\n        <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class="form-group row" ng-if="!loadingQuestions && !hasError">\r\n    <form name="formContainer.incidentDescriptionForm" class="incident-description-form col-lg-12 clearfix" ng-submit="submitDescription()" role="form">\r\n        <div class="form-group">\r\n            <label for="incident-title" class="text-base required">{{stepView.issueTitle}}<\/label>\r\n            <input name="title" type="text" class="form-control" ng-model="incidentDescriptionAndQuestions.title" id="incident-title" required maxlength="60" autofocus>\r\n        <\/div>\r\n        <div ng-if="formContainer.incidentDescriptionForm.title.$touched && formContainer.incidentDescriptionForm.title.$error.required" class="validation-messages alert alert-error">\r\n            <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n        <\/div>\r\n        <div ng-if="scopingQuestions && scopingQuestions.length && hasStandardScopingQuestions" scoping-questions\r\n             data-form-ctrl="formContainer.incidentDescriptionForm"\r\n             data-form-model="incidentDescriptionAndQuestions"\r\n             data-questions="scopingQuestions"\r\n             data-strings="clientStrings">\r\n        <\/div>\r\n        <div ng-if="!hasStandardScopingQuestions" class="form-group">\r\n            <label for="general-description-textarea" class="text-base required">{{stepView.generalDescriptionLabel}}<\/label>\r\n            <textarea name="description" class="form-control" ng-model="incidentDescriptionAndQuestions.description" ng-blur="inputOnBlur()" ng-focus="inputOnFocus()" id="general-description-textarea" ng-trim="false" rows="15" required ng-pattern="/\\S/" maxlength="4000"><\/textarea>\r\n        <\/div>\r\n        <div ng-if="formContainer.incidentDescriptionForm.description.$touched && (formContainer.incidentDescriptionForm.description.$error.required || formContainer.incidentDescriptionForm.description.$error.pattern)" class="validation-messages alert alert-error">\r\n            <span class="validator-label">{{view.requiredValidationLabel}}<\/span>\r\n        <\/div>\r\n        <div ng-if="scopingQuestions && scopingQuestions.length && !hasStandardScopingQuestions" scoping-questions\r\n             data-form-ctrl="formContainer.incidentDescriptionForm"\r\n             data-form-model="incidentDescriptionAndQuestions"\r\n             data-questions="scopingQuestions"\r\n             data-strings="clientStrings">\r\n        <\/div>\r\n        <div>{{stepView.attachFileSectionLabel}}<\/div>\r\n        <button id="description-attach-file" class="btn btn-primary" name="files" ngf-select ng-model="incidentDescriptionAndQuestions.files" ngf-max-size="maxFileSizeBytes" ngf-max-files="maxFileCount" ngf-multiple="true" ngf-keep="\'distinct\'" ngf-before-model-change="fileUploadBeforeModelChange($files)">{{stepView.attachFileButtonLabel}}<\/button>\r\n        <div class=\'files-container\'>\r\n            <div ng-repeat="file in incidentDescriptionAndQuestions.files" class=\'file-container\'>\r\n                <div data-toggle="tooltip" data-placement="top" data-delay="1000" data-original-title="{{file.name}}"><\/div>\r\n                <div class=\'file-common file-name\'>{{file.name}}<\/div>\r\n                <div id="description-attached-file-remove-{{$index}}" class=\'file-common file-remove\' ng-click="removeFile(file)"><span class="win-icon win-icon-ChromeClose"><\/span><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="alert alert-error" ng-show="formContainer.incidentDescriptionForm.files.$error.maxFiles || fileSelectionError">{{stepView.maxNumberFileValidationLabel}}<\/div>\r\n        <div class="alert alert-error" ng-show="formContainer.incidentDescriptionForm.files.$error.maxSize">{{stepView.maxFileSizeValidationLabel}}<\/div>\r\n        <div>{{stepView.fileUploadDescription}}<\/div>\r\n        <div>{{stepView.maxNumberFileLabel}}<\/div>\r\n        <div>{{stepView.maxFileSizeLabel}}<\/div>\r\n        <div role="alert" aria-live="assertive" aria-atomic="true" class="sr-only" ng-show="isUploadSucceed">\r\n            {{uploadMessage}}\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/Index.html",'<div class="commercial incident-creation-workflow">\r\n    <div message-banner name=\'workflowServiceMessageBanner\' class=""><\/div>\r\n    <div ng-if="!userEntitlements && !hasError">\r\n        <div class="spinner-label">{{view.loadingLabel}}<\/div>\r\n        <div class="spinner-container spacer-20-top">\r\n            <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div workflow ng-if="isAuthorized" context="context"\r\n         data-workflow-name="incidentCreation"\r\n         data-template-url="/PartialViews/Commercial/IncidentCreation/Workflow.html"\r\n         data-step-template-url="/PartialViews/Commercial/IncidentCreation/WorkflowStep.html">\r\n        <div workflow-step\r\n             data-step-name="product"\r\n             data-view-template-url="/PartialViews/Commercial/IncidentCreation/ProductStepView.html"\r\n             data-controller-name="IncidentCreationProductStepController">\r\n        <\/div>\r\n        <div workflow-step\r\n             data-step-name="options"\r\n             data-view-template-url="/PartialViews/Commercial/IncidentCreation/OptionsStepView.html"\r\n             data-controller-name="IncidentCreationOptionsStepController">\r\n        <\/div>\r\n        <div workflow-step\r\n             data-step-name="severity"\r\n             data-view-template-url="/PartialViews/Commercial/IncidentCreation/SeverityStepView.html"\r\n             data-controller-name="IncidentCreationSeverityStepController">\r\n        <\/div>\r\n        <div workflow-step\r\n             data-step-name="description"\r\n             data-view-template-url="/PartialViews/Commercial/IncidentCreation/DescriptionStepView.html"\r\n             data-controller-name="IncidentCreationDescriptionStepController">\r\n        <\/div>\r\n        <div workflow-step\r\n             data-step-name="contact"\r\n             data-view-template-url="/PartialViews/Commercial/IncidentCreation/ContactStepView.html"\r\n             data-controller-name="IncidentCreationContactStepController">\r\n        <\/div>\r\n        <div workflow-step\r\n             data-step-name="submission"\r\n             data-view-template-url="/PartialViews/Commercial/IncidentCreation/SubmissionStepView.html"\r\n             data-controller-name="IncidentCreationSubmissionStepController">\r\n        <\/div>\r\n        <div workflow-step\r\n             data-step-name="success"\r\n             data-template-url=""\r\n             data-view-template-url="/PartialViews/Commercial/IncidentCreation/SuccessStepView.html"\r\n             data-controller-name="IncidentCreationSuccessStepController">\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/OptionsStepView.html",'<h2 class="step-description">{{stepView.header}}<\/h2>\r\n<hr />\r\n<div ng-if="requestingProductEntitlements">\r\n    <div class="spinner-label">{{view.loadingLabel}}<\/div>\r\n    <div class="spinner-container spacer-20-top">\r\n        <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class="form-group row">\r\n    <form name="contractPickerForm" class="contract-picker-form col-lg-16 clearfix" ng-submit="submitContractOption()" role="form">\r\n        <div class="contract-group" ng-repeat="contractGroup in groupedEntitlements">\r\n            <div ng-repeat="(accessId, lineItemGroup) in contractGroup.groupedAccessId">\r\n                <h3 class="access-id">{{stepView.accessIdFormat| compassFormat : {\'access-id\': accessId} }}<\/h3>\r\n                <table class="table table-responsive contracts-table spacer-20-bottom" ng-if="!isMobile()">\r\n                    <thead>\r\n                        <tr>\r\n                            <th>\r\n                                {{stepView.supportOptionColumnLabel}}\r\n                            <\/th>\r\n                            <th class="expire-date">\r\n                                {{stepView.expireDateColumnLabel}}\r\n                            <\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr ng-repeat="contract in lineItemGroup">\r\n                            <td class="radio-selector">\r\n                                <input type="radio" id="support-option-{{accessId}}-{{contract.lineItemId}}-{{$index}}-{{contract.contractTypeName}}" class="pull-left" name="selectedContract" ng-model="contractForm.selected" ng-value="contract" required />\r\n                                <label class="component-name" for="support-option-{{accessId}}-{{contract.lineItemId}}-{{$index}}-{{contract.contractTypeName}}">{{contract.scheduleName}}<\/label>\r\n                            <\/td>\r\n                            <td class="expire-date">{{contract.endDate | date: mediumDate }}<\/td>\r\n                        <\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n            <div ng-if="isMobile()" class="mobile-table spacer-32-top">\r\n                <div ng-repeat="contract in lineItemGroup" class="mobile-table-row">\r\n                    <div class="radio-selector clearfix">\r\n                        <input type="radio" id="support-option-mobile-{{contract.lineItemId}}-{{$index}}-{{contract.contractTypeName}}" class="pull-left" name="selectedContract" ng-model="contractForm.selected" ng-value="contract" required />\r\n                        <label class="component-name pull-left" for="support-option-mobile-{{contract.lineItemId}}-{{$index}}-{{contract.contractTypeName}}">{{contract.componentName}}<\/label>\r\n                    <\/div>\r\n                    <div class="contract-expire-date">\r\n                        <label class="text-caption" for="expire-date-{{contract.lineItemId}}-{{$index}}">{{stepView.expireDateColumnLabel}}<\/label>\r\n                        <span id="expire-date-{{contract.lineItemId}}-{{$index}}">{{contract.endDate | date: mediumDate }}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/ProductStepView.html",'<h2 class="step-description">{{stepView.header}}<\/h2>\r\n<hr />\r\n<div ng-if="loadingProducts && !hasError">\r\n    <div class="spinner-label">{{view.loadingLabel}}<\/div>\r\n    <div class="spinner-container spacer-20-top">\r\n        <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class="form-group row" ng-if="!loadingProducts">   \r\n    <form name="productPikerForm" class="col-lg-12 clearfix" role="form">\r\n        <div id="product-family-div">\r\n            <label for="product-family" class="text-base required">{{stepView.productFamilyLabel}}<\/label>\r\n            <select class="form-control spacer-32-bottom" \r\n                    ng-model="selectedTree.family"  \r\n                    ng-options="family.name for family in sapFamilies | orderBy:\'name\'"                  \r\n                    id="product-family"                   \r\n                    ng-change="onProductFamilySelected(selectedTree.family)">\r\n                <option value="" disabled selected class="placeholder">{{stepView.genericSelectBoxLabel}}<\/option>                          \r\n            <\/select>\r\n        <\/div>\r\n        <div id="product-name-div" ng-hide="!selectedTree.productTree.length">\r\n            <label for="product-name" class="text-base required">{{stepView.productNameLabel}}<\/label>           \r\n            <select class="form-control spacer-32-bottom"\r\n                    ng-model="selectedTree.product"\r\n                    ng-options="product as product.name for product in selectedTree.productTree | orderBy:\'name\'"\r\n                    id="product-name"\r\n                    ng-change=onSapProductSelected(selectedTree.product)>\r\n                <option value="" disabled selected class="placeholder">{{stepView.genericSelectBoxLabel}}<\/option>\r\n            <\/select>\r\n        <\/div>\r\n        <div id="product-version-div" ng-hide="!selectedTree.productVersionTree.length">\r\n            <label for="product-version" class="text-base required">{{stepView.productVersionLabel}}<\/label>       \r\n            <select class="form-control spacer-32-bottom"\r\n                    ng-model="selectedTree.productVersion"\r\n                    ng-options="productVersion.name for productVersion in selectedTree.productVersionTree | orderBy:\'name\'"\r\n                    id="product-version"\r\n                    ng-change=onSapProductSelected(selectedTree.productVersion)>\r\n                <option value="" disabled selected class="placeholder">{{stepView.genericSelectBoxLabel}}<\/option>\r\n            <\/select>\r\n        <\/div>\r\n        <div id="product-category-div" ng-hide="!selectedTree.issueCategoryTree.length">\r\n            <label for="product-category" class="text-base required">{{stepView.categoryLabel}}<\/label>\r\n            <select class="form-control spacer-32-bottom"\r\n                    ng-model="selectedTree.category"\r\n                    ng-options="category.name for category in selectedTree.issueCategoryTree | orderBy:\'name\'"\r\n                    id="product-category"\r\n                    ng-change=onSapProductSelected(selectedTree.category)>\r\n                <option value="" t disabled selected class="placeholder">{{stepView.genericSelectBoxLabel}}<\/option>\r\n            <\/select>\r\n        <\/div>      \r\n        <div id="product-subcategory-div" ng-hide="!selectedTree.category.tree.length">\r\n            <label for="product-subcategory" class="text-base required">{{stepView.subCategoryLabel}}<\/label>    \r\n            <select class="form-control spacer-32-bottom"\r\n                    ng-model="selectedTree.subCategory"\r\n                    ng-options="subCategory.name for subCategory in selectedTree.category.tree | orderBy:\'name\'"\r\n                    id="product-subcategory"\r\n                    ng-change=onSapProductSelected(selectedTree.subCategory)>\r\n                <option value="" disabled selected class="placeholder">{{stepView.genericSelectBoxLabel}}<\/option>\r\n            <\/select>\r\n        <\/div>           \r\n    <\/form>\r\n    <div class="clearfix">\r\n        <div message-banner data-name=\'productDisclaimerBanner\' class="product-disclaimers col-lg-12"><\/div>\r\n    <\/div>  \r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/ScopingQuestions.html",'<div class="scoping-questions">\r\n    <div class="scoping-question" ng-repeat="question in questions">\r\n        <div class="form-group">\r\n            <label for="{{question.name}}" class="text-base" ng-class="{\'required\': question.isRequired}">{{question.label}}<\/label>\r\n            <div ng-switch="question.controlType">\r\n                <input id="scoping-question-answer-{{question.name}}" ng-switch-when="textBox" type="text" class="form-control" ng-class="{\'has-error\': (formCtrl[question.name].$touched && formCtrl[question.name].$invalid) }"\r\n                       name="{{question.name}}" ng-model="formModel.questionsAndUserAnswers[question.name]"\r\n                       ng-required="question.isRequired" question-validators />\r\n                <textarea id="scoping-question-answer-{{question.name}}" ng-switch-when="textArea" class="form-control" ng-class="{\'has-error\': (formCtrl[question.name].$touched && formCtrl[question.name].$invalid) }"\r\n                          name="{{question.name}}" ng-model="formModel.questionsAndUserAnswers[question.name]"\r\n                          ng-required="question.isRequired" question-validators />\r\n            <\/div>\r\n        <\/div>\r\n        <div ng-if="question.validators" class="validation-messages alert alert-error">\r\n            <div ng-repeat="validator in question.validators">\r\n                <span class="validator-label" ng-show="formCtrl[question.name].$touched && formCtrl[question.name].$error[validator.name]">{{validator.label}}<\/span>\r\n                <span class="validator-label" ng-show="formCtrl[question.name].$touched && formCtrl[question.name].$error[\'textAreaMaxLength\']">{{strings.errorMessages.maxLengthErrorFormat | compassFormat: {\'max-length\': \'2000\'} }}<\/span>\r\n                <span class="validator-label" ng-show="formCtrl[question.name].$touched && formCtrl[question.name].$error[\'inputBoxMaxLength\']">{{strings.errorMessages.maxLengthErrorFormat | compassFormat: {\'max-length\': \'200\'} }}<\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/SeverityStepView.html",'<h2 class="step-description">{{stepView.header}}<\/h2>\r\n<hr />\r\n<div class="form-group row">\r\n    <form name="incidentSeverityForm" class="incident-severity-form col-lg-12 clearfix" role="form">\r\n        <div class="form-group"\r\n             ng-class="{\'spacer-12-bottom\' : incidentSeverityForm.userRegion.$error.required, \'spacer-32-bottom\' :  !incidentSeverityForm.userRegion.$error.required }">\r\n            <label for="user-region-picker" class="text-base required">{{stepView.regionLabel}}<\/label>\r\n            <select class="form-control" ng-options="region.displayName for region in regionList track by region.isoRegionCode"\r\n                    ng-model="severityForm.userRegion"\r\n                    ng-change="updateSeverityOptions()"\r\n                    id="user-region-picker"\r\n                    name="userRegion" required><\/select>\r\n        <\/div>\r\n        <div ng-if="loadingSeverity && !hasError">\r\n            <div class="spinner-label">{{view.loadingLabel}}<\/div>\r\n            <div class="spinner-container spacer-20-top">\r\n                <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="form-group" ng-if="!loadingSeverity && !hasError">\r\n            <div ng-if="incidentSeverityForm.userRegion.$error.required" class="validation-messages alert alert-error spacer-20-bottom">\r\n                <span class="validator-label" ng-show="incidentSeverityForm.userRegion.$touched && incidentSeverityForm.userRegion.$error.required">{{view.requiredValidationLabel}}<\/span>\r\n            <\/div>\r\n            <div class="severity-group clearfix" ng-repeat="(severityIndex, severityContent) in severityConfig">\r\n                <div class="severity-radio">\r\n                    <input ng-if="!severityContent.options.length" name="severity" type="radio" ng-model="severityForm.selected" ng-value="severityContent.value" id="severity-{{severityContent.metisValue}}">\r\n                <\/div>\r\n                <div class="severity-content" ng-class="{\'severity-no-radio\': severityContent.options.length}">\r\n                    <div>\r\n                        <label for="severity-{{severityContent.metisValue}}" class="severity-label" ng-bind-html="severityContent.label"><\/label>\r\n                    <\/div>\r\n                    <div class="severity-sla" ng-class="{\'severity-sla-bottom\': severityContent.options.length}">\r\n                        <span ng-bind-html="severityContent.sla"><\/span>\r\n                    <\/div>\r\n                    <div ng-if="severityContent.options.length">\r\n                        <div ng-repeat="option in severityContent.options" class="severity-sla-options clearfix">\r\n                            <div class="severity-sla-option-input" style="display: table-cell">\r\n                                <input id="severity-sublevel-{{severityContent.value.metisValue}}-{{option.use24x7Option}}" type="radio" name="severity"\r\n                                       ng-value="option.value" ng-model="severityForm.selected">\r\n                            <\/div>\r\n                            <div class="severity-sla-option-label" style="display: table-cell">\r\n                                <label for="severity-sublevel-{{severityContent.value.metisValue}}-{{option.use24x7Option}}" class="severity-option">{{option.label}}<\/label>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/SubmissionStepView.html",'<h2 class="step-description">{{stepView.header}}<\/h2>\r\n<hr />\r\n<div class="row incident-review">\r\n    <div class="col-md-18 col-lg-10 col-xl-9">\r\n        <div class="incident-property">\r\n            <label for="incident-title-Submission" class="text-base">{{stepView.incidentTitleLabel}}<\/label>\r\n            <p id="incident-title-Submission">{{stepResults.incidentDescriptionAndQuestions.title}}<\/p>\r\n        <\/div>\r\n        <div class="incident-property">\r\n            <label for="contact-email-Submission" class="text-base">{{stepView.createdByFormat | compassFormat: {\'datetime-format\': todayDateInShort } }}<\/label>\r\n            <p id="contact-email-Submission">{{userEmail}}<\/p>\r\n        <\/div>\r\n        <div class="incident-property">\r\n            <label for="incident-product" class="text-base">{{stepView.productLabel}}<\/label>\r\n            <p id="incident-product">{{stepResults.selectedProduct.name}}<\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="col-md-18 col-lg-10 col-xl-9">\r\n        <div class="incident-property">\r\n            <label for="incident-severity" class="text-base">{{stepView.severityLabel}}<\/label>\r\n            <p id="incident-severity">{{stepResults.selectedSeverity.label}}<\/p>\r\n        <\/div>\r\n        <div class="incident-property">\r\n            <label for="contact-preference" class="text-base">{{stepView.contactPreferenceLabel}}<\/label>\r\n            <p id="contact-preference">{{stepResults.primaryContact.preferredContactMethod.label}}<\/p>\r\n        <\/div>\r\n        <div class="incident-property">\r\n            <label for="contact-phone-number-Submission" class="text-base">{{stepView.contactPhoneLabel}}<\/label>\r\n            <p id="contact-phone-number-Submission">{{stepResults.primaryContact.phoneNumber}}<\/p>\r\n        <\/div>\r\n        <div class="incident-property">\r\n            <label for="additional-email" class="text-base">{{stepView.alternateRecipientsLabel}}<\/label>\r\n            <p id="additional-email">{{stepResults.primaryContact.additionalEmails || stepView.noneString }}<\/p>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<p class="privacy-statement" ng-bind-html="privacyStatement"><\/p>\r\n<div class="btn-group clearfix">\r\n    <button id="work-flow-submit-previous" ng-if="hasPrev()" class="btn" name="" type="button" ng-click="moveToPrev()">{{view.pagerPreviousLabel}}<\/button>\r\n    <button id="work-flow-submit-button" ng-if="hasNext()" class="btn btn-primary" name="" type="button" ng-disabled="!isStepComplete() || isSubmitting" ng-click="submit()" aria-label="{{stepView.submitButtonLabel}}">{{stepView.submitButtonLabel}}<\/button>\r\n<\/div>\r\n<div class="submitting-wait-mask" ng-if="isSubmitting">\r\n<\/div>\r\n<div class="submitting-wait-spinner" ng-if="isSubmitting">\r\n    <div class="spinner-container">\r\n        <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n        <div role="alert" aria-live="assertive" aria-atomic="true">\r\n            <span>{{stepView.submitIncidentWaitMessage}}<\/span>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/SuccessStepView.html",'<div class="incident-success" ng-if="isOpen()">\r\n    <header class="incident-success-header spacer-20-top">\r\n        <h1 class="header">{{header}}<\/h1>\r\n    <\/header>\r\n    <p class="success-description spacer-20-top">\r\n        {{stepView.confirmationMessage}}\r\n    <\/p>\r\n    <h2 class="success-next-header">{{stepView.whatNextHeader}}<\/h2>\r\n    <hr />\r\n    <div class="what-next-description">\r\n        <p>{{stepView.nextStep1}}<\/p>\r\n        <p>{{stepView.nextStep2}}<\/p>\r\n    <\/div>\r\n    <div class="track-request-online">\r\n        <span ng-bind-html="trackOnlineLink"><\/span>\r\n    <\/div>\r\n    <div class="what-next-description" ng-if="hasDiagnostic">\r\n        <p>{{stepView.diagnosticMessage}}<\/p>\r\n        <a id="{{stepView.diagnosticLink.htmlId}}" href="" ng-href="{{sdpSessionLaunchUrl}}" target="_blank">{{stepView.diagnosticLink.linkText}}<\/a>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/Workflow.html",'<div class="incident-creation-workflow">\r\n    <div ng-transclude><\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentCreation/WorkflowStep.html",'<div ng-show="isOpen()">\r\n    <header>\r\n        <h1 class="header">{{view().creationTitle}}<\/h1>\r\n    <\/header>\r\n    <div class="step-number">\r\n        <span>{{view().stepStatusFormat | compassFormat: {\'step-index\': stepIndex(), \'total-steps\': totalSteps() - 1} }}<\/span>\r\n    <\/div>\r\n    <div class="workflow-step"><\/div>\r\n    <div ng-if="showNavi()" class="btn-group clearfix navigation-buttons">\r\n        <button id="{{workflowName}}-{{stepName}}-previous" ng-if="hasPrev()" class="btn" name="" type="button" ng-click="moveToPrev()">{{view().pagerPreviousLabel}}<\/button>\r\n        <button id="{{workflowName}}-{{stepName}}-next" ng-if="hasNext()" class="btn btn-primary" name="" type="button" ng-click="moveToNext()" ng-disabled="!isComplete()">{{view().pagerNextLabel}}<\/button>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentDetails.html",'<div class="commercial" component-height-monitor>\r\n    <div message-banner name=\'incidentServiceMessages\' class="" hasicon=\'true\'><\/div>\r\n    <header class="incident-detail-header">\r\n        <h1>{{incident.incident.title}}<\/h1>\r\n    <\/header>\r\n    <div class="spinner-label" ng-if="gettingIncident">{{view.loadIncidentWaitMessage}}<\/div>\r\n    <div class="spinner-container spacer-20-top" ng-if="gettingIncident">\r\n        <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n    <\/div>\r\n    <div ng-switch="caseSystem">\r\n        <div ng-switch-when="getSupport" class="incident-detail row" ng-if="canView && incident">\r\n            <div class="col-sm-18">\r\n                <div ng-include="\'/PartialViews/Commercial/incidentMessages.html\'"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div ng-switch-default class="incident-detail row" ng-if="canView && incident">\r\n            <div class="col-sm-6" ng-include="\'/PartialViews/Commercial/incidentSummary.html\'"><\/div>\r\n            <div class="col-sm-18">\r\n                <div ng-include="\'/PartialViews/Commercial/incidentMessages.html\'"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentHub.html","<div incident-detail><\/div>");n.put("/PartialViews/Commercial/incidentMessageForm.html",'<form class="message-edit" ng-submit="sendMessageUpdate(newMessageForm)" role="form" name="messageForm">\r\n    <div class="message-edit-header-section win-color-bg-10 clearfix">\r\n        <!--new-->\r\n        <div ng-if="currentCommunicationIndex == -1"\r\n             class="form-group subject-input-box  col-sm-16" ng-class="{\'has-error\': messageForm.messageSubject.$touched && messageForm.messageSubject.$error.required}">\r\n            <h3>{{view.incidentDetailMessagesContent.incidentDetailNewMessage}}<\/h3>\r\n            <label class="spacer-12-top" for="update-message-subject">{{view.incidentDetailMessagesContent.subjectColumnLabel}}<\/label>\r\n            <input id="update-message-subject" name="messageSubject" type="text" class="form-control" ng-model="newMessageForm.subject" required ng-maxlength="200" />\r\n            <div ng-if="messageForm.messageSubject.$touched && messageForm.messageSubject.$error.required" class="validation-messages alert alert-error">\r\n                <span class="validator-label">{{view.validationRequiredLabel}}<\/span>\r\n            <\/div>\r\n            <div ng-if="messageForm.messageSubject.$touched && messageForm.messageSubject.$error.maxlength" class="validation-messages alert alert-error">\r\n                <span class="validator-label">{{view.titleMaxLengthMessageFormat | compassFormat : { \'max-length\': \'200\' } }}<\/span>\r\n            <\/div>\r\n        <\/div>\r\n        <!--reply-->\r\n        <h3 ng-if="currentCommunicationIndex >= 0" class="message-reply-header">{{view.incidentDetailMessagesContent.incidentDetailMessageDetailReplyLabel}}<\/h3>\r\n        <div class="message-attachment-link-section pull-right col-sm-8" ng-class="{\'commercial-spacer-50-top\': currentCommunicationIndex == -1}">\r\n            <a id="message-attachments" href="" ngf-select ng-model="newMessageForm.attachments" ngf-max-size="maxFileSizeBytes" ngf-max-files="maxFileCount" ngf-multiple="true" ngf-change="filesChanged($files, $file, $newFiles, $duplicateFiles, $invalidFiles, $event)" ngf-keep="\'distinct\'" ngf-before-model-change="fileUploadBeforeModelChange($files)">\r\n                <span class="win-icon win-icon-Attach"><\/span>{{view.incidentDetailMessagesContent.incidentDetailMessageDetailAttachFileLabel}}\r\n            <\/a>\r\n            <div class="max-file-size-information text-caption-alt">\r\n                <span>{{view.incidentDetailMessagesContent.maxFileSizeInformation}}<\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\'files-container\'>\r\n        <div ng-repeat="file in newMessageForm.attachments" class=\'file-container\'>\r\n            <div data-toggle="tooltip" data-placement="top" data-delay="1000" title="{{file.name}}" ng-element-ready="enableTooltips()"><\/div>\r\n            <div class=\'file-common file-name\'>{{file.name}}<\/div>\r\n            <div id="message-attachment-remove-button-{{$index}}" aria-label="{{view.incidentDetailMessagesContent.incidentDetailMessageDetailFileAttachedLabel}} {{file.name}}" class=\'file-common file-remove\' ng-click="removeFile(file, newMessageForm.attachments)" tabindex="0"><span class="win-icon win-icon-ChromeClose"><\/span><\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div role="alert" aria-live="assertive" aria-atomic="true" class="sr-only" ng-show="uploadMessage && !fileSelectionError">\r\n        {{uploadMessage}}\r\n    <\/div>\r\n    <div class="alert alert-error" ng-show="messageForm.$error.maxFiles || fileSelectionError">{{view.incidentDetailMessagesContent.maxFilesError}}<\/div>\r\n    <div class="alert alert-error" ng-show="messageForm.$error.maxSize">{{view.incidentDetailMessagesContent.maxFileSizeErrorMessage}}<\/div>\r\n    <div class="form-group message-edit-body-section" ng-class="{\'has-error\': messageForm.newMessageBody.$touched && messageForm.newMessageBody.$error.required}">\r\n        <textarea id="incident-new-message-body" class="message-body" rows="20" ng-model="newMessageForm.body" name="newMessageBody" required ng-maxlength="4000" ng-attr-placeholder="{{view.incidentDetailMessagesContent.messageBodyPlaceholder}}"><\/textarea>\r\n    <\/div>\r\n    <div ng-if="messageForm.newMessageBody.$touched && messageForm.newMessageBody.$error.required" class="validation-messages alert alert-error">\r\n        <span class="validator-label">{{view.validationRequiredLabel}}<\/span>\r\n    <\/div>\r\n    <div ng-if="messageForm.newMessageBody.$touched && messageForm.newMessageBody.$error.maxlength" class="validation-messages alert alert-error">\r\n        <span class="validator-label">{{view.bodyMaxLengthMessageFormat | compassFormat : { \'max-length\': \'4000\' } }}<\/span>\r\n    <\/div>\r\n    <div class="message-edit-footer-section">\r\n        <div class="clearfix">\r\n            <div class="col-sm-8 message-edit-privacy hidden-xs"><span ng-bind-html="messageUpdatePrivayStatement"><\/span><\/div>\r\n            <div class="message-edit-button-section">\r\n                <div ng-if="!isSendingMessage" class="message-button-group">\r\n                    <button id="incident-new-message-submit" class="btn btn-primary" name="sendMessage" type="submit" ng-disabled="isSendingMessage || !messageForm.$valid">{{view.incidentDetailMessagesContent.incidentDetailMessageDetailSendLabel}}<\/button>\r\n                    <button id="incident-new-message-cancel" class="btn" name="cancelMessageUpdate" type="button" ng-click="cancelMessageUpdate()">{{view.incidentDetailMessagesContent.incidentDetailMessageDetailCancelLabel}}<\/button>\r\n                <\/div>\r\n                <div ng-if="isSendingMessage" class="message-send-wait">\r\n                    <span loading-spinner size="small" data-timeout="30000" data-delay="2000" class="send-message-spinner"><\/span>\r\n                    <span class="send-message-spinner-text">{{view.incidentDetailMessagesContent.incidentDetailMessageDetailSendingLabel}}<\/span>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="message-edit-privacy visible-xs-block"><span ng-bind-html="messageUpdatePrivayStatement"><\/span><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/form>');n.put("/PartialViews/Commercial/IncidentMessages.html",'<div class="section incident-messages">\r\n    <header class="section-header clearfix">\r\n        <h2 class="section-title">{{view.incidentDetailMessagesContent.incidentDetailMessagesSubtitle}}<\/h2>\r\n        <span ng-if="communications.length" class="section-subtitle">{{ view.lastUpdateDateLabel | compassFormat : {\'update-date\': (incident.incident.lastUpdatedDateForCommunications | date : view.shortDatetimeFormat)} }}<\/span>\r\n        <span class="pull-right hidden-xs">\r\n            <a id="create-new-communciation" class="new-message-link" href="" ng-click="createNewMessage()"><span class="win-icon win-icon-Mail pull-left"><\/span><span class="pull-left">{{view.incidentDetailMessagesContent.incidentDetailNewMessage}}<\/span><\/a>\r\n        <\/span>\r\n    <\/header>\r\n    <div class="section-body">\r\n        <div class="visible-xs-block spacer-12-top spacer-12-bottom clearfix" ng-if="!displayMessageForm">\r\n            <a id="create-new-communciation" href="" ng-click="createNewMessage()" aria-haspopup="true" aria-expanded="{{displayMessageForm}}">\r\n                <span class="win-icon win-icon-Mail pull-left"><\/span><span class="pull-left">{{view.incidentDetailMessagesContent.incidentDetailNewMessage}}<\/span>\r\n            <\/a>\r\n        <\/div>\r\n        <div ng-if="currentCommunicationIndex == -1 && displayMessageForm" ng-include="\'/PartialViews/Commercial/incidentMessageForm.html\'">\r\n        <\/div>\r\n        <div role="grid" class="message-table">\r\n            <div role="row" class="clearfix table-row hidden-xs row">\r\n                <div role="columnheader" class="col-sm-6">\r\n                    <span class="message-field column-header">{{view.incidentDetailMessagesContent.incidentDetailMessageSenderLabel}}<\/span>\r\n                <\/div>\r\n                <div role="columnheader" class="col-sm-12">\r\n                    <span class="message-field column-header">{{view.incidentDetailMessagesContent.subjectColumnLabel}}<\/span>\r\n                <\/div>\r\n                <div role="columnheader" class="col-sm-6">\r\n                    <span class="message-field column-header">{{view.incidentDetailMessagesContent.receivedColumnLabel}}<\/span>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="table-row" ng-if="$index < messageDisplayLimit" ng-repeat="communication in communications">\r\n                <div role="row" id="support-request-message-row-{{$index}}" ng-click="viewCommunicationDetail($index)" class="clearfix message-row row" ng-class="{\'active-message\': currentCommunicationIndex == $index, \'first-message\': $index == communications.length - 1 }"\r\n                     aria-expanded="{{currentCommunicationIndex == $index}}">\r\n                    <div ng-switch="caseSystem">\r\n                        <div ng-switch-when="getSupport" role="gridcell" class="col-sm-6 sender-column" aria-labelledby="{{view.incidentDetailMessagesContent.incidentDetailMessageSenderLabel}}">\r\n                            <span class="message-field">{{communication.sender}}<\/span>\r\n                        <\/div>\r\n                        <div ng-switch-default role="gridcell" class="col-sm-6 sender-column" aria-labelledby="{{view.incidentDetailMessagesContent.incidentDetailMessageSenderLabel}}">\r\n                            <span class="message-field" ng-if="communication.directionCode == config.messageDirectionCode.outgoing">{{view.incidentDetailMessagesContent.supportEngineerLabel}}<\/span>\r\n                            <span class="message-field incident-email" ng-if="communication.directionCode == config.messageDirectionCode.incoming">{{communication.sender}}<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div role="gridcell" class="col-sm-12 col-xs-24"\r\n                         ng-class="{\'message-subject-ellipsis\': currentCommunicationIndex == -1}" aria-labelledby="{{view.incidentDetailMessagesContent.subjectColumnLabel}}">\r\n                        <span class="message-field message-subject">{{communication.subject}}<\/span>\r\n                    <\/div>\r\n                    <div role="gridcell" class="col-sm-6" aria-labelledby="{{view.incidentDetailMessagesContent.receivedColumnLabel}}">\r\n                        <span class="message-field">{{communication.createdDateTime | date: \'short\'}}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div ng-if="currentCommunicationIndex == $index" class="message-detail">\r\n                    <div class="message-body" ng-bind-html="communication.emailBody"><\/div>\r\n                    <div ng-if="!displayMessageForm" class="spacer-20-bottom">\r\n                        <a id="incident-reply-message" ng-disabled="!canUpdate" role="button" aria-haspopup="true" aria-expanded="{{displayMessageForm}}" class="btn btn-primary" href="" ng-click="replyMessage($index)">{{view.incidentDetailMessagesContent.incidentDetailMessageDetailReplyLabel}}<\/a>\r\n                    <\/div>\r\n                    <div ng-if="displayMessageForm" ng-include="\'/PartialViews/Commercial/incidentMessageForm.html\'">\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="spacer-20-top" ng-if="communications.length > lessMessageLimit">\r\n            <a id="incident-detail-messages-show-all" href="" ng-click="toggleShowMessages()" ng-if="messageDisplayLimit == lessMessageLimit">{{view.showAllLabel}}<\/a>\r\n            <a id="incident-detail-messages-show-recent" href="" ng-click="toggleShowMessages()" ng-if="messageDisplayLimit > lessMessageLimit">{{view.showLessLabel}}<\/a>\r\n        <\/div>\r\n        <div id="incident-detail-messages-message-sent" role="alert" aria-live="assertive" aria-atomic="true" class="narrator-span" ng-if="sentMessageAlert">\r\n            {{sentMessageAlert}}\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentNotes.html",'<section class="section">\r\n    <header class="section-header">\r\n        <h2 class="section-title">{{view.incidentDetailEngineerNotesTitle}}<\/h2>\r\n        <span ng-if="engineerNotes" class="section-subtitle">{{ view.lastUpdateDateLabel | compassFormat : {\'update-date\': (incident.incident.lastUpdatedNote.createdDateTime | date : view.shortDatetimeFormat)} }}<\/span>\r\n    <\/header>\r\n    <div class="section-body">\r\n        <div ng-if="!engineerNotes">\r\n            <p>{{view.incidentDetailNoEngineerNotesMessage}}<\/p>\r\n        <\/div>\r\n        <div ng-if="engineerNotes" class="engineer-notes">\r\n            <div ng-if="showOnlyLatestNote">\r\n                <ul>\r\n                    <li>{{incident.incident.lastUpdatedNote.description}}<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n            <div ng-if="!showOnlyLatestNote" ng-repeat="(noteDate, sameDayNotes) in engineerNotes">\r\n                <h3 class="spacer-16-bottom" ng-class="{\'spacer-20-top\': !$first}">{{noteDate}}<\/h3>\r\n                <ul>\r\n                    <li ng-repeat="note in sameDayNotes">{{note.description}}<\/li>\r\n                <\/ul>\r\n            <\/div>\r\n            <div ng-if="incident.incident.numberOfNotes > 1">\r\n                <a id="incident-detail-notes-show-all" href="" ng-click="toggleShowNotes()" ng-if="showOnlyLatestNote">{{view.showAllLabel}}<\/a>\r\n                <a id="incident-detail-notes-show-less" href="" ng-click="toggleShowNotes()" ng-if="!showOnlyLatestNote">{{view.showLessLabel}}<\/a>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>');n.put("/PartialViews/Commercial/IncidentsHub.html",'<div class="spinner-container spacer-20-top" ng-if="!viewReady">\r\n    <div loading-spinner data-timeout="30000" data-delay="250"><\/div>\r\n<\/div>\r\n<div class="commercial-site-alerts" message-banner name="incidentsHubMessages"><\/div>\r\n<div id="premier-landing-section-authenticated" class="commercial" ng-if="viewReady && !hasErrors">\r\n    <div class="container">\r\n        <div class="incidents-table">\r\n            <div ng-if="objectTable.tableName">\r\n                <section class="navigation-section section remove-header-rule ">\r\n                    <p ng-bind-html="viewContent.incidentsRedirectBanner"><\/p>\r\n                    <header class="section-header">\r\n                        <h1 class="text-header">{{objectTable.tableName}}<\/h1>\r\n                    <\/header>\r\n                    <div class="section-body">\r\n                        <div class="row">\r\n                            <div class="new-support-request col-md-24">\r\n                                <a ng-if="hasEntitlements" id="premier-landing-link-new-support-request-authorized" href="" ng-click="newIncident(viewContent.newSupportRequestLink.link.linkUrl)"><span class="win-icon win-icon-Add"><\/span> {{viewContent.newSupportRequestLink.link.linkText}}<\/a>\r\n                                <a ng-if="!hasEntitlements" id="premier-landing-link-new-support-request-unauthorized" href="" ng-click="setPathToUrl(viewContent.registerAccessIdLink.link.linkUrl)"><span class="win-icon win-icon-Add"><\/span> {{viewContent.newSupportRequestLink.link.linkText}}<\/a>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <p ng-if="hasIncidents && hasEntitlements" ng-include="\'/PartialViews/Commercial/IncidentsListControls.html\'"><\/p>\r\n                        <p ng-if="!hasIncidents && hasEntitlements" class="text-body no-incidents-message">{{viewContent.stringTable.userHasNoSupportRequests}}<\/p>\r\n                        <div ng-if="!hasIncidents && !hasEntitlements">\r\n                            <p class="text-body no-incidents-message">{{viewContent.stringTable.userHasNoSupportRequests}}<\/p>\r\n                            <p class="text-body no-incidents-message">{{viewContent.stringTable.userHasNoAccessId}}&nbsp;<a id="premier-landing-link-add-access-id" href="" ng-click="setPathToUrl(viewContent.registerAccessIdLink.link.linkUrl)">{{viewContent.registerAccessIdLink.link.linkText}}<\/a><\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n\r\n            <div ng-if="hasIncidents">\r\n                <div ng-include="\'/PartialViews/Commercial/IncidentsListColumnSelectors.html\'"><\/div>\r\n                <div ng-include="\'/PartialViews/Commercial/IncidentsListTableFilters.html\'"><\/div>\r\n\r\n                <div object-table bind-object="userIncidents" table-config="objectTable" sort-function="sortData(sortParams, propertyName)" format-function="formatData(value, format)"><\/div>\r\n\r\n                <div ng-if="hasShowMoreLink" class="view-all">\r\n                    <div class="view-all-link"><a href="" ng-click="viewLengthClicked()">{{viewLengthCaption}}<\/a><\/div>\r\n                    <div class="commercial-inline-spinner"><div ng-if="showingMore" loading-spinner data-timeout="30000" data-size="small"><\/div><\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentsListColumnSelectors.html",'<div class="column-selectors" ng-show="showColumnPicker">\r\n    <form role="form">\r\n        <section class="section">\r\n            <header class="section-header">\r\n                <div class="text-subheader">{{viewContent.stringTable.viewTheseColumnsCaption}}<\/div>\r\n            <\/header>\r\n            <div class="section-body">\r\n                <div class="row">\r\n                    <div class="col-md-6 col-sm-6">\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-columpicker-status" type="checkbox" ng-model="columnSelection.status.selected" />\r\n                                <span class="text-body">{{viewContent.stringTable.viewByStatus}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-columpicker-title" type="checkbox" ng-model="columnSelection.title.selected" />\r\n                                <span class="text-body">{{viewContent.stringTable.viewByTitle}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-columpicker-severity" type="checkbox" ng-model="columnSelection.severity.selected" />\r\n                                <span class="text-body">{{viewContent.stringTable.viewBySeverity}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class="col-md-6 col-sm-6">\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-columpicker-created-by" type="checkbox" ng-model="columnSelection.createdby.selected" />\r\n                                <span class="text-body">{{viewContent.stringTable.viewByCreatedby}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-columpicker-created-on" type="checkbox" ng-model="columnSelection.createdon.selected" />\r\n                                <span class="text-body">{{viewContent.stringTable.viewByCreatedon}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-columpicker-created-by" type="checkbox" ng-model="columnSelection.lastupdatedon.selected" />\r\n                                <span class="text-body">{{viewContent.stringTable.viewByLastupdatedby}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-columpicker-created-on" type="checkbox" ng-model="columnSelection.closedon.selected" />\r\n                                <span class="text-body">{{viewContent.stringTable.viewByClosedon}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n        <div class="apply-buttons-row row">\r\n            <div class="col-md-8 col-sm-8">\r\n                <button id="premier-landing-columpicker-apply" class="btn-primary" ng-click="applyColumPicker()">{{viewContent.stringTable.applyButtonCaption}}<\/button>\r\n                <button id="premier-landing-columpicker-cancel" ng-click="cancelColumPicker()">{{viewContent.stringTable.cancelButtonCaption}}<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentsListControls.html",'<div class="table-header row">\r\n    <div class="search-container col-md-8 col-sm-8">\r\n        <div class=" form-group form-searchbox search-form">\r\n            <form ng-submit="incidentSearchClicked(searchQuery)">\r\n                <input id="premier-landing-search-input" type="text" required="" class="form-control" model-value-change-watcher model-change-callback="searchModelChanged(newValue)" ng-model="searchQuery" ng-attr-placeholder="{{viewContent.stringTable.incidentsSearchPlaceholder}}" autocomplete="off">\r\n                <button id="premier-landing-search-clear" class="clear-icon" type="reset" ng-click="resetSearch()"><span class="win-icon win-icon-Clear"><\/span><\/button>\r\n                <span id="premier-landing-search-spyglass" ng-click="incidentSearchClicked(searchQuery)" class="search-icon">\r\n                    <i class="win-icon win-icon-Search"><\/i>\r\n                <\/span>\r\n            <\/form>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class="col-md-4 col-sm-4"><\/div>\r\n\r\n    <div class="menus col-md-12 col-sm-12">\r\n        <ul class="pull-right">\r\n            <li><a class="menu-link" id="premier-landing-incidents-column-picker" href="#" aria-haspopup="true" aria-expanded="{{isColumnPickerOpen}}" ng-click="toggleViewControls(isColumnPickerOpen)">{{viewContent.stringTable.viewMenuCaption}}<\/a><\/li>\r\n            <li><a class="menu-link" id="premier-landing-incidents-filter" href="#" aria-haspopup="true" aria-expanded="{{isFilterOpen}}" ng-click="toggleFilterControls(isFilterOpen)">{{viewContent.stringTable.filterMenuCaption}}<\/a><\/li>\r\n            <li><a class="menu-link" id="premier-landing-incidents-export" ng-href="{{exportUrlPath}}" ng-click="downloadIncidentList()" target="_self">{{viewContent.stringTable.exportMenuCaption}}<\/a><\/li>\r\n        <\/ul>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentsListTableFilters.html",'<div class="table-filters" ng-show="showFilters">\r\n    <form role="form">\r\n        <div class="row">\r\n            <div class="col-md-8 col-sm-8">\r\n                <section class="section">\r\n                    <div class="section-header">\r\n                        <div class="text-subheader">{{viewContent.stringTable.filterByTypeSectionCaption}}<\/div>\r\n                    <\/div>\r\n                    <div class="section-body">\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-incident-filter-open-requests" type="checkbox" ng-model="filterSelection.openCheckbox" />\r\n                                <span class="text-body">{{viewContent.stringTable.filterOpenRequestsCaption}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                        <div class="checkbox">\r\n                            <label>\r\n                                <input id="premier-landing-incident-filter-closed-requests" type="checkbox" ng-model="filterSelection.closedCheckbox" />\r\n                                <span class="text-body">{{viewContent.stringTable.filterClosedRequestsCaption}}<\/span>\r\n                            <\/label>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n            <div class="col-md-8 col-sm-8">\r\n                <section class="section">\r\n                    <div class="section-header">\r\n                        <div class="text-subheader">{{viewContent.stringTable.filterByDateSectionCaption}}<\/div>\r\n                    <\/div>\r\n                    <div class="section-body">\r\n                        <div class="form-group">\r\n                            <label for="opened-begin-datepicker" class="text-base">{{viewContent.stringTable.filterByBegindateCaption}}<\/label>\r\n                            <div class="calendar-group clearfix">\r\n                                <input class="calendar-input pull-left" uib-datepicker-popup="{{shortDateFormat}}" datepicker-options="openDateBeginningFilterOptions" is-open="openDateBeginningFilter.opened" show-button-bar="false" type="text" id="premier-landing-incident-filter-open-end-date" value="{{viewContent.stringTable.datePickerDateFormat}}" ng-model="filterSelection.openBegin" autocomplete="off" />\r\n                                <span class="calendar-icon pull-left" ng-click="openOpenDateBeginningFilter()" role="button" aria-haspopup="true" aria-expanded="{{openDateBeginningFilter.opened}}" aria-label="{{viewContent.stringTable.incidentTableFilterCalendarAriaLabel}}">\r\n                                    <i class="win-icon win-icon-Calendar"><\/i>\r\n                                <\/span>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class="form-group">\r\n                            <label for="opened-end-datepicker" class="text-base">{{viewContent.stringTable.filterByEndingdateCaption}}<\/label>\r\n                            <div class="calendar-group clearfix">\r\n                                <input class="calendar-input pull-left" uib-datepicker-popup="{{shortDateFormat}}" datepicker-options="openDateEndingFilterOptions" is-open="openDateEndingFilter.opened" show-button-bar="false" type="text" id="premier-landing-incident-filter-open-end-date" value="{{viewContent.stringTable.datePickerDateFormat}}" ng-model="filterSelection.openEnd" autocomplete="off" />\r\n                                <span class="calendar-icon pull-left" ng-click="openOpenDateEndingFilter()" role="button" aria-haspopup="true" aria-expanded="{{openDateEndingFilter.opened}}" aria-label="{{viewContent.stringTable.incidentTableFilterCalendarAriaLabel}}">\r\n                                    <i class="win-icon win-icon-Calendar"><\/i>\r\n                                <\/span>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n            <div class="col-md-8 col-sm-8">\r\n                <section class="section">\r\n                    <div class="section-header">\r\n                        <div class="text-subheader">{{viewContent.stringTable.filterByLastupdatedDateSectionCaption}}<\/div>\r\n                    <\/div>\r\n                    <div class="section-body">\r\n                        <div class="form-group">\r\n                            <label for="lastupdate-begin-datepicker" class="text-base">{{viewContent.stringTable.filterByBegindateCaption}}<\/label>\r\n                            <div class="calendar-group clearfix">\r\n                                <input class="calendar-input pull-left" uib-datepicker-popup="{{shortDateFormat}}" datepicker-options="updateDateBeginningFilterOptions" is-open="updateDateBeginningFilter.opened" show-button-bar="false" type="text" id="premier-landing-incident-filter-lastupdate-begin-date" value="{{viewContent.stringTable.datePickerDateFormat}}" ng-model="filterSelection.lastUpdateBegin" autocomplete="off" />\r\n                                <span class="calendar-icon pull-left" ng-click="openUpdateDateBeginningFilter()" role="button" aria-haspopup="true" aria-expanded="{{updateDateBeginningFilter.opened}}" aria-label="{{viewContent.stringTable.incidentTableFilterCalendarAriaLabel}}">\r\n                                    <i class="win-icon win-icon-Calendar"><\/i>\r\n                                <\/span>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class="form-group">\r\n                            <label for="lastupdate-end-datepicker" class="text-base">{{viewContent.stringTable.filterByEndingdateCaption}}<\/label>\r\n                            <div class="calendar-group clearfix">\r\n                                <input class="calendar-input pull-left" uib-datepicker-popup="{{shortDateFormat}}" datepicker-options="updateDateEndningFilterOptions" is-open="updateDateEndningFilter.opened" show-button-bar="false" type="text" id="premier-landing-incident-filter-lastupdate-end-date" value="{{viewContent.stringTable.datePickerDateFormat}}" ng-model="filterSelection.lastUpdateEnd" autocomplete="off" />\r\n                                <span class="calendar-icon pull-left" ng-click="openUpdateDateEndningFilter()" role="button" aria-haspopup="true" aria-expanded="{{updateDateEndningFilter.opened}}" aria-label="{{viewContent.stringTable.incidentTableFilterCalendarAriaLabel}}">\r\n                                    <i class="win-icon win-icon-Calendar"><\/i>\r\n                                <\/span>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="apply-buttons-row row">\r\n            <div class="col-md-8 col-sm-8">\r\n                <button id="incidents-fileter-apply" class="btn-primary" ng-disabled="!filterSelection.openCheckbox && !filterSelection.closedCheckbox" ng-click="applyFilter()">{{viewContent.stringTable.applyButtonCaption}}<\/button>\r\n                <button id="incidents-fileter-cancel" ng-click="cancelFilter()">{{viewContent.stringTable.cancelButtonCaption}}<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/Commercial/IncidentSummary.html",'<div class="incident-fields">\r\n    <div>\r\n        <label class="text-base">{{supportRequestLabel}}<\/label>\r\n        <p class="text-body">{{incidentNumber}}<\/p>\r\n    <\/div>\r\n    <div ng-class="{\'hidden-xs\' : hideMetadataInSmall}">\r\n        <div class="incident-field">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.incidentFieldStatus}}<\/label>\r\n            <p class="text-body">{{incident.incident.status}}<\/p>\r\n        <\/div>\r\n        <div class="incident-field">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.incidentFieldSeverity}}<\/label>\r\n            <p class="text-body">{{incident.incident.severity}}<\/p>\r\n        <\/div>\r\n        <div class="incident-field" ng-if="incident.incident.entitlement.entitlementId">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.incidentFieldEntitlement}}<\/label>\r\n            <p class="text-body access-id">{{incident.incident.entitlement.entitlementId}}<\/p>\r\n        <\/div>\r\n        <div class="incident-field">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.incidentFieldCreatedBy}}<\/label>\r\n            <p class="text-body incident-email">{{incident.incident.primaryContact.primaryEmailAddress}}<\/p>\r\n        <\/div>\r\n        <div class="incident-field">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.incidentFieldCreatedOn}}<\/label>\r\n            <p class="text-body">{{incident.incident.createdDateTime | date: \'shortDate\' }}<\/p>\r\n        <\/div>\r\n        <div class="incident-field">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.incidentFieldProduct}}<\/label>\r\n            <p class="text-body">{{incident.incident.productName}}<\/p>\r\n        <\/div>\r\n        <div class="incident-field">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.incidentFieldSupportTopic}}<\/label>\r\n            <p class="text-body">{{incident.incident.supportTopicName || view.incidentDetailSummaryContent.noneValueLabel}}<\/p>\r\n        <\/div>\r\n        <div class="incident-field">\r\n            <label class="text-base">{{view.incidentDetailSummaryContent.fileAttachmentLabel}}<\/label>\r\n            <div class="text-body" ng-if="attachments.length" ng-repeat="file in attachments">{{file.fileName}}<\/div>\r\n            <p ng-if="!attachments.length">{{view.incidentDetailSummaryContent.noneValueLabel}}<\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="visible-xs-inline-block incident-detail-show-more-link">\r\n        <a id="incident-detail-summary-show-all" href="" ng-click="toggleMetadata()" ng-if="hideMetadataInSmall">{{view.showAllLabel}}<\/a>\r\n        <a id="incident-detail-summary-show-less" href="" ng-click="toggleMetadata()" ng-if="!hideMetadataInSmall">{{view.showLessLabel}}<\/a>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/LinkFarm.html",'<div id="commercial-link-farm" class="row">\r\n    <section class="col-md-8 col-sm-24 col-xs-24 section remove-header-rule item-section" ng-repeat="section in linkSectionList">\r\n        <header class="section-header">\r\n            <h3 class="text-title">{{section.header}}<\/h3>\r\n        <\/header>\r\n        <div id="commercial-link-section-{{$index}}" class="landing-section-content">\r\n            <ul class="list-unstyled">\r\n                <li ng-repeat="link in section.links"><a id="commercial-link-section-{{$parent.$index}}-link-{{$index}}" ng-href="{{link.linkUrl}}" target="_self">{{link.linkText}}<\/a><\/li>\r\n            <\/ul>\r\n        <\/div>\r\n    <\/section>\r\n<\/div>');n.put("/PartialViews/Commercial/PremierContacts.html",'<div class="commercial-hub">\r\n    <div ng-if="isAuthenticated != null && isAuthenticated==true" class="commercial">\r\n        <div class="premier-contacts">\r\n            <div class="commercial-site-alerts" message-banner name="premierContactsMessages"><\/div>\r\n            <div ng-if="!viewReady">\r\n                <div class="spinner-container spacer-20-top">\r\n                    <div loading-spinner data-timeout="30000" data-delay="200"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="container" ng-if="viewReady && !hasErrors" id="premier-contacts-contacts-content">\r\n                <div class="page-title-header">\r\n                    <h1 class="page-title">{{viewModel.stringTable.pageTitle}}<\/h1>\r\n                <\/div>\r\n                <div class="row">\r\n                    <div class="col-md-12 col-sm-12">\r\n                        <div class="section">\r\n                            <div class="section-header">\r\n                                <h2 class="text-title">{{viewModel.stringTable.createRequestHeading}}<\/h2>\r\n                            <\/div>\r\n                            <div class="section-body">\r\n                                <p>{{viewModel.stringTable.createRequestCaption}}<\/p>\r\n                                <a ng-if="entitlementsChecked && hasEntitlements" id="premier-contacts-link-new-support-request-authorized" href="" ng-click="newIncident(incidentsViewModel.newSupportRequestLink.link.linkUrl)"><span class="win-icon win-icon-Add"><\/span> {{incidentsViewModel.newSupportRequestLink.link.linkText}}<\/a>\r\n                                <div ng-if="entitlementsChecked && !hasEntitlements">\r\n                                    <a href="" id="premier-contacts-link-new-support-request-unauthorized" ng-click="addAccessId(incidentsViewModel.registerAccessIdLink.link.linkUrl)"><span class="win-icon win-icon-Add"><\/span> {{incidentsViewModel.newSupportRequestLink.link.linkText}}<\/a>\r\n                                    <p class="text-body no-incidents-message">{{viewModel.stringTable.userHasNoAccessId}}&nbsp;<a href="" ng-click="addAccessId(incidentsViewModel.registerAccessIdLink.link.linkUrl)">{{incidentsViewModel.registerAccessIdLink.link.linkText}}<\/a><\/p>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class="col-md-12 col-sm-12">\r\n                        <div class="section contacts-section">\r\n                            <div class="section-header">\r\n                                <h2 class="text-title">{{viewModel.stringTable.criticalIssuesHeading}}<\/h2>\r\n                            <\/div>\r\n                            <div class="section-body">\r\n                                <p>{{viewModel.stringTable.criticalIssuesCaption}}<\/p>\r\n                                <p class="text-subheader">{{defaultPhoneNumber}}<\/p>\r\n                                <div class="contact-section">\r\n                                    <a href="" id="premier-contacts-link-show-regions" ng-click="showRegions = !showRegions" aria-expanded="{{showRegions}}" role="button">\r\n                                        {{viewModel.stringTable.otherRegionsCaption}}&nbsp;&nbsp;\r\n                                        <span ng-if="!showRegions" class="win-icon win-icon-ChevronDown"><\/span>\r\n                                        <span ng-if="showRegions" class="win-icon win-icon-ChevronUp"><\/span>\r\n                                    <\/a>\r\n                                    <div ng-if="showRegions" class="contact-section-country">\r\n                                        <div ng-if="!regionalContactsError">\r\n                                            <form role="form">\r\n                                                <div class="form-group contacts-form">\r\n                                                    <label for="contacts-region-selector" class="text-base">{{viewModel.stringTable.selectCountryRegionCaption}}<\/label>\r\n                                                    <select id="contacts-region-selector" aria-label="{{viewModel.stringTable.selectCountryRegionCaption}}" class="form-control" ng-options="contact as contact.regionName for contact in regionalContacts track by contact.regionName" ng-model="selectedRegionalContact" ng-change="newRegionSelected()" focus-on="regionSelectionFocus">\r\n                                                        <option value="">{{viewModel.byPhoneDropDownLabel}}<\/option>\r\n                                                    <\/select>\r\n                                                    <div class="contacts-list" ng-repeat="contact in selectedRegionalContact.phoneContacts">\r\n                                                        <div class="label">{{contact.label}}<\/div>\r\n                                                        <div ng-repeat="phoneNumber in contact.phoneNumbers">\r\n                                                            <div class="phone-number">{{phoneNumber.number}}<\/div>\r\n                                                            <div class="sla">{{phoneNumber.serviceLevelAgreement}}<\/div>\r\n                                                        <\/div>\r\n                                                    <\/div>\r\n                                                <\/div>\r\n                                            <\/form>\r\n                                        <\/div>\r\n                                        <div ng-if="regionalContactsError">\r\n                                            <p class="win-color-fg-alert">{{viewModel.stringTable.errorRetrievingContacts}}<\/p>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <div class="contact-section" ng-if="premierContactsError || (premierContacts && premierContacts.length && premierContacts.length > 0)">\r\n                                    <a id="premier-contacts-link-show-alternate-contacts" href="" ng-click="showAltContacts = !showAltContacts" aria-expanded="{{showAltContacts}}" role="button">\r\n                                        {{viewModel.stringTable.alternateContactsCaption}}&nbsp;&nbsp;\r\n                                        <span ng-if="!showAltContacts" class="win-icon win-icon-ChevronDown"><\/span>\r\n                                        <span ng-if="showAltContacts" class="win-icon win-icon-ChevronUp"><\/span>\r\n                                    <\/a>\r\n                                    <div ng-if="showAltContacts">\r\n                                        <div ng-if="!premierContactsError" class="contacts-list section-body" ng-repeat="contact in premierContacts">\r\n                                            <div class="label">{{contact.label}}<\/div>\r\n                                            <div ng-repeat="phoneNumber in contact.phoneNumbers">\r\n                                                <div class="phone-number">{{phoneNumber.number}}<\/div>\r\n                                                <div class="sla">{{phoneNumber.serviceLevelAgreement}}<\/div>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                        <div ng-if="premierContactsError">\r\n                                            <p class="win-color-fg-alert">{{viewModel.stringTable.errorRetrievingContacts}}<\/p>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class="row">\r\n                    <div class="col-md-24 col-sm-24">\r\n                        <div class="section">\r\n                            <div class="section-header">\r\n                                <h2 class="text-title">{{viewModel.stringTable.connectWithTamCaption}}<\/h2>\r\n                            <\/div>\r\n                            <div class="section-body">\r\n                                <p class="text">{{viewModel.stringTable.contactAdminForTamInfo}}<\/p>\r\n                            <\/div>                         \r\n                        <\/div>                      \r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/premierStandardModal.html",'<div id="premierStandardModalContent" role="dialog" aria-label="{{messageContent.title}}">\r\n    <div ng-if="messageContent.title" class="modal-header">\r\n        <h4 class="modal-title text-subtitle">\r\n            {{messageContent.title}}\r\n        <\/h4>\r\n    <\/div>\r\n    <div class="modal-body">\r\n        <div class="text-body message" ng-bind-html="messageContent.message"><\/div>\r\n    <\/div>\r\n    <div class="modal-footer">\r\n        <div class="btn-group">\r\n            <button autofocus aria-label="{{messageContent.message}} {{messageContent.dismissCaption}}" id="{{messageContent.id}}" class="btn btn-primary sp-premier-standard-modal-button-width" name="acknowledgeSuccess" type="button" ng-click="dismiss()">{{messageContent.dismissCaption}}<\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/registerForm.html",'<form role="form" class="register-form" novalidate="novalidate" ng-submit="submitRegisterForm(registerForm.accessId, registerForm.password)">\r\n    <div class="form-group">\r\n        <label class="text-base required" for="accessId" id="accessIdLabel">{{accountView.accessIdFieldLabel}}<\/label>\r\n        <input type="text" aria-labelledby="accessIdLabel" aria-describedby="accessIdValidationError" focus-on="accessIdFocus" ng-class="{\'form-control\':true,\'has-error\':accessIdError != null ? accessIdError : false}" value="" id="accessId" ng-model="registerForm.accessId" aria-placeholder="{{accountView.accessIdFieldHelpText}}" placeholder="{{accountView.accessIdFieldHelpText}}" autocomplete="off" required />\r\n        <p id="accessIdValidationError" class="register-form-validation-error" ng-if="accessIdError">{{accountView.accessIdFieldValidationError}}<\/p>\r\n    <\/div>\r\n    <div class="form-group">\r\n        <label class="text-base required" for="password" id="passwordIdLabel">{{accountView.passwordFieldLabel}}<\/label>\r\n        <input type="password" focus-on="passwordFocus" aria-labelledby="passwordIdLabel" aria-describedby="passwordValidationError" ng-class="{\'form-control\':true,\'has-error\':passwordError != null ? passwordError : false}" id="password" ng-model="registerForm.password" aria-placeholder="{{accountView.passwordFieldHelpText}}" placeholder="{{accountView.passwordFieldHelpText}}" autocomplete="off" required />\r\n        <p id="passwordValidationError" class="register-form-validation-error" ng-if="passwordError">{{accountView.passwordFieldValidationError}}<\/p>\r\n    <\/div>\r\n    <div class="form-group">\r\n        <button class="btn btn-primary" id="premier-access-button-register" type="submit">{{accountView.addAccessIdButtonCaption}}<\/button>\r\n    <\/div>\r\n<\/form>');n.put("/PartialViews/Commercial/registerMessageBoxes.html",'<div ng-if="registerState === registerStates.succeeded">\r\n    <div class="modal-body">\r\n        <div class="register-margin">\r\n            <span>{{successAcknowledgeText1}}<\/span>\r\n        <\/div>\r\n        <div class="register-margin">\r\n            <span>{{successAcknowledgeText2}}<\/span>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="modal-footer">\r\n        <div class="btn-group">\r\n            <button class="btn btn-primary" name="acknowledgeSuccess" type="button" ng-click="closeRegisterForm()">{{okText}}<\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<div ng-if="registerState === registerStates.error">\r\n    <div class="modal-body">\r\n        <div class="register-margin">\r\n            <span>{{failureMessage1}}<\/span>\r\n        <\/div>\r\n        <div class="register-margin">\r\n            <span>{{failureMessage2}}<\/span>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="modal-footer">\r\n        <div class="btn-group">\r\n            <button class="btn btn-primary" name="retryRegister" type="button" ng-click="retryRegister()">{{retryText}}<\/button>\r\n            <button class="btn" name="CancelRegister" type="button" ng-click="dismissRegisterForm()">{{cancelText}}<\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Commercial/removeAccessIdForm.html",'<form role="form" class="remove-form" ng-submit="submitRemoveForm()">\r\n    <div object-table class="contracts-table" bind-object="tableContracts" table-config="tableConfig" element-changed-function="elementChanged(element, propName, oldVal, newVal)" format-function="formatData(value, format)"><\/div>\r\n    <p class="spacer-md-top text">{{accountView.ContactToRemoveAccessIdMessage}}<\/p>\r\n<\/form>');n.put("/PartialViews/Common/Breadcrumbs.html",'<div class="breadcrumb-container">\r\n    <ol class="breadcrumb" ng-show="breadcrumbs && breadcrumbs.length">\r\n        <li ng-repeat="breadcrumb in breadcrumbs">\r\n            <a id="breadcrum{{$index}}" ng-if="$index != breadcrumbs.length - 1" ng-href="{{breadcrumb.url}}">{{breadcrumb.text}}<\/a>\r\n            <span ng-if="$index == breadcrumbs.length - 1">{{breadcrumb.text}}<\/span>\r\n        <\/li>\r\n    <\/ol>\r\n<\/div>');n.put("/PartialViews/Common/LanguageBar.html",'<div class="btn-group dropup" ng-controller="LanguageController" ng-show="{{languages !== null}}">\r\n    <button id="language-menu" type="button" class="btn btn-splash" data-toggle="dropdown">\r\n        <span class="win-icon win-icon-Globe"><\/span>\r\n        {{currentLanguage}}\r\n        <span class="caret"><\/span>\r\n    <\/button>\r\n    <ul class="dropdown-menu" role="menu" aria-labelledby="language-menu">\r\n        <li role="presentation" ng-repeat="language in languages | objectOrderBy:\'displayName\'" ng-if="language.displayName != currentLanguage">\r\n            <a role="menuitem" ng-attr-id="{{\'language-\'+language.locale}}" tabindex="-1" href="" ng-click="setLanguage(language);">{{language.displayName}}<\/a>\r\n        <\/li>\r\n    <\/ul>\r\n<\/div>');n.put("/PartialViews/Common/MessageBanner.html",'<div class="alert-band">\r\n    <div ng-if="messages.length">\r\n        <div ng-repeat="message in messages">\r\n            <div>\r\n                <!--extra div for working around wedecs.js issue-->\r\n                <div class="alert alert-dismissible fade in" ng-class="{\'alert-danger\': message.type === \'error\', \'alert-warning\': message.type === \'warning\', \'alert-info\' : (message.type == \'information\' || message.type == \'info\'), \'with-icon\' : hasIcon}" role="alert">\r\n                    <div ng-class="{\'container\': isFullWidth}">\r\n                        <button id="close-button-{{message.name || name}}" type="button" class="close" data-dismiss="alert" aria-label="{{view.closeAriaLabel}}" ng-click="dismissMessage(message)">\r\n                            <span aria-hidden="true"><i class="win-icon win-icon-Cancel"><\/i><\/span>\r\n                        <\/button>\r\n                        <span class="alert-icon" ng-if="hasIcon"><i class="win-icon" ng-class="{\'win-icon-Error\' : message.type === \'error\', \'win-icon-Warning\' : message.type === \'warning\', \'win-icon-Info\' : message.type == \'information\'}"><\/i><\/span>\r\n                        <div class="row">\r\n                            <div class="alert-title col-lg-16 col-md-18">{{message.title}}<\/div>\r\n                            <div class="col-xs-22 col-sm-23">\r\n                                <p ng-bind-html="message.body"><\/p>\r\n                            <\/div>\r\n                            <div class="error-content text-center" ng-if="message.cv">\r\n                                <p>{{view.errorCaptionLabel | compassFormat: {\'cv-code\': message.cv} }}<\/p>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/mwfAlert.html",'<div class="m-alert f-fixed" ng-class="{\'f-information\': isInformation, \'f-error\': isError, \'f-warning\': isWarning}" role="alert">\r\n    <div>\r\n        <div aria-hidden="true" ng-show="hasIcon" class="c-glyph" ng-class="{\'glyph-info\': isInformation, \'glyph-incident-triangle\': isError, \'glyph-warning\': isWarning}"><\/div>\r\n        <h1 ng-show="!!heading" class="c-heading">{{heading}}<\/h1>\r\n        <p class="c-paragraph">\r\n            {{message}}\r\n        <\/p>\r\n\r\n        <!-- The below is needed to give the error messages more context. MAS-3.3.3. Reads the label of element associated with alert -->\r\n        <!-- Style hides content visually, since this is only need context needed for assistive technologies -->\r\n        <p class="x-screen-reader">{{labelOfControl}}<\/p>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/mwfF1footer.html",'<div class="f1-footer" ng-controller="F1FooterController">\r\n    <!-- Needed to span the full page -->\r\n    <div data-grid="container" class="container">\r\n        <div class="row">\r\n            <section data-grid="col-4" class="col-sm-24 col-md-8 section remove-header-rule" ng-repeat="section in viewlinkfarm.sectionList">\r\n                <div class="section-header dropdown-no-toggle-header collapsed">\r\n                    <h3 class="text-base">{{section.header}}<\/h3>\r\n                <\/div>\r\n                <div class="section-header dropdown-toggle-header collapsed">\r\n                    <h3 class="text-base">{{section.header}}<a href="" aria-label="{{section.header}}" aria-expanded="false" role="button" data-toggle="collapse" class="text-title pull-right dropdown-toggle win-icon" data-target="#link-section-footer-{{$index}}"><\/a><\/h3>\r\n                <\/div>\r\n                <ul id="link-section-footer-{{$index}}" class="list-unstyled section-body collapse landing-section-content c-list f-bare">\r\n                    <li ng-repeat="link in section.links"><a id="f1footer-{{link.htmlId}}" class="c-hyperlink" ng-href="{{link.linkUrl}}" target="_self">{{link.linkText}}<\/a><\/li>\r\n                <\/ul>\r\n            <\/section>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/mwfLocale.html",'<div id="language-selector" class="mwf-language-selector-section" ng-controller="LanguageController" ng-show="displayLanguageSelector">\r\n    <div data-grid="container pad-12x">\r\n        <div class="x-clearfix language-selector-header" data-grid="col-12">\r\n            <h3 tabindex="-1" id="language-selector-title" class="c-heading-5 x-float-left">{{ languageSelectorTitle }}<\/h3>\r\n            <button aria-label="{{ languageSelectorCloseAltText }}" id="close-button" role="button" tabindex="0" class="c-button f-lightweight x-float-right" ng-click="closeClick()">\r\n                <span class="c-glyph glyph-cancel"><\/span>\r\n            <\/button>\r\n        <\/div>\r\n        <div data-grid="col-3 stack-1" ng-repeat="column in columns">\r\n            <div ng-repeat="language in column track by $index">\r\n                <a ng-attr-id="{{\'language-\'+language.locale}}" href="" ng-click="setLanguage(language);">{{language.displayName}}<\/a>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/ObjectTable.html",'<div class="object-table">\r\n    <div ng-if="!bindObject">\r\n        <div ng-if="!(tableconfig.disablespinner && tableconfig.disablespinner=true)" class="spinner-container spacer-20-top">\r\n            <div loading-spinner data-timeout="30000" data-delay="2000"><\/div>\r\n        <\/div>\r\n        <div class="spinner-label" ng-if="tableConfig && tableConfig.loadingSpinnerMessage">{{tableConfig.loadingSpinnerMessage}}<\/div>\r\n    <\/div>\r\n    <div ng-if="bindObject && getNumberOfVisibleObject() == 0 && tableConfig && tableConfig.emptyTableMessage" class="">\r\n        <p class="text-align-center spacer-84-top">{{tableConfig.emptyTableMessage}}<\/p>\r\n    <\/div>\r\n    <div ng-if="bindObject || (!tableConfig.emptyTableMessage && getNumberOfVisibleObject()==0)" class="table-responsive">\r\n        <table ng-class="{\'table\': true, \'sortable\': tableConfig.disableSorting}">\r\n            <thead role="row">\r\n                <tr>\r\n                    <th ng-repeat="column in tableConfig.columns |orderBy:defaultColumnOrder" ng-if="column.defaultColumn">\r\n                        <a ng-if="!tableConfig.disableSorting" id="{{column.propertyName}}-header" href="" class="sortable-column-header" ng-class="column.style" ng-click="sortColumn($index)">{{column.columnName}}<\/a>\r\n                        <span ng-if="tableConfig.disableSorting" id="{{column.propertyName}}-header">{{column.columnName}}<\/span>\r\n                    <\/th>\r\n                <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n                <tr ng-repeat="(rowIndex, object) in bindObject" ng-if="isObjectVisible(object)">\r\n                    <td ng-repeat="column in tableConfig.columns |orderBy:defaultColumnOrder" ng-if="column.defaultColumn">\r\n                        <div class="incident-details" ng-if="!column.linkTemplate && !column.checkBoxControl && !column.eMail">{{getObjectProperty(object, column)}}<\/div>\r\n                        <a id="{{column.propertyName}}-{{rowIndex}}" href="" ng-if="column.linkTemplate" ng-click="linkPropertyClicked(object, column)">{{getObjectProperty(object, column)}}<\/a>\r\n                        <input id="{{column.propertyName}}-{{rowIndex}}" ng-if="column.checkBoxControl" type="checkbox" ng-click="checkboxPropertyClicked(object, column)" ng-checked="getObjectProperty(object, column)" />\r\n                        <a id="{{column.propertyName}}-{{rowIndex}}" class="incident-email" ng-if="column.eMail" ng-href="{{\'mailto:\' + getObjectProperty(object, {propertyName:column.eMail})}}">{{getObjectProperty(object, {propertyName:column.eMailCaption})}}<\/a>\r\n                    <\/td>\r\n                <\/tr>\r\n            <\/tbody>\r\n        <\/table>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/SelfHelpAccordian.html",'<div class="ms-products ms-productpages section section-no-margin remove-header-rule no-gutter">\r\n    <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">\r\n        <div class="panel panel-default" ng-repeat="section in categories | filter: section.contentLocation=\'main-content\'">\r\n            <div id="product-hub-panel-heading-{{$index}}-{{section.sectionId}}" class="panel-heading" role="tab">\r\n                <div id="section-header-{{$index}}-{{section.sectionId}}" class="panel-title section-header pp-section-header ms-product-list">\r\n                    <div role="button" id="products-section-category-header-{{section.sectionId}}" ng-class="{false:\'collapsed\'}[{{section.sectionId==categoryParam}}]" class="pp-category-title" data-toggle="collapse" data-parent="#accordion" data-target="#products-right-section-{{$index}}" aria-expanded="{{section.sectionId==categoryParam}}" aria-controls="#products-right-section-{{$index}}">\r\n                        <span class="win-icon" aria-hidden="true" ng-if="section.sectionImage">{{section.sectionImage| icon}}<\/span>\r\n                        <span class="product-hub-name">{{section.header}}<\/span>\r\n                        <span class="text-title pull-right section-toggle win-icon product-hub-chevron-icon" aria-hidden="true"><\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div id="products-right-section-{{$index}}" ng-class="{true:\'panel-collapse collapse in\', false:\'panel-collapse collapse\'}[{{section.sectionId==categoryParam}}]" role="tabpanel" aria-labelledby="product-hub-panel-heading-{{$index}}-{{section.sectionId}}">\r\n                <ul class="list-unstyled product-hub-section text-body">\r\n                    <li ng-repeat="link in section.pageLinks.links">\r\n                        <a id="ph-self-help-links-{{section.sectionId}}-{{link.htmlId}}" href="{{link.linkUrl}}">{{link.linkText}}<\/a>\r\n                    <\/li>\r\n                <\/ul>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Common/SignIn.html",'<div class="spinner-container spacer-84-top">\r\n    <div loading-spinner data-timeout="30000" data-delay="250"><\/div>\r\n<\/div>');n.put("/PartialViews/Common/SignOut.html",'<div class="spinner-container spacer-84-top">\r\n    <div loading-spinner data-timeout="30000" data-delay="250"><\/div>\r\n<\/div>');n.put("/PartialViews/Common/SilentAuth.html",'<p>Return to: <a href="https://support.microsoft.com">support.microsoft.com<\/a><\/p>');n.put("/PartialViews/Feedback/FeedbackContainer.html",'<!-- FeedbackController must be instantiated on a form directive for it to have access to $scope.feedback.$setPristine(); -->\r\n<form class="btn-group dropup" ng-controller="FeedbackController" name="feedback" ng-submit="feedbackWizard.submit(feedback.$valid)" novalidate>\r\n    <div>\r\n        <button type="button" class="btn btn-splash" ng-click="feedbackWizard.toggle();">\r\n            <span class="win-icon win-icon-ChatBubbles"><\/span>\r\n            {{feedbackText.linkTitle}}\r\n        <\/button>\r\n    <\/div>\r\n    <div id="feedback-wizard" ng-show="feedbackWizard.show" ng-include="\'/PartialViews/Feedback/FeedbackForm.html\'">\r\n    <\/div>\r\n<\/form>');n.put("/PartialViews/Feedback/FeedbackForm.html",'<div id="feedback-form">\r\n    <h3>\r\n        {{feedbackText.Header}}\r\n        <a href="" ng-click="feedbackWizard.toggle();">\r\n            <span class="feedback-close">&#x2715;<\/span>\r\n        <\/a>\r\n    <\/h3>\r\n    <div class="form-group feedback-input-type">\r\n        <input type="radio" ng-model="feedbackWizard.type" value="suggestion" /> {{feedbackText.suggestText}}\r\n        <input type="radio" ng-model="feedbackWizard.type" value="like" /> {{feedbackText.likeText}}\r\n        <input type="radio" ng-model="feedbackWizard.type" value="dislike" /> {{feedbackText.dislikeText}}\r\n    <\/div>\r\n    <div class="form-group feedback-input-box" ng-class="{ \'has-error\' : feedback.comment.$invalid && !feedback.comment.$pristine}">\r\n        <textarea class="feedback-box" name="comment" ng-model="feedbackWizard.comment" ng-minlength="1" ng-maxlength="400" ng-attr-placeholder="{{feedbackText.messagePlaceholderText}}" required><\/textarea>\r\n        <p ng-show="feedback.comment.$error.required" class="help-block">{{feedbackText.commentRequiredText}}<\/p>\r\n        <p ng-show="feedback.comment.$error.maxlength" class="help-block">{{feedbackText.commentTooLongText}}<\/p>\r\n    <\/div>\r\n    <input id="feedback-submit" type="submit" value="{{feedbackText.sendButtonText}}" />\r\n<\/div>');n.put("/PartialViews/FileExchange/fileExchangeConfirmationModal.html",'<div class="modal-content">\r\n    <div class="modal-header">\r\n        <h1 class="modal-title text-subtitle">{{view.title}}<\/h1>\r\n    <\/div>\r\n    <div class="modal-body">\r\n        <p>\r\n            <access-message data-message="{{view.description}}"><\/access-message>\r\n        <\/p>\r\n    <\/div>\r\n    <div ng-if="view.showCV" class="spacer-20-top text-center">\r\n        <span class="text-muted">{{view.cvPrefix}} {{view.cv}}<\/span>\r\n    <\/div>\r\n    <div class="modal-footer">\r\n        <div class="btn-group">\r\n            <button id="vac-reset-cancel" ng-if="!view.hideCancel" class="btn" ng-click="cancel()">{{view.cancelButton}}<\/button>\r\n            <button id="vac-reset-confirmation" class="btn btn-primary" ng-click="confirm()">{{view.confirmButton}}<\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/FileExchange/Index.html",'<div class="file-exchange">\r\n    <div class="spinner-container" ng-if="isPageLoadInProgress">\r\n        <div loading-spinner data-timeout="30000" data-delay="500" data-message="FileExchangePageLoadTimeout"><\/div>\r\n    <\/div>\r\n    <div ng-if="!isPageLoadInProgress">\r\n        <div class="container">\r\n            <div class="page-header">\r\n                <h1 class="text-header">{{view.pageTitle}}<\/h1>\r\n            <\/div>\r\n            <section class="col-xs-24">\r\n                <header>\r\n                    <div class="row file-list-section">\r\n                        <div class="left-panel pull-left col-xs-8">\r\n                            <div>\r\n                                <div class="win-icon icon span-align-middle pull-left">{{view.filesListSectionIcon | icon}}<\/div>\r\n                                <div class="span-align-middle">\r\n                                    <div class="text-title">{{view.filesListSectionHeader}}<\/div>\r\n                                    <span class="text-body file-count-message">{{filesListCountMessage}}<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class="right-panel pull-right">\r\n                            <button id="file-exchange-upload-files"\r\n                               class="item btn-link"\r\n                               ngf-select\r\n                               ng-model="fileUpload.selectedFile"\r\n                               ngf-multiple="true"\r\n                               ngf-change="uploadFiles($files, $file, $newFiles, $duplicateFiles, $invalidFiles, $event)"\r\n                               ngf-keep="false"\r\n                               ng-disabled="!canUpload">\r\n                                <span class="win-icon icon span-align-middle">{{view.addFileIcon | icon}}<\/span>\r\n                                <span class="span-align-middle">{{view.addFileDisplayText}}<\/span>\r\n                            <\/button>\r\n                            <button id="file-exchange-download"\r\n                                    ng-disabled="disableDownloadOrDelete() || !canDownload"\r\n                                    file-exchange-download\r\n                                    location-change-by-download="locationChangeByDownload"\r\n                                    data-selected-index="{{selectedIndex}}"\r\n                                    data-files="files"\r\n                                    data-error-state="{{config.fileState.error}}"\r\n                                    data-wid="{{id}}"\r\n                                    data-show-error-message="showConnectionErrorMessageBox()"\r\n                                    data-download-anchor-id="{{hiddenAnchorId}}"\r\n                                    class="item btn-link">\r\n                                <span class="win-icon icon span-align-middle">{{view.downloadFileIcon | icon}}<\/span>\r\n                                <span class="span-align-middle">{{view.downloadFileDisplayText}}<\/span>\r\n                            <\/button>\r\n                            <a id="{{hiddenAnchorId}}" ng-hide="true"><\/a>\r\n                            <button id="file-exchange-delete-top"\r\n                                    ng-disabled="disableDownloadOrDelete() || !canDelete"\r\n                                    ng-click="deleteFile()" class="item btn-link">\r\n                                <span class="win-icon icon span-align-middle">{{view.deleteFileIcon | icon}}<\/span>\r\n                                <span class="span-align-middle">{{view.deleteFileDisplayText}}<\/span>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/header>\r\n                <div class="row table-responsive">\r\n                    <table role="grid" class="table table-hover">\r\n                        <thead>\r\n                            <tr ng-if="isAuthenticated && isAuthorized">\r\n                                <th class="select-column">\r\n                                    <span><\/span>\r\n                                <\/th>\r\n                                <th class="col-xs-6 sortable"\r\n                                    id="file-exchange-header-name"\r\n                                    role="columnheader"\r\n                                    ng-click="sortBy(\'fileName\')"\r\n                                    ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'fileName\'}">\r\n                                    <span>{{view.columnHeaderName}}<\/span>\r\n                                <\/th>\r\n                                <th class="col-xs-6 sortable"\r\n                                    id="file-exchange-header-sender"\r\n                                    role="columnheader" ng-click="sortBy(\'uploadedBy\')"\r\n                                    ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'uploadedBy\'}">\r\n                                    <span>{{view.columnHeaderSender}}<\/span>\r\n                                <\/th>\r\n                                <th class="col-xs-6 sortable"\r\n                                    id="file-exchange-header-date"\r\n                                    role="columnheader"\r\n                                    ng-click="sortBy(\'updatedOn\')"\r\n                                    ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'updatedOn\'}">\r\n                                    <span>{{view.columnHeaderDate}}<\/span>\r\n                                <\/th>\r\n                                <th class="col-xs-6 sortable file-size"\r\n                                    id="file-exchange-header-size"\r\n                                    role="columnheader"\r\n                                    ng-click="sortBy(\'fileSizeInBytes\')"\r\n                                    ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'fileSizeInBytes\'}">\r\n                                    <span>{{view.columnHeaderSize}}<\/span>\r\n                                <\/th>\r\n                            <\/tr>\r\n                        <\/thead>\r\n                        <tbody>\r\n                            <tr ng-if="files.length > 0"\r\n                                id="file-exchange-file-row-{{$index}}"\r\n                                aria-selected="{{isSelected($index)}}"\r\n                                ng-click="selectFile($index)"\r\n                                ng-class="{\'selected-row\': isSelected($index) , \'error-row\' : file.state == config.fileState.error ,\'hover\' : (file.state != config.fileState.error && !isSelected($index))}"\r\n                                ng-repeat="file in files">\r\n                                <td class="select-column">\r\n                                    <span ng-show="isSelected($index) && !isInErrorState(file)" class="win-icon">{{view.checkMarkIcon | icon}}<\/span>\r\n                                    <span ng-show="isInErrorState(file)" class="win-icon">{{view.errocIcon | icon}}<\/span>\r\n                                <\/td>\r\n\r\n                                <td colspan="3" class="text-body col-xs-24" ng-if="isInErrorState(file)">\r\n                                    {{getFormatedUploadFailureMessage(file.fileName)}}\r\n                                <\/td>\r\n\r\n                                <td class="col-xs-6"\r\n                                    ng-if="!isInErrorState(file) && (isInPendingState(file) || (file.isLocal && !isAuthenticatedAndAuthorized()))">\r\n                                    <span class="text-body">{{file.fileName}}<\/span>\r\n                                    <span loading-spinner data-indeterminate="false" class="upload-progress" type="bar" data-progress-percentage="file.uploadStatusInPercentage" row-selected="{{isSelected($index)? \'true\' : \'false\'}}"><\/span>\r\n                                    <span class="text-body">{{file.uploadProgressMessage}}<\/span>\r\n                                <\/td>\r\n                                <td colspan="4"\r\n                                    ng-if="!isInErrorState(file) && (isInPendingState(file) || (file.isLocal && !isAuthenticatedAndAuthorized()))"><\/td>\r\n\r\n                                <td class="text-body" ng-if="!isInErrorState(file) && !isInPendingState(file) && isAuthenticatedAndAuthorized()">{{file.fileName}}<\/td>\r\n                                <td class="text-body" ng-if="!isInErrorState(file) && !isInPendingState(file) && isAuthenticatedAndAuthorized()">{{getUploadedBy(file.uploadedBy)}}<\/td>\r\n                                <td class="text-body" ng-if="!isInErrorState(file) && !isInPendingState(file) && isAuthenticatedAndAuthorized()">{{file.updatedOn | date :\'short\'}}<\/td>\r\n                                <td class="text-body file-size" ng-if="!isInErrorState(file) && !isInPendingState(file) && isAuthenticatedAndAuthorized()">{{file.fileSizeInBytes | sizeFormatFilter : view.fileSizeFormat}}<\/td>\r\n\r\n                                <td class="text-body file-size" ng-if="isInErrorState(file)">\r\n                                    <div>\r\n                                        <a id="file-exchange-retry-selector"\r\n                                           ng-if="!file.isLocal"\r\n                                           class="btn btn-outline"\r\n                                           href=""\r\n                                           ngf-select\r\n                                           ng-model="fileUpload.retriedFile"\r\n                                           ngf-multiple="true"\r\n                                           ngf-change="uploadFiles($files, $file, $newFiles, $duplicateFiles, $invalidFiles, $event)"\r\n                                           ngf-keep="false" role="button">\r\n                                            {{view.uploadFailureRetryButtonText}}\r\n                                        <\/a>\r\n                                        <button id="file-exchange-upload-retry"\r\n                                                ng-if="file.isLocal"\r\n                                                ng-click="retryUpload(file)"\r\n                                                class="btn btn-outline">\r\n                                            {{view.uploadFailureRetryButtonText}}\r\n                                        <\/button>\r\n                                        <button id="file-exchange-inline-delete"\r\n                                                ng-if="canDelete"\r\n                                                ng-click="deleteFile($index)"\r\n                                                class="btn btn-outline">\r\n                                            {{view.uploadFailureDeleteButtonText}}\r\n                                        <\/button>\r\n                                    <\/div>\r\n                                <\/td>\r\n                            <\/tr>\r\n                        <\/tbody>\r\n                    <\/table>\r\n                    <div aria-live="assertive">\r\n                        <div class="authorization-message">\r\n                            <div class="text-body">\r\n                                <access-message ng-if="accessMessage"\r\n                                                data-message="{{accessMessage}}">\r\n                                <\/access-message>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div ng-if="!isAuthenticated" class="authorization-message">\r\n\r\n                        <\/div>\r\n                        <div class="authorization-message" ng-if="isAuthenticated && !isAuthorized">\r\n                            <div class="text-body">\r\n                                <access-message data-message="{{LimitedAccessMessage}}"><\/access-message>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class="authorization-message" ng-if="isAuthenticatedAndAuthorized() && files.length == 0">\r\n                            <div class="text-body">\r\n                                <access-message data-message="{{GetStartedMessage}}"><\/access-message>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div ng-if="serviceRequestFailed" class="authorization-message">\r\n                            <div class="win-color-fg-alert text-base">{{serviceCallFailureMessage}}<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/section>\r\n            <div class="sr-only" aria-live="assertive">\r\n                <div ng-if="numUploadFiles === uploadFileMessages.length" ng-repeat="uploadFileMessage in uploadFileMessages">{{uploadFileMessage}}<\/div>\r\n            <\/div>\r\n            <div class="sr-only" id="remove-file-message" aria-live="assertive">\r\n                {{deleteFileMessage}}\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Fre/Index.html",'<div class="fre-hololens">\r\n    <header>\r\n        <h1>{{fre.view.header}}<\/h1>\r\n    <\/header>\r\n    <div class="section" ng-repeat="section in fre.view.sections track by $index" ng-style="{\'background-image\' : \'url({{section.image.url}})\'}">\r\n        <div class="overlay">\r\n            <h3 class="section-title">{{section.title}}<\/h3>\r\n            <p class="section-body">{{section.description}}<\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <footer>\r\n        <h5 class="title">{{fre.view.footer.title}}<\/h5>\r\n        <hr />\r\n        <div class="hl-f1-footer">\r\n            <div class="link" ng-repeat="link in fre.view.footer.f1 track by $index">\r\n                <a ng-href="{{link.linkUrl}}">{{link.linkText}}<\/a>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="hl-f0-footer">\r\n            <div class="link" ng-repeat="link in fre.view.footer.f0 track by $index">\r\n                <a ng-href="{{link.linkUrl}}">{{link.linkText}}<\/a>\r\n            <\/div>\r\n            <div class="copyright-notice">\r\n                {{fre.view.footer.copyright|compassFormat : { \'c\' : \'&copy;\'} }}\r\n            <\/div>\r\n        <\/div>\r\n    <\/footer>\r\n<\/div>\r\n<style type=text/css>\r\n\r\n    /* Flicker fix for hololens hardware */\r\n    body {\r\n        background-color: #292929;\r\n    }\r\n<\/style>\r\n<div debug="fre"><\/div>');n.put("/PartialViews/HeroSection/HomeHeroIndex.html",'<div class="home-hero" id="home-hero-section" ng-controller="HomeHeroController">\r\n    <section >\r\n        <div class="jumbotron-hero single-col">\r\n            <div class="hero-container hidden-xs">\r\n                <div class="win-color-fg-primary text-align-center text-content-col hero-text first">\r\n                    <h1 class="text-header">{{commonHeroTitle}}<\/h1>\r\n                    <div class="autosuggest" ng-repeat="displaySize in [\'fullSize\']" ng-include="\'/PartialViews/HeroSection/Treatment0.html\'" />\r\n                <\/div>\r\n                <div class="background win-color-bg-10 hero-extend-bg"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="hidden-sm hidden-md hidden-lg hero-content hero-content-exp">\r\n            <div class="container">\r\n                <h1 class="text-header text-align-center spacer-32-bottom">{{commonHeroTitle}}<\/h1>\r\n                <div class="spacer-16-top spacer-48-bottom" ng-repeat="displaySize in [\'mobile\']" ng-include="\'/PartialViews/HeroSection/Treatment0.html\'"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n<\/div>');n.put("/PartialViews/HeroSection/Treatment0.html",'<div class="search-container">\r\n    <form class="search-form" novalidate role="form" ng-submit="primarySearchClicked();" >\r\n        <div class="has-feedback">\r\n            <input class="form-control search-text" id="search-text-hero-{{displaySize}}" type="text" ng-attr-placeholder="{{searchPlaceholder}}" ng-model="formData.userQuery" autocomplete="off" aria-label="{{searchPlaceholder}}"/>\r\n            <span class="win-icon primary-search form-control-feedback" type="button" ng-click="primarySearchClicked();" tabindex="-1"> &#xE721; <\/span>\r\n            <div class="auto-suggest-results"\r\n                 auto-suggest\r\n                 data-template-url="/PartialViews/Search/BingAutoSuggest.html"\r\n                 data-input-source="#search-text-hero-{{displaySize}}"\r\n                 data-input-query="formData.userQuery"\r\n                 data-selected-suggestion="selectedSuggestion"\r\n                 data-minimum-letters="0"\r\n                 data-telemetry-event-name="AutoSuggestSelected"\r\n                 data-query-model-mapper="getCompleteText(suggestion)"\r\n                 data-query-function="getSuggestions(query)"\r\n                 data-submit-handler="primarySearchClicked()"\r\n                 data-suggestion-html-generator="generateSuggestionHtml(query, suggestion)">\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/HeroSection/Treatment1.html",'<div ng-if="!showGetHelpOption" class="va-button">\r\n    <p id="va-description" class="hero-section-description">{{vaDesc}}<\/p>\r\n    <button ng-attr-id="{{buttonId}}-{{displaySize}}" data-bi-id="{{buttonId}}" ng-click="openVA()" class="btn btn-primary" aria-describedby="va-description">\r\n        {{buttonText}}\r\n    <\/button>\r\n<\/div>\r\n<div ng-if="showGetHelpOption" class="va-button">\r\n    <p id="gethelp-description-{{displaySize}}" class="hero-section-description">{{getHelpDesc}}<\/p>\r\n    <button ng-attr-id="{{buttonId}}-{{displaySize}}" data-bi-id="{{buttonId}}" ng-click="launchGetHelpApp()" class="btn btn-primary" aria-describedby="gethelp-description-{{displaySize}}">\r\n        {{buttonText}}\r\n    <\/button>\r\n    <p class="hero-section-alt-description">\r\n        <a ng-attr-id="{{altId}}-{{displaySize}}" data-bi-id="{{altId}}" ng-click="openVA()" role="button" aria-label="{{altText}} {{altDesc}}" href="#">{{altText}}<\/a>\r\n        {{altDesc}}\r\n    <\/p>\r\n<\/div>');n.put("/PartialViews/HeroSection/Treatment2.html",'<div class="search-container">\r\n    <form class="search-form" novalidate role="form" ng-submit="primarySearchClicked();">\r\n        <div class="has-feedback">\r\n            <input class="form-control search-text" id="search-text-hero-t2" type="text" ng-attr-placeholder="{{searchPlaceholder}}" ng-model="formData.userQuery" autocomplete="off" />\r\n            <span class="win-icon primary-search form-control-feedback" type="button" ng-click="primarySearchClicked();" tabindex="-1"> &#xE721; <\/span>\r\n            <div class="auto-suggest-results"\r\n                 auto-suggest\r\n                 data-template-url="/PartialViews/Search/BingAutoSuggest.html"\r\n                 data-input-source="#search-text-hero-t2-{{displaySize}}"\r\n                 data-input-query="formData.userQuery"\r\n                 data-selected-suggestion="selectedSuggestion"\r\n                 data-minimum-letters="0"\r\n                 data-telemetry-event-name="AutoSuggestSelected"\r\n                 data-query-model-mapper="getCompleteText(suggestion)"\r\n                 data-query-function="getSuggestions(query)"\r\n                 data-submit-handler="primarySearchClicked()"\r\n                 data-suggestion-html-generator="generateSuggestionHtml(query, suggestion)">\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/PartialViews/Index.html","<div ng-include=\"'/PartialViews/HeroSection/HomeHeroIndex.html'\">\r\n<\/div>\r\n<div ng-include=\"'/PartialViews/Products/MicrosoftProducts.html'\">\r\n<\/div>\r\n<div ng-include=\"'/PartialViews/LinkFarm/LinkFarm.html'\">\r\n<\/div>");n.put("/PartialViews/Lifecycle/Index.html",'<div class="spinner-container spacer-20-top" ng-if="waitingOnCompass">\r\n    <div loading-spinner data-timeout="30000" data-delay="1000" data-message="LifecycleLandingPageLoadTimeout"><\/div>\r\n<\/div>\r\n<div ng-if="!waitingOnCompass" id="lifecycle-home" class="lifecycle-home">\r\n    <section>\r\n        <div class="jumbotron-hero single-col">\r\n            <div class="hero-container ">\r\n                <div class="win-color-fg-primary  text-align-left spacer-32-top hidden-xs">\r\n                    <div class="row" ng-include="\'/PartialViews/Lifecycle/LifecycleHeroContent.html\'"><\/div>\r\n                <\/div>\r\n                <div class="background"><img class="hero-media-content" alt="{{homePageView.heroSection.altText}}" ng-src="{{homePageView.heroSection.heroImage.url}}"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="hidden-sm hidden-md hidden-lg hero-content">\r\n            <div class="container">\r\n                <div class="spacer-16-top spacer-48-bottom" ng-include="\'/PartialViews/Lifecycle/LifecycleHeroContent.html\'"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n    <div class="clearfix"><\/div>\r\n    <div class="container">\r\n        <section>\r\n            <div class="category-links spacer-12-top">\r\n                <div ng-if="!isLifeSelectIndex" ng-include="\'/PartialViews/common/SelfHelpAccordian.html\'"><\/div>\r\n                <div ng-if="isLifeSelectIndex" ng-include="\'/PartialViews/Lifecycle/LifeSelectIndex.html\'"><\/div>\r\n            <\/div>\r\n        <\/section>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Lifecycle/LifecycleHeroContent.html",'<div class="cols-xs-24 col-sm-12">\r\n    <h1 class="text-header spacer-32-bottom">{{homePageView.heroSection.title}}<\/h1>\r\n    <p class="hero-section-description spacer-32-bottom">{{homePageView.heroSection.description}}<\/p>\r\n    <p class="text-caption spacer-32-bottom" ng-bind-html="homePageView.policyDisclaimerText"><\/p>\r\n    <a href="{{homePageView.heroSection.searchProductLifecycle.linkUrl}}" id="{{homePageView.heroSection.searchProductLifecycle.htmlId}}" class="btn btn-primary spacer-32-top spacer-32-bottom">{{homePageView.heroSection.searchProductLifecycle.linkText}}<\/a>\r\n<\/div>');n.put("/PartialViews/Lifecycle/LifecycleSearch.html",'<div ng-init="reset()">\r\n    <div class="spinner-container spacer-20-top" ng-if="waitingOnCompass">\r\n        <div loading-spinner data-timeout="30000" data-delay="2000" data-message="LifecycleSearchPageLoadTimeout"><\/div>\r\n    <\/div>\r\n    <div ng-if="!waitingOnCompass" class="lifecycle-search">\r\n        <div>\r\n            <ol class="breadcrumb">\r\n                <li><a ng-href="{{searchPageView.breadcrumbHomepageTitle.linkUrl}}" id="{{searchPageView.breadcrumbHomepageTitle.htmlId}}">{{searchPageView.breadcrumbHomepageTitle.linkText}}<\/a><\/li>\r\n                <li>{{searchPageView.breadcrumbSearchPageTitle}}<\/li>\r\n            <\/ol>\r\n            <header class="page-title-header">\r\n                <h1 class="text-header">{{searchPageView.searchPageTitle}}<\/h1>\r\n            <\/header>\r\n            <section class="section serach-criteria">\r\n                <div class="section-body ">\r\n                    <form name="lifecycleSearchForm" aria-label="{{ ::searchPageView.formLifecycleSearchAriaLabel }}">\r\n                        <div class="clearfix filter-selector-section">\r\n                            <div class="text-title pull-left">{{ ::searchPageView.searchCriteriaTitle }}<\/div>\r\n                            <div class="col-xs-14 filter-selector-link">\r\n                                <div class="dropdown">\r\n                                    <a id="filterCriteria" class="text-title link-dropdown link-styles" tabindex="0" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" role="button">\r\n                                        {{selectedSearchCategory.displayText}}\r\n                                        <span class="caret"><\/span>\r\n                                    <\/a>\r\n                                    <ul class="dropdown-menu product-page-dropdown" role="menu" id="product-filter-type" aria-labelledby="filterCriteria">\r\n                                        <li role="menuitem" id="search-category-{{category.configValue}}" ng-repeat="category in searchPageView.searchCategories track by $index" ng-click="changeSearchType(category)">\r\n                                            <a id="subversion-{{$index}}" tabindex="0" aria-label="{{searchPageView.searchCriteriaTitle}} {{category.displayText}}">{{ category.displayText}}<\/a>\r\n                                        <\/li>\r\n                                    <\/ul>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div name="timerangeFilter" ng-if="!displayProductNameInFilter" class="row filter-section spacer-32-bottom">\r\n                            <div class="col-md-12 filter-section-item win-color-bg-10">\r\n                                <div class="row">\r\n                                    <div class="select-time-range col-xs-22">\r\n                                        <div class="dropdown">\r\n                                            <select id="select-time-range" ng-disabled="hasProductNameInCriteria" aria-label="{{searchPageView.selectTimeRangeAriaLabel}}" ng-model="searchCriteria.selectedTimeRange" ng-options="rangeitem.displayText for rangeitem in searchPageView.selectTimeRangeCriteriaValues track by rangeitem.configValue"><\/select>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div ng-repeat="item in searchCriteria.productNames track by $index" ng-if="displayProductNameInFilter" name="productNameFilter" class="row filter-section spacer-32-bottom">\r\n                            <div class="col-md-12 filter-section-item win-color-bg-10">\r\n                                <div class="row">\r\n                                    <div class="col-xs-22">\r\n                                        <input autocomplete="off"\r\n                                               autofocus\r\n                                               class="form-control"\r\n                                               id="product-picker-{{$index}}"\r\n                                               name="lifecycleProductPicker"\r\n                                               role="textbox"\r\n                                               type="text"\r\n                                               placeholder="{{searchPageView.selectProductCriteria}}"\r\n                                               aria-label="{{searchPageView.selectProductCriteria}} {{$index+1}}"\r\n                                               ng-disabled="timeRangeSeleted"\r\n                                               ng-model="item.productName">\r\n                                        <div class="auto-suggest-wrapper">\r\n                                            <div class="auto-suggest-results"\r\n                                                 auto-suggest\r\n                                                 data-template-url="/PartialViews/Search/BingAutoSuggest.html"\r\n                                                 data-input-source="#product-picker-{{$index}}"\r\n                                                 data-input-query="item.productName"\r\n                                                 data-selected-suggestion="searchCriteria.selectedProduct"\r\n                                                 data-minimum-letters="3"\r\n                                                 data-query-model-mapper="getCompleteText(suggestion)"\r\n                                                 data-query-function="getSuggestions(query)">\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                    <div ng-if="$index != 0" class="remove-filter">\r\n                                        <a href=""\r\n                                           id="remove-filter-{{$index}}"\r\n                                           aria-label="{{searchPageView.buttonLabelRemoveFilterGroup}}"\r\n                                           tabindex="0"\r\n                                           ng-click="removeQuery($index)"\r\n                                           role="button">\r\n                                            <span class="win-icon" ng-if="searchPageView.removeButtonIcon">{{searchPageView.removeButtonIcon | icon}}<\/span>\r\n                                        <\/a>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class="spacer-32-bottom row" ng-if="displayProductNameInFilter && searchCriteria.productNames.length < 3">\r\n                            <div class="col-md-8">\r\n                                <a id="add-filter" class="add-filters" href="" ng-click="addQuery()" role="button">\r\n                                    <span class="align-middle-span win-icon" ng-if="searchPageView.addButtonIcon">{{searchPageView.addButtonIcon | icon}}<\/span>\r\n                                    <span class="align-middle-span">{{searchPageView.addButtonText}}<\/span>\r\n                                <\/a>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class="row">\r\n                            <div class="search-button col-sm-4">\r\n                                <input type="submit" ng-click="search(false)" id="search-products-lifecycle" class="btn btn-primary" value="{{searchPageView.searchButtonText}}" />\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/form>\r\n                <\/div>\r\n            <\/section>\r\n            <div data-deferred="searchRequest" loading-spinner data-timeout="40000" data-delay="1000" data-message="LifecycleSearchRequestTimeout"><\/div>\r\n            <section ng-show="searchResults.length > 0" class="section search-results">\r\n                <div class="section-header">\r\n                    <div class="clearfix">\r\n                        <div class="pull-right">\r\n                            <a ng-href="{{exportLink}}" id="export-lifecycle-data" class="text-body" target="_self"><span class="win-icon" ng-if="searchPageView.exportIcon">{{searchPageView.exportIcon| icon}}<\/span>{{searchPageView.exportButtonText}}<\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class="table-responsive">\r\n                    <table class="table" role="table" aria-label="{{searchPageView.tableTitleProductSearchResults}}">\r\n                        <thead>\r\n                            <tr>\r\n                                <th class="name-cloumn">\r\n                                    <span class="sortable" id="sort-by-name" ng-click="sortBy(\'Name\')" ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'Name\'}">{{searchPageView.productsReleasedColumnHeader}}<\/span>\r\n                                <\/th>\r\n                                <th class="date-column">\r\n                                    <span class="sortable" id="sort-by-startdate" ng-click="sortBy(\'StartDate\')" ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'StartDate\'}">{{searchPageView.startDateColumnHeader}}<\/span>\r\n                                <\/th>\r\n                                <th class="date-column">\r\n                                    <span class="sortable" id="sort-by-msedate" ng-click="sortBy(\'MainstreamSupportEndDate\')" ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'MainstreamSupportEndDate\'}">{{searchPageView.mainstreamSupportEndDateColumnHeader}}<\/span>\r\n                                <\/th>\r\n                                <th class="date-column">\r\n                                    <span class="sortable" id="sort-by-esedate" ng-click="sortBy(\'ExtendedSupportEndDate\')" ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'ExtendedSupportEndDate\'}">{{searchPageView.extendedSupportColumnHeader}}<\/span>\r\n                                <\/th>\r\n                                <th class="date-column">\r\n                                    <span class="sortable" id="sort-by-spedate" ng-click="sortBy(\'ServicePackSupportEndDate\')" ng-class="{\'ascending\': !sortReverse , \'descending\': sortReverse , \'active\' : sortByProperty === \'ServicePackSupportEndDate\'}">{{searchPageView.sPSupportEndDateEndDateColumnHeader}}<\/span>\r\n                                <\/th>\r\n                                <th class="text-caption align-middle-span">{{searchPageView.notesColumnHeader}}<\/th>\r\n                            <\/tr>\r\n                        <\/thead>\r\n                        <tbody>\r\n                            <tr ng-repeat="lifecycle in searchResults | orderBy:sortByProperty:sortReverse">\r\n                                <td class="name-cloumn text-body">{{lifecycle.Name}}<\/td>\r\n                                <td class="date-column text-body">{{lifecycle.StartDate}}<\/td>\r\n                                <td class="date-column text-body">{{lifecycle.MainstreamSupportEndDate}}<\/td>\r\n                                <td class="date-column text-body">{{lifecycle.ExtendedSupportEndDate}}<\/td>\r\n                                <td class="date-column text-body">{{lifecycle.ServicePackSupportEndDate}}<\/td>\r\n                                <td class="notes text-body" ng-bind-html="lifecycle.Notes"><\/td>\r\n                            <\/tr>\r\n                        <\/tbody>\r\n                    <\/table>\r\n                <\/div>\r\n            <\/section>\r\n            <div class="text-base" ng-show="displayNoResultsMessage">{{searchPageView.noResultsFound}}<\/div>\r\n            <div class="win-color-fg-alert text-base" ng-show="serviceRequestFailedOrTimedOut">{{searchPageView.serviceCallFailureMessage}}<\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Lifecycle/LifeSelectIndex.html",'<div id="index" class="spacer-32-top">\r\n    <div ng-repeat="listBykey in sortedProductList">\r\n        <a ng-if="listBykey.hasProductList" class="pull-left index-item" ng-click="scrollTo(listBykey.key)">{{listBykey.key}}<\/a>\r\n        <span ng-if="!listBykey.hasProductList" class="pull-left index-item">{{listBykey.key}}<\/span>\r\n    <\/div>\r\n<\/div>\r\n<div class="clearfix"><\/div>\r\n<div class="spacer-32-top">\r\n    <div class="spacer-16-top" ng-repeat="listBykey in sortedProductList">\r\n        <a id="{{listBykey.key}}"><\/a>\r\n        <h3>{{listBykey.key}}<\/h3>\r\n        <div class="spacer-16-top">\r\n            <ul ng-repeat="product in listBykey.productList">\r\n                <li><a href="{{homePageView.lifecycleIndex.lifecycleSearchPageLink}}{{product.GdsId}}">{{product.Name}}<\/a><\/li>\r\n            <\/ul>\r\n            <a class="spacer-16-top" ng-click="scrollTo(\'index\')">\r\n                <span class="pull-left win-icon back-to-top">{{homePageView.lifecycleIndex.backToTopIcon | icon}}<\/span><span>{{homePageView.lifecycleIndex.backToTop}}<\/span>\r\n            <\/a>\r\n            <div class="clearfix"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/LinkFarm/LinkFarm.html",'<div id="link-farm" class="row" ng-controller="LinkFarmController">\r\n    <section class="col-md-8 col-sm-24 col-xs-24 section remove-header-rule item-section" ng-repeat="section in view.sectionList" aria-label="{{section.header}}">\r\n        <header class="section-header">\r\n            <h3 class="text-title">{{section.header}}<\/h3>\r\n        <\/header>\r\n        <div id="link-section-{{$index}}">\r\n            <ul class="list-unstyled landing-section-body">\r\n                <li ng-repeat="link in section.links"><a id="linkfarm-section-{{link.htmlId}}" class="element-tabbable" ng-href="{{link.linkUrl}}" target="_self">{{link.linkText}}<\/a><\/li>\r\n            <\/ul>\r\n        <\/div>\r\n    <\/section>\r\n<\/div>');n.put("/PartialViews/Products/MicrosoftProducts.html",'<div class="ms-products row" ng-controller="ProductListController">\r\n    <div class="ms-product-list row" id="home-products-section">\r\n        <h2 class="ms-products-header">{{view.header}}<\/h2>\r\n        <div class="col-lg-4 col-md-6 col-xs-12" ng-repeat="product in view.products | limitTo: productLimit">\r\n            <a class="product-item" id="i-need-help-with-{{product.pageUrl.htmlId}}" ng-href="{{product.pageUrl.linkUrl}}">\r\n                <img alt="{{product.name}}" aria-hidden="true" class="imageAsset image-as-background product-image" id="i-need-help-with-{{product.pageUrl.htmlId}}-img" ng-src="{{product.image.url}}" />\r\n                <div class="product-name">\r\n                    <div ng-class="product.isUserDevice ? \'user-product-name\' : \'\'">\r\n                        <!-- Inline style needed due to browser bug -->\r\n                        <div class="text-maxlines-1" style="text-overflow: ellipsis;">{{product.name}}<\/div>\r\n                        <!-- Inline style needed due to browser bug -->\r\n                        <div class="text-maxlines-1 user-product-detail" style="text-overflow: ellipsis;">{{product.model}}<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="row">\r\n        <div class="col-sm-24">\r\n            <a class="all-products-linkurl" id="all-products-link" ng-href="{{view.allProductsLink.linkUrl | compassFormat}}">{{view.allProductsLink.linkText}}<\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/Search/Paginator.html",'<ul class="pagination" ng-hide="lastPage && ngModel.$viewValue === 1">\r\n    <li class="previous-pagination" ng-show="ngModel.$viewValue !== 1">\r\n        <a href="" id="pagination-previous" ng-click="selectPage(ngModel.$viewValue - 1)" aria-label="{{view.previousPage}}">\r\n            <span aria-hidden="true"><\/span>\r\n        <\/a>\r\n    <\/li>\r\n    <li ng-repeat="page in pages" ng-class="{active: page === ngModel.$viewValue, \'hidden-xs\': page < ngModel.$viewValue - 2 || (page > ngModel.$viewValue + 2)}">\r\n        <a href="#" id="pagination-{{$index}}" ng-click="selectPage(page)">\r\n            <span class="sr-only">{{view.paginatorView.pageText}}<\/span>\r\n            {{page | number}}\r\n            <span class="sr-only" ng-if="page === ngModel.$viewValue">{{view.paginatorView.currentSelection}}<\/span>\r\n        <\/a>\r\n    <\/li>\r\n    <li class="next-pagination" ng-show="!lastPage">\r\n        <a href="" id="pagination-next" ng-click="selectPage(ngModel.$viewValue + 1)" aria-label="{{view.nextPage}}">\r\n            <span aria-hidden="true"><\/span>\r\n        <\/a>\r\n    <\/li>\r\n<\/ul>');n.put("/PartialViews/Search/Results.html",'<div class="row search-results-page">\r\n    <div class="spacer-32-top col-md-4 hidden-xs hidden-sm">\r\n        <div ng-show="devicesEnabled">\r\n            <h3> {{ view.refineHeader }} <\/h3>\r\n            <div> {{view.signInText}} <\/div>\r\n        <\/div>\r\n        <div class="text-body"><a href="" target="_self" id="search-all-of-microsoft" ng-click="generalSearch()"> {{ view.generalSearchLink.linkText }} <\/a><\/div>\r\n    <\/div>\r\n    <div id="search-results-container" class="col-md-16 spacer-32-top">\r\n        <div class="text-caption search-results-page-description win-color-fg-secondary" ng-show="results.length && count || !results.length && !isSearching">\r\n            <div ng-show="results.length && count|| isSearching">{{ view.searchResultsHeader | compassFormat: {"query": userQuery, "count": count } }} <\/div>\r\n            <div ng-show="!results.length && !isSearching && userQuery.length"> {{ view.searchError | compassFormat : {"query": userQuery} }} <\/div>\r\n        <\/div>\r\n        <div class="container">\r\n            <div class="row">\r\n                <div class="col-md-16">\r\n                    <div class="spinner-container" ng-if="isSearching">\r\n                        <div loading-spinner data-timeout="30000" data-delay="2000" data-message="SearchResultsTimeout"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="spacer-32-bottom win-color-border-30" ng-if="answer" instant-answer="answer" data-view="view.instantAnswer"><\/div>\r\n        <div smc-search-result="result" ng-repeat="result in results" data-id="$index + \'-page-\' + currentPage + \'-absolute-\' + calculateAbsolutePosition($index, currentPage)" data-showLink="true"><\/div>\r\n        <div class="hidden-lg text-body"><a href="" id="search-all-of-microsoft-1" ng-click="generalSearch()"> {{ view.generalSearchLink.linkText }} <\/a><\/div>\r\n        <div ng-show="results.length">\r\n            <span class="search-pagination" paginator ng-model="currentPage" data-max-count="count" data-items-per-page="10" data-view="view"><\/span>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/PartialViews/SureRoute.html",'<?xml version="1.0" encoding="utf-8" ?>\r\n<root>\r\n    <!--\r\n     Re-creation of Original Microsoft Homepage html for content:\r\n\r\n    <HTML>\r\n      <TITLE>Links<\/TITLE>\r\n      <BODY BGCOLOR="#C1C1C1">\r\n        <H1>Microsoft.com Links<\/H1>\r\n        <H2>Where do you want to go today?<\/H2>\r\n        <a href="http://support.microsoft.com/">Knowledge Base<\/a><br/>\r\n        <a href="http://support.microsoft.com/contactus">Send us your feedback<\/a><br/>\r\n        <a href="http://blogs.windows.com/">Windows News<\/a><br/>\r\n        <a href="http://en.wikipedia.org/wiki/Microsoft_BackOffice_Server">Back Office & Windows NT Workstation<\/a><br/>\r\n        <a href="http://www.microsoft.com/news/">What\'s New<\/a><br/>\r\n        <a href="gopher://gopher.microsoft.com">gopher.microsoft.com<\/a><br/>\r\n        <a href="ftp://ftp.microsoft.com/">ftp.microsoft.com<\/a><br/>\r\n        <a href="http://technet.microsoft.com">Microsoft techNet<\/a><br/>\r\n        <a href="http://msdn.microsoft.com/">Developer Network Offramp<\/a><br/>\r\n        <a href="http://en.wikipedia.org/wiki/Microsoft_TV">Microsoft TV<\/a><br/>\r\n        <a href="http://www.microsoft.com/business/solutions/Sales/">Microsoft Sales Information<\/a><br/>\r\n        <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms740673(v=vs.85).aspx">Windows Socket<\/a><br/>\r\n        <a href="http://careers.microsoft.com">Employment Opportunities<\/a><br/>\r\n        <a href="http://en.wikipedia.org/wiki/Windows_NT_3.5">Facts about the server<\/a><br/>\r\n        <a href="http://www.msn.com/">The Microsoft Network<\/a><br/>\r\n        <HR>\r\n        <P>WWW.MICROSOFT.COM is running Microsoft\'s <A HREF="http://en.wikipedia.org/wiki/Windows_NT_3.5">Windows NT Server 3.5<\/A> and <A HREF="http://grox.net/doc/admin/ims/">EMWAC\'s<\/A> HTTPS<\/P>\r\n\r\n           <script type="text/JavaScript">\r\n\r\n               var varSegmentation = 0;\r\n\r\n               var varClickTracking = 1;\r\n\r\n               var varCustomerTracking = 1;\r\n\r\n               var varAutoFirePV = 1;\r\n\r\n               var Route = "";\r\n\r\n               var Ctrl = "";\r\n\r\n               document.write("<script type=\'text/javascript\' src=\'" + (window.location.protocol) + "//c.microsoft.com/ms.js\'><\\/script>");\r\n\r\n    <\/script>\r\n\r\n    <noscript><img alt="" width="1" height="1" src="http://c.microsoft.com/trans_pixel.aspx"/><\/noscript>\r\n\r\n\r\n      <\/BODY>\r\n    <\/HTML>\r\n\r\n     -->\r\n    <!--\r\n    key:      Look up value to determine if supported or fallback market (country code)\r\n    default:  The value to use if the key is matched.\r\n    NOTE:     If NO default is specified, this implies the Key is the Default value. This is also the "top most" list of supported markets.\r\n    -->\r\n    <item key="AD" />\r\n    <item key="AE" />\r\n    <item key="AF" />\r\n    <item key="AG" />\r\n    <item key="AI" />\r\n    <item key="AL" />\r\n    <item key="AM" />\r\n    <item key="AO" />\r\n    <item key="AQ" />\r\n    <item key="AR" />\r\n    <item key="AS" />\r\n    <item key="AT" />\r\n    <item key="AU" />\r\n    <item key="AW" />\r\n    <item key="AX" />\r\n    <item key="AZ" />\r\n    <item key="BA" />\r\n    <item key="BB" />\r\n    <item key="BD" />\r\n    <item key="BE" />\r\n    <item key="BF" />\r\n    <item key="BG" />\r\n    <item key="BH" />\r\n    <item key="BI" />\r\n    <item key="BJ" />\r\n    <item key="BL" />\r\n    <item key="BM" />\r\n    <item key="BN" />\r\n    <item key="BO" />\r\n    <item key="BQ" />\r\n    <item key="BR" />\r\n    <item key="BS" />\r\n    <item key="BT" />\r\n    <item key="BV" />\r\n    <item key="BW" />\r\n    <item key="BY" />\r\n    <item key="BZ" />\r\n    <item key="CA" />\r\n    <item key="CC" />\r\n    <item key="CD" />\r\n    <item key="CF" />\r\n    <item key="CG" />\r\n    <item key="CH" />\r\n    <item key="CI" />\r\n    <item key="CK" />\r\n    <item key="CL" />\r\n    <item key="CM" />\r\n    <item key="CN" />\r\n    <item key="CO" />\r\n    <item key="CR" />\r\n    <item key="CU" />\r\n    <item key="CV" />\r\n    <item key="CW" />\r\n    <item key="CX" />\r\n    <item key="CY" />\r\n    <item key="CZ" />\r\n    <item key="DE" />\r\n    <item key="DJ" />\r\n    <item key="DK" />\r\n    <item key="DM" />\r\n    <item key="DO" />\r\n    <item key="DZ" />\r\n    <item key="EC" />\r\n    <item key="EE" />\r\n    <item key="EG" />\r\n    <item key="ER" />\r\n    <item key="ES" />\r\n    <item key="ET" />\r\n    <item key="FI" />\r\n    <item key="FJ" />\r\n    <item key="FK" />\r\n    <item key="FM" />\r\n    <item key="FO" />\r\n    <item key="FR" />\r\n    <item key="GA" />\r\n    <item key="GB" />\r\n    <item key="GD" />\r\n    <item key="GE" />\r\n    <item key="GF" />\r\n    <item key="GG" />\r\n    <item key="GH" />\r\n    <item key="GI" />\r\n    <item key="GL" />\r\n    <item key="GM" />\r\n    <item key="GN" />\r\n    <item key="GP" />\r\n    <item key="GQ" />\r\n    <item key="GR" />\r\n    <item key="GS" />\r\n    <item key="GT" />\r\n    <item key="GU" />\r\n    <item key="GW" />\r\n    <item key="GY" />\r\n    <item key="HK" />\r\n    <item key="HM" />\r\n    <item key="HN" />\r\n    <item key="HR" />\r\n    <item key="HT" />\r\n    <item key="HU" />\r\n    <item key="ID" />\r\n    <item key="IE" />\r\n    <item key="IL" />\r\n    <item key="IM" />\r\n    <item key="IN" />\r\n    <item key="IO" />\r\n    <item key="IQ" />\r\n    <item key="IR" />\r\n    <item key="IS" />\r\n    <item key="IT" />\r\n    <item key="JE" />\r\n    <item key="JM" />\r\n    <item key="JO" />\r\n    <item key="JP" />\r\n    <item key="KE" />\r\n    <item key="KG" />\r\n    <item key="KH" />\r\n    <item key="KI" />\r\n    <item key="KM" />\r\n    <item key="KN" />\r\n    <item key="KP" />\r\n    <item key="KR" />\r\n    <item key="KW" />\r\n    <item key="KY" />\r\n    <item key="KZ" />\r\n    <item key="LA" />\r\n    <item key="LB" />\r\n    <item key="LC" />\r\n    <item key="LI" />\r\n    <item key="LK" />\r\n    <item key="LR" />\r\n    <item key="LS" />\r\n    <item key="LT" />\r\n    <item key="LU" />\r\n    <item key="LV" />\r\n    <item key="LY" />\r\n    <item key="MA" />\r\n    <item key="MC" />\r\n    <item key="MD" />\r\n    <item key="ME" />\r\n    <item key="MF" />\r\n    <item key="MG" />\r\n    <item key="MH" />\r\n    <item key="MK" />\r\n    <item key="ML" />\r\n    <item key="MM" />\r\n    <item key="MN" />\r\n    <item key="MO" />\r\n    <item key="MP" />\r\n    <item key="MQ" />\r\n    <item key="MR" />\r\n    <item key="MS" />\r\n    <item key="MT" />\r\n    <item key="MU" />\r\n    <item key="MV" />\r\n    <item key="MW" />\r\n    <item key="MX" />\r\n    <item key="MY" />\r\n    <item key="MZ" />\r\n    <item key="NA" />\r\n    <item key="NC" />\r\n    <item key="NE" />\r\n    <item key="NF" />\r\n    <item key="NG" />\r\n    <item key="NI" />\r\n    <item key="NL" />\r\n    <item key="NO" />\r\n    <item key="NP" />\r\n    <item key="NR" />\r\n    <item key="NU" />\r\n    <item key="NZ" />\r\n    <item key="OM" />\r\n    <item key="PA" />\r\n    <item key="PE" />\r\n    <item key="PF" />\r\n    <item key="PG" />\r\n    <item key="PH" />\r\n    <item key="PK" />\r\n    <item key="PL" />\r\n    <item key="PM" />\r\n    <item key="PN" />\r\n    <item key="PR" />\r\n    <item key="PS" />\r\n    <item key="PT" />\r\n    <item key="PW" />\r\n    <item key="PY" />\r\n    <item key="QA" />\r\n    <item key="RE" />\r\n    <item key="RO" />\r\n    <item key="RS" />\r\n    <item key="RU" />\r\n    <item key="RW" />\r\n    <item key="SA" />\r\n    <item key="SB" />\r\n    <item key="SC" />\r\n    <item key="SD" />\r\n    <item key="SE" />\r\n    <item key="SG" />\r\n    <item key="SH" />\r\n    <item key="SI" />\r\n    <item key="SJ" />\r\n    <item key="SK" />\r\n    <item key="SL" />\r\n    <item key="SM" />\r\n    <item key="SN" />\r\n    <item key="SO" />\r\n    <item key="SR" />\r\n    <item key="SS" />\r\n    <item key="ST" />\r\n    <item key="SV" />\r\n    <item key="SX" />\r\n    <item key="SY" />\r\n    <item key="SZ" />\r\n    <item key="TC" />\r\n    <item key="TD" />\r\n    <item key="TF" />\r\n    <item key="TG" />\r\n    <item key="TH" />\r\n    <item key="TJ" />\r\n    <item key="TK" />\r\n    <item key="TL" />\r\n    <item key="TM" />\r\n    <item key="TN" />\r\n    <item key="TO" />\r\n    <item key="TR" />\r\n    <item key="TT" />\r\n    <item key="TV" />\r\n    <item key="TW" />\r\n    <item key="TZ" />\r\n    <item key="UA" />\r\n    <item key="UG" />\r\n    <item key="UK" />\r\n    <item key="UM" />\r\n    <item key="US" />\r\n    <item key="UY" />\r\n    <item key="UZ" />\r\n    <item key="VA" />\r\n    <item key="VC" />\r\n    <item key="VE" />\r\n    <item key="VG" />\r\n    <item key="VI" />\r\n    <item key="VN" />\r\n    <item key="VU" />\r\n    <item key="WF" />\r\n    <item key="WS" />\r\n    <item key="XE" />\r\n    <item key="XJ" />\r\n    <item key="XK" />\r\n    <item key="XS" />\r\n    <item key="YE" />\r\n    <item key="YT" />\r\n    <item key="YU" />\r\n    <item key="ZA" />\r\n    <item key="ZM" />\r\n    <item key="ZW" />\r\n<\/root>');n.put("/PartialViews/Verifyme/Index.html",'<div class="verifyme">\r\n    <div class="spinner-container spacer-20-top" ng-if="isAuthenticated === null || waitingOnCompass === true">\r\n        <div loading-spinner data-timeout="30000" data-message="verifymePageLoadTimeout" data-delay="250"><\/div>\r\n    <\/div>\r\n    <div ng-show="waitingOnCompass === false && isAuthenticated !== null">\r\n        <div class="row">\r\n            <header class="col-xs-24 page-title-header">\r\n                <h1 class="text-header">{{view.pageHeader}}<\/h1>\r\n            <\/header>\r\n        <\/div>\r\n        <div id="verify-me-unauthenticated" ng-if="isAuthenticated !== null && isAuthenticated===false">\r\n            <div class="row spacer-32-bottom">\r\n                <div class="col-xs-24">\r\n                    <span class="text-subtitle">{{view.signInInstruction}}<\/span>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="row">\r\n                <div class="col-xs-24">\r\n                    <button class="btn btn-primary" id="verifyme-sign-in" ng-click="signIn()">{{view.signInButtonText}}<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div data-deferred="getVerifymeCodeRequest" data-message="verifymePageLoadTimeout" loading-spinner data-timeout="30000" data-delay="250"><\/div>\r\n        <div id="verifyme-authenticated-section" ng-if="isAuthenticated !== null && isAuthenticated === true && isGetCodeRequestInProgress === false">\r\n            <div id="verifyme-authenticated-content">\r\n                <div class="row">\r\n                    <span class="col-xs-24 text-subtitle formatedCode">{{view.formatedMessageWithCode}}<\/span>\r\n                <\/div>\r\n                <div class="row spacer-32-top">\r\n                    <span class="col-xs-24 text-body">{{view.codeUsageInstruction}}<\/span>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/addContact/addContact.component.html",'<spc-dialog component-id="add-contact-dialog"\r\n            component-aria-label="{{$ctrl.strings.addContact_AdditionalContact}}"\r\n            is-flow="true"\r\n            on-dialog-initialize="$ctrl.initializeMwfDialog(mwfDialog)"\r\n            title="{{$ctrl.strings.addContact_AdditionalContact}}"\r\n            ng-cloak>\r\n    <dialog-body>\r\n        <ng-form name="addContactForm">\r\n            <label class="c-label" for="firstName">{{$ctrl.strings.addContact_FirstName}}*<\/label>\r\n            <input id="firstName" class="c-text-field f-flex" type="text" name="firstName" ng-model="$ctrl.firstName"\r\n                   ng-required="true" aria-invalid=false />\r\n\r\n            <label class="c-label" for="lastName">{{$ctrl.strings.addContact_LastName}}*<\/label>\r\n            <input id="lastName" class="c-text-field f-flex" type="text" name="lastName" ng-model="$ctrl.lastName"\r\n                   ng-required="true" aria-invalid=false />\r\n\r\n            <label class="c-label" for="email">{{$ctrl.strings.addContact_EmailAddress}}*<\/label>\r\n            <input id="email" ng-model-options="{ updateOn: \'blur\' }" class="c-text-field f-flex" type="email" name="email" ng-model="$ctrl.email"\r\n                   ng-required="true" aria-invalid=false ng-blur="$ctrl.validate(addContactForm)" />\r\n            <div ng-messages="addContactForm.email.$error" id="emailError" ng-if="addContactForm.email.$touched">\r\n                <div ng-message="email" class="sp-error-message">\r\n                    {{$ctrl.strings.addContact_InvalidEmailWarning}}\r\n                    <div role="alert" aria-live="assertive" aria-atomic="true" class="x-screen-reader">\r\n                        {{$ctrl.strings.addContact_InvalidEmailWarning}}\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <label class="c-label" for="reemail">{{$ctrl.strings.addContact_ReEnter_EmailAddress}}*<\/label>\r\n            <input id="reemail" ng-model-options="{ updateOn: \'blur\' }" class="c-text-field f-flex" type="email" name="reEmail" ng-model="$ctrl.reEmail"\r\n                   ng-required="true" aria-invalid=false ng-blur="$ctrl.validate(addContactForm)" />\r\n            <div ng-messages="addContactForm.reEmail.$error" id="reemailError" ng-if="addContactForm.reEmail.$touched">\r\n                <div ng-message="email" class="sp-error-message" aria-live="assertive">\r\n                    {{$ctrl.strings.addContact_InvalidEmailWarning}}\r\n                    <div role="alert" aria-live="assertive" aria-atomic="true" class="x-screen-reader">\r\n                        {{$ctrl.strings.addContact_InvalidEmailWarning}}\r\n                    <\/div>\r\n                <\/div>\r\n                <div ng-message="mismatchedEmails" class="sp-error-message">\r\n                    {{$ctrl.strings.addContact_mismatchedEmailWarning}}\r\n                    <div role="alert" aria-live="assertive" aria-atomic="true" class="x-screen-reader">\r\n                        {{$ctrl.strings.addContact_mismatchedEmailWarning}}\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <label class="c-label" for="phone">{{$ctrl.strings.addContact_PhoneNumber}}<\/label>\r\n            <input id="phone" ng-model-options="{ updateOn: \'blur\' }" class="c-text-field f-flex" type="text" name="phone" ng-model="$ctrl.phone" aria-invalid=false ng-pattern="/^[+\\d -]+$/" ng-blur="$ctrl.validate(addContactForm)"/>\r\n            <div ng-messages="addContactForm.phone.$error" id="phoneNumberError" ng-if="addContactForm.phone.$touched">\r\n                <div ng-message="pattern" class="sp-error-message">\r\n                    {{$ctrl.strings.addContact_InvalidPhoneNumberWarning}}\r\n                    <div role="alert" aria-live="assertive" aria-atomic="true" class="x-screen-reader">\r\n                        {{$ctrl.strings.addContact_InvalidPhoneNumberWarning}}\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class="c-group">\r\n                <button id="broadcommercial-save-add-contact" \r\n                        data-bi-id="{{$ctrl.componentId}}-contacts-save-new" \r\n                        data-bi-name="Contacts Save New"\r\n                        class="c-button f-primary" name="" type="button" ng-click="$ctrl.onSubmitAdd(addContactForm)" ng-disabled="!$ctrl.isFormComplete()">{{$ctrl.strings.common_Button_Add}}<\/button>\r\n                <button id="broadcommercial-cancel-add-contact"\r\n                        data-bi-id="{{$ctrl.componentId}}-contacts-cancel-new"\r\n                        data-bi-name="Contacts Cancel New"\r\n                        class="c-button" name="" type="button" ng-click="$ctrl.onCancelAdd(addContactForm)">{{$ctrl.strings.common_Button_Cancel}}<\/button>\r\n            <\/div>\r\n        <\/ng-form>\r\n    <\/dialog-body>\r\n<\/spc-dialog>');n.put("/src/app/broadCommercial/components/businessHoursView/businessHoursView.component.html",'<div class="sp-business-hours-content" ng-if="$ctrl.businessHours" ng-cloak>\r\n    <h3>\r\n        <span class="c-heading-6 f-lean sp-business-hours-head">{{$ctrl.strings.severityBusinessHoursHeading}} {{$ctrl.timeZoneId}}<\/span>\r\n    <\/h3>\r\n    <div class="sp-business-hours-body" ng-repeat="dayDetails in $ctrl.businessHours">\r\n        <div class="sp-add-margin">\r\n            <span class="sp-business-hours-days-of-week">{{$ctrl.getDayLabel(dayDetails.dayOfWeek)}}<\/span>\r\n            <span ng-if="dayDetails.startTime">{{$ctrl.formatTime(dayDetails.startTime)}} - {{$ctrl.formatTime(dayDetails.endTime)}}<\/span>\r\n            <span ng-if="!dayDetails.startTime">{{$ctrl.strings.severityBusinessHoursClosed}}<\/span>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/cardCallToAction/cardCallToAction.component.html",'<div class="sp-card-panel" ng-cloak>\r\n    <p class="c-glyph sp-glyph {{ ::$ctrl.glyph }}" />\r\n    <p class="c-paragraph-3 sp-title">\r\n        {{ ::$ctrl.title }}\r\n    <\/p>\r\n    <p class="c-paragraph-3 f-lean sp-details-text" >\r\n        {{ ::$ctrl.description }}\r\n    <\/p>\r\n    <div class="sp-action-link">\r\n            <p class="c-paragraph-3 f-lean sp-loading-text" ng-if="$ctrl.showLoadingStatus()">\r\n                {{ ::$ctrl.linkLoadingText }}\r\n            <\/p>\r\n            <spc-call-to-action component-id="{{ ::$ctrl.linkId }}"\r\n                                is-lightweight="true"\r\n                                is-new-tab="::$ctrl.isNewTab"\r\n                                label="{{ ::$ctrl.linkText }}"\r\n                                source="{{ $ctrl.linkUrl }}"\r\n                                ng-if="$ctrl.linkUrl"/>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/cardDetailsDialog/cardDetailsDialog.component.html",'<div class="sp-container-background" data-grid="col-12" ng-cloak>\r\n    <div class="sp-container-image" data-grid="col-6">\r\n        <picture class="c-image sp-img-left">\r\n            <img src="{{ ::$ctrl.imgSrc }}" alt="{{ ::$ctrl.imgAltText }}">\r\n        <\/picture>\r\n    <\/div>\r\n    <div class="sp-container-body" data-grid="col-6">\r\n        <div class="sp-row-text" data-grid="col-12">\r\n            <p class="c-paragraph-3 sp-text-title">\r\n                {{ ::$ctrl.cardTitle }}\r\n            <\/p>\r\n            <p class="c-paragraph-3 f-lean sp-text-description">\r\n                {{ ::$ctrl.details }}\r\n            <\/p>\r\n        <\/div>\r\n        <div class="sp-row-link" data-grid="col-12">\r\n            <div class="sp-container-anchor">\r\n                <a id="{{ ::$ctrl.dialogId }}-see-all-link"\r\n                   href="#"\r\n                   class="c-call-to-action c-glyph f-lightweight"\r\n                   aria-label="{{ ::$ctrl.actionLabel }}"\r\n                   data-js-dialog-show="{{ ::$ctrl.dialogId }}"\r\n                   tabindex="0"\r\n                   data-bi-id="{{ ::$ctrl.dialogId }}-see-all-link">\r\n                    {{ ::$ctrl.actionLabel }}\r\n                <\/a>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/communications/communications.component.html",'<div class="c-pivot sp-communications" data-grid="container" ng-cloak>\r\n    <ul role="tablist">\r\n        <li id="communications-tab-email" class="f-active" tabindex="0" role="tab" aria-controls="emailInteractions" aria-label="{{::$ctrl.strings.requestDetails_Communications_EmailPivot_Label}}">\r\n            {{::$ctrl.strings.requestDetails_CommunicationsEmailPivot_Label}} ({{$ctrl.emailInteractions.emailList.length}})\r\n        <\/li>\r\n        <li id="communications-tab-phone" role="tab" aria-controls="phoneInteractions" aria-label="{{::$ctrl.strings.requestDetails_Communications_PhonePivot_Label}}">\r\n            {{::$ctrl.strings.requestDetails_CommunicationsPhonePivot_Label}} ({{$ctrl.phoneInteractions.length}})\r\n        <\/li>\r\n    <\/ul>\r\n    <section id="emailInteractions" role="tabpanel" aria-hidden="false">\r\n        <spc-email-interaction interactions="$ctrl.emailInteractions"\r\n                               send-email-to-communications="$ctrl.sendEmailToRequestDetails(newEmailMessageContent)"\r\n                               case-state="{{::$ctrl.caseState}}"/>\r\n    <\/section>\r\n    <section id="phoneInteractions" role="tabpanel" aria-hidden="true">\r\n        <spc-phone-interaction interactions = "$ctrl.phoneInteractions"/>\r\n    <\/section>\r\n<\/div>');n.put("/src/app/broadCommercial/components/contactCards/contactCards.component.html",'<spc-alert id="contacts-error-alert" alert-message="{{$ctrl.errorMessage}}" is-error="true" is-dismissed="$ctrl.isAlertDismissed()" />\r\n<div class="m-card-group f-feed" ng-cloak>\r\n    <div data-ng-repeat="contact in $ctrl.contacts" class="c-card f-single">\r\n        <div ng-class="{\'c-card-content\':$ctrl.animatedCardGroup}">\r\n            <spc-contact-card component-id="{{$ctrl.componentId}}"\r\n                              index="$index"\r\n                              is-display-only=$ctrl.areDisplayOnly\r\n                              animated-card=$ctrl.animatedCardGroup\r\n                              grey-out-card=$ctrl.greyOutCards\r\n                              contact="contact"\r\n                              make-primary-action="$ctrl.makePrimary(email)"\r\n                              remove-action="$ctrl.performRemove(index)"\r\n                              add-action="$ctrl.performAddNewContact()"\r\n                              is-phone-editable=$ctrl.isPhoneEditEnabled()\r\n                              update-phone-action="$ctrl.updatePhone(email, phone)"\r\n                              enable-making-primary-aria-live="$ctrl.enableMakingPrimaryAriaLive(message)"\r\n                              enable-removing-contact-aria-live="$ctrl.enableRemovingContactAriaLive(message)"\r\n                              is-phone-required="$ctrl.isPhoneRequired"\r\n                              phone-updated="$ctrl.phoneIsUpdated(updated)" />\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<div id="add-new-contact" ng-show="$ctrl.showAddContact">\r\n    <spc-add-contact component-id="{{$ctrl.componentId}}"\r\n                     contact-info-view="$ctrl.contactInfoView"\r\n                     on-cancel="$ctrl.cancelOnAddContact()"\r\n                     on-add="$ctrl.saveOnAddContact(contact)" />\r\n<\/div>\r\n<div role="alert" aria-live="assertive" aria-atomic="true" class="x-screen-reader" ng-show="$ctrl.updatingPrimary">\r\n    {{$ctrl.makingPrimaryAriaMessage}}\r\n<\/div>\r\n<div role="alert" aria-live="assertive" aria-atomic="true" class="x-screen-reader" ng-show="$ctrl.removingContact">\r\n    {{$ctrl.removingContactAriaMessage}}\r\n<\/div>');n.put("/src/app/broadCommercial/components/contactCard/contactCard.component.html",'<div id="contact-card-{{ ::$ctrl.index }}" ng-if="::!$ctrl.contact.AddContactView" tabindex="-1" ng-cloak>\r\n    <div ng-class="{\'sp-contact-card-contents\':true, \'sp-contact-card-border\':!$ctrl.animatedCard, \'sp-overlay\': $ctrl.greyOutCard}">\r\n        <div class="remove-card-section">\r\n            <a data-bi-id="{{$ctrl.componentId}}-contacts-remove"\r\n               data-bi-name="Contacts Remove"\r\n               data-bi-selected="{{::$ctrl.index + 1}}" ng-if="$ctrl.isRemovable()" role="button" class="c-hyperlink c-glyph sp-trashcan-icon x-float-right contact-card-link remove-link-text" href="#" aria-label={{$ctrl.strings.contactCard_removeContactLink}} ng-click="::$ctrl.removeContact($ctrl.index)"><\/a>\r\n        <\/div>\r\n        <div class="card-contact-info-section">\r\n            <div class="c-heading-6 bold">{{::$ctrl.getDisplayName()}}<\/div>\r\n            <label class="c-label sub-fields-label">{{ ::$ctrl.contact.Email }}<\/label>\r\n            <label for="phone-for-contact" class="c-label sub-fields-label" ng-if="!$ctrl.isUpdatePhoneEnabled()">{{ ::$ctrl.contact.Phone }}<\/label>\r\n\r\n            <input id="phone-for-contact"\r\n                   class="sub-fields-edit-phone-text c-text-field"\r\n                   type="text"\r\n                   placeholder="{{$ctrl.strings.contactCard_EditPhonePlaceholderText}}"\r\n                   ng-if="$ctrl.isUpdatePhoneEnabled()"\r\n                   ng-keypress="$ctrl.limitPhoneFieldInput($event, $ctrl.contact.Phone, 25, false)"\r\n                   ng-paste="$ctrl.limitPhoneFieldInput($event, $ctrl.contact.Phone, 25, true)"\r\n                   ng-model="$ctrl.contact.Phone"\r\n                   ng-blur="$ctrl.updatePhoneNumber($ctrl.contact.Email)" />\r\n\r\n            <h6 ng-if="$ctrl.toShowPhoneRequired()"> {{::$ctrl.strings.contactInfoPrimaryAddPhone}}<\/h6>\r\n        <\/div>\r\n        <div class="card-primary-section">\r\n            <a ng-if="$ctrl.isMakePrimaryEnabled() && !$ctrl.isDisplayOnly"\r\n               data-bi-id="{{$ctrl.componentId}}-contacts-set-primary"\r\n               data-bi-name="Contacts Set Primary"\r\n               data-bi-selected="{{ ::$ctrl.index + 1}}"\r\n               role="button" class="c-hyperlink c-glyph glyph-favorite-star contact-card-link" href="#" ng-click="$ctrl.setAsPrimary($ctrl.contact.Email)">&nbsp;{{$ctrl.strings.contactCard_MakePrimaryContactLabel}}<\/a>\r\n\r\n            <label ng-if="$ctrl.contact.IsPrimaryContact" class="c-label c-glyph glyph-favorite-star-fill is-primary-label">&nbsp; {{$ctrl.strings.contactCard_PrimaryContactLabel}}<\/label>\r\n            <label ng-if="!$ctrl.contact.IsPrimaryContact && $ctrl.isDisplayOnly" class="c-label is-primary-label">{{$ctrl.strings.contactCard_AdditionalContactLabel}}<\/label>\r\n\r\n            <div ng-if="$ctrl.showPrimaryDisabledMessage">\r\n                <h6 class="contact-card-link">{{::$ctrl.strings.contactInfoPrimaryDisabledMessage}}<\/h6>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="sp-card-contact-primary-highlight" ng-if="$ctrl.contact.IsPrimaryContact" />\r\n    <\/div>\r\n<\/div>\r\n<div class="card-for-add-contact" ng-if="::$ctrl.isPlaceholder()">\r\n    <div class="add-contact-link-section">\r\n        <a id="contacts-add-new"\r\n           role="button"\r\n           class="c-button f-lightweight contact-card-link"\r\n           data-js-dialog-show="add-contact-dialog"\r\n           href="#"\r\n           ng-click="$ctrl.addContact()"\r\n           data-bi-id="{{$ctrl.componentId}}-contacts-add-new"\r\n           data-bi-name="Add New Contact">\r\n            <span class="c-glyph glyph-add-friend"><br />{{$ctrl.strings.contactCard_AddContactLabel}}<\/span>\r\n        <\/a>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/delegateMsaAuth/delegateMsaAuth.component.html",'<div ng-if="$ctrl.loadIframe">\r\n    <iframe id="delegate-auth" tabindex="-1" aria-hidden="true" ng-src="{{$ctrl.delegateMsaAuthUrl}}" style="width:0; height:0; border:0; border:none; visibility: hidden"><\/iframe>\r\n<\/div>');n.put("/src/app/broadCommercial/components/dialogAddSupportContract/dialogAddSupportContract.component.html",'<div ng-cloak>\r\n    <spc-dialog component-id="dialog-add-support-contract"\r\n                component-aria-label="{{ ::$ctrl.strings.addSupportPlan_addSupportContract }}"\r\n                is-flow="true"\r\n                on-dialog-initialize="$ctrl.initializeMwfDialog(mwfDialog)"\r\n                title="{{ ::$ctrl.strings.addSupportPlan_addSupportContract }}">\r\n\r\n        <dialog-body>\r\n            <form name="add-support-contract" role="form" aria-labelledby="dialog-add-support-contract">\r\n                <spc-text-field component-id="input-access-id"\r\n                                component-name="accessId"\r\n                                label="{{ ::$ctrl.strings.addSupportPlan_accessId }}*"\r\n                                is-flex="true"\r\n                                is-required="true"\r\n                                is-auto-focus="true"\r\n                                on-change="$ctrl.onInput(payloadPropertyName, textValue)"\r\n                                autocomplete="off"\r\n                                max-length="75" />\r\n\r\n                <spc-password component-id="input-password"\r\n                              component-name="password"\r\n                              label-text="{{ $ctrl.strings.addSupportPlan_contractId }}*"\r\n                              is-flex="true"\r\n                              is-required="true"\r\n                              autocomplete="off"\r\n                              on-change="$ctrl.onInput(payloadPropertyName, textValue)"\r\n                              max-length="75" />\r\n            <\/form>\r\n\r\n            <div ng-if="$ctrl.errorExists">\r\n                <spc-alert add-correlation-vector="true"\r\n                           alert-message="{{ ::$ctrl.errorMessage }}"\r\n                           aria-label="{{ ::$ctrl.errorMessage }}"\r\n                           component-id="map-entitlement-alert"\r\n                           is-error="true" />\r\n            <\/div>\r\n\r\n            <div ng-if="$ctrl.isAddingSupportPlan"\r\n                 class="sp-div-loading"\r\n                 data-grid="col-12">\r\n                <loading-bar loading-type="bar" aria-label="{{ ::$ctrl.strings.supportPlanPage_loadingPlans_text }}" />\r\n            <\/div>\r\n        <\/dialog-body>\r\n\r\n        <dialog-buttons>\r\n            <div class="c-group">\r\n                <button ng-click="$ctrl.addSupportPlan()"\r\n                        ng-disabled="!$ctrl.isDialogPopulated() || $ctrl.isAddingSupportPlan"\r\n                        id="workflow-buy-contract-add"\r\n                        class="c-button f-primary"\r\n                        name="add-support-plan"\r\n                        type="button"\r\n                        data-bi-id="workflow-buy-contract-add">\r\n                    {{ ::$ctrl.strings.common_Button_Add}}\r\n                <\/button>\r\n                <button ng-disabled="$ctrl.isAddingSupportPlan"\r\n                        id="workflow-buy-contract-cancel"\r\n                        class="c-button"\r\n                        name="cancel-add-plan"\r\n                        type="button"\r\n                        data-js-dialog-hide="dialog-plan-add"\r\n                        data-bi-id="workflow-buy-contract-cancel">\r\n                    {{ ::$ctrl.strings.common_Button_Cancel}}\r\n                <\/button>\r\n            <\/div>\r\n        <\/dialog-buttons>\r\n    <\/spc-dialog>\r\n<\/div>');n.put("/src/app/broadCommercial/components/dialogAddSupportSubscription/dialogAddSupportSubscription.component.html",'<div ng-cloak>\r\n    <spc-dialog component-id="dialog-add-support-subscription"\r\n                component-aria-label="{{ $ctrl.strings.addSupportPlan_addSupportSubscription }}"\r\n                is-flow="true"\r\n                on-dialog-initialize="$ctrl.initializeMwfDialog(mwfDialog)"\r\n                title="{{ $ctrl.strings.addSupportPlan_addSupportSubscription }}">\r\n\r\n        <dialog-body>\r\n            <form name="add-support-subscription" role="form" aria-labelledby="dialog-add-support-subscription">\r\n\r\n                <p class="c-paragraph-3">{{ ::$ctrl.strings.addSupportPlan_text_provide_sa_info }}<\/p>\r\n\r\n                <p class="c-paragraph-3">{{ ::$ctrl.strings.addSupportPlan_text_sa_instructions }}<\/p>\r\n\r\n                <spc-text-field component-id="input-agreement-number"\r\n                                component-name="agreementNumber"\r\n                                label="{{ $ctrl.strings.addSupportPlan_sa_acccessId }}*"\r\n                                is-flex="true"\r\n                                is-required="true"\r\n                                is-auto-focus="true"\r\n                                on-change="$ctrl.onInput(payloadPropertyName, textValue)"\r\n                                autocomplete="off"\r\n                                max-length="75" />\r\n\r\n                <spc-text-field component-id="input-admin-email"\r\n                                component-name="adminEmail"\r\n                                component-type="email"\r\n                                label="{{ $ctrl.strings.addSupportPlan_administratorEmail }}*"\r\n                                is-flex="true"\r\n                                is-required="true"\r\n                                on-change="$ctrl.onInput(payloadPropertyName, textValue)"\r\n                                autocomplete="off"\r\n                                max-length="75" />\r\n            <\/form>\r\n\r\n            <div ng-if="$ctrl.errorExists">\r\n                <spc-alert add-correlation-vector="true"\r\n                           alert-message="{{ ::$ctrl.errorMessage }}"\r\n                           aria-label="{{ ::$ctrl.errorMessage }}"\r\n                           component-id="map-entitlement-alert"\r\n                           is-error="true" />\r\n            <\/div>\r\n\r\n            <p class="c-paragraph-3">{{ ::$ctrl.strings.addSupportPlan_text_sa_explanation }}<\/p>\r\n\r\n            <div ng-if="$ctrl.isAddingSupportPlan"\r\n                 class="sp-div-loading"\r\n                 data-grid="col-12">\r\n                <loading-bar loading-type="bar" aria-label="{{ ::$ctrl.strings.supportPlanPage_loadingPlans_text }}" />\r\n            <\/div>\r\n        <\/dialog-body>\r\n\r\n        <dialog-buttons>\r\n            <div class="c-group">\r\n                <button ng-click="$ctrl.addSupportPlan()"\r\n                        ng-disabled="!$ctrl.isDialogPopulated() || $ctrl.isAddingSupportPlan"\r\n                        id="workflow-buy-subscription-add"\r\n                        class="c-button f-primary"\r\n                        name="add-support-plan"\r\n                        type="button"\r\n                        data-bi-id="workflow-buy-subscription-add">\r\n                    {{ ::$ctrl.strings.common_Button_Add}}\r\n                <\/button>\r\n                <button ng-disabled="$ctrl.isAddingSupportPlan"\r\n                        id="workflow-buy-subscription-cancel"\r\n                        class="c-button"\r\n                        name="cancel-add-plan"\r\n                        type="button"\r\n                        data-js-dialog-hide="dialog-plan-add"\r\n                        data-bi-id="workflow-buy-subscription-cancel">\r\n                    {{ ::$ctrl.strings.common_Button_Cancel}}\r\n                <\/button>\r\n            <\/div>\r\n        <\/dialog-buttons>\r\n    <\/spc-dialog>\r\n<\/div>');n.put("/src/app/broadCommercial/components/doubleCardCallToAction/doubleCardCallToAction.component.html",'<div class="sp-container-background" data-grid="col-12" ng-cloak>\r\n    <div class="sp-container-image" data-grid="col-6">\r\n        <picture class="c-image sp-img-left">\r\n            <img src="{{ ::$ctrl.imgSrc }}" alt="{{ ::$ctrl.imgAltText }}">\r\n        <\/picture>\r\n    <\/div>\r\n    <div class="sp-container-body" data-grid="col-6">\r\n        <div class="sp-row-text" data-grid="col-12">\r\n            <p class="c-paragraph-3 sp-text-title">\r\n                {{ ::$ctrl.cardTitle }}\r\n            <\/p>\r\n            <p class="c-paragraph-3 f-lean sp-text-description">\r\n                {{ ::$ctrl.details }}\r\n            <\/p>\r\n        <\/div>\r\n        <div class="sp-row-link" data-grid="col-12">\r\n            <div class="sp-container-anchor">\r\n                <spc-call-to-action component-id="{{ ::$ctrl.linkId }}"\r\n                                    is-lightweight="true"\r\n                                    is-new-tab="::$ctrl.isNewTab"\r\n                                    label="{{ ::$ctrl.linkText }}"\r\n                                    source="{{ $ctrl.linkUrl }}" />\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/drawerButtonHeader/drawerButtonHeader.component.html",'<div class="sp-drawer-button-header" ng-cloak>\r\n    <header class="m-heading-4 sp-container-header">\r\n        <h2 class="c-heading sp-header-text"><span class="c-glyph {{ ::$ctrl.glyphId }} sp-glyph" ng-if="::$ctrl.showGlyph()" />&nbsp;&nbsp;{{ ::$ctrl.headerText }}<\/h2>\r\n    <\/header>\r\n    <div class="sp-div-header-description">\r\n        <p ng-if="::$ctrl.showDescription()">{{ ::$ctrl.descriptionText }}<\/p>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/emailInteraction/emailInteraction.component.html",'<div>\r\n    <div class="sp-communication-new-message">\r\n        <spc-email-message email-from="$ctrl.interactions.signedInUser"\r\n                           last-email-date="{{ $ctrl.lastEmailUpdateDate }}"\r\n                           privacy-statement-url="{{::$ctrl.privacyStatementUrl}}"\r\n                           send-new-email-to-interactions="$ctrl.sendMessageToCommunications(newEmailMessageContent)"\r\n                           case-state="{{::$ctrl.caseState}}"/>\r\n    <\/div>\r\n    <div id="tab-position" tabindex="-1"><\/div>\r\n    <div ng-if="$ctrl.interactions.emailList.length > 0"\r\n         class="m-table sp-communication-email"\r\n         ng-class="{\'sp-communication-list-scroll\': $ctrl.interactions.emailList.length >= 7 }"\r\n         data-grid="container">\r\n        <div class="c-table">\r\n            <table>\r\n                <thead>\r\n                    <tr>\r\n                        <th scope="col" colspan="1" class="sp-sender-header">{{::$ctrl.strings.requestDetails_CommunicationsEmailSender}}<\/th>\r\n                        <th scope="col" colspan="1">{{::$ctrl.strings.requestDetails_CommunicationsEmailSubject}}<\/th>\r\n                        <th scope="col" colspan="1" class="sp-communication-email-date-align">{{::$ctrl.strings.requestDetails_CommunicationsEmailDateTime}}<\/th>\r\n                    <\/tr>\r\n                <\/thead>\r\n                <tbody class={{$ctrl.emailReply[$index].rowBackgroundColor}} ng-repeat="email in $ctrl.interactions.emailList">\r\n                    <tr>\r\n                        <td>\r\n                            <button id="broadcommercial-chevron-button-{{$index}}"\r\n                                    data-bi-id="request-details-communications-email-seebody"\r\n                                    data-bi-name="See email body"\r\n                                    data-bi-selected ="{{$index + 1}}"\r\n                                    data-bi-totalcount = "{{$ctrl.interactions.emailList.length}}"\r\n                                    ng-click="$ctrl.openMessage($index, email.id)"\r\n                                    class="sp-email-sender-button">\r\n                                <span class={{$ctrl.emailReply[$index].glyphChevron}}><\/span> {{ $ctrl.getUserContact(email.FromAddress) }}\r\n                            <\/button>\r\n                        <\/td>\r\n                        <td class="sp-sender-subject"> {{email.Subject}} <\/td>\r\n                        <td class="sp-communication-email-date-align"> {{email.CreatedOn | date:\'short\'}} <\/td>\r\n                    <\/tr>\r\n                    <tr ng-if="$ctrl.emailReply[$index].showEmailBody">\r\n                        <td colspan="3" class="sp-row-height">\r\n                            <hr class="sp-email-sender-line">\r\n                        <\/td>\r\n                    <\/tr>\r\n                    <tr ng-if="$ctrl.emailReply[$index].showEmailBody">\r\n                        <td ng-if="$ctrl.emailReply[$index].isFetchingEmailBody" colspan="3" class="sp-sender-body">\r\n                            <loading-bar loading-type="bar" aria-value="{{::$ctrl.strings.requestDetails_CommunicationsEmailBodyLoadingBar}}" aria-label="{{::$ctrl.strings.requestDetails_CommunicationsEmailBodyLoadingBar}}" />\r\n                        <\/td>\r\n                        <td ng-if="!$ctrl.emailReply[$index].isFetchingEmailBody" colspan="3" class="sp-sender-body">\r\n                            <div id="email-body-{{$index}}" tabindex="-1">\r\n                                <p ng-bind-html="$ctrl.emailReply[$index].emailBody"><\/p>\r\n                            <\/div>\r\n                            <button id="broadcommercial-request-details-communications-email-reply-{{$index}}"\r\n                                    data-bi-id="request-details-communications-email-reply"\r\n                                    data-bi-selected="{{$index + 1}}"\r\n                                    data-bi-totalcount = "{{$ctrl.interactions.emailList.length}}"\r\n                                    ng-click="$ctrl.clickReplyButton($index)" ng-if="$ctrl.emailReply[$index].showReplyButton" class="c-button f-primary"\r\n                                    ng-disabled="!$ctrl.isCaseOpen()">{{::$ctrl.strings.requestDetails_CommunicationsReplyButtonText}}\r\n                            <\/button>\r\n                        <\/td>\r\n                    <\/tr>\r\n                    <tr ng-if="$ctrl.emailReply[$index].showReplyForm">\r\n                        <td colspan="3"  class="sp-sender-body">\r\n                            <div>\r\n                                <div class="c-textarea">\r\n                                    <spc-text-area component-id="request-details-reply-message-{{$index}}"\r\n                                                   component-name="body"\r\n                                                   is-flex="true"\r\n                                                   is-scroll="true"\r\n                                                   label="<b>{{::$ctrl.strings.requestDetails_CommunicationsMicrosoftSupport}}<\/b>{{::$ctrl.strings.requestDetails_CommunicationsContactsReceiveReply}}"\r\n                                                   max-length-allowed="1000"\r\n                                                   is-required="true"\r\n                                                   required-color="red"\r\n                                                   on-change="$ctrl.onInput($index, payloadPropertyName, textValue)"\r\n                                                   placeholder={{::$ctrl.strings.requestDetails_CommunicationsReplyEmail}}>\r\n                                    <\/spc-text-area>\r\n                                <\/div>\r\n                                <div ng-if="$ctrl.emailReply[$index].displayErrorAlert">\r\n                                    <spc-alert alert-message="{{::$ctrl.strings.requestDetails_CommunicationsEmailSendFailureAlert}}"\r\n                                               aria-label="{{::$ctrl.strings.requestDetails_CommunicationsEmailSendFailureAlert}}"\r\n                                               component-id="emailCreateFailAlert-{{$index}}"\r\n                                               isError="true" />\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class="sp-bottom-part">\r\n                                <div data-grid="col-8" class="sp-privacy-statement">\r\n                                    <p>\r\n                                        {{::$ctrl.strings.requestDetails_CommunicationsPrivacyStatementText}}\r\n                                        <a data-bi-id="request-details-communications-email-reply-privacy-statement"\r\n                                           href={{::$ctrl.privacyStatementUrl}} class="c-hyperlink" target="_blank">\r\n                                            {{::$ctrl.strings.requestDetails_CommunicationsPrivacyStatementLabel}}\r\n                                        <\/a>\r\n                                    <\/p>\r\n                                <\/div>\r\n                                <div>\r\n                                    <button id="broadcommercial-request-details-communications-email-cancelreply-{{$index}}"\r\n                                            data-bi-id="request-details-communications-email-cancelreply"\r\n                                            data-bi-selected="{{$index+1}}"\r\n                                            data-bi-totalcount="{{$ctrl.interactions.emailList.length}}"\r\n                                            ng-click="$ctrl.changeState($index)"\r\n                                            ng-disabled="$ctrl.emailReply[$index].formSubmitting"\r\n                                            class="c-button">{{::$ctrl.strings.common_Button_Cancel}}<\/button>\r\n                                    <button id="broadcommercial-request-details-communications-email-sendreply-{{$index}}"\r\n                                            data-bi-id="request-details-communications-email-sendreply"\r\n                                            data-bi-selected="{{$index+1}}"\r\n                                            data-bi-totalcount="{{$ctrl.interactions.emailList.length}}"\r\n                                            ng-click="$ctrl.sendCallBack($index, email.Subject)"\r\n                                            class="c-button f-primary"\r\n                                            ng-disabled="!$ctrl.enableFormSubmit($index)">{{::$ctrl.strings.common_ButtonSubmit}}<\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/td>\r\n                    <\/tr>\r\n                    <tr>\r\n                        <td colspan="3" class="sp-row-height">\r\n                            <hr class={{$ctrl.emailReply[$index].hrLineStyle}}>\r\n                        <\/td>\r\n                    <\/tr>\r\n                <\/tbody>\r\n            <\/table>\r\n        <\/div>\r\n        <p class="x-screen-reader" aria-live="assertive">\r\n            {{ $ctrl.ariaMessage }}\r\n        <\/p>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/emailMessage/emailMessage.component.html",'<div ng-cloak>\r\n    <div class="sp-new-email-update-header" tabindex="-1">\r\n        <div ng-if="!$ctrl.isForm" class="sp-email-detail">\r\n            <div class="sp-new-message">\r\n                <button id="broadcommercial-request-details-communications-email-createnew" \r\n                        data-bi-id="request-details-communications-email-createnew"\r\n                        class="c-button" \r\n                        ng-click="$ctrl.toggleOptionsAndForm()"\r\n                        ng-disabled="!$ctrl.isCaseOpen()">\r\n                    <span class="c-glyph glyph-mail sp-glyph-align"><\/span>\r\n                    {{::$ctrl.strings.requestDetails_CommunicationsEmailNewMessage}}\r\n                <\/button>\r\n            <\/div>\r\n            <div class="sp-last-email-interaction-update" ng-if="$ctrl.lastUpdateMessage != \'\'">\r\n                <p class="c-paragraph-3 sp-update-time"> {{ $ctrl.lastUpdateMessage }} <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <div ng-if="$ctrl.isForm" class="sp-new-message-text">\r\n            <h4>\r\n                {{ $ctrl.strings.requestDetails_CommunicationsEmailNewMessage }} {{ $ctrl.updatingNow }}\r\n            <\/h4>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="sp-new-message-form" ng-if="$ctrl.isForm">\r\n        <form role="form" ng-submit="$ctrl.createNewEmailMessage()" aria-label="{{$ctrl.strings.requestDetails_CommunicationsEmailNewMessage}}">\r\n            <div data-grid="col-12" class="sp-new-message-form-display-only-text">\r\n                <div data-grid="col-1">{{::$ctrl.strings.requestDetails_CommunicationsFrom}} <\/div>\r\n                <div data-grid="col-2"> <b> {{::$ctrl.emailFromUserName }}<\/b><\/div>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \r\n            <\/div>\r\n            <div data-grid="col-12" class="sp-new-message-form-display-only-text">\r\n                <div data-grid="col-1">{{::$ctrl.strings.requestDetails_CommunicationsTo}} <\/div>\r\n                <div data-grid="col-2"> <b> {{::$ctrl.strings.requestDetails_CommunicationsMicrosoftSupport}}<\/b><\/div>\r\n                <div data-grid="col-3" class="sp-email-to-subtext"> {{::$ctrl.strings.requestDetails_CommunicationsEmailSubjectSubtext}}<\/div>\r\n            <\/div>\r\n\r\n            <div data-grid="col-12">\r\n                <label class="c-label" for="newEmailSubject">{{::$ctrl.strings.requestDetails_CommunicationsNewEmailSubject}} <span class="sp-subject-required"> * <\/span> <\/label>\r\n                <input id="newEmailSubject"\r\n                       class="c-text-field"\r\n                       type="text"\r\n                       name="newEmailSubject"\r\n                       ng-model="$ctrl.newEmailMessage.subject"\r\n                       placeholder="{{::$ctrl.strings.requestDetails_CommunicationsEmailSubjectPlaceholder}}"\r\n                       ng-change="$ctrl.onInput(\'subject\', $ctrl.newEmailMessage.subject)">\r\n            <\/div>\r\n            <div data-grid="col-12" ng-if="$ctrl.displaySubjectLengthAlert">\r\n                <spc-alert alert-message="{{::$ctrl.string.requestDetails_CommunicationsSubjectLengthAlert}}"\r\n                           aria-label="{{::$ctrl.string.requestDetails_CommunicationsSubjectLengthAlert}}"\r\n                           component-id="subjectLengthAlert"\r\n                           isError="true" />\r\n            <\/div>\r\n\r\n            <div data-grid="col-12" class="c-textarea">\r\n                <spc-text-area component-id="newEmailUserMessage" \r\n                               label="{{::$ctrl.strings.requestDetails_CommunicationsEmailMessageLabel}}" \r\n                               component-name="body" \r\n                               is-scroll="true" \r\n                               is-flex="true" \r\n                               is-required="true"\r\n                               required-color="red"\r\n                               rows="3" \r\n                               max-length-allowed="1000"\r\n                               placeholder="{{::$ctrl.strings.requestDetails_CommunicationsEmailMessagePlaceholder}}"\r\n                               on-change="$ctrl.onInput(payloadPropertyName, textValue)" />\r\n\r\n                <div data-grid="col-12" ng-if="$ctrl.displayErrorAlert">\r\n                    <spc-alert alert-message="{{::$ctrl.strings.requestDetails_CommunicationsEmailSendFailureAlert}}"\r\n                               aria-label="{{::$ctrl.strings.requestDetails_CommunicationsEmailSendFailureAlert}}"\r\n                               component-id="emailCreateFailAlert"\r\n                               isError="true" />\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div data-grid="col-12">\r\n                <div class="sp-bottom-part">\r\n                    <div data-grid="col-8" class="sp-privacy-statement">\r\n                        <p class="f-lean sp-new-message-form-display-only-text">\r\n                            {{::$ctrl.strings.requestDetails_CommunicationsPrivacyStatementText}}\r\n                            <a data-bi-id="request-details-communications-email-new-privacy-statement"\r\n                               href="{{::$ctrl.privacyStatementUrl}}" target="_blank" class="c-hyperlink">\r\n                                {{::$ctrl.strings.requestDetails_CommunicationsPrivacyStatementLabel}}\r\n                            <\/a>\r\n                        <\/p>\r\n                    <\/div>\r\n                    <div class="sp-new-message-buttons">\r\n                        <button id="broadcommercial-request-details-communications-email-cancelnew"\r\n                                data-bi-id="request-details-communications-email-cancelnew"\r\n                                name="button" class="c-button f-primary"\r\n                                ng-disabled="$ctrl.formSubmitting"\r\n                                ng-click="$ctrl.toggleOptionsAndForm()">\r\n                            {{::$ctrl.strings.common_Button_Cancel}}\r\n                        <\/button>\r\n                        <button id="broadcommercial-request-details-communications-email-sendnew"\r\n                                data-bi-id="request-details-communications-email-sendnew"\r\n                                name="button" class="c-button f-primary" type="submit"\r\n                                ng-disabled="!$ctrl.enableFormSubmit()">\r\n                            {{::$ctrl.strings.common_ButtonSubmit}}\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n             <\/div>\r\n        <\/form>\r\n    <\/div>\r\n    <p class="x-screen-reader" aria-live="assertive">\r\n        {{ $ctrl.ariaMessage }}\r\n    <\/p>\r\n<\/div>');n.put("/src/app/broadCommercial/components/errorView/errorView.component.html",'<section id="{{::$ctrl.componentId}}" class="m-feature f-align-center sp-error-view-feature" ng-cloak>\r\n    <div class="sp-error-glyph-container">\r\n        <span class="c-glyph sp-errors-glyph" aria-hidden="true" />\r\n    <\/div>\r\n    <div>\r\n        <h2 id="{{::$ctrl.componentId}}-heading" class="c-heading sp-error-view-heading">\r\n            {{ ::$ctrl.heading }}\r\n        <\/h2>\r\n        <div id="{{::$ctrl.componentId}}-body" class="sp-error-view-description" ng-transclude="body" />\r\n        <div id="{{::$ctrl.componentId}}-actions" class="c-group" ng-transclude="actions" />\r\n    <\/div>\r\n<\/section>');n.put("/src/app/broadCommercial/components/pageHeader/pageHeader.component.html",'<header class="m-heading-4" ng-cloak>\r\n    <h2 class="c-heading sp-page-header">{{ ::$ctrl.title }}<\/h2>\r\n<\/header>');n.put("/src/app/broadCommercial/components/paymentThankYou/paymentThankYouView.component.html",'<section data-grid="col-12" class="sp-payment-thank-you-view-feature">\r\n    <div class="col-4">\r\n        <h2 class="c-heading-4 f-lean">{{ ::$ctrl.strings.purchaseThankYou_Heading }}<\/h2>\r\n        <div class="sp-payment-order-number x-m-t-6x">\r\n            <div class="col-12 sp-transaction-id">{{ ::$ctrl.strings.purchaseThankYou_OrderNumber }} {{ ::$ctrl.purchaseInfo.purchaseTransactionId }}<\/div>\r\n            <div class="col-12">{{ ::$ctrl.strings.purchaseThankYou_receiptMail }}<\/div>\r\n            <div class="col-12 sp-email">{{ $ctrl.userEmail }}<\/div>\r\n        <\/div>\r\n        <div class="x-m-t-5x"><strong>{{ ::$ctrl.purchaseTitle }}<\/strong><\/div>\r\n        <div class="sp-payment-support-info">{{ ::$ctrl.strings.purchaseThankYou_Terms }}<\/div>\r\n        <div>\r\n            <div class="sp-support-option-businesshours">{{ ::$ctrl.purchaseSupportHours }}<\/div>\r\n            <div ng-if="$ctrl.isBusinessHourSupport($ctrl.supportOption.supportHours)" class="sp-support-option-businesshours">\r\n                <button id="business-hours-information-glyph-{{$index}}" name="button" class="c-button f-lightweight sp-business-hours-information-button" type="button" aria-label={{ ::$ctrl.strings.purchaseDetails_businessHours_flyoutButtonLabel }} aria-describedby="business-hours-flyout-{{$index}}">\r\n                    <span class="c-glyph glyph-info" />\r\n                <\/button>\r\n                <div class="c-flyout" id="business-hours-flyout-{{$index}}" role="tooltip" data-js-flyout-placement="bottom" data-js-flyout-dismissible="true" aria-hidden="true">\r\n                    <spc-business-hours-view region-code="{{ ::$ctrl.regionCode }}" />\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <hr class="x-m-t-5x" data-grid="col-12" />\r\n        <div data-grid="col-12" class="x-m-t-5x">\r\n            <div data-grid="col-12" class="sp-dictionary-item">\r\n                <span class="sp-purchase-key">{{ ::$ctrl.strings.purchaseDetails_totalBeforeTax_label }}<\/span>\r\n                <div class="sp-purchase-value">{{ ::$ctrl.formatCurrency($ctrl.purchaseInfo.totalPriceWithoutTax, $ctrl.supportOption.currency) }}<\/div>\r\n            <\/div>\r\n            <div data-grid="col-12" class="sp-dictionary-item">\r\n                <span class="sp-purchase-key">{{::$ctrl.strings.purchaseDetails_tax_label}}<\/span>\r\n                <div class="sp-purchase-value">{{ ::$ctrl.formatCurrency($ctrl.purchaseInfo.totalTax, $ctrl.supportOption.currency) }}<\/div>\r\n            <\/div>\r\n            <div data-grid="col-12" class="sp-dictionary-item">\r\n                <strong class="sp-purchase-key">{{::$ctrl.strings.purchaseDetails_total_label}}<\/strong>\r\n                <strong class="sp-purchase-value">{{ ::$ctrl.formatCurrency($ctrl.totalWithTax, $ctrl.supportOption.currency) }}<\/strong>\r\n            <\/div>\r\n            <div data-grid="col-12" class="sp-dictionary-item">\r\n                <span class="sp-purchase-key">{{::$ctrl.strings.purchaseDetails_selectedPaymentMethod_label}}<\/span>\r\n                <div class="sp-purchase-value sp-credit-card-number">{{$ctrl.paymentInfo.paymentMethod.display.name}} **{{$ctrl.paymentInfo.details.lastFourDigits}}<\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div data-grid="col-12" class="x-m-t-5x sp-billing-address">\r\n            <span data-grid="col-12"><strong>{{::$ctrl.strings.purchaseThankYou_BillingAddress}}<\/strong><\/span>\r\n            <span data-grid="col-12">{{$ctrl.paymentInfo.details.accountHolderName}}<\/span>\r\n            <span data-grid="col-12">{{$ctrl.paymentInfo.details.address.address_line1}}<\/span>\r\n            <span data-grid="col-12">{{$ctrl.paymentInfo.details.address.city}}, {{$ctrl.paymentInfo.details.address.region}} {{$ctrl.paymentInfo.details.address.postal_code}}<\/span>\r\n        <\/div>\r\n        <hr class="x-m-t-5x x-m-b-5x" data-grid="col-12" />\r\n        <div ng-bind-html="$ctrl.strClickNext" class="sp-payment-support-hours">{{$ctrl.strClickNext}}<\/div>\r\n    <\/div>\r\n<\/section>');n.put("/src/app/broadCommercial/components/phoneInteraction/phoneInteraction.component.html",'<div ng-if="$ctrl.interactions.length == 0" class="sp-no-communications" data-grid="container" ng-cloak>\r\n    {{ ::$ctrl.strings.requestDetails_CommunicationsPhoneNoConversation}}\r\n<\/div>\r\n<div ng-if="$ctrl.interactions.length > 0" \r\n     class="m-table sp-communications-phone" \r\n     ng-class="{\'sp-communication-list-scroll\': $ctrl.interactions.length >= 6 }"\r\n     data-grid="container">\r\n    <div class="c-table f-divided">\r\n        <table>\r\n            <thead>\r\n                <tr>\r\n                    <th scope="col" colspan="1">{{::$ctrl.strings.requestDetails_CommunicationsFrom}}<\/th>\r\n                    <th scope="col" colspan="1">{{::$ctrl.strings.requestDetails_CommunicationsTo}}<\/th>\r\n                    <th scope="col" colspan="1" class="sp-communications-phone-date-align">{{::$ctrl.strings.requestDetails_CommunicationsPhoneDateTime}}<\/th>\r\n                <\/tr>\r\n            <\/thead>\r\n            <tbody ng-repeat="interaction in ::$ctrl.interactions | orderBy:\'-CreatedOn\'">\r\n                <tr ng-if="interaction.Direction.toLowerCase() === $ctrl.phoneInteractionsDirections.inbound">\r\n                    <td>\r\n                        <span aria-label="{{::$ctrl.strings.requestDetails_CommunicationsPhoneOutgoingCall}}" class="c-glyph sp-outbound-call-glyph" />\r\n                        {{ $ctrl.getUserContact(interaction) }}\r\n                    <\/td>\r\n                    <td> {{::$ctrl.strings.requestDetails_CommunicationsMicrosoftSupport}} <\/td>\r\n                    <td class="sp-communications-phone-date-align"> {{ interaction.CreatedOn | date:\'short\'}} <\/td>\r\n                <\/tr>\r\n                <tr ng-if="interaction.Direction.toLowerCase() === $ctrl.phoneInteractionsDirections.outbound">\r\n                    <td>\r\n                        <span aria-label="{{::$ctrl.strings.requestDetails_CommunicationsPhoneIncomingCall}}" class="c-glyph sp-inbound-call-glyph" />\r\n                        {{::$ctrl.strings.requestDetails_CommunicationsMicrosoftSupport}}\r\n                    <\/td>\r\n                    <td> {{ $ctrl.getUserContact(interaction) }}<\/td>\r\n                    <td class="sp-communications-phone-date-align"> {{ interaction.CreatedOn | date:\'short\' }} <\/td>\r\n                <\/tr>\r\n            <\/tbody>\r\n        <\/table>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/pidlView/pidlView.component.html",'<label ng-if="$ctrl.pidlAction.name === \'selectresource\' && !$ctrl.noPaymentMethods" class="c-label" aria-label="{{::$ctrl.strings.purchaseDetails_paymentMethod_ariaLabel}}" for="pidlInput_id">{{::$ctrl.strings.purchaseDetails_paymentMethod_label}}<\/label>\r\n<div id="{{::$ctrl.componentId}}-pidlsdkrenderdiv" class="sp-pidl-view" data-grid="col-12"><\/div>');n.put("/src/app/broadCommercial/components/productPicker/productPicker.component.html",'<!--<div ng-if="isLoadingForm || isPageLoading || waitingToLogin" data-grid="col-12">\r\n    <progress-bar data-type="bar" screenreader="ariaLabel">\r\n    <\/progress-bar>\r\n<\/div>-->\r\n<div class="form-group row" ng-if="!loadingProducts" ng-cloak>\r\n    <form name="ProductPickerForm" class="sp-product-picker-form col-lg-12 clearfix" role="form" aria-label="{{ ::$ctrl.strings.productPicker_SectionHeader }}">\r\n        <div>\r\n            <div class="sp-loading-bar-area">\r\n                <div data-grid="col-12" ng-if="$ctrl.showLoadingBar">\r\n                    <loading-bar loading-type="bar" aria-value="{{::$ctrl.strings.commonLoadingBar}}" aria-label="{{::$ctrl.strings.commonLoadingBar}}" />\r\n                <\/div>\r\n                <div data-grid="col-12" ng-if="!$ctrl.showLoadingBar && $ctrl.apiToGetProductsFailed">\r\n                    <spc-alert alert-message="{{::$ctrl.strings.productPicker_apiFailure_AlertMessage}}"\r\n                               component-id="sp-product-picker-api-failure-error"\r\n                               component-aria-label="{{::$ctrl.strings.productPicker_apiFailure_AlertMessage}}"\r\n                               add-correlation-vector="true"\r\n                               is-error="true" />\r\n                <\/div>\r\n            <\/div>\r\n            <div id="product-family-picker-div" ng-hide="!$ctrl.productFamilySaps.length">\r\n                <label for="product-family-picker" class="c-label">{{::$ctrl.strings.productPicker_Family_Label}}<\/label>\r\n                <select class="c-select f-border sp-select" ng-model="$ctrl.data.selectedProductFamilySapId" ng-change="$ctrl.processDropDownSelection(\'ProductFamily\')"\r\n                        id="product-family-picker">\r\n                    <option value="" disabled selected class="placeholder">{{::$ctrl.strings.productPicker_Family_Label}}<\/option>\r\n                    <option ng-repeat="item in $ctrl.productFamilySaps | orderBy:\'name\'" value="{{item.id}}" title="{{item.name}}" ng-selected="$ctrl.data.selectedProductFamilySapId == item.id"\r\n                            data-toggle="tooltip" data-placement="bottom">\r\n                        {{item.name}}\r\n                    <\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <div id="product-name-picker-div" ng-hide="!$ctrl.productNameSaps.length">\r\n                <label for="product-name-picker" class="c-label">{{::$ctrl.strings.productPicker_Name_Label}}<\/label>\r\n                <select class="c-select f-border sp-select" ng-model="$ctrl.data.selectedProductNameSapId" id="product-name-picker" ng-change="$ctrl.processDropDownSelection(\'ProductName\')">\r\n                    <option value="" disabled selected class="placeholder">{{::$ctrl.strings.productPicker_Name_Label}}<\/option>\r\n                    <option ng-repeat="item in $ctrl.productNameSaps | orderBy:\'name\'" value="{{item.id}}" title="{{item.name}}" ng-selected="$ctrl.data.selectedProductNameSapId == item.id"\r\n                            data-toggle="tooltip" data-placement="bottom">\r\n                        {{item.name}}\r\n                    <\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <div id="product-version-picker-div" ng-hide="!$ctrl.productVersionSaps.length">\r\n                <label for="product-version-picker" class="c-label">{{::$ctrl.strings.productPicker_Version_Label}}<\/label>\r\n                <select class="c-select f-border sp-select" ng-model="$ctrl.data.selectedProductVersionSapId" id="product-version-picker" ng-change="$ctrl.processDropDownSelection(\'ProductVersion\')">\r\n                    <option value="" disabled selected class="placeholder">{{::$ctrl.strings.productPicker_Version_Label}}<\/option>\r\n                    <option ng-repeat="item in $ctrl.productVersionSaps | orderBy:\'name\'" value="{{item.id}}" title="{{item.name}}" ng-selected="$ctrl.data.selectedProductVersionSapId == item.id"\r\n                            data-toggle="tooltip" data-placement="bottom">\r\n                        {{item.name}}\r\n                    <\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <div id="product-category-picker-div" ng-hide="!$ctrl.categorySaps.length">\r\n                <label for="product-category-picker" class="c-label">{{::$ctrl.strings.productPicker_Category_Label}}<\/label>\r\n                <select class="c-select f-border sp-select" ng-model="$ctrl.data.selectedCategorySapId" id="product-category-picker" ng-change="$ctrl.processDropDownSelection(\'Category\')">\r\n                    <option value="" disabled selected class="placeholder">{{::$ctrl.strings.productPicker_Category_Label}}<\/option>\r\n                    <option ng-repeat="item in $ctrl.categorySaps | orderBy:\'name\'" value="{{item.id}}" title="{{item.name}}" ng-selected="$ctrl.data.selectedCategorySapId == item.id"\r\n                            data-toggle="tooltip" data-placement="bottom">\r\n                        {{item.name}}\r\n                    <\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <div id="product-subcategory-picker-div" ng-hide="!$ctrl.subCategorySaps.length">\r\n                <label for="product-subcategory-picker" class="c-label">{{::$ctrl.strings.productPicker_Subcategory_Label}}<\/label>\r\n                <select class="c-select f-border sp-select" ng-model="$ctrl.data.selectedSubCategorySapId" id="product-subcategory-picker" ng-change="$ctrl.processDropDownSelection(\'SubCategory\')">\r\n                    <option value="" disabled selected class="placeholder">{{::$ctrl.strings.productPicker_Subcategory_Label}}<\/option>\r\n                    <option ng-repeat="item in $ctrl.subCategorySaps | orderBy:\'name\'" value="{{item.id}}" title="{{item.name}}" ng-selected="$ctrl.data.selectedSubCategorySapId == item.id"\r\n                            data-toggle="tooltip" data-placement="bottom">\r\n                        {{item.name}}\r\n                    <\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <div ng-if="$ctrl.isRedirectionDisclaimerAvailable" class="sp-redirection-disclaimer" id="redirectionDisclaimer">\r\n                <h3 class="c-heading">\r\n                    <span class="c-paragraph">{{$ctrl.disclaimerResource}}<\/span>\r\n                    <a ng-href={{$ctrl.redirectionLink}} class="c-hyperlink" target="_blank">{{$ctrl.hyperlinkCaption}}<\/a>\r\n                <\/h3>\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n<\/div>');n.put("/src/app/broadCommercial/components/psd2ChallengeView/psd2ChallengeView.component.html",'<div id="{{::$ctrl.componentId}}-psd2challengerenderdiv" class="sp-psd2-challenge-view" data-grid="col-12"><\/div>');n.put("/src/app/broadCommercial/components/purchaseConfirmation/purchaseConfirmation.component.html",'<div class="sp-purchase-confirmation-view" ng-cloak>\r\n    <div>\r\n        <div ng-if="!$ctrl.isPsd2Challenge">\r\n            <div class="sp-purchase-details-group x-clearfix" ng-cloak>\r\n                <div data-grid="col-12">\r\n                    <h2 class="c-heading-4 f-lean">{{::$ctrl.purchaseDetails_Title}}<\/h2>\r\n                <\/div>\r\n                <hr class="x-m-t-5x" data-grid="col-12" />\r\n            <\/div>\r\n            <div data-grid="col-12" class="x-m-t-5x">\r\n                <div data-grid="col-12" class="sp-dictionary-item">\r\n                    <span class="sp-purchase-key">{{ ::$ctrl.strings.purchaseDetails_totalBeforeTax_label }}<\/span>\r\n                    <span class="sp-purchase-value">{{ ::$ctrl.formatCurrency($ctrl.purchaseInfo.totalPriceWithoutTax, $ctrl.supportOption.currency) }}<\/span>\r\n                <\/div>\r\n                <div data-grid="col-12" class="sp-dictionary-item">\r\n                    <span class="sp-purchase-key">{{::$ctrl.strings.purchaseDetails_tax_label}}<\/span>\r\n                    <span class="sp-purchase-value">{{ ::$ctrl.formatCurrency($ctrl.purchaseInfo.totalTax, $ctrl.supportOption.currency) }}<\/span>\r\n                <\/div>\r\n                <div data-grid="col-12" class="sp-dictionary-item">\r\n                    <strong class="sp-purchase-key">{{::$ctrl.strings.purchaseDetails_total_label}}<\/strong>\r\n                    <strong class="sp-purchase-value">{{ ::$ctrl.formatCurrency($ctrl.totalWithTax, $ctrl.supportOption.currency) }}<\/strong>\r\n                <\/div>\r\n                <hr class="x-m-t-5x" data-grid="col-12" />\r\n                <div data-grid="col-12" class="sp-dictionary-item x-m-t-5x">\r\n                    <span class="sp-purchase-key">{{::$ctrl.strings.purchaseDetails_selectedPaymentMethod_label}}<\/span>\r\n                    <div class="sp-purchase-value sp-credit-card-number">{{$ctrl.paymentInfo.paymentMethod.display.name}} **{{$ctrl.paymentInfo.details.lastFourDigits}}<\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<div tabindex="0" ng-focus="$ctrl.focusDialog()"><\/div>\r\n\r\n');n.put("/src/app/broadCommercial/components/purchaseDetails/purchaseDetails.component.html",'<div class="sp-purchase-details-group x-clearfix" ng-cloak>\r\n    <div data-grid="col-12">\r\n        <h2 class="c-heading-4 f-lean">{{::$ctrl.purchaseDetails_Title}}<\/h2>\r\n    <\/div>\r\n\r\n    <div data-grid="col-12" class="x-m-t-6x sp-dictionary-item">\r\n        <strong class="sp-purchase-key">{{::$ctrl.strings.purchaseDetails_total_label}}<\/strong>\r\n        <strong class="sp-purchase-value">{{ ::$ctrl.formatCurrency($ctrl.supportOption.amount, $ctrl.supportOption.currency) }}<\/strong>\r\n    <\/div>\r\n    <div data-grid="col-12">\r\n        <span class="sp-before-taxes-text">{{::$ctrl.strings.purchaseDetails_beforeTaxes_text}}<\/span>\r\n    <\/div>\r\n\r\n    <hr class="x-m-t-5x" data-grid="col-12" />\r\n<\/div>');n.put("/src/app/broadCommercial/components/purchaseSupportOptionsList/purchaseSupportOptionsList.component.html",'<div class="m-card-group sp-purchase-support-card-group" data-grid="container" ng-cloak>\r\n    <div class="c-card f-double" ng-repeat="option in $ctrl.supportOptions">\r\n        <div class="c-card-content">\r\n            <div data-grid="col-12" class="sp-support-option-item">\r\n                <div data-grid="col-8">\r\n                    <strong id="support-option-title-{{$index}}" class="sp-support-option-title">{{$ctrl.strings[\'purchase_\' + option.count + \'_\' + option.supportHours + \'_title\']}}<\/strong>\r\n                    <p class="sp-support-option-description">{{$ctrl.strings[\'purchase_\' + option.count + \'_\' + option.supportHours + \'_description\']}}<\/p>\r\n                    <div class="sp-support-option-sla">\r\n                        {{$ctrl.strings[\'purchase_\' + option.supportHours + \'_slaDetail\']}}\r\n                        <div ng-if="$ctrl.isBusinessHourSupport(option.supportHours)" class="sp-support-option-businesshours">\r\n                            <button id="business-hours-information-glyph-{{$index}}" name="button" class="c-button f-lightweight sp-business-hours-information-button" type="button" aria-label={{ ::$ctrl.strings.purchaseDetails_businessHours_flyoutButtonLabel }} aria-describedby="business-hours-flyout-{{$index}}">\r\n                                <span class="c-glyph glyph-info" />\r\n                            <\/button>\r\n                            <div class="c-flyout" id="business-hours-flyout-{{$index}}" role="tooltip" data-js-flyout-placement="bottom" data-js-flyout-dismissible="true" aria-hidden="true">\r\n                                <spc-business-hours-view region-code="{{::$ctrl.regionCode}}" />\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div data-grid="col-1" />\r\n                <div data-grid="col-3">\r\n                    <p class="sp-support-option-price">{{ ::$ctrl.formatCurrency(option.amount, option.currency) }}<\/p>\r\n                    <p class="sp-support-option-buy">\r\n                        <a href="#"\r\n                           class="c-call-to-action c-glyph"\r\n                           id="purchase-button-{{$index}}"\r\n                           data-bi-id="workflow-buy-dialog-view"\r\n                           data-bi-identifier="{{option.supportHours}}|{{option.count}}"\r\n                           data-bi-selected="{{$index + 1}}"\r\n                           data-bi-totalcount="{{$ctrl.supportOptions.length}}"\r\n                           aria-label="{{ ::$ctrl.strings[\'purchase_\' + option.count + \'_\' + option.supportHours + \'_buyNowAriaLabel\'] }}"\r\n                           aria-disabled={{!$ctrl.purchaseDialogComponent}} ng-click="$ctrl.onClick($event, option)">{{::$ctrl.strings.purchase_buyNowButtonText}}<\/a>\r\n                    <\/p>\r\n                    <p class="sp-support-option-usage-timeframe">{{::$ctrl.strings.purchase_contractExpiryDisclaimer}}<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <spc-dialog component-id="sp-purchase-dialog" component-aria-label="{{::$ctrl.strings.purchaseDetails_dialog_ariaLabel}}" on-dialog-initialize="$ctrl.onDialogInit(mwfDialog)" is-flow="true">\r\n        <dialog-body>\r\n            <spc-purchase-view ng-if="$ctrl.purchaseDialogComponent" on-purchase="$ctrl.onPurchase()" component-id="workflow-buy-dialog" mwf-dialog="$ctrl.purchaseDialogComponent" on-hide="$ctrl.hideDialog()" support-option="$ctrl.selectedSupportOption" on-purchase-error="$ctrl.purchaseErrorHandler(mwfDialog, message)"><\/spc-purchase-view>\r\n        <\/dialog-body>\r\n    <\/spc-dialog>\r\n\r\n    <spc-dialog component-id="sp-purchase-error-dialog" component-aria-label="{{::$ctrl.strings.purchaseDetails_errorDialog_ariaLabel}}" on-dialog-initialize="$ctrl.errorDialogInit(mwfDialog)" is-flow="true">\r\n        <dialog-body>\r\n            <div class="sp-purchase-error-body">\r\n                <h2 class="c-heading-4 f-lean">{{::$ctrl.strings.commonErrorTitle}}<\/h2>\r\n                <p>{{::$ctrl.strings.commonErrorDescription}}<\/p>\r\n                <p class="cv-text">({{::$ctrl.strings.commonCvText}}: {{$ctrl.cv}})<\/p>\r\n            <\/div>\r\n            <div class="c-group">\r\n                <button class="c-button" type="submit" ng-click="$ctrl.hideErrorDialog()" ng-keypress="$event.which === 13 && $ctrl.hideErrorDialog()">{{::$ctrl.strings.common_buttonClose}}<\/button>\r\n            <\/div>\r\n        <\/dialog-body>\r\n    <\/spc-dialog>\r\n<\/div>\r\n\r\n<client-info><\/client-info>');n.put("/src/app/broadCommercial/components/purchaseView/purchaseView.component.html",'<!-- calculate tax loading spinner-->\r\n<div ng-if="$ctrl.isLoadingView" class="sp-tax-loading-spinner">\r\n    <loading-bar loading-type="largering" aria-label="$ctrl.strings.purchaseDetails_loadingBar_ariaLabel"><\/loading-bar>\r\n<\/div>\r\n\r\n<div class="sp-purchase-view" ng-show="!$ctrl.isLoadingView && !$ctrl.errorMessage" ng-cloak>\r\n\r\n    <div class="sp-purchase-info">\r\n        <!-- purchase details -->\r\n        <div class="sp-purchase-details-body f-dialog-scroll">\r\n            <div ng-if="$ctrl.isSelectingResource">\r\n                <spc-purchase-details ng-if="!$ctrl.showTaxScreen" support-option="$ctrl.supportOption"><\/spc-purchase-details>\r\n            <\/div>            \r\n            <spc-pidl-view ng-show="!$ctrl.isPurchaseComplete && !$ctrl.isPsd2Challenge && !$ctrl.showTaxScreen" component-id="{{::$ctrl.componentId}}"\r\n                           pidl-Action="$ctrl.pidlAction"\r\n                           on-success="$ctrl.successEvent(currentAction, success)"\r\n                           on-failure="$ctrl.failureEvent(currentAction, error)"\r\n                           on-event="$ctrl.eventHandler(eventName, parameters)"\r\n                           on-go-home="$ctrl.goHomeEvent()"\r\n                           on-create-pidl-doc-display-control="$ctrl.createPidlDocDisplayControl(pidlDocDisplayControl)"\r\n                           on-busy-block-show-hide="$ctrl.busyBlockShowHideHandler(isShown)">\r\n            <\/spc-pidl-view>\r\n            <div ng-if="$ctrl.isSelectingResource && !$ctrl.showTaxScreen" data-grid="col-12" class="x-m-t-6x">\r\n                <span ng-bind-html="::$ctrl.microsoftServicesAgreement"><\/span>\r\n            <\/div>\r\n            <div ng-if="$ctrl.showTaxScreen && !$ctrl.isPurchaseComplete && $ctrl.isInPsd2Flight">\r\n                <spc-purchase-view-confirmation class="sp-purchase-confirmation-view" component-id="$ctrl.componentId" purchase-status="$ctrl.readyToPurchase" purchase-info="$ctrl.purchaseInfo" payment-info="$ctrl.selectedPiInfo" support-option="$ctrl.supportOption"><\/spc-purchase-view-confirmation>\r\n            <\/div>\r\n            <div ng-if="$ctrl.isPurchaseComplete">\r\n                <spc-payment-thank-you-view class="sp-purchase-thank-you-view" purchase-info="$ctrl.purchaseInfo" payment-info="$ctrl.selectedPiInfo" support-option="$ctrl.supportOption"><\/spc-payment-thank-you-view>\r\n            <\/div>\r\n            <div ng-if="$ctrl.isPsd2Challenge && $ctrl.isInPsd2Flight" class="psd2-challenge">\r\n                <spc-psd2-challenge-view component-id="{{::$ctrl.componentId}}"\r\n                                         selected-pi="{{$ctrl.selectedPiInfo.id}}"\r\n                                         support-option="$ctrl.supportOption"\r\n                                         on-success="$ctrl.psd2SuccessEvent(paymentSession)"\r\n                                         on-failure="$ctrl.psd2FailureEvent(error)"\r\n                                         on-go-home="$ctrl.goHomeEvent(status)"\r\n                                         on-busy-block-show-hide="$ctrl.psd2BusyBlockShowHideHandler(isShown)">\r\n                <\/spc-psd2-challenge-view>\r\n            <\/div>\r\n            <div data-grid="col-12" ng-if="!$ctrl.hidePurchaseError">\r\n                <spc-alert alert-message="{{::$ctrl.purchaseErrorMessage}}"\r\n                           component-id="{{::$ctrl.componentId}}-purchase-error"\r\n                           component-aria-label="{{::$ctrl.purchaseErrorMessage}}"\r\n                           is-dismissed="$ctrl.hidePurchaseError"\r\n                           is-error="true" />\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div ng-if="$ctrl.isSelectingResource && !$ctrl.showTaxScreen" class="c-group">\r\n\r\n            <button ng-disabled="$ctrl.isPurchaseDisabled" ng-if="!$ctrl.isInPsd2Flight"\r\n                    ng-click="$ctrl.onClickPurchase()"\r\n                    id="{{::$ctrl.componentId}}-purchase-plan"\r\n                    class="c-button"\r\n                    type="submit"\r\n                    data-bi-id="{{::$ctrl.componentId}}-purchase-plan"\r\n                    data-bi-selected="{{$ctrl.allSapIds}}"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}|{{$ctrl.supportOption.count}}">\r\n                {{::$ctrl.strings.commonPurchaseText}}\r\n            <\/button>\r\n            <button ng-disabled="$ctrl.isPurchaseDisabled" ng-if="$ctrl.isInPsd2Flight"\r\n                    ng-click="$ctrl.calculateTaxInformation()"\r\n                    id="{{::$ctrl.componentId}}-purchase-plan"\r\n                    class="c-button"\r\n                    type="submit"\r\n                    data-bi-id="{{::$ctrl.componentId}}-purchase-plan"\r\n                    data-bi-selected="{{$ctrl.allSapIds}}"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}|{{$ctrl.supportOption.count}}">\r\n                {{::$ctrl.strings.purchaseThankYou_Next}}\r\n            <\/button>\r\n\r\n            <button ng-click="$ctrl.hideDialog()"\r\n                    id="{{::$ctrl.componentId}}-cancel-plan"\r\n                    class="c-button"\r\n                    data-bi-id="{{::$ctrl.componentId}}-cancel-plan"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}|{{$ctrl.supportOption.count}}">\r\n                {{::$ctrl.strings.common_Button_Cancel}}\r\n            <\/button>\r\n\r\n        <\/div>\r\n\r\n        <div ng-if="$ctrl.showTaxScreen && $ctrl.isInPsd2Flight" class="c-group">\r\n            <button ng-disabled="$ctrl.isPurchaseDisabled"\r\n                    ng-click="$ctrl.onClickPurchase()"\r\n                    id="{{::$ctrl.componentId}}-purchase-plan"\r\n                    class="c-button"\r\n                    type="submit"\r\n                    data-bi-id="{{::$ctrl.componentId}}-purchase-plan"\r\n                    data-bi-selected="{{$ctrl.allSapIds}}"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}|{{$ctrl.supportOption.count}}">\r\n                {{::$ctrl.strings.commonPurchaseText}}\r\n            <\/button>\r\n            <button ng-click="$ctrl.gotoPrevious()"\r\n                    id="{{::$ctrl.componentId}}-cancel-plan"\r\n                    class="c-button"\r\n                    data-bi-id="{{::$ctrl.componentId}}-cancel-plan"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}|{{$ctrl.supportOption.count}}">\r\n                {{::$ctrl.strings.commonBackText}}\r\n            <\/button>\r\n        <\/div>\r\n\r\n        <div ng-if="$ctrl.isAddingResource" class="c-group">\r\n            <button id="{{::$ctrl.componentId}}-save"\r\n                    class="c-button"\r\n                    ng-click="$ctrl.moveNextPage()"\r\n                    type="submit"\r\n                    data-bi-id="{{::$ctrl.componentId}}-save"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}-{{$ctrl.supportOption.count}}"\r\n                    data-bi-selected="{{$ctrl.currentPageId}}">\r\n                {{::$ctrl.strings.common_Button_Save}}\r\n            <\/button>\r\n            <button ng-click="$ctrl.cancel()"\r\n                    id="{{::$ctrl.componentId}}-back"\r\n                    class="c-button"\r\n                    data-bi-id="{{::$ctrl.componentId}}-back"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}|{{$ctrl.supportOption.count}}"\r\n                    data-bi-selected="{{$ctrl.currentPageId}}">\r\n                {{::$ctrl.strings.commonBackText}}\r\n            <\/button>\r\n        <\/div>\r\n\r\n        <div ng-if="$ctrl.isPurchaseComplete" class="c-group">\r\n            <button ng-click="$ctrl.closeThankYouDialog()"\r\n                    id="{{::$ctrl.componentId}}-success-next"\r\n                    class="c-button"\r\n                    type="submit"\r\n                    data-bi-id="{{::$ctrl.componentId}}-success-next"\r\n                    data-bi-identifier="{{$ctrl.supportOption.supportHours}}|{{$ctrl.supportOption.count}}">\r\n                {{::$ctrl.strings.purchaseThankYou_Next}}\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<div tabindex="0" ng-focus="$ctrl.focusDialog()"><\/div>\r\n');n.put("/src/app/broadCommercial/components/refundCompleteView/refundCompleteView.component.html",'<div class="m-card-group " ng-cloak>\r\n    <div class="c-card sp-card-full-width">\r\n        <div class="c-card-content sp-card-full-width-content">\r\n            <spc-thank-you-view component-id="refund-thank-you-view" heading="{{ ::$ctrl.strings.refund_Success_SectionHeading }}">\r\n                <thank-you-image>\r\n                    <img src="https://compass-ssl.microsoft.com/assets/e0/29/e029ff9d-d0b3-4afd-9be6-93b5b5797a0c.svg?n=RefundComplete.svg" role="presentation">\r\n                <\/thank-you-image>\r\n                <thank-you-body>\r\n                    <p class="c-paragraph">\r\n                        <span ng-bind-html="$ctrl.refundNumberDescription" />\r\n                        <br>\r\n                        <span ng-bind-html="$ctrl.refundRecipientDescription" />\r\n                    <\/p>\r\n                <\/thank-you-body>\r\n                <thank-you-actions>\r\n                    <spc-call-to-action component-id="refund-success-see-all-refund" label="{{ ::$ctrl.strings.refund_redirect_label }}" is-new-tab="false" on-click="$ctrl.onRedirect()" />\r\n                    <br />\r\n                    <spc-call-to-action component-id="refund-success-see-support-requests" label="{{ ::$ctrl.strings.thankYouView_Label_ViewSupportRequests }}" is-new-tab="true" source="{{ ::$ctrl.thankYouSupportRequestsSource }}" />\r\n                    <br />\r\n                    <spc-call-to-action component-id="refund-success-survey" label="{{ ::$ctrl.strings.surveyLabel }}" is-new-tab="true" source="{{ ::$ctrl.surveySource }}" ng-if="$ctrl.surveySource != null" />\r\n            <\/spc-thank-you-view>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/refundErrorView/refundErrorView.component.html",'<spc-error-view component-id="refund-request-error" heading="{{::$ctrl.strings.refund_error_heading}}" ng-cloak>\r\n    <error-description>\r\n        <p class="c-paragraph">{{::$ctrl.strings.refund_error_description}}<\/p>\r\n    <\/error-description>\r\n    <error-actions>\r\n        <spc-call-to-action source="#" label="{{ ::$ctrl.strings.refund_redirect_label }}" component-id="refund-error-see-support-requests" is-new-tab="false" on-click="$ctrl.onRedirect()" />\r\n    <\/error-actions>\r\n<\/spc-error-view>');n.put("/src/app/broadCommercial/components/refundSupportPlanDetail/refundSupportPlanDetail.component.html",'<div class="sp-pane-plan-details" data-grid="container" ng-cloak>\r\n    <div class="sp-container-row sp-row-1" data-grid="col-12">\r\n        <div class="sp-container-row sp-row-1 sp-container-col sp-col-1" data-grid="col-11">\r\n            <spc-heading header-class="m-heading-4 sp-no-padding" heading-level="h3" text="{{ ::$ctrl.supportPlan.entitlement.friendlyName }}" />\r\n        <\/div>\r\n        <div class="sp-container-row sp-row-1 sp-container-col sp-col-2" data-grid="col-1">\r\n            <header class="m-heading-4 sp-no-padding">\r\n                <p class="c-heading sp-plan-price">{{ ::$ctrl.supportPlan.price }}<\/p>\r\n            <\/header>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="sp-container-row sp-row-2" data-grid="col-12">\r\n        <div class="sp-container-row sp-row-2 sp-container-col sp-col-1" data-grid="col-4">\r\n            <div class="sp-nested-row sp-row-1" data-grid="col-12">\r\n                <div class="sp-container-col sp-col-1" data-grid="col-3">\r\n                    <p class="c-caption-1 sp-detail-heading">\r\n                        {{ ::$ctrl.strings.supportPlanDetail_StartDate }}\r\n                    <\/p>\r\n                    <p class="c-caption-1 sp-detail-value">\r\n                        {{ ::$ctrl.supportPlan.entitlement.startDate | date : \'shortDate\' : \'UTC/GMT\' }}\r\n                    <\/p>\r\n                <\/div>\r\n                <div class="sp-container-col sp-col-2" data-grid="col-3">\r\n                    <p class="c-caption-1 sp-detail-heading">\r\n                        {{ ::$ctrl.strings.supportPlanDetail_EndDate }}\r\n                    <\/p>\r\n                    <p class="c-caption-1 sp-detail-value">\r\n                        {{ ::$ctrl.supportPlan.entitlement.endDate | date : \'shortDate\' : \'UTC/GMT\' }}\r\n                    <\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="sp-container-row sp-row-2 sp-container-col sp-col-2" data-grid="col-5">\r\n            <p class="c-caption-1 sp-detail-heading">\r\n                {{ ::$ctrl.strings.supportPlanDetail_SeverityOptions }}\r\n            <\/p>\r\n            <p class="c-caption-1 sp-detail-value">\r\n                {{ ::$ctrl.getSeveritiesString() }}\r\n            <\/p>\r\n        <\/div>\r\n\r\n        <div class="sp-container-row sp-row-2 sp-container-col sp-col-2" data-grid="col-3">\r\n            <button data-bi-id="refund-entitlement"\r\n                    data-bi-identifier="{{$ctrl.supportPlan.entitlement.entitlementType}}|{{$ctrl.supportPlan.entitlement.originalUnitCount}}"\r\n                    class="c-button f-primary sp-refund-button" ng-click="$ctrl.onSupportPlanSelected($ctrl.supportPlan)">\r\n                {{ ::$ctrl.strings.refund_Request_RefundButtonLabel }}\r\n                <span aria-hidden="true" class="c-glyph glyph-chevron-right" />\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/refundSupportPlanPicker/refundSupportPlanPicker.component.html",'<div class="m-card-group" ng-cloak>\r\n    <div class="c-card sp-card-full-width" ng-repeat="plan in $ctrl.supportPlans track by plan.entitlement.entitlementId">\r\n        <div class="c-card-content sp-card-full-width-content">\r\n            <spc-refund-support-plan-detail support-plan="plan" on-support-plan-selected="$ctrl.onSupportPlanSelected"/>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/requestDetailsHeader/requestDetailsHeader.component.html",'<div class="sp-header-request-details" ng-cloak>\r\n    <div class="sp-row-nav-back" data-grid="col-12">\r\n        <a class="c-hyperlink" href="" data-bi-id="request-details-back-to-requests" ng-click="$ctrl.navigateToRequestList()">\r\n            <span class="c-glyph glyph-arrow-htmllegacy sp-glyph" />\r\n            <span>&nbsp;{{ ::$ctrl.strings.requestDetailsHeader_linkLabel_backToSupportRequests }}<\/span>\r\n        <\/a>\r\n    <\/div>\r\n    <div data-grid="col-12">\r\n        <div class="sp-row-case-state" data-grid="col-12">\r\n            <div class="sp-col-title" data-grid="col-11">\r\n                <spc-heading header-class="m-heading-3 sp-title" heading-level="h1" text="{{ ::$ctrl.caseTitle }}" />\r\n            <\/div>\r\n            <div class="sp-col-state" data-grid="col-1">\r\n                <p class="sp-state">\r\n                    <span class="c-glyph glyph-recent sp-glyph" ng-if="$ctrl.isCaseOpen()" />\r\n                    <span class="c-glyph glyph-completed sp-glyph" ng-if="!$ctrl.isCaseOpen()" />\r\n                    <span class="sp-state-value">{{ ::$ctrl.localizedState }}<\/span>\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="sp-row-case-details" data-grid="col-12 stack-3">\r\n            <div data-grid="col-12 stack-3">\r\n                <div class="sp-col-detail sp-left-align" data-grid="col-4">\r\n                    <p class="sp-case-detail">\r\n                        <span class="sp-label">{{ ::$ctrl.strings.requestDetailsHeader_label_supportRequestNumber }}&nbsp;<\/span>\r\n                        <span class="sp-value sp-case-number">{{ ::$ctrl.caseNumber }}<\/span>\r\n                    <\/p>\r\n                <\/div>\r\n                <div class="sp-col-detail sp-center-align" data-grid="col-4">\r\n                    <p class="sp-case-detail">\r\n                        <span class="sp-label">{{ ::$ctrl.strings.requestDetailsHeader_label_createdBy }}<\/span>\r\n                        <span class="sp-value sp-full-name">{{ ::$ctrl.createdBy }}<\/span>\r\n                        <span class="sp-label">{{ ::$ctrl.strings.requestDetailsHeader_label_on }}<\/span>\r\n                        <span class="sp-value">{{ ::$ctrl.createdOn | date: \'shortDate\' }}<\/span>\r\n                        <span class="sp-label">{{ ::$ctrl.strings.requestDetailsHeader_label_at }}<\/span>\r\n                        <span class="sp-value">{{ ::$ctrl.createdOn | date: \'shortTime\' }}<\/span>\r\n                    <\/p>\r\n                <\/div>\r\n                <div class="sp-col-detail sp-right-align" data-grid="col-4">\r\n                    <p class="sp-case-detail">\r\n                        <span class="sp-label">{{ ::$ctrl.strings.requestDetailsHeader_label_severity }}&nbsp;<\/span>\r\n                        <span class="sp-severity">{{ ::$ctrl.localizedSeverity }}<\/span>\r\n                    <\/p>\r\n                <\/div>\r\n            <\/div>\r\n            <div data-grid="col-12 stack-3">\r\n                <div class="sp-col-detail" data-grid="col-4">\r\n                    <p class="sp-case-detail sp-left-align">\r\n                        <span class="sp-label">{{ ::$ctrl.modifiedContactLabel }}&nbsp;<\/span>\r\n                        <span class="sp-value">{{ ::$ctrl.channelLabel }}<\/span>\r\n                    <\/p>\r\n                <\/div>\r\n                <div class="sp-col-detail" data-grid="col-4">\r\n                    <p class="sp-case-detail sp-center-align">\r\n                        <span class="sp-label">{{ ::$ctrl.localizedTimeZoneLabel }}&nbsp;<\/span>\r\n                        <span class="sp-value">{{ ::$ctrl.timeZone }}<\/span>\r\n                    <\/p>\r\n                <\/div>\r\n                <div ng-if="$ctrl.supportLanguageName" class="sp-col-detail sp-right-align" data-grid="col-4">\r\n                    <p class="sp-case-detail">\r\n                        <span class="sp-label">{{ ::$ctrl.modifiedSupportLanguageLabel }}&nbsp;<\/span>\r\n                        <span class="sp-value">{{ $ctrl.supportLanguageName }}<\/span>\r\n                    <\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/reviewHeading/reviewHeading.component.html",'<div class="sp-container-heading" ng-cloak>\r\n    <span class="sp-hidden" id="label-change-{{ ::$ctrl.pageName }}">\r\n        {{ ::ctrl.assistiveLabel }}\r\n    <\/span>\r\n    <span class="c-glyph {{ ::$ctrl.glyph }}" />\r\n    <div class="sp-container-title">\r\n        <span class="c-paragraph-3 f-lean sp-title">\r\n            {{ ::$ctrl.title }}\r\n        <\/span>\r\n    <\/div>\r\n    <a class="c-hyperlink sp-link-change"\r\n       ng-click="$ctrl.moveToPage()"\r\n       aria-label="label-change-{{ ::$ctrl.pageName }}"\r\n       data-bi-id="workflow-change-{{$ctrl.componentId}}"\r\n       href="#">{{ ::$ctrl.linkText }}<\/a>\r\n<\/div>');n.put("/src/app/broadCommercial/components/selfHelpLinks/selfHelpLinks.component.html",'<ul class="c-list f-bare" ng-cloak>\r\n    <li ng-repeat="link in $ctrl.links">\r\n        <div class="margin-top-11">\r\n            <a data-bi-id="self-help-link-open"\r\n               data-bi-selected="{{::$index + 1}}"\r\n               data-bi-totalcount="{{$ctrl.links.length}}"\r\n               data-bi-identifier="{{::link.said}}"\r\n               class="c-hyperlink" ng-href="{{::link.value}}" target="_blank" rel="noopener" title="{{::$ctrl.strings.selfHelpLinks_ToolTip}}">{{::link.name}}<\/a>\r\n            <br />\r\n            <div class="c-meta-text">{{ link.value | extractDomain }}<\/div>\r\n        <\/div>\r\n    <\/li>\r\n<\/ul>');n.put("/src/app/broadCommercial/components/severityOptions/severityOptions.component.html",'<fieldset class="c-radio" ng-cloak>\r\n    <div class="m-card-group sp-options-group">\r\n        <div class="c-card f-double sp-card-severity" id="severity-{{severity.severityLevel}}-{{severity.is24X7}}-{{$ctrl.componentId}}" ng-repeat="severity in ::$ctrl.severities">\r\n            <div class="c-card-content sp-card-content-severity">\r\n                <label class="c-label sp-label-severity" data-grid="col-12 stack-3">\r\n                    <input id="severities-{{$ctrl.componentId}}-{{$index}}"\r\n                           type="radio"\r\n                           name="severities"\r\n                           value="{{severity.severityLevel}},{{severity.is24X7}}"\r\n                           aria-label="{{::$ctrl.strings[\'mSaaS_Policy_Severity\' + severity.severityLevel]}}, {{::$ctrl.strings[\'mSaaS_Policy_slaMinutes_24X7_\' + severity.is24X7 + \'_\' + severity.slaMinutes]}}, {{::$ctrl.strings[\'severity_Contact_24X7_\' + severity.is24X7]}}, {{::$ctrl.strings[\'severity_Initial_Response_Time_Text\']}}"\r\n                           ng-click="$ctrl.setSeverity({isSelected: severity})"\r\n                           ng-checked="{{$ctrl.preSelectArray[$index]}}" />\r\n                    <span data-grid="col-5">\r\n                        <span class="c-heading-6 sp-span-severity-detail">\r\n                            {{::$ctrl.strings[\'mSaaS_Policy_Severity\' + severity.severityLevel]}}\r\n                        <\/span>\r\n                        <span class="c-caption-1" ng-class="{\'sp-24x7-support-text\': severity.is24X7}">\r\n                            {{::$ctrl.strings[\'severity_Contact_24X7_\' + severity.is24X7]}}\r\n                        <\/span>\r\n                    <\/span>\r\n                    <span class="sp-hours-text" data-grid="col-6">\r\n                        <span class="c-heading-6 f-lean">\r\n                            {{::$ctrl.strings[\'mSaaS_Policy_slaMinutes_24X7_\' + severity.is24X7 + \'_\' + severity.slaMinutes]}}\r\n                        <\/span>\r\n                        <span class="c-caption-1">\r\n                            {{::$ctrl.strings[\'severity_Initial_Response_Time_Text\']}}\r\n                        <\/span>\r\n                    <\/span>\r\n                <\/label>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/fieldset>');n.put("/src/app/broadCommercial/components/stepTracker/stepTracker.component.html",'<div class="spc-step-tracker" ng-cloak>\r\n    <header class="m-heading-3 sp-step-tracker-header">\r\n        <h1 class="c-heading">\r\n            {{ ::$ctrl.heading }}\r\n        <\/h1>\r\n    <\/header>\r\n    <br />\r\n    <div class="sp-counter-control">\r\n        <div ng-class="$ctrl.getConnectorLineClass($index)" ng-repeat="stepName in ::$ctrl.stepNames">\r\n            <div>\r\n                <div id="current-step-label" class="x-screen-reader" ng-if="$ctrl.isCurrentStep(stepName)">{{::$ctrl.strings.stepTracker_CurrentStep}}.{{$ctrl.stepIndicator[$index]}}<\/div>\r\n                <div aria-label="{{$ctrl.stepIndicator[$index]}}" ng-class="$ctrl.getColorClass(stepName, $index)">\r\n                    {{$index + 1}}\r\n                <\/div>\r\n                <div class="c-caption-2">{{stepName}}<\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="sp-step-tracker-header-mobile">\r\n        <div class="sp-step-section-header" aria-label="{{$ctrl.currentPageName}}">{{$ctrl.currentPageName}}<\/div>\r\n        <div class="sp-step-counter-mobile" aria-label="{{$ctrl.stepIndicator[$ctrl.stepNames.indexOf($ctrl.currentPageName)]}}">\r\n            {{$ctrl.stepIndicator[$ctrl.stepNames.indexOf($ctrl.currentPageName)]}}\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/supportPlanDetail/supportPlanDetail.component.html",'<div class="sp-pane-plan-details" data-grid="container" ng-cloak>\r\n    <div class="sp-container-row sp-row-1" data-grid="col-12">\r\n        <div class="sp-container-row sp-row-1 sp-container-col sp-col-1" data-grid="col-7">\r\n            <p class="c-paragraph-3 f-lean sp-plan-name">\r\n                {{ ::$ctrl.supportPlan.entitlement.friendlyName }}\r\n                <span ng-if="::$ctrl.accessId">\r\n                    - [{{ ::$ctrl.strings.addSupportPlan_accessId }}: {{ ::$ctrl.accessId }}]\r\n                <\/span>\r\n                <span ng-if="::$ctrl.softwareAssuranceId">\r\n                    - [{{ ::$ctrl.strings.addSupportPlan_softwareAssuranceId }}: {{ ::$ctrl.softwareAssuranceId }}]\r\n                <\/span>\r\n            <\/p>\r\n            <p class="c-caption-1">\r\n                {{ ::$ctrl.supportPlan.policy.caseType }}\r\n            <\/p>\r\n        <\/div>\r\n        <div class="sp-container-row sp-row-1 sp-container-col sp-col-2" data-grid="col-5">\r\n            <p class="c-caption-1 sp-quantity">\r\n                <span ng-if="::$ctrl.showRemainingUnlimited()">\r\n                    <span class="sp-detail-heading">\r\n                        {{ ::$ctrl.supportPlan.entitlement.unitType }}\r\n                    <\/span>\r\n                    <span>\r\n                        {{ ::$ctrl.strings.supportPlanDetail_RemainingQuantity }}\r\n                    <\/span>\r\n                <\/span>\r\n                <span ng-if="::$ctrl.showRemainingXofXX()">\r\n                    <span class="sp-detail-heading">\r\n                        {{ ::$ctrl.supportPlan.entitlement.unitCount }}\r\n                    <\/span>\r\n                    <span>\r\n                        {{ ::$ctrl.strings.supportPlanDetail_xx_of_xx }}\r\n                    <\/span>\r\n                    <span class="sp-detail-heading">\r\n                        {{ ::$ctrl.supportPlan.entitlement.originalUnitCount }}\r\n                    <\/span>\r\n                    <span>\r\n                        {{ ::$ctrl.getUnitTypeString($ctrl.supportPlan.entitlement.unitType) }}\r\n                    <\/span>\r\n                    <span>\r\n                        {{ ::$ctrl.strings.supportPlanDetail_RemainingQuantity }}\r\n                    <\/span>\r\n                <\/span>\r\n                <span ng-if="::$ctrl.showRemaining()">\r\n                    <span class="sp-detail-heading">\r\n                        {{ ::$ctrl.supportPlan.entitlement.unitCount }}\r\n                    <\/span>\r\n                    <span>\r\n                        {{ ::$ctrl.getUnitTypeString($ctrl.supportPlan.entitlement.unitType) }}\r\n                    <\/span>\r\n                    <span>\r\n                        {{ ::$ctrl.strings.supportPlanDetail_RemainingQuantity }}\r\n                    <\/span>\r\n                <\/span>\r\n            <\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="sp-container-row sp-row-2" data-grid="col-12">\r\n        <div class="sp-container-row sp-row-2 sp-container-col sp-col-1" data-grid="col-4">\r\n            <div class="sp-nested-row sp-row-1" data-grid="col-12">\r\n                <div class="sp-container-col sp-col-1" data-grid="col-5" ng-if="::$ctrl.showValidPeriod()">\r\n                    <p class="c-caption-1 sp-detail-heading">\r\n                        {{ ::$ctrl.strings.supportPlanDetail_StartDate }}\r\n                    <\/p>\r\n                    <p class="c-caption-1 sp-detail-value">\r\n                        {{ ::$ctrl.supportPlan.entitlement.startDate | date : \'shortDate\' }}\r\n                    <\/p>\r\n                <\/div>\r\n                <div class="sp-container-col sp-col-2" data-grid="col-7" ng-if="::$ctrl.showValidPeriod()">\r\n                    <p class="c-caption-1 sp-detail-heading">\r\n                        {{ ::$ctrl.strings.supportPlanDetail_EndDate }}\r\n                    <\/p>\r\n                    <p class="c-caption-1 sp-detail-value">\r\n                        {{ ::$ctrl.supportPlan.entitlement.endDate | date : \'shortDate\' }}\r\n                    <\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class="sp-container-row sp-row-2 sp-container-col sp-col-2" data-grid="col-8">\r\n            <div data-grid="col-6" ng-if="::$ctrl.severitiesPhone">\r\n                <p class="c-caption-1 sp-detail-heading">\r\n                    {{ ::$ctrl.strings.supportPlanDetail_SeverityOptionsPhone }}\r\n                <\/p>\r\n                <p class="c-caption-1 sp-detail-value">\r\n                    {{ ::$ctrl.severitiesPhone }}\r\n                <\/p>\r\n            <\/div>\r\n            <div data-grid="col-6" ng-if="::$ctrl.severitiesEmail">\r\n                <p class="c-caption-1 sp-detail-heading">\r\n                    {{ ::$ctrl.strings.supportPlanDetail_SeverityOptionsEmail }}\r\n                <\/p>\r\n                <p class="c-caption-1 sp-detail-value">\r\n                    {{ ::$ctrl.severitiesEmail }}\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div class="sp-container-row row-3" data-grid="col-12" ng-if="::$ctrl.showErrors()">\r\n        <p class="c-caption-1 sp-error-status">\r\n            {{ ::$ctrl.getErrorStatesString() }}\r\n        <\/p>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/supportPlanPicker/supportPlanPicker.component.html",'<section aria-label="{{ ::$ctrl.strings.supportPlanPicker_Section_Label_AvailableSupportPlans }}" ng-cloak>\r\n    <fieldset class="c-radio">\r\n        <div class="m-card-group sp-card-group">\r\n            <div class="c-card f-double sp-card-plan" ng-repeat="plan in $ctrl.supportPlans track by plan.entitlement.entitlementId">\r\n                <div class="c-card-content sp-card-content-plan">\r\n                    <label class="c-label sp-label-plan">\r\n                        <input id="{{ ::plan.entitlement.entitlementId }}"\r\n                               type="radio"\r\n                               name="supportPlanOption"\r\n                               value="plan"\r\n                               ng-click="$ctrl.onSelect(plan)"\r\n                               ng-checked="::$ctrl.isPreSelected(plan.entitlement.entitlementId)"\r\n                               ng-disabled="::$ctrl.isDisabled(plan)" />\r\n\r\n                        <span class="c-heading-3 sp-span-plan-detail">\r\n                            <spc-support-plan-detail support-plan="plan" />\r\n                        <\/span>\r\n                    <\/label>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/fieldset>\r\n<\/section>');n.put("/src/app/broadCommercial/components/tableProductSelection/tableProductSelection.component.html",'<div class="sp-container-sap-table" ng-cloak>\r\n    <div class="sp-container-table-row" data-grid="col-12" ng-repeat="node in $ctrl.productIssue">\r\n        <div data-grid="col-2">\r\n            <p class="sp-row-label">{{ ::node.label }}<\/p>\r\n        <\/div>\r\n        <div data-grid="col-10">\r\n            <p class="sp-row-value">{{ ::node.name }}<\/p>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/components/thankYouView/thankYouView.component.html",'<section id="{{::$ctrl.componentId}}" class="m-feature f-align-left sp-thank-you-view-feature" ng-cloak>\r\n    <picture id="{{::$ctrl.componentId}}-picture" class="sp-thank-you-view-image" ng-transclude="image" />\r\n    <div>\r\n        <h2 id="{{::$ctrl.componentId}}-heading" class="c-heading sp-thank-you-view-heading">\r\n            {{ ::$ctrl.heading }}\r\n        <\/h2>\r\n        <div id="{{::$ctrl.componentId}}-body" class="sp-thank-you-view-description" ng-transclude="body" />\r\n        <div id="{{::$ctrl.componentId}}-actions" class="c-group" ng-transclude="actions" />\r\n    <\/div>\r\n<\/section>');n.put("/src/app/broadCommercial/components/timeZonesView/timeZonesView.component.html",'<div class="sp-time-zones-content" ng-if="$ctrl.timeZoneList != null" ng-cloak>\r\n    <label for="time-zone-for-locale" class="c-heading-6 f-lean sp-time-zones-head"><b>{{::$ctrl.strings.severityTimeZoneDropDownLabel}}<\/b><\/label>\r\n    <select id="time-zone-for-locale"\r\n            class="c-select f-border sp-select"\r\n            ng-model="$ctrl.data.selectedTimeZone"\r\n            ng-required="true"\r\n            ng-change="$ctrl.setTimeZone()"\r\n            ng-init="$ctrl.data.selectedTimeZone = $ctrl.timeZoneList.list[$ctrl.preSelectIndex].timeZoneId"\r\n            ng-options="item.timeZoneId as item.timeZoneId for item in $ctrl.timeZoneList.list">\r\n        <option value="">{{$ctrl.strings.severity_selectTimezone}}<\/option>\r\n    <\/select>\r\n<\/div>');n.put("/src/app/broadCommercial/components/tipsSection/tipsSection.component.html",'<div class="sp-title-line">\r\n    <p class="c-subheading-5">{{ ::$ctrl.strings.issueDetailsPage_Tips_Heading }}<\/p>\r\n<\/div>\r\n<hr>\r\n<p class="c-subheading-6">{{ ::$ctrl.strings.issueDetailsPage_Describe_Problem }}<\/p>\r\n<p>{{ ::$ctrl.strings.issueDetailsPage_List_Details }}<\/p>\r\n<p class="c-subheading-6">{{ ::$ctrl.strings.issueDetailsPage_Product_Information }}<\/p>\r\n<p>{{ ::$ctrl.strings.issueDetailsPage_Product_Specific }}<\/p>\r\n');n.put("/src/app/broadCommercial/components/uploadFilesView/uploadFilesView.component.html",'<section class="m-feature f-align-left sp-upload-files-view-feature" id="upload-files" ng-cloak>\r\n    <div class="sp-upload-file-glyph-container">\r\n        <span class="c-glyph sp-upload-files-glyph" aria-hidden="true" />\r\n    <\/div>\r\n    <div class="sp-upload-files-text-container">\r\n        <h2 id="upload-files-heading"\r\n            class="c-heading sp-upload-files-heading">\r\n            {{ ::$ctrl.heading }}\r\n        <\/h2>\r\n        <p id="upload-files-description"\r\n           class="c-paragraph sp-upload-files-view-description">\r\n            {{ ::$ctrl.description }}\r\n        <\/p>\r\n        <a target="_blank"\r\n           rel="noopener"\r\n           id="upload-files-control"\r\n           data-bi-id="{{$ctrl.componentId}}-upload-files"\r\n           role="button" class="c-button f-primary"\r\n           ng-disabled="!$ctrl.source"\r\n           ng-href="{{ $ctrl.source }}">\r\n            {{ ::$ctrl.sourceLabel }}\r\n        <\/a>\r\n    <\/div>\r\n<\/section>');n.put("/src/app/broadCommercial/components/workflowNav/workflowNav.component.html",'<section aria-label="{{ ::$ctrl.strings.section }}" ng-cloak>\r\n    <button ng-if="$ctrl.onCancel"\r\n            ng-disabled="$ctrl.isCancelDisabled"\r\n            ng-click="$ctrl.onCancel()"\r\n            id="button-cancel"\r\n            name="cancel"\r\n            class="c-button cancel"\r\n            type="button"\r\n            data-bi-id="button-cancel">\r\n        {{ ::$ctrl.strings.cancel }}\r\n    <\/button>\r\n    <button ng-if="$ctrl.onPrevious"\r\n            ng-disabled="$ctrl.isPreviousDisabled"\r\n            ng-click="$ctrl.onPrevious()"\r\n            id="button-previous"\r\n            name="previous"\r\n            class="c-button previous"\r\n            type="button"\r\n            data-bi-id="button-previous">\r\n        {{ ::$ctrl.strings.previous }}\r\n    <\/button>\r\n    <button ng-if="$ctrl.onNext"\r\n            ng-disabled="$ctrl.isNextDisabled"\r\n            ng-click="$ctrl.onNext()"\r\n            id="button-next"\r\n            class="c-button  f-primary next"\r\n            type="button"\r\n            data-bi-id="workflow-next"\r\n            data-bi-name="{{$ctrl.name}}"\r\n            data-bi-selected="{{$ctrl.selected}}"\r\n            data-bi-identifier="{{$ctrl.identifier}}"\r\n            data-bi-totalcount="{{$ctrl.totalcount}}">\r\n        {{ ::$ctrl.strings.next }}\r\n    <\/button>\r\n    <button ng-if="$ctrl.onSubmit"\r\n            ng-disabled="$ctrl.isSubmitDisabled"\r\n            ng-click="$ctrl.onSubmit()"\r\n            id="button-submit"\r\n            name="submit"\r\n            class="c-button f-primary submit"\r\n            type="submit"\r\n            data-bi-id="workflow-submit"\r\n            data-bi-selected="{{$ctrl.selected}}"\r\n            data-bi-identifier="{{$ctrl.identifier}}">\r\n        {{ ::$ctrl.strings.submit }}\r\n    <\/button>\r\n<\/section>');n.put("/src/app/broadCommercial/pages/complete/completePage.component.html",'<div class="sp-container-step-tracker" data-grid="container">\r\n    <section data-grid="col-12">\r\n        <spc-step-tracker heading="{{ ::$ctrl.strings.stepTracker_Heading_SupportRequestSubmitted }}" current-page-name="{{ ::$ctrl.strings.complete_PageName }}"\r\n                          step-names-list="$ctrl.stepNames" step-indicator-name="{{ ::$ctrl.strings.stepTracker_StepIndicator }}" />\r\n    <\/section>\r\n<\/div>\r\n<div id="complete-page" class="sp-container-workflow-page" tabindex="-1">\r\n    <div class="smc-mwf x-clearfix" data-grid="container">\r\n        <div class="m-card-group">\r\n            <div class="c-card sp-card-full-width">\r\n                <div class="c-card-content sp-card-full-width-content">\r\n                    <spc-thank-you-view component-id="workflow-complete-view" heading="{{ ::$ctrl.strings.thankYouView_Heading }}">\r\n                        <thank-you-image>\r\n                            <img src="https://compass-ssl.microsoft.com/assets/97/21/97215be6-c977-481e-a7d8-00c9aca303ea.svg?n=SupportRequestSubmitted.svg"\r\n                                 alt="{{ ::$ctrl.strings.thankYouView_Alt_ImageDescription }}">\r\n                        <\/thank-you-image>\r\n                        <thank-you-body>\r\n                            <p class="c-paragraph">\r\n                                <span ng-bind-html="$ctrl.thankYouDescription" />\r\n                            <\/p>\r\n                            <p class="c-paragraph">\r\n                                <span>\r\n                                    {{ ::$ctrl.strings.supportRequestNumber }}\r\n                                <\/span>\r\n                                <span class="sp-thank-you-bold sp-case-number">\r\n                                    {{ ::$ctrl.supportRequestNumber }}\r\n                                <\/span>\r\n                            <\/p>\r\n                        <\/thank-you-body>\r\n                        <thank-you-actions>\r\n                            <spc-call-to-action source="{{ $ctrl.thankYouSupportRequestsSource }}"\r\n                                                label="{{ ::$ctrl.strings.thankYouView_Label_ViewSupportRequests }}"\r\n                                                component-id="workflow-complete-see-support-requests" />\r\n                            <br />\r\n                            <spc-call-to-action component-id="workflow-complete-survey"\r\n                                                label="{{ ::$ctrl.strings.surveyLabel }}"\r\n                                                is-new-tab="true"\r\n                                                source="{{ ::$ctrl.surveySource }}"\r\n                                                ng-if="$ctrl.surveySource != null" />\r\n                    <\/spc-thank-you-view>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="c-card sp-card-full-width">\r\n                <div class="c-card-content sp-card-full-width-content">\r\n                    <spc-upload-files-view component-id="workflow-complete"\r\n                                           description="{{ ::$ctrl.strings.uploadFilesView_Description }}"\r\n                                           heading="{{ ::$ctrl.strings.uploadFilesView_Heading }}"\r\n                                           source="{{ $ctrl.uploadFilesSource }}"\r\n                                           source-label="{{ ::$ctrl.strings.shared_Label_UploadFilesButton }}"\r\n                                           alert-text="{{ ::$ctrl.strings.alertText_dtm_unavailable }}" />\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/issueDetailsPage/issueDetailsPage.component.html",'<div class="sp-container-step-tracker" data-grid="container">\r\n    <section data-grid="col-12">\r\n        <spc-step-tracker current-page-name="{{ ::$ctrl.strings.issueDetails_PageName }}" heading="{{ ::$ctrl.strings.stepTracker_Heading_NewSupportRequest }}"\r\n                          step-names-list="$ctrl.stepNames" step-indicator-name="{{ ::$ctrl.strings.stepTracker_StepIndicator }}" />\r\n    <\/section>\r\n<\/div>\r\n<div class="sp-container-workflow-page" tabindex="-1">\r\n    <div data-grid="container">\r\n        <section id="issue-details-controls" data-grid="col-12">\r\n            <div class="sp-container-workflow-body">\r\n                <div data-grid="col-12">\r\n                    <spc-heading header-class="m-heading-4" heading-level="h2" text="{{$ctrl.strings.issueDetailsPage_Page_Description}}" />\r\n                <\/div>\r\n                <div ng-if="!$ctrl.isEdsDataObtained" data-grid="col-12">\r\n                    <loading-bar loading-type="bar" aria-value="{{$ctrl.strings.commonLoadingBar}}" aria-label="{{$ctrl.strings.commonLoadingBar}}" />\r\n                <\/div>\r\n                <!-- Load IssueDetails Component-->\r\n                <div ng-if="$ctrl.isEdsDataObtained">\r\n                    <!--<div data-grid="col-12">\r\n                        <div data-grid="col-8">\r\n                            <form name="scopingQuestions" aria-label="{{ ::$ctrl.strings.issueDetailsPage_Form_Arialabel}}">\r\n                                <div ng-repeat="formControl in $ctrl.partBScopingQuestions">\r\n                                    <div ng-switch="formControl.renderingMetadata[0].uiControlType">\r\n                                        <div ng-switch-when="9" class="margin-top-11">\r\n                                            <spc-text-field component-id="{{formControl.name}}" label="{{formControl.renderingMetadata[0].displayName}}" component-name="{{formControl.name}}" pre-populate="{{$ctrl.prePopulation[formControl.name]}}" is-flex="true" on-change="$ctrl.onInput(payloadPropertyName, textValue)" />\r\n                                        <\/div>\r\n                                        <div ng-switch-when="10" class="margin-top-11">\r\n                                            <spc-text-area component-id="{{formControl.name}}" label="{{formControl.renderingMetadata[0].displayName}}" component-name="{{formControl.name}}" pre-populate="{{$ctrl.prePopulation[formControl.name]}}" is-scroll="true" is-flex="true" rows="2" on-change="$ctrl.onInput(payloadPropertyName, textValue)" />\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/form>\r\n                        <\/div>\r\n                    <\/div>-->\r\n                    <div data-grid="col-12">\r\n                        <div class="c-textarea" data-grid="col-8">\r\n                            <div ng-if="!$ctrl.isCountryApiComplete || !$ctrl.isLangApiComplete" data-grid="col-12">\r\n                                <loading-bar loading-type="bar" aria-value="{{$ctrl.strings.commonLoadingBar}}" aria-label="{{$ctrl.strings.commonLoadingBar}}" />\r\n                            <\/div>\r\n\r\n                            <div ng-if="$ctrl.isCountryApiComplete && !$ctrl.isGetCountryApiSuccess">\r\n                                <spc-alert alert-message="{{::$ctrl.strings.getRegions_apiFailure_AlertMessage}}"\r\n                                           component-id="sp-get-regions-api-failure-error"\r\n                                           component-aria-label="{{::$ctrl.strings.getRegions_apiFailure_AlertMessage}}"\r\n                                           add-correlation-vector="true"\r\n                                           is-error="true" />\r\n                            <\/div>\r\n\r\n                            <div ng-if="$ctrl.isCountryApiComplete && $ctrl.allRegions.length > 0">\r\n                                <div aria-live="assertive" aria-atomic="true" class="x-screen-reader">\r\n                                    {{$ctrl.strings.countryDropdownChangeMessage}}\r\n                                <\/div>\r\n                                <label for="all-regions" class="c-label">{{::$ctrl.strings.issueDescription_selectCountry}}*<\/label>\r\n                                <select id="all-regions"\r\n                                        class="c-select f-border sp-select"\r\n                                        ng-required="true"\r\n                                        ng-model="$ctrl.selectedRegion.country"\r\n                                        ng-init="$ctrl.selectedRegion.country = $ctrl.allRegions[$ctrl.preSelectIndex.country]"\r\n                                        ng-change="$ctrl.getLangsForCountry($ctrl.selectedRegion.country.code)"\r\n                                        ng-options="item as item.name for item in $ctrl.allRegions"><\/select>\r\n\r\n                                <div ng-if="$ctrl.isLangApiComplete && !$ctrl.isGetLangApiSuccess">\r\n                                    <spc-alert alert-message="{{::$ctrl.strings.getLangsForRegions_apiFailure_AlertMessage}}"\r\n                                               component-id="sp-get-langs-for-region-api-failure-error"\r\n                                               component-aria-label="{{::$ctrl.strings.getLangsForRegions_apiFailure_AlertMessage}}"\r\n                                               add-correlation-vector="true"\r\n                                               is-error="true" />\r\n                                <\/div>\r\n                                <div ng-if="$ctrl.isLangApiComplete && $ctrl.langsForCountry.length > 0">\r\n                                    <div aria-live="assertive" aria-atomic="true" class="x-screen-reader">\r\n                                        {{$ctrl.strings.languageDropdownChangeMessage}}\r\n                                    <\/div>\r\n                                    <label for="lang-for-locale" class="c-label">{{::$ctrl.strings.issueDescription_selectLanguage}}*<\/label>\r\n                                    <select id="lang-for-locale"\r\n                                            class="c-select f-border sp-select"\r\n                                            ng-required="true"\r\n                                            ng-model="$ctrl.selectedRegion.lang"\r\n                                            ng-init="$ctrl.selectedRegion.lang = $ctrl.langsForCountry[$ctrl.preSelectIndex.language]"\r\n                                            ng-options="item as item.nativeName for item in $ctrl.langsForCountry">\r\n                                        <option value="">{{$ctrl.strings.issueDescription_selectLanguageDropdown}}<\/option>\r\n                                    <\/select>\r\n                                <\/div>\r\n                            <\/div>\r\n\r\n                            <spc-text-field component-id="{{$ctrl.issueTitleId}}"\r\n                                            is-flex="true"\r\n                                            label="{{$ctrl.strings.issueDetailsTitle}}*"\r\n                                            component-name="{{$ctrl.issueTitleId}}"\r\n                                            is-required="true"\r\n                                            text-model="{{$ctrl.data.issueTitle}}"\r\n                                            pre-populate="{{$ctrl.prePopulation[$ctrl.issueTitleId]}}"\r\n                                            on-change="$ctrl.onInput(payloadPropertyName, textValue)" />\r\n                            <spc-text-area component-id="{{$ctrl.issueDescriptionId}}"\r\n                                           label="{{$ctrl.strings.issueDetailsPage_Description_Max}}*"\r\n                                           component-name="{{$ctrl.issueDescriptionId}}"\r\n                                           is-scroll="true"\r\n                                           is-flex="true"\r\n                                           rows="8"\r\n                                           max-length-allowed="2000"\r\n                                           pre-populate="{{$ctrl.prePopulation[$ctrl.issueDescriptionId]}}"\r\n                                           on-change="$ctrl.onInput(payloadPropertyName, textValue)" />\r\n                        <\/div>\r\n\r\n                        <div class="sp-tips-section" aria-describedby="issueDescription" data-grid="col-4">\r\n                            <spc-tips-section />\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class="sp-container-workflow-nav" data-grid="col-12">\r\n                <!-- Component: Workflow navigation -->\r\n                <spc-workflow-nav on-previous="$ctrl.onPrevious()" sssss\r\n                                  on-next="$ctrl.onNext()"\r\n                                  is-next-disabled="!$ctrl.isFormComplete()"\r\n                                  totalcount="{{$ctrl.data.issueTitle.length}} | {{$ctrl.data.issueDescription.length}}">\r\n            <\/div>\r\n        <\/section>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/productSelectionPage/productSelectionPage.component.html",'<div class="sp-container-step-tracker" data-grid="container">\r\n    <section data-grid="col-12">\r\n        <spc-step-tracker current-page-name="{{ ::$ctrl.strings.productSelection_PageName }}" heading="{{ ::$ctrl.strings.stepTracker_Heading_NewSupportRequest }}"\r\n                          step-names-list="$ctrl.stepNames" step-indicator-name="{{ ::$ctrl.strings.stepTracker_StepIndicator }}" />\r\n    <\/section>\r\n<\/div>\r\n<div class="sp-container-workflow-page">\r\n    <div data-grid="container" class="smc-mwf x-clearfix">\r\n        <div class="sp-container-workflow-body">\r\n            <div class="sp-container-section-header" data-grid="col-12">\r\n                <spc-heading header-class="m-heading-4" heading-level="h2" text="{{ ::$ctrl.strings.productPicker_SectionHeader }}" />\r\n            <\/div>\r\n            <div class="sp-container-section" data-grid="col-12">\r\n                <div ng-if="$ctrl.isLoadingProductFamily">\r\n                    <loading-bar loading-type="bar" aria-value="{{$ctrl.strings.commonLoadingBar}}" aria-label="{{$ctrl.strings.commonLoadingBar}}" />\r\n                <\/div>\r\n                <spc-product-picker component-rendered="$ctrl.onPageLoadComplete(doneLoading)"\r\n                                    is-form-complete="$ctrl.isProductSelectionComplete(productFamilyId, productNameId, sapId)" />\r\n            <\/div>\r\n            <div ng-if="$ctrl.links">\r\n                <div class="sp-container-section-header"\r\n                     data-grid="col-12">\r\n                    <spc-heading header-class="m-heading-4" heading-level="h2" text="{{::$ctrl.strings.selfHelp_Title}}" />\r\n                <\/div>\r\n                <div class="sp-container-section" data-grid="col-12">\r\n                    <spc-self-help-links links="$ctrl.links" />\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div data-grid="col-12" class="sp-container-workflow-nav">\r\n            <spc-workflow-nav on-next="$ctrl.onNext()" \r\n                              is-next-disabled="!$ctrl.isProductSelectionCompleted"\r\n                              identifier="{{$ctrl.identifierSapGroup}}"\r\n                              selected="{{$ctrl.selectedSapId}}"\r\n                              totalcount="{{$ctrl.links.length || 0}}"\r\n                              />\r\n        <\/div>\r\n    <\/div>\r\n    <spc-delegate-msa-auth />\r\n<\/div>');n.put("/src/app/broadCommercial/pages/refund/refundPage.component.html",'<div id="refund-header" tabindex="-1" data-grid="container" class="x-clearfix sp-container-refund-heading">\r\n    <spc-heading ng-if="!$ctrl.pageState.onSupportPlansRefundRequestSuccess" header-class="m-heading-3" heading-level="h1" text="{{ ::$ctrl.strings.refund_Request_PageHeading }}" />\r\n    <spc-heading ng-if="$ctrl.pageState.onSupportPlansRefundRequestSuccess" header-class="m-heading-3" heading-level="h1" text="{{ ::$ctrl.strings.refund_Success_PageHeading }}" />\r\n<\/div>\r\n<div id="refund-complete-page" class="sp-container-workflow-page sp-container-refund-body">\r\n    <div class="smc-mwf x-clearfix" data-grid="container">\r\n        <div ng-if="$ctrl.pageState.onSupportPlansLoading">\r\n            <spc-heading header-class="m-heading-4" heading-level="h2" text="{{ ::$ctrl.strings.refund_Request_SectionHeading }}" />\r\n            <loading-bar loading-type="bar" aria-label="{{ ::$ctrl.strings.refund_SupportPlansLoading_LoadingMessage }}" />\r\n        <\/div>\r\n        <div ng-if="$ctrl.pageState.onSupportPlansLoadFailure">\r\n            <spc-refund-error-view on-refund-redirect="$ctrl.handleRefundRedirect" />\r\n        <\/div>\r\n        <div ng-if="$ctrl.pageState.onZeroSupportPlans">\r\n            <spc-heading header-class="m-heading-4" heading-level="h2" text="{{ ::$ctrl.strings.refund_SupportPlansLoaded_ZeroPlansMessage }}" />\r\n        <\/div>\r\n        <div ng-if="$ctrl.pageState.onSupportPlansLoadSuccess">\r\n            <spc-heading header-class="m-heading-4" heading-level="h2" text="{{ ::$ctrl.strings.refund_Request_SectionHeading }}" />\r\n            <spc-refund-support-plan-picker support-plans="$ctrl.supportPlans" on-support-plan-selected="$ctrl.handleRefundRequest" />\r\n        <\/div>\r\n        <div ng-if="$ctrl.pageState.onSupportPlansRefundRequested">\r\n            <spc-heading header-class="m-heading-4" heading-level="h2" text="{{ ::$ctrl.strings.refund_requested_sectionHeading }}" />\r\n            <loading-bar loading-type="bar" aria-label="{{ ::$ctrl.strings.refund_requested_loadingMessage }}" />\r\n        <\/div>\r\n        <div ng-if="$ctrl.pageState.onSupportPlansRefundRequestSuccess">\r\n            <spc-refund-complete-view survey-source={{$ctrl.surveySource}}\r\n                                      refund-number="{{$ctrl.refundInfo.refundNumber}}"\r\n                                      refund-recipient="{{$ctrl.refundInfo.refundRecipient}}"\r\n                                      on-refund-redirect="$ctrl.handleRefundRedirect" />\r\n        <\/div>\r\n        <div ng-if="$ctrl.pageState.onSupportPlansRefundRequestFailure">\r\n            <spc-refund-error-view on-refund-redirect="$ctrl.handleRefundRedirect" />\r\n        <\/div>\r\n        <p class="x-screen-reader" aria-live="polite">\r\n            {{ $ctrl.ariaMessage }}\r\n        <\/p>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/requestContactsPage/requestContactsPage.component.html",'<div class="sp-container-step-tracker" data-grid="container">\r\n    <section data-grid="col-12">\r\n        <spc-step-tracker current-page-name="{{ ::$ctrl.strings.contactInformation_PageName }}" heading="{{ ::$ctrl.strings.stepTracker_Heading_NewSupportRequest }}"\r\n                          step-names-list="$ctrl.stepNames" step-indicator-name="{{ ::$ctrl.strings.stepTracker_StepIndicator }}" />\r\n    <\/section>\r\n<\/div>\r\n<div class="sp-container-workflow-page" tabindex="-1">\r\n    <div data-grid="container" class="smc-mwf x-clearfix">\r\n        <div class="sp-container-workflow-body">\r\n            <div class="sp-container-section-header" data-grid="col-12">\r\n                <spc-heading header-class="m-heading-4" heading-level="h2" text="{{ ::$ctrl.strings.contactInfoPage_PageHeader_Title }}" />\r\n                <div class="c-paragraph-3">{{ ::$ctrl.strings.contactInfoPage_h2_description }}<\/div>\r\n            <\/div>\r\n            <div class="sp-container-aad-alert" data-grid="col-12" ng-if="$ctrl.displayAadEmailAlert()">\r\n                <spc-alert add-correlation-vector="false"\r\n                           alert-message="{{ ::$ctrl.strings.contactInfoAadWarningMessage }}"\r\n                           aria-label="{{ ::$ctrl.strings.contactInfoAadWarningMessage }}"\r\n                           component-id=""\r\n                           is-error="true" />\r\n            <\/div>\r\n            <div class="sp-container-section" data-grid="col-12">\r\n                <div ng-if="$ctrl.isPhoneRequired">\r\n                    <spc-alert alert-message="{{ ::$ctrl.strings.contactInfoPhoneRequiredInfoAlert}}"\r\n                               aria-label="{{ ::$ctrl.strings.contactInfoPhoneRequiredInfoAlert}}"\r\n                               component-id="phone-required-info-alert"\r\n                               is-error="true" />\r\n                <\/div>\r\n                <spc-contact-cards component-id="workflow-info"\r\n                                   contacts="$ctrl.contacts" \r\n                                   are-display-only=false \r\n                                   animated-card-group=$ctrl.areContactCardsAnimated \r\n                                   create-view="$ctrl.isCreateCaseView" \r\n                                   on-add="$ctrl.saveOnAddContact"\r\n                                   is-phone-required="$ctrl.isPhoneRequired"\r\n                                   phone-updated="$ctrl.phoneUpdated(updated)" />\r\n            <\/div>\r\n            <div data-grid="col-12" class="sp-container-workflow-nav">\r\n                <spc-workflow-nav on-previous="$ctrl.onPrevious()" \r\n                                  on-next="$ctrl.onNext()" \r\n                                  is-next-disabled="$ctrl.isWaitingOnPhoneNumber"\r\n                                  selected ="{{$ctrl.computePrimaryContactPosition()}}"\r\n                                  totalcount ="{{$ctrl.contacts.length-1}}"/>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/reviewPage/reviewPage.component.html",'<div class="sp-container-step-tracker" data-grid="container">\r\n    <div data-grid="col-12">\r\n        <spc-step-tracker current-page-name="{{ ::$ctrl.strings.review_PageName }}"\r\n                          heading="{{ ::$ctrl.strings.stepTracker_Heading_NewSupportRequest }}"\r\n                          step-indicator-name="{{ ::$ctrl.strings.stepTracker_StepIndicator }}"\r\n                          step-names-list="$ctrl.stepNames" />\r\n    <\/div>\r\n<\/div>\r\n<div class="sp-container-workflow-page" tabindex="-1" ng-cloak>\r\n    <div data-grid="container">\r\n        <div class="sp-container-workflow-body">\r\n            <div class="sp-container-section-header" data-grid="col-12">\r\n                <spc-heading header-class="m-heading-4"\r\n                             heading-level="h2"\r\n                             text="{{ ::$ctrl.strings.reviewPage_sectionTitle_reviewRequest }}" />\r\n            <\/div>\r\n\r\n            <!-- Product Selection -->\r\n            <div class="sp-container-section" data-grid="col-12">\r\n                <section aria-label="{{ ::$ctrl.strings.reviewPage_sectionAriaLabel_productSelection }}">\r\n                    <spc-review-heading component-id="product-selection"\r\n                                        glyph="sp-product-selection"\r\n                                        title="{{ ::$ctrl.strings.reviewPage_reviewHeading_productSelection }}"\r\n                                        link-disabled="$ctrl.isSubmitting"\r\n                                        link-text="{{ ::$ctrl.strings.reviewPage_linkLabel_change }}"\r\n                                        page-name="productSelection"\r\n                                        assistive-label="{{ ::$ctrl.strings.reviewPage_ariaLabel_changeProductSelection }}" />\r\n\r\n                    <div class="sp-div-sap-string">\r\n                        <p class="c-paragraph-3 f-lean response-label">\r\n                            {{ ::$ctrl.request.supportAreaPath }}\r\n                        <\/p>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n            <div class="sp-container-section" data-grid="col-12">\r\n                <section aria-label="{{ ::$ctrl.strings.reviewPage_sectionAriaLabel_issueDetails }}">\r\n                    <spc-review-heading component-id="issue-details"\r\n                                        glyph="sp-issue-details"\r\n                                        title="{{ ::$ctrl.strings.reviewPage_reviewHeading_issueDetails }}"\r\n                                        link-disabled="$ctrl.isSubmitting"\r\n                                        link-text="{{ ::$ctrl.strings.reviewPage_linkLabel_change }}"\r\n                                        page-name="issueDetails"\r\n                                        assistive-label="{{ ::$ctrl.strings.reviewPage_ariaLabel_changeIssueDetails }}" />\r\n\r\n                    <div class="sp-div-issue-details-content">\r\n                        <p id="review-issue-title" class="c-paragraph-3 f-lean sp-preformatted-text"> <b>{{$ctrl.strings.issueDetailTitleLabel}}<\/b> : {{ ::$ctrl.request.issueTitle }}<\/p>\r\n                    <\/div>\r\n\r\n                    <div class="sp-div-issue-details-content">\r\n                        <p id="review-issue-details" class="c-paragraph-3 f-lean sp-preformatted-text"> <b>{{$ctrl.strings.issueDetailDescriptionLabel}}<\/b> : {{ ::$ctrl.request.issueDescription }}<\/p>\r\n                    <\/div>\r\n\r\n                    <div class="sp-div-issue-details-content">\r\n                        <p id="support-country" class="c-paragraph-3 f-lean sp-preformatted-text"> <b>{{$ctrl.supportCountryChoice}}<\/b><\/p>\r\n                    <\/div>\r\n\r\n                    <div class="sp-div-issue-details-content">\r\n                        <p id="support-language" class="c-paragraph-3 f-lean sp-preformatted-text"> <b>{{$ctrl.supportLanguageChoice}}<\/b><\/p>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n            <div class="sp-container-section" data-grid="col-12">\r\n                <section data-grid="col-12"\r\n                         aria-label="{{ ::$ctrl.strings.reviewPage_sectionAriaLabel_supportPlan }}">\r\n\r\n                    <spc-review-heading component-id="support-plan"\r\n                                        glyph="sp-support-plan"\r\n                                        title="{{ ::$ctrl.strings.reviewPage_reviewHeading_supportPlan }}"\r\n                                        link-disabled="$ctrl.isSubmitting"\r\n                                        link-text="{{ ::$ctrl.strings.reviewPage_linkLabel_change }}"\r\n                                        page-name="plan"\r\n                                        assistive-label="{{ ::$ctrl.strings.reviewPage_ariaLabel_changeSupportPlan }}" />\r\n\r\n                    <div class="sp-container-section-content">\r\n                        <spc-support-plan-detail support-plan="$ctrl.request.supportPlan" />\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n            <div class="sp-container-section" data-grid="col-12">\r\n                <section data-grid="col-12"\r\n                         aria-label="{{ ::$ctrl.strings.reviewPage_sectionAriaLabel_severity }}">\r\n\r\n                    <spc-review-heading component-id="severity"\r\n                                        glyph="sp-severity"\r\n                                        title="{{ ::$ctrl.strings.reviewPage_reviewHeading_severity }}"\r\n                                        link-disabled="$ctrl.isSubmitting"\r\n                                        link-text="{{ ::$ctrl.strings.reviewPage_linkLabel_change }}"\r\n                                        page-name="severity"\r\n                                        assistive-label="{{ ::$ctrl.strings.reviewPage_ariaLabel_changeSeverity }}" />\r\n\r\n                    <div class="sp-container-section-content" data-grid="col-12">\r\n                        <!-- TODO: Temporary placeholder for CodeComplete, pending reusable component.-->\r\n                        <div data-grid="col-12">\r\n                            <span class="c-paragraph-3 f-lean sp-severity-level">{{ ::$ctrl.request.severity.level }}  : {{::$ctrl.slaChannelLabel}}<\/span>\r\n                            <span class="c-paragraph-3 f-lean sp-severity-hours">{{ ::$ctrl.request.severity.slaMinutes }}<\/span>\r\n                        <\/div>\r\n                        <div data-grid="col-12">\r\n                            <span class="c-caption-1 sp-severity-hours">{{ ::$ctrl.request.severity.contactHours }}<\/span>\r\n                            <span class="c-caption-1 sp-severity-response-time">{{ ::$ctrl.strings.severity_Initial_Response_Time_Text }}<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class="sp-div-severity-time-zone" data-grid="col-12">\r\n                        <p class="c-paragraph-3 f-lean sp-preformatted-text"> <b>{{$ctrl.strings.reviewTimeZoneLabel}}<\/b> : {{ ::$ctrl.request.supportTimeZone }}<\/p>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n            <div class="sp-container-section" data-grid="col-12">\r\n                <section data-grid="col-12"\r\n                         aria-label="{{ ::$ctrl.strings.reviewPage_sectionAriaLabel_contacts }}">\r\n\r\n                    <spc-review-heading component-id="contacts"\r\n                                        glyph="sp-contacts"\r\n                                        title="{{ ::$ctrl.strings.reviewPage_reviewHeading_contacts }}"\r\n                                        link-disabled="$ctrl.isSubmitting"\r\n                                        link-text="{{ ::$ctrl.strings.reviewPage_linkLabel_change }}"\r\n                                        page-name="requestcontacts"\r\n                                        assistive-label="{{ ::$ctrl.strings.reviewPage_ariaLabel_changeContacts }}" />\r\n\r\n                    <div class="sp-contact-cards">\r\n                        <spc-contact-cards animated-card-group="false"\r\n                                           are-display-only="true"\r\n                                           contacts="$ctrl.request.contacts"\r\n                                           create-view="true" />\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n        <\/div>\r\n        <div data-grid="col-12" class="sp-container-workflow-nav">\r\n            <div ng-if="$ctrl.showSubmitAlert()">\r\n                <spc-alert alert-message="{{ $ctrl.errorMessageSubmitRequest }}"\r\n                           aria-label="{{ $ctrl.errorMessageSubmitRequest }}"\r\n                           add-correlation-vector="true"\r\n                           component-id="create-request-alert"\r\n                           is-error="true" />\r\n            <\/div>\r\n\r\n            <div class="sp-div-agreement-string">\r\n                <p class="c-paragraph-3 f-lean response-label" ng-bind-html="$ctrl.privacyAndServiceTerms" />\r\n            <\/div>\r\n\r\n            <spc-workflow-nav on-previous="$ctrl.onPrevious()"\r\n                              is-previous-disabled="$ctrl.isSubmitting"\r\n                              on-submit="$ctrl.onSubmit()"\r\n                              is-submit-disabled="$ctrl.isSubmitting"\r\n                              label-submit="{{ ::$ctrl.strings.common_ButtonSubmit }}"\r\n                              selected="{{$ctrl.allSapIds}}"\r\n                              identifier="{{$ctrl.userLoginType}}" />\r\n\r\n            <div ng-if="$ctrl.isSubmitting">\r\n                <loading-bar loading-type="bar"\r\n                             aria-label="{{ ::$ctrl.strings.reviewPage_submittingRequest }}" />\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/severityPage/severityPage.component.html",'<div class="sp-container-step-tracker" data-grid="container">\r\n    <section data-grid="col-12">\r\n        <spc-step-tracker current-page-name="{{ ::$ctrl.strings.severity_PageName }}" heading="{{ ::$ctrl.strings.stepTracker_Heading_NewSupportRequest }}"\r\n                          step-names-list="$ctrl.stepNames" step-indicator-name="{{ ::$ctrl.strings.stepTracker_StepIndicator }}" />\r\n    <\/section>\r\n<\/div>\r\n<div class="sp-container-workflow-page" tabindex="-1">\r\n    <div data-grid="container">\r\n        <div class="sp-container-workflow-body">\r\n            <div class="sp-container-section-header" data-grid="col-12">\r\n                <spc-heading header-class="m-heading-4" heading-level="h2" text="{{ ::$ctrl.strings.severityPage_PageHeader_Title }}" />\r\n            <\/div>\r\n\r\n            <div class="sp-severity-phone-call" data-grid="col-12" ng-if="$ctrl.isSev2RegionalPhone">\r\n                <spc-call-to-action component-id="severity-page-level-2-phone"\r\n                                    component-aria-label="{{$ctrl.strings.workflowSeverityAPhoneText}}"\r\n                                    label="{{$ctrl.strings.workflowSeverityAPhoneText}}"\r\n                                    is-lightweight="true"\r\n                                    is-new-tab="true"\r\n                                    source="{{$ctrl.commercialSupportPhoneNumberLink}}" />\r\n            <\/div>\r\n\r\n            <div data-grid="col-12 stack-2">\r\n                <div class="sp-severity-section" data-grid="col-6">\r\n                    <div class="sp-container-drawer-sections" data-grid="container">\r\n                        <div ng-if="$ctrl.emailSeverities.length > 0" class="sp-container-drawer">\r\n                            <section aria-label="{{ ::$ctrl.drawerEmailLabel }}">\r\n\r\n                                <!-- Drawer: Request Details -->\r\n                                <div class="c-drawer sp-drawer-email">\r\n\r\n                                    <!-- Drawer Header -->\r\n                                    <button class="c-glyph sp-drawer-button"\r\n                                            id="broadcommercial-severity-email"\r\n                                            data-bi-id="severity-email"\r\n                                            aria-expanded="true"\r\n                                            aria-controls="drawerSeverityEmail">\r\n                                        <spc-drawer-button-header glyph-id="glyph-settings"\r\n                                                                  header-text="{{ ::$ctrl.drawerEmailLabel }}"\r\n                                                                  description-text="{{ ::$ctrl.strings.emailLabel }}" />\r\n                                    <\/button>\r\n\r\n                                    <!-- Drawer: Panel -->\r\n                                    <div id="drawerSeverityEmail" class="c-drawer-panel sp-drawer-options">\r\n                                        <div class="sp-drawer-panel">\r\n                                            <spc-severity-options id="severity-page-severity-options-email"\r\n                                                                  component-rendered="$ctrl.onPageLoadComplete()"\r\n                                                                  is-severity-selected="$ctrl.isSeveritySectionComplete(isSelected)"\r\n                                                                  pre-populate="$ctrl.preSelectedSeverity"\r\n                                                                  severities="$ctrl.emailSeverities" />\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/section>\r\n                        <\/div>\r\n\r\n                        <div ng-if="$ctrl.phoneSeverities.length > 0" class="sp-container-drawer">\r\n                            <section aria-label="{{ ::$ctrl.drawerPhoneLabel }}">\r\n\r\n                                <!-- Drawer: Request Details -->\r\n                                <div class="c-drawer sp-drawer-phone">\r\n\r\n                                    <!-- Drawer Header -->\r\n                                    <button class="c-glyph sp-drawer-button"\r\n                                            id="broadcommercial-severity-phone"\r\n                                            data-bi-id="severity-phone"\r\n                                            aria-expanded="true"\r\n                                            aria-controls="drawerSeverityPhone">\r\n                                        <spc-drawer-button-header glyph-id="glyph-settings"\r\n                                                                  header-text="{{ ::$ctrl.drawerPhoneLabel }}"\r\n                                                                  description-text="{{ ::$ctrl.strings.phoneLabel }}" />\r\n                                    <\/button>\r\n\r\n                                    <!-- Drawer: Panel -->\r\n                                    <div id="drawerSeverityPhone" class="c-drawer-panel sp-drawer-options">\r\n                                        <div class="sp-drawer-panel">\r\n                                            <spc-severity-options component-id="phone-options" component-rendered="$ctrl.onPageLoadComplete()" is-severity-selected="$ctrl.isSeveritySectionComplete(isSelected)" pre-populate="$ctrl.preSelectedSeverity" severities="$ctrl.phoneSeverities" />\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/section>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class="sp-business-hours-section" data-grid="col-6">\r\n                    <div ng-if="$ctrl.isLoadingTimezone()">\r\n                        <loading-bar loading-type="bar" aria-value="{{::$ctrl.strings.commonLoadingBar}}" aria-label="{{::$ctrl.strings.commonLoadingBar}}" />\r\n                    <\/div>\r\n\r\n                    <div class="sp-selected-region">\r\n                        <p id="support-country" class="c-paragraph-3 f-lean sp-preformatted-text"> <b>{{$ctrl.supportCountryChoice}}<\/b><\/p>\r\n                    <\/div>\r\n\r\n                    <div class="sp-selected-region">\r\n                        <p id="support-language" class="c-paragraph-3 f-lean sp-preformatted-text"> <b>{{$ctrl.supportLanguageChoice}}<\/b><\/p>\r\n                    <\/div>\r\n\r\n                    <spc-business-hours-view region-code="{{::$ctrl.regionCode}}"\r\n                                             send-time-zone="$ctrl.setTimeZoneFromHoops(timeZone)" />\r\n\r\n                    <spc-time-zones-view region-code="{{::$ctrl.regionCode}}"\r\n                                         pre-populate="{{$ctrl.timeZone}}"\r\n                                         time-zone-list="$ctrl.timeZoneList"\r\n                                         send-time-zone="$ctrl.setTimeZoneFromLocale(timeZone)"\r\n                                         send-time-zone-list="$ctrl.setTimeZoneListFromLocale(timeZoneList)" />\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div data-grid="col-12" class="sp-container-workflow-nav">\r\n            <spc-workflow-nav on-previous="$ctrl.onPrevious()"\r\n                              on-next="$ctrl.onNext()"\r\n                              is-next-disabled="!$ctrl.isSeverityOptionSelected || !$ctrl.isTimezoneSelected"\r\n                              selected="{{$ctrl.selectedSeverity.severity}}|{{$ctrl.selectedSeverity.Is24X7OptedIn}}"\r\n                              totalcount="{{$ctrl.emailSeverities.length}}"\r\n                              identifier="{{$ctrl.selectedSeverity.supportChannel}}" />\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/supportPlanPage/supportPlanPage.component.html",'<div class="sp-container-step-tracker" data-grid="container">\r\n    <div data-grid="col-12">\r\n        <spc-step-tracker heading="{{ ::$ctrl.strings.stepTracker_Heading_NewSupportRequest }}"\r\n                          current-page-name="{{ ::$ctrl.strings.supportPlan_PageName }}"\r\n                          step-indicator-name="{{ ::$ctrl.strings.stepTracker_StepIndicator }}"\r\n                          step-names-list="$ctrl.stepNames" />\r\n    <\/div>\r\n<\/div>\r\n<div class="sp-container-workflow-page" tabindex="-1">\r\n    <div class="sp-container-workflow-body" data-grid="container">\r\n        <!-- Loading -->\r\n        <div ng-if="$ctrl.isLoadingSupportPlans"\r\n             class="sp-div-loading"\r\n             data-grid="col-12">\r\n\r\n            <spc-heading header-class="m-heading-4 sp-header"\r\n                         heading-level="h2"\r\n                         text="{{ ::$ctrl.strings.supportPlanPage_loadingPlans_text }}" />\r\n\r\n            <loading-bar loading-type="bar" aria-label="{{ ::$ctrl.strings.supportPlanPage_loadingPlans_text }}" />\r\n        <\/div>\r\n\r\n        <!-- !Loading -->\r\n        <div class="sp-div-loaded" ng-if="!$ctrl.isLoadingSupportPlans" data-grid="col-12">\r\n\r\n            <!-- Division: Available plans-->\r\n            <div class="sp-div-plans-available" data-grid="col-12">\r\n\r\n                <!-- Drawer: Available support plans -->\r\n                <div class="c-drawer sp-drawer-plans-available">\r\n\r\n                    <!-- Drawer button -->\r\n                    <button id="drawer-support-plans-user-plans"\r\n                            class="c-glyph sp-drawer-button" aria-expanded="false" aria-controls="responsiveDrawerPlansUser">\r\n                        <spc-drawer-button-header glyph-id="sp-glyph-supportplan"\r\n                                                  header-text="{{ ::$ctrl.strings.supportPlanPage_drawerHeading_plansEligible }}"\r\n                                                  description-text="{{ ::$ctrl.strings.supportPlanPage_drawerDescription_plansEligible }}" />\r\n                    <\/button>\r\n\r\n                    <!-- Drawer panel -->\r\n                    <div id="responsiveDrawerPlansUser" class="c-drawer-panel sp-div-indented">\r\n\r\n                        <div data-grid="col-12">\r\n                            <spc-alert action-link-text="{{ ::$ctrl.strings.supportPlanPage_linkLabel_premier }}"\r\n                                       action-link-url="/premier"\r\n                                       alert-message="{{ ::$ctrl.messagePremierPlansDetected }}"\r\n                                       component-id="sp-premier-plan-redirect"\r\n                                       component-aria-label="{{ ::$ctrl.$ctrl.messagePremierPlansDetected }}"\r\n                                       is-error="true"\r\n                                       ng-if="$ctrl.showPremierRedirect()" />\r\n                        <\/div>\r\n\r\n                        <div data-grid="col-12">\r\n                            <spc-alert action-link-text="{{ ::$ctrl.strings.learnMore }}"\r\n                                       action-link-url="{{ ::$ctrl.strings.urlLearnMoreMissingSupportOptions}}"\r\n                                       alert-message="{{ ::$ctrl.strings.statementMissingSupportPlan }}"\r\n                                       component-id="sp-missing-support-plan-alert"\r\n                                       component-aria-label="{{ ::$ctrl.strings.statementMissingSupportPlan }}"\r\n                                       is-error="true"\r\n                                       ng-if="!$ctrl.existsAlertGetEntitlements()" />\r\n                        <\/div>\r\n\r\n                        <!-- Error: GetEntitlements -->\r\n                        <div class="sp-div-alert"\r\n                             data-grid="col-12"\r\n                             ng-if="$ctrl.existsAlertGetEntitlements()">\r\n\r\n                            <spc-alert alert-message="{{ $ctrl.errorMessageGetEntitlements }}"\r\n                                       aria-label="{{ $ctrl.errorMessageGetEntitlements }}"\r\n                                       add-correlation-vector="true"\r\n                                       component-id="get-entitlements-alert"\r\n                                       is-error="true" />\r\n                        <\/div>\r\n\r\n                        <!-- No Entitlements -->\r\n                        <div class="sp-div-drawer-pane"\r\n                             data-grid="col-12"\r\n                             ng-if="$ctrl.showNoSupportPlans()">\r\n\r\n                            <p class="c-paragraph-3 f-lean">\r\n                                {{ ::$ctrl.strings.supportPlanPage_text_noEligiblePlans }}\r\n                            <\/p>\r\n                        <\/div>\r\n\r\n                        <!-- Grouped and sorted Entitlements -->\r\n                        <div class="sp-div-drawer-pane" data-grid="col-12"\r\n                             ng-if="$ctrl.showSupportPlans()">\r\n\r\n                            <spc-support-plan-picker on-plan-selected="$ctrl.onPlanSelected(plan)"\r\n                                                     pre-selected-plan="{{ $ctrl.preSelectedPlan }}"\r\n                                                     support-plans="$ctrl.supportPlans.availablePlans" />\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Division: Unavailable plans-->\r\n            <div class="sp-div-plans-unavailable" data-grid="col-12" ng-if="$ctrl.showUnavailableSupportPlans()">\r\n\r\n                <!-- Drawer: Unavailable support plans-->\r\n                <div class="c-drawer sp-drawer-plans-unavailable">\r\n\r\n                    <!-- Drawer button -->\r\n                    <button id="drawer-support-plans-user-invalid-plans"\r\n                            class="c-glyph sp-drawer-button" aria-expanded="false" aria-controls="responsiveDrawerInvalidPlansUser">\r\n                        <spc-drawer-button-header glyph-id="sp-glyph-supportplan"\r\n                                                  header-text="{{ ::$ctrl.strings.supportPlanPage_drawerHeading_plansIneligible }}"\r\n                                                  description-text="{{ ::$ctrl.strings.supportPlanPage_drawerDescription_plansIneligible }}" />\r\n                    <\/button>\r\n\r\n                    <!-- Drawer panel -->\r\n                    <div id="responsiveDrawerInvalidPlansUser" class="c-drawer-panel sp-div-indented">\r\n\r\n                        <!-- Grouped and sorted Entitlements -->\r\n                        <div class="sp-div-drawer-pane" data-grid="col-12">\r\n                            <spc-support-plan-picker support-plans="$ctrl.supportPlans.unavailablePlans" />\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Division: Add Plans-->\r\n            <div class="sp-div-add-plans" data-grid="col-12">\r\n\r\n                <!-- Drawer -->\r\n                <div class="c-drawer sp-drawer-plans-add">\r\n\r\n                    <!-- Drawer button -->\r\n                    <button id="drawer-support-plans-add-plans"\r\n                            class="c-glyph sp-drawer-button" aria-expanded="false" aria-controls="responsiveDrawerPlansAdd">\r\n                        <spc-drawer-button-header glyph-id="glyph-telemarketer"\r\n                                                  header-text="{{ ::$ctrl.strings.supportPlanPage_drawerHeading_addPlans }}"\r\n                                                  description-text="{{ ::$ctrl.strings.supportPlanPage_drawerDescription_addPlans }}" />\r\n                    <\/button>\r\n\r\n                    <!-- Drawer panel -->\r\n                    <div id="responsiveDrawerPlansAdd" class="c-drawer-panel sp-div-indented">\r\n                        <div data-grid="col-12">\r\n                            <div class="sp-div-add-button">\r\n                                <button id="workflow-buy-contract-open"\r\n                                        class="c-button f-primary sp-button-add-plan" type="button"\r\n                                        data-js-dialog-show="dialog-add-support-contract"\r\n                                        data-bi-id="workflow-buy-contract-open">\r\n                                    {{ ::$ctrl.strings.addSupportPlan_addSupportContract }}\r\n                                <\/button>\r\n                                <spc-dialog-add-support-contract on-success="$ctrl.refreshSupportPlans()" />\r\n\r\n                                <button id="workflow-buy-subscription-open"\r\n                                        class="c-button f-primary sp-button-add-plan" type="button"\r\n                                        data-js-dialog-show="dialog-add-support-subscription"\r\n                                        data-bi-id="workflow-buy-subscription-open">\r\n                                    {{ ::$ctrl.strings.addSupportPlan_addSupportSubscription }}\r\n                                <\/button>\r\n                                <spc-dialog-add-support-subscription on-success="$ctrl.refreshSupportPlans()" />\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div data-grid="col-12" ng-if="$ctrl.showPurchaseOptions()">\r\n                            <div class="sp-container-or" ng-if="$ctrl.supportOptions.length > 0 || $ctrl.isGetPurchasableSupportPlansError">\r\n                                <div class="sp-or-separator-div">\r\n                                    <span class="sp-or-separator-text">\r\n                                        {{ ::$ctrl.strings.common_orText }}\r\n                                    <\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div data-grid="col-12" ng-if="$ctrl.isGetPurchasableSupportPlansError">\r\n                                <spc-alert alert-message="{{::$ctrl.strings.purchasableSupportPlans_errorMessage}}"\r\n                                           component-id="sp-get-purchasable-plans-error"\r\n                                           component-aria-label="{{::$ctrl.strings.purchasableSupportPlans_errorMessage}}"\r\n                                           is-dismissed="!$ctrl.isGetPurchasableSupportPlansError"\r\n                                           add-correlation-vector="true"\r\n                                           is-error="true" />\r\n                            <\/div>\r\n                            <div data-grid="col-12" ng-if="$ctrl.isLoadingSupportOptionsForPurchase">\r\n                                <loading-bar loading-type="bar" aria-label="{{ ::$ctrl.strings.supportPlanPage_loadingPurchasablePlans_text }}" />\r\n                            <\/div>\r\n                            <div ng-if="$ctrl.supportOptions.length > 0" class="sp-container-plans-purchase" data-grid="col-12">\r\n                                <spc-purchase-support-options-list support-options="$ctrl.supportOptions" on-purchase="$ctrl.refreshSupportPlans()" />\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div data-grid="col-12" ng-if="!$ctrl.showPurchaseOptions()">\r\n                            <spc-alert action-link-text="{{ ::$ctrl.strings.learnMore }}"\r\n                                       action-link-url="{{ ::$ctrl.strings.urlPpiAadAccountsNotSupported}}"\r\n                                       alert-message="{{ ::$ctrl.strings.ppiAadAccountsNotSupported }}"\r\n                                       component-id="sp-aad-not-supported"\r\n                                       component-aria-label="{{ ::$$ctrl.strings.ppiAadAccountsNotSupported }}"\r\n                                       is-error="true" />\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Navigation -->\r\n        <div data-grid="col-12">\r\n            <div class="sp-container-workflow-nav" data-grid="col-12">\r\n                <spc-call-to-action component-id="workflow-about-support-business-link"\r\n                                    component-aria-label="{{ ::$ctrl.strings.supportPlanPage_linkLabel_supportBusiness }}"\r\n                                    label="{{ ::$ctrl.strings.supportPlanPage_linkLabel_supportBusiness }}"\r\n                                    is-lightweight="true"\r\n                                    is-new-tab="true"\r\n                                    source="/help/4457997/microsoft-professional-support-pay-per-incident-faq" />\r\n                <spc-workflow-nav on-previous="$ctrl.onPrevious()"\r\n                                  on-next="$ctrl.onNext()"\r\n                                  is-next-disabled="$ctrl.isDisabledButtonNext()"\r\n                                  selected="{{$ctrl.selectedPlan.entitlement.entitlementType}}|{{$ctrl.selectedPlan.entitlement.originalUnitCount}}"\r\n                                  totalcount="{{$ctrl.supportPlans.availablePlans.length}}" />\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/supportRequestDetailsPage/supportRequestDetailsPage.component.html",'<div class="sp-page-request-details" ng-if="$ctrl.isCaseDetailsAvailable">\r\n    <!-- Header Content -->\r\n    <div class="sp-container-details-header" data-grid="container">\r\n        <div data-grid="col-12">\r\n            <spc-request-details-header case-number="{{ ::$ctrl.header.caseNumber }}"\r\n                                        case-severity="{{ ::$ctrl.header.severity }}"\r\n                                        case-state="{{ ::$ctrl.header.state }}"\r\n                                        case-title="{{ ::$ctrl.header.title }}"\r\n                                        created-by="{{ ::$ctrl.header.createdBy }}"\r\n                                        created-on="{{ $ctrl.header.createdOn }}"\r\n                                        contact-channel="{{ $ctrl.header.contactChannel }}"\r\n                                        time-zone="{{ $ctrl.header.timeZone }}"\r\n                                        support-language="{{ $ctrl.header.supportLanguage }}" />\r\n        <\/div>\r\n        <div class="sp-survey" data-grid="col-12">\r\n            <spc-call-to-action ng-if="$ctrl.surveySource != null"\r\n                                component-id="request-details-survey"\r\n                                label="{{ ::$ctrl.strings.surveyLabel }}"\r\n                                is-lightweight="true" is-new-tab="true"\r\n                                source="{{ ::$ctrl.surveySource }}" />\r\n        <\/div>\r\n    <\/div>\r\n    <!-- Page Content -->\r\n    <div class="sp-container-workflow-page">\r\n        <div class="sp-container-drawer-sections" data-grid="container">\r\n\r\n            <div class="sp-container-drawer" data-grid="col-12">\r\n                <section aria-label="{{ ::$ctrl.strings.requestDetails_DrawerHeader_Details }}">\r\n\r\n                    <!-- Drawer: Request Details -->\r\n                    <div class="c-drawer sp-drawer-request-details">\r\n\r\n                        <!-- Drawer Header -->\r\n                        <button class="c-glyph sp-drawer-button"\r\n                                id="broadcommercial-request-details-support-and-files"\r\n                                data-bi-id="request-details-support-and-files"\r\n                                aria-expanded="false"\r\n                                aria-controls="drawerRequestDetails">\r\n                            <spc-drawer-button-header glyph-id="glyph-settings"\r\n                                                      header-text="{{ ::$ctrl.strings.requestDetails_DrawerHeader_Details }}"\r\n                                                      description-text="{{ ::$ctrl.strings.requestDetails_DrawerDescription_Details }}" />\r\n                        <\/button>\r\n\r\n                        <!-- Drawer: Panel -->\r\n                        <div id="drawerRequestDetails" class="c-drawer-panel">\r\n                            <div class="sp-drawer-panel">\r\n                                <!-- Card Group -->\r\n                                <div class="m-card-group f-feed">\r\n\r\n                                    <!-- Card: SR Details-->\r\n                                    <div class="c-card f-double">\r\n                                        <div class="c-card-content">\r\n                                            <spc-card-details-dialog action-label="{{ ::$ctrl.strings.requestDetails_LinkText_SeeAllDetails }}"\r\n                                                                     card-title="{{ ::$ctrl.strings.requestDetails_CardLabel_SupportRequestDetails }}"\r\n                                                                     details="{{ ::$ctrl.strings.requestDetails_CardDescription_SupportRequestDetails }}"\r\n                                                                     dialog-id="request-details-support-dialog"\r\n                                                                     img-alt-text="{{ ::$ctrl.strings.requestDetails_imgAltText_WomanAtDesk }}"\r\n                                                                     img-src="{{ ::$ctrl.strings.requestDetails_imgSrc_WomanAtDesk }}"\r\n                                                                     loading-text="{{ ::$ctrl.strings.requestDetails_label_loading }}" />\r\n\r\n                                            <!-- Dialog: SR Details -->\r\n                                            <spc-dialog component-id="request-details-support-dialog"\r\n                                                        component-aria-label="{{ ::$ctrl.strings.requestDetails_CardLabel_SupportRequestDetails }}"\r\n                                                        is-flow="true"\r\n                                                        is-scroll="true"\r\n                                                        show-close-glyph="true"\r\n                                                        close-glyph-aria-label="{{ ::$ctrl.strings.requestDetails_CardLabel_SupportRequestDetails }}"\r\n                                                        title="{{ ::$ctrl.strings.requestDetails_CardLabel_SupportRequestDetails }}"\r\n                                                        on-dialog-initialize="$ctrl.initDialogRequestDetails(mwfDialog)">\r\n\r\n                                                <dialog-body>\r\n                                                    <div data-grid="col-12" class="sp-div-table-sap">\r\n                                                        <spc-table-product-selection sap-nodes="$ctrl.sapNodeTree" />\r\n                                                    <\/div>\r\n                                                    <div data-grid="col-12" class="sp-div-issue-details">\r\n                                                        <p class="c-paragraph-3 f-lean sp-label">\r\n                                                            {{ ::$ctrl.strings.requestDetails_detailsDialog_labelIssueDescription }}\r\n                                                        <\/p>\r\n                                                        <div class="sp-div-issue-description">\r\n                                                            <p class="c-paragraph-3 f-lean sp-text">{{ ::$ctrl.issueDescription}}<\/p>\r\n                                                        <\/div>\r\n                                                    <\/div>\r\n                                                <\/dialog-body>\r\n\r\n                                                <dialog-buttons>\r\n                                                    <button id="request-details-support-dialog-close-button"\r\n                                                            class="c-button f-primary"\r\n                                                            name="" type="button" data-js-dialog-hide=""\r\n                                                            data-bi-id="request-details-support-dialog-close-button"\r\n                                                            data-bi-name="Close">\r\n                                                        {{ ::$ctrl.strings.common_buttonClose }}\r\n                                                    <\/button>\r\n                                                <\/dialog-buttons>\r\n                                            <\/spc-dialog>\r\n                                        <\/div>\r\n                                    <\/div>\r\n\r\n                                    <!-- Card: Secure File Exchange-->\r\n                                    <div class="c-card f-double">\r\n                                        <div class="c-card-content">\r\n                                            <spc-double-card-call-to-action card-title="{{ ::$ctrl.strings.requestDetails_CardLabel_ManageFiles }}"\r\n                                                                            details="{{ ::$ctrl.strings.requestDetails_CardDescription_ManageFiles }}"\r\n                                                                            img-alt-text="{{ ::$ctrl.strings.requestDetails_imgAltText_ManageFiles }}"\r\n                                                                            img-src="{{ ::$ctrl.strings.requestDetails_imgSrc_ManageFiles }}"\r\n                                                                            is-new-tab="true"\r\n                                                                            link-id="request-details-support-upload-files"\r\n                                                                            link-text="{{ ::$ctrl.strings.requestDetails_LinkText_SecureFileExchange }}"\r\n                                                                            link-url="$ctrl.dtmLinkUrl"\r\n                                                                            loading-text="{{ ::$ctrl.strings.requestDetails_label_loading }}" />\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n\r\n            <!-- Drawer: Communications -->\r\n            <div class="sp-container-drawer" data-grid="col-12" ng-if="$ctrl.isEnabledServiceDeskFeatures">\r\n                <section aria-label="{{ ::$ctrl.strings.requestDetails_DrawerHeader_Communications }}">\r\n                    <div class="c-drawer sp-drawer-communications">\r\n\r\n                        <!-- Drawer: Header-->\r\n                        <button class="c-glyph sp-drawer-button"\r\n                                id="broadcommercial-request-details-communications"\r\n                                data-bi-id="request-details-communications"\r\n                                aria-expanded="true"\r\n                                aria-controls="drawerCommunications">\r\n\r\n                            <spc-drawer-button-header glyph-id="glyph-settings"\r\n                                                      header-text="{{ ::$ctrl.strings.requestDetails_DrawerHeader_Communications }}"\r\n                                                      description-text="{{ ::$ctrl.strings.requestDetails_DrawerDescription_Communications }}" />\r\n                        <\/button>\r\n\r\n                        <!-- Drawer: Panel -->\r\n                        <div id="drawerCommunications" class="c-drawer-panel">\r\n\r\n                            <!-- Component: Communications -->\r\n                            <spc-communications case-communications="$ctrl.communications"\r\n                                                send-new-email-to-details-page="$ctrl.createEmailInteraction(newEmailMessageContent)"\r\n                                                case-state="{{ ::$ctrl.header.state }}" />\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n\r\n            <!-- Drawer: Contacts -->\r\n            <div class="sp-container-drawer" data-grid="col-12" ng-if="$ctrl.isEnabledServiceDeskFeatures">\r\n                <section aria-label="{{ ::$ctrl.strings.requestDetails_DrawerHeader_ManageContacts }}">\r\n                    <div class="c-drawer sp-drawer-manage-contacts">\r\n\r\n                        <!-- Drawer: Header-->\r\n                        <button class="c-glyph sp-drawer-button"\r\n                                id="broadcommercial-request-details-contacts"\r\n                                data-bi-id="request-details-contacts"\r\n                                aria-expanded="false"\r\n                                aria-controls="drawerManageContacts">\r\n\r\n                            <spc-drawer-button-header glyph-id="glyph-settings"\r\n                                                      header-text="{{ ::$ctrl.strings.requestDetails_DrawerHeader_ManageContacts }}"\r\n                                                      description-text="{{ ::$ctrl.strings.requestDetails_DrawerDescription_ManageContacts }}" />\r\n                        <\/button>\r\n\r\n                        <!-- Drawer: Panel -->\r\n                        <div id="drawerManageContacts" class="c-drawer-panel">\r\n\r\n                            <!-- Component: Contact Cards -->\r\n                            <spc-contact-cards component-id="request-details"\r\n                                               contacts="$ctrl.customer.Contacts"\r\n                                               are-display-only=$ctrl.areContactCardsDisplayOnly\r\n                                               animated-card-group=$ctrl.areContactCardsAnimated\r\n                                               add-contact="$ctrl.addContact(contact)"\r\n                                               create-view="$ctrl.isCreateCaseView"\r\n                                               update-contact="$ctrl.updateContact(contact)"\r\n                                               delete-contact="$ctrl.deleteContact(contactId)" />\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/section>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/broadCommercial/pages/supportRequestsPage/supportRequestsPage.component.html",'<div data-grid="col-12" class="sp-root-style">\r\n    <section class="sp-page-section">\r\n        <div data-grid="col-12" class="sp-section-info">\r\n            <div data-grid="container">\r\n                <div class="sp-section-heading">\r\n                    <spc-heading header-class="m-heading-3" heading-level="h1" text="{{::$ctrl.strings.casesPageHeading_Label}}" />\r\n                <\/div>\r\n                <div data-grid="col-12" class="sp-section-create-case">\r\n                    <div data-grid="col-8">\r\n                        <label data-grid="col-12">{{::$ctrl.strings.casesPageBody_Text1}}<\/label>\r\n                        <label data-grid="col-12">{{::$ctrl.strings.casesPageBody_Text2}} <strong>{{::$ctrl.strings.casesCreateRequest_Button}}<\/strong> {{::$ctrl.strings.casesPageBody_Text3}}<\/label>\r\n                    <\/div>\r\n                    <div data-grid="col-4" class="sp-request-button-align">\r\n                        <a id="request-list-create-request"\r\n                           href="/supportforbusiness/productselection"\r\n                           name="button"\r\n                           class="c-button f-primary sp-create-request-button"\r\n                           data-bi-id="request-list-create-request">{{::$ctrl.strings.casesCreateRequest_Button}}<\/a>\r\n                    <\/div>\r\n                <\/div>\r\n                <div data-grid="col-12">\r\n                    <spc-call-to-action ng-if="$ctrl.surveySource != null"\r\n                                        component-id="request-list-survey"\r\n                                        label="{{ ::$ctrl.strings.surveyLabel }}"\r\n                                        is-lightweight="true"\r\n                                        is-new-tab="true"\r\n                                        source="{{ ::$ctrl.surveySource }}" />\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div data-grid="col-12" class="sp-cases-details">\r\n            <div class="m-table sp-cases-details-table">\r\n                <div class="c-table f-divided" data-grid="container">\r\n                    <div ng-if="!$ctrl.incidents" data-grid="col-12">\r\n                        <loading-bar loading-type="bar" aria-value="{{::$ctrl.strings.casesLoading_AriaLabel}}" aria-label="{{::$ctrl.strings.casesLoading_AriaLabel}}" />\r\n                    <\/div>\r\n                    <table data-f-sort="true" ng-if="$ctrl.incidents">\r\n                        <caption>\r\n                            <h3 data-grid="col-8" class="x-m-b-3x">{{::$ctrl.strings.casesTableTitle_Label}}<\/h3>\r\n                            <div ng-if="$ctrl.incidents.length > 0" data-grid="col-4" class="x-m-b-3x sp-export-button">\r\n                                <button id="request-list-export-requests"\r\n                                        class="c-button f-lightweight sp-export-button"\r\n                                        ng-click="$ctrl.exportDataCSV()" role="button"\r\n                                        data-bi-id="request-list-export-requests"\r\n                                        data-bi-totalcount="{{$ctrl.incidents.length}}">\r\n                                    <span class="c-glyph sr-export-excel-icon x-hidden-focus"><\/span>\r\n                                    <span>{{::$ctrl.strings.casesExport_Button}}<\/span>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/caption>\r\n                        <thead class="sp-cases-data-header">\r\n                            <tr role="row">\r\n                                <th scope="col" class="f-sortable" colspan="1" aria-sort="none">\r\n                                    <button id="request-list-sort-title" data-bi-id="request-list-sort-title" class="sp-cases-header-button" aria-label="{{::$ctrl.strings.casesTableHeaderTitle_AriaLabel}}">{{::$ctrl.strings.casesTableHeader_Title}}<\/button>\r\n                                <\/th>\r\n                                <th scope="col" class="f-sortable f-numerical" colspan="1" aria-sort="none">\r\n                                    <button id="request-list-sort-request-num" data-bi-id="request-list-sort-request-num" class="sp-cases-header-button" aria-label="{{::$ctrl.strings.casesTableHeaderSR_AriaLabel}}">{{::$ctrl.strings.casesTableHeader_SR}}<\/button>\r\n                                <\/th>\r\n                                <th scope="col" class="sp-cases-data-mobile f-sortable sp-request-button-align" colspan="1" aria-sort="none">\r\n                                    <button id="request-list-sort-created-date" data-bi-id="request-list-sort-created-date" class="sp-cases-header-button" aria-label="{{::$ctrl.strings.casesTableHeaderDateCreated_AriaLabel}}" class="f-descending">{{::$ctrl.strings.casesTableHeader_DateCreated}}<\/button>\r\n                                <\/th>\r\n                                <th scope="col" class="sp-cases-data-mobile f-sortable f-numerical" colspan="1" aria-sort="none">\r\n                                    <button id="request-list-sort-severity" data-bi-id="request-list-sort-severity" class="sp-cases-header-button" aria-label="{{::$ctrl.strings.casesTableHeaderSeverity_AriaLabel}}">{{::$ctrl.strings.casesTableHeader_Severity}}<\/button>\r\n                                <\/th>\r\n                                <th scope="col" class="f-sortable f-numerical" colspan="1" aria-sort="none">\r\n                                    <button id="request-list-sort-status" data-bi-id="request-list-sort-status" class="sp-cases-header-button" aria-label="{{::$ctrl.strings.casesTableHeaderStatus_AriaLabel}}">{{::$ctrl.strings.casesTableHeader_Status}}<\/button>\r\n                                <\/th>\r\n                            <\/tr>\r\n                        <\/thead>\r\n\r\n                        <tbody id="support-requests-table-body" class="sp-cases-data-background">\r\n                            <tr ng-repeat="incident in $ctrl.incidents | filter: $ctrl.filterIncidentsBetweenDates()  | limitTo: $ctrl.quantity" ng-if="$ctrl.incidents.length > 0">\r\n                                <td class="f-sortable sp-cases-title-max-width">\r\n                                    <a id="request-list-show-details-{{incident.CaseNumber}}"\r\n                                       href="supportforbusiness/requestdetails/{{incident.CaseNumber}}"\r\n                                       class="c-hyperlink"\r\n                                       data-bi-id="request-list-show-details"\r\n                                       data-bi-identifier="{{incident.CaseNumber}}">{{incident.Title}}<\/a>\r\n                                <\/td>\r\n                                <td class="f-numerical f-sub-categorical">\r\n                                    <span class="sp-case-number" ng-if="incident.ExternalCaseId">{{incident.ExternalCaseId}}<\/span>\r\n                                    <span class="sp-case-number" ng-if="!incident.ExternalCaseId">{{incident.CaseNumber}}<\/span>\r\n                                <\/td>\r\n                                <td class="sp-cases-data-mobile f-sub-categorical sp-cases-id-width sp-request-button-align">\r\n                                    <span>{{incident.CreatedOn | date: $ctrl.getLocalizedDateFormat}}<\/span>\r\n                                <\/td>\r\n                                <td class="sp-cases-data-mobile f-numerical f-sub-categorical">\r\n                                    <span>{{::$ctrl.strings[$ctrl.resourcePolicySeveritySeed + incident.Severity]}}<\/span>\r\n                                <\/td>\r\n                                <td class="f-numerical f-sub-categorical">\r\n                                    <span ng-if="incident.State === \'Closed\'">\r\n                                        <span class="c-glyph sr-close-status-icon x-hidden-focus"><\/span>\r\n                                        <span>{{ ::$ctrl.strings[\'requestDetailsHeader_label_state\' + incident.State] }}<\/span>\r\n                                    <\/span>\r\n                                    <span ng-if="incident.State === \'Open\'">\r\n                                        <span class="c-glyph sr-open-status-icon x-hidden-focus"><\/span>\r\n                                        <span>{{ ::$ctrl.strings[\'requestDetailsHeader_label_state\' + incident.State] }}<\/span>\r\n                                    <\/span>\r\n                                <\/td>\r\n                            <\/tr>\r\n                            <tr ng-if="$ctrl.incidents.length < 1">\r\n                                <td colspan="5" class="sp-no-cases-table">\r\n                                    <span class="c-glyph sr-no-requests-icon x-hidden-focus"><\/span>\r\n                                    <label data-grid="col-12" class="sp-no-cases-title">{{::$ctrl.strings.cases_NoSRsTitle_Label}}<\/label>\r\n                                    <label data-grid="col-12" class="sp-no-cases-body">{{::$ctrl.strings.casesNoSRsBody_Label}}<\/label>\r\n                                    <label data-grid="col-12" class="sp-no-cases-help-text">{{::$ctrl.strings.casesNoSRsFooter_Label}}<\/label>\r\n                                <\/td>\r\n                            <\/tr>\r\n                        <\/tbody>\r\n                    <\/table>\r\n                    <table ng-if="$ctrl.incidents.length > 10 && !$ctrl.showAllRequests">\r\n                        <tbody class="sp-cases-data-background">\r\n                            <tr>\r\n                                <td class="x-hidden-focus">\r\n                                    <a id="request-list-see-more" class="c-action-trigger" href="#" ng-click="$ctrl.onShowRequests()" role="button" data-bi-id="request-list-see-more" data-bi-totalcount="{{$nctrl.incidents.length}}">\r\n                                        <span class="c-glyph see-all-cases-icon x-hidden-focus"><\/span>\r\n                                        <span class="sp-see-all-cases-link-text">{{::$ctrl.strings.casesSeeAll_ButtonText}}<\/span>\r\n                                    <\/a>\r\n                                <\/td>\r\n                            <\/tr>\r\n                        <\/tbody>\r\n                    <\/table>\r\n                    <div class="sp-other-support-options">\r\n                        <h3 class="c-heading-4 sp-other-support-caption">{{::$ctrl.strings.casesOtherSupportOptions_Label}}<\/h3>\r\n\r\n                        <div class="sp-other-support-options-list">\r\n                            <div class="c-card sp-other-support-option">\r\n                                <div class="c-card-content sp-card-content-style">\r\n                                    <div data-grid="col-12">\r\n                                        <span class="c-glyph sr-azure-icon x-hidden-focus"><\/span>\r\n                                    <\/div>\r\n                                    <div data-grid="col-12" class="sp-card-content-text"><p class="c-paragraph-4">{{::$ctrl.strings.casesViewAzureTitle_Label}}<\/p><\/div>\r\n                                    <div data-grid="col-12">\r\n                                        <spc-call-to-action component-aria-label="{{ ::$ctrl.strings.casesViewAzure_LinkText }}"\r\n                                                            component-id="request-list-azure-redirect"\r\n                                                            is-lightweight="true"\r\n                                                            is-new-tab="true"\r\n                                                            label="{{ ::$ctrl.strings.casesViewAzure_LinkText }}"\r\n                                                             source="{{::$ctrl.supportRequetsFilterList[$ctrl.azureFamilyId].renderingInfo[\'ToAzureSupportPortal\'].redirectionLink}}" />\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class="c-card sp-other-support-option">\r\n                                <div class="c-card-content sp-card-content-style">\r\n                                    <div data-grid="col-12">\r\n                                        <span class="c-glyph sr-office-icon x-hidden-focus"><\/span>\r\n                                    <\/div>\r\n                                    <div data-grid="col-12" class="sp-card-content-text"><p class="c-paragraph-4">{{::$ctrl.strings.casesViewOfficeTitle_Label}}<\/p><\/div>\r\n                                    <div data-grid="col-12">\r\n                                        <spc-call-to-action component-aria-label="{{::$ctrl.strings.casesViewOffice_LinkText}}"\r\n                                                            component-id="request-list-office-redirect"\r\n                                                            is-lightweight="true"\r\n                                                            is-new-tab="true"\r\n                                                            label="{{::$ctrl.strings.casesViewOffice_LinkText}}"\r\n                                                            source="{{::$ctrl.supportRequetsFilterList[$ctrl.officeFamilyId].renderingInfo[\'ToAdminMicrosoftPortal\'].redirectionLink}}" />\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class="c-card sp-other-support-option">\r\n                                <div class="c-card-content sp-card-content-style">\r\n                                    <div data-grid="col-12">\r\n                                        <span class="c-glyph sr-dynamics-icon x-hidden-focus"><\/span>\r\n                                    <\/div>\r\n                                    <div data-grid="col-12" class="sp-card-content-text"><p class="c-paragraph-4">{{::$ctrl.strings.casesViewDynamics_Title}}<\/p><\/div>\r\n                                    <div data-grid="col-12">\r\n                                        <spc-call-to-action component-aria-label="{{::$ctrl.strings.casesViewDynamics_LinkText}}"\r\n                                                            component-id="request-list-dynamics-redirect"\r\n                                                            is-lightweight="true"\r\n                                                            is-new-tab="true"\r\n                                                            label="{{::$ctrl.strings.casesViewDynamics_LinkText}}"\r\n                                                            source="{{::$ctrl.supportRequetsFilterList[$ctrl.dynamicsFamilyId].renderingInfo[\'ToAdminPowerPlatformPortal\'].redirectionLink}}" />\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n<\/div>');n.put("/src/app/quickForms/components/captcha/captcha.component.html",'<div id="ispHIPHIP"><\/div>\r\n<div id="ispHIPScript" style="display:inline">\r\n    <!--object-name is name of hip object, which is defined in captchaComponent.js-->\r\n    <div hip-script object-name="PORTALHIP"><\/div>\r\n<\/div>\r\n<input type="hidden" id="Solution" name="Solution" />\r\n<input type="hidden" id="Token" name="Token" />\r\n<input type="hidden" id="Type" name="Type" />');n.put("/src/app/quickForms/components/progressBar/mwfProgressBar.component.html",'<div ng-if="$ctrl.isStarted">\r\n    <div ng-if="!$ctrl.indeterminate">\r\n        <progress class="c-progress" role="progressbar" max="100" value="{{$ctrl.progressPercentage}}" aria-valuenow="{{$ctrl.progressPercentage}}" aria-valuemin="0" aria-valuemax="100" tabindex="0" aria-live="polite" aria-label="{{$ctrl.screenreader}}">\r\n            <!--[if lt IE 9]>\r\n                <div class="c-progress" role="progressbar" aria-valuenow="{{$ctrl.progressPercentage}}" aria-valuemin="0" aria-valuemax="100" tabindex="0" aria-label="determinate progress bar">\r\n                    <span style="width:{{$ctrl.progressPercentage}}%"><\/span>\r\n                <\/div>\r\n                <![endif]-->\r\n        <\/progress>\r\n    <\/div>\r\n    <div ng-if="$ctrl.indeterminate">\r\n        <div ng-if="$ctrl.isBar">\r\n            <div class="c-progress" ng-class="$ctrl.progressClasses" role="progressbar" aria-valuetext="{{$ctrl.screenreader}}" aria-live="polite" tabindex="0" aria-label="{{$ctrl.screenreader}}">\r\n                <span><\/span>\r\n                <span><\/span>\r\n                <span><\/span>\r\n                <span><\/span>\r\n                <span><\/span>\r\n            <\/div>\r\n        <\/div>\r\n        <div ng-if="!$ctrl.isBar">\r\n            <div class="c-progress" ng-class="$ctrl.progressClasses" role="progressbar" aria-valuetext="{{$ctrl.screenreader}}" aria-live="polite" tabindex="0" aria-label="{{$ctrl.screenreader}}">\r\n                <span><\/span>\r\n                <span><\/span>\r\n                <span><\/span>\r\n                <span><\/span>\r\n                <span><\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n');n.put("/src/app/shared/components/alert/alert.component.html",'<div id="{{::$ctrl.componentId}}" ng-if="!$ctrl.isDismissed" tabindex="-1" ng-cloak>\r\n    <div class="m-alert" ng-class="{\'f-error\': $ctrl.isError, \'f-warning\': $ctrl.isWarning, \'f-information\': $ctrl.isInformation }" role="alert">\r\n        <button ng-if="$ctrl.hasCancelButton" class="c-action-trigger c-glyph glyph-cancel" aria-label="{{::$ctrl.strings.common_Cancel_Alert}}"><\/button>\r\n        <div aria-live="assertive" aria-atomic="true">\r\n            <div class="c-glyph" ng-class="{\'glyph-info\': $ctrl.isInformation, \'glyph-incident-triangle\': $ctrl.isError, \' glyph-warning\': $ctrl.isWarning  }" aria-label="{{::$ctrl.componentAriaLabel}}"><\/div>\r\n            <h1 ng-if="$ctrl.isHeaderAboveAlertRequested" class="c-heading">{{::$ctrl.headingAboveAlertLabel}}<\/h1>\r\n            <p id="{{::$ctrl.componentId}}-detail-message" class="c-paragraph-3 f-lean" aria-live="assertive">\r\n                {{::$ctrl.alertMessage}}\r\n                <span class="c-group sp-action-group" ng-if="$ctrl.showActionLink()">\r\n                    <a class="c-action-trigger sp-action-link"\r\n                       ng-href="{{ ::$ctrl.actionLinkUrl }}"\r\n                       role="button"\r\n                       target="_blank"\r\n                       rel="noopener"\r\n                       data-bi-id="{{ ::$ctrl.componentId }}-action-link"\r\n                       aria-labelledby="{{::$ctrl.componentId}}-detail-message">\r\n                        {{ ::$ctrl.actionLinkText }}\r\n                    <\/a>\r\n                <\/span>\r\n            <\/p>\r\n            <p ng-if="$ctrl.addCorrelationVector" class="c-paragraph">\r\n                {{$ctrl.strings.commonCvText}}:{{::$ctrl.correlationVectorValue}}\r\n            <\/p>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/shared/components/callToAction/callToAction.component.html",'<a ng-if="$ctrl.isNewTab"\r\n   id="{{ ::$ctrl.componentId }}"\r\n   ng-href="{{ $ctrl.source }}"\r\n   class="c-call-to-action c-glyph"\r\n   ng-class="{ \'f-lightweight\': $ctrl.isLightweight, \'f-seconday\': $ctrl.isSecondary, \'f-image\':  $ctrl.imageSource }"\r\n   ng-disabled="$ctrl.isDisabled"\r\n   aria-label="{{ ::$ctrl.componentAriaLabel }}"\r\n   aria-describedby="{{ ::$ctrl.componentAriaDescribedby }}"\r\n   ng-click="$ctrl.onClick()"\r\n   tabindex="0"\r\n   target="_blank"\r\n   rel="noopener"\r\n   data-bi-id="{{ ::$ctrl.componentId }}">{{ ::$ctrl.label }}\r\n<\/a>\r\n<a ng-if="!$ctrl.isNewTab"\r\n   id="{{ ::$ctrl.componentId }}"\r\n   ng-href="{{ $ctrl.source }}"\r\n   class="c-call-to-action c-glyph"\r\n   ng-class="{ \'f-lightweight\': $ctrl.isLightweight, \'f-seconday\': $ctrl.isSecondary, \'f-image\':  $ctrl.imageSource }"\r\n   ng-disabled="$ctrl.isDisabled"\r\n   aria-label="{{ ::$ctrl.componentAriaLabel }}"\r\n   aria-describedby="{{ ::$ctrl.componentAriaDescribedby }}"\r\n   ng-click="$ctrl.onClick()"\r\n   tabindex="0"\r\n   data-bi-id="{{ ::$ctrl.componentId }}">{{ ::$ctrl.label }}\r\n<\/a>');n.put("/src/app/shared/components/clientInfo/clientInfo.component.html",'<div ng-if="$ctrl.isApplicable">\r\n    <iframe ng-src="{{$ctrl.clientInfoUrl}}"\r\n            tabindex="-1"\r\n            aria-hidden="true"\r\n            class="client-info"><\/iframe>\r\n<\/div>');n.put("/src/app/shared/components/dialog/dialog.component.html",'<div class="c-dialog" ng-class="[$ctrl.componentId, { \'f-flow\': $ctrl.isFlow, \'f-lightbox\': $ctrl.isLightbox }]" id="{{ ::$ctrl.componentId }}" aria-hidden="{{ ::!$ctrl.showDialog }}">\r\n    <div role="presentation" tabindex="-1"><\/div>\r\n\r\n    <button ng-if="$ctrl.showLightboxCloseGlyph" class="c-glyph glyph-cancel" data-js-dialog-hide="" tabindex="0" aria-label="{{ ::$ctrl.closeGlyphAriaLabel }}"><\/button>\r\n\r\n    <div role="dialog" aria-label="{{ ::$ctrl.componentAriaLabel }}" tabindex="-1" ng-class="{ \'x-hidden-focus\': $ctrl.containsIframe, \'sp-dialog-iframe\': $ctrl.containsIframe }">\r\n        <div ng-transclude="progress"><\/div>\r\n\r\n        <button id="{{$ctrl.componentId}}-close" \r\n                ng-if="$ctrl.showFlowCloseGlyph" \r\n                class="c-glyph glyph-cancel" \r\n                data-js-dialog-hide="" \r\n                tabindex="0" \r\n                aria-label="{{ ::$ctrl.closeGlyphAriaLabel }}"\r\n                data-bi-id="{{$ctrl.componentId}}-close"\r\n                data-bi-name="Close Glyph"><\/button>\r\n\r\n        <div role="document">\r\n            <h2 ng-if="$ctrl.title">{{ $ctrl.title }}<\/h2>\r\n            <div class="sp-dialog-body" ng-class="{\'f-dialog-scroll\': $ctrl.isScroll }" ng-transclude="body"><\/div>\r\n            <div class="sp-dialog-buttons c-group" ng-transclude="buttons"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>');n.put("/src/app/shared/components/flyout/flyout.component.html",'<div>\r\n    <button id="{{ ::$ctrl.componentId }}"\r\n            class="c-button"\r\n            ng-class="[$ctrl.componentId, { \'f-lightweight\': $ctrl.isLightweight }]"\r\n            type="button"\r\n            aria-describedby="{{ ::$ctrl.componentId }}-flyout"\r\n            ng-transclude="flyoutButton"><\/button>\r\n    <div id="{{ ::$ctrl.componentId }}-flyout"\r\n         class="c-flyout"\r\n         ng-class="[$ctrl.componentId, { \'f-beak\': $ctrl.displayBeak }]"\r\n         role="tooltip"\r\n         data-js-flyout-placement="{{ ::$ctrl.placement }}"\r\n         data-js-flyout-dismissible="{{ ::$ctrl.isDismissible }}"\r\n         aria-hidden="true"\r\n         ng-transclude="flyoutBody">\r\n    <\/div>\r\n<\/div>');n.put("/src/app/shared/components/heading/heading.component.html",'<header class="{{ ::$ctrl.headerClass }}" ng-cloak>\r\n    <h1 class="c-heading" ng-if="$ctrl.matches(\'h1\')"><span class="c-glyph {{ ::$ctrl.glyph }} sp-glyph" ng-if="$ctrl.glyph">&nbsp;&nbsp;&nbsp;<\/span>{{ ::$ctrl.text }}<\/h1>\r\n    <h2 class="c-heading" ng-if="$ctrl.matches(\'h2\')"><span class="c-glyph {{ ::$ctrl.glyph }} sp-glyph" ng-if="$ctrl.glyph">&nbsp;&nbsp;&nbsp;<\/span>{{ ::$ctrl.text }}<\/h2>\r\n    <h3 class="c-heading" ng-if="$ctrl.matches(\'h3\')"><span class="c-glyph {{ ::$ctrl.glyph }} sp-glyph" ng-if="$ctrl.glyph">&nbsp;&nbsp;&nbsp;<\/span>{{ ::$ctrl.text }}<\/h3>\r\n    <h4 class="c-heading" ng-if="$ctrl.matches(\'h4\')"><span class="c-glyph {{ ::$ctrl.glyph }} sp-glyph" ng-if="$ctrl.glyph">&nbsp;&nbsp;&nbsp;<\/span>{{ ::$ctrl.text }}<\/h4>\r\n    <h5 class="c-heading" ng-if="$ctrl.matches(\'h5\')"><span class="c-glyph {{ ::$ctrl.glyph }} sp-glyph" ng-if="$ctrl.glyph">&nbsp;&nbsp;&nbsp;<\/span>{{ ::$ctrl.text }}<\/h5>\r\n    <h6 class="c-heading" ng-if="$ctrl.matches(\'h6\')"><span class="c-glyph {{ ::$ctrl.glyph }} sp-glyph" ng-if="$ctrl.glyph">&nbsp;&nbsp;&nbsp;<\/span>{{ ::$ctrl.text }}<\/h6>\r\n<\/header>');n.put("/src/app/shared/components/loadingBar/loadingBar.component.html",'<div ng-if="!$ctrl.isDeterminate" class="c-progress" ng-class="{\'f-indeterminate-local f-progress-small\': $ctrl.isSmallRing , \'f-indeterminate-local f-progress-large\': $ctrl.isLargeRing , \'f-indeterminate-regional\' : $ctrl.isBar }" role="progressbar" aria-valuetext="{{$ctrl.ariaValue}}" aria-live="assertive" tabindex="0" aria-label="{{$ctrl.ariaLabel}}" ng-cloak>\r\n    <span><\/span>\r\n    <span><\/span>\r\n    <span><\/span>\r\n    <span><\/span>\r\n    <span><\/span>\r\n<\/div>');n.put("/src/app/shared/components/password/password.component.html",'<div class="sp-password" ng-cloak>\r\n    <label class="c-label" for="{{ ::$ctrl.componentId }}">{{ $ctrl.labelText }}<\/label>\r\n    <input id="{{ ::$ctrl.componentId }}"\r\n           ng-class="{\'c-password\': true, \'f-small\': $ctrl.isSmall, \'f-flex\': $ctrl.isFlex }"\r\n           type="password"\r\n           name="{{ ::$ctrl.componentName }}"\r\n           ng-change="$ctrl.onValueChange()"\r\n           ng-disabled="{{ $ctrl.isDisabled ? $ctrl.isDisabled : undefined }}"\r\n           ng-required="{{ ::$ctrl.isRequired ? $ctrl.isRequired : undefined }}"\r\n           ng-model="$ctrl.textModel"\r\n           ng-attr-autocomplete="{{ ::$ctrl.autocomplete || \'off\' }}"\r\n           ng-attr-maxlength="{{ ::$ctrl.maxLength ? $ctrl.maxLength : undefined }}"\r\n           ng-attr-placeholder="{{ ::$ctrl.placeholderText ? $ctrl.placeholderText : undefined }}" />\r\n<\/div>');n.put("/src/app/shared/components/textArea/textArea.component.html",'<div class="c-textarea" ng-cloak>\r\n    <label class="c-label" for="{{::$ctrl.componentId}}" ng-bind-html=$ctrl.displayLabel />\r\n    <textarea id="{{::$ctrl.componentId}}"\r\n              ng-class="{\'f-scroll\': $ctrl.isScroll, \'f-flex\': $ctrl.isFlex }"\r\n              name="{{::$ctrl.name}}"\r\n              rows="{{::$ctrl.rows}}"\r\n              maxlength="{{::$ctrl.maxLengthAllowed}}"\r\n              ng-required="{{::$ctrl.isRequired}}"\r\n              ng-model="$ctrl.textModel"\r\n              ng-change="$ctrl.onTextChange()"\r\n              placeholder="{{::$ctrl.placeholder}}"><\/textarea>\r\n<\/div>');n.put("/src/app/shared/components/textField/textField.component.html",'<div class="c-textfield" ng-cloak>\r\n    <label class="c-label" for="{{ ::$ctrl.componentId }}">{{ $ctrl.label }}<\/label>\r\n    <input id="{{ ::$ctrl.componentId }}"\r\n           ng-class="{\'c-text-field\': true, \'f-small\': $ctrl.isSmall, \'f-flex\': $ctrl.isFlex }"\r\n           type="{{ ::$ctrl.componentType }}"\r\n           name="{{ ::$ctrl.name }}"\r\n           autocomplete="{{ ::$ctrl.autocomplete }}"\r\n           ng-required="{{ ::$ctrl.isRequired }}"\r\n           ng-disabled="{{ ::$ctrl.isDisabled }}"\r\n           ng-readonly="{{ ::$ctrl.isReadOnly }}"\r\n           placeholder="{{ ::$ctrl.placeholderText }}"\r\n           ng-model="$ctrl.textModel"\r\n           ng-change="$ctrl.onTextChange()" />\r\n<\/div>')}]),function(){angular.module("smc.shared",["portalCommon"])}(),function(){"use strict";function n(n,t,i,r,u){function e(){f.isDismissed||i(function(){var i=u[0].querySelector(".m-alert"),t;n.ComponentFactory.create([{c:n.Alert,elements:[i],callback:function(n){if(n&&n.length&&(t=n[0],f.onAlertInitialize))f.onAlertInitialize({mwfAlert:t})},eventToBind:"DOMContentLoaded"}])})}function o(){f.strings=t.strings;f.addCorrelationVector&&(f.correlationVectorValue=r.awa.cv.getValue())}function s(){e()}function h(){return f.actionLinkText&&f.actionLinkUrl?!0:!1}var f=this;f.$onInit=o;f.$onChanges=s;f.showActionLink=h}angular.module("smc.shared").component("spcAlert",{templateUrl:"/src/app/shared/components/alert/alert.component.html",controller:n,bindings:{actionLinkText:"@?",actionLinkUrl:"@?",alertMessage:"@",componentAriaLabel:"@",componentId:"@",isDismissed:"<",addCorrelationVector:"<?",isError:"<?",isInformation:"<?",isWarning:"<?",isHeaderAboveAlertRequested:"<?",hasCancelButton:"<?",headingAboveAlertLabel:"@?",onAlertInitialize:"&?"}});n.$inject=["mwf","pageResourcesService","$timeout","$window","$element"]}(),function(){"use strict";function n(){function t(){if(n.componentAriaLabel=n.componentAriaLabel||n.label,n.isLightweight&&n.isSecondary)throw new Error("cannot display call to action that is both lightweight and secondary");if(n.imageSource&&(n.isLightweight||n.isSecondary))throw new Error("cannot display call to action that has an image and is either lightweight or secondary");}var n=this;n.$onInit=t}angular.module("smc.shared").component("spcCallToAction",{templateUrl:"/src/app/shared/components/callToAction/callToAction.component.html",controller:n,bindings:{componentId:"@",label:"@",source:"@",componentAriaDescribedby:"@?",componentAriaLabel:"@?",imageSource:"@?",isDisabled:"<?",isLightweight:"<?",isNewTab:"<?",isSecondary:"<?",onClick:"&?"}})}(),function(){function n(n,t,i){function u(){var t=f();t&&(r.clientInfoUrl=n.trustAsResourceUrl(t),r.isApplicable=!0)}function f(){var n=t.getClientInfoUrl(),r;return n?(r=i.getClientId(),n+"?session_id="+r):null}var r=this;r.isApplicable=!1;r.$onInit=u}angular.module("smc.shared").component("clientInfo",{templateUrl:"/src/app/shared/components/clientInfo/clientInfo.component.html",controller:n});n.$inject=["$sce","clientInfoConfigurationService","clientInfoService"]}(),function(){angular.module("smc.shared").service("clientInfoConfigurationService",["clientConfig",function(n){this.getClientInfoUrl=function(){var t=null;return n&&n.ClientInfoConfig&&(t=n.ClientInfoConfig.ClientInfoUrl),t}}])}(),function(){angular.module("smc.shared").service("clientInfoService",["guidGenerator",function(n){var t;this.getClientId=function(){return t||(t=n.newGuid()),t};this.hasClientInfoForRequest=function(){return t!=null}}])}(),function(){function n(n){function i(){if(t.showDialog=!!t.showDialog,t.isFlow=t.isFlow||t.isScroll||t.containsIframe,t.showCloseGlyph&&!t.closeGlyphAriaLabel)throw new Error("must include an aria label for close glyph");if(!t.isFlow&&!t.isLightbox&&t.showCloseGlyph)throw new Error("can not display close glyph in default dialog");if(t.isLightbox&&t.title)throw new Error("can not display title on lightbox dialog");t.showLightboxCloseGlyph=t.showCloseGlyph&&t.isLightbox;t.showFlowCloseGlyph=t.showCloseGlyph&&t.isFlow;n.createDialogComponent(t.componentId,function(n){if(t.onDialogInitialize)t.onDialogInitialize({mwfDialog:n})})}var t=this;t.$onInit=i}angular.module("smc.shared").component("spcDialog",{templateUrl:"/src/app/shared/components/dialog/dialog.component.html",controller:n,bindings:{componentId:"@",componentAriaLabel:"@",title:"@?",showDialog:"<?",showCloseGlyph:"<?",closeGlyphAriaLabel:"@?",isFlow:"<?",isScroll:"<?",isLightbox:"<?",containsIframe:"<?",onDialogInitialize:"&?"},transclude:{progress:"?dialogProgress",body:"dialogBody",buttons:"?dialogButtons"}});n.$inject=["spcDialogService"]}(),function(){"use strict";function n(n,t){n.$on("$routeChangeSuccess",function(){t.removeDialogComponents()})}angular.module("smc.shared").run(n);n.$inject=["$rootScope","spcDialogService"]}(),function(){"use strict";function n(n,t,i){function u(){Object.keys(r).forEach(function(n){r[n].remove()})}function f(u,f){r[u]&&r[u].remove();t(function(){var t=n[0].querySelector("#"+u);r[u]=t;i.ComponentFactory.create([{c:i.Dialog,elements:[t],callback:function(n){if(n&&n.length){var t=n[0];t.shouldCloseOnEscape=!0;f&&typeof f=="function"&&f(t)}},eventToBind:"DOMContentLoaded"}])})}var r={};return{createDialogComponent:f,removeDialogComponents:u}}angular.module("smc.shared").factory("spcDialogService",n);n.$inject=["$document","$timeout","mwf"]}(),function(){"use strict";function n(){function r(){i(t.displayBeak,"display-beak");i(t.isDismissible,"is-dismissible");i(t.isLightweight,"is-lightweight");u()}function i(n,t){if(n&&(n=n.toLowerCase(),n!="true"&&n!="false"))throw new Error(t+": Invalid value. Value must be 'true' or 'false'.");}function u(){switch(n){case n.BOTTOM:case n.LEFT:case n.RIGHT:case n.TOP:break;default:throw new Error("Invalid placement attribute. Must be [bottom | left | right | top].");}}var t=this,n;t.$onInit=r;n={BOTTOM:"bottom",LEFT:"left",RIGHT:"right",TOP:"top"}}angular.module("smc.shared").component("spcFlyout",{templateUrl:"/src/app/shared/components/flyout/flyout.component.html",controller:n,bindings:{componentId:"@",displayBeak:"@?",isDismissible:"@?",isLightweight:"@?",placement:"@"},transclude:{flyoutButton:"flyoutButton",flyoutBody:"flyoutBody"}})}(),function(){"use strict";function n(){function r(t){return i(t),t.toLowerCase()===n.headingLevel.toLowerCase()}function u(t){t.text&&t.text.currentValue!=""&&(n.text=angular.copy(t.text.currentValue))}function f(){i(n.headingLevel)}function i(n){if(t.indexOf(n.toLowerCase())===-1)throw new Error("Invalid heading level specified: "+n);}var n=this,t;n.$onInit=f;n.$onChanges=u;n.matches=r;t=["h1","h2","h3","h4","h5","h6"]}angular.module("smc.shared").component("spcHeading",{templateUrl:"/src/app/shared/components/heading/heading.component.html",controller:n,bindings:{glyph:"@?",headerClass:"@",headingLevel:"@",text:"@"}})}(),function(){angular.module("smc.shared").component("loadingBar",{templateUrl:"/src/app/shared/components/loadingBar/loadingBar.component.html",bindings:{loadingType:"@",ariaLabel:"@",ariaValue:"@?",minValue:"<?",maxValue:"<?",currentValue:"<?"},controller:[function(){var n=this;n.$onInit=function(){n.loadingType==="determinate"?n.isDeterminate=!0:n.loadingType==="smallring"?n.isSmallRing=!0:n.loadingType==="largering"?n.isLargeRing=!0:n.isBar=!0}}]})}(),function(){"use strict";function n(){function t(){n.onChange({payloadPropertyName:n.componentName,textValue:n.textModel})}var n=this;n.onValueChange=t;n.textModel}angular.module("smc.shared").component("spcPassword",{templateUrl:"/src/app/shared/components/password/password.component.html",controller:n,bindings:{componentId:"@",componentName:"@",autocomplete:"@?",isDisabled:"<?",isFlex:"<?",isRequired:"<?",isSmall:"<?",labelText:"@",maxLength:"@?",placeholderText:"@?",onChange:"&"}})}(),function(){"use strict";function n(){function t(){n.name=n.componentName;n.textModel=n.prePopulate?n.prePopulate:"";var t=n.label;n.isRequired&&(t+=n.requiredColor==="red"?"<span class='sp-required-indicator-red'> * <\/span>":"<span class='sp-required-indicator-black'> * <\/span>");n.displayLabel=t}function i(){n.onChange({payloadPropertyName:n.componentName,textValue:n.textModel})}var n=this;n.$onInit=t;n.displayLabel="";n.onTextChange=i}angular.module("smc.shared").component("spcTextArea",{templateUrl:"/src/app/shared/components/textArea/textArea.component.html",controller:n,bindings:{componentId:"@",componentName:"@",label:"@",onChange:"&",isFlex:"<?",isScroll:"<?",isRequired:"<?",maxLengthAllowed:"<?",prePopulate:"@?",placeholder:"@?",requiredColor:"@?",rows:"<?"}})}(),function(){"use strict";function n(){function t(){n.name=n.componentName;n.textModel=n.prePopulate?n.prePopulate:"";n.componentType||(n.componentType="text")}function i(){n.onChange({payloadPropertyName:n.componentName,textValue:n.textModel})}var n=this;n.$onInit=t;n.onTextChange=i}angular.module("smc.shared").component("spcTextField",{templateUrl:"/src/app/shared/components/textField/textField.component.html",controller:n,bindings:{componentId:"@",componentName:"@",componentType:"@?",label:"@",isDisabled:"<?",isFlex:"<?",isReadOnly:"<?",isRequired:"<?",isSmall:"<?",autocomplete:"@?",prePopulate:"@?",placeholderText:"@?",onChange:"&"}})}(),function(){angular.module("smc.shared").directive("componentHeightMonitor",["$interval","sdkProxyService",function(n,t){function i(n,t){var i=t+4;n.dispatchEvent("HeightChanged",i)}return{restrict:"A",link:function(r,u){t.isInSdk()&&t.proxy().then(function(t){n(function(){var n=u.height();r.height!==n&&(r.height=n,i(t,n))},100)})}}}])}();angular.module("smc.shared").directive("messageBanner",["$sce","compassService","messageBannerManagerService",function(n,t,i){return{restrict:"A",scope:{},templateUrl:"/PartialViews/Common/MessageBanner.html",link:function(r,u,f){function o(){var n=t.getPremierHomeView();n&&(r.view=n)}o();r.$on("CompassContentReady",function(){o()});r.messages=[];r.name=f&&f.name||"messageBanner";var e=!1;f&&f.isstacked&&(e=f.isstacked.toLowerCase()==="true");r.hasIcon=!1;f&&f.hasicon&&(r.hasIcon=f.hasicon.toLowerCase()==="true");r.dismissMessage=function(n){if(r.messages&&n){var t=r.messages.indexOf(n);t>=0&&r.messages.splice(t,1)}};r.clearMessages=function(){r.messages=[]};r.pushMessage=function(t){t&&(t.body&&(t.body=n.trustAsHtml(t.body)),e||!r.messages.length?r.messages.unshift(t):r.messages[0]=t)};i.registerBanner(r.name,r);r.$on("$destroy",function(){i.removeBanner(r.name)});u.on("$destroy",function(){i.removeBanner(r.name)})}}}]),function(){angular.module("smc.shared").service("messageBannerManagerService",function(){var n={};this.registerBanner=function(t,i){if(n[t]&&n[t].messages&&n[t].messages.length)while(n[t].messages.length)i.pushMessage(n[t].messages.shift());n[t]={scope:i,messages:[]}};this.removeBanner=function(t){n[t]=undefined};this.getBanner=function(t){return n[t]};this.notifyBanner=function(t,i){if(n[t]&&n[t].scope){var r=n[t].scope;r.pushMessage(i)}else n[t]?n[t].messages.push(i):n[t]={messages:[i]}};this.clearBanner=function(t){if(n[t]&&n[t].scope){var i=n[t].scope;i.clearMessages()}}})}();angular.module("smc.shared").directive("workflow",["$location","$rootScope","$route","$window","workflowManagerService",function(n,t,i,r,u){return{restrict:"A",scope:{context:"="},transclude:!0,templateUrl:function(n,t){return t.templateUrl},controller:["$scope","$element","$attrs",function(t,f,e){function c(t){n.search(l,t+1)}var l="sn",a=i&&i.current,o=e.workflowName,s=parseInt(n.search()[l],10),h;(typeof s!="number"||s<=0)&&c(0);h=u.maxStepCanEnter(o);s-1>h&&c(h>=0?h:0);u.getWorkflow(o)?u.enter(o,s-1):u.registerWorkflow(o);t.$on("$destroy",function(){u.removeWorkflow(o)});t.$on("$routeUpdate",function(){s=parseInt(n.search()[l],10);s=s||1;h=u.maxStepCanEnter(o);var t=u.getIndexFromDisplayStepIndex(o,s);t>h&&c(t>=0?h:0);u.enter(o,t||0)});this.getWorkflowName=function(){return o};this.getStepTemplateUrl=function(){return e.stepTemplateUrl};this.registerStep=function(n,t){return u.registerStep(o,n,t)};this.canEnter=function(n){return u.canEnter(o,n)};this.isOpen=function(n){return u.isOpen(o,n)};this.moveToNext=function(n){return c(n+1)};this.moveToPrev=function(){return r.history.back()};this.hasPrev=function(n){return u.hasPrev(o,n)};this.hasNext=function(n){return u.hasNext(o,n)};this.totalSteps=function(){return u.totalDisplaySteps(o)};this.currentStepIndex=function(){return u.getCurrentDisplayStepIndex(o)};this.totalStepsWithNav=function(){return u.getMaxStepNumber(o)};this.getContext=function(){return t.context}}]}}]),function(){angular.module("smc.shared").service("workflowManagerService",["$window",function(n){var t={};this.registerWorkflow=function(n){if(n)if(t[n])throw new Error("workflow name:"+n+" already exists.");else t[n]={steps:[],currentStepIndex:-1,results:{}};else throw new Error("workflow name is required for workflow registration.");};this.refreshWorkflowBeforeStep=function(n,i){if(n&&t[n]&&t[n].steps)for(var r=0;r<=Math.min(i,t[n].steps.length-1);r++)t[n].steps[r].step.refresh()};this.totalDisplaySteps=function(n){var r=0,i;if(n&&t[n]&&t[n].steps)for(i=0;i<t[n].steps.length;i++)t[n].steps[i].step.isSkipped()||r++;return r};this.getWorkflow=function(n){return n&&t.hasOwnProperty(n)&&t.hasOwnProperty(n)&&t[n]!=undefined?t[n]:null};this.removeWorkflow=function(n){n&&t.hasOwnProperty(n)&&(t[n]=undefined)};this.registerStep=function(n,i,r){if(n&&i&&r){t[n]||this.registerWorkflow(n);typeof i.isSkipped!="function"&&(i.isSkipped=function(){});typeof i.isStepComplete!="function"&&(i.isStepComplete=function(){return!1});typeof i.enterStep!="function"&&(i.enterStep=function(){});typeof i.exitStep!="function"&&(i.exitStep=function(){});typeof i.showStepIndex!="function"&&(i.showStepIndex=function(){});typeof r.enter!="function"&&(r.enter=function(){});typeof r.exit!="function"&&(r.exit=function(){});var u={step:i,providedScope:r,isOpen:!1},f=t[n],e=f.currentStepIndex;return e<0?(u.isOpen=!0,f.currentStepIndex=0):e==t[n].steps.length&&(u.isOpen=!0),t[n].steps.push(u),t[n].steps.length-1}throw new Error("workflow name, workflow step and providedScope are required for registering steps.");};this.updateStep=function(n,i,r,u){if(n&&r&&u&&i!=undefined){if(t[n]||this.registerWorkflow(n),i<0||i>=t[n].steps.length)throw new Error("stepIndex out of range");var f=t[n].steps[i];r&&(f.step=r);u&&(f.providedScope=u);t[n].steps[i]=f;t[n].currentStepIndex==i&&(r.isSkipped()?this.moveToNext(n,i):this.enter(n,i))}else throw new Error("workflow name, workflow step, providedScope and stepIndex are required for registering steps.");};this.getCurrentStepIndex=function(n){if(n&&t[n])return t[n].currentStepIndex;throw new Error("Workflow name="+n+' doesn"t exist');};this.getCurrentDisplayStepIndex=function(n){var r,i;if(n&&t[n]){for(r=displayStepIndex=this.getCurrentStepIndex(n),i=0;i<=r;i++)(t[n].steps[i].step.isSkipped()||!t[n].steps[i].step.showStepIndex())&&displayStepIndex--;return displayStepIndex+1}throw new Error("Workflow name="+n+' doesn"t exist');};this.getMaxStepNumber=function(n){var r,i;if(n&&t[n]){for(r=totalStepNum=t[n].steps.length,i=0;i<totalStepNum;i++)(t[n].steps[i].step.isSkipped()||!t[n].steps[i].step.showStepIndex())&&r--;return r}throw new Error("Workflow name="+n+' doesn"t exist');};this.canEnter=function(n,i){var r,u;if(t[n]&&t[n].steps.length>0)for(r=0;r<t[n].steps.length;r++)if(u=t[n].steps[r].step,r!=i){if(!u.isStepComplete()&&!u.isSkipped())return!1}else return!u.isSkipped();else return!1};this.maxStepCanEnter=function(n){var i,r,u;if(t[n]&&t[n].steps.length>0){for(i=0,r=0;r<=t[n].steps.length-1;r++){if(u=t[n].steps[r].step,!u.isStepComplete()&&!u.isSkipped())return i;u.isSkipped()||i++}return i>0?Math.min(i,t[n].steps.length-1):0}return-1};this.enter=function(i,r){if(this.canEnter(i,r)){var u=this.getCurrentStepIndex(i);u!=r?(n.scrollTo(0,0),t[i].steps[u].isOpen=!1,t[i].steps[u].providedScope.exit(),t[i].steps[t[i].currentStepIndex].step.exitStep(),t[i].currentStepIndex=r,t[i].steps[t[i].currentStepIndex].providedScope.enter(),t[i].steps[t[i].currentStepIndex].step.enterStep(),t[i].steps[t[i].currentStepIndex].isOpen=!0):(t[i].steps[t[i].currentStepIndex].providedScope.enter(),t[i].steps[t[i].currentStepIndex].step.enterStep())}};this.isOpen=function(n,i){return i!=undefined&&n!=undefined&&t[n]!=undefined?t[n].steps[i].isOpen:!1};this.getIndexFromDisplayStepIndex=function(n,i){var r,u;if(n&&t[n]&&i>0&&i<=this.totalDisplaySteps(n))for(r=0;r<t[n].steps.length&&i>0;r++)if(u=t[n].steps[r].step,!u.isSkipped()&&(i--,i==0))return r;return-1};this.hasNext=function(n,i){var r=this.getNextStepIndex(n,i);return r>0&&this.getNextStepIndex(n,i)<t[n].steps.length};this.hasPrev=function(n,t){return this.getPrevStepIndex(n,t)>=0};this.moveToNext=function(n,i){var r=this.getNextStepIndex(n,i);r>0?this.enter(n,r):r<0&&t[n].steps[i].step.isSkipped()&&(t[n].steps[i].isOpen=!1,t[n].steps[i].providedScope.exit(),t[n].steps[t[n].currentStepIndex].step.exitStep(),t[n].currentStepIndex=t[n].steps.length)};this.moveToPrev=function(n,t){var i=this.getPrevStepIndex(n,t);i>=0&&this.enter(n,i)};this.getNextStepIndex=function(n,i){for(var r=i+1;r<t[n].steps.length;r++)if(!t[n].steps[r].step.isSkipped())return r;return-1};this.getPrevStepIndex=function(n,i){for(var r=i-1;r>=0;r--)if(!t[n].steps[r].step.isSkipped())return r;return-1};this.getStepResults=function(n){return t[n]&&t[n].results?t[n].results:{}};this.saveStepResult=function(n,i){t[n]&&t[n].results&&i&&(t[n].results=angular.extend(t[n].results,i))}}])}();angular.module("smc.shared").directive("workflowStep",["$q","workflowStepService",function(n,t){return{restrict:"A",require:"^workflow",scope:{},link:function(n,i,r,u){var f=u.registerStep({},{}),e,s,l,h;n.stepIndex=function(){return u.currentStepIndex()};n.totalSteps=function(){return u.totalStepsWithNav()};n.stepName=r.stepName||n.stepIndex;n.view=function(){var n=u.getContext();return n?n.view:{}};n.hideFormHeaders=function(){var n=u.getContext();return n&&n.hideFormHeaders&&n.hideFormHeaders===!0};n.canEnter=function(){return u.canEnter(f)};n.isOpen=function(){return u.isOpen(f)};n.moveToNext=function(){u.moveToNext(f)};n.moveToPrev=function(){u.moveToPrev(f)};n.hasPrev=function(){return u.hasPrev(f)};n.hasNext=function(){return u.hasNext(f)};n.enter=function(){};n.exit=function(){};e=u.getWorkflowName();n.workflowName=e;var c=u.getStepTemplateUrl(),a=r.viewTemplateUrl,v=r.controllerName,o=i[0].querySelector(".workflow-step");o=o?angular.element(o):i;s=r.templateUrl;s!=undefined&&(c=s);l={stepDirectiveTemplateUrl:c,viewTemplateUrl:a,controllerName:v,appendTo:i,workflowName:e,scope:n,stepIndex:f,workflowContext:u.getContext()};h=t.create(l);n.showNavi=function(){return h.showCommonStepNavi()};n.isComplete=function(){return h.isStepComplete()}}}}]),function(){angular.module("smc.shared").service("workflowStepService",["$compile","$controller","$q","$rootScope","$templateRequest","queryStringService","workflowManagerService",function(n,t,i,r,u,f,e){function o(n){return u(n,!0)}this.create=function(r){var h,l;if(!r.viewTemplateUrl||!r.controllerName||!r.appendTo||!r.workflowName||!r.scope)throw new Error("templateUrl, controllerName, appendTo and workflowName are required.");var c=i.defer(),s=null,u={output:c.promise,complete:function(n){c.resolve(n)},invalidate:function(n){c.reject(n)}};return["moveToNext","moveToPrev","hasPrev","hasNext"].forEach(function(n){u[n]=function(){return e[n](r.workflowName,r.stepIndex)}}),u.getStepResults=function(){return e.getStepResults(r.workflowName)},u.saveStepResult=function(n){return e.saveStepResult(r.workflowName,n)},h=[o(r.viewTemplateUrl)],l=r.stepDirectiveTemplateUrl!==""&&r.stepDirectiveTemplateUrl!==undefined,h=l?h.concat(o(r.stepDirectiveTemplateUrl)):h,u.created=i.all(h).then(function(i){var o=r.scope,b,v,y,c,a;s=o.$new(l);s.stepName=o.stepName;v={$scope:s,stepInstance:u,workflowContext:r.workflowContext};b=t(r.controllerName,v);["enterStep","exitStep","refresh"].forEach(function(n){u[n]=function(){if(angular.isFunction(s[n]))return s[n]()}});["isStepComplete","showCommonStepNavi","showStepIndex"].forEach(function(n){u[n]=function(){return angular.isFunction(s[n])?s[n]():!0}});u.refreshWorkflowBeforeStep=function(){e.refreshWorkflowBeforeStep(r.workflowName,r.stepIndex)};y="includedWorkflowSteps";u.isSkipped=function(){var t=!1,i=f.getQueryStringValue(y),n;return i&&(n=i.split(","),n&&n.length&&n.indexOf(o.stepName)<0&&(t=!0)),t||angular.isFunction(s.isSkipped)&&s.isSkipped()};var k=i[0],p=angular.element(k),h=r.appendTo,w=i[1];w!=undefined&&(c=angular.element(w),n(c)(o),h.append(c),a=h[0].querySelector(".workflow-step"),h=a?angular.element(a):angular.element(c[0]));h.append(p);n(p)(s);e.updateStep(r.workflowName,r.stepIndex,u,o)}),u}}])}(),function(){angular.module("smc.shared").service("sapService",["$http","$q",function(n){function t(n,t,i){for(var r=[],u=0;u<n.data.length;u++)n.data[u].assettype===t&&r.push(n.data[u]);return i&&i>0&&(r=r.slice(0,i)),r}this.getSelfHelpAssets=function(i,r,u,f){return n({url:"/api/supportforbusiness/GetSelfHelpAssets",method:"GET",params:{sapId:i,locale:r},httpAppOptions:{cacheBust:!0,qosOperation:{name:"SapService.GetSelfHelpAssets",description:"Get self help assets filtered by asset type and filter count"}}}).then(function(n){return u?t(n,u,f):n.data})};this.getProductFamilies=function(t,i){return n({url:"/api/supportforbusiness/getproductfamilies",method:"GET",httpAppOptions:{qosOperation:{name:"SapService.GetProductFamilies",description:"Get product families based on Locale"}},params:{locale:t}}).then(function(n){return n.data.filter(function(n){return n&&n.serviceLevelAggregate&&n.serviceLevelAggregate.contains(i)})})};this.getTreeByProduct=function(t,i,r,u){return n({url:"/api/supportforbusiness/gettreebyproduct/"+t,method:"GET",httpAppOptions:{qosOperation:{name:"SapService.GetTreeByProduct",description:"Get tree by product based on sapId and locale"}},params:{locale:i,servicelevel:r,state:u}}).then(function(n){return n.data})};this.getPathById=function(t){return n({url:"/api/supportforbusiness/getpathbyid/"+t,method:"GET",httpAppOptions:{cacheBust:!0,qosOperation:{name:"SapService.GetPathById",description:"Get upward path to a sapId"}}}).then(function(n){for(var i=n.data,t=0;t<i.length;t++)if(i[t]&&i[t].state&&i[t].state.toLowerCase()==="retired"){i.splice(t,i.length-t);break}return i})}}]);Array.prototype.contains=function(n){return this.indexOf(n)>-1}}();try{document.domain="microsoft.com"}catch(e){}microsoft=microsoft||{};microsoft.support=microsoft.support||{};microsoft.support.moduleName="SupportPortal";microsoft.support.config=microsoft.support.config||{};microsoft.support.serverInfo=microsoft.support.serverInfo||{};typeof console=="undefined"&&(console={});typeof console.log=="undefined"&&(console.log=function(){});typeof console.error=="undefined"&&(console.error=function(){});typeof console.info=="undefined"&&(console.info=function(){});typeof console.debug=="undefined"&&(console.debug=function(){});typeof console.warn=="undefined"&&(console.warn=function(){}),function(){angular.module(microsoft.support.moduleName,["smc.core","portalCommon","smc.shared","ngSanitize","ngRoute","ngCookies","ngAria","ui.bootstrap","ngMessages",])}(),function(n){n.config(["$routeProvider","$locationProvider","$compileProvider","premierIdpProvider",function(n,t,i,r){var u,f,e,o,s;if(html5mode=!!(window.history&&window.history.pushState),i.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|blob|ms-([a-zA-Z-]+)|bing([a-zA-Z]+)|calculator|microsoft\.windows\.camera|microsoft-edge|mswindowsmusic|fb|feedback-hub|outlookcal|outlookmail|onenote-cmd|C:\\Program Files\\Internet Explorer\\iexplore\.exe|skype|lync15|%windir%\\system32\\snippingtool\.exe|dlna-playsingle|xbox|avatars):/),u={MSA:"MSA",AAD:"AAD"},f=r.premierLoginPrefs,!html5mode&&window.location.hash.charAt(1)!=="!"){e=document.getElementsByTagName("base")[0].href;o=location.href.replace(e,"").replace(location.hash,"");window.location.replace(window.location.pathname+"/#!"+o+window.location.search+window.location.hash);return}s=["$route","$location","chatStateService","clientConfig","nativeAppService",function(n,t,i){if(i.isReconnectValid()&&i.getChatEstablished()&&(n.current.params.subject||i.getSubject())){var r=n.current.params.subject?n.current.params.subject:i.getSubject();i.setSubject(r);t.path("/contact/chat/"+r+"/")}}];microsoft.support.ignoreMvcRouting||n.when("/:langLocale/premier",{reloadOnSearch:!1,data:{isDefaultPremier:!0,isCommercial:!0,enablePremierAlert:!0,returnUrl:"/:langLocale/premier"},requireLogin:f}).when("/:langLocale/commercial/incidents/create",{controller:"IncidentCreationController",templateUrl:"/PartialViews/Commercial/IncidentCreation/index.html",reloadOnSearch:!1,data:{isCommercial:!0,returnUrl:"/:langLocale/premier"},requireLogin:f}).when("/:langLocale/commercial/incidents",{controller:"IncidentsHubController",templateUrl:"/PartialViews/Commercial/IncidentsHub.html",reloadOnSearch:!1,data:{breadcrumb:{parent:"/:langLocale/commercial",text:"incidentList"},isCommercial:!0,returnUrl:"/:langLocale/premier"},requireLogin:f}).when("/:langLocale/commercial/incidents/:incidentId",{templateUrl:"/PartialViews/Commercial/IncidentHub.html",reloadOnSearch:!1,data:{noIndex:!0,breadcrumb:{parent:"/:langLocale/commercial/incidents",text:":incidentId"},isCommercial:!0,returnUrl:"/:langLocale/premier"},requireLogin:f}).when("/:langLocale/premier/access",{templateUrl:"/PartialViews/Commercial/CommercialAccountHub.html",controller:"commercialAccountController",reloadOnSearch:!1,data:{breadcrumb:{parent:"/:langLocale/commercial",text:"accounts"},isCommercial:!0,returnUrl:"/:langLocale/premier"},requireLogin:f}).when("/:langLocale/premier/contacts",{templateUrl:"/PartialViews/Commercial/PremierContacts.html",controller:"premierContactsController",reloadOnSearch:!1,data:{isCommercial:!0,returnUrl:"/:langLocale/premier"},requireLogin:f}).when("/:langLocale/commercial/cases/:incidentId",{templateUrl:"/PartialViews/Commercial/IncidentHub.html",reloadOnSearch:!1,data:{isCommercial:!0,caseSystem:"getSupport"},requireLogin:[u.MSA,u.AAD]}).when("/:langLocale/lifecycle/selectindex",{controller:"LifecycleController",templateUrl:"/PartialViews/Lifecycle/Index.html",data:{fluidContainer:!0,isLifeSelectIndex:!0}}).when("/:langLocale/lifecycle",{resolve:{lifecycleSearchRedirect:["$location","$route","flightService",function(n){var r=n.search(),t={},i;angular.forEach(r,function(n,i){t[i.toLowerCase()]=n});i=t.p1||t.c2||t.alpha;i?n.path("/lifecycle/search/").search(t):n.path("/hub/4095338")}]},controller:"LifecycleController",templateUrl:"/PartialViews/Lifecycle/Index.html",data:{fluidContainer:!0,isLifeSelectIndex:!1}}).when("/lifecycle/search/:gdsId?",{resolve:{lifecycleSearchLocaleRedirect:["$location","$route","languageService",function(n,t,i){var r=n.path().split("/")[1];i.redirectWithLocale(r)}]},controller:"LifecycleSearchController",templateUrl:"/PartialViews/Lifecycle/LifecycleSearch.html"}).when("/:langLocale/lifecycle/search/:gdsId?",{controller:"LifecycleSearchController",templateUrl:"/PartialViews/Lifecycle/LifecycleSearch.html"}).when("/:langLocale/accessibility/disability-answer-desk",{templateUrl:"/PartialViews/Accessibility/Index.html",controller:"AccessibilityController",reloadOnSearch:!1,data:{fluidContainer:!0}}).when("/:langLocale/accessibility/enterprise-answer-desk",{templateUrl:"/PartialViews/Accessibility/EnterpriseAccessibility.html",controller:"EnterpriseAccessibilityController",reloadOnSearch:!1,data:{fluidContainer:!0}}).when("/:langLocale/verifyme",{controller:"VerifymeController",templateUrl:"/PartialViews/Verifyme/Index.html",requireLogin:[u.MSA]}).when("/:langLocale/files",{resolve:{fileworkspaceRedirect:["$location","$route","$rootScope",function(n,t,i){var u=n.search(),r={};angular.forEach(u,function(n,t){r[t.toLowerCase()]=n});r.workspace&&r.wid||i.$broadcast("404Error",{location:n.url()})}]},controller:"fileExchangeController",templateUrl:"/PartialViews/FileExchange/Index.html",requireLogin:[u.MSA,u.AAD],data:{fluidContainer:!0}}).when("/:langLocale/fre/:productId",{controller:"FreController",templateUrl:"/PartialViews/Fre/Index.html",resolve:{noChrome:["$location",function(n){n.search().nochrome||n.search("nochrome")}]}}).when("/:langLocale/allproducts",{controller:"AllProductsController",templateUrl:"/PartialViews/AllProducts/Index.html",data:{hasSkylightEntry:!0}}).when("/:langLocale/search",{controller:"SearchResultsController",templateUrl:"/PartialViews/Search/Results.html",resolve:{log:[function(){console.log("search invoked")}]},data:{noIndex:!0,hasSkylightEntry:!0}}).when("/:langLocale/products",{data:{hasSkylightEntry:!0},resolve:{AllProductsRedirect:["$location","$route","languageService",function(n,t,i){n.path(i.langLocale()+"/allproducts").replace()}]}}).when("/:langLocale/answerdesk/:action",{controller:"AnswerDeskController",templateUrl:"/PartialViews/AnswerDesk/Index.html",data:{noIndex:!0},requireLogin:[u.MSA]}).when("/signin",{controller:"AccountSignInController",templateUrl:"/PartialViews/Common/SignIn.html",data:{noIndex:!0},resolve:{signinNonFlightRedirect:["$location","$route","flightService",function(n){n.url("/")}]}}).when("/signout",{controller:"AccountSignOutController",templateUrl:"/PartialViews/Common/SignOut.html",data:{noIndex:!0}}).when("/signout/:accountType",{controller:"AccountSignOutController",templateUrl:"/PartialViews/Common/SignOut.html",data:{noIndex:!0}}).when("/silentauth",{templateUrl:"/PartialViews/Common/SilentAuth.html",data:{noIndex:!0},resolve:{silentAuthNonFlightRedirect:["$location","$route","flightService",function(n){n.url("/")}]}}).when("/",{resolve:{homeRedirect:["$location","languageService",function(n,t){n.url(t.langLocale())}]}}).when("/errors",{resolve:{error:["$rootScope",function(n){n.$broadcast("500Error",{reason:"Hit errors route"})}]},data:{noIndex:!0}}).when("/loginredirect",{templateUrl:"/PartialViews/Common/SilentAuth.html",data:{noIndex:!0}}).when("/:langLocale",{templateUrl:"/PartialViews/Index.html",resolve:{langRedirect:["$location","$route","languageService",function(n,t,i){i.redirectWithLocale(t.current.params.langLocale)}]},data:{isLandingPage:!0}}).otherwise({resolve:{refresh:["$window","$route","$rootScope","$location","$log","languageService","locationService",function(n,t,i,r,u,f){var e=r.path().split("/"),o=e[1],s=f.redirectWithLocale(o);s&&e[2]!=="instantanswer"||(t.current.otherwise=!0)}]}});t.html5Mode(html5mode).hashPrefix("!")}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("AccessibilityController",["$scope","$rootScope","compassFormatFilter","compassService","metatagService","pageLoadTimePortalFeatures","windowService",function(n,t,i,r,u,f,e){t.$broadcast("PageContentLoadSuccess");n.waitingOnCompass=!0;f.portalFeatureBeginLoad(f.portalsOverAll.accessibilityDad);n.init=function(){r.getAccessibilityView().then(function(r){n.view=r;n.waitingOnCompass=!1;n.view&&n.view.defelctionSection&&n.view.defelctionSection.answerdeskLink&&n.view.defelctionSection.visitAnswerdesk&&n.view.defelctionSection.answerDeskAnchorFormat&&(n.visitAnswerdeskLink=i(n.view.defelctionSection.visitAnswerdesk,{"answer-desk-link-html":i(n.view.defelctionSection.answerDeskAnchorFormat,{"contactus-url":n.view.defelctionSection.answerdeskLink.linkUrl})}),o(r),f.portalFeatureLoaded(f.portalsOverAll.accessibilityDad),t.$broadcast("PageResourcesDownloaded"))})};var o=function(i){var r,f;i&&i.metaTagsList&&i.metaTagsList.metaTags&&(r=u.fetchMetaTags(i.metaTagsList.metaTags),r&&(f=r.metaTagTitle||n.pageTitle,f&&t.$broadcast("UpdateTitle",f),r.pageMetaTags&&t.$broadcast("AddMetaTags",r.pageMetaTags)))};n.LaunchChat=function(n){e.openPopupCenter(n,"contactSupport")};n.$on("AccessibilityPageLoadTimeout",function(){n.waitingOnCompass=!1;t.$broadcast("500Error",{reason:"Timeout occurred on a lifecycle landing page load",data:{}})});n.init()}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("EnterpriseAccessibilityController",["$scope","$rootScope","$compile","$window","compassService","metatagService","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e){function o(){t.$broadcast("PageContentLoadSuccess");e.portalFeatureBeginLoad(e.portalsOverAll.accessibilityEdad);var i=window.navigator.appName;n.waitingOnCompass=!0;t.isEnterprisePage=!0;n.informationText="";n.loadV2=!0;u.getEnterpriseAccessibilityV2View().then(function(t){s(t);n.waitingOnCompass=!1;n.view=t})}var h=function(t){var f,u,e,r;if(t&&t.informationSection&&t.informationSection.informationContent&&t.informationSection.informationContent.informationText&&(n.informationText="",f=t.informationSection.informationContent.informationText,t&&t.informationSection&&t.informationSection.informationContent&&t.informationSection.informationContent.informationLinks)){for(u=t.informationSection.informationContent.informationLinks,e="link",r=0;r<u.length;r++){var o=r+1,s="{"+e+o+"}",h="<a id=edad-infosection-"+u[r].htmlId+" ng-href="+u[r].linkUrl+" target='_self' >"+u[r].linkText+"<\/a>";f=f.replace(s,h)}n.informationText="<div>"+f+"<\/div>"}return i(n.informationText)(n).appendTo(angular.element("#informationSectionWithLinks")),t},c=function(t){if(t&&t.heroSection&&t.heroSection.footer&&t.heroSection.answerDeskUrl){n.heroText="";var r=t.heroSection.footer,u="<a id=edad-herolink"+t.heroSection.answerDeskUrl.htmlId+" class='more-action' ng-href="+t.heroSection.answerDeskUrl.linkUrl+" target='_self'>"+t.heroSection.answerDeskUrl.linkText+"<\/a>";r=r.replace("{link}",u);n.heroText="<div>"+r+"<\/div>"}return i(n.heroText)(n).appendTo(angular.element("#heroSectionWithLink")),t},s=function(i){var r,u;i&&i.metaTagsList&&i.metaTagsList.metaTags&&(r=f.fetchMetaTags(i.metaTagsList.metaTags),r&&(u=r.metaTagTitle||n.pageTitle,u&&t.$broadcast("UpdateTitle",u),r.pageMetaTags&&t.$broadcast("AddMetaTags",r.pageMetaTags)),e.portalFeatureLoaded(e.portalsOverAll.accessibilityEdad),t.$broadcast("PageResourcesDownloaded"))};n.browseto=function(n){r.location.href=n};n.$on("EnterpriseAccessibilityPageLoadTimeout",function(){n.waitingOnCompass=!1;t.$broadcast("500Error",{reason:"Timeout occurred on a lifecycle landing page load",data:{}})});o()}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("AnswerDeskController",["$location","$rootScope","$timeout","$scope","$sce","$routeParams","$window","answerDeskService","authenticationHelperService","clientConfig","contentApiService","languageService","locationService","flightService","authService","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){function tt(){k=b.busy;c.getCompassContentForPage("answerdeskpurchase").then(function(n){n&&n.data&&n.data.assurePurchase&&(r.view=n.data.assurePurchase,d=n.data.errors,r.isCurrentState(b.busy)&&r.offer&&(k=b.showOffer),p.portalFeatureLoaded(p.portalsOverAll.answerDeskPurchase),t.$broadcast("PageResourcesDownloaded"))})}function nt(){w={};k=b.none;r.view=null;r.uiState=b;r.accountInfo={name:"",email:"",address:{}};p.portalFeatureBeginLoad(p.portalsOverAll.answerDeskPurchase);tt()}function it(){var t=h.CommercePlatformConfig.MSStorePcsIFrameUrlFormat,i=t.replace(/hostUrlToReplace/g,n.host());return i.replace(/cpLocaleToReplace/g,l.langLocale())}function rt(n){switch(n){case g.unauthed:y.loginWithSAPIPolicy(!1);case g.canceled:break;default:t.$broadcast("500Error",{errorContent:d.genericError,error:{errorCode:n,message:"Unknown error from pcs iframe"}})}}function ut(){var n=f.action||"";switch(n){case"purchase":ft()}}function ft(){if(!f.oguid||!f.aid){t.$broadcast("500Error",{errorContent:d.notFound});nt();return}w.offerGuid=f.oguid;w.agentPuid=f.aid;k=b.busy;o.getOfferDetails(w.offerGuid).then(function(n){n?(r.offer=n,k=b.showOffer):t.$broadcast("500Error",{errorContent:d.notFound})},function(n){t.$broadcast("500Error",{errorContent:d.genericError,error:n})})}function et(n){k=b.showOffer;w={};var i=a.getQueryStringParameters(n);i.errorCode&&rt(i.errorCode);t.$apply()}function ot(n){var i=a.getQueryStringParameters(n);w.accountId=i.accountid;w.piId=i.piid;k=b.busy;o.confirmPurchase(w.accountId,w.piId,w.agentPuid,w.offerGuid).then(function(n){var i,u,f,e;n.accountInfo&&n.pricingInfo&&n.pi?(i=n.accountInfo,r.accountInfo.name=i.FirstName&&i.LastName?i.FirstName+" "+i.LastName:i.FirstName||i.LastName||i.FriendlyName,u=i.AddressList[0]||{},r.accountInfo.address={street1:u.Street1||"",street2:u.Street2||"",street3:u.Street3||"",city:u.City||"",state:u.State||"",zipcode:u.PostalCode||""},r.accountInfo.email=i.Email,f=parseFloat(n.pricingInfo.TotalPriceWithoutTax),e=parseFloat(n.pricingInfo.TotalTax),r.pricingInfo={amount:parseFloat(n.pricingInfo.Amount),totalWithoutTax:f,totalTax:e,total:f+e,currency:n.pricingInfo.Currency},r.pi={lastFour:n.pi.AccountNumberLastFour,cardType:n.pi.CardType,expiration:n.pi.ExpirationDate},k=b.showOrderReview):t.$broadcast("500Error",{errorContent:d.genericError})},function(n){t.$broadcast("500Error",{errorContent:d.genericError,error:n})});t.$apply()}t.$broadcast("PageContentLoadSuccess");var k="",w={},d={},b={none:0,showOffer:1,showOrderReview:2,showOrderConfirmation:4,showPi:8,processingOrder:16,busy:32},g={unauthed:"20",canceled:"10"};r.getMicrosoftAccountLink=function(){return'<a id="answer-desk-microsoft-account-link" target="_blank" href="'+r.view.microsoftAccountLink.linkUrl+'">'+r.view.microsoftAccountLink.linkText+"<\/a>"};r.getTermsOfServiceLink=function(){return'<a id="answer-desk-tos-link" target="_blank" href="'+r.view.termsOfServiceLink.linkUrl+'">'+r.view.termsOfServiceLink.linkText+"<\/a>"};r.isCurrentState=function(n){return!!(k&n)};r.offerAccepted=function(){k=b.showPi;r.pcsIframePath=u.trustAsResourceUrl(it())};r.placeOrder=function(){k=b.busy|b.processingOrder;o.completePurchase(w.accountId,w.piId,w.agentPuid,w.offerGuid).then(function(n){var t=parseFloat(n.TotalPriceWithoutTax),i=parseFloat(n.TotalTax);r.pricingInfo={amount:parseFloat(n.Amount),totalWithoutTax:t,totalTax:i,total:t+i,transactionId:n.PurchaseId,currency:n.Currency};k=b.showOrderConfirmation},function(n){t.$broadcast("500Error",{errorContent:d.transactionFailed,error:n})})};r.$on("CancelPurchase",function(n,t){et(t)});r.$on("ConfirmPurchase",function(n,t){ot(t)});r.$on("$routeChangeSuccess",function(){y.resolveAuthState().then(function(n){var t=y.getSupportedIDP();n===t.MSA?ut():y.loginWithSAPIPolicy(!1)})});nt()}])}(angular.module(microsoft.support.moduleName)),function(){window!==window.top&&(window.location.pathname.indexOf("cancelpurchase")>=0?window.parent.postMessage(JSON.stringify({type:"$broadcast",name:"CancelPurchase",args:window.location.search}),"*"):window.location.pathname.indexOf("confirmpurchase")>=0&&window.parent.postMessage(JSON.stringify({type:"$broadcast",name:"ConfirmPurchase",args:window.location.search}),"*"))}(),function(n){n.service("answerDeskService",["$http",function(n){this.confirmPurchase=function(t,i,r,u){return n.get("/api/answerdesk/confirmpurchase/",{params:{accountId:t,piId:i,agentPuid:r,offerGuid:u}}).then(function(n){return n.data})};this.completePurchase=function(t,i,r,u){return n.post("/api/answerdesk/completepurchase/",{accountId:t,piId:i,agentPuid:r,offerGuid:u}).then(function(n){return n.data})};this.getOfferDetails=function(t){return n.get("/api/answerdesk/getofferdetails/",{params:{offerGuid:t}}).then(function(n){return n.data})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("AccountSignInController",["$location","authService",function(n,t){t.resolveAuthState().then(function(i){var r=t.getSupportedIDP();i===r.NONE?t.login():n.path("/")})}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("AccountSignOutController",["$scope","$location","$rootScope","$routeParams","authService",function(n,t,i,r,u){function f(){var n=u.getSupportedIDP();u.checkMSAFedSignOn()?u.logout(n.AAD):u.isAuthenticatedAAD()?u.logout(n.AAD):u.isAuthenticatedMSA()?u.logout(n.MSA):t.path("/")}i.$broadcast("PageContentLoadSuccess");f()}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("FeedbackController",["$rootScope","$scope","$timeout","compassService",function(n,t,i,r){t.feedbackWizard={};t.feedbackText={};t.feedbackWizard.reset=function(){t.feedbackWizard.show=!1;t.feedbackWizard.type="suggestion";t.feedbackWizard.comment=""};t.feedbackWizard.reset();t.feedbackWizard.toggle=function(){t.feedbackWizard.show=!t.feedbackWizard.show;t.feedbackWizard.show&&i(function(){$("#feedback-wizard textarea").first().focus()})};t.feedbackWizard.submit=function(i){i&&(n.$broadcast("SiteFeedback",t.feedbackWizard),t.feedback.$setPristine());t.feedbackWizard.reset()};var u=function(){var n=r.getFeedbackCtrl();n&&(t.feedbackText=n)};u();t.$on("CompassContentReady",function(){u()})}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("commercialAccountController",["$scope","$rootScope","$q","$window","clientConfig","compassService","entitlementsService","commercialMessageModalService","messageBannerManagerService","authService","dateFilter","focus","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e,o,s,h,c,l,a){function d(t){return n.accessIdError=w(t)?!1:!0,!n.accessIdError}function g(t){return n.passwordError=w(t)?!1:!0,!n.passwordError}function w(n){return typeof n=="string"&&n.length>3}function nt(t){var i=null,u,r,f;if(t&&t.data&&t.data.error&&(i=t.data.error),!i)return null;if(i.details&&i.details.length&&i.details.length>0)for(u=0;u<i.details.length;u++)for(r=0;r<n.homeView.metisErrorCodes.length;r++)for(f=0;f<n.homeView.metisErrorCodes[r].codes.length;f++)if(n.homeView.metisErrorCodes[r].codes[f]==i.details[u].code)return n.homeView.metisErrorCodes[r].message;return null}function b(){var r=f.getManageAccountHub(),t,i;if(!r){p||(p=n.$on("CompassContentReady",function(){b()}));return}(t=f.getCommercialIncidentsHub(),t)&&(i=f.getPremierHomeView2(),i)&&(n.tableSortDisabled=!0,n.accountView=r.manageAccountContent,n.incidentsViewModel=t,n.homeView=i,n.tableConfig={disableSorting:!0,disableSpinner:!0,columns:[{columnName:n.accountView.removeColumnHeading,propertyName:"removeChecked",defaultColumn:!0,defaultColumnOrder:0,checkBoxControl:!0},{columnName:n.accountView.accessIdColumnHeading,propertyName:"accessId",defaultColumn:!0,defaultColumnOrder:1},{columnName:n.accountView.scheduleNameColumnHeading,propertyName:"scheduleName",defaultColumn:!0,defaultColumnOrder:2},{columnName:n.accountView.expirationColumnHeading,propertyName:"endDate",defaultColumn:!0,defaultColumnOrder:3,format:"dateTimeFormat"},{columnName:n.accountView.statusColumnHeading,propertyName:"status",defaultColumn:!0,defaultColumnOrder:4}]},n.tableConfig.columns.shift(),v().then()["finally"](function(){tt()}))}function tt(){n.accountView&&n.incidentsViewModel&&n.homeView&&n.contractsChecked&&!n.pltReported&&(n.pltReported=!0,a.portalFeatureLoaded(a.premierAccess),t.$broadcast("PageResourcesDownloaded"))}function v(){return e.getEntitlements().then(function(t){n.contractsChecked=!0;var i=[],r={};t.incidentSubmitContracts&&y(t.incidentSubmitContracts,r,i);t.viewOnlyContracts&&y(t.viewOnlyContracts,r,i);t.invalidContracts&&y(t.invalidContracts,r,i);n.tableContracts=i;n.viewReady=!0},function(){n.viewReady=!0;n.viewError=!0;n.contractsChecked=!0;s.notifyBanner("premierAccountsMessages",{type:"warning",id:"get-entitlements-error-acknowledge",title:n.incidentsViewModel.generalServiceErrorAlert.title,body:n.incidentsViewModel.generalServiceErrorAlert.body,cv:r.awa.cv.getValue()})})}function y(n,t,i){var r,u;if(n&&n.length)for(r=0;r<n.length;r++)u=it(n[r]),n[r].removeChecked=!1,u&&!t[u]&&(i.push(n[r]),t[u]=!0)}function it(n){var t="";return n&&n.accessId&&n.scheduleId&&n.clarifyInstallationSiteId&&(t=n.accessId+";"+n.scheduleId+";"+n.clarifyInstallationSiteId),t}function rt(n){return n.replace(/\{0\}/,h.getUserInfo().email)}t.$broadcast("PageContentLoadSuccess");a.portalFeatureBeginLoad(a.premierAccess);var k={mappingAccessIdSuccess:"premierContractMappingAccessIdSuccess"},p=null;n.accessIdError=null;n.passwordError=null;n.viewReady=!1;n.viewError=!1;n.contractsChecked=!1;n.pltReported=!1;n.registerForm={};n.submitRegisterForm=function(t,i){var r=d(t),u=g(i);if(r){if(!u){l("passwordFocus");return}}else{l("accessIdFocus");return}e.registerEntitlement({AccessId:t,ContractId:i}).then(function(){n.$emit(k.mappingAccessIdSuccess,!0);n.registerForm={};v();o.showStandardMessageModal({id:"register-access-id-acknowledge",message:rt(n.accountView.addAccessIdSuccessMessageTemplate),dismissCaption:n.accountView.dialogBoxDismissButtonCaption})},function(t){var i=nt(t),r=i!=null?i:n.accountView.addAccessIdFailureGeneralMessage;o.showStandardMessageModal({id:"register-access-id-failure-acknowledge",message:r,dismissCaption:n.accountView.dialogBoxDismissButtonCaption})})};n.submitRemoveForm=function(){for(var f,u,s,r=[],t=0;t<n.tableContracts.length;t++)if(n.tableContracts[t].removeChecked){for(f=!1,u=0;u<r.length;u++)if(r[u].accessId==n.tableContracts[t].accessId&&r[u].contractId==n.tableContracts[t].contractId){f=!0;break}if(f)continue;r.push({accessId:n.tableContracts[t].accessId,contractId:n.tableContracts[t].contractId})}if(!(r.length<1)){for(s=[],t=0;t<r.length;t++)s.push(e.unregisterEntitlement({AccessId:r[t].accessId,ContractId:r[t].contractId}));i.all(s).then(function(){o.showStandardMessageModal({id:"remove-access-id-acknowledge",message:n.accountView.accessIdRemovedMessage,dismissCaption:n.accountView.dialogBoxDismissButtonCaption});v()},function(){o.showStandardMessageModal({id:"remove-access-id-fail-acknowledge",message:n.accountView.accessIdNotRemovedMessage,dismissCaption:n.accountView.dialogBoxDismissButtonCaption});v()})}};n.elementChanged=function(t,i,r,u){if(i&&i==="removeChecked")for(var f=0;f<n.tableContracts.length;f++)n.tableContracts[f].accessId===t.accessId&&(n.tableContracts[f].removeChecked=u)};n.disableRemoveButton=function(){if(n.tableContracts&&n.tableContracts.length)for(var t=0;t<n.tableContracts.length;t++)if(n.tableContracts[t].removeChecked==!0)return!1;return!0};n.formatData=function(n,t){var i=n,r;return t=="dateTimeFormat"&&(r=new Date(n),i=c(r,"shortDate")),i};h.resolveAuthState().then(function(n){var t=h.getSupportedIDP();n===t.NONE?h.login():b()})}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("commercialContactService",["$http","$location","$q","commercialInfoService",function(n,t,i,r){this.getPremierContacts=function(){var t=r.premierContacts(),u;return t?i.when(t):(u="api/commercialcontacts/audiences/premier",n.get(u,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"CommercialContactsService.GetPremierContacts",description:"Get all contacts for premier customers"}}}).then(function(n){return r.premierContacts(n.data),n.data}))};this.getRegionalContacts=function(){var t=r.regionalContacts(),u;return t?i.when(t):(u="api/commercialcontacts/regions",n.get(u,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"CommercialContactsService.GetRegionalContacts",description:"Get regional CSS contacts"}}}).then(function(n){return r.regionalContacts(n.data),n.data}))}}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("commercialErrorMapperService",["compassService",function(n){function t(t,i){for(var r,e=n.getCommercialServiceErrorMessages().messages,u=i,f=0;f<e.length;f++)if(r=e[f],t.code&&t.subCode&&t.code==r.code&&t.subCode==r.subCode){u=r.message;break}else t.code&&t.code==r.code&&(u=r.message);return u}function i(n){var t=-1,i=-1,r=null;return n.code&&jQuery.isNumeric(n.code)&&(t=n.code,n.innererror&&n.innererror.code&&jQuery.isNumeric(n.innererror.code)&&(i=n.innererror.code)),(t!=-1||i!=-1)&&(r={code:t,subCode:i}),r}this.mapError=function(n,r){if(!n)return r;var u=r,f=i(n);return f&&(u=t(f,r)),u}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("CommercialHubController",["$rootScope","$scope","$sce","clientConfig","authenticationHelperService","compassService","authService","metatagService",function(n,t,i,r,u,f,e,o){function s(){var n=f.getPremierHomeView2(),r;n&&(t.view=n,t.isPremier=!0,t.premierSupportDescription=i.trustAsHtml(t.view.stringTable.premierSupportDescription),n.metaTags&&(r=o.fetchMetaTags(n.metaTags),r&&c(r)),t.isAuthenticated=null,e.resolveAuthState().then(function(n){var t=e.getSupportedIDP();n===t.MSA||n===t.AAD?l():h()})["finally"](function(){t.viewReady=!0}))}function c(t){t.metaTagTitle&&n.$broadcast("UpdateTitle",t.metaTagTitle);t.pageMetaTags&&n.$broadcast("AddMetaTags",t.pageMetaTags)}function h(){t.isAuthenticated=!1}function l(){t.isAuthenticated=!0}n.$broadcast("PageContentLoadSuccess");t.viewReady=!1;t.isAuthenticated=null;t.$on("UserSignedOut",function(){h()});t.$on("CompassContentReady",function(){s()});t.signIn=function(){e.login()};s()}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("incidentDetail",["$route","$q","$rootScope","$location","$window","incidentsService","dateFilter","orderByFilter","messageBannerManagerService","clientConfig","compassFormatFilter","fileUploaderService","compassService","commercialMessageModalService","commercialTelemetryService","casesTelemetryService","authService","commercialErrorMapperService","casesService","sdkProxyService","pageLoadTimePortalFeatures","adalAuthenticationService","languageService","$sce",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it){var rt=d.isInSdk();return g.portalFeatureBeginLoad(g.premierIncidentsForId),{templateUrl:"/PartialViews/Commercial/IncidentDetails.html",link:function(ut){function bt(){var n=w.getUserInfo(),i=w.getCurrentSignedInAccountType();return i==="MSA"?t.resolve({contactId:n.puid,firstName:n.firstName,lastName:n.lastName}):i==="AAD"?nt.getUser().then(function(n){return{contactId:n.profile.oid,firstName:n.profile.given_name,lastName:n.profile.family_name}}):t.resolve([])}function kt(n){return"https://"+r.host()+"/"+tt.langLocale().toLowerCase()+"/cases/"+n+"/interactions"}function dt(n){return a.getCreateCaseHubAsync().then(function(t){t&&(ut.stepView=t.content.descriptionStepContent,ni(n))}),function(n){return rt&&d.proxy().then(function(t){t.dispatchEvent("File Upload Failed",{caseId:ut.incident.caseNumber,cv:u.awa.cv.getValue(),errorCode:n.status,errorMessage:"File upload failed",innererror:n.data})}),t.reject("fileUploadFailure")},bt().then(function(t){var i={caseId:ut.incident.caseNumber,subject:n.subject||ut.messageSubject,content:n.body,contact:t,direction:"Inbound",locationUri:kt(ut.incident.caseNumber)};return k.createCaseWebInteraction(ut.incident.caseNumber,i).then(function(n){ut.attachments=ut.attachments||[];ut.newMessageForm={};var i=ti(n,t);return ut.communications.unshift(i),ut.currentCommunicationIndex=-1,ut.displayMessageForm=!1,ut.currentCummunication=ut.communications[0],ut.incident.lastUpdatedDateForCommunications=new Date,n})})}function gt(n){return n.attachments&&n.attachments.length&&n.attachments.length>0}function ni(n){gt(n)&&(l.uploadToWorkspaceFromClient(n.attachments,ut.incident.caseNumber,ut.stepView.fileAttachment.fileChunkSize).then(function(){p.logAwaEvent({contentName:"ManageCaseFileUploadSuccess",contentId:"ManageCaseFileUploadSuccess",caseId:ut.incident.caseNumber,fileCount:n.attachments.length,actionName:"uploadToWorkspaceFromClient",actionResult:"success"})}),function(n){return rt&&d.proxy().then(function(t){t.dispatchEvent("File Upload Failed",{caseId:ut.incident.caseNumber,cv:u.awa.cv.getValue(),errorCode:n.status,errorMessage:"File upload failed",innererror:n.data})}),t.reject("fileUploadFailure")})}function ti(n,t){var i=[],r;return i.push(t.firstName),i.push(t.lastName),r=i.join(" "),{body:n.content,sender:r||n.createdBy,createdDateTime:n.createdOn||new Date,subject:n.subject}}function lt(n,t,i,r,u){y.logIncident(n,(new Date).getTime()-t,i&&i.length&&i.length>0?i.length:0,r,u)}function ii(n){ut.isSendingMessage=!0;ut.hasMessageSendingError=!1;n.subject=n.subject||ut.messageSubject;var i=(new Date).getTime(),t=null;ai(ft,n.attachments).then(function(i){t=yi(i);var r=st();return f.updateIncidentSovereignCloud(ft,n.subject,n.body,r)}).then(function(n){lt(ft,i,t,"UpdateIncidentInclusive",!0);ut.attachments=ut.attachments||[];ut.attachments=ut.attachments.concat(t);ut.newMessageForm={};var r=n;return ut.communications.unshift(r),ut.currentCommunicationIndex=-1,ut.displayMessageForm=!1,ut.currentCummunication=ut.communications[0],ut.incident.incident.lastUpdatedDateForCommunications=new Date,ut.sentMessageAlert=ut.view.incidentDetailMessagesContent.incidentDetailMessageDetailSentLabel,n},function(n){var f,r,e;lt(ft,i,t,"UpdateIncidentInclusive",!1);ut.hasMessageSendingError=!0;n.status===403?(f=st(),s.notifyBanner(et,{type:"info",title:ut.view.incidentDetailMessagesContent.noPermissionToUpdateIncidentAlert.title,body:c(ut.view.incidentDetailMessagesContent.noPermissionToUpdateIncidentAlert.body,{email:f})})):n.conflictingFiles?(r=[],angular.forEach(n.conflictingFiles,function(n){r.push(n.name)}),v.showStandardMessageModal({id:"update-incident-error-acknowledge",title:ut.view.filesAlreadyUploadedAlert.title,message:ut.view.filesAlreadyUploadedAlert.body+r.join(", "),dismissCaption:ut.view.alertDialogDismissButtonCaption,cv:u.awa.cv.getValue()})):n==ct.workspaceNonactive?s.notifyBanner(et,{type:"warning",title:ut.view.incidentDetailMessagesContent.workspaceNonactiveAlert.title,body:ut.view.incidentDetailMessagesContent.workspaceNonactiveAlert.body,dismissCaption:ut.view.alertDialogDismissButtonCaption,cv:u.awa.cv.getValue()}):(e=b.mapError(n.data.error,ut.view.generalServiceErrorAlert.body),s.notifyBanner(et,{type:"warning",title:ut.view.generalServiceErrorAlert.title,body:e,dismissCaption:ut.view.alertDialogDismissButtonCaption,cv:u.awa.cv.getValue()}))})["finally"](function(){ut.isSendingMessage=!1})}function at(){var n=a.getIncidentDetailHub(),t;n&&(ut.fileSelectionError=!1,ut.view=n.incidentDetailContent,ut.supportRequestLabel=c(ut.view.titleFormat,{"incident-id":""}),ut.incidentNumber=ft,ut.detailTabs=[ut.view.incidentDetailSummaryContent.subtitle,ut.view.incidentDetailEngineerNotesTitle,ut.view.incidentDetailMessagesContent.incidentDetailMessagesSubtitle],t=c(ut.view.incidentDetailMessagesContent.incidentDetailMessageDetailPrivacyStatementLinkFormat,{"privacy-link-url":ut.view.incidentDetailMessagesContent.incidentDetailMessageDetailPrivacyStatementLinkUrl}),ut.messageUpdatePrivayStatement=c(ut.view.incidentDetailMessagesContent.incidentDetailMessageDetailPrivacyStatementFormat,{"privacy-link":t}))}function vt(n){if(ut.sentMessageAlert="",ut.canUpdate)ut.displayMessageForm=!0,n!=undefined&&n>=0?ut.messageSubject=ut.communications[n].subject:ut.currentCommunicationIndex=-1;else{var t=st();s.notifyBanner(et,{type:"info",title:ut.view.incidentDetailMessagesContent.noPermissionToUpdateIncidentAlert.title,body:c(ut.view.incidentDetailMessagesContent.noPermissionToUpdateIncidentAlert.body,{email:t})})}}function ri(){if(ot&&ot==="getSupport"){ui();return}hi()}function ui(){k.getCase(ft).then(function(n){var t=fi(n);ut.incident=t;pt(ut.incident);ut.canView=!0;ut.canUpdate=!0},function(){})["finally"](function(){ut.gettingIncident=!1})}function fi(n){var r=yt(n.customers[0].contacts[0]),t={caseNumber:n.caseNumber,title:n.title,status:n.state,severity:n.severity,primaryContact:{primaryEmailAddress:r||n.createdBy},createdDateTime:n.createdOn},i;return(t.communications=[],!n.interactions)?t:(i=["webInteractions","phoneInteractions","chatInteractions","emailInteractions"],i.forEach(function(i){var u=n.interactions[i],r;if(u)for(r=0;r<u.length;r++)t.communications.push({createdDateTime:u[r].createdOn,sender:ei(u[r],i),subject:oi(u[r],i),isCustomerViewable:!0,body:si(u[r],i)})}),t)}function ei(n,t){var i=yt(n.contact);switch(t){case"webInteractions":case"emailInteractions":case"chatInteractions":case"phoneInteractions":return i||n.createdBy;default:return null}}function yt(n){var t=[];return n&&(n.firstName&&t.push(n.firstName),n.lastName&&t.push(n.lastName)),t.length>0?t.join(" "):null}function oi(n,t){switch(t){case"webInteractions":case"emailInteractions":return n.subject;case"chatInteractions":return n.topic;case"phoneInteractions":return"Phone call "+n.createdOn;default:return null}}function si(n,t){switch(t){case"webInteractions":return n.content;case"emailInteractions":return n.summary;case"chatInteractions":return n.content;case"phoneInteractions":return n.transcript;default:return null}}function hi(){ut.canUpdate=!1;ut.canView=!1;ut.gettingIncident=!0;f.getIncident(ft).then(function(n){ut.incident=n;var t=parseInt(ut.incident.incident.userIncidentPermission,10);ut.canUpdate=t==2;ut.canView=t>0;t>0&&(pt(ut.incident.incident),g.portalFeatureLoaded(g.premierIncidentsForId),i.$broadcast("PageResourcesDownloaded"))},function(n){if(n.status===403){var t=st();s.notifyBanner(et,{type:"warning",title:ut.view.noPermissionToViewIncidentAlert.title,body:c(ut.view.noPermissionToViewIncidentAlert.body,{email:t})})}else n.status===404?i.$broadcast("404Error",{location:r.url()}):s.notifyBanner(et,{type:"warning",title:ut.view.generalServiceErrorAlert.title,body:ut.view.generalServiceErrorAlert.body})})["finally"](function(){ut.gettingIncident=!1});vi(ft,function(n){ut.attachments=n.data},function(){ut.attachments=[]})}function pt(n){var r=[],i=[],u,s,h,f,t;ut.currentCommunicationIndex=-1;n&&(n.notes&&(s=0,n.notes.forEach(function(n){n&&n.logs&&n.logs.forEach(function(n){n&&(r.push(n),s++,(!u||n.createdDateTime>u.createdDateTime)&&(u=n))})}),u&&(n.lastUpdatedNote=u,n.numberOfNotes=s)),n.communications=n.communications&&n.communications.length?n.communications:[],typeof n.hasDescriptionCommunication=="undefined"&&(h=ci(n),n.communications.push(h),n.hasDescriptionCommunication=!0),n.communications.forEach(function(n){n&&n.isCustomerViewable===!0&&n.subject&&(n.emailBody=n.body?pi(n.body):"",i.push(n),(!f||n.createdDateTime>f)&&(f=n.createdDateTime))}),f&&(n.lastUpdatedDateForCommunications=f));t=null;r.length>0&&(r=o(r,"createdDateTime",!0),r.forEach(function(n){if(n){t==null&&(t={});var i=e(n.createdDateTime,ut.view.incidentDetailSummaryContent.incidentCreateDateShortFormat);t.hasOwnProperty(i)?t[i].push(n):t[i]=[n]}}));ut.engineerNotes=t;i&&i.length>0&&(ut.isCommunicationDateDesc=!0,i=o(i,"createdDateTime",ut.isCommunicationDateDesc));ut.communications=i}function ci(n){var t={};return t.sender=n.primaryContact.primaryEmailAddress,t.directionCode=ut.config.messageDirectionCode.incoming,t.subject=n.title,t.createdDateTime=n.createdDateTime,t.isCustomerViewable=!0,t.body=n.description,t}function li(n,t){var f=[],i,u,r,e;if(n&&n.length)for(i=0;i<t.length;i++)for(u=t[i],r=0;r<n.length;r++)e=n[r],u.name==e.fileName&&f.push(u);return f}function ai(n,i){return ht(i)?l.getIncidentWorkspace(n).then(function(r){var u=r.data.id;return r.data.status==wt.active?l.getWorkspaceFilesMetadata(u).then(function(r){var f=r.data,u=li(f,i);return ht(u)?(console.log("rejecting attachment upload due to conflicting files"),t.reject({conflictingFiles:u})):(console.log("no conflicting files found so uploading files"),l.uploadToWorkspaceFromClient(i,n))}):t.reject(ct.workspaceNonactive)},function(r){return r.status=="404"?(console.log("fileUploaderService.getIncidentWorkspace did not return a workspace"),l.uploadToWorkspaceFromClient(i,n)):t.reject("fileUploaderService.getIncidentWorkspace returned unexpected error")}):t.when([])}function vi(n,t,i){return l.getIncidentWorkspace(n).then(function(n){return l.getWorkspaceFilesMetadata(n.data.id).then(function(n){t(n)})},function(n){i(n)})}function yi(n){var t=[];return ht(n)&&angular.forEach(n,function(n){t.push({fileName:n.fileName})}),t}function st(){return w.getUserInfo().email}function ht(n){return n&&n.length&&n.length>0}function pi(n){var t=n;return t=t.replace(/<mailto:[^>]*>/gi,""),t=t.replace(/<https:\/\/apac01.safelinks.protection.outlook.com.*&reserved=0>/gi,""),t=t.replace(/<https:\/\/nam06.safelinks.protection.outlook.com.*&reserved=0>/gi,""),t=t.replace(/<[^>].*@.*.com>/gi,""),t=t.replace(/\r\n/gi,"<br>"),t=t.replace(/<img[^>]*>/gi,""),it.trustAsHtml(t)}var ot=n.current.data&&n.current.data.caseSystem?n.current.data.caseSystem:"mssolve",et;ut.caseSystem=ot;var ft=n.current.params.incidentId,wt={active:1,closed:2},ct={workspaceNonactive:"fileUploaderService.workspace.nonactive"};w.resolveAuthState().then(function(n){var t=w.getSupportedIDP();n===t.MSA||n===t.AAD?ri():w.login()});et="incidentServiceMessages";ut.sentMessageAlert="";ut.sectionUrls=["/PartialViews/Commercial/IncidentSummary.html","/PartialViews/Commercial/IncidentNotes.html","/PartialViews/Commercial/IncidentMessages.html"];ut.selectedTabIndex=0;ut.sectionUrl=ut.sectionUrls[0];ut.newMessageForm={};ut.maxFileSizeBytes=h.DtmWorkspaceConfiguration.FileUploadMaxBytes;ut.maxFileCount=h.DtmWorkspaceConfiguration.FileUploadMaxFiles;ut.hideMetadataInSmall=!0;ut.showOnlyLatestNote=!0;ut.displayMessageForm=!1;ut.config=ut.config||{};ut.config.messageDirectionCode={incoming:"0",outgoing:"1"};ut.lessMessageLimit=10;ut.messageDisplayLimit=ut.lessMessageLimit;at();ut.$on("CompassContentReady",function(){at()});ut.loadSection=function(n){ut.selectedTabIndex=n;ut.sectionUrl=ut.sectionUrls[n];ut.currentCommunicationIndex=-1;ut.hasMessageSendingError=!1};ut.toggleCommunicationsOrder=function(){ut.isCommunicationDateDesc=!ut.isCommunicationDateDesc;ut.communications=o(ut.communications,"createdDateTime",ut.isCommunicationDateDesc)};ut.viewCommunicationDetail=function(n){ut.currentCommunicationIndex>=0&&n==ut.currentCommunicationIndex?ut.currentCommunicationIndex=-1:(ut.currentCommunicationIndex=n,ut.currentCummunication=ut.communications[n]);ut.cancelMessageUpdate()};ut.viewAllCommunications=function(){ut.sentMessageAlert="";ut.currentCommunicationIndex=-1};ut.getPreviousMessage=function(){ut.sentMessageAlert="";ut.currentCommunicationIndex--;ut.currentCummunication=ut.communications[ut.currentCommunicationIndex]};ut.getNextMessage=function(){ut.sentMessageAlert="";ut.currentCommunicationIndex++;ut.currentCummunication=ut.communications[ut.currentCommunicationIndex]};ut.replyMessage=function(n){vt(n)};ut.createNewMessage=function(){vt()};ut.cancelMessageUpdate=function(){ut.sentMessageAlert="";ut.displayMessageForm=!1;ut.hasMessageSendingError=!1;ut.newMessageForm={}};ut.sendMessageUpdate=function(n){switch(ot){case"getSupport":dt(n);break;default:ii(n)}};ut.removeFile=function(n,t){if(t&&t.length&&t.length>0)for(var i=0;i<t.length;i++)if(t[i].name===n.name){t.splice(i,1);break}};ut.enableTooltips=function(){$('[data-toggle="tooltip"]').tooltip()};ut.fileUploadBeforeModelChange=function(n){ut.fileSelectionError=l.validateUploadFiles(ut.newMessageForm.attachments,n,ut.maxFileCount);ut.fileSelectionError||(ut.uploadMessage=ut.view.fileUploaded)};ut.toggleMetadata=function(){ut.hideMetadataInSmall=!ut.hideMetadataInSmall};ut.toggleShowNotes=function(){ut.showOnlyLatestNote=!ut.showOnlyLatestNote};ut.toggleShowMessages=function(){ut.messageDisplayLimit=ut.messageDisplayLimit!=ut.lessMessageLimit?ut.lessMessageLimit:ut.communications.length}}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("commercialInfoService",["clientConfig","$rootScope",function(n,t){function u(){n.authInfo.commercialUserInfo||(n.authInfo.commercialUserInfo={})}function o(t){return u(),n.authInfo.commercialUserInfo[t]!=null?n.authInfo.commercialUserInfo[t]:null}function e(t){return u(),n.authInfo.commercialUserInfo[t]==null&&(n.authInfo.commercialUserInfo[t]={}),n.authInfo.commercialUserInfo[t]}function s(t,i){return u(),n.authInfo.commercialUserInfo[t]=i}function h(t){u();n.authInfo.commercialUserInfo[t]=null}function i(n,t,i){if(i){h(n);return}if(!t)return o(n);s(n,t)}function c(t){u();n.authInfo.commercialUserInfo[t]={}}function r(n,t,i,r){if(r){c(n);return}var u=e(n);u[t]=i}function f(n,t){var i=e(n);return i[t]!=null?i[t]:null}t.$on("ProcessUserSignOut",function(){n.authInfo&&(n.authInfo.commercialUserInfo={})});this.incidentList=function(n,t){return i("incidentList",n,t)};this.saveIncident=function(n,t){if(t){r("incident",null,null,t);return}r("incident",n.incident.id,n,t)};this.getIncident=function(n){return n?f("incident",n):null};this.contracts=function(n,t){return i("contracts",n,t)};this.getProductContracts=function(n){return n?f("product-contracts",n):null};this.saveProductContracts=function(n,t,i){r("product-contracts",n,t,i)};this.getProductContractsPromise=function(n){return n?f("product-contracts-promise",n):null};this.saveProductContractsPromise=function(n,t,i){r("product-contracts-promise",n,t,i)};this.productContractsPromise=function(n,t,r){return i("product-contracts-promise:"+n,t,r)};this.incidentTableColumnConfig=function(n,t){return i("incidentTableColumnConfig",n,t)};this.incidentTableFilterConfig=function(n,t){return i("incidentTableFilterConfig",n,t)};this.accessIdProducts=function(n,t){return i("accessIdProducts",n,t)};this.tamInfo=function(n,t,r){return i("tamInfo"+n,t,r)};this.premierContacts=function(n,t){return i("premierContacts",n,t)};this.regionalContacts=function(n,t){return i("regionalContacts",n,t)};this.supportTopics=function(n,t,r,u){return i("supportTopics,"+n+","+t,r,u)};this.scopingQuestions=function(n,t,r,u,f){return i("scopingQuestions,"+n+","+t+","+r,u,f)};this.customScopingQuestions=function(n,t,r,u){return i("customScopingQuestions,"+n+","+t,r,u)};this.diagnosticMetadata=function(n,t,r,u,f){return i("diagnosticMetadata,"+n+","+t+","+r,u,f)};this.saveThirdTierCompCode=function(n,t){if(t){r("3rdTierComponentCode",null,null,t);return}r("3rdTierComponentCode",n.componentCode,n,t)};this.getThirdTierCompCode=function(n){return n?f("3rdTierComponentCode",n):null};this.saveHidenAlert=function(n,t){return i("siteAlerts:"+n,!0,t)};this.getHidenAlert=function(n){if(n)return i("siteAlerts:"+n)}}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("emailListValidator",[function(){var n=/^.+@.+\..+$/i;return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u&&u.$validators&&(u.$validators.emailList=function(t,i){var f,s,h,e,o;if(u.$isEmpty(i)||(f=i.trim().split(/\s*;\s*/),f==undefined||f.length==0))return!0;for(s=0,h=r.maxEmailLimit&&parseInt(10,r.maxEmailLimit)||10,o=0;o<f.length;o++)if((e=f[o],e&&!n.test(e))||e&&(s++,s>h))return!1;return!0})}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("entitlementsService",["$http","$q","$location","commercialInfoService","incidentsService","currentLanguageService","sessionStorageService","flightService","$rootScope",function(n,t,i,r,u,f,e){function a(n){n.userContractState=o.Authenticated;n&&n.isPremier&&(n.incidentSubmitContracts&&n.incidentSubmitContracts.length?n.userContractState=o.Full:n.viewOnlyContracts&&n.viewOnlyContracts.length&&(n.userContractState=o.ReadOnly))}function v(){r.contracts(null,!0);r.saveProductContracts(null,null,!0);r.saveProductContractsPromise(null,null,!0);y.getEntitlements()}var s=!1,c=null,h=!1,l=null,o={Unauthenticated:0,Authenticated:1,ReadOnly:2,Full:3},y=this;this.userContractState=function(){return o};this.getEntitlements=function(){var i;return r.contracts()?t.when(r.contracts()):(i=this,r.incidentList(null,!0),r.accessIdProducts(null,!0),r.tamInfo(null,!0),u.getIncidents(),s||(c=n.get("/api/entitlements",{httpAppOptions:{cacheBust:!0,qosOperation:{name:"EntitlementsService.GetAllEntitlements",description:"get all entitlements for a user"}}}).then(function(n){a(n.data);r.contracts(n.data);var t=[];return angular.forEach(n.data.incidentSubmitContracts,function(n){t.push(n.accessId)}),n.data})["finally"](function(){s=!1}),s=!0),c)};this.getProductEntitlements=function(i){var u;return r.getProductContracts(i)?t.when(r.getProductContracts(i)):r.getProductContractsPromise(i)?r.getProductContractsPromise(i):(u=n.get("/api/entitlements",{params:{productId:i},httpAppOptions:{cacheBust:!0,qosOperation:{name:"EntitlementsService.GetUserEntitlementsForProductId",description:"get a user's entitlements filtered by productId"}}}).then(function(n){return a(n.data),r.saveProductContracts(i,n.data),n.data},function(n){r.saveProductContractsPromise(i,null);t.reject(n)}),r.saveProductContractsPromise(i,u),u)};this.getAccessIdProducts=function(i){var f,u,e;return r.accessIdProducts()?(f=t.defer(),f.resolve(r.accessIdProducts()),f.promise):(h||(u=null,i!=null&&i.length&&(u=i.join(",")),e={httpAppOptions:{cacheBust:!0,qosOperation:{name:"EntitlementsService.GetDisplayProductsForAccessIds",description:"get products that can be displayed to a user filtered by access IDs associated with their account"}}},u!=null&&(e.params={accessIds:u}),l=n.get("/api/entitlements/displayproducts",e).then(function(n){return r.accessIdProducts(n.data),n.data})["finally"](function(){h=!1}),h=!0),l)};this.disclaimerForPesId=function(t){return n.get("api/Entitlements/DisplayProducts/Disclaimers/"+t,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"EntitlementsService.GetDisclaimersForPesId",description:"Get disclaimers for a specific product"}}})};this.registerEntitlement=function(t){return t.Action="Add",n.post("/api/entitlements",t,{headers:{"Content-Type":"application/json"},httpAppOptions:{qosOperation:{name:"EntitlementsService.RegisterAccessId",description:"register a new entitlement for a user"}}}).then(function(n){return v(),n})};this.unregisterEntitlement=function(t){return t.Action="Remove",n.post("/api/entitlements",t,{headers:{"Content-Type":"application/json"},httpAppOptions:{qosOperation:{name:"EntitlementsService.RemoveAccessId",description:"unregister entitlement for a user"}}}).then(function(n){return v(),n})};this.getProductsDisclaimerCollection=function(){var o=f.getLang(),i="ProductDisclaimerCollection,"+o,r=e.get(i),u;return r?t.when(r):(u={name:"EntitlementsService.GetProductsDisclaimerCollection",description:"Get all products disclaimers"},n.get("api/Entitlements/GetProductsDisclaimerCollection",{httpAppOptions:{cacheBust:!0,qosOperation:u}}).then(function(n){return e.set(i,n.data),n.data}))};this.getTamInfo=function(i){var u;return r.tamInfo(i)?(u=t.defer(),u.resolve(r.tamInfo(i)),u.promise):(u=t.defer(),n.get("/api/entitlements/"+i+"/taminfo",{httpAppOptions:{cacheBust:!0,qosOperation:{name:"EntitlementsService.GetTamInfo",description:"Fetch TAM information for a user's access ID"}}}).then(function(n){angular.forEach(n.data.tamContactInfo,function(t){r.tamInfo(t.accessId,n.data)});u.resolve(n.data)}),u.promise)};this.getThirdTierComponentCode=function(i){var u;return r.getThirdTierCompCode(i)?(u=t.defer(),u.resolve(r.getThirdTierCompCode(i)),u.promise):promise=n.get("/api/entitlements/thirdtiercomponentcodes/"+i,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"EntitlementsService.GetThirdTierComponentCode",description:"Fetch component code information for a third tier component code"}}}).then(function(n){return r.saveThirdTierCompCode(n.data),n.data})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("filterController",[function(){var i={open:2,closed:3},n=this,t=function(n){var t=n;return n instanceof Date||(t=new Date(n)),t},r=function(n){var i=t(n);return i.setHours(23,59,59,999),i},u=function(n){var i=t(n);return i.setHours(0,0,0,0),i},f=function(n){n.openBegin&&(n.openBegin=u(n.openBegin));n.openEnd&&(n.openEnd=r(n.openEnd));n.lastUpdateBegin&&(n.lastUpdateBegin=u(n.lastUpdateBegin));n.lastUpdateEnd&&(n.lastUpdateEnd=r(n.lastUpdateEnd))},e=function(t){return n.filter.searchResultIsSet?t.isSearchResult:!0},o=function(t){return n.filter.openCheckbox&&t.filterableStatus===i.open||n.filter.closedCheckbox&&t.filterableStatus===i.closed},s=function(i){var f=!1,e=!1,r=i.incident.createdDateTime?t(i.incident.createdDateTime):null,u=i.incident.lastModifiedDateTime?t(i.incident.lastModifiedDateTime):null;return f=n.filter.openBegin&&n.filter.openEnd?r!=null&&r>=n.filter.openBegin&&r<=n.filter.openEnd:n.filter.openBegin?r!=null&&r>=n.filter.openBegin:n.filter.openEnd?r!=null&&r<=n.filter.openEnd:!0,e=n.filter.lastUpdateBegin&&n.filter.lastUpdateEnd?u!=null&&u>=n.filter.lastUpdateBegin&&u<=n.filter.lastUpdateEnd:n.filter.lastUpdateBegin?u!=null&&u>=n.filter.lastUpdateBegin:n.filter.lastUpdateEnd?u!=null&&u<=n.filter.lastUpdateEnd:!0,f&&e};this.validateAndSetFilter=function(t){return t!=null?(f(t),t.openBegin&&t.openEnd&&t.openEnd<=t.openBegin)?!1:t.lastUpdateBegin&&t.lastUpdateEnd&&t.lastUpdateEnd<=t.lastUpdateBegin?!1:(n.filter=t,!0):!1};this.checkFilter=function(t){if(n.filter)return e(t)&&o(t)&&s(t);throw"invalid operation-filter has not been set";}}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("incidentSeverityService",["$http","$q","currentLanguageService",function(n,t,i){this.getSeverityConfig=function(t,r,u){var f={marketServiceId:r.serviceId,localeOverride:i.getLang(),pesId:t.pesId};return u&&(f.region=u.isoRegionCode),n.get("/api/Incidents/severityoptions/"+r.contractTypeName,{params:f,httpAppOptions:{cacheBust:!0,qosOperation:{name:"IncidentSeverityService.GetSeverityConfig",description:"Get severity configuration for an incident request"}}})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("IncidentsHubController",["$locale","$location","$rootScope","$scope","$timeout","$window","aadTokenHelper","authService","commercialInfoService","commercialMessageModalService","commercialTelemetryService","compassService","dateFilter","entitlementsService","filterController","flightService","incidentsService","messageBannerManagerService","objectTableApi","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d){function wt(){r.showFilters=!1;r.isFilterOpen=!1;r.showColumnPicker=!1;r.isColumnPickerOpen=!1;r.filterSelection={};r.columnSelection={};r.selectedSortColumn=ct;r.selectedSortOrder=pt;r.visibleIncidentCount=ft;r.searchQuery="";r.entitlements=null;r.exportUrlPath="";var n=l.getCommercialIncidentsHub();n&&(r.viewContent=n,r.objectTable=n.incidentsTable,r.viewLengthCaption=n.stringTable.showMoreCaption,r.viewAll=!1,gt(),at(),dt())}function bt(){r.viewReady=!1;o.resolveAuthState().then(function(n){var t=o.getSupportedIDP();n===t.MSA||n===t.AAD?(r.$emit("premierLoginTypeAtLandingPage",n),kt()):o.login()})}function kt(){wt()}function dt(){w.getIncidents().then(function(n){r.hasEntitlements=n.hasEntitlements;var t=n.incidents;angular.forEach(t,function(n){n.visible=!0});t&&t.length&&t.length>0?(r.hasIncidents=!0,r.allIncidents=t,ot(r.selectedSortOrder,r.selectedSortColumn,r.allIncidents),it(),rt(r.visibleIncidentCount)):r.hasIncidents=!1},function(){r.userIncidents=[];r.hasErrors=!0;b.notifyBanner("incidentsHubMessages",{type:"warning",id:"get-incidents-service-error",title:r.viewContent.generalServiceErrorAlert.title,body:r.viewContent.generalServiceErrorAlert.body,cv:f.awa.cv.getValue()})})["finally"](function(){r.viewReady=!0;d.portalFeatureLoaded(d.premierIncidents);i.$broadcast("PageResourcesDownloaded")})}function gt(){var n,t;if(s.incidentTableColumnConfig())for(r.columnSelection=s.incidentTableColumnConfig(),n=0;n<r.objectTable.columns.length;n++)t=lt(r.objectTable.columns[n].columnId),r.objectTable.columns[n].defaultColumn=r.columnSelection[t]?r.columnSelection[t].selected:!1;else{for(n=0;n<r.objectTable.columns.length;n++)t=lt(r.objectTable.columns[n].columnId),r.columnSelection[t]={selected:r.objectTable.columns[n].defaultColumn===!0?!0:!1,name:r.objectTable.columns[n].columnName},r.objectTable.columns[n].active=r.objectTable.columns[n].propertyName==ct?!0:!1;s.incidentTableColumnConfig(r.columnSelection)}}function lt(n){return n=n.toLowerCase(),n.replace(/ /g,"")}function at(){s.incidentTableFilterConfig()?tt(r.filterSelection,s.incidentTableFilterConfig()):(tt(r.filterSelection,et),s.incidentTableFilterConfig(tt({},et)))}function tt(n,t){return n.searchResultIsSet=t.searchResultIsSet,n.openCheckbox=t.openCheckbox,n.closedCheckbox=t.closedCheckbox,n.openBegin=t.openBegin,n.openEnd=t.openEnd,n.lastUpdateBegin=t.lastUpdateBegin,n.lastUpdateEnd=t.lastUpdateEnd,n}function rt(n){for(var i=[],u=Math.min(n,r.allIncidents.length),t=0;t<r.allIncidents.length&&i.length<u;t++)r.allIncidents[t].visible===!0&&i.push(r.allIncidents[t]);if(r.hasShowMoreLink=!1,r.visibleIncidentCount>ft)r.hasShowMoreLink=!0;else for(;t<r.allIncidents.length&&r.hasShowMoreLink==!1;t++)r.allIncidents[t].visible===!0&&(r.hasShowMoreLink=!0);r.userIncidents=i}function ni(){r.filterSelection&&s.incidentTableFilterConfig(tt({},r.filterSelection))}function ti(){var n=s.incidentTableFilterConfig();n!=null&&tt(r.filterSelection,n)}function st(){s.incidentTableFilterConfig(tt({},et));tt(r.filterSelection,et);it()}function it(){var u=!1,n={},i,t;if(n.openCheckbox=r.filterSelection.openCheckbox,n.closedCheckbox=r.filterSelection.closedCheckbox,n.openBegin=r.filterSelection.openBegin,n.openEnd=r.filterSelection.openEnd,n.lastUpdateBegin=r.filterSelection.lastUpdateBegin,n.lastUpdateEnd=r.filterSelection.lastUpdateEnd,!y.validateAndSetFilter(n)){r.showFilters=!0;ti();h.showStandardMessageModal({id:"incident-view-invalid-filter",title:r.viewContent.stringTable.filterIncidentsFilterInvalidTitle,message:r.viewContent.stringTable.filterIncidentsFilterInvalidBody,dismissCaption:r.viewContent.stringTable.alertDialogDismissButtonCaption});return}if(ni(),angular.forEach(r.allIncidents,function(n){n.visible=!1;n.isSearchResult=!1;u=!0}),r.searchResults)for(n.searchResultIsSet=!0,i=0;i<r.searchResults.length;i++)for(t=0;t<r.allIncidents.length;t++)if(r.searchResults[i].incident.id==r.allIncidents[t].incident.id){r.allIncidents[t].isSearchResult=!0;break}n.openCheckbox=r.filterSelection.openCheckbox;n.closedCheckbox=r.filterSelection.closedCheckbox;n.openBegin=r.filterSelection.openBegin;n.openEnd=r.filterSelection.openEnd;n.lastUpdateBegin=r.filterSelection.lastUpdateBegin;n.lastUpdateEnd=r.filterSelection.lastUpdateEnd;y.validateAndSetFilter(n);angular.forEach(r.allIncidents,function(n){n.visible=y.checkFilter(n)})}function ii(n,t,i,r){var u=k.objectByString(r,t),f=k.objectByString(i,t);return n?u-f:f-u}function ri(n,t,i,r){var u=new Date(k.objectByString(r,t)),f=new Date(k.objectByString(i,t));return n?f-u:u-f}function ui(n,t,i,r){var f=k.objectByString(r,t),e=k.objectByString(i,t),u=e.localeCompare(f);return n?u:u*-1}function fi(n,t,i,r){var u=k.getJoinProperty(r,t),f=k.getJoinProperty(i,t);return n?u<f?-1:u>f?1:0:u<f?1:u>f?-11:0}function ot(n,t,i){var r=t.indexOf(k.joinToken)==0?k.joinToken:t;switch(r){case"incident.id":i.sort(function(i,r){return ii(n.sortDescending===!1,t,i,r)});break;case"incident.status":case"incident.title":case"incident.severity":case"incident.productName":i.sort(function(i,r){return ui(n.sortDescending===!1,t,i,r)});break;case"incident.createdDateTime":case"incident.lastModifiedDateTime":case"incident.closedDateTime":i.sort(function(i,r){return ri(n.sortDescending===!1,t,i,r)});break;case k.joinToken:i.sort(function(i,r){return fi(n.sortDescending===!1,t,i,r)})}}function vt(n){var t=new Date(n);return result=a(t,"shortDate")}function nt(n){return n!=null&&n!==undefined&&typeof n=="string"||n instanceof String}function ht(n){if(n!=null&&n!==undefined){var t=n instanceof Date?vt(n):n;if(nt(t))return t}return null}function yt(){r.searchResults=null;st();it();rt(r.visibleIncidentCount)}function ei(n){r.searchResults=oi(n);st();it();rt(r.visibleIncidentCount)}function g(n,t){var i=n.toLocaleUpperCase(),r=t.toLocaleUpperCase(),u=r.indexOf(i);return u>=0}function oi(n){for(var t,e,u,i=[],f=0;f<r.allIncidents.length;f++)t=r.allIncidents[f],t.incident&&(nt(t.incident.id)&&g(n,t.incident.id)&&i.push(t),nt(t.incident.status)&&g(n,t.incident.status)&&i.push(t),nt(t.incident.severity)&&g(n,t.incident.severity)&&i.push(t),nt(t.incident.productName)&&g(n,t.incident.productName)&&i.push(t),nt(t.incident.title)&&g(n,t.incident.title)&&i.push(t),t.incident.primaryContact&&nt(t.incident.primaryContact.firstName)&&g(n,t.incident.primaryContact.firstName)&&i.push(t),t.incident.primaryContact&&nt(t.incident.primaryContact.lastName)&&g(n,t.incident.primaryContact.lastName)&&i.push(t),t.incident.primaryContact&&nt(t.incident.primaryContact.firstName)&&t.incident.primaryContact&&nt(t.incident.primaryContact.lastName)&&(e=t.incident.primaryContact.firstName+" "+t.incident.primaryContact.lastName,g(n,e)&&i.push(t)),u=ht(t.incident.createdDateTime),u&&g(n,u)&&i.push(t),u=ht(t.incident.lastModifiedDateTime),u&&g(n,u)&&i.push(t),u=ht(t.incident.closedDateTime),u&&g(n,u)&&i.push(t));return i}var ut;i.$broadcast("PageContentLoadSuccess");d.portalFeatureBeginLoad(d.premierIncidents);var ft=5,pt={sortDescending:!0},ct="incident.lastModifiedDateTime",et={searchResultIsSet:!1,openCheckbox:!0,closedCheckbox:!0,openBegin:null,openEnd:null,lastUpdateBegin:null,lastUpdateEnd:null};r.viewReady=!1;r.showingMore=!1;r.hasIncidents=!1;r.hasEntitlements=!1;r.hasErrors=!1;r.toggleFilterControls=function(n){r.showFilters=!r.showFilters;r.isFilterOpen=!n;r.showColumnPicker=r.showFilters?!1:r.showColumnPicker};r.toggleViewControls=function(n){r.showColumnPicker=!r.showColumnPicker;r.isColumnPickerOpen=!n;r.showFilters=r.showColumnPicker?!1:r.showFilters};r.applyFilter=function(){r.showFilters=!1;it();rt(r.visibleIncidentCount)};r.cancelFilter=function(){r.showFilters=!1;at()};r.resetFilter=function(){r.showFilters=!1;st()};r.applyColumPicker=function(){var t,i,u,n;r.showColumnPicker=!1;for(t in r.columnSelection)for(i=r.columnSelection[t].selected,u=r.columnSelection[t].name,n=0;n<r.objectTable.columns.length;n++)r.objectTable.columns[n].columnName==u&&(r.objectTable.columns[n].defaultColumn=i);s.incidentTableColumnConfig(r.columnSelection)};r.cancelColumPicker=function(){var n,t;if(r.showColumnPicker=!1,n=s.incidentTableColumnConfig(),n)for(t in n)r.columnSelection[t].selected=n[t].selected,r.columnSelection[t].name=n[t].name};r.sortData=function(n,t){r.selectedSortOrder=n;r.selectedSortColumn=t;ot(r.selectedSortOrder,r.selectedSortColumn,r.userIncidents)};r.formatData=function(n,t){var i=n;return t=="dateTimeFormat"&&(i=n?vt(n):""),i};r.viewLengthClicked=function(){r.showingMore=!0;u(function(){r.viewAll=!r.viewAll;r.viewLengthCaption=r.viewAll?r.viewContent.stringTable.showLessCaption:r.viewContent.stringTable.showMoreCaption;r.viewAll?(r.visibleIncidentCount=r.allIncidents.length,ot(r.selectedSortOrder,r.selectedSortColumn,r.allIncidents),it(),rt(r.allIncidents.length)):(r.visibleIncidentCount=ft,ot(r.selectedSortOrder,r.selectedSortColumn,r.allIncidents),it(),rt(ft));r.showingMore=!1},1e3)};r.incidentSearchClicked=function(n){ei(n)};r.resetSearch=function(){yt()};r.searchModelChanged=function(n){(typeof n=="string"&&n.length==0||typeof n!="string")&&yt()};r.setPathToUrl=function(n){t.path(n)};r.newIncident=function(n){r.hasEntitlements?t.path(n):h.showStandardMessageModal({id:"create-incident-no-permission",title:r.viewContent.stringTable.createIncidentPermissionErrorTitle,message:r.viewContent.stringTable.createIncidentPermissionErrorBody,dismissCaption:r.viewContent.stringTable.alertDialogDismissButtonCaption})};r.shortDateFormat=n.DATETIME_FORMATS.shortDate;ut={formatYear:"yyyy",maxDate:new Date,minDate:new Date(1980,0,0),startingDay:1,showWeeks:!1};r.openDateBeginningFilterOptions=ut;r.openDateBeginningFilter={opened:!1};r.openOpenDateBeginningFilter=function(){r.openDateBeginningFilter.opened=!0};r.openDateEndingFilterOptions=ut;r.openDateEndingFilter={opened:!1};r.openOpenDateEndingFilter=function(){r.openDateEndingFilter.opened=!0};r.updateDateBeginningFilterOptions=ut;r.updateDateBeginningFilter={opened:!1};r.openUpdateDateBeginningFilter=function(){r.updateDateBeginningFilter.opened=!0};r.updateDateEndningFilterOptions=ut;r.updateDateEndningFilter={opened:!1};r.openUpdateDateEndningFilter=function(){r.updateDateEndningFilter.opened=!0};r.downloadIncidentList=function(){e.createUserFileUrl("api/incidents/list").then(function(n){r.exportUrlPath=n;i.$emit(c.scenarioNames.incidentHub.downloadIncidentsList,!0)},function(){r.exportUrlPath="";i.$emit(c.scenarioNames.incidentHub.downloadIncidentsList,!1)})};bt()}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("incidentsService",["$http","$q","commercialInfoService","fileUploaderService","productsService","clientConfig","commercialTelemetryService","flightService","languageService","sessionStorageService","sapService","$rootScope",function(n,t,i,r,u,f,e,o,s,h,c){function w(n){return n&&n.data&&n.data.incidentId}function b(n){var t=[];return a(n)&&angular.forEach(n,function(n){t.push({fileName:n.fileName})}),t}function k(n){return a(y(n))}function y(n){return n.incidentDescriptionAndQuestions.files}function d(n){var t={confirmation:{locale:n.primaryContact.primaryLanguage,incidentTitle:n.incidentDescriptionAndQuestions.title,productName:n.selectedProduct.name,severity:n.selectedSeverity.label,responseTime:n.selectedSeverity.sla,customerEmail:n.primaryContact.email,customerPhone:n.primaryContact.phoneNumber,contactPreference:n.primaryContact.preferredContactMethod.label,alternateRecipients:n.primaryContact.additionalEmails,primaryLanguageDisplay:n.primaryContact.primaryLanguageDisplay,secondaryLanguageDisplay:n.primaryContact.secondaryLanguageDisplay,timeZoneOffset:n.primaryContact.timeZone.offset},customerCountry:n.userRegion.isoRegionCode,description:n.incidentDescriptionAndQuestions.formattedDescription,entitlement:{entitlementId:n.selectedContract.accessId,entitlementType:n.selectedContract.entitlementTypeName,extendedProperties:[{key:"clarifyInstallationSiteId",value:n.selectedContract.clarifyInstallationSiteId+""},{key:"contractLineItemId",value:n.selectedContract.lineItemId+""},{key:"productServicePackageSku",value:n.selectedContract.sku},{key:"serviceLevel",value:n.selectedContract.contractTypeName},{key:"accessId",value:n.selectedContract.accessId}]},primaryContact:{firstName:n.primaryContact.firstName,lastName:n.primaryContact.lastName,preferredContactMethod:n.primaryContact.preferredContactMethod.preference,primaryEmailAddress:n.primaryContact.email,primaryPhoneNumber:n.primaryContact.phoneNumber,timeZoneId:n.primaryContact.timeZone.id,language:n.primaryContact.primaryLanguage,alternateEmailAddress:n.primaryContact.additionalEmails},productId:n.selectedProduct.pesId,severity:n.selectedSeverity.metisValue,title:n.incidentDescriptionAndQuestions.title};return n.primaryContact.secondaryLanguage&&(t.primaryContact.alternateLanguage=n.primaryContact.secondaryLanguage),n.supportTopics&&n.supportTopics.length&&(t.supportTopicId=n.supportTopics[n.supportTopics.length-1].id),angular.isDefined(n.selectedSeverity.use24x7Option)&&(t.extendedProperties=[{key:"is24x7SupportOptIn",value:n.selectedSeverity.use24x7Option}]),t.entitlement.entitlementId=n.selectedContract.entitlementID,t.productId=n.selectedLeafSapId,t}function g(n){var t=d(n);return nt(t)}function nt(t){return n.post("/api/incidents/",t,{headers:{"Content-Type":"application/json"},httpAppOptions:{qosOperation:{name:"IncidentsService.DoSubmitRequest",description:"Create a new incident in METIS"}}}).then(function(n){return n.data})}function tt(n,t){var r=i.getIncident(n);r&&(r.incident.communications.push(t),i.saveIncident(r))}function a(n){return n&&n.length&&n.length>0}var l=!1,v=null,p="manifest";this.getIncidents=function(){var r;return i.incidentList()?(r=t.defer(),r.resolve(i.incidentList()),r.promise):(l||(v=n.get("/api/incidents",{httpAppOptions:{cacheBust:!0,qosOperation:{name:"IncidentsService.GetIncidents",description:"Get all incidents for a user from METIS"}}}).then(function(n){return i.incidentList(n.data),n.data},function(n){return t.reject(n)})["finally"](function(){l=!1}),l=!0),v)};this.getIncident=function(r){var f=i.getIncident(r),u;return f?(u=t.defer(),u.resolve(f),u.promise):n.get("/api/incidents/"+r,{httpAppOptions:{cacheBust:!0,qosOperation:{name:"IncidentsService.GetIncident",description:"Get a single incident by its incident id"}}}).then(function(n){return i.saveIncident(n.data),n.data},function(n){return t.reject(n)}).then(function(n){var r=n.incident,t,u;return r&&r.supportTopicId?(t=r.supportTopicId.split("\\"),u="",t&&t.length&&(u=t[t.length-1]),r.supportTopicName=n.supportTopicName,i.saveIncident(n),n):n})};this.updateIncidentSovereignCloud=function(t,i,r,u){var f={communications:[{subject:i,body:r,sender:u,isCustomerViewable:!0}]};return n.patch("/api/incidents/"+t,f,{headers:{"Content-Type":"application/json"},httpAppOptions:{qosOperation:{name:"IncidentsService.UpdateIncident",description:"Update an incident in METIS"}}}).then(function(){var n=(new Date).getTime(),i={communicationType:0,createdDateTime:n,directionCode:"0",modifiedDateTime:n,sentDateTime:n,subject:f.communications[0].subject,body:f.communications[0].body,sender:f.communications[0].sender,isCustomerViewable:!0};return tt(t,i),i})};this.submitIncidentSovereignCloud=function(n){var i=t.defer(),f=t.defer(),h=(new Date).getTime(),s=0,u=null,o=null;return g(n).then(function(n){o=n;u=n.incidentId;f.resolve()},function(n){w(n)?(o=n.data,u=n.data.incidentId,f.resolve()):f.reject(n)}),f.promise.then(function(){k(n)?r.uploadToWorkspaceFromClient(y(n),u).then(function(t){var r=b(t);n.incidentDescriptionAndQuestions.uploadedFiles=r;s=r.length;i.resolve(o)},function(n){i.reject(n)}):i.resolve(o)},function(n){i.reject(n)}),i.promise.then(function(n){return e.logIncident(u,(new Date).getTime()-h,s,"CreateIncidentInclusive",!0),n},function(n){return e.logIncident(u,(new Date).getTime()-h,s,"CreateIncidentInclusive",!1),t.reject(n)})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("linkFarm",[function(){return{restrict:"A",templateUrl:"/PartialViews/Commercial/LinkFarm.html",scope:{linkSectionList:"="}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("premierContactsController",["$scope","$rootScope","$location","commercialContactService","compassService","languageService","entitlementsService","commercialMessageModalService","messageBannerManagerService","authService","dateFilter","focus","pageLoadTimePortalFeatures","flightService",function(n,t,i,r,u,f,e,o,s,h,c,l,a){function b(){n.viewModel!=null&&n.viewModel.stringTable!=null&&(n.tableConfig={disableSorting:!0,columns:[{columnName:n.viewModel.stringTable.tableHeadingTamName,propertyName:"tamName",defaultColumn:!0,disableSorting:!0,defaultColumnOrder:0},{columnName:n.viewModel.stringTable.tableHeadingTamEmail,propertyName:"tamEmail",defaultColumn:!0,defaultColumnOrder:1,eMail:"tamEmail",disableSorting:!0,eMailCaption:"tamEmail"},{columnName:n.viewModel.stringTable.tableHeadingSchedule,propertyName:"scheduleName",defaultColumn:!0,disableSorting:!0,defaultColumnOrder:2},{columnName:n.viewModel.stringTable.tableHeadingAccessId,propertyName:"accessId",defaultColumn:!0,disableSorting:!0,defaultColumnOrder:3},{columnName:n.viewModel.stringTable.tableHeadingExpirationDate,propertyName:"endDate",defaultColumn:!0,defaultColumnOrder:4,disableSorting:!0,format:y}]})}function p(){n.isAuthenticated=null;h.resolveAuthState().then(function(t){var i=h.getSupportedIDP();n.isAuthenticated=t===i.MSA||t===i.AAD?!0:!1;n.isAuthenticated==null||n.isAuthenticated!=null&&n.isAuthenticated===!1?h.login():k()})}function k(){var i=u.getCommercialContactsHub(),t;i&&(t=u.getCommercialIncidentsHub(),t)&&(n.viewModel=i,n.incidentsViewModel=t,b(),r.getPremierContacts().then(function(t){n.premierContacts=t&&t.phoneContacts&&t.phoneContacts.length?t.phoneContacts:[];v()},function(){n.premierContactsError=!0;n.showAltContacts=!0;v()}),r.getRegionalContacts().then(function(t){if(t&&t.length&&t.length>0){var i=tt(t);i&&(n.selectedRegionalContact=i,n.defaultPhoneNumber=d(i))}n.regionalContacts=t;v()},function(){n.regionalContactsError=!0;n.showRegions=!0;v()}))}function d(n){return n.phoneContacts&&n.phoneContacts.length&&n.phoneContacts.length>0&&n.phoneContacts[0].phoneNumbers&&n.phoneContacts[0].phoneNumbers.length&&n.phoneContacts[0].phoneNumbers.length>0?n.phoneContacts[0].phoneNumbers[0].number:""}function v(){n.viewReady=(n.premierContacts||n.premierContactsError)&&(n.regionalContacts||n.regionalContactsError);n.viewReady&&n.viewModel&&n.tamInfosResolved&&!n.pageLoadTimeReported&&(n.pageLoadTimeReported=!0,a.portalFeatureLoaded(a.premierContacts),t.$broadcast("PageResourcesDownloaded"));g()}function g(){n.viewReady&&n.viewInitCallback&&typeof n.viewInitCallback=="function"&&n.viewInitCallback()}function tt(n){var i=null,r,u,t;if(n&&n.length&&n.length>0)for(r=f.langLocale(),u=f.lang(),t=0;t<n.length;t++)if(n[t].region&&n[t].region.toLowerCase()==r.toLowerCase()){i=n[t];break}return i}t.$broadcast("PageContentLoadSuccess");a.portalFeatureBeginLoad(a.premierContacts);var w="roleNameFormat",y="dateTimeFormat";n.regionalContacts=null;n.premierContacts=null;n.tamInformation=null;n.tamInfosResolved=!1;n.viewReady=!1;n.entitlementsChecked=!1;n.hasEntitlements=!1;n.showRegions=!1;n.showAltContacts=!1;n.defaultNumber="";n.hasErrors=!1;n.premierContactsError=!1;n.regionalContactsError=!1;n.tamInfoError=!1;n.isAuthenticated=null;n.pageLoadTimeReported=!1;n.$on("CompassContentReady",function(){p()});n.newRegionSelected=function(){l("regionSelectionFocus")};n.formatData=function(t,i){var u=t,f,r;if(i==y)f=new Date(t),u=c(f,"shortDate");else if(i==w&&n.viewModel&&n.viewModel.roleDisplayInfo)for(r=0;r<n.viewModel.roleDisplayInfo.length;r++)if(n.viewModel.roleDisplayInfo[r].roleKey==t){u=n.viewModel.roleDisplayInfo[r].roleDisplayName;break}return u};n.addAccessId=function(n){i.path(n)};n.newIncident=function(t){n.hasEntitlements?i.path(t):o.showStandardMessageModal({id:"create-incident-no-permission",title:n.incidentsViewModel.stringTable.createIncidentPermissionErrorTitle,message:n.incidentsViewModel.stringTable.createIncidentPermissionErrorBody,dismissCaption:n.incidentsViewModel.stringTable.alertDialogDismissButtonCaption})};n.setPathToUrl=function(){};n.$on("UserSignedInMSA",function(){n.isAuthenticated=!0});p()}])}(angular.module(microsoft.support.moduleName)),function(n){n.provider("premierIdp",function(){this.premierLoginPrefs=function(){var n={MSA:"MSA",AAD:"AAD"};return[n.MSA,n.AAD]};this.$get=function(){}})}(angular.module(microsoft.support.moduleName)),function(n){n.service("commercialMessageModalService",["$uibModal",function(n){this.showStandardMessageModal=function(t,i,r){var u=n.open({templateUrl:"/PartialViews/Commercial/premierStandardModal.html",backdropClass:"smc-modal-backdrop",windowClass:"commercial-modal-window",resolve:{displayContent:function(){return t}},controller:["$scope","$uibModalInstance","displayContent",function(n,t,i){n.messageContent=i;n.dismiss=function(){t.close()}}]});u.result.then(function(){if(typeof i=="function")return i()},function(){typeof r=="function"&&r()})}}])}(angular.module(microsoft.support.moduleName));angular.module(microsoft.support.moduleName).directive("siteAlert",["commercialInfoService","compassService",function(n,t){return{restrict:"A",scope:{messages:"="},templateUrl:"/PartialViews/Common/MessageBanner.html",link:function(i,r,u){function e(){i.isFullWidth=!0;f();i.messages&&i.messages.length&&(i.messages=o(i.messages));i.hasIcon=!1;u&&u.hasicon&&(i.hasIcon=u.hasicon.toLowerCase()==="true")}function o(t){var i=[];return angular.forEach(t,function(t){n.getHidenAlert(t.name)||(t.type=t.alertType,i.push(t))}),i}function s(t){t&&t.name&&n.saveHidenAlert(t.name)}function f(){var n=t.getPremierHomeView();n&&(i.view=n)}e();i.$on("CompassContentReady",function(){f()});i.dismissMessage=function(n){if(i.messages&&i.messages.length&&n){var t=i.messages.indexOf(n);t>=0&&(i.messages.splice(t,1),s(n))}}}}}]),function(n){n.controller("IncidentCreationContactStepController",["$scope","stepInstance","clientConfig","compassService","orderByFilter","currentLanguageService","authService",function(n,t,i,r,u,f,e){function h(){n.primaryContactForm={};c()}function c(){var n=r.getCreateIncidentsHub();n&&l(n)}function l(t){var e,r,i;for(n.view=t.content,n.stepView=n.view.contactStepContent,n.timeZones=u(t.content.timeZoneList,"offset"),e=(new Date).getTimezoneOffset()*-1,i=0;i<n.timeZones.length;i++)if(n.timeZones[i].offset==e){n.primaryContactForm.userTimeZone=n.timeZones[i];break}for(n.primaryLanguages=t.configuration.primaryLanguages,n.nameLayout=t.configuration.userNameLayout,r=f.getLang().toLowerCase(),i=0;i<n.primaryLanguages.length;i++)if(n.primaryLanguages[i].locale.toLowerCase()==r){n.primaryContactForm.primaryLanguage=n.primaryLanguages[i];break}if(!n.primaryContactForm.primaryLanguage)for(i=0;i<n.primaryLanguages.length;i++)if(r.indexOf(n.primaryLanguages[i].locale.toLowerCase())==0){n.primaryContactForm.primaryLanguage=n.primaryLanguages[i];break}n.secondaryLanguages=[];n.primaryContactForm.primaryLanguage?angular.forEach(t.configuration.secondaryLanguages,function(t){n.primaryContactForm.primaryLanguage.language!=t.language&&n.secondaryLanguages.push(t)}):n.secondaryLanguages=n.secondaryLanguages.concat(t.configuration.secondaryLanguages)}var o="premierIncidentCreation",s={selectedContactMethod:o+"SelectedContactMethod",userLanguage:o+"UserLanguage"};h();n.enterStep=function(){n.primaryContactForm.firstName=n.primaryContactForm.firstName||e.getUserInfo().firstName;n.primaryContactForm.lastName=n.primaryContactForm.lastName||e.getUserInfo().lastName;n.primaryContactForm.lastFirstFullName=n.primaryContactForm.lastFirstFullName||e.getUserInfo().lastName+" "+e.getUserInfo().firstName;n.nameLayout&&n.nameLayout=="LastAndFirstAndPronounce"&&(n.primaryContactForm.kana=n.primaryContactForm.kana||e.getUserInfo().lastName+e.getUserInfo().firstName);n.primaryContactForm.firstName;n.userEmail=e.getUserInfo().email;n.primaryContactForm.userPreferedEmail=n.primaryContactForm.userPreferedEmail||n.userEmail};n.exitStep=function(){var i={};i.primaryContact={firstName:n.primaryContactForm.firstName,lastName:n.primaryContactForm.lastName,phoneNumber:n.primaryContactForm.phoneNumber,email:n.primaryContactForm.userPreferedEmail,additionalEmails:n.primaryContactForm.additionalEmails,timeZone:n.primaryContactForm.userTimeZone,primaryLanguage:f.getLang(),secondaryLanguage:n.primaryContactForm.secondaryLanguage?n.primaryContactForm.secondaryLanguage.locale:"",preferredContactMethod:n.primaryContactForm.contactMethod,primaryLanguageDisplay:n.primaryContactForm.primaryLanguage?n.primaryContactForm.primaryLanguage.languageDisplayName:"",secondaryLanguageDisplay:n.secondaryLanguage?n.secondaryLanguage.languageDisplayName:""};n.nameLayout&&(n.nameLayout=="LastFirstFull"?(i.primaryContact.firstName=n.primaryContactForm.lastFirstFullName,i.primaryContact.lastName=n.primaryContactForm.lastFirstFullName):n.nameLayout=="LastAndFirstAndPronounce"&&(i.primaryContact.firstName=n.primaryContactForm.kana,i.primaryContact.lastName=n.primaryContactForm.kanji));t.saveStepResult(i);n.primaryContactForm.contactMethod&&n.$emit(s.selectedContactMethod,n.primaryContactForm.contactMethod.preference);n.primaryContactForm.primaryLanguage&&n.$emit(s.userLanguage,n.primaryContactForm.primaryLanguage.language)};n.isStepComplete=function(){return n.contactForm.$valid};n.refresh=function(){h()};n.$on("CompassContentReady",function(){c()})}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("IncidentCreationController",["$scope","$rootScope","$window","authService","authenticationHelperService","clientConfig","compassFormatFilter","compassService","entitlementsService","messageBannerManagerService",function(n,t,i,r,u,f,e,o,s,h){function l(){var t=o.getCreateIncidentsHub();t&&(n.view=t.content,n.context.view=n.view)}function a(){v()}function v(){n.hasError=!1;n.isAuthorized=!1;s.getEntitlements().then(function(t){if(n.userEntitlements=t,t.isPremier)n.isAuthorized=!0;else{var i=r.getUserInfo().email;h.notifyBanner(c,{type:"warning",title:n.view.noContractFoundAlert.title,body:e(n.view.noContractFoundAlert.body,{"user-email":i})})}},function(){n.hasError=!0;h.notifyBanner(c,{type:"warning",title:n.view.generalServiceErrorAlert.title,body:n.view.generalServiceErrorAlert.body,cv:i.awa.cv.getValue()})})}t.$broadcast("PageContentLoadSuccess");var c="workflowServiceMessageBanner";r.resolveAuthState().then(function(t){var i=r.getSupportedIDP();t===i.MSA||t===i.AAD?(n.$emit("premierLoginTypeStartingNewRequest",t),a()):r.login()});n.context={};l();n.$on("CompassContentReady",function(){l()})}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("IncidentCreationDescriptionStepController",["$scope","$rootScope","$q","$window","stepInstance","productsService","messageBannerManagerService","compassService","clientConfig","fileUploaderService","compassFormatFilter","flightService",function(n,t,i,r,u,f,e,o,s,h){function y(){n.incidentDescriptionAndQuestions={};n.errorMessages={};n.isUploadSucceed=!1;n.uploadMessage=""}function p(){n.fileSelectionError=!1;var t=o.getCreateIncidentsHub();t&&(n.view=t.content,c=t.configuration,n.stepView=n.view.descriptionStepContent,n.stepView&&(n.clientStrings.errorMessages=n.clientStrings.errorMessages||{},n.clientStrings.errorMessages.maxLengthErrorFormat=n.stepView.maxLengthErrorFormat))}function b(t){var i="";return angular.forEach(n.scopingQuestions,function(r){r&&r.name&&t[r.name]&&(i+=n.stepView.questionLabel+" "+r.label+a,i+=n.stepView.answerLabel+" ",(r.controlType=="textBox"||r.controlType=="textArea")&&(i+=t[r.name]),i+=a)}),i}function k(){n.incidentDescriptionAndQuestions=n.incidentDescriptionAndQuestions||{};d();n.maxFileSizeBytes=s.DtmWorkspaceConfiguration.FileUploadMaxBytes;n.maxFileCount=s.DtmWorkspaceConfiguration.FileUploadMaxFiles}function d(){var r=u.getStepResults(),e=[],s=!1,o;r&&r.selectedContract&&(o=g(r.selectedContract),o&&e.push(f.getCustomScopingQuestions(o)));e.length?(n.loadingQuestions=!0,n.hasError=!1,i.all(e).then(function(i){i&&i.length?(n.scopingQuestions=[],angular.forEach(i,function(t){n.scopingQuestions=n.scopingQuestions.concat(t)}),s&&i[0].length&&(n.hasStandardScopingQuestions=!0),t.$broadcast(l.scopingQuestionsDisplayed,!0)):t.$broadcast(l.scopingQuestionsDisplayed,!1)},function(t){n.scopingQuestions=[];nt(t)})["finally"](function(){n.loadingQuestions=!1})):(n.hasStandardScopingQuestions=!1,n.scopingQuestions=[],t.$broadcast(l.scopingQuestionsDisplayed,!1))}function g(t){var i,r;if(t&&n.view&&c&&c.marketServiceScopingQuestions&&c.marketServiceScopingQuestions.questionConfigurations&&c.marketServiceScopingQuestions.questionConfigurations.length)for(i=0;i<c.marketServiceScopingQuestions.questionConfigurations.length;i++)if(r=c.marketServiceScopingQuestions.questionConfigurations[i],r&&r.marketServiceId==t.serviceId)return r.scopingQuestionKey;return""}function nt(){n.hasError=!0;e.notifyBanner(w,{type:"warning",title:n.view.generalServiceErrorAlert.title,body:n.view.generalServiceErrorAlert.body,cv:r.awa.cv.getValue()})}var w="workflowServiceMessageBanner",a="\n",c,v="premierIncidentCreation",l={scopingQuestionsDisplayed:v+"ScopingQuestionsDisplayed",fileAttached:v+"FileAttached",fileMaxSizeError:v+"FileMaxSizeError",fileMaxNumberError:v+"FileMaxNumberError"};n.clientStrings=n.clientStrings||{};p();y();n.$on("CompassContentReady",function(){p()});n.formContainer={};n.submitDescription=function(){u.moveToNext()};n.isStepComplete=function(){return n.formContainer.incidentDescriptionForm&&n.formContainer.incidentDescriptionForm.$valid};n.enterStep=function(){k()};n.exitStep=function(){var t={};t.incidentDescriptionAndQuestions=n.incidentDescriptionAndQuestions;t.incidentDescriptionAndQuestions.formattedDescription="";n.hasStandardScopingQuestions||(t.incidentDescriptionAndQuestions.formattedDescription=n.stepView.questionLabel+" "+n.stepView.generalDescriptionLabel+a,t.incidentDescriptionAndQuestions.formattedDescription+=n.stepView.answerLabel+" "+n.incidentDescriptionAndQuestions.description+a);n.incidentDescriptionAndQuestions.questionsAndUserAnswers&&(t.incidentDescriptionAndQuestions.formattedDescription+=b(n.incidentDescriptionAndQuestions.questionsAndUserAnswers));n.incidentDescriptionAndQuestions&&n.incidentDescriptionAndQuestions.files&&n.incidentDescriptionAndQuestions.files.length?n.$emit(l.fileAttached,!0):n.$emit(l.fileAttached,!1);u.saveStepResult(t)};n.$watch("formContainer.incidentDescriptionForm.files.$valid",function(t){t===!1&&n.formContainer.incidentDescriptionForm.files.$error&&(n.formContainer.incidentDescriptionForm.files.$error.maxFiles&&n.$emit(l.fileMaxNumberError,!0),n.formContainer.incidentDescriptionForm.files.$error.maxSize&&n.$emit(l.fileMaxSizeError,!0))});n.refresh=function(){y()};n.removeFile=function(t){if(n.incidentDescriptionAndQuestions.files&&n.incidentDescriptionAndQuestions.files.length&&n.incidentDescriptionAndQuestions.files.length>0)for(var i=0;i<n.incidentDescriptionAndQuestions.files.length;i++)if(n.incidentDescriptionAndQuestions.files[i].name===t.name){n.incidentDescriptionAndQuestions.files.splice(i,1);break}};n.fileUploadBeforeModelChange=function(t){n.fileSelectionError=h.validateUploadFiles(n.incidentDescriptionAndQuestions.files,t,n.maxFileCount);n.fileSelectionError?(n.isUploadSucceed=!1,n.uploadMessage=""):(n.isUploadSucceed=!0,n.uploadMessage=n.view.fileUploaded)};n.filesChanged=function(){$('[data-toggle="tooltip"]').tooltip()}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("IncidentCreationOptionsStepController",["$scope","$window","stepInstance","osService","entitlementsService","compassService","messageBannerManagerService","flightService","$rootScope",function(n,t,i,r,u,f){function h(){var t=f.getCreateIncidentsHub();t&&(n.view=t.content,n.stepView=n.view.optionStepContent)}function c(){e=null;n.contractForm={};l()}function l(){var t=i.getStepResults();e=null;t&&(t.selectedProduct&&t.selectedProduct.pesId?(n.requestingProductEntitlements=!0,u.getProductEntitlements(t.selectedProduct.pesId).then(function(t){e=t;n.groupedEntitlements=a(e)})["finally"](function(){n.requestingProductEntitlements=!1})):(e=t.userEntitlements,n.groupedEntitlements=a(e)))}function a(t){var i={},r;return t&&t.incidentSubmitContracts&&t.incidentSubmitContracts.length&&(r=!1,angular.forEach(t.incidentSubmitContracts,function(t){if(t&&(!r&&(t===n.contractForm.selected||p(t,n.contractForm.selected))&&(n.contractForm.selected=t,r=!0),t.scheduleId&&t.accessId&&t.clarifyInstallationSiteId)){var u=t.scheduleId+";"+t.clarifyInstallationSiteId;i[u]!=undefined?v(i,u,t):(i[u]={name:t.scheduleName,groupedAccessId:{}},i[u].groupedAccessId[t.accessId]=[t])}}),r||(n.contractForm.selected=null)),i}function v(n,t,i){var r=n[t];r.groupedAccessId[i.accessId]!=undefined?y(r.groupedAccessId[i.accessId],i)||r.groupedAccessId[i.accessId].push(i):r.groupedAccessId[i.accessId]=[i]}function y(n,t){for(var i=0;i<n.length;i++)if(n[i].sku&&n[i].sku.toLowerCase()===t.sku.toLowerCase())return!0;return!1}function p(n,t){return n&&t&&n.accessId==t.accessId&&n.lineItemId==t.lineItemId&&n.clarifyInstallationSiteId==t.clarifyInstallationSiteId?!0:!1}var e,o="premierIncidentCreation",s={selectedEntitlementType:o+"SelectedEntitlementType",savedMarketServiceId:o+"SavedMarketServiceId"};c();h();n.$on("CompassContentReady",function(){h()});n.enterStep=function(){l()};n.refresh=function(){c()};n.exitStep=function(){var t={};t.selectedContract=n.contractForm.selected;i.saveStepResult(t);n.contractForm.selected&&(n.$emit(s.selectedEntitlementType,n.contractForm.selected.contractTypeName),n.$emit(s.savedMarketServiceId,n.contractForm.selected.serviceId))};n.isStepComplete=function(){return e&&e.incidentSubmitContracts&&e.incidentSubmitContracts.length&&n.contractPickerForm&&n.contractPickerForm.$valid};n.isMobile=function(){return r.isMobile()}}])}(angular.module(microsoft.support.moduleName)),function(n){n.constant("sapNodeTypes",{productFamily:"productfamily",productName:"productname",productVersion:"productversion",category:"category"});n.controller("IncidentCreationProductStepController",["$rootScope","$scope","$q","$window","$timeout","$location","entitlementsService","messageBannerManagerService","languageService","productsService","stepInstance","compassService","commercialMessageModalService","$window","pageLoadTimePortalFeatures","flightService","sapService","sapNodeTypes","sessionStorageService",function(n,t,i,r,u,f,e,o,s,h,c,l,a,r,v,y,p,w,b){function ht(){t.servicelevel="premier";t.selectedTree={};t.sapFamilies=[];t.sapProduct={sapId:""};tt=i.defer();rt=!1;t.productName="";t.productPicker={productName:""};t.selectedProduct?t.selectedProduct.selected=null:t.selectedProduct={selected:null};t.hasMatch=!0;t.selectedPrimaryTopic=null;t.selectedSecondaryTopic=null;t.loadingProducts=!0;t.hasBlockingProductDisclaimer=!1;t.supportTopics=[];ni().then()["finally"](function(){t.loadingProducts=!1;et()})}function ct(n,t){return n&&t&&t.name&&n.trim()==t.name.trim()?!0:!1}function lt(n){t.$emit(d.productPicked,{pesId:n.pesId,elementId:"incident-product-picker"});e.getProductEntitlements(n.pesId);at(n.disclaimer,n.pesId)}function at(n,t){var i=null;n&&(i=ii(n.disclaimerContents));i&&ri(i,t)}function ut(n){var f;if(n&&(f=n.type,ft(f),n.tree&&n.tree.length&&n.tree.length>0)){var u=n.tree.filter(function(n){return n.type===w.productName&&ot(n)}),r=n.tree.filter(function(n){return n.type===w.productVersion&&ot(n)}),i=n.tree.filter(function(n){return n.type===w.category&&ot(n)});switch(f){case w.productFamily:if(u&&u.length&&u.length>0){t.selectedTree.productTree=u;break}if(r&&r.length&&r.length>0){t.selectedTree.productVersionTree=r;break}i&&i.length&&i.length>0&&(t.selectedTree.issueCategoryTree=i);break;case w.productName:if(r&&r.length&&r.length>0){t.selectedTree.productVersionTree=r;break}i&&i.length&&i.length>0&&(t.selectedTree.issueCategoryTree=i);break;case w.productVersion:i&&i.length&&i.length>0&&(t.selectedTree.issueCategoryTree=i)}}}function ft(n){if(n)switch(n){case w.productFamily:t.selectedTree.productTree=null;t.selectedTree.productVersionTree=null;t.selectedTree.issueCategoryTree=null;break;case w.productName:t.selectedTree.productVersionTree=null;t.selectedTree.issueCategoryTree=null;break;case w.productVersion:t.selectedTree.issueCategoryTree=null}}function dt(){return e.getProductsDisclaimerCollection().then(function(n){if(n&&n.productDisclaimers&&n.productDisclaimers.length&&n.productDisclaimers.length>0){var i=n.productDisclaimers.filter(function(n){if(n&&n.sapIds&&n.sapIds.length&&n.sapIds.length>0){var i=n.sapIds.filter(function(n){return n===t.sapProduct.sapId});return i&&i.length&&i.length>0}});if(i&&i.length>0)return i[0]}},function(){return null})}function vt(n){n&&(yt(),e.getProductEntitlements(n.id).then(function(i){t.userEntitlements=i;var r=dt().then(function(t){t&&at(t,n.id)})})["finally"](function(){t.userEntitlements&&t.userEntitlements.incidentSubmitContracts&&t.userEntitlements.incidentSubmitContracts.length||(t.userEntitlements=null,o.notifyBanner(g,{type:"warning",title:t.view.productStepContent.productMisMatchEntitlementAlertTitle,body:t.view.productStepContent.productMisMatchEntitlementAlertBody}))}))}function yt(){o.clearBanner(it);o.clearBanner(g);t.userEntitlements=null;t.hasBlockingProductDisclaimer=!1}function gt(n){var i=s.langLocale();p.getTreeByProduct(n.id,i,t.servicelevel,"").then(function(i){i?(n.tree=i,n.type=w.productFamily,ut(n)):(ft(w.productFamily),t.sapProduct.sapId=n.id,vt(n))},function(n){nt(n)})}function ni(){var n=s.langLocale();return p.getProductFamilies(n,t.servicelevel).then(function(n){n&&(t.sapFamilies=n.filter(function(n){var t=!0;return n.serviceLevelAggregate&&n.serviceLevelAggregate.indexOf("premier")===-1&&(t=!1),t}))},function(n){nt(n)})}function ti(n){if(n&&!t.currentSelectedNodeHasChildren){var i=s.langLocale();p.getSelfHelpAssets(n.id,i,kt,1).then(function(t){var u="diagnosticMetadata,"+i+","+n.id,r="";t&&t.length&&t.length>0&&(r=t[0].value);b.set(u,r)})}}function pt(){var n=l.getCreateIncidentsHub();n&&(t.view=n.content,t.stepView=t.view.productStepContent,et())}function et(){t.view&&t.loadingProducts===!1&&(v.portalFeatureLoaded(v.premierCreateIncident),n.$broadcast("PageResourcesDownloaded"))}function wt(){t.hasBlockingProductDisclaimer=!1;t.primarySupportTopics=[];t.selectedPrimaryTopic=null;t.selectedSecondaryTopic=null;o.clearBanner(it);o.clearBanner(g)}function ii(n){var r,i;if(!n||!n.length||n.length<1)return null;for(r=s.langLocale(),i=0;i<n.length;i++)if(n[i].applicableRegion&&n[i].applicableRegion.toLowerCase()===r)return n[i];for(i=0;i<n.length;i++)if(n[i].isPremier&&t.userEntitlements.isPremier)return n[i];for(i=0;i<n.length;i++)if(!n[i].isPremier&&!n[i].applicableRegion)return n[i];return null}function ri(n,i){t.hasBlockingProductDisclaimer=n.disclaimerLevel&&n.disclaimerLevel===st.level.blocking;var r={disclaimerLevel:n.disclaimerLevel,disclaimerBIName:n.disclaimerBIName};r.sapId=i;t.$emit(d.disclaimerDisplayed,r);n.disclaimerLevel!==st.level.popupMessageOnly?o.notifyBanner(it,{type:t.hasBlockingProductDisclaimer?"warning":"info",title:n.name,body:n.body}):ui(n,i)}function ui(n,i){a.showStandardMessageModal({id:n.popupButtonLink.link.htmlId,title:n.name,message:n.body,dismissCaption:n.popupButtonLink.link.linkText,cv:r.awa.cv.getValue()},function(){var u={disclaimerCaption:n.popupButtonLink.link.linkText,disclaimerLevel:n.disclaimerLevel,disclaimerBIName:n.disclaimerBIName};u.sapId=i;t.$emit(d.disclaimerContinueClicked,u);r.location=n.popupButtonLink.link.linkUrl})}function bt(n){var r=[],i;return n&&t.products.length>0&&(n.sort(function(n,t){return t.length-n.length}),i=[],angular.forEach(n,function(n){var t;try{t=new RegExp("("+n+")","i")}catch(r){}t&&i.push(t)}),i.length&&angular.forEach(t.products,function(n){var t=n.name,f,u;if(t){for(f=!0,u=0;u<i.length;u++)if(t&&i[u].test(t))t=t.replace(i[u],"");else{f=!1;break}f&&r.push(n)}})),t.hasMatch=r.length>0,{suggestions:r}}function fi(n){if(n)return n=n.replace(/([\d\.]+)/g,function(n,t){return" "+t+" "}),n=n.trim(),n.split(/[\s]+/);return[]}function ot(n){if(!n)return!1;if(!n.tags)return!0;for(var t=0;t<n.tags.length;t++)if(n.tags[t]&&n.tags[t].toLowerCase()==="noncustomerviewable")return!1;return!0}function nt(){t.hasError=!0;o.notifyBanner(g,{type:"warning",title:t.view.generalServiceErrorAlert.title,body:t.view.generalServiceErrorAlert.body,cv:r.awa.cv.getValue()})}v.portalFeatureBeginLoad(v.premierCreateIncident);var g="workflowServiceMessageBanner",it="productDisclaimerBanner",kt="manifest";t.loadingProducts=!0;var st={level:{blocking:"blocking",messageOnly:"messageOnly",popupMessageOnly:"popupMessageOnly"}},k="premierIncidentCreation",d={productPicked:k+"ProductPicked",productSelectorFocused:k+"ProductSelectorFocused",productAndTopicsSaved:k+"ProductAndTopicsSaved",noSupportTopicOffered:k+"NoSupportTopicOffered",primarySupportTopicPicked:k+"PrimarySupportTopicPicked",secondarySupportTopicPicked:k+"SecondarySupportTopicPicked",productNotFound:k+"ProductNotFound",disclaimerContinueClicked:k+"DisclaimerContinueClicked",disclaimerDisplayed:k+"DisclaimerDisplayed"},tt,rt;ht();pt();t.refresh=function(){ht()};t.$on("CompassContentReady",function(){pt()});t.isStepComplete=function(){return t.userEntitlements&&!t.hasBlockingProductDisclaimer&&!t.currentSelectedNodeHasChildren?!0:!1};t.getCompleteText=function(n){return n.name};t.getSuggestions=function(n){var r=i.defer(),u=fi(n);return u?t.products!=undefined?r.resolve(bt(u)):tt.promise.then(function(){r.resolve(bt(u))}):r.reject("empty query"),r.promise.then(function(i){return i&&i.suggestions&&!i.suggestions.length&&t.$emit(d.productNotFound,n),i})};t.primarySearchClicked=function(){wt();t.selectedProduct&&t.selectedProduct.selected&&ct(t.productPicker.productName,t.selectedProduct.selected)?lt(t.selectedProduct.selected):t.getSuggestions(t.productPicker.productName).then(function(n){n&&n.suggestions&&n.suggestions.length>0?(t.selectedProduct.selected=n.suggestions[0],t.productPicker.productName=n.suggestions[0].name,t.hasMatch=!0,lt(t.selectedProduct.selected)):t.hasMatch=!1},function(){t.hasMatch=!1})};t.$watch("productPicker.productName",function(){t.selectedProduct.selected&&!ct(t.productPicker.productName,t.selectedProduct.selected)&&(wt(),t.selectedProduct.selected=null)});t.inputOnBlur=function(){t.isInputFocused=!1};t.inputOnFocus=function(){t.isInputFocused=!0;t.$emit(d.productSelectorFocused,!0)};t.selectedPrimaryTopic;t.selectedPrimaryTopicGetterSetter=function(n){if(n&&(t.selectedPrimaryTopicId!=n&&t.selectedSecondaryTopic&&(t.selectedSecondaryTopic=null,t.selectedSecondaryTopicId=""),t.selectedPrimaryTopicId=n,t.$emit(d.primarySupportTopicPicked,{primarySupportTopicId:n,elementId:"primary-product-topic"}),t.primarySupportTopics&&t.primarySupportTopics.length))for(var i=0;i<t.primarySupportTopics.length;i++)if(t.primarySupportTopics[i].id==n){t.selectedPrimaryTopic=t.primarySupportTopics[i];h.getDiagnosticMetadata(t.selectedProduct.selected.pesId,t.selectedPrimaryTopic.id);break}return t.selectedPrimaryTopicId};t.selectedSecondaryTopic;t.selectedSecondaryTopicGetterSetter=function(n){if(n){if(t.selectedPrimaryTopic&&t.selectedPrimaryTopic.subtopics&&t.selectedPrimaryTopic.subtopics.length)for(var i=0;i<t.selectedPrimaryTopic.subtopics.length;i++)if(t.selectedPrimaryTopic.subtopics[i].id==n){t.selectedSecondaryTopic=t.selectedPrimaryTopic.subtopics[i];h.getDiagnosticMetadata(t.selectedProduct.selected.pesId,t.selectedSecondaryTopic.id);break}t.$emit(d.secondarySupportTopicPicked,{secondarySupportTopicId:n,elementId:"secondary-product-topic"})}return arguments.length?t.selectedSecondaryTopicId=n:t.selectedSecondaryTopicId};t.exitStep=function(){var u={},r,n={},f={},i="";t.selectedTree.family&&(n.family={id:t.selectedTree.family.id,name:t.selectedTree.family.name},i=t.selectedTree.family.id+"|",r=t.selectedTree.family.id);t.selectedTree.product&&(n.product={id:t.selectedTree.product.id,name:t.selectedTree.product.name},i=i+t.selectedTree.product.id+"|",r=t.selectedTree.product.id,f.pesId=n.product.id,f.name=n.product.name);t.selectedTree.productVersion&&(n.productVersion={id:t.selectedTree.productVersion.id,name:t.selectedTree.productVersion.name},i=i+t.selectedTree.productVersion.id+"|",r=t.selectedTree.productVersion.id,f.pesId=n.productVersion.id,f.name=n.productVersion.name);t.selectedTree.category&&(n.category={id:t.selectedTree.category.id,name:t.selectedTree.category.name},i=i+t.selectedTree.category.id+"|",r=t.selectedTree.category.id);t.selectedTree.subCategory&&(n.subCategory={id:t.selectedTree.subCategory.id,name:t.selectedTree.subCategory.name},i=i+t.selectedTree.subCategory.id,r=t.selectedTree.subCategory.id);u.selectedProduct=f;u.selectedTree=n;u.selectedLeafSapId=r;u.userEntitlements=t.userEntitlements;t.$emit(d.productAndTopicsSaved,i);c.saveStepResult(u)};t.onProductFamilySelected=function(){yt();t.selectedTree.family&&!t.selectedTree.family.tree?gt(t.selectedTree.family):(ft(w.productFamily),ut(t.selectedTree.family))};t.onSapProductSelected=function(n){n&&(t.sapProduct.sapId=n.id,ut(n),t.currentSelectedNodeHasChildren=!!n.tree,n.type!==w.category&&vt(n),ti(n))}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("IncidentCreationSeverityStepController",["$scope","$window","stepInstance","languageService","incidentSeverityService","messageBannerManagerService","compassService","orderByFilter","flightService","$rootScope",function(n,t,i,r,u,f,e,o){function s(){n.severityForm={}}function p(){var t=i.getStepResults(),r=t.selectedProduct,u=t.selectedContract,f;n.severityConfig={};f=t.selectedContract.isoCountryCode;n.severityForm.userRegion=d(f);r&&u&&h(r,u,n.severityForm.userRegion)}function h(t,i,r){n.loadingSeverity=!0;n.hasError=!1;u.getSeverityConfig(t,i,r).then(function(t){n.severityConfig=w(t)},function(n){b(n)})["finally"](function(){n.loadingSeverity=!1})}function c(){var t=e.getCreateIncidentsHub();if(t){n.view=t.content;n.stepView=n.view.severityStepContent;n.stepView.regionLabel=n.view.contactStepContent.regionLabel;var u=n.view.contactStepContent,f=r.langLocale(),i=[];i=u.regionListTwoLeterCodes.regions;n.regionList=k(i,f)}}function w(t){if(t.data&&t.data.severityCollection&&t.data.severityCollection.length){var i=!1,r=t.data.severityCollection;r.sort(function(n,t){return n.metisValue-t.metisValue});angular.forEach(r,function(n){n.sla=n.serviceLevelAgreement;n.value=n.readOnlyOption?{}:{metisValue:n.metisValue,sla:n.serviceLevelAgreement,use24x7Option:typeof n.use24x7Option=="boolean"?n.use24x7Option:!1,label:n.label};i||n.options.length||(i=l(n.value));i||(i=a(n));n.options&&n.options.length&&angular.forEach(n.options,function(t){t.value={metisValue:n.metisValue,sla:n.serviceLevelAgreement,use24x7Option:t.use24x7Option,label:n.label};i||(i=l(t.value));i||(i=a(t))})});i||(n.severityForm.selected=undefined)}return r}function l(t){return n.severityForm.selected&&angular.equals(n.severityForm.selected,t)?(n.severityForm.selected=t,!0):!1}function a(t){return t.defaultSelection&&!n.severityForm.selected?(n.severityForm.selected=t.value,!0):!1}function b(){n.hasError=!0;f.notifyBanner(v,{type:"warning",title:n.view.generalServiceErrorAlert.title,body:n.view.generalServiceErrorAlert.body,cv:t.awa.cv.getValue()})}function k(n,t){var i=[];return n&&n.length>0&&(i=n.filter(function(n){if(n&&n.excludeLocaleList&&n.excludeLocaleList.length)for(var i=0;i<n.excludeLocaleList.length;i++)if(n.excludeLocaleList[i]&&t==n.excludeLocaleList[i].toLowerCase())return!1;return!0}),i=o(i,"displayName")),i}function d(t){if(n.severityForm.userRegion)return n.severityForm.userRegion;if(n.regionList&&n.regionList.length)for(var i=0;i<n.regionList.length;i++)if(t&&t.toLowerCase()==n.regionList[i].isoRegionCode.toLowerCase())return n.regionList[i];return}var v="workflowServiceMessageBanner",y={selectedSeverityValue:"premierIncidentCreationSelectedSeverityValue"};s();c();n.$on("CompassContentReady",function(){c()});n.enterStep=function(){p()};n.exitStep=function(){var t={};t.selectedSeverity=n.severityForm.selected;t.userRegion=n.severityForm.userRegion;i.saveStepResult(t);t.selectedSeverity&&n.$emit(y.selectedSeverityValue,""+t.selectedSeverity.metisValue+t.selectedSeverity.use24x7Option)};n.isStepComplete=function(){return!!n.severityForm.selected&&!angular.equals(n.severityForm.selected,{})};n.refresh=function(){s()};n.updateSeverityOptions=function(){var t=i.getStepResults(),r=t.selectedProduct,u=t.selectedContract;r&&u&&h(r,u,n.severityForm.userRegion)}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("IncidentCreationSubmissionStepController",["$scope","$window","stepInstance","clientConfig","incidentsService","messageBannerManagerService","dateFilter","commercialInfoService","compassService","compassFormatFilter","authService","commercialErrorMapperService","flightService",function(n,t,i,r,u,f,e,o,s,h,c,l){function v(){var t=s.getCreateIncidentsHub();t&&(n.view=t.content,n.stepView=n.view.submitStepContent,n.serviceAgreement=h(n.stepView.acceptAgreementStatementFormat,{"Microsoft-service-link":h(n.stepView.microsoftServiceLinkHtmlFormat,{"service-url":n.stepView.microsoftServiceUrl})}),n.privacyStatement=h(n.stepView.privacyStatementFormat,{"privacy-statement-link":h(n.stepView.privacyStatementLinkHtmlFormat,{"privacy-url":n.stepView.privacyStatementLinkUrl})}))}function p(n){return n&&n.data&&n.data.incidentId}function w(i){n.hasError=!0;var r,u;i.status=="403"?(u=n.view.notAuthorizedAlert.title,r=n.view.notAuthorizedAlert.body):(u=n.view.generalServiceErrorAlert.title,r=l.mapError(i.data.error,n.view.generalServiceErrorAlert.body));f.notifyBanner(a,{type:"warning",title:u,body:r,cv:t.awa.cv.getValue()})}function y(n){i.saveStepResult({createdIncident:n});o.incidentList(null,!0);u.getIncidents();i.moveToNext();i.refreshWorkflowBeforeStep()}var a="workflowServiceMessageBanner";v();n.$on("CompassContentReady",function(){v()});n.enterStep=function(){n.stepResults=i.getStepResults();n.userEmail=n.stepResults.primaryContact.email;n.todayDateInShort=e(new Date,"shortDate")};n.submit=function(){n.isSubmitting=!0;f.clearBanner(a);u.submitIncidentSovereignCloud(n.stepResults).then(function(n){y(n)},function(t){p(t)?y(t.data):(n.isSubmitting=!1,w(t))})};n.showCommonStepNavi=function(){return!1};n.moveToPrev=function(){return t.history.back()};n.moveToNext=function(){return i.moveToNext()};n.hasPrev=function(){return i.hasPrev()};n.hasNext=function(){return i.hasNext()};n.isStepComplete=function(){return!0}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("IncidentCreationSuccessStepController",["$scope","stepInstance","compassFormatFilter","currentLanguageService","compassService",function(n,t,i,r,u){function o(){var t=u.getCreateIncidentsHub();t&&(n.view=t.content,n.stepView=n.view.confirmationStepContent)}var e="premierIncidentCreation",f={newCaseId:e+"NewCaseId",hasDiagnosticLink:e+"HasDiagnosticLink"};o();n.$on("CompassContentReady",function(){o()});n.showCommonStepNavi=function(){return!1};n.enterStep=function(){var e=t.getStepResults(),u=e.createdIncident;u&&(n.header=i(n.stepView.pageTitleFormat,{"incident-id":u.incidentId}),n.trackOnlineLink=i('<a href={incident-url} id="new-incident-url">{link-text}<\/a>',{"incident-url":"/"+r.getLang()+"/commercial/incidents/"+u.incidentId,"link-text":n.stepView.trackIncidentLink.linkText}),n.$emit(f.newCaseId,u.incidentId),u.sdpResponse==200&&u.sdpSessionLaunchUrl?(n.hasDiagnostic=!0,n.sdpSessionLaunchUrl=u.sdpSessionLaunchUrl,n.$emit(f.hasDiagnosticLink,"true")):n.$emit(f.hasDiagnosticLink,"false"))}}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("questionValidators",["compassFormatFilter",function(n){function e(n,t){var i=t.name;switch(i){case"email":n[i]=o;break;case"cidr-edfsmsbl3":n[i]=s;break;default:c(n,t)}}function o(n,t){return i.test(t)}function s(n,t){return r.test(t)}function h(t,i,r){var u=t.substring(10);return u&&(u=parseInt(u,10),u!=NaN&&(i.label=n(i.label,{"0":u}),!r||r.length<=u))?!0:!1}function c(n,i){var r=i.name;r&&r.indexOf("maxLength-")>=0&&(t=!0,n[r]=function(n,t){return h(r,i,t)})}var i=/^.+@.+\..+$/i,r=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g,t=!1,u=2e3,f=200;return{restrict:"A",require:"ngModel",link:function(n,i,r,o){if(n.question&&n.question.validators&&n.question.validators.length&&angular.forEach(n.question.validators,function(n){n&&n.name&&e(o.$validators,n,o.$modelValue)}),!t&&i&&i.length>0){var s=i[0];s.tagName==="TEXTAREA"?o.$validators.textAreaMaxLength=function(n,t){return!t||t.length<=u?!0:!1}:s.tagName==="INPUT"&&(o.$validators.inputBoxMaxLength=function(n,t){return!t||t.length<=f?!0:!1})}}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("aadTokenHelper",["adalAuthenticationService","authService","$q",function(n,t,i){this.createUserFileUrl=function(r){var u=n.getResourceForEndpoint(r);return t.isSignedInMSA()?i.resolve(r):n.acquireToken(u).then(function(n){return r+"?access_token="+n})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("breadcrumbs",["$rootScope","breadcrumbsService",function(n,t){return{restrict:"EA",scope:{},templateUrl:"/PartialViews/Common/Breadcrumbs.html",link:function(i){i.breadcrumbs=t.getBreadcrumbs();n.$on("$viewContentLoaded",function(){i.breadcrumbs=t.getBreadcrumbs()})}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("enterKey",[function(){return function(n,t,i){t.bind("keydown keypress",function(t){t.which===13&&(n.$apply(function(){n.$eval(i.enterKey)}),t.preventDefault())})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.factory("enterKey",["$rootScope","$timeout",function(n,t){return function(i){t(function(){n.$broadcast("enterKey",i)})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("focusOn",[function(){return function(n,t,i){n.$on("focusOn",function(n,r){r===i.focusOn&&t[0].focus()})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.factory("focus",["$rootScope","$timeout",function(n,t){return function(i){t(function(){n.$broadcast("focusOn",i)})}}])}(angular.module(microsoft.support.moduleName)),function(){angular.module(microsoft.support.moduleName).service("modalService",["$q","$templateRequest","$document","$rootScope","$controller","$compile",function(n,t,i,r,u,f){function e(n){return t(n,!0)}this.open=function(t){function v(){s&&(s.$destroy(),s=null);o!=null&&(o.remove(),o=null)}function a(){return l.resolve(!0),o!=null?(o.modal("hide"),v(),!0):!1}var h;if(!t.templateUrl||!t.controller)throw new Error("templateUrl and controller are required.");t.appendTo=t.appendTo||i.find("body").eq(0);t.id=t.id||"modalDialog";var l=n.defer(),c=n.defer(),o=null,s=null;return h={opened:null,closed:l.promise,result:c.promise,close:function(n){c.resolve(n);a()},dismiss:function(n){c.reject(n);a()}},h.opened=e(t.templateUrl).then(function(n){var c=t.scope||r,l,e;s=c.$new();e={};t.controller&&(e.$scope=s,e.modalInstance=h,l=u(t.controller,e));o=angular.element('<div class="modal" role="dialog" tabindex="-1"><\/div>').attr("aria-describedby",t.id);o.append(angular.element('<div class="modal-dialog" role="document"><\/div>').append(angular.element('<div class="modal-content"><\/div>').attr("id",t.id).html(n)));t.appendTo.append(o);f(o)(s);i.on("hidden.bs.modal",function(){h.dismiss("clickoutside")});o.modal("show")}),h}}])}(),function(n){n.directive("modelValueChangeWatcher",[function(){return{restrict:"A",require:"ngModel",scope:{modelChangeCallback:"&"},link:function(n,t,i,r){r.$validators.emptyValidator=function(t){return n.modelChangeCallback({newValue:t}),!0}}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("objectTableApi",[function(){this.joinToken="join:";this.objectByString=function(n,t){var r,i,u;for(t=t.replace(/\[(\w+)\]/g,".$1"),t=t.replace(/^\./,""),r=t.split("."),i=0;i<r.length;++i)if(u=r[i],u in n)n=n[u];else return;return n};this.setObjectProperty=function(n,t,i){var r,u,f,e;for(i=i.replace(/\[(\w+)\]/g,".$1"),i=i.replace(/^\./,""),r=i.split("."),u=n,f=0;f<r.length;f++)if(e=r[f],e in n)u=n,n=n[e];else return;return u&&(u[r[r.length-1]]=t),n};this.getJoinProperty=function(n,t){for(var f,u,e=t.slice(this.joinToken.length).trim().split(","),r=[],i=0;i<e.length;i++)f=this.objectByString(n,e[i]),f&&r.push(f);if(r.length>0){if(r.length==1)return r[0];for(u="",i=0;i<r.length;i++)u+=r[i],i<r.length-1&&(u+=" ");return u}return""}}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("objectTable",["objectTableApi",function(n){return{templateUrl:"/PartialViews/Common/ObjectTable.html",scope:{bindObject:"=",tableConfig:"=",sortFunction:"&",formatFunction:"&",elementChangedFunction:"&"},controller:["$scope","$location","languageService",function(t,i,r){function u(t,i){return i.linkTemplate.replace(/\{[\w.\[\]]+\}/g,function(i){var u=i.substr(1,i.length-2);return u=="langLocale"?r.langLocale():n.objectByString(t,u)})}function f(n){if(t.tableConfig.columns[n]!=null&&t.tableConfig.columns[n].defaultColumn)for(var i=0;i<t.tableConfig.columns.length;i++)i==n?(t.tableConfig.columns[i].style.sortDescending=!t.tableConfig.columns[i].style.sortDescending,t.tableConfig.columns[i].style.active=!0,t.tableConfig.columns[i].style.ascending==!0?(t.tableConfig.columns[i].style.ascending=!1,t.tableConfig.columns[i].style.descending=!0):(t.tableConfig.columns[i].style.ascending=!0,t.tableConfig.columns[i].style.descending=!1)):t.tableConfig.columns[i].style.active=!1}t.getObjectProperty=function(i,r){var u=null;return u=r.propertyName.indexOf(n.joinToken)==0?n.getJoinProperty(i,r.propertyName):n.objectByString(i,r.propertyName),r.format!=null&&r.format.length>0&&t.formatFunction&&(u=t.formatFunction({value:u,format:r.format})),u};t.linkPropertyClicked=function(n,t){return i.url(u(n,t))};t.checkboxPropertyClicked=function(i,r){var u=n.objectByString(i,r.propertyName);n.setObjectProperty(i,!u,r.propertyName);t.elementChangedFunction&&typeof t.elementChangedFunction=="function"&&t.elementChangedFunction({element:i,propName:r.propertyName,oldVal:u,newVal:!u})};t.sortColumn=function(n){f(n);t.sortFunction({sortParams:t.tableConfig.columns[n].style,propertyName:t.tableConfig.columns[n].propertyName})};t.getNumberOfVisibleObject=function(){if(t.bindObject&&t.bindObject.length){var n=0;return angular.forEach(t.bindObject,function(i){t.isObjectVisible(i)&&n++}),n}return 0};t.isObjectVisible=function(n){return n.visible==null||n.visible!=null&&n.visible==!0};t.$watch("tableConfig",function(n){if(n!=null)for(var t=0;t<n.columns.length;t++)n.columns[t].style={sortable:!(n.disableSorting!=="undefined"&&n.disableSorting),ascending:!0,descending:!1,sortDescending:!0,active:n.columns[t].active}})}]}}])}(angular.module(microsoft.support.moduleName)),function(){angular.module(microsoft.support.moduleName).filter("secondsToHours",[function(){return function(n){var t,i;return n<0&&(n=0),t={seconds:n||0,minutes:0,hours:0},n&&n>=60&&(t.hours=Math.floor(n/3600),i=Math.floor(n%3600),t.minutes=Math.floor(i/60),t.seconds=Math.floor(i%60)),t}}])}(),function(){angular.module(microsoft.support.moduleName).directive("accessMessage",["$compile",function(n){return{restrict:"AE",replace:!0,link:function(t,i,r){var u=r.message,f=n("<div>"+u+"<\/div>")(t);i.replaceWith(f)}}}])}(),function(){angular.module(microsoft.support.moduleName).controller("fileExchangeController",["$location","$q","$rootScope","$scope","$window","authService","compassService","compassFormatFilter","fileExchangeService","fileExchangeModalService","fileExchangeTelemetryService","fileService","metatagService","orderByFilter","pageLoadTimePortalFeatures","secondsToHoursFilter",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){function st(){r.isPageLoadInProgress=!0;hi();e.getFileExchangePageView().then(function(n){r.view=n;nt=n.fileSizeUpperLimit;nr(n)}).then(function(){return ki()}).then(function(){return s.getWorkspace(r.workspaceToken)}).then(function(n){if(ci(n.sovereignCloudPolicy,n.supportRequestNumber),ht(n.usage),ct(n.sovereignCloudPolicy,n.isAuthorized),di(n.isAuthorized),r.canViewList)return si(r.id);r.files=[];k();r.isPageLoadInProgress=!1;wi()}).catch(function(n){r.isPageLoadInProgress=!1;n&&(n.status===400?i.$broadcast("404Error",{reason:"Invalid workspace token or id",data:n.data}):i.$broadcast("500Error",{reason:"Exception occured while getting workspace",data:n.data}))})}function ht(n){r.canDelete=n.canDelete;r.canDownload=n.canDownload;r.canUpload=n.canUpload;r.canViewList=n.canViewList;d(c.eventNames.fileExchangeUsage,{canDownload:r.canDownload,canDelete:r.canDelete,canUpload:r.canUpload,canViewList:r.canViewList})}function ct(n,t){r.isAuthorized=t;d(c.eventNames.authorizationCompletion,{sovereignCloudPolicy:n,userState:bi()})}function lt(){return r.selectedIndex===-1}function at(n){var t=r.files[n];t&&t.state&&t.state!==r.config.fileState.error&&(r.selectedIndex=r.selectedIndex===n?-1:n)}function vt(n){if(n)return n.state===r.config.fileState.error}function yt(n){if(n)return n.state===r.config.fileState.pending}function pt(){return r.isAuthenticated&&r.isAuthorized}function wt(n){return angular.isDefined(n)&&n.toLowerCase()===r.view.guestEmail?r.view.guestDisplayName:n}function bt(n){return o(r.view.uploadFailureMessage,{"file.name":n})}function kt(){h.showConnectionErrorMessageBox(r.view,u.awa.cv.getValue())}function dt(n){if(r.deleteFileMessage="",angular.isDefined(n)&&n>-1||(n=r.selectedIndex),n>-1){var t=r.files[n];t&&h.showDeleteFileConfirmModalBox(r.view).then(function(){l.cancelFile(t.fileName,r.id).then(function(){rt(n,t)}).catch(function(i){i.status===404?rt(n,t):(r.deleteFileMessage=t.fileName+" "+r.view.srDeletionFailureMessage,h.showConnectionErrorMessageBox(r.view,u.awa.cv.getValue()))})})}}function rt(n,t){r.deleteFileMessage=t.fileName+" "+r.view.srDeletionSuccessMessage;r.files.splice(n,1);r.selectedIndex=-1;k()}function gt(n){return r.selectedIndex!==-1&&r.selectedIndex===n}function ni(n){r.sortReverse=n!==null&&r.sortByProperty===n?!r.sortReverse:!1;r.sortByProperty=n;r.files=v(r.files,r.sortByProperty,r.sortReverse)}function ti(){f.login()}function ii(n){var u,t,f,e,i;if(r.uploadFileMessages=[],r.numberOfFilesInUploadQueue=r.numberOfFilesInUploadQueue||0,n&&n.length)for(r.numUploadFiles=n.length,u=0;u<r.numUploadFiles;u++)t=n[u],t.size===0?h.showFileZeroModalBox(r.view,t.name):(f=t.size/1073741824,f>nt?h.showFileTooLargeModalBox(r.view,t,nt):(e=ft(),t.fileName=t.name,t.uploadedBy=e||r.view.guestDisplayName,t.updatedOn=new Date,t.fileSizeInBytes=t.size,t.isLocal=!0,oi(t),i=new Date,r.numberOfFilesInUploadQueue++,w[t.name]={total:t.size,current:0,chunks:{}},t.uploadProgressMessage=r.view.waitingMessage,k(),d(c.eventNames.uploadFileRequest,{fileChunkSizeInByte:r.view.clientUploadChunkSize,fileSizeTotalInByte:t.size,startTime:i}),l.uploadFile(t,r.id,!1,r.view.clientUploadChunkSize).then(function(n){tt(n,i)}).catch(function(n){t=b(n.config.data.fileName);n.status==="409"?(r.numberOfFilesInUploadQueue--,h.showAddFileConflictMessageBox(r.view,t.fileName,function(n){t=b(n.fileName);ut(t);r.numberOfFilesInUploadQueue++;k();l.uploadFile(t,r.id,!0,r.view.clientUploadChunkSize).then(function(n){tt(n,i)},function(n){g(n,i)})},function(n){t=b(n.fileName);var i=r.files.indexOf(t);i>=0&&r.files.splice(i,1);k()})):g(n,i)})))}function ri(n){n.state=r.config.fileState.pending;var t=new Date;r.numberOfFilesInUploadQueue++;d(c.eventNames.uploadFileRetryRequest,{fileChunkSizeInByte:r.view.clientUploadChunkSize,fileSizeTotalInByte:n.size,startTime:t});l.retryFile(n,r.id,!1,r.view.clientUploadChunkSize).then(function(n){tt(n,t)},function(i){n=b(i.config.data.fileName);i.status==="409"?(r.numberOfFilesInUploadQueue--,h.showAddFileConflictMessageBox(r.view,n.fileName,function(i){n=b(i.fileName);ut(n);r.numberOfFilesInUploadQueue++;l.uploadFile(n,r.id,!0,r.view.clientUploadChunkSize).then(function(n){tt(n,t)},function(n){g(n,t)})},function(t){n=b(t.fileName);var i=r.files.indexOf(n);i>=0&&r.files.splice(i,1)})):g(i,t)})}function ui(n,t){if(n&&n.promises&&n.promises.length)for(var i=0;i<n.promises.length;i++)n.promises[i].then(null,null,function(i){var e=w[n.fileName].chunks[i.index],s=i.update.loaded-(e?e:0),r,u,f,o;w[n.fileName].current+=s;w[n.fileName].chunks[i.index]=i.update.loaded;r=b(n.fileName);r.uploadStatusInPercentage=Math.round(w[n.fileName].current/w[n.fileName].total*100);u=((new Date).getTime()-t.getTime())/1e3;u>0&&(f=w[n.fileName].current/u,f>0&&(o=w[n.fileName].total-w[n.fileName].current,r.secondsRemaining=Math.round(o/f),fi(r)))})}function fi(n){var t,i,u;n&&n.secondsRemaining&&(t=p(n.secondsRemaining),t.hours>0?(i=t.hours,t.minutes>0&&i++,n.uploadProgressMessage=o(r.view.timeRemainigInHoursMessage,{hours:i})):t.minutes>0?(u=t.minutes,t.seconds>0&&u++,n.uploadProgressMessage=o(r.view.timeRemainigInMinutesMessage,{minutes:u})):n.uploadProgressMessage=o(r.view.timeRemainigMessage,{seconds:t.seconds}))}function tt(n,i){t.all(n.promises).then(function(n){ei(n,i)},function(n){g(n,i)});ui(n,i)}function ei(n,t){var i,u,f;n&&n.length&&n[0].config&&n[0].config.data&&(i=n[0].config.data.name,r.uploadFileMessages.push(i+" "+r.view.srUploadSuccessMessage),u=b(i),u.state=r.config.fileState.complete,u.uploadProgressMessage=r.view.transferCompleteMessage);r.numberOfFilesInUploadQueue--;f=new Date;d(c.eventNames.uploadCompletionSuccess,{wasFileUploadCompleted:!0,uploadTime:t?f.getTime()-t.getTime():null})}function g(n,t){var i=b(n.config.data.fileName);i.state=r.config.fileState.error;r.numberOfFilesInUploadQueue--;r.uploadFileMessages.push(fileName+" "+r.view.srUploadFailureMessage);d(c.eventNames.uploadCompletionSuccess,{wasFileUploadCompleted:!1,uploadTime:t?endTime.getTime()-t.getTime():null,status:n.status})}function oi(n,t){t||(r.files.unshift(n),n.state=r.config.fileState.pending)}function b(n){for(var t=0;t<r.files.length;t++)if(n===r.files[t].fileName)return r.files[t]}function ut(n){for(var i,t=0;t<r.files.length;)i=r.files[t],i.fileName===n.name&&i!==n?r.files.splice(t,1):t++}function ft(){return r.userInfo?r.userInfo.email:""}function k(){var n=r.files?r.files.length:0;r.filesListCountMessage=o(r.view.filesListSectionSubHeader,{count:n})}function si(n){l.getFiles(n).then(function(n){var t=n.data;r.files=gi(t);r.sortByProperty="updatedOn";r.sortBy("updatedOn");r.isPageLoadInProgress=!1;k();y.portalFeatureLoaded(y.portalsOverAll.fileExchange)},function(n){r.isPageLoadInProgress=!1;n&&(n.status===401?(r.serviceRequestFailed=!0,r.serviceCallFailureMessage="UnAuthorized access. please verify provided workspace token or id."):i.$broadcast("500Error",{reason:"Exception occured while getting token",data:n.data}))})}function et(){return!(r.locationChangeByDownload&&r.locationChangeByDownload.value)&&r.numberOfFilesInUploadQueue>0?!0:!1}function hi(){var i=n.search(),t={};angular.forEach(i,function(n,i){t[i.toLowerCase()]=n});r.workspaceToken=t.workspace;r.id=t.wid}function ci(n,t){li(n);vi(t);yi()}function li(n){var t=n?ai(n):null;t&&(r.view.pageTitle=r.view.pageTitle+" "+t)}function ai(n){return r.view.sovereignCloudPageTitleSuffixMapping[n.toLowerCase()]}function vi(n){n&&(r.view.pageTitle=r.view.pageTitle+" "+n)}function yi(){var n=r.view.pageTitle;r.view.metadataPageTitleSuffix&&(n=n+" | "+r.view.metadataPageTitleSuffix);i.$broadcast("UpdateTitle",n)}function d(n,t){r.$emit(n,t)}function pi(){y.portalFeatureBeginLoad(y.portalsOverAll.fileExchange)}function wi(){y.portalFeatureLoaded(y.portalsOverAll.fileExchange);i.$broadcast("PageResourcesDownloaded")}function bi(){return r.isAuthenticated?r.isAuthorized?"authorized":"authenticated":"unauthenticated"}var w,nt;i.$broadcast("PageContentLoadSuccess");pi();r.init=st;r.disableDownloadOrDelete=lt;r.selectFile=at;r.isInErrorState=vt;r.isInPendingState=yt;r.isAuthenticatedAndAuthorized=pt;r.getUploadedBy=wt;r.getFormatedUploadFailureMessage=bt;r.showConnectionErrorMessageBox=kt;r.deleteFile=dt;r.isSelected=gt;r.sortBy=ni;r.login=ti;r.uploadFiles=ii;r.retryUpload=ri;r.workspaceToken;r.id;r.view;r.hiddenAnchorId="hidden-download-anchor";r.uploadFileMessages=[];r.config={fileState:{error:"error",pending:"pending",complete:"complete"},dtmFileStatus:{uploaded:"uploaded",allocated:"allocated",inProgress:"inprogress"}};r.selectedIndex=-1;r.numberOfFilesInUploadQueue=0;r.locationChangeByDownload={value:!1};r.waitingOnCompass;r.isAuthenticated=null;r.isAuthorized=!1;w={};nt=100;u.onbeforeunload=function(n){if(et())return n=n||window.event,n&&(n.returnValue=r.view.closeWindowConfirmModalBox.title),r.view.closeWindowConfirmModalBox.title;r.locationChangeByDownload.value=!1};r.$on("FileExchangePageLoadTimeout",function(){r.waitingOnCompass=!1;i.$broadcast("500Error",{reason:"Timeout occurred on a file exchange page load",data:{}})});var ki=function(){return r.isAuthenticated=null,r.isAuthorized=!1,f.resolveAuthState().then(function(n){var t=f.getSupportedIDP();n===t.MSA||n===t.AAD?(r.isAuthenticated=!0,r.userInfo=f.getUserInfo()):r.isAuthenticated=!1},function(){r.isAuthenticated=null})},di=function(n){var t=o(r.view.limitedAccessMessage,{"add.files":ot(),"user.name":it()}),u=o(r.view.limitedAccessWorkspaceClosedMessage,{"user.name":it()}),f=o(r.view.getStartedWorkspaceClosedMessage,{"user.name":it()}),i=o(r.view.getStartedMessage,{"add.files":ot(),"user.name":it()});r.accessMessage=n?i:t},it=function(){var n="";return r.userInfo&&r.userInfo.displayName&&(n+=r.userInfo.displayName,r.userInfo.email&&(n+=" ("+r.userInfo.email+")")),n},ot=function(){return o(r.view.addFilesLinkFormat,{"add.file.action":"action()","add.file.display.text":r.view.addFileDisplayText})},gi=function(n){var t=[];return n&&angular.forEach(n,function(n){var i=n.fileStatus.toLowerCase()===r.config.dtmFileStatus.uploaded;(i||n.uploadedBy.toLowerCase()===ft())&&(n.state=i?r.config.fileState.complete:r.config.fileState.error,t.push(n))}),t},nr=function(n){var t,u;n&&n.metaTagsList&&n.metaTagsList.metaTags&&(t=a.fetchMetaTags(n.metaTagsList.metaTags),t&&(u=t.metaTagTitle||r.pageTitle,u&&i.$broadcast("UpdateTitle",u),t.pageMetaTags&&i.$broadcast("AddMetaTags",t.pageMetaTags)))},tr=function(t){if(!et()){r.locationChangeByDownload.value=!1;return}var i=n.path();h.showCloseWindowConfirmModalBox(r.view).then(function(){ir();n.path(i)});t.preventDefault();return},ir=i.$on("$locationChangeStart",tr);r.init()}])}(),function(){"use strict";function n(n,t){function r(n){var i={isAuthorized:!1,isClosed:!1,sovereignCloudPolicy:f(n),supportRequestNumber:u(n),usage:{canDownload:!1,canDelete:!1,canUpload:!1,canViewList:!1}};return t.getAccessToken().then(function(n){return o(i,n.usage),e(i),i})}function u(n){return t.getSupportRequestNumber(n)}function f(n){return t.getDtmSovereignCloudPolicy(n)}function e(n){n.isAuthorized=n.usage.canViewList}function o(n,t){t&&(n.usage.canDownload=t.indexOf("Read")>-1,n.usage.canViewList=t.indexOf("List")>-1,n.usage.canDelete=t.indexOf("Delete")>-1,n.usage.canUpload=t.indexOf("Write")>-1)}var i={active:1,closed:2};return{getWorkspace:r}}angular.module("smc.core").factory("fileExchangeService",n);n.$inject=["$q","dtmTokenHelper","fileUploaderService"]}(),function(){angular.module(microsoft.support.moduleName).directive("fileExchangeDownload",["fileService",function(n){return{restrict:"A",scope:{selectedIndex:"@",files:"=",errorState:"@",wid:"@",showErrorMessage:"&",locationChangeByDownload:"="},link:function(t,i,r){i.bind("click",function(){if(t.selectedIndex>-1){var i=t.files[t.selectedIndex];i.state!==t.errorState&&n.getDownloadFilePath(i.fileName,t.wid).then(function(n){t.locationChangeByDownload.value=!0;var i=$("#"+r.downloadAnchorId);i.attr({href:n,target:"_self"})[0].click()},function(){t.showErrorMessage()})}})}}}])}(),function(){angular.module(microsoft.support.moduleName).service("fileExchangeModalService",["$uibModal","compassFormatFilter",function(n,t){this.showStandardMessageModal=function(t,i,r){var u=n.open({templateUrl:"/PartialViews/FileExchange/fileExchangeConfirmationModal.html",backdropClass:"smc-modal-backdrop",resolve:{displayContent:function(){return t}},controller:["$scope","$uibModalInstance","displayContent",function(n,t,i){n.view=i;n.confirm=function(){t.close()};n.cancel=function(){t.dismiss()}}]});return u.result.then(function(){if(typeof i=="function")return i(t)},function(){typeof r=="function"&&r(t)}),u.result};this.showAddFileConflictMessageBox=function(n,i,r,u){var f=t(n.fileAlreadyExistModalBox.description,{"file-name":i});return this.showStandardMessageModal({title:n.fileAlreadyExistModalBox.title,description:f,confirmButton:n.fileAlreadyExistModalBox.confirmButtonText,cancelButton:n.fileAlreadyExistModalBox.cancelButtonText,hideCancel:!1,fileName:i},r,u)};this.showCloseWindowConfirmModalBox=function(n,t,i){return this.showStandardMessageModal({title:n.closeWindowConfirmModalBox.title,description:n.closeWindowConfirmModalBox.description,confirmButton:n.closeWindowConfirmModalBox.confirmButtonText,cancelButton:n.closeWindowConfirmModalBox.cancelButtonText,hideCancel:!1},t,i)};this.showDeleteFileConfirmModalBox=function(n){return this.showStandardMessageModal({title:n.deleteFileConfirmModalBox.title,description:n.deleteFileConfirmModalBox.description,confirmButton:n.deleteFileConfirmModalBox.confirmButtonText,cancelButton:n.deleteFileConfirmModalBox.cancelButtonText,hideCancel:!1})};this.showFileZeroModalBox=function(n,i){var r=t(n.fileZeroModalBox.description,{"file-name":i});return this.showStandardMessageModal({title:n.fileZeroModalBox.title,description:r,confirmButton:n.fileZeroModalBox.confirmButtonText,hideCancel:!0})};this.showFileTooLargeModalBox=function(n,i,r){var u=t(n.fileTooLargeModalBox.description,{"file-name":i.name,"file-size":i.size,"max-size":r});return this.showStandardMessageModal({title:n.fileTooLargeModalBox.title,description:u,confirmButton:n.fileTooLargeModalBox.confirmButtonText,hideCancel:!0})};this.showConnectionErrorMessageBox=function(n,t){return this.showStandardMessageModal({title:n.connectionErrorModalBox.title,description:n.connectionErrorModalBox.description,confirmButton:n.connectionErrorModalBox.confirmButtonText,hideCancel:!0,cv:t,showCV:!0,cvPrefix:n.cVPrefix})}}])}(),function(){angular.module(microsoft.support.moduleName).filter("sizeFormatFilter",["compassFormatFilter","numberFilter",function(n,t){return function(i,r){var f=i,u;return isNaN(i)&&(i=0),i/=1024,u=t(Math.ceil(i)),n(r,{"file.size":u})}}])}(),function(n){n.controller("LifecycleController",["$scope","$rootScope","$route","locationService","compassService","compassFormatFilter","metatagService","lifecycleService","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e,o,s){function h(i){if(i&&i.lifecycleTopics){if(n.categories=i.lifecycleTopics,n.categoryParam=i.lifecycleTopics[0].sectionId,i.lifecycleTopicsTitle=i.lifecycleTopicsTitle,i.policyDisclaimerText=f(i.heroSection.policyDisclaimerStatementFormat,{"policy-disclaimer-link-html":f(i.heroSection.policyDisclaimerAnchorFormat,{"policy-disclaimer-url":i.heroSection.policyDisclaimerLink})}),n.homePageView=i,i&&i.metaTagsList&&i.metaTagsList.metaTags){var r=e.fetchMetaTags(i.metaTagsList.metaTags);r&&l(r)}s.portalFeatureLoaded(s.portalsOverAll.lifecycle);t.$broadcast("PageResourcesDownloaded")}}function c(){var i=[];o.getSortedProductsList().then(function(t){for(var u,f="A".charCodeAt(0),r=0;r<26;r++)u={},u.key=String.fromCharCode(f+r),u.productList=t[r].ProductList,u.hasProductList=t[r].ProductList.length>0,i.push(u);i.push({key:n.homePageView.lifecycleIndex.other,productList:t[26].ProductList,hasProductList:t[26].ProductList.length>0});n.sortedProductList=i},function(n){t.$broadcast("500Error",{reason:"Error occurred on a lifecycle index page load while getting sorted product list",data:n})})}t.$broadcast("PageContentLoadSuccess");n.waitingOnCompass=!0;s.portalFeatureBeginLoad(s.portalsOverAll.lifecycle);n.$on("$routeChangeSuccess",function(){n.isLifeSelectIndex=i.current.data&&i.current.data.isLifeSelectIndex==!0;u.getlifecycleHomepageView().then(function(t){h(t);n.waitingOnCompass=!1;n.isLifeSelectIndex&&c()})});var l=function(n){n.metaTagTitle&&t.$broadcast("UpdateTitle",n.metaTagTitle);n.pageMetaTags&&t.$broadcast("AddMetaTags",n.pageMetaTags)};n.scrollTo=function(n){r.scrollTo(n)};n.$on("LifecycleLandingPageLoadTimeout",function(){t.$broadcast("500Error",{reason:"Timeout occurred on a lifecycle landing page load",data:{}})})}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("LifecycleSearchController",["$filter","$httpParamSerializerJQLike","$location","$q","$rootScope","$routeParams","$scope","$timeout","compassFormatFilter","compassService","lifecycleService","metatagService","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e,o,s,h,c,l,a){function g(n){if(!e.serviceRequestFailedOrTimedOut&&n)if(n.length>0){e.searchResults=n;e.sortByProperty="Name";e.sortReverse=!1;e.displayNoResultsMessage=!1;var i=c.getSearchParams(e.searchCriteria,!0),r=JSON.stringify(i),u=t(r);e.exportLink="/api/lifecycle/GetProductsLifecycle?query"+u}else e.displayNoResultsMessage=!0}function y(){e.serviceRequestFailedOrTimedOut=!0}function w(t){var i=[],r;return e.products&&t&&(t=t.trim(),t=t.replace(/\)/g,"\\)"),t=t.replace(/\(/g,"\\("),r=t.split(/[\s]+/),angular.forEach(e.products,function(n){var u,f,t,e;if(n.Name){for(u=n.Name,f=!0,t=0;t<r.length;t++)if(e=new RegExp("("+r[t]+")","i"),e.test(u))u=u.replace(r[t],"");else{f=!1;break}f&&i.push(n)}})),i=n("limitTo")(i,10),{suggestions:i}}function nt(){c.getProductsList().then(function(n){v.resolve();e.products=n},function(n){v.reject();y(n)})}var v,d,p,b,k;u.$broadcast("PageContentLoadSuccess");v=r.defer();d=!1;a.portalFeatureBeginLoad(a.portalsOverAll.lifecycleSearch);e.search=function(n){var t=p();t&&(n?(e.searchRequest=c.getProductsLifecycle(e.searchCriteria).then(g,y),u.$broadcast("LifecycleSearch",{searchCriteria:e.searchCriteria,searchByProductName:e.displayProductNameInFilter})):i.url(c.getSearchResultsUrl(e.searchCriteria)))};p=function(){var n=!1,t;return e.searchCriteria.gdsId&&e.searchCriteria.gdsId!=""?n=!0:!n&&e.searchCriteria.selectedTimeRange.configValue&&e.searchCriteria.selectedTimeRange.configValue!="0"?n=!0:n||(t=c.getProductNamesFromCriteria(e.searchCriteria),t&&t.length>0&&(n=!0)),n};e.addQuery=function(){e.searchCriteria.productNames.push({productName:""});o(function(){var n=document.getElementsByName("lifecycleProductPicker"),t=n[n.length-1];t.focus()})};e.removeQuery=function(n){e.searchCriteria.productNames.length>1&&e.searchCriteria.productNames.splice(n,1)};e.getCompleteText=function(n){return n.Name};e.getSuggestions=function(n){var t=r.defer();return n?e.products!=undefined?t.resolve(w(n)):v.promise.then(function(){t.resolve(w(n))}):t.reject("empty query"),t.promise};e.changeSearchType=function(n){e.displayProductNameInFilter=n.configValue=="0"?!0:!1;e.selectedSearchCategory=n;e.searchCriteria={productNames:[{productName:""}],selectedTimeRange:e.searchPageView.selectTimeRangeCriteriaValues[0]}};e.reset=function(){var r,n,t,o;e.waitingOnCompass=!0;e.searchResults=[];e.searchCriteria={productNames:[],selectedTimeRange:{}};e.searchPageView={};e.displayNoResultsMessage=!1;e.serviceRequestFailedOrTimedOut=!1;e.displayProductNameInFilter=!0;e.selectedSearchCategory={};r=i.search();n={};angular.forEach(r,function(t,i){n[i.toLowerCase()]=t});t=n.p1||n.c2||f.gdsId;n.alpha?(o=n.alpha.split(","),angular.forEach(o,function(n){n&&e.searchCriteria.productNames.length<3&&(n=n.replace(/\\\"/g,'"'),e.searchCriteria.productNames.push({productName:n}))})):e.searchCriteria.productNames.push({productName:""});t&&(e.searchCriteria.gdsId=t);nt();h.getlifecycleSearchPageView().then(function(t){if(t){if(t.metaTagsList&&t.metaTagsList.metaTags){var i=l.fetchMetaTags(t.metaTagsList.metaTags);i&&k(i)}e.searchPageView=t;e.waitingOnCompass=!1;b(n.ts);(e.searchCriteria.gdsId||n.alpha||n.ts)&&e.search(!0);a.portalFeatureLoaded(a.portalsOverAll.lifecycleSearch);u.$broadcast("PageResourcesDownloaded")}})};b=function(n){if(n)for(var t=0,i=e.searchPageView.selectTimeRangeCriteriaValues.length;t<i;t++)if(e.searchPageView.selectTimeRangeCriteriaValues[t]&&e.searchPageView.selectTimeRangeCriteriaValues[t].configValue===n){e.searchCriteria.selectedTimeRange=e.searchPageView.selectTimeRangeCriteriaValues[t];e.selectedSearchCategory=e.searchPageView.searchCategories[1];e.displayProductNameInFilter=!1;return}e.selectedSearchCategory=e.searchPageView.searchCategories[0];e.searchCriteria.selectedTimeRange=e.searchPageView.selectTimeRangeCriteriaValues[0]};k=function(n){n.metaTagTitle&&u.$broadcast("UpdateTitle",n.metaTagTitle);n.pageMetaTags&&u.$broadcast("AddMetaTags",n.pageMetaTags)};e.sortBy=function(n){e.sortReverse=n!==null&&e.sortByProperty===n?!e.sortReverse:!1;e.sortByProperty=n};e.$on("LifecycleSearchPageLoadTimeout",function(){u.$broadcast("500Error",{reason:"Timeout occurred on a lifecycle search page",data:{}})});e.$on("LifecycleSearchRequestTimeout",function(){y()})}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("lifecycleService",["$http","languageService",function(n,t){this.getProductsLifecycle=function(t,i){var r=this.getSearchParams(t,i),u=JSON.stringify(r);return n.get("/api/lifecycle/GetProductsLifecycle",{params:{query:u},httpAppOptions:{qosOperation:{name:"LifecycleAPI.GetProductsLifecycle",description:"Get products lifecyle"}}}).then(function(n){return n.data})};this.getProductsList=function(){return n.get("/api/lifecycle/GetProductsList",{httpAppOptions:{qosOperation:{name:"LifecycleAPI.GetProductsList",description:"Get product list with limited properties id and name"}}}).then(function(n){return n.data})};this.getSearchResultsUrl=function(n){var u="/"+t.langLocale()+"/lifecycle/search",i="",f,r;return(n&&(f=this.getProductNamesFromCriteria(n),r=f.join(","),r?i="?alpha="+r:n.selectedTimeRange&&(i="?ts="+encodeURIComponent(n.selectedTimeRange.configValue))),i!=="")?u+i:u};this.getSortedProductsList=function(){return n.get("/api/lifecycle/GetSortedProductsListByIndex",{httpAppOptions:{qosOperation:{name:"LifecycleAPI.GetSortedProductsListByIndex",description:"Get sorted product list"}}}).then(function(n){return n.data})};this.getProductNamesFromCriteria=function(n){var t=[];return angular.forEach(n.productNames,function(n){if(n&&n.productName&&n.productName!==""){var i=n.productName;i.indexOf(",")!==-1&&(i=i.replace(/,/g," "));i.indexOf("  ")!==-1&&(i=i.replace(/\s\s+/g," "));i.indexOf('"')!==-1&&(i=i.replace(/"/g,'\\"'));t.push(encodeURIComponent(i))}}),t};this.getSearchParams=function(n,t){return{names:this.getProductNamesFromCriteria(n),years:n.selectedTimeRange.configValue,gdsId:n.gdsId||0,"export":angular.isDefined(t)?t:!1}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("VerifymeController",["$scope","$rootScope","authService","compassFormatFilter","compassService","metatagService","verifymeService",function(n,t,i,r,u,f,e){function o(){u.getVerifyMePageView().then(function(t){if(n.view=t,n.waitingOnCompass=!1,n.isAuthenticated=null,i.resolveAuthState().then(function(t){var r=i.getSupportedIDP();t===r.MSA?h():n.isAuthenticated=!1},function(){n.isAuthenticated=null}),t&&t.metaTagsList&&t.metaTagsList.metaTags){var r=f.fetchMetaTags(t.metaTagsList.metaTags);r&&s(r)}})}function h(){n.isAuthenticated=!0;c()}function c(){n.isGetCodeRequestInProgress=!0;n.getVerifymeCodeRequest=e.getVerifymeCode().then(function(t){t&&n.view&&(n.view.formatedMessageWithCode=r(n.view.codeWithFormatedText,{"verify-me-code":t.generatedCode}))},function(n){t.$broadcast("500Error",{reason:"Error occurred on a retrieving code from servicedesk",data:n})})["finally"](function(){n.isGetCodeRequestInProgress=!1})}t.$broadcast("PageContentLoadSuccess");var s=function(n){n.metaTagTitle&&t.$broadcast("UpdateTitle",n.metaTagTitle);n.pageMetaTags&&t.$broadcast("AddMetaTags",n.pageMetaTags)};n.signIn=function(){var n=i.getSupportedIDP();i.loginUsingAccountType(n.MSA)};n.reset=function(){n.waitingOnCompass=!0;n.isAuthenticated=null;n.isGetCodeRequestInProgress=null;o()};n.$on("verifymePageLoadTimeout",function(){t.$broadcast("500Error",{reason:"Timeout occurred on a verify page load",data:{}})});n.reset()}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("verifymeService",["$http","flightService",function(n,t){this.getVerifymeCode=function(){var u=t.isUserInFlight("sps-sdverifyme-1"),i="/api/verifyme/getcode",r;return u&&(i="/api/servicedesk/fortification/verifyme/code"),r={name:"verifymeAPI.getcode",description:"Get code for verifyme"},n.get(i,{httpAppOptions:{qosOperation:r}}).then(function(n){return n.data})}}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("FreController",["$location","$rootScope","$route","$routeParams","$scope","compassService","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e){t.$broadcast("PageContentLoadSuccess");e.portalFeatureBeginLoad(e.portalsOverAll.fre);u.reset=function(){f.getFrePage(r.productId).then(function(n){u.fre=n;u.fre&&(e.portalFeatureLoaded(e.portalsOverAll.fre),t.$broadcast("PageResourcesDownloaded"))})};u.reset()}])}(angular.module(microsoft.support.moduleName)),function(n){n.constant("VAFlowID","smc-home-hero");n.controller("HomeHeroController",["$scope","$rootScope","$location","$window","$log","languageService","compassService","autoSuggestFactory","virtualAgentLinkService","VAFlowID","getHelpRedirectionService","flightService",function(n,t,i,r,u,f,e,o,s,h,c){t.$broadcast("PageContentLoadSuccess");n.langTreatmentBool=[];var a=o,l=function(){n.formData={};var t=e.getHeroView();t&&(n.heroSectionData=t,n.heroSectionData.commonHero&&(n.commonHeroTitle=n.heroSectionData.commonHero.title,n.commonHeroImage=n.heroSectionData.commonHero.heroImage!==null?n.heroSectionData.commonHero.heroImage.url:"",n.commonHeroImageAltText=n.heroSectionData.commonHero.altText),n.heroSectionData.heroHomeT1&&(n.showGetHelpOption=c.canRedirectToGetHelpApp(),n.showGetHelpOption?(n.getHelpDesc=n.heroSectionData.heroHomeT1.getHelpDescription,n.heroSectionData.heroHomeT1.getHelp&&(n.buttonText=n.heroSectionData.heroHomeT1.getHelp.linkText,n.buttonId=n.heroSectionData.heroHomeT1.getHelp.htmlId),n.altDesc=n.heroSectionData.heroHomeT1.getHelpAltDescription,n.heroSectionData.heroHomeT1.getHelpAlt&&(n.altText=n.heroSectionData.heroHomeT1.getHelpAlt.linkText,n.altId=n.heroSectionData.heroHomeT1.getHelpAlt.htmlId)):(n.vaDesc=n.heroSectionData.heroHomeT1.vADescription,n.heroSectionData.heroHomeT1.contactUs&&(n.buttonText=n.heroSectionData.heroHomeT1.contactUs.linkText,n.url=r.location.origin+n.heroSectionData.heroHomeT1.contactUs.linkUrl,n.buttonId=n.heroSectionData.heroHomeT1.contactUs.htmlId,n.linkTextOverride=n.heroSectionData.heroHomeT1.contactUs.linkTextOverride))),n.heroSectionData.heroHomeT2&&(n.searchPlaceholder=n.heroSectionData.heroHomeT2.searchPlaceholder,n.searchLabel=n.heroSectionData.heroHomeT2.searchLabel))};n.openVA=function(){s.openPopup({flowId:h})};n.launchGetHelpApp=function(){c.redirectToGetHelpApp("smcghredirect")};n.primarySearchClicked=function(){if(n.formData.userQuery){n.$emit("SearchPrimaryClicked",{Location:"Primary",SearchString:n.formData.userQuery});var t="/"+f.langLocale()+"/search?query="+encodeURIComponent(n.formData.userQuery);r.location.href=t}};n.getCompleteText=function(n){return n.CompletionText.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/'/g,"&quot;")};n.getSuggestions=function(n){return a.getSuggestions(n,"home-hero-suggest")};n.generateSuggestionHtml=function(n,t){return n!==undefined&&t!==undefined?(n=n.toLowerCase(),!n.length)?t:(n+=n==="b"?" ":"",t="<b>"+t.toLowerCase()+"<\/b>",t.replace(n,"<\/b>"+n+"<b>")):""};n.reset=function(){n.formData={};n.formData.userQuery=i.search().query||"";n.formData.userQuery=decodeURIComponent(n.userQuery);l()};n.$on("CompassContentReady",function(){l()});n.reset()}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("LinkFarmController",["$rootScope","$scope","compassService",function(n,t,i){function r(){var n=i.getLinkFarm();n&&(t.view=n)}t.reset=function(){r()};t.reset();t.$on("CompassContentReady",function(){r()})}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("AllProductsController",["$scope","$rootScope","$window","compassService","languageService","pageLoadTimePortalFeatures",function(n,t,i,r,u,f){function e(){var i=r.getAllProducts();i&&(n.allProducts=i,f.portalFeatureLoaded(f.portalsOverAll.allProducts),o(n.allProducts.pageTitle),t.$broadcast("PageResourcesDownloaded"),n.allProducts.productCategories=n.allProducts.productCategories.filter(function(n){return n.links=n.links.filter(function(n){return n.linkUrl!==""&&n.linkUrl!=="tbd"&&n.linkText!==""}),n.links.length>0}))}function o(n){n&&t.$broadcast("UpdateTitle",n)}t.$broadcast("PageContentLoadSuccess");f.portalFeatureBeginLoad(f.portalsOverAll.allProducts);n.reset=function(){e();n.showColumns=[]};n.showMore=function(t){n.showColumns[t]=!0};n.showLess=function(t){n.showColumns[t]=!1};n.display=function(t,i,r){return r<t.collapseCount||n.showColumns[i]?!0:!1};n.isExternal=function(n){return i&&i.location&&i.location.origin&&typeof n=="string"&&!(n.indexOf(i.location.origin)>0||n.indexOf("://")==-1)};n.$on("CompassContentReady",function(){e()});n.reset()}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("ProductListController",["$rootScope","$scope","$location","$window","$log","clientConfig","languageService","compassService","contentApiService","flightService","productPagesService","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e,o,s,h,c,l){var a=function(){var u,i,r,f;if(t.productLimit=12,u=o.getProductView(),u){if(t.view=u,i=u,i.products&&i.products.length>0){for(r=0;r<i.products.length;r++)i.products[r].subversions.length>0&&(f=c.checkProductforOSDetection(i.products[r]),i.products[r].pageUrl.linkUrl=f,i.products[r].url=f);t.view=i}l.portalFeatureLoaded(l.portalFeatureName);n.$broadcast("PageResourcesDownloaded")}};t.followLink=function(n){if(!n||!n.url)return u.error("Invalid Link: ",n);var t=n.url;c.checkUrlandFollowPath(t)};t.reset=function(){a()};t.$on("CompassContentReady",function(){a()});t.reset()}])}(angular.module(microsoft.support.moduleName)),function(n){n.controller("ProductModalController",["$rootScope","$scope","$log","$uibModal","compassService","contentApiService","currentProduct",function(n,t,i,r,u,f,e){var o,h,s;if(t.config={},o=e.product,t.isAccessory=e.isAccessory,!o||!o.productItem||!o.productItem.url)return i.error("Invalid Link: ",o);h=o.productItem.url;s=u.getProductDetails(h);s&&(t.modalProductView=s);t.close=function(){t.$close(t.config)};t.cancel=function(){t.$dismiss("cancel")};t.assets={}}])}(angular.module(microsoft.support.moduleName));angular.module(microsoft.support.moduleName).directive("paginator",["$document","compassService",function(n){return{restrict:"A",require:"ngModel",templateUrl:"/PartialViews/Search/Paginator.html",scope:{maxCount:"=",view:"="},link:function(t,i,r,u){function e(n){var o,i,e,u;for(t.lastPage=!1,o=n<f+1?1:n-f,i=n+f,i>t.maxCount/r.itemsPerPage&&(i=Math.ceil(t.maxCount/r.itemsPerPage),t.lastPage=n==i),e=[],u=o;u<=i;++u)e.push(u);return e}var f=4;t.ngModel=u;t.lastPage=!1;t.selectPage=function(i){u.$setViewValue(i);t.pages=e(i);n[0]&&n[0].activeElement&&n[0].activeElement.blur()};t.$watch("maxCount",function(){t.selectPage(u.$viewValue||1)})}}}]),function(n){n.constant("SearchResultsPerPage",10);n.controller("SearchResultsController",["$scope","$rootScope","$routeParams","$window","osService","metaTagsService","searchResultsService","compassService","clientConfig","locationService","SearchResultsPerPage","pageLoadTimePortalFeatures",function(n,t,i,r,u,f,e,o,s,h,c,l){function v(){if(n.userQuery.length){n.results=[];n.answer=null;n.isSearching=!0;var t={query:n.userQuery,queryChannel:"search",page:n.currentPage};f.addOrUpdateMetaTag("awa-srchtype","searchbox");f.addOrUpdateMetaTag("awa-srchq",n.userQuery);e.fetchResults(t).then(y,p)}}function y(i){n.count=i.totalCount;n.results=i.results;n.answer=i.instantAnswer;n.isSearching=!1;u.isMobile()&&h.scrollTo("search-results-container");f.addOrUpdateMetaTag("awa-pgidx",n.currentPage);t.$broadcast("PageContentLoadSuccess");l.portalFeatureLoaded(l.portalsOverAll.search);t.$broadcast("PageResourcesDownloaded")}function p(){f.addOrUpdateMetaTag("awa-pgidx","Null Results");t.$broadcast("PageContentLoadFailed",{asst:"s.serp"});n.isSearching=!1}function a(){var t=o.getSearchResultsView();t&&(n.view=t)}l.portalFeatureBeginLoad(l.portalsOverAll.search);n.reset=function(){n.userQuery=i.query||"";n.userQuery=encodeURIComponent(n.userQuery);n.userQuery=decodeURIComponent(n.userQuery);n.currentPage=1;n.results=[];n.answer=null;n.isSearching=!1;n.devicesEnabled=s.SearchConfig.DeviceRefinementEnabled;a()};n.calculateAbsolutePosition=function(n,t){return(t-1)*c+n};n.generalSearch=function(){r.location.href=n.view.generalSearchLink.linkUrl.replace("{0}",encodeURIComponent(n.userQuery))};n.$watch("currentPage",function(){v()});n.$on("SearchResultsTimeout",function(){n.isSearching=!1});n.$on("CompassContentReady",function(){a()});n.reset()}])}(angular.module(microsoft.support.moduleName)),function(n){n.directive("smcSearchResult",[function(){return{restrict:"A",templateUrl:"/PartialViews/Search/SearchResult.html",scope:{result:"=smcSearchResult",id:"=",size:"=?",target:"=?",showLink:"=?",focusIndex:"="},link:function(n){n.size=n.size||"medium";n.target=n.target||"_self";n.selectResult=function(){n.pingbackUrl=n.result.pingbackUrl}}}}])}(angular.module(microsoft.support.moduleName)),function(n){n.run(["commercialTelemetryService",function(){}])}(angular.module(microsoft.support.moduleName)),function(n){n.service("commercialTelemetryService",["$rootScope","clientTelemetryService","$window",function(n,t,i){var u="premierIncidentCreation",f="premierLoginTypeAtLandingPage",e="premierLoginTypeOnSubmitClick",o="premierLoginTypeStartingNewRequest",s=this,r={incidentCreation:{productSelectorFocused:u+"ProductSelectorFocused",productPicked:u+"ProductPicked",noSupportTopicOffered:u+"NoSupportTopicOffered",primarySupportTopicPicked:u+"PrimarySupportTopicPicked",secondarySupportTopicPicked:u+"SecondarySupportTopicPicked",productAndTopicsSaved:u+"ProductAndTopicsSaved",productNotFound:u+"ProductNotFound",disclaimerDisplayed:u+"DisclaimerDisplayed",disclaimerContinueClicked:u+"DisclaimerContinueClicked",selectedEntitlementType:u+"SelectedEntitlementType",savedMarketServiceId:u+"SavedMarketServiceId",selectedSeverityValue:u+"SelectedSeverityValue",scopingQuestionsDisplayed:u+"ScopingQuestionsDisplayed",fileAttached:u+"FileAttached",fileMaxSizeError:u+"FileMaxSizeError",fileMaxNumberError:u+"FileMaxNumberError",selectedContactMethod:u+"SelectedContactMethod",userLanguage:u+"UserLanguage",newCaseId:u+"NewCaseId",hasDiagnosticLink:u+"HasDiagnosticLink",commercialIncidentAction:"CommercialIncidentAction"},contract:{mappingAccessIdSuccess:"premierContractMappingAccessIdSuccess"},incidentHub:{downloadIncidentsList:"premierIncidentsHubDownloadIncidentsList"}};this.scenarioNames=r;this.logIncident=function(n,t,u,f,e){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.commercialIncidentAction,contentId:r.incidentCreation.commercialIncidentAction,incidentId:n,fileCount:u,timeInMs:t,actionName:f,actionResult:e},behavior:i.awa.behavior.OTHER,actionType:"CL"})};this.logLoginTypeAwaEvent=function(n,t,r){i.awa.ct.captureContentPageAction({content:{contentName:n,contentId:t,loginType:r}})};n.$on(r.incidentCreation.productSelectorFocused,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.productSelectorFocused,contentId:r.incidentCreation.productSelectorFocused,isFocusedSelector:t},behavior:i.awa.behavior.STARTPROCESS,actionType:"CL"})});n.$on(r.incidentCreation.productPicked,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.productPicked,contentId:r.incidentCreation.productPicked,productId:t.pesId},behavior:i.awa.behavior.SEARCH,actionType:"​KE"})});n.$on(r.incidentCreation.noSupportTopicOffered,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.noSupportTopicOffered,contentId:r.incidentCreation.noSupportTopicOffered,isSupportTopicOffered:t},actionType:"CL"})});n.$on(r.incidentCreation.primarySupportTopicPicked,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.primarySupportTopicPicked,contentId:r.incidentCreation.primarySupportTopicPicked,topicId:t.primarySupportTopicId},actionType:"CL"})});n.$on(r.incidentCreation.secondarySupportTopicPicked,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.secondarySupportTopicPicked,contentId:r.incidentCreation.secondarySupportTopicPicked,topicId:t.secondarySupportTopicId},actionType:"CL"})});n.$on(r.incidentCreation.productAndTopicsSaved,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.productAndTopicsSaved,contentId:r.incidentCreation.productAndTopicsSaved,productAndTopicsId:t},actionType:"CL"})});n.$on(r.incidentCreation.productNotFound,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.productNotFound,contentId:r.incidentCreation.productNotFound,userQuery:t},actionType:"KE"})});n.$on(r.incidentCreation.disclaimerDisplayed,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.disclaimerDisplayed,contentId:r.incidentCreation.disclaimerDisplayed,disclaimerLevel:t.disclaimerLevel,productId:t.pesId,id:t.disclaimerBIName},actionType:"CL"})});n.$on(r.incidentCreation.disclaimerContinueClicked,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.disclaimerContinueClicked,contentId:r.incidentCreation.disclaimerContinueClicked,disclaimerCaption:t.disclaimerCaption,disclaimerLevel:t.disclaimerLevel,productId:t.pesId,id:t.disclaimerBIName},actionType:"CL"})});n.$on(r.incidentCreation.selectedEntitlementType,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.selectedEntitlementType,contentId:r.incidentCreation.selectedEntitlementType,entitlementType:t}})});n.$on(r.incidentCreation.savedMarketServiceId,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.savedMarketServiceId,contentId:r.incidentCreation.savedMarketServiceId,marketId:t}})});n.$on(r.incidentCreation.selectedSeverityValue,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.selectedSeverityValue,contentId:r.incidentCreation.selectedSeverityValue,severity:t},actionType:"CL"})});n.$on(r.incidentCreation.scopingQuestionsDisplayed,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.scopingQuestionsDisplayed,contentId:r.incidentCreation.scopingQuestionsDisplayed,isPageDisplayed:t}})});n.$on(r.incidentCreation.fileAttached,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.fileAttached,contentId:r.incidentCreation.fileAttached,isFileAttached:t},actionType:"CL"})});n.$on(r.incidentCreation.fileMaxSizeError,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.fileMaxSizeError,contentId:r.incidentCreation.fileMaxSizeError,isFileAttached:t},behavior:i.awa.behavior.PROCESSCHECKPOINT,actionType:"CL"})});n.$on(r.incidentCreation.fileMaxNumberError,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.fileMaxNumberError,contentId:r.incidentCreation.fileMaxNumberError,isFileAttached:t},behavior:i.awa.behavior.PROCESSCHECKPOINT,actionType:"CL"})});n.$on(r.incidentCreation.selectedContactMethod,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.selectedContactMethod,contentId:r.incidentCreation.selectedContactMethod,contactMethod:t},behavior:i.awa.behavior.CONTACT,actionType:"CL"})});n.$on(r.incidentCreation.userLanguage,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.userLanguage,contentId:r.incidentCreation.userLanguage,userLanguage:t},behavior:i.awa.behavior.CONTACT,actionType:"CL"})});n.$on(r.incidentCreation.newCaseId,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.newCaseId,contentId:r.incidentCreation.newCaseId,caseId:t},behavior:i.awa.behavior.COMPLETEPROCESS,actionType:"CL"})});n.$on(r.incidentCreation.hasDiagnosticLink,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentCreation.hasDiagnosticLink,contentId:r.incidentCreation.hasDiagnosticLink,hasDiagnosticLinkFlag:t}})});n.$on(r.contract.mappingAccessIdSuccess,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.contract.mappingAccessIdSuccess,contentId:r.contract.mappingAccessIdSuccess,mappingAccessIdSuccessFlag:t}})});n.$on(r.incidentHub.downloadIncidentsList,function(n,t){i.awa.ct.captureContentPageAction({content:{contentName:r.incidentHub.downloadIncidentsList,contentId:r.incidentHub.downloadIncidentsList,downloadLinkCreated:t}})});n.$on(f,function(n,t){s.logLoginTypeAwaEvent({contentName:f,contentId:f,loginType:t})});n.$on(e,function(n,t){s.logLoginTypeAwaEvent({contentName:e,contentId:e,loginType:t})});n.$on(o,function(n,t){s.logLoginTypeAwaEvent({contentName:o,contentId:o,loginType:t})})}])}(angular.module(microsoft.support.moduleName))