/* Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations. */ window.esw.defineFeature("Session",function(a){function h(){this.trackedKeys=[];a.addMessageHandler("session.set",this.setSessionData.bind(this));a.addMessageHandler("session.get",function(b,c){parent.postMessage({method:"session.sessionData",data:a.noSessionStorageAvailable?null:this.getSessionData(b,c)},a.parentOrigin)}.bind(this));a.addMessageHandler("session.delete",this.deleteSessionData.bind(this));a.addMessageHandler("session.deleteAllKeys",function(b){this.deleteAllSessionData(b)}.bind(this))} h.prototype.getKeyName=function(b,c){if(void 0!==c&&null!==c&&"string"===typeof c)return b.toUpperCase()+c.toLowerCase();throw Error("key is a required parameter must be a string, cannot be undefined or null");};h.prototype.getSessionData=function(b,c,d){var f={},e;if(b&&c)d&&(a.noLocalStorageAvailable?d=!1:e=localStorage),d||(e=a.noSessionStorageAvailable?null:sessionStorage),c.forEach(function(g){f[g]=e?e.getItem(this.getKeyName(b,g)):null}.bind(this));else throw Error("getSessionData requires two non-null arguments (domain, keys)."); return f};h.prototype.deleteSessionData=function(b,c,d){var f;d&&a.noLocalStorageAvailable&&(isLocalStrage=!1);if(d||!a.noSessionStorageAvailable){var e=d?localStorage:sessionStorage;if(b&&c)c.forEach(function(g){-1