(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{350:function(e,t,i){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}i(54),i(55),i(89),i(85),i(44),i(45),i(246),i(37),i(67),i(65),i(57),i(68),i(30),function(e){var t=[".salesforce.com",".force.com",".sfdc.net"];function i(){var e,t=!1;this.settings={appendHelpButton:!0,displayHelpButton:!0,isExternalPage:!0,devMode:!1,targetElement:document.body,elementForOnlineDisplay:void 0,elementForOfflineDisplay:void 0,defaultMinimizedText:"",disabledMinimizedText:"",defaultAssistiveText:"",loadingText:"Loading",showIcon:void 0,enabledFeatures:[],entryFeature:"FieldService",storageDomain:document.domain,language:void 0,linkAction:{feature:void 0,name:void 0,valid:!1},linkActionParameters:{},useCustomAuthentication:!1,allowGuestUsers:!1,requireSLDS:!1},this.auth={},this.validLinkActions={},this.isMasterAndHasSlaves=!1,Object.defineProperty(this.auth,"oauthToken",{get:function(){return e},set:function(t){this.validateHeaderValue(t)?(e=t,t?(this.setSessionData("ESW_OAUTH_TOKEN",t),this.checkAuthentication()):this.deleteSessionData("ESW_OAUTH_TOKEN")):this.error('"'+t+'" is not a valid OAuth token.')}.bind(this)}),this.featureScripts={},this.storedEventHandlers={},this.messageHandlers={},this.storageKeys=["ESW_BODY_SCROLL_POSITION","ESW_IS_MINIMIZED","ESW_MINIMIZED_TEXT","ESW_OAUTH_TOKEN"],this.defaultSettings={},this.snippetSettingsFile={},this.eswFrame=void 0,this.availableFeatures=["script","session"],this.outboundMessagesAwaitingIframeLoad=[],this.pendingMessages={},this.iframeScriptsToLoad=[],this.domInitInProgress=!1,this.componentInitInProgress=!1,this.hasSessionDataLoaded=!1,this.isIframeReady=!1,this.isAuthenticationRequired=!1,this.loginPendingSerializedData=void 0,Object.defineProperty(this,"isButtonDisabled",{get:function(){return t},set:function(e){t=e,this.onButtonStatusChange()}.bind(this),configurable:!0}),this.setupMessageListener(),this.getLinkActionData()}function s(){return window.$A&&"function"==typeof window.$A.get&&window.$A.get("$Site")}i.prototype.getLightningOutParamsObj=function(){var e={};return embedded_svc.config&&embedded_svc.config.additionalSettings&&embedded_svc.config.additionalSettings.labelsLanguage?e={guestUserLang:embedded_svc.config.additionalSettings.labelsLanguage}:embedded_svc.settings.language&&""!==embedded_svc.settings.language.trim()&&(e={guestUserLang:embedded_svc.settings.language}),e.eswConfigDeveloperName=embedded_svc.settings.eswConfigDevName,e},i.prototype.adjustCommunityStorageDomain=function(){this.isCommunityDomain(this.settings.storageDomain)&&this.settings.storageDomain===document.domain&&(this.settings.storageDomain=this.settings.storageDomain+"/"+window.location.pathname.split("/")[1])},i.prototype.loadLightningOutScripts=function(e){if("function"==typeof Promise)return new Promise((function(t,i){var n,o;try{n=e&&e.baseCoreURL?e.baseCoreURL:embedded_svc.settings.baseCoreURL,window.$Lightning?t("Lightning Out is already loaded on this page."):s()?t("Communities context does not require Lightning Out to use Embedded Service."):n&&((o=document.createElement("script")).type="text/javascript",o.src=n+"/lightning/lightning.out.js",o.onload=function(){t("Lightning Out scripts loaded.")},document.getElementsByTagName("head")[0].appendChild(o))}catch(e){i(e)}}));this.loadScriptFromDirectory("common","promisepolyfill",function(){return this.loadLightningOutScripts(e)}.bind(this),!0)},i.prototype.instantiateLightningOutApplication=function(e){if("function"==typeof Promise)return new Promise((function(t,i){var n,o,a;try{n=e&&e.communityEndpointURL?e.communityEndpointURL:embedded_svc.settings.communityEndpointURL,o=e&&e.oauthToken?e.oauthToken:embedded_svc.settings.oauthToken,a=e&&e.paramsObj?e.paramsObj:embedded_svc.getLightningOutParamsObj()||void 0,s()?t("Communities context already has an Aura context."):window.$Lightning&&$Lightning.use("embeddedService:sidebarApp",(function(){t("Lightning Out application request complete.")}),n,o,a)}catch(e){i(e)}}));this.loadScriptFromDirectory("common","promisepolyfill",function(){return this.instantiateLightningOutApplication(e)}.bind(this),!0)},i.prototype.createEmbeddedServiceComponent=function(e){if("function"==typeof Promise)return new Promise((function(t,i){var n,o,a=e&&e.chatAPISettings?embedded_svc.validateStartChatAttributes(e.chatAPISettings):{};try{n=e&&e.attributes?e.attributes:{configurationData:embedded_svc.settings,chatAPISettings:a},o=e&&e.locator?e.locator:embedded_svc.settings.targetElement,embedded_svc.preparePageForSidebar(),window.$Lightning&&!document.querySelector(".embeddedServiceSidebar")?$Lightning.ready($Lightning.createComponent.bind(this,"embeddedService:sidebar",n,o,(function(e,n,s){"SUCCESS"===n?embedded_svc.utils.addEventHandler("afterInitialization",(function(){t("Embedded Service component created.")})):i(s)}))):s()?window.dispatchEvent(new CustomEvent("embeddedServiceCreateSidebar",{detail:{componentAttributes:n,resolve:t,reject:i}})):void 0===window.$Lightning?t("Lightning Out should be loaded on this page before creating the Embedded Service component."):t("Embedded Service component already exists.")}catch(e){i(e)}}));this.loadScriptFromDirectory("common","promisepolyfill",function(){return this.createEmbeddedServiceComponent(e)}.bind(this),!0)},i.prototype.bootstrapEmbeddedService=function(e){if("function"==typeof Promise)return new Promise((function(t,i){try{embedded_svc.loadLightningOutScripts(e).then((function(){embedded_svc.instantiateLightningOutApplication(e).then((function(){embedded_svc.createEmbeddedServiceComponent(e).then((function(){window.requestAnimationFrame((function(){embedded_svc.hideHelpButton(),t("Embedded Service application and component bootstrapped.")}))}))}))}))}catch(e){i(e)}}));this.loadScriptFromDirectory("common","promisepolyfill",(function(){return embedded_svc.bootstrapEmbeddedService(e)}),!0)},i.prototype.validateStartChatAttributes=function(e){var t=e||{},i=t&&t.prepopulatedPrechatFields?t.prepopulatedPrechatFields:{},s=t&&t.extraPrechatInfo?t.extraPrechatInfo:[],o=t&&t.extraPrechatFormDetails?t.extraPrechatFormDetails:[],a=t&&t.fallbackRouting?t.fallbackRouting:[],r=t&&t.directToButtonRouting?t.directToButtonRouting:void 0,d={buttonId:t&&t.buttonId?t.buttonId:void 0,userId:t&&t.userId?t.userId:void 0,fallback:t&&"boolean"==typeof t.fallback?t.fallback:void 0};if("object"!==n(i))throw new Error("Validation failed for prepopulatedPrechatFields, received: "+i);if(t.prepopulatedPrechatFields=i,!Array.isArray(o))throw new Error("Validation failed for extraPrechatFormDetails, received: "+o);if(t.extraPrechatFormDetails=o,!Array.isArray(s))throw new Error("Validation failed for extraPrechatInfo, received: "+s);if(t.extraPrechatInfo=s,!Array.isArray(a))throw new Error("Validation failed for fallbackRouting, received: "+a);if(t.fallbackRouting=a,"function"==typeof r?t.directToButtonRouting=r:embedded_svc.log("Did not receive an actionable parameter for directToButtonRouting, received: "+r),"object"!==n(d))throw new Error("Validation failed for directToAgentRouting, received: "+d);if(t.directToAgentRouting=d,d.buttonId){if("string"!=typeof d.buttonId||!d.buttonId.trim().length)throw new Error("Validation failed for directToAgentRouting's buttonId, received: "+d.buttonId);t.directToAgentRouting.buttonId=d.buttonId.trim(),t.directToAgentRouting.fallback=d.fallback,d.userId&&("string"==typeof d.userId&&d.userId.trim().length?t.directToAgentRouting.userId=d.userId.trim():embedded_svc.log("Did not receive an actionable parameter for directToAgentRouting's userId, received: "+d.userId))}else embedded_svc.log("Did not receive an actionable parameter for directToAgentRouting's buttonId, received: "+d.buttonId);return t},i.prototype.isInternetExplorer=function(){return"ActiveXObject"in window},i.prototype.outputToConsole=function(e,t,i){(i||this.settings.devMode)&&console&&console[e]&&console[e]("[Snap-ins] "+(Array.isArray(t)?t.join(", "):t))},i.prototype.log=function(){this.outputToConsole("log",[].slice.apply(arguments))},i.prototype.error=function(e,t){e?this.outputToConsole("error",e,t):this.outputToConsole("error","esw responed with an unspecified error.",t),embedded_svc.utils.fireEvent("error")},i.prototype.warning=function(e,t){e?this.outputToConsole("warn","Warning: "+e,t):this.outputToConsole("warn","esw sent an anonymous warning.",t)},i.prototype.deprecated=function(e){this.warning(e+" is deprecated in version "+Number("5.0").toFixed(1)+" and will be removed in version "+(Number("5.0")+1).toFixed(1))},i.prototype.getCookie=function(e){var t,i,n=document.cookie;if(n&&-1!==(t=n.indexOf(e+"=")))return t+=(e+"=").length,-1===(i=n.indexOf(";",t))&&(i=n.length),n.substring(t,i)},i.prototype.setCookie=function(e,t,i){var n,s=e+"="+t+";";i&&((n=new Date).setFullYear(n.getFullYear()+10),s+="expires="+n.toUTCString()+";"),s+="path=/;",document.cookie=s},i.prototype.mergeSettings=function(e){Object.keys(e).forEach(function(t){void 0===this.settings[t]&&(this.settings[t]=e[t])}.bind(this))},i.prototype.loadFeatureScript=function(e,t){var i=decodeURI(e).toLowerCase();-1===e.indexOf("..")?this.loadScriptFromDirectory("client",i+".esw",function(){this.featureScripts[e](this),this.availableFeatures.push(i),embedded_svc.utils.fireEvent("featureLoaded",void 0,e),t&&t(),this.processPendingMessages(i)}.bind(this)):this.error('"'+e+'" is not a valid feature name.')},i.prototype.fireEvent=function(e,t){var i=[].slice.apply(arguments).slice(2);return window.embedded_svc&&embedded_svc.utils?embedded_svc.utils.fireEvent(e,t,i):(this.error("fireEvent should not be called before calling init!"),!0)},i.prototype.isValidEntityId=function(e){return"string"==typeof e&&(18===e.length||15===e.length)},i.prototype.getKeyPrefix=function(e){if(this.isValidEntityId(e))return e.substr(0,3)},i.prototype.isOrganizationId=function(e){return"00D"===this.getKeyPrefix(e)},i.prototype.getESWFrame=function(){var e=document.getElementById("esw_storage_iframe");return!this.eswFrame&&e&&(this.eswFrame=e.contentWindow),this.eswFrame},i.prototype.isFrameStorageEnabled=function(){return this.deprecated("isFrameStorageEnabled"),!0},i.prototype.processPendingMessages=function(e){this.pendingMessages[e]&&(this.pendingMessages[e].forEach(function(e){this.handleMessage(e.payload)}.bind(this)),this.pendingMessages[e]=void 0)},i.prototype.loadCSS=function(){var e=document.createElement("link"),t=this.settings.gslbBaseURL?this.settings.gslbBaseURL:this.settings.baseCoreURL;e.href=t+"/embeddedservice/"+this.settings.releaseVersion+"/esw"+(this.settings.devMode?"":".min")+".css",e.type="text/css",e.rel="stylesheet",document.getElementsByTagName("head")[0].appendChild(e)},i.prototype.appendHelpButton=function(e){var t=document.createElement("div"),i="";t.className="embeddedServiceHelpButton",this.isLanguageRtl(this.settings.language)&&this.isDesktop()&&(i='dir="rtl"'),t.innerHTML='
',e||(t.style.display="none"),this.settings.targetElement.appendChild(t),this.setHelpButtonText(this.settings.defaultMinimizedText),"ontouchstart"in document.documentElement&&[].slice.apply(document.querySelectorAll(".embeddedServiceHelpButton .uiButton")).forEach((function(e){e.classList.add("no-hover")})),this.onButtonStatusChange()},i.prototype.appendIFrame=function(){var e=document.createElement("iframe"),t={};e.id="esw_storage_iframe",e.src=this.settings.iframeURL,e.style.display="none",e.onload=function(){var e=this.getESWFrame();this.isIframeReady=!0,this.outboundMessagesAwaitingIframeLoad.forEach(function(t){e.postMessage(t,this.settings.iframeURL)}.bind(this)),this.outboundMessagesAwaitingIframeLoad=[],this.iframeScriptsToLoad.forEach(function(e){this.loadStorageScript(e)}.bind(this)),t.deploymentId=this.settings.deploymentId,t.isSamePageNavigation=this.isSamePageNavigation(),t.isRefresh=1===window.performance.navigation.type,this.postMessage("session.updateStorage",t),this.iframeScriptsToLoad=[]}.bind(this),this.settings.targetElement.appendChild(e),window.addEventListener("beforeunload",function(t){var i="You might lose the active chat session if you close this tab. Are you sure?";if(this.isInternetExplorer()&&(e.src="about:blank"),this.isMasterAndHasSlaves){if(embedded_svc.utils.fireEvent("snapinsCloseSessionWarning"),!this.settings.closeSessionWarning||"function"!=typeof this.settings.closeSessionWarning)return(t||window.event).returnValue=i,i;this.settings.closeSessionWarning()}this.settings.__synchronous_decrement_tab||this.postMessage("chasitor.decrementActiveChatSession",this.settings.deploymentId)}.bind(this),!1)},i.prototype.preparePageForSidebar=function(){var e={};document.getElementById("snapins_invite")&&embedded_svc.inviteAPI&&embedded_svc.inviteAPI.inviteButton.setOnlineState(!1),embedded_svc.utils.fireEvent("beforeCreate"),Object.keys(this.settings).forEach(function(t){e[t]=this.settings[t]}.bind(this)),this.mergeSettings(this.defaultSettings)},i.prototype.createLightningComponent=function(e){this.preparePageForSidebar(),this.createEmbeddedServiceComponent({attributes:{configurationData:this.settings,serializedSessionData:e},locator:this.settings.targetElement}).then(function(){this.hideHelpButton(),this.componentInitInProgress=!1,this.setHelpButtonText(this.settings.defaultMinimizedText),embedded_svc.utils.fireEvent("ready")}.bind(this))},i.prototype.loadLightningApp=function(e){var t,i;if(this.settings.isExternalPage&&"string"!=typeof this.settings.communityEndpointURL)throw new Error("communityEndpointURL String property not set");(t=document.getElementsByClassName("helpButton")[0])&&(i=t.getBoundingClientRect().width)>0&&(t.style.width=i+"px"),this.setHelpButtonText(this.settings.loadingText,!1),this.instantiateLightningOutApplication({communityEndpointURL:this.settings.communityEndpointURL,oauthToken:this.auth.oauthToken}).then(this.createLightningComponent.bind(this,e))},i.prototype.initLightningOut=function(e){this.hasSessionDataLoaded&&("function"!=typeof Promise?this.loadScriptFromDirectory("common","promisepolyfill",function(){this.initLightningOut(e)}.bind(this),!0):this.loadLightningOutScripts().then(this.loadLightningApp.bind(this,e)))},i.prototype.setHelpButtonText=function(e,t){var i,n=void 0===this.settings.showIcon||this.settings.showIcon,s=void 0===t?n:t,o=document.getElementById("helpButtonSpan");o&&(o.querySelector(".message").innerHTML=e,(i=o.parentElement.querySelector(".embeddedServiceIcon"))&&(i.style.display=s?"inline-block":"none"))},i.prototype.prepareDOM=function(){this.domInitInProgress||(this.domInitInProgress=!0,this.appendIFrame())},i.prototype.addSessionHandlers=function(){this.addMessageHandler("session.onLoad",function(){this.postMessage("session.get",this.storageKeys)}.bind(this)),this.addMessageHandler("session.sessionData",function(e){this.resumeInitWithSessionData(e)}.bind(this)),this.addMessageHandler("session.deletedSessionData",function(e){e.indexOf("CHASITOR_SERIALIZED_KEY")>-1&&(this.loginPendingSerializedData=void 0)}.bind(this)),this.addMessageHandler("session.updateMaster",function(e){e&&(e.isMaster?sessionStorage.setItem(this.settings.storageDomain+"MASTER_DEPLOYMENT_ID",this.settings.deploymentId):sessionStorage.removeItem(this.settings.storageDomain+"MASTER_DEPLOYMENT_ID"),this.isMasterAndHasSlaves=e.activeChatSessions>1&&e.isMaster,embedded_svc&&embedded_svc.liveAgentAPI&&(embedded_svc.liveAgentAPI.browserSessionInfo=e))}.bind(this))},i.prototype.addMetaTag=function(e,t){var i=document.createElement("meta");i.name=e,i.content=t,document.head.appendChild(i)},i.prototype.init=function(e,t,i,n,s,o){if(this.settings.baseCoreURL=e,this.settings.communityEndpointURL=t,this.settings.gslbBaseURL=i||e,this.settings.orgId=n,this.settings.releaseVersion="5.0",this.settings.eswConfigDevName=s,this.mergeSettings(o||{}),this.adjustCommunityStorageDomain(),"string"!=typeof this.settings.baseCoreURL)throw new Error("Base core URL value must be a string.");if(!this.isOrganizationId(this.settings.orgId))throw new Error("Invalid OrganizationId Parameter Value: "+this.settings.orgId);embedded_svc.utils?this.finishInit():this.loadScriptFromDirectory("utils","common",this.finishInit.bind(this))},i.prototype.finishInit=function(){if(this.storedEventHandlers&&(Object.getOwnPropertyNames(this.storedEventHandlers).forEach(function(e){this.storedEventHandlers[e].forEach((function(t){embedded_svc.utils.addEventHandler(e,t)}))}.bind(this)),this.storedEventHandlers={}),!embedded_svc.utils.fireEvent("validateInit",(function(e){return-1!==e.indexOf(!1)}),this.settings)){if(this.checkForNativeFunctionOverrides(),this.settings.appendHelpButton&&this.loadCSS(),!this.settings.targetElement)throw new Error("No targetElement specified");this.settings.iframeURL=this.settings.gslbBaseURL+"/embeddedservice/"+this.settings.releaseVersion+(this.settings.devMode?"/eswDev.html":"/esw.html")+"?parent="+document.location.href,this.addSessionHandlers(),this.loadFeatures(this.onFeatureScriptsLoaded.bind(this)),embedded_svc.utils.fireEvent("afterInit",void 0,this.settings)}},i.prototype.onFeatureScriptsLoaded=function(){"complete"===document.readyState?setTimeout(this.prepareDOM.bind(this),1):document.addEventListener?(document.addEventListener("DOMContentLoaded",this.prepareDOM.bind(this),!1),window.addEventListener("load",this.prepareDOM.bind(this),!1)):window.attachEvent?window.attachEvent("onload",this.prepareDOM.bind(this)):this.log("No available event model. Exiting.")},i.prototype.checkForNativeFunctionOverrides=function(){[{name:"document",object:document,functions:["addEventListener","createAttribute","createComment","createDocumentFragment","createElementNS","createTextNode","createRange","getElementById","getElementsByTagName","getElementsByClassName","querySelector","querySelectorAll","removeEventListener"]},{name:"window",object:window,functions:["addEventListener","clearTimeout","dispatchEvent","open","removeEventListener","requestAnimationFrame","setInterval","setTimeout"]}].forEach(function(e){e.functions.forEach(function(t){t in e.object&&!this.isNativeFunction(e.object,t)&&this.warning("Embedded Service Chat may not function correctly with this native JS function modified: "+e.name+"."+t,!0)}.bind(this))}.bind(this))},i.prototype.isNativeFunction=function(e,t){return Function.prototype.toString.call(e[t]).match(/\[native code\]/)},i.prototype.onHelpButtonClick=function(){if(!this.componentInitInProgress&&!document.getElementsByClassName("embeddedServiceSidebar").length){this.componentInitInProgress=!0;try{this.checkAuthentication(),embedded_svc.utils.fireEvent("onHelpButtonClick")}catch(e){throw this.componentInitInProgress=!1,e}}},i.prototype.resumeInitWithSessionData=function(e){var t=embedded_svc.utils.fireEvent("sessionDataRetrieved",(function(e){return-1!==e.indexOf(!0)}),e),i=!1,n=!1;this.settings.linkAction.valid?i=!0:t?(this.log("Existing session found. Continuing with data: "+e),i=!0,n=!0,embedded_svc.menu&&embedded_svc.menu.hideTopContainer()):this.componentInitInProgress&&(i=!0),this.hasSessionDataLoaded=!0,e.ESW_OAUTH_TOKEN&&(this.auth.oauthToken=e.ESW_OAUTH_TOKEN),this.loginPendingSerializedData=n?e:void 0,i&&(this.componentInitInProgress=!0,this.checkAuthentication()),this.settings.appendHelpButton&&this.appendHelpButton(this.settings.displayHelpButton&&!t)},i.prototype.checkAuthentication=function(){this.isAuthenticationRequired&&!this.settings.allowGuestUsers?this.auth.oauthToken?(this.loginButtonPressed||this.componentInitInProgress)&&this.initLightningOut(this.loginPendingSerializedData):embedded_svc.utils.fireEvent("requireauth"):(this.loginButtonPressed||this.componentInitInProgress)&&this.initLightningOut(this.loginPendingSerializedData)},i.prototype.postMessage=function(e,t){var i={domain:this.settings.storageDomain,data:t,method:e},n=this.getESWFrame();n?n.postMessage(i,this.settings.iframeURL):this.outboundMessagesAwaitingIframeLoad.push(i)},i.prototype.setSessionData=function(e,t){var i;"object"===n(e)?i=e:(i={})[e]=t,this.postMessage("session.set",i)},i.prototype.deleteSessionData=function(e){var t;t=Array.isArray(e)?e:[e],this.postMessage("session.delete",t)},i.prototype.defineFeature=function(e,t){this.featureScripts[e]=t},i.prototype.registerStorageKeys=function(e){"string"==typeof e?this.storageKeys.push(e):e.forEach(function(e){this.storageKeys.push(e)}.bind(this))},i.prototype.addMessageHandler=function(e,t){this.messageHandlers[e]&&this.warning("Replacing an existing handler for message type "+e),this.messageHandlers[e]=t},i.prototype.loadStorageScript=function(e){this.isIframeReady?this.postMessage("script.load",e):this.iframeScriptsToLoad.push(e)},i.prototype.loadScriptFromDirectory=function(e,t,i,n){var s=t.toLowerCase(),o=document.createElement("script"),a=this.settings.gslbBaseURL;o.type="text/javascript",o.src=[a,"embeddedservice",n?void 0:this.settings.releaseVersion,e,s+(this.settings.devMode?"":".min")+".js"].filter((function(e){return Boolean(e)})).join("/"),i&&(o.onload=i),document.body.appendChild(o)},i.prototype.loadFeatures=function(e){this.settings.enabledFeatures.forEach(function(t){"base"!==t&&-1===this.availableFeatures.indexOf(t.toLowerCase())&&this.loadFeatureScript(t,e)}.bind(this))},i.prototype.addEventHandler=function(e,t){window.embedded_svc&&embedded_svc.utils?embedded_svc.utils.addEventHandler(e,t):(this.storedEventHandlers[e]||(this.storedEventHandlers[e]=[]),this.storedEventHandlers[e].push(t))},i.prototype.setupMessageListener=function(){window.addEventListener("message",function(e){var t,i,n,s=e.data,o=e.origin.split(":")[1].replace("//","");s&&s.method&&embedded_svc.isMessageFromSalesforceDomain(o)&&("session.onLoad"===s.method&&-1===this.settings.iframeURL.indexOf(o)&&(i=this.settings.iframeURL.split("/")[2],n=e.origin.split("/")[2],this.settings.iframeURL=this.settings.iframeURL.replace(i,n)),t=s.method.split(".")[0].toLowerCase(),-1===this.availableFeatures.indexOf(t)?(this.pendingMessages[t]||(this.pendingMessages[t]=[]),this.pendingMessages[t].push({direction:"incoming",payload:s})):this.handleMessage(s))}.bind(this),!1)},i.prototype.handleMessage=function(e){this.messageHandlers[e.method]?this.messageHandlers[e.method](e.data):this.log("Unregistered method "+e.method+" received.")},i.prototype.isMessageFromSalesforceDomain=function(e){var i;return!(!s()||e!==document.domain)||(i=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},t.some((function(t){return i(e,t)})))},i.prototype.isCommunityDomain=function(e){return".force.com"===e.substr(-".force.com".length)},i.prototype.isSamePageNavigation=function(){var e,t=document.domain;return this.isCommunityDomain(document.domain)&&(e=t+"/"+window.location.pathname.split("/")[1])===this.settings.storageDomain&&(t=e),t.substr(-this.settings.storageDomain.length)===this.settings.storageDomain},i.prototype.addDefaultSetting=function(e,t){this.defaultSettings[e]=t},i.prototype.onButtonStatusChange=function(){var e,t=document.querySelector(".embeddedServiceHelpButton button");embedded_svc.menu&&embedded_svc.menu.onAgentAvailabilityChange(),t&&(e=t.querySelector(".message"))&&(this.isButtonDisabled?(t.onclick=function(){},t.classList.remove("helpButtonEnabled"),t.classList.add("helpButtonDisabled"),e.innerHTML=this.settings.disabledMinimizedText):(t.onclick=this.onHelpButtonClick.bind(this),t.classList.remove("helpButtonDisabled"),t.classList.add("helpButtonEnabled"),e.innerHTML=this.settings.defaultMinimizedText))},i.prototype.hideHelpButton=function(){var e=document.querySelector(".embeddedServiceHelpButton");e&&(e.style.display="none")},i.prototype.showHelpButton=function(){var e=document.querySelector(".embeddedServiceHelpButton");e&&(e.style.display="")},i.prototype.setDefaultButtonText=function(e,t,i,n){this.settings.entryFeature===e&&(this.settings.defaultMinimizedText=this.settings.defaultMinimizedText||t,this.settings.disabledMinimizedText=this.settings.disabledMinimizedText||i,this.settings.defaultAssistiveText=this.settings.defaultAssistiveText||n||"")},i.prototype.setDefaultShowIcon=function(e,t){this.settings.entryFeature===e&&void 0===this.settings.showIcon&&(this.settings.showIcon=t)},i.prototype.registerLinkAction=function(e,t){var i=this.settings.linkAction;this.validLinkActions[e]||(this.validLinkActions[e]=[]),-1===this.validLinkActions[e].indexOf(t)&&this.validLinkActions[e].push(t),i.feature&&i.name&&i.feature.toLowerCase()===e.toLowerCase()&&i.name.toLowerCase()===t.toLowerCase()&&(i.valid=!0,i.feature=e,this.settings.entryFeature=e)},i.prototype.setLinkAction=function(e,t,i){var n=Object.keys(this.validLinkActions).filter((function(t){return t.toLowerCase()===e.toLowerCase()}))[0];n?(this.settings.linkAction.feature=n,this.settings.linkAction.name=this.validLinkActions[n].filter((function(e){return e.toLowerCase()===t.toLowerCase()}))[0],this.settings.linkAction.valid=void 0!==this.settings.linkAction.name,this.settings.linkActionParameters=i):this.settings.linkAction.valid=!1},i.prototype.getLinkActionData=function(){window.location.search.replace(/([a-zA-Z0-9._]+)=([^&\s]+)/g,function(e,t,i){var n,s,o=t.toLowerCase();0===o.indexOf("snapins.")&&("action"===(s=o.replace("snapins.",""))?2===(n=i.split(".")).length&&(this.settings.linkAction.feature=n[0],this.settings.linkAction.name=n[1]):this.settings.linkActionParameters[s.toLowerCase()]=i)}.bind(this))},i.prototype.requireAuthentication=function(){var e=document.createElement("script"),t=document.createElement("style"),i=document.querySelector(this.settings.loginTargetQuerySelector);if(this.isAuthenticationRequired=!0,"https:"!==window.location.protocol&&!this.settings.devMode)throw this.settings.displayHelpButton=!1,new Error("Snap-in authentication requires HTTPS.");if(!this.settings.useCustomAuthentication){if(!this.settings.loginClientId||!this.settings.loginRedirectURL||!this.settings.loginTargetQuerySelector)throw new Error("Authentication in Snap-ins requires these valid settings params: loginClientId, loginRedirectURL, loginTargetQuerySelector.");if(!i)throw new Error("loginTargetQuerySelector is not a valid DOM element.");this.loginButtonPressed=!1,i.addEventListener("click",function(){this.loginButtonPressed=!0}.bind(this)),this.addMetaTag("salesforce-community",this.settings.communityEndpointURL),this.addMetaTag("salesforce-client-id",this.settings.loginClientId),this.addMetaTag("salesforce-redirect-uri",this.settings.loginRedirectURL),this.addMetaTag("salesforce-mode","popup"),this.addMetaTag("salesforce-target",this.settings.loginTargetQuerySelector),this.addMetaTag("salesforce-login-handler","__snapinsLoginCallback"),this.addMetaTag("salesforce-logout-handler","__snapinsLogoutCallback"),embedded_svc.utils.addEventHandler("requireauth",(function(){var e=setInterval((function(){window.SFIDWidget&&(clearInterval(e),window.SFIDWidget.openid_response?window.__snapinsLoginCallback():window.SFIDWidget.login())}),100)})),embedded_svc.utils.addEventHandler("autherror",function(e){var t;window.SFIDWidget&&(this.loginButtonPressed=!0,window.SFIDWidget.logout(),t=setInterval(function(){window.SFIDWidget.config&&(clearInterval(t),embedded_svc.utils.fireEvent("requireauth"))}.bind(this,t),100))}.bind(this)),window.__snapinsLoginCallback=function(){var e=document.querySelector(this.settings.loginTargetQuerySelector),t=document.createElement("button");(this.loginButtonPressed||this.componentInitInProgress)&&(e.innerHTML=""),t.className="authenticationStart",t.innerHTML=this.settings.authenticationStartLabel,t.addEventListener("click",this.onHelpButtonClick.bind(this)),e.appendChild(t),this.auth.oauthToken=window.SFIDWidget.openid_response.access_token}.bind(this),window.__snapinsLogoutCallback=function(){this.auth.oauthToken=void 0,window.SFIDWidget.init()}.bind(this),document.head.appendChild(t),t.sheet.insertRule(".sfid-logout { display: none; }",0),e.type="text/javascript",e.src=this.settings.communityEndpointURL+"/servlet/servlet.loginwidgetcontroller?type=javascript_widget"+(embedded_svc.settings.devMode?"&min=false":""),document.head.appendChild(e)}},i.prototype.requireSLDS=function(){var e,t,i;this.settings.requireSLDS=!0,this.settings.targetElement===document.body&&((e=document.createElement("div")).id="esw-snapin-target",document.body.appendChild(e),this.settings.targetElement=e),this.settings.targetElement.classList.add("slds-scope"),t=document.createElement("link"),i=this.settings.gslbBaseURL?this.settings.gslbBaseURL:this.settings.baseCoreURL,t.href=i+"/embeddedservice/"+this.settings.releaseVersion+"/esw-slds"+(this.settings.devMode?"":".min")+".css",t.type="text/css",t.rel="stylesheet",document.getElementsByTagName("head")[0].appendChild(t)},i.prototype.validateHeaderValue=function(e){return/^[0-9a-zA-Z!#$%&'*+-.^_`|~" ]*$/g.test(e)},i.prototype.isLanguageRtl=function(e){if(e&&""!==e.trim())switch(e.substring(0,2)){case"ar":case"fa":case"he":case"iw":case"ji":case"ur":case"yi":return!0;default:return!1}},i.prototype.isDesktop=function(){return-1===navigator.userAgent.indexOf("Mobi")},window.embedded_svc=new i,Object.getOwnPropertyNames(e).forEach((function(t){var i=e[t];"object"===i?(window.embedded_svc[t]={},Object.keys(i).forEach((function(e){window.embedded_svc[t][e]=i[e]}))):window.embedded_svc[t]=i}))}(window.embedded_svc||{})}}]);