UNPKG

226 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://moauth/webpack/universalModuleDefinition","webpack://moauth/webpack/bootstrap","webpack://moauth/./node_modules/core-js/modules/_wks.js","webpack://moauth/./node_modules/core-js/modules/_global.js","webpack://moauth/./node_modules/core-js/modules/_an-object.js","webpack://moauth/./node_modules/core-js/modules/_export.js","webpack://moauth/./node_modules/core-js/modules/_is-object.js","webpack://moauth/./node_modules/core-js/modules/_cof.js","webpack://moauth/./node_modules/core-js/modules/_core.js","webpack://moauth/./node_modules/core-js/modules/_descriptors.js","webpack://moauth/./node_modules/core-js/modules/_defined.js","webpack://moauth/./node_modules/core-js/modules/_hide.js","webpack://moauth/./node_modules/core-js/modules/_object-dp.js","webpack://moauth/./node_modules/core-js/modules/_fails.js","webpack://moauth/./node_modules/core-js/modules/_redefine.js","webpack://moauth/./node_modules/core-js/modules/_ctx.js","webpack://moauth/./node_modules/core-js/modules/_a-function.js","webpack://moauth/./node_modules/core-js/modules/_classof.js","webpack://moauth/./node_modules/core-js/modules/_to-length.js","webpack://moauth/./node_modules/core-js/modules/_to-integer.js","webpack://moauth/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://moauth/./node_modules/core-js/modules/_fix-re-wks.js","webpack://moauth/./node_modules/core-js/modules/_regexp-exec.js","webpack://moauth/./node_modules/core-js/modules/_dom-create.js","webpack://moauth/./node_modules/core-js/modules/_has.js","webpack://moauth/./node_modules/core-js/modules/_uid.js","webpack://moauth/./node_modules/core-js/modules/_shared.js","webpack://moauth/./node_modules/core-js/modules/_library.js","webpack://moauth/./node_modules/core-js/modules/_iterators.js","webpack://moauth/./node_modules/core-js/modules/_species-constructor.js","webpack://moauth/./node_modules/core-js/modules/_task.js","webpack://moauth/./node_modules/core-js/modules/_new-promise-capability.js","webpack://moauth/./node_modules/core-js/modules/_is-regexp.js","webpack://moauth/./node_modules/core-js/modules/_advance-string-index.js","webpack://moauth/./node_modules/superagent/lib/is-object.js","webpack://moauth/./node_modules/core-js/modules/es6.object.define-property.js","webpack://moauth/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://moauth/./node_modules/core-js/modules/_to-primitive.js","webpack://moauth/./node_modules/core-js/modules/_property-desc.js","webpack://moauth/./node_modules/core-js/modules/_function-to-string.js","webpack://moauth/./node_modules/regenerator-runtime/runtime.js","webpack://moauth/./node_modules/core-js/modules/es6.array.is-array.js","webpack://moauth/./node_modules/core-js/modules/_is-array.js","webpack://moauth/./node_modules/core-js/modules/es6.promise.js","webpack://moauth/./node_modules/core-js/modules/_an-instance.js","webpack://moauth/./node_modules/core-js/modules/_for-of.js","webpack://moauth/./node_modules/core-js/modules/_iter-call.js","webpack://moauth/./node_modules/core-js/modules/_is-array-iter.js","webpack://moauth/./node_modules/core-js/modules/core.get-iterator-method.js","webpack://moauth/./node_modules/core-js/modules/_invoke.js","webpack://moauth/./node_modules/core-js/modules/_html.js","webpack://moauth/./node_modules/core-js/modules/_microtask.js","webpack://moauth/./node_modules/core-js/modules/_perform.js","webpack://moauth/./node_modules/core-js/modules/_user-agent.js","webpack://moauth/./node_modules/core-js/modules/_promise-resolve.js","webpack://moauth/./node_modules/core-js/modules/_redefine-all.js","webpack://moauth/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://moauth/./node_modules/core-js/modules/_set-species.js","webpack://moauth/./node_modules/core-js/modules/_iter-detect.js","webpack://moauth/./node_modules/core-js/modules/es6.object.to-string.js","webpack://moauth/./node_modules/core-js/modules/es6.regexp.search.js","webpack://moauth/./node_modules/core-js/modules/_same-value.js","webpack://moauth/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://moauth/./node_modules/core-js/modules/_flags.js","webpack://moauth/./node_modules/core-js/modules/es6.regexp.split.js","webpack://moauth/./node_modules/core-js/modules/_string-at.js","webpack://moauth/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://moauth/./node_modules/core-js/modules/_to-object.js","webpack://moauth/./node_modules/core-js/modules/es7.array.includes.js","webpack://moauth/./node_modules/core-js/modules/_array-includes.js","webpack://moauth/./node_modules/core-js/modules/_to-iobject.js","webpack://moauth/./node_modules/core-js/modules/_iobject.js","webpack://moauth/./node_modules/core-js/modules/_to-absolute-index.js","webpack://moauth/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://moauth/./node_modules/core-js/modules/es6.string.includes.js","webpack://moauth/./node_modules/core-js/modules/_string-context.js","webpack://moauth/./node_modules/core-js/modules/_fails-is-regexp.js","webpack://moauth/./node_modules/superagent/lib/client.js","webpack://moauth/./node_modules/component-emitter/index.js","webpack://moauth/./node_modules/fast-safe-stringify/index.js","webpack://moauth/./node_modules/superagent/lib/request-base.js","webpack://moauth/./node_modules/superagent/lib/response-base.js","webpack://moauth/./node_modules/superagent/lib/utils.js","webpack://moauth/./node_modules/superagent/lib/agent-base.js","webpack://moauth/./src/auth.js","webpack://moauth/./src/index.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","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","store","uid","USE_SYMBOL","global","Math","self","Function","__g","isObject","it","TypeError","core","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","toString","slice","version","__e","a","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","e","exec","has","SRC","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","this","aFunction","fn","that","length","b","apply","arguments","cof","TAG","ARG","T","tryGet","callee","toInteger","min","ceil","floor","isNaN","classof","builtinExec","RegExp","result","fails","defined","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","replace","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","constructor","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","done","strfn","rxfn","string","arg","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","index","document","is","createElement","id","px","random","concat","push","copyright","D","C","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","data","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","set","clear","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","MATCH","isRegExp","at","unicode","_typeof","obj","iterator","valueOf","bitmap","configurable","writable","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","GenStateSuspendedStart","method","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","err","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","Promise","__await","then","unwrapped","error","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","isArray","Array","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","LIBRARY","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","indexOf","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","_a","v","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","capability","x","all","remaining","$index","alreadyCalled","race","Constructor","forbiddenField","isArrayIter","toLength","getIterFn","BREAK","RETURN","entries","ITERATOR","step","iterFn","ret","Iterators","ArrayProto","getIteratorMethod","un","documentElement","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","toggle","node","createTextNode","observe","characterData","promiseCapability","src","def","tag","stat","DESCRIPTORS","SAFE_CLOSING","riter","from","skipClosing","arr","test","sameValue","regExpExec","SEARCH","$search","maybeCallNative","res","rx","previousLastIndex","y","proto","forced","ignoreCase","multiline","sticky","advanceStringIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","separator","limit","lastLength","output","flags","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","A","z","TO_STRING","pos","charCodeAt","toObject","max","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","fullUnicode","results","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","symbols","ch","capture","$includes","includes","el","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","UNSCOPABLES","searchString","NAME","warn","Emitter","safeStringify","RequestBase","ResponseBase","Agent","noop","url","Request","end","request","getXHR","XMLHttpRequest","location","protocol","ActiveXObject","trim","serialize","pairs","pushEncodedKeyValuePair","subkey","encodeURIComponent","parseString","pair","len","decodeURIComponent","isJSON","mime","Response","req","xhr","text","responseType","responseText","statusText","status","_setStatusProperties","headers","line","field","lines","fields","toLowerCase","parseHeader","getAllResponseHeaders","header","getResponseHeader","_setHeaderProperties","_responseType","body","response","_parseBody","_query","_header","on","new_err","err2","parse","original","rawResponse","statusCode","callback","_isResponseOK","del","send","serializeObject","types","json","xml","urlencoded","form","JSON","_parser","toError","msg","accept","auth","user","pass","options","btoa","encoder","_auth","query","attach","file","_data","_getFormData","append","_formData","FormData","_shouldRetry","_retry","_callback","clearTimeout","_maxRetries","retries","_retries","crossDomainError","crossDomain","agent","buffer","ca","write","pipe","_isHost","_endCalled","_finalizeQueryString","_end","_setUploadTimeout","_uploadTimeout","_uploadTimeoutTimer","_timeoutError","_aborted","_setTimeouts","onreadystatechange","readyState","_responseTimeoutTimer","timedout","handleProgress","direction","total","percent","loaded","hasListeners","upload","username","password","open","_withCredentials","withCredentials","contentType","_serialize","_serializer","setRequestHeader","_setDefaults","delete","patch","post","put","mixin","_callbacks","once","off","removeListener","removeAllListeners","removeEventListener","cb","callbacks","splice","listeners","stringify","default","stable","deterministicStringify","stableStringify","replacerStack","replacer","spacer","decirc","k","stack","propertyDescriptor","getOwnPropertyDescriptor","replaceGetterValues","part","compareFunction","tmp","deterministicDecirc","toJSON","sort","_timer","timeout","_timeout","_responseTimeout","option","deadline","retry","count","_retryCallback","ERROR_CODES","override","code","_this","_fullfilledPromise","catch","use","_okCallback","getHeader","unset","abort","base64Encoder","redirects","_maxRedirects","maxResponseSize","_maxResponseSize","isObj","sortQuery","_sort","queryArr","substring","_appendQueryString","errno","utils","ct","params","links","link","parseLinks","statusType","redirect","clientError","serverError","created","accepted","noContent","badRequest","unauthorized","notAcceptable","forbidden","notFound","unprocessableEntity","shift","reduce","parts","cleanHeader","changesOrigin","host","authorization","cookie","_toConsumableArray","arr2","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_defaults","_len","_key","require","Authentication","opts","authUrl","clientId","storage","loginUrl","logoutUrl","userFetchUrl","accessCheckUrl","currentUser","token","localStorage","redirectUrl","scope","pl","search","decode","urlParams","_loginUrl","storeUser","getItem","_parseQueryString","access_token","isAuthenticated","getUser","history","replaceState","pathname","hash","setItem","fetchUser","productIds","products","fetchAccess","allowedProducts","success","resp","objects","removeItem"],"mappings":"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","file":"moauth.bundle.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(\"moauth\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"moauth\"] = factory();\n\telse\n\t\troot[\"moauth\"] = 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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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 = 33);\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 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 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 = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\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","// 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","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 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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\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","// 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","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\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","// 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","// 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","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\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","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\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 core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\n","module.exports = {};\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 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","'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","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Check if `obj` is an object.\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\nfunction isObject(obj) {\n return obj !== null && _typeof(obj) === 'object';\n}\n\nmodule.exports = isObject;","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\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","// 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 = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\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 userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\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')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\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, exited;\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); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\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 if (domain && !exited) domain.exit();\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 (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","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","// 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","// 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","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","// 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 document = require('./_global').document;\nmodule.exports = document && document.documentElement;\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 // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\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","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 global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\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","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 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","'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 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';\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","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\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';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\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","// 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","// 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","// 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","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","// 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","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Root reference for iframes.\n */\nvar root;\n\nif (typeof window !== 'undefined') {\n // Browser window\n root = window;\n} else if (typeof self === 'undefined') {\n // Other environments\n console.warn('Using browser-only version of superagent in non-browser environment');\n root = void 0;\n} else {\n // Web Worker\n root = self;\n}\n\nvar Emitter = require('component-emitter');\n\nvar safeStringify = require('fast-safe-stringify');\n\nvar RequestBase = require('./request-base');\n\nvar isObject = require('./is-object');\n\nvar ResponseBase = require('./response-base');\n\nvar Agent = require('./agent-base');\n/**\n * Noop.\n */\n\n\nfunction noop() {}\n/**\n * Expose `request`.\n */\n\n\nmodule.exports = function (method, url) {\n // callback\n if (typeof url === 'function') {\n return new exports.Request('GET', method).end(url);\n } // url first\n\n\n if (arguments.length === 1) {\n return new exports.Request('GET', method);\n }\n\n return new exports.Request(method, url);\n};\n\nexports = module.exports;\nvar request = exports;\nexports.Request = Request;\n/**\n * Determine XHR.\n */\n\nrequest.getXHR = function () {\n if (root.XMLHttpRequest && (!root.location || root.location.protocol !== 'file:' || !root.ActiveXObject)) {\n return new XMLHttpRequest();\n }\n\n try {\n return new ActiveXObject('Microsoft.XMLHTTP');\n } catch (err) {}\n\n try {\n return new ActiveXObject('Msxml2.XMLHTTP.6.0');\n } catch (err) {}\n\n try {\n return new ActiveXObject('Msxml2.XMLHTTP.3.0');\n } catch (err) {}\n\n try {\n return new ActiveXObject('Msxml2.XMLHTTP');\n } catch (err) {}\n\n throw new Error('Browser-only version of superagent could not find XHR');\n};\n/**\n * Removes leading and trailing whitespace, added to support IE.\n *\n * @param {String} s\n * @return {String}\n * @api private\n */\n\n\nvar trim = ''.trim ? function (s) {\n return s.trim();\n} : function (s) {\n return s.replace(/(^\\s*|\\s*$)/g, '');\n};\n/**\n * Serialize the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api private\n */\n\nfunction serialize(obj) {\n if (!isObject(obj)) return obj;\n var pairs = [];\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) pushEncodedKeyValuePair(pairs, key, obj[key]);\n }\n\n return pairs.join('&');\n}\n/**\n * Helps 'serialize' with serializing arrays.\n * Mutates the pairs array.\n *\n * @param {Array} pairs\n * @param {String} key\n * @param {Mixed} val\n */\n\n\nfunction pushEncodedKeyValuePair(pairs, key, val) {\n if (val === undefined) return;\n\n if (val === null) {\n pairs.push(encodeURIComponent(key));\n return;\n }\n\n if (Array.isArray(val)) {\n val.forEach(function (v) {\n pushEncodedKeyValuePair(pairs, key, v);\n });\n } else if (isObject(val)) {\n for (var subkey in val) {\n if (Object.prototype.hasOwnProperty.call(val, subkey)) pushEncodedKeyValuePair(pairs, \"\".concat(key, \"[\").concat(subkey, \"]\"), val[subkey]);\n }\n } else {\n pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(val));\n }\n}\n/**\n * Expose serialization method.\n */\n\n\nrequest.serializeObject = serialize;\n/**\n * Parse the given x-www-form-urlencoded `str`.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseString(str) {\n var obj = {};\n var pairs = str.split('&');\n var pair;\n var pos;\n\n for (var i = 0, len = pairs.length; i < len; ++i) {\n pair = pairs[i];\n pos = pair.indexOf('=');\n\n if (pos === -1) {\n obj[decodeURIComponent(pair)] = '';\n } else {\n obj[decodeURIComponent(pair.slice(0, pos))] = decodeURIComponent(pair.slice(pos + 1));\n }\n }\n\n return obj;\n}\n/**\n * Expose parser.\n */\n\n\nrequest.parseString = parseString;\n/**\n * Default MIME type map.\n *\n * superagent.types.xml = 'application/xml';\n *\n */\n\nrequest.types = {\n html: 'text/html',\n json: 'application/json',\n xml: 'text/xml',\n urlencoded: 'application/x-www-form-urlencoded',\n form: 'application/x-www-form-urlencoded',\n 'form-data': 'application/x-www-form-urlencoded'\n};\n/**\n * Default serialization map.\n *\n * superagent.serialize['application/xml'] = function(obj){\n * return 'generated xml here';\n * };\n *\n */\n\nrequest.serialize = {\n 'application/x-www-form-urlencoded': serialize,\n 'application/json': safeStringify\n};\n/**\n * Default parsers.\n *\n * superagent.parse['application/xml'] = function(str){\n * return { object parsed from str };\n * };\n *\n */\n\nrequest.parse = {\n 'application/x-www-form-urlencoded': parseString,\n 'application/json': JSON.parse\n};\n/**\n * Parse the given header `str` into\n * an object containing the mapped fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseHeader(str) {\n var lines = str.split(/\\r?\\n/);\n var fields = {};\n var index;\n var line;\n var field;\n var val;\n\n for (var i = 0, len = lines.length; i < len; ++i) {\n line = lines[i];\n index = line.indexOf(':');\n\n if (index === -1) {\n // could be empty line, just skip it\n continue;\n }\n\n field = line.slice(0, index).toLowerCase();\n val = trim(line.slice(index + 1));\n fields[field] = val;\n }\n\n return fields;\n}\n/**\n * Check if `mime` is json or has +json structured syntax suffix.\n *\n * @param {String} mime\n * @return {Boolean}\n * @api private\n */\n\n\nfunction isJSON(mime) {\n // should match /json or +json\n // but not /json-seq\n return /[/+]json($|[^-\\w])/.test(mime);\n}\n/**\n * Initialize a new `Response` with the given `xhr`.\n *\n * - set flags (.ok, .error, etc)\n * - parse header\n *\n * Examples:\n *\n * Aliasing `superagent` as `request` is nice:\n *\n * request = superagent;\n *\n * We can use the promise-like API, or pass callbacks:\n *\n * request.get('/').end(function(res){});\n * request.get('/', function(res){});\n *\n * Sending data can be chained:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' })\n * .end(function(res){});\n *\n * Or passed to `.send()`:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' }, function(res){});\n *\n * Or passed to `.post()`:\n *\n * request\n * .post('/user', { name: 'tj' })\n * .end(function(res){});\n *\n * Or further reduced to a single call for simple cases:\n *\n * request\n * .post('/user', { name: 'tj' }, function(res){});\n *\n * @param {XMLHTTPRequest} xhr\n * @param {Object} options\n * @api private\n */\n\n\nfunction Response(req) {\n this.req = req;\n this.xhr = this.req.xhr; // responseText is accessible only if responseType is '' or 'text' and on older browsers\n\n this.text = this.req.method !== 'HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text') || typeof this.xhr.responseType === 'undefined' ? this.xhr.responseText : null;\n this.statusText = this.req.xhr.statusText;\n var status = this.xhr.status; // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request\n\n if (status === 1223) {\n status = 204;\n }\n\n this._setStatusProperties(status);\n\n this.headers = parseHeader(this.xhr.getAllResponseHeaders());\n this.header = this.headers; // getAllResponseHeaders sometimes falsely returns \"\" for CORS requests, but\n // getResponseHeader still works. so we get content-type even if getting\n // other headers fails.\n\n this.header['content-type'] = this.xhr.getResponseHeader('content-type');\n\n this._setHeaderProperties(this.header);\n\n if (this.text === null && req._responseType) {\n this.body = this.xhr.response;\n } else {\n this.body = this.req.method === 'HEAD' ? null : this._parseBody(this.text ? this.text : this.xhr.response);\n }\n} // eslint-disable-next-line new-cap\n\n\nResponseBase(Response.prototype);\n/**\n * Parse the given body `str`.\n *\n * Used for auto-parsing of bodies. Parsers\n * are defined on the `superagent.parse` object.\n *\n * @param {String} str\n * @return {Mixed}\n * @api private\n */\n\nResponse.prototype._parseBody = function (str) {\n var parse = request.parse[this.type];\n\n if (this.req._parser) {\n return this.req._parser(this, str);\n }\n\n if (!parse && isJSON(this.type)) {\n parse = request.parse['application/json'];\n }\n\n return parse && str && (str.length > 0 || str instanceof Object) ? parse(str) : null;\n};\n/**\n * Return an `Error` representative of this response.\n *\n * @return {Error}\n * @api public\n */\n\n\nResponse.prototype.toError = function () {\n var req = this.req;\n var method = req.method;\n var url = req.url;\n var msg = \"cannot \".concat(method, \" \").concat(url, \" (\").concat(this.status, \")\");\n var err = new Error(msg);\n err.status = this.status;\n err.method = method;\n err.url = url;\n return err;\n};\n/**\n * Expose `Response`.\n */\n\n\nrequest.Response = Response;\n/**\n * Initialize a new `Request` with the given `method` and `url`.\n *\n * @param {String} method\n * @param {String} url\n * @api public\n */\n\nfunction Request(method, url) {\n var self = this;\n this._query = this._query || [];\n this.method = method;\n this.url = url;\n this.header = {}; // preserves header name case\n\n this._header = {}; // coerces header names to lowercase\n\n this.on('end', function () {\n var err = null;\n var res = null;\n\n try {\n res = new Response(self);\n } catch (err2) {\n err = new Error('Parser is unable to parse the response');\n err.parse = true;\n err.original = err2; // issue #675: return the raw response if the response parsing fails\n\n if (self.xhr) {\n // ie9 doesn't have 'response' property\n err.rawResponse = typeof self.xhr.responseType === 'undefined' ? self.xhr.responseText : self.xhr.response; // issue #876: return the http status code if the response parsing fails\n\n err.status = self.xhr.status ? self.xhr.status : null;\n err.statusCode = err.status; // backwards-compat only\n } else {\n err.rawResponse = null;\n err.status = null;\n }\n\n return self.callback(err);\n }\n\n self.emit('response', res);\n var new_err;\n\n try {\n if (!self._isResponseOK(res)) {\n new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n }\n } catch (err2) {\n new_err = err2; // ok() callback can throw\n } // #1000 don't catch errors from the callback to avoid double calling it\n\n\n if (new_err) {\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n self.callback(new_err, res);\n } else {\n self.callback(null, res);\n }\n });\n}\n/**\n * Mixin `Emitter` and `RequestBase`.\n */\n// eslint-disable-next-line new-cap\n\n\nEmitter(Request.prototype); // eslint-disable-next-line new-cap\n\nRequestBase(Request.prototype);\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function (type) {\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequest.prototype.accept = function (type) {\n this.set('Accept', request.types[type] || type);\n return this;\n};\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} [pass] optional in case of using 'bearer' as type\n * @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequest.prototype.auth = function (user, pass, options) {\n if (arguments.length === 1) pass = '';\n\n if (_typeof(pass) === 'object' && pass !== null) {\n // pass is optional and can be replaced with options\n options = pass;\n pass = '';\n }\n\n if (!options) {\n options = {\n type: typeof btoa === 'function' ? 'basic' : 'auto'\n };\n }\n\n var encoder = function encoder(string) {\n if (typeof btoa === 'function') {\n return btoa(string);\n }\n\n throw new Error('Cannot use basic auth, btoa is not a function');\n };\n\n return this._auth(user, pass, options, encoder);\n};\n/**\n * Add query-string `val`.\n *\n * Examples:\n *\n * request.get('/shoes')\n * .query('size=10')\n * .query({ color: 'blue' })\n *\n * @param {Object|String} val\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequest.prototype.query = function (val) {\n if (typeof val !== 'string') val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `options` (or filename).\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['<a id=\"a\"><b id=\"b\">hey!</b></a>'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String|Object} options\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequest.prototype.attach = function (field, file, options) {\n if (file) {\n if (this._data) {\n throw new Error(\"superagent can't mix .send() and .attach()\");\n }\n\n this._getFormData().append(field, file, options || file.name);\n }\n\n return this;\n};\n\nRequest.prototype._getFormData = function () {\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n\n return this._formData;\n};\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\n\nRequest.prototype.callback = function (err, res) {\n if (this._shouldRetry(err, res)) {\n return this._retry();\n }\n\n var fn = this._callback;\n this.clearTimeout();\n\n if (err) {\n if (this._maxRetries) err.retries = this._retries - 1;\n this.emit('error', err);\n }\n\n fn(err, res);\n};\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\n\nRequest.prototype.crossDomainError = function () {\n var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n err.crossDomain = true;\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n this.callback(err);\n}; // This only warns, because the request is still likely to work\n\n\nRequest.prototype.agent = function () {\n console.warn('This is not supported in browser version of superagent');\n return this;\n};\n\nRequest.prototype.buffer = Request.prototype.ca;\nRequest.prototype.ca = Request.prototype.agent; // This throws, because it can't send/receive data as expected\n\nRequest.prototype.write = function () {\n throw new Error('Streaming is not supported in browser version of superagent');\n};\n\nRequest.prototype.pipe = Request.prototype.write;\n/**\n * Check if `obj` is a host object,\n * we don't want to serialize these :)\n *\n * @param {Object} obj host object\n * @return {Boolean} is a host object\n * @api private\n */\n\nRequest.prototype._isHost = function (obj) {\n // Native objects stringify to [object File], [object Blob], [object FormData], etc.\n return obj && _typeof(obj) === 'object' && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]';\n};\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequest.prototype.end = function (fn) {\n if (this._endCalled) {\n console.warn('Warning: .end() was called twice. This is not supported in superagent');\n }\n\n this._endCalled = true; // store callback\n\n this._callback = fn || noop; // querystring\n\n this._finalizeQueryString();\n\n this._end();\n};\n\nRequest.prototype._setUploadTimeout = function () {\n var self = this; // upload timeout it's wokrs only if deadline timeout is off\n\n if (this._uploadTimeout && !this._uploadTimeoutTimer) {\n this._uploadTimeoutTimer = setTimeout(function () {\n self._timeoutError('Upload timeout of ', self._uploadTimeout, 'ETIMEDOUT');\n }, this._uploadTimeout);\n }\n}; // eslint-disable-next-line complexity\n\n\nRequest.prototype._end = function () {\n if (this._aborted) return this.callback(new Error('The request has been aborted even before .end() was called'));\n var self = this;\n this.xhr = request.getXHR();\n var xhr = this.xhr;\n var data = this._formData || this._data;\n\n this._setTimeouts(); // state change\n\n\n xhr.onreadystatechange = function () {\n var readyState = xhr.readyState;\n\n if (readyState >= 2 && self._responseTimeoutTimer) {\n clearTimeout(self._responseTimeoutTimer);\n }\n\n if (readyState !== 4) {\n return;\n } // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n\n\n var status;\n\n try {\n status = xhr.status;\n } catch (err) {\n status = 0;\n }\n\n if (!status) {\n if (self.timedout || self._aborted) return;\n return self.crossDomainError();\n }\n\n self.emit('end');\n }; // progress\n\n\n var handleProgress = function handleProgress(direction, e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n\n if (e.percent === 100) {\n clearTimeout(self._uploadTimeoutTimer);\n }\n }\n\n e.direction = direction;\n self.emit('progress', e);\n };\n\n if (this.hasListeners('progress')) {\n try {\n xhr.addEventListener('progress', handleProgress.bind(null, 'download'));\n\n if (xhr.upload) {\n xhr.upload.addEventListener('progress', handleProgress.bind(null, 'upload'));\n }\n } catch (err) {// Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n }\n\n if (xhr.upload) {\n this._setUploadTimeout();\n } // initiate request\n\n\n try {\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n } catch (err) {\n // see #1149\n return this.callback(err);\n } // CORS\n\n\n if (this._withCredentials) xhr.withCredentials = true; // body\n\n if (!this._formData && this.method !== 'GET' && this.method !== 'HEAD' && typeof data !== 'string' && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n\n var _serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n\n if (!_serialize && isJSON(contentType)) {\n _serialize = request.serialize['application/json'];\n }\n\n if (_serialize) data = _serialize(data);\n } // set header fields\n\n\n for (var field in this.header) {\n if (this.header[field] === null) continue;\n if (Object.prototype.hasOwnProperty.call(this.header, field)) xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n } // send stuff\n\n\n this.emit('request', this); // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n\n xhr.send(typeof data === 'undefined' ? null : data);\n};\n\nrequest.agent = function () {\n return new Agent();\n};\n\n['GET', 'POST', 'OPTIONS', 'PATCH', 'PUT', 'DELETE'].forEach(function (method) {\n Agent.prototype[method.toLowerCase()] = function (url, fn) {\n var req = new request.Request(method, url);\n\n this._setDefaults(req);\n\n if (fn) {\n req.end(fn);\n }\n\n return req;\n };\n});\nAgent.prototype.del = Agent.prototype.delete;\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.get = function (url, data, fn) {\n var req = request('GET', url);\n\n if (typeof data === 'function') {\n fn = data;\n data = null;\n }\n\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\n\nrequest.head = function (url, data, fn) {\n var req = request('HEAD', url);\n\n if (typeof data === 'function') {\n fn = data;\n data = null;\n }\n\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\n\nrequest.options = function (url, data, fn) {\n var req = request('OPTIONS', url);\n\n if (typeof data === 'function') {\n fn = data;\n data = null;\n }\n\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n/**\n * DELETE `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\n\nfunction del(url, data, fn) {\n var req = request('DELETE', url);\n\n if (typeof data === 'function') {\n fn = data;\n data = null;\n }\n\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n}\n\nrequest.del = del;\nrequest.delete = del;\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function (url, data, fn) {\n var req = request('PATCH', url);\n\n if (typeof data === 'function') {\n fn = data;\n data = null;\n }\n\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\n\nrequest.post = function (url, data, fn) {\n var req = request('POST', url);\n\n if (typeof data === 'function') {\n fn = data;\n data = null;\n }\n\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\n\nrequest.put = function (url, data, fn) {\n var req = request('PUT', url);\n\n if (typeof data === 'function') {\n fn = data;\n data = null;\n }\n\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};","\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (typeof module !== 'undefined') {\r\n module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n for (var key in Emitter.prototype) {\r\n obj[key] = Emitter.prototype[key];\r\n }\r\n return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n .push(fn);\r\n return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n function on() {\r\n this.off(event, on);\r\n fn.apply(this, arguments);\r\n }\r\n\r\n on.fn = fn;\r\n this.on(event, on);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n\r\n // all\r\n if (0 == arguments.length) {\r\n this._callbacks = {};\r\n return this;\r\n }\r\n\r\n // specific event\r\n var callbacks = this._callbacks['$' + event];\r\n if (!callbacks) return this;\r\n\r\n // remove all handlers\r\n if (1 == arguments.length) {\r\n delete this._callbacks['$' + event];\r\n return this;\r\n }\r\n\r\n // remove specific handler\r\n var cb;\r\n for (var i = 0; i < callbacks.length; i++) {\r\n cb = callbacks[i];\r\n if (cb === fn || cb.fn === fn) {\r\n callbacks.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n // Remove event specific arrays for event types that no\r\n // one is subscribed for to avoid memory leak.\r\n if (callbacks.length === 0) {\r\n delete this._callbacks['$' + event];\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n this._callbacks = this._callbacks || {};\r\n\r\n var args = new Array(arguments.length - 1)\r\n , callbacks = this._callbacks['$' + event];\r\n\r\n for (var i = 1; i < arguments.length; i++) {\r\n args[i - 1] = arguments[i];\r\n }\r\n\r\n if (callbacks) {\r\n callbacks = callbacks.slice(0);\r\n for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n callbacks[i].apply(this, args);\r\n }\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n this._callbacks = this._callbacks || {};\r\n return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n return !! this.listeners(event).length;\r\n};\r\n","module.exports = stringify\nstringify.default = stringify\nstringify.stable = deterministicStringify\nstringify.stableStringify = deterministicStringify\n\nvar arr = []\nvar replacerStack = []\n\n// Regular stringify\nfunction stringify (obj, replacer, spacer) {\n decirc(obj, '', [], undefined)\n var res\n if (replacerStack.length === 0) {\n res = JSON.stringify(obj, replacer, spacer)\n } else {\n res = JSON.stringify(obj, replaceGetterValues(replacer), spacer)\n }\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n return res\n}\nfunction decirc (val, k, stack, parent) {\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: '[Circular]' })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k])\n }\n } else {\n parent[k] = '[Circular]'\n arr.push([parent, k, val])\n }\n return\n }\n }\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n decirc(val[i], i, stack, val)\n }\n } else {\n var keys = Object.keys(val)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n decirc(val[key], key, stack, val)\n }\n }\n stack.pop()\n }\n}\n\n// Stable-stringify\nfunction compareFunction (a, b) {\n if (a < b) {\n return -1\n }\n if (a > b) {\n return 1\n }\n return 0\n}\n\nfunction deterministicStringify (obj, replacer, spacer) {\n var tmp = deterministicDecirc(obj, '', [], undefined) || obj\n var res\n if (replacerStack.length === 0) {\n res = JSON.stringify(tmp, replacer, spacer)\n } else {\n res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer)\n }\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n return res\n}\n\nfunction deterministicDecirc (val, k, stack, parent) {\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: '[Circular]' })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k])\n }\n } else {\n parent[k] = '[Circular]'\n arr.push([parent, k, val])\n }\n return\n }\n }\n if (typeof val.toJSON === 'function') {\n return\n }\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n deterministicDecirc(val[i], i, stack, val)\n }\n } else {\n // Create a temporary object in the required way\n var tmp = {}\n var keys = Object.keys(val).sort(compareFunction)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n deterministicDecirc(val[key], key, stack, val)\n tmp[key] = val[key]\n }\n if (parent !== undefined) {\n arr.push([parent, k, val])\n parent[k] = tmp\n } else {\n return tmp\n }\n }\n stack.pop()\n }\n}\n\n// wraps replacer function to handle values we couldn't replace\n// and mark them as [Circular]\nfunction replaceGetterValues (replacer) {\n replacer = replacer !== undefined ? replacer : function (k, v) { return v }\n return function (key, val) {\n if (replacerStack.length > 0) {\n for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i]\n if (part[1] === key && part[0] === val) {\n val = '[Circular]'\n replacerStack.splice(i, 1)\n break\n }\n }\n }\n return replacer.call(this, key, val)\n }\n}\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Module of mixed-in functions shared between node and client code\n */\nvar isObject = require('./is-object');\n/**\n * Expose `RequestBase`.\n */\n\n\nmodule.exports = RequestBase;\n/**\n * Initialize a new `RequestBase`.\n *\n * @api public\n */\n\nfunction RequestBase(obj) {\n if (obj) return mixin(obj);\n}\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\n\nfunction mixin(obj) {\n for (var key in RequestBase.prototype) {\n if (Object.prototype.hasOwnProperty.call(RequestBase.prototype, key)) obj[key] = RequestBase.prototype[key];\n }\n\n return obj;\n}\n/**\n * Clear previous timeout.\n *\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequestBase.prototype.clearTimeout = function () {\n clearTimeout(this._timer);\n clearTimeout(this._responseTimeoutTimer);\n clearTimeout(this._uploadTimeoutTimer);\n delete this._timer;\n delete this._responseTimeoutTimer;\n delete this._uploadTimeoutTimer;\n return this;\n};\n/**\n * Override default response body parser\n *\n * This function will be called to convert incoming data into request.body\n *\n * @param {Function}\n * @api public\n */\n\n\nRequestBase.prototype.parse = function (fn) {\n this._parser = fn;\n return this;\n};\n/**\n * Set format of binary response body.\n * In browser valid formats are 'blob' and 'arraybuffer',\n * which return Blob and ArrayBuffer, respectively.\n *\n * In Node all values result in Buffer.\n *\n * Examples:\n *\n * req.get('/')\n * .responseType('blob')\n * .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequestBase.prototype.responseType = function (val) {\n this._responseType = val;\n return this;\n};\n/**\n * Override default request body serializer\n *\n * This function will be called to convert data set via .send or .attach into payload to send\n *\n * @param {Function}\n * @api public\n */\n\n\nRequestBase.prototype.serialize = function (fn) {\n this._serializer = fn;\n return this;\n};\n/**\n * Set timeouts.\n *\n * - response timeout is time between sending request and receiving the first byte of the response. Includes DNS and connection time.\n * - deadline is the time from start of the request to receiving response body in full. If the deadline is too short large files may not load at all on slow connections.\n * - upload is the time since last bit of data was sent or received. This timeout works only if deadline timeout is off\n *\n * Value of 0 or false means no timeout.\n *\n * @param {Number|Object} ms or {response, deadline}\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequestBase.prototype.timeout = function (options) {\n if (!options || _typeof(options) !== 'object') {\n this._timeout = options;\n this._responseTimeout = 0;\n this._uploadTimeout = 0;\n return this;\n }\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option)) {\n switch (option) {\n case 'deadline':\n this._timeout = options.deadline;\n break;\n\n case 'response':\n this._responseTimeout = options.response;\n break;\n\n case 'upload':\n this._uploadTimeout = options.upload;\n break;\n\n default:\n console.warn('Unknown timeout option', option);\n }\n }\n }\n\n return this;\n};\n/**\n * Set number of retry attempts on error.\n *\n * Failed requests will be retried 'count' times if timeout or err.code >= 500.\n *\n * @param {Number} count\n * @param {Function} [fn]\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequestBase.prototype.retry = function (count, fn) {\n // Default to 1 if no count passed or true\n if (arguments.length === 0 || count === true) count = 1;\n if (count <= 0) count = 0;\n this._maxRetries = count;\n this._retries = 0;\n this._retryCallback = fn;\n return this;\n};\n\nvar ERROR_CODES = ['ECONNRESET', 'ETIMEDOUT', 'EADDRINFO', 'ESOCKETTIMEDOUT'];\n/**\n * Determine if a request should be retried.\n * (Borrowed from segmentio/superagent-retry)\n *\n * @param {Error} err an error\n * @param {Response} [res] response\n * @returns {Boolean} if segment should be retried\n */\n\nRequestBase.prototype._shouldRetry = function (err, res) {\n if (!this._maxRetries || this._retries++ >= this._maxRetries) {\n return false;\n }\n\n if (this._retryCallback) {\n try {\n var override = this._retryCallback(err, res);\n\n if (override === true) return true;\n if (override === false) return false; // undefined falls back to defaults\n } catch (err2) {\n console.error(err2);\n }\n }\n\n if (res && res.status && res.status >= 500 && res.status !== 501) return true;\n\n if (err) {\n if (err.code && ERROR_CODES.indexOf(err.code) !== -1) return true; // Superagent timeout\n\n if (err.timeout && err.code === 'ECONNABORTED') return true;\n if (err.crossDomain) return true;\n }\n\n return false;\n};\n/**\n * Retry request\n *\n * @return {Request} for chaining\n * @api private\n */\n\n\nRequestBase.prototype._retry = function () {\n this.clearTimeout(); // node\n\n if (this.req) {\n this.req = null;\n this.req = this.request();\n }\n\n this._aborted = false;\n this.timedout = false;\n return this._end();\n};\n/**\n * Promise support\n *\n * @param {Function} resolve\n * @param {Function} [reject]\n * @return {Request}\n */\n\n\nRequestBase.prototype.then = function (resolve, reject) {\n var _this = this;\n\n if (!this._fullfilledPromise) {\n var self = this;\n\n if (this._endCalled) {\n console.warn('Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises');\n }\n\n this._fullfilledPromise = new Promise(function (resolve, reject) {\n self.on('abort', function () {\n var err = new Error('Aborted');\n err.code = 'ABORTED';\n err.status = _this.status;\n err.method = _this.method;\n err.url = _this.url;\n reject(err);\n });\n self.end(function (err, res) {\n if (err) reject(err);else resolve(res);\n });\n });\n }\n\n return this._fullfilledPromise.then(resolve, reject);\n};\n\nRequestBase.prototype.catch = function (cb) {\n return this.then(undefined, cb);\n};\n/**\n * Allow for extension\n */\n\n\nRequestBase.prototype.use = function (fn) {\n fn(this);\n return this;\n};\n\nRequestBase.prototype.ok = function (cb) {\n if (typeof cb !== 'function') throw new Error('Callback required');\n this._okCallback = cb;\n return this;\n};\n\nRequestBase.prototype._isResponseOK = function (res) {\n if (!res) {\n return false;\n }\n\n if (this._okCallback) {\n return this._okCallback(res);\n }\n\n return res.status >= 200 && res.status < 300;\n};\n/**\n * Get request header `field`.\n * Case-insensitive.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\n\nRequestBase.prototype.get = function (field) {\n return this._header[field.toLowerCase()];\n};\n/**\n * Get case-insensitive header `field` value.\n * This is a deprecated internal API. Use `.get(field)` instead.\n *\n * (getHeader is no longer used internally by the superagent code base)\n *\n * @param {String} field\n * @return {String}\n * @api private\n * @deprecated\n */\n\n\nRequestBase.prototype.getHeader = RequestBase.prototype.get;\n/**\n * Set header `field` to `val`, or multiple fields with one object.\n * Case-insensitive.\n *\n * Examples:\n *\n * req.get('/')\n * .set('Accept', 'application/json')\n * .set('X-API-Key', 'foobar')\n * .end(callback);\n *\n * req.get('/')\n * .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })\n * .end(callback);\n *\n * @param {String|Object} field\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.set = function (field, val) {\n if (isObject(field)) {\n for (var key in field) {\n if (Object.prototype.hasOwnProperty.call(field, key)) this.set(key, field[key]);\n }\n\n return this;\n }\n\n this._header[field.toLowerCase()] = val;\n this.header[field] = val;\n return this;\n}; // eslint-disable-next-line valid-jsdoc\n\n/**\n * Remove header `field`.\n * Case-insensitive.\n *\n * Example:\n *\n * req.get('/')\n * .unset('User-Agent')\n * .end(callback);\n *\n * @param {String} field field name\n */\n\n\nRequestBase.prototype.unset = function (field) {\n delete this._header[field.toLowerCase()];\n delete this.header[field];\n return this;\n};\n/**\n * Write the field `name` and `val`, or multiple fields with one object\n * for \"multipart/form-data\" request bodies.\n *\n * ``` js\n * request.post('/upload')\n * .field('foo', 'bar')\n * .end(callback);\n *\n * request.post('/upload')\n * .field({ foo: 'bar', baz: 'qux' })\n * .end(callback);\n * ```\n *\n * @param {String|Object} name name of field\n * @param {String|Blob|File|Buffer|fs.ReadStream} val value of field\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequestBase.prototype.field = function (name, val) {\n // name should be either a string or an object.\n if (name === null || undefined === name) {\n throw new Error('.field(name, val) name can not be empty');\n }\n\n if (this._data) {\n throw new Error(\".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()\");\n }\n\n if (isObject(name)) {\n for (var key in name) {\n if (Object.prototype.hasOwnProperty.call(name, key)) this.field(key, name[key]);\n }\n\n return this;\n }\n\n if (Array.isArray(val)) {\n for (var i in val) {\n if (Object.prototype.hasOwnProperty.call(val, i)) this.field(name, val[i]);\n }\n\n return this;\n } // val should be defined now\n\n\n if (val === null || undefined === val) {\n throw new Error('.field(name, val) val can not be empty');\n }\n\n if (typeof val === 'boolean') {\n val = String(val);\n }\n\n this._getFormData().append(name, val);\n\n return this;\n};\n/**\n * Abort the request, and clear potential timeout.\n *\n * @return {Request} request\n * @api public\n */\n\n\nRequestBase.prototype.abort = function () {\n if (this._aborted) {\n return this;\n }\n\n this._aborted = true;\n if (this.xhr) this.xhr.abort(); // browser\n\n if (this.req) this.req.abort(); // node\n\n this.clearTimeout();\n this.emit('abort');\n return this;\n};\n\nRequestBase.prototype._auth = function (user, pass, options, base64Encoder) {\n switch (options.type) {\n case 'basic':\n this.set('Authorization', \"Basic \".concat(base64Encoder(\"\".concat(user, \":\").concat(pass))));\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n\n case 'bearer':\n // usage would be .auth(accessToken, { type: 'bearer' })\n this.set('Authorization', \"Bearer \".concat(user));\n break;\n\n default:\n break;\n }\n\n return this;\n};\n/**\n * Enable transmission of cookies with x-domain requests.\n *\n * Note that for this to work the origin must not be\n * using \"Access-Control-Allow-Origin\" with a wildcard,\n * and also must set \"Access-Control-Allow-Credentials\"\n * to \"true\".\n *\n * @api public\n */\n\n\nRequestBase.prototype.withCredentials = function (on) {\n // This is browser-only functionality. Node side is no-op.\n if (on === undefined) on = true;\n this._withCredentials = on;\n return this;\n};\n/**\n * Set the max redirects to `n`. Does nothing in browser XHR implementation.\n *\n * @param {Number} n\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequestBase.prototype.redirects = function (n) {\n this._maxRedirects = n;\n return this;\n};\n/**\n * Maximum size of buffered response body, in bytes. Counts uncompressed size.\n * Default 200MB.\n *\n * @param {Number} n number of bytes\n * @return {Request} for chaining\n */\n\n\nRequestBase.prototype.maxResponseSize = function (n) {\n if (typeof n !== 'number') {\n throw new TypeError('Invalid argument');\n }\n\n this._maxResponseSize = n;\n return this;\n};\n/**\n * Convert to a plain javascript object (not JSON string) of scalar properties.\n * Note as this method is designed to return a useful non-this value,\n * it cannot be chained.\n *\n * @return {Object} describing method, url, and data of this request\n * @api public\n */\n\n\nRequestBase.prototype.toJSON = function () {\n return {\n method: this.method,\n url: this.url,\n data: this._data,\n headers: this._header\n };\n};\n/**\n * Send `data` as the request body, defaulting the `.type()` to \"json\" when\n * an object is given.\n *\n * Examples:\n *\n * // manual json\n * request.post('/user')\n * .type('json')\n * .send('{\"name\":\"tj\"}')\n * .end(callback)\n *\n * // auto json\n * request.post('/user')\n * .send({ name: 'tj' })\n * .end(callback)\n *\n * // manual x-www-form-urlencoded\n * request.post('/user')\n * .type('form')\n * .send('name=tj')\n * .end(callback)\n *\n * // auto x-www-form-urlencoded\n * request.post('/user')\n * .type('form')\n * .send({ name: 'tj' })\n * .end(callback)\n *\n * // defaults to x-www-form-urlencoded\n * request.post('/user')\n * .send('name=tobi')\n * .send('species=ferret')\n * .end(callback)\n *\n * @param {String|Object} data\n * @return {Request} for chaining\n * @api public\n */\n// eslint-disable-next-line complexity\n\n\nRequestBase.prototype.send = function (data) {\n var isObj = isObject(data);\n var type = this._header['content-type'];\n\n if (this._formData) {\n throw new Error(\".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()\");\n }\n\n if (isObj && !this._data) {\n if (Array.isArray(data)) {\n this._data = [];\n } else if (!this._isHost(data)) {\n this._data = {};\n }\n } else if (data && this._data && this._isHost(this._data)) {\n throw new Error(\"Can't merge these send calls\");\n } // merge\n\n\n if (isObj && isObject(this._data)) {\n for (var key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) this._data[key] = data[key];\n }\n } else if (typeof data === 'string') {\n // default to x-www-form-urlencoded\n if (!type) this.type('form');\n type = this._header['content-type'];\n\n if (type === 'application/x-www-form-urlencoded') {\n this._data = this._data ? \"\".concat(this._data, \"&\").concat(data) : data;\n } else {\n this._data = (this._data || '') + data;\n }\n } else {\n this._data = data;\n }\n\n if (!isObj || this._isHost(data)) {\n return this;\n } // default to json\n\n\n if (!type) this.type('json');\n return this;\n};\n/**\n * Sort `querystring` by the sort function\n *\n *\n * Examples:\n *\n * // default order\n * request.get('/user')\n * .query('name=Nick')\n * .query('search=Manny')\n * .sortQuery()\n * .end(callback)\n *\n * // customized sort function\n * request.get('/user')\n * .query('name=Nick')\n * .query('search=Manny')\n * .sortQuery(function(a, b){\n * return a.length - b.length;\n * })\n * .end(callback)\n *\n *\n * @param {Function} sort\n * @return {Request} for chaining\n * @api public\n */\n\n\nRequestBase.prototype.sortQuery = function (sort) {\n // _sort default to true but otherwise can be a function or boolean\n this._sort = typeof sort === 'undefined' ? true : sort;\n return this;\n};\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\n\n\nRequestBase.prototype._finalizeQueryString = function () {\n var query = this._query.join('&');\n\n if (query) {\n this.url += (this.url.indexOf('?') >= 0 ? '&' : '?') + query;\n }\n\n this._query.length = 0; // Makes the call idempotent\n\n if (this._sort) {\n var index = this.url.indexOf('?');\n\n if (index >= 0) {\n var queryArr = this.url.substring(index + 1).split('&');\n\n if (typeof this._sort === 'function') {\n queryArr.sort(this._sort);\n } else {\n queryArr.sort();\n }\n\n this.url = this.url.substring(0, index) + '?' + queryArr.join('&');\n }\n }\n}; // For backwards compat only\n\n\nRequestBase.prototype._appendQueryString = function () {\n console.warn('Unsupported');\n};\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\n\nRequestBase.prototype._timeoutError = function (reason, timeout, errno) {\n if (this._aborted) {\n return;\n }\n\n var err = new Error(\"\".concat(reason + timeout, \"ms exceeded\"));\n err.timeout = timeout;\n err.code = 'ECONNABORTED';\n err.errno = errno;\n this.timedout = true;\n this.abort();\n this.callback(err);\n};\n\nRequestBase.prototype._setTimeouts = function () {\n var self = this; // deadline\n\n if (this._timeout && !this._timer) {\n this._timer = setTimeout(function () {\n self._timeoutError('Timeout of ', self._timeout, 'ETIME');\n }, this._timeout);\n } // response timeout\n\n\n if (this._responseTimeout && !this._responseTimeoutTimer) {\n this._responseTimeoutTimer = setTimeout(function () {\n self._timeoutError('Response timeout of ', self._responseTimeout, 'ETIMEDOUT');\n }, this._responseTimeout);\n }\n};","\"use strict\";\n\n/**\n * Module dependencies.\n */\nvar utils = require('./utils');\n/**\n * Expose `ResponseBase`.\n */\n\n\nmodule.exports = ResponseBase;\n/**\n * Initialize a new `ResponseBase`.\n *\n * @api public\n */\n\nfunction ResponseBase(obj) {\n if (obj) return mixin(obj);\n}\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\n\nfunction mixin(obj) {\n for (var key in ResponseBase.prototype) {\n if (Object.prototype.hasOwnProperty.call(ResponseBase.prototype, key)) obj[key] = ResponseBase.prototype[key];\n }\n\n return obj;\n}\n/**\n * Get case-insensitive `field` value.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\n\nResponseBase.prototype.get = function (field) {\n return this.header[field.toLowerCase()];\n};\n/**\n * Set header related properties:\n *\n * - `.type` the content type without params\n *\n * A response of \"Content-Type: text/plain; charset=utf-8\"\n * will provide you with a `.type` of \"text/plain\".\n *\n * @param {Object} header\n * @api private\n */\n\n\nResponseBase.prototype._setHeaderProperties = function (header) {\n // TODO: moar!\n // TODO: make this a util\n // content-type\n var ct = header['content-type'] || '';\n this.type = utils.type(ct); // params\n\n var params = utils.params(ct);\n\n for (var key in params) {\n if (Object.prototype.hasOwnProperty.call(params, key)) this[key] = params[key];\n }\n\n this.links = {}; // links\n\n try {\n if (header.link) {\n this.links = utils.parseLinks(header.link);\n }\n } catch (err) {// ignore\n }\n};\n/**\n * Set flags such as `.ok` based on `status`.\n *\n * For example a 2xx response will give you a `.ok` of __true__\n * whereas 5xx will be __false__ and `.error` will be __true__. The\n * `.clientError` and `.serverError` are also available to be more\n * specific, and `.statusType` is the class of error ranging from 1..5\n * sometimes useful for mapping respond colors etc.\n *\n * \"sugar\" properties are also defined for common cases. Currently providing:\n *\n * - .noContent\n * - .badRequest\n * - .unauthorized\n * - .notAcceptable\n * - .notFound\n *\n * @param {Number} status\n * @api private\n */\n\n\nResponseBase.prototype._setStatusProperties = function (status) {\n var type = status / 100 | 0; // status / class\n\n this.statusCode = status;\n this.status = this.statusCode;\n this.statusType = type; // basics\n\n this.info = type === 1;\n this.ok = type === 2;\n this.redirect = type === 3;\n this.clientError = type === 4;\n this.serverError = type === 5;\n this.error = type === 4 || type === 5 ? this.toError() : false; // sugar\n\n this.created = status === 201;\n this.accepted = status === 202;\n this.noContent = status === 204;\n this.badRequest = status === 400;\n this.unauthorized = status === 401;\n this.notAcceptable = status === 406;\n this.forbidden = status === 403;\n this.notFound = status === 404;\n this.unprocessableEntity = status === 422;\n};","\"use strict\";\n\n/**\n * Return the mime type for the given `str`.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\nexports.type = function (str) {\n return str.split(/ *; */).shift();\n};\n/**\n * Return header field parameters.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\n\nexports.params = function (str) {\n return str.split(/ *; */).reduce(function (obj, str) {\n var parts = str.split(/ *= */);\n var key = parts.shift();\n var val = parts.shift();\n if (key && val) obj[key] = val;\n return obj;\n }, {});\n};\n/**\n * Parse Link header fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\n\nexports.parseLinks = function (str) {\n return str.split(/ *, */).reduce(function (obj, str) {\n var parts = str.split(/ *; */);\n var url = parts[0].slice(1, -1);\n var rel = parts[1].split(/ *= */)[1].slice(1, -1);\n obj[rel] = url;\n return obj;\n }, {});\n};\n/**\n * Strip content related fields from `header`.\n *\n * @param {Object} header\n * @return {Object} header\n * @api private\n */\n\n\nexports.cleanHeader = function (header, changesOrigin) {\n delete header['content-type'];\n delete header['content-length'];\n delete header['transfer-encoding'];\n delete header.host; // secuirty\n\n if (changesOrigin) {\n delete header.authorization;\n delete header.cookie;\n }\n\n return header;\n};","\"use strict\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction Agent() {\n this._defaults = [];\n}\n\n['use', 'on', 'once', 'set', 'query', 'type', 'accept', 'auth', 'withCredentials', 'sortQuery', 'retry', 'ok', 'redirects', 'timeout', 'buffer', 'serialize', 'parse', 'ca', 'key', 'pfx', 'cert'].forEach(function (fn) {\n // Default setting for all requests from this agent\n Agent.prototype[fn] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n this._defaults.push({\n fn: fn,\n args: args\n });\n\n return this;\n };\n});\n\nAgent.prototype._setDefaults = function (req) {\n this._defaults.forEach(function (def) {\n req[def.fn].apply(req, _toConsumableArray(def.args));\n });\n};\n\nmodule.exports = Agent;","const request = require('superagent')\n\nexport default class Authentication {\n constructor (opts = {}) {\n let { authUrl, clientId, storage, loginUrl, logoutUrl, userFetchUrl, accessCheckUrl } = opts\n\n this.authUrl = authUrl || 'https://moauth.fagbokforlaget.no'\n this.currentUser = undefined\n this.token = undefined\n this.clientId = clientId\n this.storage = storage || window.localStorage\n this.loginUrl = loginUrl || this.authUrl + '/_auth/login'\n this.logoutUrl = logoutUrl\n this.userFetchUrl = userFetchUrl || this.authUrl + '/_auth/user?token='\n this.accessCheckUrl = accessCheckUrl || this.authUrl + '/_auth/access'\n }\n\n _loginUrl (redirectUrl, scope = undefined) {\n if (!this.loginUrl.includes('?')) {\n this.loginUrl += '?'\n }\n return this.loginUrl + '&client_id=' + (this.clientId || 'generic') + '&redirect_url=' + encodeURIComponent(redirectUrl) + '&scope=' + (scope || 'dbok')\n }\n\n _parseQueryString (loc) {\n const pl = /\\+/g\n const search = /([^&=]+)=?([^&]*)/g\n const decode = function (s) { return decodeURIComponent(s.replace(pl, ' ')) }\n let urlParams = {}\n let query = loc.substring(1)\n\n if (/\\?/.test(query)) {\n query = query.split('?')[1]\n }\n\n while (1) {\n const match = search.exec(query)\n\n if (!match) {\n break\n }\n urlParams[decode(match[1])] = decode(match[2])\n }\n\n return urlParams\n }\n\n authorize (obj = {}) {\n let { redirectUrl, scope } = obj\n\n window.location = this._loginUrl(redirectUrl || window.location, scope)\n }\n\n getUser () {\n let storeUser = this.storage.getItem('user')\n\n if (this.currentUser) {\n return this.currentUser\n }\n if (storeUser) {\n return JSON.parse(storeUser)\n }\n return undefined\n }\n\n checkToken (loc = window.location.search) {\n let params = this._parseQueryString(loc)\n let self = this\n\n self.token = params.token || params.access_token || this.storage.getItem('token') || undefined\n\n return new Promise((resolve, reject) => {\n if (self.isAuthenticated() && self.token && typeof self.token !== 'undefined') {\n resolve(self.getUser())\n }\n\n if (self.token && typeof self.token !== 'undefined') {\n if (window) {\n window.history.replaceState({}, '', window.location.pathname + window.location.hash || '')\n }\n self.storage.setItem('token', self.token)\n self.fetchUser(this.userFetchUrl + encodeURIComponent(self.token))\n .then((user) => {\n resolve(user)\n })\n .catch((err) => {\n reject(err)\n })\n } else {\n reject(new Error('access token not found'))\n }\n })\n }\n\n checkAccess (productIds = []) {\n const token = this.token || this.storage.getItem('token') || undefined\n const products = Array.isArray(productIds) ? productIds : [productIds]\n const user = this.getUser()\n\n return new Promise(async (resolve, reject) => {\n if (token && typeof token !== 'undefined') {\n const allowedProducts = await this.fetchAccess(this.accessCheckUrl, { token: token, productIds: products })\n resolve({ success: true, user: user, products: allowedProducts })\n } else {\n throw new Error('access token not found')\n }\n })\n }\n\n fetchUser (url) {\n let self = this\n\n return new Promise((resolve, reject) => {\n request\n .get(url)\n .then(response => {\n if (response.statusCode === 200 && response.body) {\n let resp = response.body\n let user = resp.user || resp.objects[0]\n\n self.storage.setItem('user', JSON.stringify(user))\n resolve(user)\n } else {\n reject(new Error('authentication failed: Invalid response'))\n }\n })\n .catch(err => {\n reject(err)\n })\n })\n }\n\n fetchAccess (url, body) {\n return new Promise((resolve, reject) => {\n request\n .post(url)\n .send(body)\n .set('Accept', 'application/json')\n .then(response => {\n if (response.statusCode === 200 && response.body) {\n if (response.body.success) {\n resolve(response.body.products)\n } else {\n reject(new Error('This user does not have access to this product'))\n }\n }\n })\n .catch(error => {\n reject(error)\n })\n })\n }\n\n async logout (url) {\n this.storage.removeItem('user')\n this.storage.removeItem('token')\n\n url = url || this.logoutUrl\n\n if (url) window.location = url\n }\n\n isAuthenticated () {\n let user = this.getUser()\n\n if (user) {\n return true\n }\n return false\n }\n}\n","import Authentication from './auth'\nexport default Authentication\n"],"sourceRoot":""}
\No newline at end of file