{"version":3,"sources":["webpack://jso/webpack/universalModuleDefinition","webpack://jso/webpack/bootstrap","webpack://jso/./node_modules/core-js/modules/_wks.js","webpack://jso/./node_modules/core-js/modules/_global.js","webpack://jso/./node_modules/core-js/modules/_core.js","webpack://jso/./node_modules/core-js/modules/_an-object.js","webpack://jso/./node_modules/core-js/modules/_hide.js","webpack://jso/./node_modules/core-js/modules/_export.js","webpack://jso/./node_modules/core-js/modules/_iterators.js","webpack://jso/./node_modules/core-js/modules/_has.js","webpack://jso/./node_modules/core-js/modules/_redefine.js","webpack://jso/./node_modules/core-js/modules/_descriptors.js","webpack://jso/./node_modules/core-js/modules/_is-object.js","webpack://jso/./src/Loaders/BasicLoader.js","webpack://jso/./src/utils.js","webpack://jso/./node_modules/core-js/modules/_cof.js","webpack://jso/./node_modules/core-js/modules/_a-function.js","webpack://jso/./node_modules/core-js/modules/_ctx.js","webpack://jso/./node_modules/core-js/modules/_object-dp.js","webpack://jso/./node_modules/core-js/modules/_new-promise-capability.js","webpack://jso/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://jso/./node_modules/core-js/modules/_classof.js","webpack://jso/./node_modules/core-js/modules/_shared-key.js","webpack://jso/./node_modules/core-js/modules/_to-integer.js","webpack://jso/./node_modules/core-js/modules/_defined.js","webpack://jso/./node_modules/core-js/modules/_to-iobject.js","webpack://jso/./node_modules/core-js/modules/_object-keys.js","webpack://jso/./node_modules/core-js/modules/_uid.js","webpack://jso/./node_modules/core-js/modules/_dom-create.js","webpack://jso/./node_modules/core-js/modules/_fails.js","webpack://jso/./src/errors/Error.js","webpack://jso/./src/errors/ExpiredTokenError.js","webpack://jso/./node_modules/core-js/modules/_promise-resolve.js","webpack://jso/./node_modules/core-js/modules/_perform.js","webpack://jso/./node_modules/core-js/modules/_task.js","webpack://jso/./node_modules/core-js/modules/_species-constructor.js","webpack://jso/./node_modules/core-js/modules/_html.js","webpack://jso/./node_modules/core-js/modules/_library.js","webpack://jso/./node_modules/core-js/modules/_iter-define.js","webpack://jso/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://jso/./node_modules/core-js/modules/_to-object.js","webpack://jso/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://jso/./node_modules/core-js/modules/_shared.js","webpack://jso/./node_modules/core-js/modules/_to-length.js","webpack://jso/./node_modules/core-js/modules/_array-includes.js","webpack://jso/./node_modules/core-js/modules/_iobject.js","webpack://jso/./node_modules/core-js/modules/_property-desc.js","webpack://jso/./src/EventEmitter.js","webpack://jso/./src/Config.js","webpack://jso/./src/errors/OAuthResponseError.js","webpack://jso/./src/HTTP/FetcherJQuery.js","webpack://jso/./src/HTTP/Fetcher.js","webpack://jso/./src/Loaders/Popup.js","webpack://jso/./src/Loaders/IFramePassive.js","webpack://jso/./src/Loaders/HTTPRedirect.js","webpack://jso/./src/store.js","webpack://jso/./node_modules/core-js/modules/es7.promise.try.js","webpack://jso/./node_modules/core-js/modules/es7.promise.finally.js","webpack://jso/./node_modules/core-js/modules/_iter-detect.js","webpack://jso/./node_modules/core-js/modules/_set-species.js","webpack://jso/./node_modules/core-js/modules/_redefine-all.js","webpack://jso/./node_modules/core-js/modules/_microtask.js","webpack://jso/./node_modules/core-js/modules/_invoke.js","webpack://jso/./node_modules/core-js/modules/core.get-iterator-method.js","webpack://jso/./node_modules/core-js/modules/_is-array-iter.js","webpack://jso/./node_modules/core-js/modules/_iter-call.js","webpack://jso/./node_modules/core-js/modules/_for-of.js","webpack://jso/./node_modules/core-js/modules/_an-instance.js","webpack://jso/./node_modules/core-js/modules/es6.promise.js","webpack://jso/./node_modules/core-js/modules/_iter-step.js","webpack://jso/./node_modules/core-js/modules/es6.array.iterator.js","webpack://jso/./node_modules/core-js/modules/web.dom.iterable.js","webpack://jso/./node_modules/core-js/modules/_object-gpo.js","webpack://jso/./node_modules/core-js/modules/_object-dps.js","webpack://jso/./node_modules/core-js/modules/_object-create.js","webpack://jso/./node_modules/core-js/modules/_iter-create.js","webpack://jso/./node_modules/core-js/modules/_string-at.js","webpack://jso/./node_modules/core-js/modules/es6.string.iterator.js","webpack://jso/./node_modules/core-js/modules/es6.object.to-string.js","webpack://jso/./node_modules/core-js/fn/promise.js","webpack://jso/./node_modules/core-js/modules/es7.array.includes.js","webpack://jso/./node_modules/core-js/fn/array/includes.js","webpack://jso/./node_modules/core-js/modules/_object-pie.js","webpack://jso/./node_modules/core-js/modules/_object-gops.js","webpack://jso/./node_modules/core-js/modules/_to-absolute-index.js","webpack://jso/./node_modules/core-js/modules/_object-keys-internal.js","webpack://jso/./node_modules/core-js/modules/_object-assign.js","webpack://jso/./node_modules/core-js/modules/_to-primitive.js","webpack://jso/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://jso/./node_modules/core-js/modules/es6.object.assign.js","webpack://jso/./node_modules/core-js/fn/object/assign.js","webpack://jso/./src/JSO.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","store","uid","Symbol","USE_SYMBOL","global","Math","self","Function","__g","core","version","__e","isObject","it","TypeError","dP","createDesc","key","f","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","U","W","R","has","SRC","$toString","TPL","split","inspectSource","O","val","safe","isFunction","join","String","this","a","BasicLoader","url","_classCallCheck","console","log","utils","round","Date","getTime","replace","random","toString","indexOf","parseQueryString","substring","qs","e","decodeURIComponent","q","urlParams","exec","scopes","uniqueList","items","uniqueItems","resultItems","length","push","msg","debug","args","Array","slice","arguments","unshift","apply","params","k","res","encodeURIComponent","firstSeparator","aFunction","fn","that","b","anObject","IE8_DOM_DEFINE","toPrimitive","Attributes","C","resolve","reject","promise","$$resolve","$$reject","def","TAG","tag","stat","cof","ARG","T","tryGet","callee","shared","ceil","floor","isNaN","IObject","defined","$keys","enumBugKeys","keys","id","px","concat","document","is","createElement","Error","props","_Error2","ExpiredTokenError","newPromiseCapability","x","constructor","promiseCapability","v","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","data","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","set","clear","SPECIES","D","documentElement","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","UNSCOPABLES","ArrayProto","toInteger","min","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","index","propertyIsEnumerable","bitmap","writable","EventEmitter","callback","_callbacks","Config","config","assign","pointer","splittedKeys","defaultValue","isRequired","OAuthResponseError","error","error_description","_ExpiredTokenError","FetcherJQuery","jso","jquery","opts","_this","Promise","done","fail","jqXHR","textStatus","errorThrown","parseInt","wipeTokens","_ExpiredTokenError2","default","ajax","reccur","_this2","getTokenOpts","fetchOpts","mode","getToken","catch","err","then","token","headers","Authorization","access_token","_fetch","fetch","Fetcher","response","status","_BasicLoader2","Popup","popupCompleted","newwindow","location","href","open","focus","IFramePassive","_possibleConstructorReturn","__proto__","timeout","isCompleted","_utils2","uuid","eventMethod","iframe","setAttribute","contentWindow","hash","encodedHash","search","_completed","_failed","errorCallback","getElementsByTagName","element","getElementById","parentNode","_cleanup","HTTPRedirect","_utils","Store","state","obj","localStorage","setItem","JSON","stringify","parse","getItem","removeItem","scope","tokens","j","usethis","result","epoch","expires","hasScope","provider","getTokens","filterTokens","saveTokens","perform","try","callbackfn","speciesConstructor","promiseResolve","finally","onFinally","SAFE_CLOSING","riter","from","skipClosing","arr","iter","DESCRIPTORS","KEY","src","macrotask","Observer","MutationObserver","WebKitMutationObserver","isNode","head","last","notify","flush","parent","domain","exit","enter","navigator","standalone","toggle","node","createTextNode","observe","characterData","task","un","classof","getIteratorMethod","iterator","ret","isArrayIter","getIterFn","BREAK","RETURN","iterable","step","iterFn","forbiddenField","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","microtask","newPromiseCapabilityModule","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","handler","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","capability","all","remaining","$index","alreadyCalled","race","addToUnscopables","iterated","_t","_i","_k","Arguments","$iterators","getKeys","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","toObject","IE_PROTO","ObjectProto","defineProperties","Properties","dPs","Empty","createDict","iframeDocument","style","display","write","lt","close","create","descriptor","TO_STRING","pos","charCodeAt","charAt","$at","point","test","$includes","includes","getOwnPropertySymbols","max","arrayIndexOf","names","gOPS","pIE","$assign","A","K","forEach","aLen","getSymbols","isEnum","valueOf","default_config","lifetime","JSO","configure","providerID","getProviderID","Loader","_HTTPRedirect2","_store2","callbacks","getValue","_Config2","newstore","loader","client_id","atoken","getState","processReceivedToken","received","expires_in","saveToken","restoreHash","Headers","append","btoa","tokenRequest","grant_type","code","redirect_uri","method","body","encodeQS","httpResponse","json","tokenResponse","_OAuthResponseError2","_typeof","getResponseFromURL","processTokenResponse","processAuthorizationCodeResponse","processErrorResponse","request","require","_this3","scopesRequire","_getRequiredScopes","allowredir","_authorize","authurl","_this4","openid","authorization","_assign2","response_type","_getRequestScopes","scopeList","nonce","encodeURL","saveState","gotoAuthorizeURL","execute"],"mappings":"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","file":"jso.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[\"jso\"] = factory();\n\telse\n\t\troot[\"jso\"] = factory();\n})(window, function() {\nreturn "," \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// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 90);\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var core = module.exports = { version: '2.5.3' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = {};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","export default class BasicLoader {\n\tconstructor(url) {\n\t\tconsole.log(\"Initializing a loader with url \" + url)\n\t\tthis.url = url\n\t}\n\texecute() {\n\n\t}\n}\n","\nlet utils = {}\n\n/*\n * Returns epoch, seconds since 1970.\n * Used for calculation of expire times.\n */\nutils.epoch = function() {\n\treturn Math.round(new Date().getTime()/1000.0)\n}\n\nutils.debug = false\n\n/*\n * Returns a random string used for state\n */\nutils.uuid = function() {\n\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n\t\tvar r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8)\n\t return v.toString(16)\n\t})\n}\n\n/*\n * Takes a full url as input and expect it to have an encoded response\n * object as eigther a query string or an encoded fragment.\n * Returns the decoded object, or throws an error if no query string or fragment.\n */\nutils.getResponseFromURL = function (url) {\n if (url.indexOf('#') !== -1) {\n return utils.parseQueryString(url.substring(url.indexOf('#')+1))\n } else if (url.indexOf('?') !== -1) {\n return utils.parseQueryString(url.substring(url.indexOf('?')+1))\n }\n return {}\n}\n\nutils.parseQueryString = function (qs) {\n\tvar e,\n\t\ta = /\\+/g, // Regex for replacing addition symbol with a space\n\t\tr = /([^&;=]+)=?([^&;]*)/g,\n\t\td = function (s) { return decodeURIComponent(s.replace(a, \" \")) },\n\t\tq = qs,\n\t\turlParams = {}\n\n\t/* jshint ignore:start */\n\twhile (e = r.exec(q)) {\n\t urlParams[d(e[1])] = d(e[2])\n\t};\n\t/* jshint ignore:end */\n\n\treturn urlParams\n}\n\n\n\n\n\n/**\n * Utility: scopeList(scopes )\n * Takes a list of scopes that might be overlapping, and removed duplicates,\n * then concatenates the list by spaces and returns a string.\n *\n * @param {[type]} scopes [description]\n * @return {[type]} [description]\n */\nutils.scopeList = function(scopes) {\n\treturn utils.uniqueList(scopes).join(' ')\n}\n\n\nutils.uniqueList = function(items) {\n\tvar uniqueItems = {}\n\tvar resultItems = []\n\tfor(var i = 0; i < items.length; i++) {\n\t\tuniqueItems[items[i]] = 1\n\t}\n\tfor(var key in uniqueItems) {\n\t\tif (uniqueItems.hasOwnProperty(key)) {\n\t\t\tresultItems.push(key)\n\t\t}\n\t}\n\treturn resultItems\n}\n\n\n\n/**\n * A log wrapper, that only logs if logging is turned on in the config\n * @param {string} msg Log message\n */\nutils.log = function(msg) {\n\tif (!console) return\n\tif (!console.log) return\n if (!utils.debug) return\n\n let args = Array.prototype.slice.call(arguments)\n args.unshift('[JSO]')\n\tconsole.log.apply(console, args)\n\n}\n\nutils.encodeQS = function(params) {\n let res = ''\n\tvar k, i = 0\n\tfor(k in params) {\n\t\tres += (i++ === 0 ? '' : '&') + encodeURIComponent(k) + '=' + encodeURIComponent(params[k])\n\t}\n\treturn res\n}\n\n/*\n * Takes an URL as input and a params object.\n * Each property in the params is added to the url as query string parameters\n */\nutils.encodeURL = function(url, params) {\n\tvar res = url\n\tvar k, i = 0\n\tvar firstSeparator = (url.indexOf(\"?\") === -1) ? '?' : '&'\n\tfor(k in params) {\n\t\tres += (i++ === 0 ? firstSeparator : '&') + encodeURIComponent(k) + '=' + encodeURIComponent(params[k])\n\t}\n\treturn res\n}\n\n\nexport default utils\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","\nexport default class Error {\n\tconstructor(props) {\n\t\tfor(var key in props) {\n\t\t\tthis[key] = props[key];\n\t\t}\n\t}\n\n\tset(key, value) {\n\t\tthis[key] = value;\n\t\treturn this;\n\t}\n}","import Error from './Error';\n\nexport default class ExpiredTokenError extends Error {\n\n}","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = false;\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = (!BUGGY && $native) || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","export default class EventEmitter {\n\n on(type, callback) {\n if (!this._callbacks) {\n this._callbacks = {}\n }\n if (!this._callbacks[type]) {\n this._callbacks[type] = []\n }\n\n this._callbacks[type].push(callback)\n }\n\n emit(type) {\n if (!this._callbacks) {\n this._callbacks = {}\n }\n if (!this._callbacks[type]) {\n this._callbacks[type] = []\n }\n\n var args = Array.prototype.slice.call(arguments, 1)\n for(var i = 0; i < this._callbacks[type].length; i++) {\n this._callbacks[type][i].apply(this, args)\n }\n }\n}\n","export default class Config {\n\n\tconstructor() {\n this.config = {}\n\t\tfor(var i = 0; i < arguments.length; i++) {\n Object.assign(this.config, arguments[i])\n\t\t}\n\t}\n\n\thas(key) {\n\t\tvar pointer = this.config\n\t\tvar splittedKeys = key.split('.')\n\t\tvar i = 0\n\t\tfor(i = 0; i < splittedKeys.length; i++) {\n\t\t\tif (pointer.hasOwnProperty(splittedKeys[i])) {\n\t\t\t\tpointer = pointer[splittedKeys[i]]\n\t\t\t} else {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\n\tgetValue(key, defaultValue, isRequired) {\n\t\tvar isRequired = isRequired || false\n\t\tvar pointer = this.config\n\t\tvar splittedKeys = key.split('.')\n\t\tvar i = 0\n\t\tfor(i = 0; i < splittedKeys.length; i++) {\n\n\t\t\tif (pointer.hasOwnProperty(splittedKeys[i])) {\n\t\t\t\t// console.log(\"POINTING TO \" + splittedKeys[i]);\n\t\t\t\tpointer = pointer[splittedKeys[i]]\n\t\t\t} else {\n\t\t\t\tpointer = undefined\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (typeof pointer === 'undefined') {\n\t\t\tif (isRequired) {\n\t\t\t\tthrow new Error(\"Configuration option [\" + splittedKeys[i] + \"] required but not provided.\")\n\t\t\t}\n\t\t\treturn defaultValue\n\t\t}\n\t\treturn pointer\n\t}\n}\n","import Error from './Error'\n\nexport default class OAuthResponseError extends Error {\n\n toString() {\n let header = this.error || 'unknown'\n let descr = this.error_description || 'unknown'\n return 'OAuthResponseError: [' + header + ']: ' + descr\n }\n}\n","import ExpiredTokenError from '../errors/ExpiredTokenError'\n\nexport default class FetcherJQuery {\n\tconstructor(jso, jquery) {\n this.jso = jso\n this.jquery = jquery\n\t}\n\n _fetch(url, opts) {\n\n return new Promise((resolve, reject) => {\n\n opts.done = resolve\n opts.fail = (jqXHR, textStatus, errorThrown) => {\n let status = parseInt(textStatus, 10)\n if (status === 401) {\n this.jso.wipeTokens()\n return reject(new ExpiredTokenError())\n }\n return reject(errorThrown)\n }\n return this.jquery.ajax(url, opts)\n\n })\n\n }\n\n\tfetch(url, opts, reccur) {\n reccur = reccur ? reccur : 0\n if (reccur > 2) {\n throw new Error(\"Reccursion error. Expired tokens deleted and tried again multiple times.\")\n }\n let getTokenOpts = {}\n let fetchOpts = {\n 'mode': 'cors'\n }\n if (opts) {\n fetchOpts = opts\n Object.assign(fetchOpts, opts)\n }\n if (opts && opts.jso) {\n Object.assign(getTokenOpts, opts.jso)\n }\n\n return this.jso.getToken(getTokenOpts)\n .catch((err) => {\n console.error(\"Error fetching token to use \", err)\n })\n .then((token) => {\n \t// console.log(\"I got the token: \", token.access_token)\n\n if (!fetchOpts.headers) {\n fetchOpts.headers = {}\n }\n fetchOpts.headers.Authorization = 'Bearer ' + token.access_token\n return this._fetch(url, fetchOpts)\n .catch((err) => {\n if (err instanceof ExpiredTokenError) {\n console.error(\"Token was expired. Deleting all tokens for this provider and get a new one\", err)\n this.jso.wipeTokens()\n return this.fetch(url, opts, reccur+1)\n }\n })\n\n })\n\t}\n\n\n\n}\n","\nimport ExpiredTokenError from '../errors/ExpiredTokenError'\n\nexport default class Fetcher {\n\tconstructor(jso) {\n this.jso = jso\n\t}\n\n _fetch(url, opts) {\n return fetch(url, opts)\n .then((response) => {\n if (response.status === 401) {\n throw new ExpiredTokenError()\n }\n return response\n })\n }\n\n\tfetch(url, opts, reccur) {\n reccur = reccur ? reccur : 0\n if (reccur > 2) {\n throw new Error(\"Reccursion error. Expired tokens deleted and tried again multiple times.\")\n }\n let getTokenOpts = {}\n let fetchOpts = {\n 'mode': 'cors'\n }\n if (opts) {\n fetchOpts = opts\n Object.assign(fetchOpts, opts)\n }\n if (opts && opts.jso) {\n Object.assign(getTokenOpts, opts.jso)\n }\n\n return this.jso.getToken(getTokenOpts)\n .catch((err) => {\n console.error(\"Error fetching token to use \", err)\n })\n .then((token) => {\n \t// console.log(\"I got the token: \", token.access_token)\n\n if (!fetchOpts.headers) {\n fetchOpts.headers = {}\n }\n fetchOpts.headers.Authorization = 'Bearer ' + token.access_token\n return this._fetch(url, fetchOpts)\n .catch((err) => {\n if (err instanceof ExpiredTokenError) {\n console.error(\"Token was expired. Deleting all tokens for this provider and get a new one\", err)\n this.jso.wipeTokens()\n return this.fetch(url, opts, reccur+1)\n }\n })\n\n })\n\t}\n\n\n\n}\n","import BasicLoader from './BasicLoader'\n\nexport default class Popup extends BasicLoader {\n\n execute() {\n\n\t\t/*\n\t\t* In the popup's scripts, running on :\n\t\t*/\n\t\treturn new Promise((resolve, reject) => {\n\n\t\t\t// window.addEventListener(\"jso_message\", function(event) {\n\t\t\t// \tconsole.log(\"Sent a message to event.origin \" + event.origin + \" and got the following in response:\")\n\t\t\t// \tconsole.log(\"\", event.data, \"\")\n\t // \tvar url = newwindow.location.href\n\t // \t// console.error(\"Popup location is \", url, newwindow.location)\n // resolve(url)\n\t\t\t// })\n\n \t\twindow.popupCompleted = function() {\n\t \tvar url = newwindow.location.href\n resolve(url)\n\t\t\t}\n\n\t\t\tvar newwindow = window.open(this.url, 'jso-popup-auth', 'height=600,width=800')\n if (newwindow === null) {\n throw new Error(\"Error loading popup window\")\n }\n\t\t\tif (window.focus) {\n\t\t\t\tnewwindow.focus()\n\t\t\t}\n\n\t\t})\n\t}\n}\n","import BasicLoader from './BasicLoader'\nimport utils from '../utils'\n\nexport default class IFramePassive extends BasicLoader {\n\n\tconstructor(url) {\n\t\tsuper(url)\n\n\t\tthis.timeout = 5000\n\t\tthis.callback = null\n\t\tthis.isCompleted = false\n this.id = 'jso_passive_iframe_' + utils.uuid()\n\n // Create IE + others compatible event handler\n var eventMethod = window.addEventListener ? \"addEventListener\" : \"attachEvent\"\n var eventer = window[eventMethod]\n var messageEvent = eventMethod == \"attachEvent\" ? \"onmessage\" : \"message\"\n\n this.iframe = document.createElement('iframe')\n this.iframe.setAttribute('id', this.id)\n this.iframe.setAttribute('src', url)\n\n this.iframe.addEventListener('load', (e) => {\n\n let object = null\n try {\n if (this.iframe.contentWindow.location.hash) {\n let encodedHash = this.iframe.contentWindow.location.hash.substring(1)\n object = utils.parseQueryString(encodedHash)\n } else if (this.iframe.contentWindow.location.search) {\n let encodedHash = this.iframe.contentWindow.location.search.substring(1)\n object = utils.parseQueryString(encodedHash)\n }\n\n if (object !== null) {\n this._completed(object)\n } else {\n this._failed(new Error(\"Failed to obtain response value from iframe\"))\n }\n } catch(err) {\n // Most likely not able to access the content window because of same-origin policy.\n //\n // Ignore this error, as this is likely to happen during the SSO redirect loop, but the load\n // event may be triggered multiple times, so it is not neccessary a problem that the first is not\n // accessible.\n }\n\n })\n\n\t}\n\n\texecute() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.callback = resolve\n this.errorCallback = reject\n document.getElementsByTagName('body')[0].appendChild(this.iframe)\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._failed(new Error(\"Loading iframe timed out\"))\n\t\t\t}, this.timeout)\n\t\t})\n\t}\n\n\n\t_cleanup() {\n let element = document.getElementById(this.id)\n element.parentNode.removeChild(element)\n\t}\n\n _failed(err) {\n if (!this.isCompleted) {\n\t\t\tif (this.errorCallback && typeof this.errorCallback === 'function') {\n\t\t\t\tthis.errorCallback(err)\n\t\t\t}\n\t\t\tthis.isCompleted = true\n\t\t\tthis._cleanup()\n\t\t}\n }\n\n\t_completed(response) {\n\t\tif (!this.isCompleted) {\n\t\t\tif (this.callback && typeof this.callback === 'function') {\n\t\t\t\tthis.callback(response)\n\t\t\t}\n\t\t\tthis.isCompleted = true\n\t\t\tthis._cleanup()\n\t\t}\n\t}\n}\n","import BasicLoader from './BasicLoader'\nimport utils from '../utils'\n\nexport default class HTTPRedirect extends BasicLoader {\n\texecute() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\twindow.location = this.url\n\t\t})\n\t}\n}\n","import utils from './utils'\n\nclass Store {\n\n\tconstructor() {\n\t}\n\n\t/*\n\t\tsaveState stores an object with an Identifier.\n\t\tTODO: Ensure that both localstorage and JSON encoding has fallbacks for ancient browsers.\n\t\tIn the state object, we put the request object, plus these parameters:\n\t\t * restoreHash\n\t\t * providerID\n\t\t * scopes\n\n\t */\n\tsaveState(state, obj) {\n\t\tlocalStorage.setItem(\"state-\" + state, JSON.stringify(obj))\n\t}\n\n\t/**\n\t * getStage() returns the state object, but also removes it.\n\t * @type {Object}\n\t */\n\tgetState(state) {\n\t\t// log(\"getState (\" + state+ \")\");\n\t\tvar obj = JSON.parse(localStorage.getItem(\"state-\" + state))\n\t\tlocalStorage.removeItem(\"state-\" + state)\n\t\treturn obj\n\t}\n\n\n\t/*\n\t * Checks if a token, has includes a specific scope.\n\t * If token has no scope at all, false is returned.\n\t */\n\thasScope(token, scope) {\n\t\tvar i\n\t\tif (!token.scopes) return false\n\t\tfor(i = 0; i < token.scopes.length; i++) {\n\t\t\tif (token.scopes[i] === scope) return true\n\t\t}\n\t\treturn false\n\t}\n\n\t/*\n\t * Takes an array of tokens, and removes the ones that\n\t * are expired, and the ones that do not meet a scopes requirement.\n\t */\n\tfilterTokens(tokens, scopes) {\n\t\tvar i, j,\n\t\t\tresult = [],\n\t\t\tnow = utils.epoch(),\n\t\t\tusethis\n\n\t\tif (!scopes) scopes = []\n\n\t\tfor(i = 0; i < tokens.length; i++) {\n\t\t\tusethis = true\n\n\t\t\t// Filter out expired tokens. Tokens that is expired in 1 second from now.\n\t\t\tif (tokens[i].expires && tokens[i].expires < (now+1)) usethis = false\n\n\t\t\t// Filter out this token if not all scope requirements are met\n\t\t\tfor(j = 0; j < scopes.length; j++) {\n\t\t\t\tif (!this.hasScope(tokens[i], scopes[j])) usethis = false\n\t\t\t}\n\n\t\t\tif (usethis) result.push(tokens[i])\n\t\t}\n\t\treturn result\n\t}\n\n\n\t/*\n\t * saveTokens() stores a list of tokens for a provider.\n\n\t\tUsually the tokens stored are a plain Access token plus:\n\t\t * expires : time that the token expires\n\t\t * providerID: the provider of the access token?\n\t\t * scopes: an array with the scopes (not string)\n\t */\n\tsaveTokens(provider, tokens) {\n\t\t// log(\"Save Tokens (\" + provider+ \")\");\n\t\tlocalStorage.setItem(\"tokens-\" + provider, JSON.stringify(tokens))\n\t}\n\n\tgetTokens(provider) {\n\t\t// log(\"Get Tokens (\" + provider+ \")\");\n\t\tvar tokens = JSON.parse(localStorage.getItem(\"tokens-\" + provider))\n\t\tif (!tokens) tokens = []\n\n\t\tutils.log(\"Token found when loooking up provider \" + provider + \" in store \" + window.location.href, tokens)\n\t\treturn tokens\n\t}\n\n\twipeTokens(provider) {\n\t\tlocalStorage.removeItem(\"tokens-\" + provider)\n\t}\n\n\t/*\n\t * Save a single token for a provider.\n\t * This also cleans up expired tokens for the same provider.\n\t */\n\tsaveToken(provider, token) {\n\t\tvar tokens = this.getTokens(provider)\n\t\ttokens = this.filterTokens(tokens)\n\t\ttokens.push(token)\n\t\tthis.saveTokens(provider, tokens)\n\t}\n\n\t/*\n\t * Get a token if exists for a provider with a set of scopes.\n\t * The scopes parameter is OPTIONAL.\n\t */\n\tgetToken(provider, scopes) {\n\t\tvar tokens = this.getTokens(provider)\n\t\ttokens = this.filterTokens(tokens, scopes)\n\t\tif (tokens.length < 1) return null\n\t\treturn tokens[0]\n\t};\n\n}\n\nvar s = new Store()\n\nexport default s\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value);\n if (domain) domain.exit();\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","exports.f = {}.propertyIsEnumerable;\n","exports.f = Object.getOwnPropertySymbols;\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","/**\n * JSO - Javascript OAuth Library\n * \tVersion 4.0\n * UNINETT AS - http://uninett.no\n * Author: Andreas Åkre Solberg \n * Licence: Simplified BSD Licence\n *\n * Documentation available at: https://github.com/andreassolberg/jso\n */\n\n\n// Polyfills to support >= IE10\nimport assign from 'core-js/fn/object/assign'\nimport 'core-js/fn/array/includes'\nimport 'core-js/fn/promise'\n// ------\n\nimport store from './store'\nimport utils from './utils'\n\n// Work in progress\n// import Authentication from './Authentication/Authentication'\n\nimport BasicLoader from './Loaders/BasicLoader'\nimport HTTPRedirect from './Loaders/HTTPRedirect'\nimport IFramePassive from './Loaders/IFramePassive'\nimport Popup from './Loaders/Popup'\n\nimport Fetcher from './HTTP/Fetcher'\nimport FetcherJQuery from './HTTP/FetcherJQuery'\n\n// import ExpiredTokenError from './errors/ExpiredTokenError'\n// import HTTPError from './errors/HTTPError'\nimport OAuthResponseError from './errors/OAuthResponseError'\n\nimport Config from './Config'\nimport EventEmitter from './EventEmitter'\n\nconst package_json = require('../package.json')\n\nconst default_config = {\n 'lifetime': 3600\n}\n\nclass JSO extends EventEmitter {\n\tconstructor(config) {\n super()\n\t\tthis.configure(config)\n\t\tthis.providerID = this.getProviderID()\n\t\tthis.Loader = HTTPRedirect\n this.store = store\n\t\tthis.callbacks = {}\n\n if (this.config.getValue('debug', false)) {\n utils.debug = true\n }\n\t}\n\n\tconfigure(config) {\n\t\tthis.config = new Config(default_config, config)\n\t}\n\n // Experimental, nothing but default store exists yet. Not documented.\n setStore(newstore) {\n this.store = newstore\n }\n\n\tsetLoader(loader) {\n\t\tif (typeof loader === \"function\") {\n\t\t\tthis.Loader = loader\n\t\t} else {\n\t\t\tthrow new Error(\"loader MUST be an instance of the JSO BasicLoader\")\n\t\t}\n\t}\n\n\n\n\t/**\n\t * We need to get an identifier to represent this OAuth provider.\n\t * The JSO construction option providerID is preferred, if not provided\n\t * we construct a concatentaion of authorization url and client_id.\n\t * @return {[type]} [description]\n\t */\n\tgetProviderID() {\n\n\t\tvar c = this.config.getValue('providerID', null)\n\t\tif (c !== null) {return c}\n\n\t\tvar client_id = this.config.getValue('client_id', null, true)\n\t\tvar authorization = this.config.getValue('authorization', null, true)\n\n\t\treturn authorization + '|' + client_id\n\t}\n\n\t/**\n\t * If the callback has already successfully parsed a token response, call this.\n\t * @return {[type]} [description]\n\t */\n\tprocessTokenResponse(atoken) {\n\t\tlet state\n\t\tif (atoken.state) {\n\t\t\tstate = this.store.getState(atoken.state)\n\t\t} else {\n\t\t\tthrow new Error(\"Could not get state from storage.\")\n\t\t}\n\n\t\tif (!state) {\n\t\t\tthrow new Error(\"Could not retrieve state\")\n\t\t}\n\t\tif (!state.providerID) {\n\t\t\tthrow new Error(\"Could not get providerid from state\")\n\t\t}\n\t\tutils.log(\"processTokenResponse \", atoken, \"\")\n return this.processReceivedToken(atoken, state)\n\t}\n\n processReceivedToken(atoken, state) {\n /*\n\t\t * Decide when this token should expire.\n\t\t * Priority fallback:\n\t\t * 1. Access token expires_in\n\t\t * 2. Life time in config (may be false = permanent...)\n\t\t * 3. Specific permanent scope.\n\t\t * 4. Default library lifetime:\n\t\t */\n\t\tlet now = utils.epoch()\n atoken.received = now\n\t\tif (atoken.expires_in) {\n\t\t\tatoken.expires = now + parseInt(atoken.expires_in, 10)\n atoken.expires_in = parseInt(atoken.expires_in, 10)\n\t\t} else if (this.config.getValue('default_lifetime', null) === false) {\n\t\t\tatoken.expires = null\n\t\t} else if (this.config.has('permanent_scope')) {\n\t\t\tif (!this.store.hasScope(atoken, this.config.getValue('permanent_scope'))) {\n\t\t\t\tatoken.expires = null\n\t\t\t}\n\t\t} else if (this.config.has('default_lifetime')) {\n\t\t\tatoken.expires = now + this.config.getValue('default_lifetime')\n\t\t} else {\n\t\t\tatoken.expires = now + 3600\n\t\t}\n\n\t\t/*\n\t\t * Handle scopes for this token\n\t\t */\n\t\tif (atoken.scope) {\n\t\t\tatoken.scopes = atoken.scope.split(\" \")\n delete atoken.scope\n\t\t} else if (state.scopes) {\n\t\t\tatoken.scopes = state.scopes\n\t\t} else {\n\t\t\tatoken.scopes = []\n\t\t}\n\n utils.log(\"processTokenResponse completed \", atoken, \"\")\n\n\t\tthis.store.saveToken(state.providerID, atoken)\n\n\t\tif (state.restoreHash) {\n\t\t\twindow.location.hash = state.restoreHash\n\t\t} else {\n\t\t\twindow.location.hash = ''\n\t\t}\n\t\treturn atoken\n }\n\n // Experimental support for authorization code to be added\n processAuthorizationCodeResponse(object) {\n console.log(this)\n this.emit('authorizationCode', object)\n\n\n\t\tlet state\n\t\tif (object.state) {\n\t\t\tstate = this.store.getState(object.state)\n if (state === null) {\n throw new Error(\"Could not find retrieve state object.\")\n }\n\t\t} else {\n\t\t\tthrow new Error(\"Could not find state paramter from callback.\")\n\t\t}\n console.log(\"state\", state)\n\n if (!this.config.has('token')) {\n utils.log(\"Received an authorization code. Will not process it as the config option [token] endpoint is not set. If you would like to process the code yourself, please subscribe to the [authorizationCode] event\")\n return\n }\n if (!this.config.has('client_secret')) {\n throw new Error(\"Configuration missing [client_secret]\")\n }\n let headers = new Headers()\n headers.append('Authorization', 'Basic ' + btoa(this.config.getValue('client_id') + \":\" + this.config.getValue('client_secret')))\n headers.append('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8')\n\n let tokenRequest = {\n 'grant_type': 'authorization_code',\n 'code': object.code\n }\n\n if (state.hasOwnProperty('redirect_uri')) {\n tokenRequest.redirect_uri = state.redirect_uri\n }\n\n let opts = {\n mode: 'cors',\n headers: headers,\n method: 'POST', // or 'PUT'\n body: utils.encodeQS(tokenRequest), // data can be `string` or {object}!\n }\n return fetch(this.config.getValue('token'), opts)\n .then((httpResponse) => {\n return httpResponse.json()\n })\n .then((tokenResponse) => {\n // let tokenResponse = httpResponse.json()\n utils.log(\"Received response on token endpoint \", tokenResponse, \"\")\n return this.processReceivedToken(tokenResponse, state)\n })\n\n // throw new Exception(\"Implementation of authorization code flow is not yet implemented. Instead use the implicit grant flow\")\n\n }\n\n\n\n\tprocessErrorResponse(err) {\n\n\t\tvar state\n\t\tif (err.state) {\n\n\t\t\tstate = this.store.getState(err.state)\n\t\t} else {\n\t\t\tthrow new Error(\"Could not get [state] and no default providerid is provided.\")\n\t\t}\n\n\t\tif (!state) {\n\t\t\tthrow new Error(\"Could not retrieve state\")\n\t\t}\n\t\tif (!state.providerID) {\n\t\t\tthrow new Error(\"Could not get providerid from state\")\n\t\t}\n\n\t\tif (state.restoreHash) {\n\t\t\twindow.location.hash = state.restoreHash\n\t\t} else {\n\t\t\twindow.location.hash = ''\n\t\t}\n\t\treturn new OAuthResponseError(err)\n\n\t}\n\n\n\t/**\n\t * Check if the hash contains an access token.\n\t * And if it do, extract the state, compare with\n\t * config, and store the access token for later use.\n\t *\n\t * The url parameter is optional. Used with phonegap and\n\t * childbrowser when the jso context is not receiving the response,\n\t * instead the response is received on a child browser.\n\t */\n\tcallback(data) {\n\n let response = null\n if (typeof data === 'object') {\n response = data\n } else if (typeof data === 'string') {\n response = utils.getResponseFromURL(data)\n } else if (typeof data === 'undefined') {\n response = utils.getResponseFromURL(window.location.href)\n } else {\n // no response provided.\n return\n }\n\n utils.log('Receving response in callback', response)\n\n\t\tif (response.hasOwnProperty(\"access_token\")) {\n\t\t\treturn this.processTokenResponse(response)\n\n // Implementation of authorization code flow is in beta.\n\t\t} else if (response.hasOwnProperty(\"code\")) {\n return this.processAuthorizationCodeResponse(response)\n\n\t\t} else if (response.hasOwnProperty(\"error\")) {\n\t\t\tthrow this.processErrorResponse(response)\n\t\t}\n\n\t}\n\n\n\tdump() {\n\t\tvar tokens = this.store.getTokens(this.providerID)\n\t\tvar x = {\n\t\t\t\"providerID\": this.providerID,\n\t\t\t\"tokens\": tokens,\n\t\t\t\"config\": this.config\n\t\t}\n\t\treturn x\n\t}\n\n\t_getRequestScopes(opts) {\n\t\tvar scopes = [], i\n\t\t/*\n\t\t * Calculate which scopes to request, based upon provider config and request config.\n\t\t */\n\t\tif (this.config.has('scopes.request')) {\n let s = this.config.getValue('scopes.request')\n\t\t\tfor(i = 0; i < s.length; i++) {\n scopes.push(s[i])\n }\n\t\t}\n\t\tif (opts && opts.scopes && opts.scopes.request) {\n\t\t\tfor(i = 0; i < opts.scopes.request.length; i++) {scopes.push(opts.scopes.request[i])}\n\t\t}\n\t\treturn utils.uniqueList(scopes)\n\t}\n\n\t_getRequiredScopes(opts) {\n\t\tvar scopes = [], i\n\t\t/*\n\t\t * Calculate which scopes to request, based upon provider config and request config.\n\t\t */\n\t\tif (this.config.has('scopes.require')) {\n let s = this.config.getValue('scopes.require')\n for(i = 0; i < s.length; i++) {\n scopes.push(s[i])\n }\n\t\t}\n\t\tif (opts && opts.scopes && opts.scopes.require) {\n\t\t\tfor(i = 0; i < opts.scopes.require.length; i++) {scopes.push(opts.scopes.require[i])}\n\t\t}\n\t\treturn utils.uniqueList(scopes)\n\t}\n\n\n\t/**\n\t * If getToken is called with allowia = false, and a token is not cached, it will return null.\n\t * The scopes.required is used to pick from existing tokens.\n\t *\n\t * @param {[type]} opts [description]\n\t * @return {[type]} [description]\n\t */\n\tgetToken(opts) {\n opts = opts || {}\n\n return new Promise((resolve, reject) => {\n\n let scopesRequire = this._getRequiredScopes(opts)\n\t\t\tlet token = this.store.getToken(this.providerID, scopesRequire)\n\n\t\t\tif (token) {\n\t\t\t\treturn resolve(token)\n\n\t\t\t} else {\n\n\t\t\t\tif (opts.hasOwnProperty(\"allowredir\") && !opts.allowredir) {\n\t\t\t\t\tthrow new Error(\"Cannot obtain a token, when not allowed to redirect...\")\n\n\t\t\t\t} else {\n\t\t\t\t\tresolve(this._authorize(opts))\n\t\t\t\t}\n\t\t\t}\n })\n\n\t}\n\n\tcheckToken(opts) {\n\t\t// var scopesRequest = this._getRequestScopes(opts)\n\n\t\tvar scopesRequire = this._getRequiredScopes(opts)\n\t\treturn this.store.getToken(this.providerID, scopesRequire)\n\t}\n\n\n\t/**\n\t * Send authorization request.\n\t *\n\t * @param {[type]} opts These options matches the ones sent in the \"oauth\" property of the ajax settings in the request.\n\t * @return {[type]} [description]\n\t */\n\t_authorize(opts) {\n\t\tvar\n\t\t\trequest,\n\t\t\tauthurl,\n\t\t\tscopes\n\n\t\treturn Promise.resolve().then(() => {\n\n\t\t\tlet authorization = this.config.getValue('authorization', null, true)\n\t\t\tlet client_id = this.config.getValue('client_id', null, true)\n let openid = false\n\n if (opts.hasOwnProperty('allowia') || this.config.has('allowia')) {\n throw new Error('The allowia option was removed in JSO 4.1.0. Instead use {request: {prompt: \"none\"}}')\n }\n\n\t\t\tutils.log(\"About to send an authorization request to this endpoint\", authorization)\n\t\t\tutils.log(\"Options\", opts)\n\n\t\t\trequest = {}\n\n if (this.config.has('request')) {\n let r = this.config.getValue('request')\n request = assign(request, r)\n }\n if (opts.hasOwnProperty('request')) {\n request = assign(request, opts.request)\n }\n\n\n request.response_type = opts.response_type || this.config.getValue('response_type', 'id_token token')\n request.state = utils.uuid()\n\n\t\t\tif (this.config.has('redirect_uri')) {\n\t\t\t\trequest.redirect_uri = this.config.getValue('redirect_uri', '')\n\t\t\t}\n\t\t\tif (opts.redirect_uri) {\n\t\t\t\trequest.redirect_uri = opts.redirect_uri\n\t\t\t}\n\n\t\t\trequest.client_id = client_id\n\n\n\t\t\t/*\n\t\t\t * Calculate which scopes to request, based upon provider config and request config.\n\t\t\t */\n\t\t\tscopes = this._getRequestScopes(opts)\n openid = scopes.includes('openid')\n\t\t\tif (scopes.length > 0) {\n\t\t\t\trequest.scope = utils.scopeList(scopes)\n\t\t\t}\n utils.log(\"Running in mode: \" + (openid ? 'OpenID Connect mode' : 'OAuth mode'))\n\n if (openid && !request.hasOwnProperty('redirect_uri')) {\n throw new Error('An OpenID Request requires a redirect_uri to be set. Please add to configuration. A redirect_uri is not required for plain OAuth')\n }\n\n if (openid) {\n request.nonce = utils.uuid()\n }\n\n\t\t\tutils.log(\"Debug Authentication request object\", JSON.stringify(request, undefined, 2))\n\n\t\t\tauthurl = utils.encodeURL(authorization, request)\n\n\t\t\t// We'd like to cache the hash for not loosing Application state.\n\t\t\t// With the implciit grant flow, the hash will be replaced with the access\n\t\t\t// token when we return after authorization.\n\t\t\tif (window.location.hash) {\n\t\t\t\trequest.restoreHash = window.location.hash\n\t\t\t}\n\t\t\trequest.providerID = this.providerID\n\t\t\tif (scopes) {\n\t\t\t\trequest.scopes = scopes\n\t\t\t}\n\n\n\t\t\tutils.log(\"Saving state [\" + request.state + \"]\")\n\t\t\tutils.log(JSON.parse(JSON.stringify(request)))\n\n\t\t\tvar loader = this.Loader\n\t\t\tif (opts.hasOwnProperty(\"loader\")) {\n\t\t\t\tloader = opts.loader\n\t\t\t}\n\n\t\t\tutils.log(\"Looking for loader\", opts, loader)\n\n\t\t\tthis.store.saveState(request.state, request)\n\t\t\treturn this.gotoAuthorizeURL(authurl, loader)\n\t\t\t\t.then((response) => {\n if (response !== true) {\n return this.callback(response)\n }\n\t\t\t\t})\n\n\n\t\t})\n\n\t}\n\n\tgotoAuthorizeURL(url, Loader) {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\tif (Loader !== null && typeof Loader === 'function') {\n\t\t\t\tvar loader = new Loader(url)\n\t\t\t\tif (!(loader instanceof BasicLoader)) {\n\t\t\t\t\tthrow new Error(\"JSO selected Loader is not an instance of BasicLoader.\")\n\t\t\t\t}\n\t\t\t\tresolve(loader.execute())\n\t\t\t} else {\n\t\t\t\treject(new Error('Cannot redirect to authorization endpoint because of missing redirect handler'))\n\t\t\t}\n\t\t})\n\t}\n\n\twipeTokens() {\n\t\tthis.store.wipeTokens(this.providerID)\n\t}\n\n}\n\n// Object.assign(JSO.prototype, new EventEmitter({}))\n\nexport {JSO, BasicLoader, HTTPRedirect, Popup, IFramePassive, Fetcher, FetcherJQuery}\n// Work in progress\n// Authentication\n"],"sourceRoot":""}