{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap a4cce2a914ed64be9512","webpack:///okta-auth-js.min.js","webpack:///./lib/util.js","webpack:///./lib/errors/AuthSdkError.js","webpack:///./lib/constants.js","webpack:///./lib/http.js","webpack:///./lib/browser/browserStorage.js","webpack:///./node_modules/q/q.js","webpack:///./lib/storageBuilder.js","webpack:///./lib/tx.js","webpack:////root/okta/okta-auth-js/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/oauthUtil.js","webpack:///./lib/browser/browserIndex.js","webpack:///./fetch/fetchRequest.js","webpack:////root/okta/okta-auth-js/node_modules/cross-fetch/dist/browser-ponyfill.js","webpack:////root/okta/okta-auth-js/node_modules/js-cookie/src/js.cookie.js","webpack:///./lib/browser/browser.js","webpack:///./lib/vendor/polyfills.js","webpack:////root/okta/okta-auth-js/node_modules/Base64/base64.js","webpack:////root/okta/okta-auth-js/node_modules/tiny-emitter/index.js","webpack:///./lib/builderUtil.js","webpack:////root/okta/okta-auth-js/node_modules/timers-browserify/main.js","webpack:////root/okta/okta-auth-js/node_modules/setimmediate/setImmediate.js","webpack:///./lib/errors/AuthApiError.js","webpack:///./lib/errors/AuthPollStopError.js","webpack:///./lib/session.js","webpack:///./lib/token.js","webpack:///./lib/crypto.js","webpack:///./lib/errors/OAuthError.js","webpack:///./lib/pkce.js","webpack:///./lib/TokenManager.js","webpack:///./lib/clock.js"],"names":["root","factory","exports","module","define","amd","self","this","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","util","stringToBase64Url","str","b64","btoa","base64ToBase64Url","replace","base64UrlToBase64","b64u","base64UrlToString","length","utf8","atob","decodeURIComponent","escape","e","stringToBuffer","buffer","Uint8Array","charCodeAt","base64UrlDecode","bind","fn","ctx","additionalArgs","Array","slice","arguments","args","concat","apply","isAbsoluteUrl","url","test","isString","obj","toString","isObject","isNumber","isArray","isoToUTCString","parts","match","isoTime","Date","UTC","toUTCString","toQueryParams","key","undefined","push","encodeURIComponent","join","genRandomString","randomCharset","random","cl","Math","floor","extend","obj1","forEach","prop","removeNils","cleaned","value","clone","JSON","stringify","parse","omit","props","newobj","indexOf","find","collection","searchParams","item","found","getLink","linkName","altName","_links","link","getNativeConsole","window","console","getConsole","nativeConsole","log","warn","text","deprecate","deprecateWrap","removeTrailingSlash","path","trimmed","isIE11OrLess","document","documentMode","isFunction","AuthSdkError","msg","xhr","message","errorCode","errorSummary","errorLink","errorId","errorCauses","Error","httpRequest","sdk","options","method","saveAuthnState","accessToken","withCredentials","storageUtil","storage","httpCache","getHttpCache","cacheResponse","cacheContents","getStorage","cachedResponse","now","expiresAt","Q","resolve","response","headers","userAgent","err","res","ajaxOptions","data","httpRequestClient","then","resp","responseText","stateToken","delete","constants","STATE_TOKEN_KEY_NAME","set","updateStorage","DEFAULT_CACHE_DURATION","fail","serverErr","status","transformErrorXHR","AuthApiError","getOptions","post","postOptions","Cookies","storageBuilder","browserHasLocalStorage","getLocalStorage","testStorage","browserHasSessionStorage","getSessionStorage","getPKCEStorage","PKCE_STORAGE_NAME","getCookieStorage","secure","location","protocol","CACHE_STORAGE_NAME","localStorage","sessionStorage","sameSite","getItem","setItem","getInMemoryStorage","store","removeItem","cookieOptions","expires","remove","definition","bootstrap","uncurryThis","f","isStopIteration","exception","object_toString","QReturnValue","makeStackTraceLong","error","promise","hasStacks","stack","STACK_JUMP_SEPARATOR","stacks","source","unshift","concatedStacks","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","stackLine","getFileNameAndLineNumber","attempt1","exec","Number","attempt2","attempt3","fileNameAndLineNumber","fileName","lineNumber","qFileName","qStartingLine","qEndingLine","captureLine","firstLine","Promise","isPromiseAlike","coerce","fulfill","defer","become","newPromise","resolvedPromise","array_reduce","messages","nextTick","promiseDispatch","progressListeners","deferred","object_create","op","operands","array_slice","valueOf","nearerValue","nearer","isPromise","inspect","state","longStackSupport","substring","reject","reason","notify","progress","progressListener","resolver","TypeError","race","answerPs","len","descriptor","fallback","result","inspected","when","fulfilled","rejected","progressed","isPending","isFulfilled","isRejected","resetUnhandledRejections","unhandledReasons","unhandledRejections","trackUnhandledRejections","trackRejection","process","emit","runAfter","array_indexOf","reportedUnhandledRejections","untrackRejection","at","atReport","splice","rejection","rhs","thisp","object_keys","master","dispatch","spread","async","makeGenerator","continuer","verb","arg","StopIteration","generator","done","callback","errback","spawn","_return","promised","all","promises","pendingCount","index","snapshot","any","prev","current","onFulfilled","onRejected","onProgress","allResolved","array_map","noop","allSettled","nodeify","nodeback","flush","task","domain","head","next","enter","runSingle","laterQueue","pop","flushing","isNodeJS","exit","setTimeout","tail","requestTick","setImmediate","MessageChannel","channel","port1","onmessage","requestPortTick","port2","postMessage","Function","reduce","basis","map","collect","create","Type","object_hasOwnProperty","keys","ReturnValue","env","Q_DEBUG","makeNodeResolver","passByCopy","x","y","that","makePromise","_fulfilled","_rejected","newException","_progressed","newValue","threw","onerror","tap","fcall","thenResolve","thenReject","getUnhandledReasons","stopUnhandledRejectionTracking","array","del","mapply","send","mcall","invoke","fapply","fbind","alternative","regardless","fin","onUnhandledError","timeout","ms","timeoutId","code","clearTimeout","delay","nfapply","nodeArgs","nfcall","nfbind","denodeify","baseArgs","nbind","bound","nmapply","npost","nsend","nmcall","ninvoke","noConflict","webstorage","storageName","storageString","setStorage","clearStorage","addStateToken","builtArgs","getStateToken","transactionStatus","http","resumeTransaction","tx","exists","_get","AuthTransaction","introspect","transactionStep","transactionExists","postToTransaction","getPollFn","ref","pollFn","opts","autoPush","rememberDevice","href","pollLink","transactionCallBack","DEFAULT_POLLING_DELAY","isPolling","retryCount","recursivePoll","pollRes","factorResult","AuthPollStopError","delayLength","pow","link2fn","lk","hints","allow","factorType","provider","params","profile","updatePhone","links2fns","fns","type","poll","flattenEmbedded","objArr","ol","embedded","_embedded","cancel","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","run","Item","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","g","eval","generateState","generateNonce","isToken","idToken","scopes","eventTarget","addEventListener","attachEvent","removeEventListener","detachEvent","loadFrame","src","iframe","createElement","style","display","body","appendChild","loadPopup","popupTitle","appearance","winEl","open","getWellKnown","issuer","authServerUri","getKey","kid","wellKnown","jwksUri","cachedKey","validateClaims","claims","validationParams","aud","clientId","iss","nonce","iat","exp","maxClockSkew","getOAuthUrls","oauthParams","authorizeUrl","userinfoUrl","tokenUrl","logoutUrl","revokeUrl","responseType","baseUrl","RegExp","endsWith","urlParamsToObject","hashOrSearch","param","plus2space","paramSplit","fragment","fetchRequest","fetch","credentials","ok","respHandler","toLowerCase","json","__self__","F","DOMException","isDataView","DataView","isPrototypeOf","normalizeName","String","normalizeValue","iteratorFor","items","iterator","shift","support","iterable","Symbol","Headers","append","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","onload","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","chars","fromCharCode","bufferClone","byteLength","Body","_initBody","_bodyInit","_bodyText","Blob","_bodyBlob","formData","FormData","_bodyFormData","URLSearchParams","arrayBuffer","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","decode","normalizeMethod","upcased","toUpperCase","methods","Request","input","mode","signal","referrer","form","trim","bytes","parseHeaders","rawHeaders","Response","bodyInit","statusText","init","abortXhr","abort","request","aborted","XMLHttpRequest","getAllResponseHeaders","responseURL","ontimeout","onabort","setRequestHeader","onreadystatechange","readyState","viewClasses","isView","oldValue","has","thisArg","values","entries","redirectStatuses","redirect","RangeError","constructor","polyfill","default","registeredInModuleLoader","OldCookies","api","attributes","converter","defaults","setMilliseconds","getMilliseconds","write","stringifiedAttributes","attributeName","cookie","cookies","rdecode","charAt","read","getJSON","withConverter","OktaAuthBuilder","builderUtil","getValidUrl","usePKCE","pkce","grantType","redirectUri","postLogoutRedirectUri","responseMode","onSessionExpired","features","isPKCESupported","errorMessage","isHTTPS","hasTextEncoder","DEFAULT_MAX_CLOCK_SKEW","ignoreSignature","session","close","closeSession","sessionExists","getSession","refresh","refreshSession","setCookieAndRedirect","resume","authorize","_getLocationHref","token","getWithoutPrompt","getWithPopup","getWithRedirect","parseFromUrl","decodeToken","revoke","revokeToken","renew","renewToken","getUserInfo","verify","verifyToken","_setLocation","_getHistory","history","_getLocation","_getDocument","fingerprint","_getUserAgent","navigator","isWindowsPhone","isFingerprintSupported","agent","emitter","Emitter","tokenManager","TokenManager","_onTokenManagerError","oauthUtil","proto","isPopupPostMessageSupported","isIE8or9","isTokenVerifySupported","crypto","subtle","TextEncoder","signIn","sendFingerprint","signOut","catch","revokeAccessToken","tokens","clear","assign","idTokenHint","logoutUri","addSharedPrototypes","webfinger","listener","origin","contains","parentElement","removeChild","buildOktaAuth","searchElement","fromIndex","k","abs","Infinity","max","InvalidCharacterError","block","charCode","idx","output","bs","bc","E","_","evtArr","evts","liveEvents","isUrlRegex","forgotPassword","unlockAccount","verifyRecoveryToken","OktaAuth","ajaxRequest","Timeout","id","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","global","clearImmediate","tasksByHandle","nextHandle","registerImmediate","handle","runIfPresent","currentlyRunningATask","doc","attachTo","getPrototypeOf","importScripts","postMessageIsAsynchronous","oldOnMessage","messagePrefix","onGlobalMessage","event","html","documentElement","script","user","sessionToken","redirectUrl","checkAccountSetupComplete","token_type_hint","creds","decodedToken","jwt","payload","signature","validationOptions","sdkCrypto","valid","addPostMessageListener","responseHandler","addFragmentListener","windowEl","hashChangeHandler","hash","hashToObject","closed","exchangeCodeForToken","authorizationCode","urls","meta","PKCE","loadMeta","getTokenParams","codeVerifier","getToken","validateResponse","clearMeta","OAuthError","handleOAuthResponse","tokenDict","tokenType","filter","getDefaultOAuthParams","convertOAuthParamsToQueryParams","oauthQueryParams","codeChallenge","codeChallengeMethod","idp","idpScope","loginHint","maxAge","prompt","mayBeArray","buildAuthorizeParams","oauthOptions","prepareOauthParams","getOrigin","hasClosed","win","popupDeferred","sessionTokenOverrides","idpOverrides","requestUrl","endpoint","iframePromise","iframeEl","popupPromise","windowOptions","windowOrigin","redirectUriOrigin","closePoller","DEFAULT_CODE_CHALLENGE_METHOD","generateVerifier","saveMeta","computeChallenge","clonedParams","includes","isSecure","cookieSettings","REDIRECT_OAUTH_PARAMS_COOKIE_NAME","REDIRECT_NONCE_COOKIE_NAME","REDIRECT_STATE_COOKIE_NAME","removeHash","nativeHistory","nativeDoc","nativeLoc","replaceState","pathname","search","removeSearch","paramStr","oauthParamsCookie","accessTokenObject","authenticateHeader","getResponseHeader","errorMatches","errorDescriptionMatches","errorDescription","algo","usages","use","importKey","cryptoKey","b64Signature","summary","dec2hex","dec","substr","getRandomString","a","ceil","getRandomValues","from","prefix","verifier","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","encode","digest","validateOptions","getPostData","getExpireTime","tokenMgmtRef","expireEarlySeconds","hasExpired","clock","emitExpired","emitError","clearExpireEventTimeout","expireTimeouts","renewPromise","clearExpireEventTimeoutAll","setExpireEventTimeout","expireTime","expireEventWait","expireEventTimeout","setExpireEventTimeoutAll","tokenStorage","add","getAsync","autoRenew","existingPromise","freshTokens","freshToken","oldToken","tokenKey","finally","DEFAULT_OPTIONS","storageProvider","storageKey","TOKEN_STORAGE_NAME","SdkClock","localOffset","parseInt"],"mappings":"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","file":"okta-auth-js.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OktaAuth\"] = factory();\n\telse\n\t\troot[\"OktaAuth\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a4cce2a914ed64be9512","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OktaAuth\"] = factory();\n\telse\n\t\troot[\"OktaAuth\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint-env es6 */\nvar util = module.exports;\n\n// converts a string to base64 (url/filename safe variant)\nutil.stringToBase64Url = function(str) {\n var b64 = btoa(str);\n return util.base64ToBase64Url(b64);\n};\n\n// converts a standard base64-encoded string to a \"url/filename safe\" variant\nutil.base64ToBase64Url = function(b64) {\n return b64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n};\n\n// converts a \"url/filename safe\" base64 string to a \"standard\" base64 string\nutil.base64UrlToBase64 = function(b64u) {\n return b64u.replace(/-/g, '+').replace(/_/g, '/');\n};\n\nutil.base64UrlToString = function(b64u) {\n var b64 = util.base64UrlToBase64(b64u);\n switch (b64.length % 4) {\n case 0:\n break;\n case 2:\n b64 += '==';\n break;\n case 3:\n b64 += '=';\n break;\n default:\n throw 'Not a valid Base64Url';\n }\n var utf8 = atob(b64);\n try {\n return decodeURIComponent(escape(utf8));\n } catch (e) {\n return utf8;\n }\n};\n\nutil.stringToBuffer = function(str) {\n var buffer = new Uint8Array(str.length);\n for (var i = 0; i < str.length; i++) {\n buffer[i] = str.charCodeAt(i);\n }\n return buffer;\n};\n\nutil.base64UrlDecode = function(str) {\n return atob(util.base64UrlToBase64(str));\n};\n\nutil.bind = function(fn, ctx) {\n var additionalArgs = Array.prototype.slice.call(arguments, 2);\n return function() {\n var args = Array.prototype.slice.call(arguments);\n args = additionalArgs.concat(args);\n return fn.apply(ctx, args);\n };\n};\n\nutil.isAbsoluteUrl = function(url) {\n return /^(?:[a-z]+:)?\\/\\//i.test(url);\n};\n\nutil.isString = function(obj) {\n return Object.prototype.toString.call(obj) === '[object String]';\n};\n\nutil.isObject = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};\n\nutil.isNumber = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Number]';\n};\n\nutil.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\nutil.isoToUTCString = function(str) {\n var parts = str.match(/\\d+/g),\n isoTime = Date.UTC(parts[0], parts[1] - 1, parts[2], parts[3], parts[4], parts[5]),\n isoDate = new Date(isoTime);\n\n return isoDate.toUTCString();\n};\n\nutil.toQueryParams = function(obj) {\n var str = [];\n if (obj !== null) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key) &&\n obj[key] !== undefined &&\n obj[key] !== null) {\n str.push(key + '=' + encodeURIComponent(obj[key]));\n }\n }\n }\n if (str.length) {\n return '?' + str.join('&');\n } else {\n return '';\n }\n};\n\nutil.genRandomString = function(length) {\n var randomCharset = 'abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n var random = '';\n for (var c = 0, cl = randomCharset.length; c < length; ++c) {\n random += randomCharset[Math.floor(Math.random() * cl)];\n }\n return random;\n};\n\nutil.extend = function() {\n // First object will be modified!\n var obj1 = arguments[0];\n // Properties from other objects will be copied over\n var objArray = [].slice.call(arguments, 1);\n objArray.forEach(function(obj) {\n for (var prop in obj) {\n // copy over all properties with defined values\n if (obj.hasOwnProperty(prop) && obj[prop] !== undefined) {\n obj1[prop] = obj[prop];\n }\n }\n });\n return obj1; // return the modified object\n};\n\nutil.removeNils = function(obj) {\n var cleaned = {};\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n var value = obj[prop];\n if (value !== null && value !== undefined) {\n cleaned[prop] = value;\n }\n }\n }\n return cleaned;\n};\n\nutil.clone = function(obj) {\n if (obj) {\n var str = JSON.stringify(obj);\n if (str) {\n return JSON.parse(str);\n }\n }\n return obj;\n};\n\n// Analogous to _.omit\nutil.omit = function(obj) {\n var props = Array.prototype.slice.call(arguments, 1);\n var newobj = {};\n for (var p in obj) {\n if (obj.hasOwnProperty(p) && props.indexOf(p) == -1) {\n newobj[p] = obj[p];\n }\n }\n return util.clone(newobj);\n};\n\nutil.find = function(collection, searchParams) {\n var c = collection.length;\n while (c--) {\n var item = collection[c];\n var found = true;\n for (var prop in searchParams) {\n if (!searchParams.hasOwnProperty(prop)) {\n continue;\n }\n if (item[prop] !== searchParams[prop]) {\n found = false;\n break;\n }\n }\n if (found) {\n return item;\n }\n }\n};\n\nutil.getLink = function(obj, linkName, altName) {\n if (!obj || !obj._links) {\n return;\n }\n\n var link = util.clone(obj._links[linkName]);\n\n // If a link has a name and we have an altName, return if they match\n if (link && link.name && altName) {\n if (link.name === altName) {\n return link;\n }\n } else {\n return link;\n }\n};\n\nutil.getNativeConsole = function() {\n if (typeof window !== 'undefined') {\n return window.console;\n } else if (typeof console !== 'undefined') {\n return console;\n } else {\n return undefined;\n }\n};\n\nutil.getConsole = function() {\n var nativeConsole = util.getNativeConsole();\n if (nativeConsole && nativeConsole.log) {\n return nativeConsole;\n }\n return {\n log: function() {}\n };\n};\n\nutil.warn = function(text) {\n /* eslint-disable no-console */\n util.getConsole().log('[okta-auth-sdk] WARN: ' + text);\n /* eslint-enable */\n};\n\nutil.deprecate = function(text) {\n /* eslint-disable no-console */\n util.getConsole().log('[okta-auth-sdk] DEPRECATION: ' + text);\n /* eslint-enable */\n};\n\nutil.deprecateWrap = function(text, fn) {\n return function() {\n util.deprecate(text);\n return fn.apply(null, arguments);\n };\n};\n\nutil.removeTrailingSlash = function(path) {\n if (!path) {\n return;\n }\n // Remove any whitespace before or after string\n var trimmed = path.replace(/^\\s+|\\s+$/gm,'');\n // Remove trailing slash(es)\n trimmed = trimmed.replace(/\\/+$/, '');\n\n return trimmed;\n};\n\nutil.isIE11OrLess = function() {\n return !!document.documentMode && document.documentMode <= 11;\n};\n\nutil.isFunction = function(fn) {\n return !!fn && {}.toString.call(fn) === '[object Function]';\n};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nfunction AuthSdkError(msg, xhr) {\n this.name = 'AuthSdkError';\n this.message = msg;\n\n this.errorCode = 'INTERNAL';\n this.errorSummary = msg;\n this.errorLink = 'INTERNAL';\n this.errorId = 'INTERNAL';\n this.errorCauses = [];\n if (xhr) {\n this.xhr = xhr;\n }\n}\nAuthSdkError.prototype = new Error();\n\nmodule.exports = AuthSdkError;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n 'STATE_TOKEN_KEY_NAME': 'oktaStateToken',\n 'DEFAULT_POLLING_DELAY': 500,\n 'DEFAULT_MAX_CLOCK_SKEW': 300,\n 'DEFAULT_CACHE_DURATION': 86400,\n 'REDIRECT_OAUTH_PARAMS_COOKIE_NAME': 'okta-oauth-redirect-params',\n 'REDIRECT_STATE_COOKIE_NAME': 'okta-oauth-state',\n 'REDIRECT_NONCE_COOKIE_NAME': 'okta-oauth-nonce',\n 'TOKEN_STORAGE_NAME': 'okta-token-storage',\n 'CACHE_STORAGE_NAME': 'okta-cache-storage',\n 'PKCE_STORAGE_NAME': 'okta-pkce-storage'\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\n/* eslint-disable complexity */\nvar util = __webpack_require__(0);\nvar Q = __webpack_require__(5);\nvar AuthApiError = __webpack_require__(22);\nvar constants = __webpack_require__(2);\n\nfunction httpRequest(sdk, options) {\n options = options || {};\n var url = options.url,\n method = options.method,\n args = options.args,\n saveAuthnState = options.saveAuthnState,\n accessToken = options.accessToken,\n withCredentials = options.withCredentials !== false, // default value is true\n storageUtil = sdk.options.storageUtil,\n storage = storageUtil.storage,\n httpCache = storageUtil.getHttpCache();\n\n if (options.cacheResponse) {\n var cacheContents = httpCache.getStorage();\n var cachedResponse = cacheContents[url];\n if (cachedResponse && Date.now()/1000 < cachedResponse.expiresAt) {\n return Q.resolve(cachedResponse.response);\n }\n }\n\n var headers = {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'X-Okta-User-Agent-Extended': sdk.userAgent\n };\n util.extend(headers, sdk.options.headers, options.headers);\n\n if (accessToken && util.isString(accessToken)) {\n headers['Authorization'] = 'Bearer ' + accessToken;\n }\n\n var ajaxOptions = {\n headers: headers,\n data: args || undefined,\n withCredentials: withCredentials\n };\n\n var err, res;\n return new Q(sdk.options.httpRequestClient(method, url, ajaxOptions))\n .then(function(resp) {\n res = resp.responseText;\n if (res && util.isString(res)) {\n res = JSON.parse(res);\n }\n\n if (saveAuthnState) {\n if (!res.stateToken) {\n storage.delete(constants.STATE_TOKEN_KEY_NAME);\n }\n }\n\n if (res && res.stateToken && res.expiresAt) {\n storage.set(constants.STATE_TOKEN_KEY_NAME, res.stateToken, res.expiresAt);\n }\n\n if (res && options.cacheResponse) {\n httpCache.updateStorage(url, {\n expiresAt: Math.floor(Date.now()/1000) + constants.DEFAULT_CACHE_DURATION,\n response: res\n });\n }\n\n return res;\n })\n .fail(function(resp) {\n var serverErr = resp.responseText || {};\n if (util.isString(serverErr)) {\n try {\n serverErr = JSON.parse(serverErr);\n } catch (e) {\n serverErr = {\n errorSummary: 'Unknown error'\n };\n }\n }\n\n if (resp.status >= 500) {\n serverErr.errorSummary = 'Unknown error';\n }\n\n if (sdk.options.transformErrorXHR) {\n resp = sdk.options.transformErrorXHR(util.clone(resp));\n }\n\n err = new AuthApiError(serverErr, resp);\n\n if (err.errorCode === 'E0000011') {\n storage.delete(constants.STATE_TOKEN_KEY_NAME);\n }\n\n throw err;\n });\n}\n\nfunction get(sdk, url, options) {\n url = util.isAbsoluteUrl(url) ? url : sdk.options.url + url;\n var getOptions = {\n url: url,\n method: 'GET'\n };\n util.extend(getOptions, options);\n return httpRequest(sdk, getOptions);\n}\n\nfunction post(sdk, url, args, options) {\n url = util.isAbsoluteUrl(url) ? url : sdk.options.url + url;\n var postOptions = {\n url: url,\n method: 'POST',\n args: args,\n saveAuthnState: true\n };\n util.extend(postOptions, options);\n return httpRequest(sdk, postOptions);\n}\n\nmodule.exports = {\n get: get,\n post: post,\n httpRequest: httpRequest\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\nvar Cookies = __webpack_require__(14);\nvar storageBuilder = __webpack_require__(6);\nvar constants = __webpack_require__(2);\n\n// Building this as an object allows us to mock the functions in our tests\nvar storageUtil = {};\n\n// IE11 bug that Microsoft doesn't plan to fix\n// https://connect.microsoft.com/IE/Feedback/Details/1496040\nstorageUtil.browserHasLocalStorage = function() {\n try {\n var storage = storageUtil.getLocalStorage();\n return storageUtil.testStorage(storage);\n } catch (e) {\n return false;\n }\n};\n\nstorageUtil.browserHasSessionStorage = function() {\n try {\n var storage = storageUtil.getSessionStorage();\n return storageUtil.testStorage(storage);\n } catch (e) {\n return false;\n }\n};\n\nstorageUtil.getPKCEStorage = function() {\n if (storageUtil.browserHasLocalStorage()) {\n return storageBuilder(storageUtil.getLocalStorage(), constants.PKCE_STORAGE_NAME);\n } else if (storageUtil.browserHasSessionStorage()) {\n return storageBuilder(storageUtil.getSessionStorage(), constants.PKCE_STORAGE_NAME);\n } else {\n return storageBuilder(storageUtil.getCookieStorage({\n secure: window.location.protocol === 'https:'\n }), constants.PKCE_STORAGE_NAME);\n }\n};\n\nstorageUtil.getHttpCache = function() {\n if (storageUtil.browserHasLocalStorage()) {\n return storageBuilder(storageUtil.getLocalStorage(), constants.CACHE_STORAGE_NAME);\n } else if (storageUtil.browserHasSessionStorage()) {\n return storageBuilder(storageUtil.getSessionStorage(), constants.CACHE_STORAGE_NAME);\n } else {\n return storageBuilder(storageUtil.getCookieStorage({\n secure: window.location.protocol === 'https:'\n }), constants.CACHE_STORAGE_NAME);\n }\n};\n\nstorageUtil.getLocalStorage = function() {\n return localStorage;\n};\n\nstorageUtil.getSessionStorage = function() {\n return sessionStorage;\n};\n\n// Provides webStorage-like interface for cookies\nstorageUtil.getCookieStorage = function(options) {\n options = options || {};\n var secure = options.secure || false; // currently opt-in\n var sameSite = options.sameSite || (secure ? 'none' : 'lax');\n return {\n getItem: storageUtil.storage.get,\n setItem: function(key, value) {\n // Cookie shouldn't expire\n storageUtil.storage.set(key, value, '2200-01-01T00:00:00.000Z', {\n secure: secure, \n sameSite: sameSite\n });\n }\n };\n};\n\n// Provides an in-memory solution\nstorageUtil.getInMemoryStorage = function() {\n var store = {};\n return {\n getItem: function(key) {\n return store[key];\n },\n setItem: function(key, value) {\n store[key] = value;\n }\n };\n};\n\nstorageUtil.testStorage = function(storage) {\n var key = 'okta-test-storage';\n try {\n storage.setItem(key, key);\n storage.removeItem(key);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nstorageUtil.storage = {\n set: function(name, value, expiresAt, options) {\n options = options || {};\n var cookieOptions = {\n path: options.path || '/',\n secure: options.secure,\n sameSite: options.sameSite\n };\n\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!(Date.parse(expiresAt))) {\n // Expires value can be converted to a Date object.\n //\n // If the 'expiresAt' value is not provided, or the value cannot be\n // parsed as a Date object, the cookie will set as a session cookie.\n cookieOptions.expires = new Date(expiresAt);\n }\n\n Cookies.set(name, value, cookieOptions);\n return storageUtil.storage.get(name);\n },\n\n get: function(name) {\n return Cookies.get(name);\n },\n\n delete: function(name) {\n return Cookies.remove(name, { path: '/' });\n }\n};\n\nmodule.exports = storageUtil;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, setImmediate) {// vim:ts=4:sts=4:sw=4:\n/*!\n *\n * Copyright 2009-2012 Kris Kowal under the terms of the MIT\n * license found at http://github.com/kriskowal/q/raw/master/LICENSE\n *\n * With parts by Tyler Close\n * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found\n * at http://www.opensource.org/licenses/mit-license.html\n * Forked at ref_send.js version: 2009-05-11\n *\n * With parts by Mark Miller\n * Copyright (C) 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n(function (definition) {\n \"use strict\";\n\n // This file will function properly as a