{"version":3,"sources":["webpack:///./node_modules/lodash.isboolean/index.js","webpack:///./node_modules/jws/lib/tostring.js","webpack:///./node_modules/jws/lib/verify-stream.js","webpack:///./node_modules/jws/index.js","webpack:///./node_modules/lodash.isinteger/index.js","webpack:///./node_modules/lodash.isnumber/index.js","webpack:///./node_modules/jws/lib/sign-stream.js","webpack:///./node_modules/jwa/index.js","webpack:///./node_modules/lodash.isstring/index.js","webpack:///./node_modules/lodash.includes/index.js","webpack:///./node_modules/jws/lib/data-stream.js","webpack:///./node_modules/lodash.isplainobject/index.js","webpack:///./node_modules/lodash.once/index.js"],"names":["boolTag","objectProto","Object","prototype","objectToString","toString","isBoolean","value","isObjectLike","call","module","exports","Buffer","obj","isBuffer","JSON","stringify","DataStream","jwa","Stream","util","JWS_REGEX","isObject","thing","safeJsonParse","parse","e","headerFromJWS","jwsSig","encodedHeader","split","from","securedInputFromJWS","join","signatureFromJWS","payloadFromJWS","encoding","payload","isValidJws","string","test","jwsVerify","algorithm","secretOrKey","err","Error","code","signature","securedInput","algo","verify","jwsDecode","opts","header","typ","json","VerifyStream","secret","publicKey","key","secretStream","this","readable","once","writable","bind","inherits","valid","buffer","emit","decode","isValid","SignStream","ALGORITHMS","sign","createSign","createVerify","INFINITY","MAX_INTEGER","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","isInteger","toInteger","type","isSymbol","toFinite","toNumber","result","remainder","other","valueOf","replace","isBinary","slice","numberTag","isNumber","base64url","jwsSecuredInput","encodedPayload","format","jwsSign","privateKey","alg","bufferEqual","crypto","formatEcdsa","MSG_INVALID_ALGORITHM","MSG_INVALID_SECRET","MSG_INVALID_VERIFIER_KEY","MSG_INVALID_SIGNER_KEY","supportsKeyObjects","createPublicKey","checkIsPublicKey","typeError","asymmetricKeyType","export","checkIsPrivateKey","checkIsSecretKey","fromBase64","base64","toBase64","padding","length","i","template","args","arguments","errMsg","apply","TypeError","bufferOrString","normalizeInput","createHmacSigner","bits","hmac","createHmac","sig","update","digest","createHmacVerifier","computedSig","createKeySigner","signer","createKeyVerifier","verifier","createPSSKeySigner","constants","RSA_PKCS1_PSS_PADDING","saltLength","RSA_PSS_SALTLEN_DIGEST","createPSSKeyVerifier","createECDSASigner","inner","derToJose","createECDSAVerifer","joseToDer","createNoneSigner","createNoneVerifier","signerFactories","hs","rs","ps","es","none","verifierFactories","match","toLowerCase","stringTag","isArray","Array","isString","MAX_SAFE_INTEGER","argsTag","funcTag","genTag","reIsUint","arrayMap","array","iteratee","index","baseFindIndex","predicate","fromIndex","fromRight","baseIndexOf","baseIsNaN","baseTimes","n","baseValues","object","props","overArg","func","transform","arg","hasOwnProperty","propertyIsEnumerable","nativeKeys","keys","nativeMax","Math","max","arrayLikeKeys","inherited","isArguments","String","skipIndexes","isIndex","push","baseKeys","isPrototype","Ctor","constructor","proto","includes","collection","guard","isArrayLike","values","indexOf","isArrayLikeObject","isLength","isFunction","tag","data","alloc","pipe","process","nextTick","write","concat","end","objectTag","isHostObject","funcProto","Function","funcToString","objectCtorString","getPrototype","getPrototypeOf","isPlainObject","FUNC_ERROR_TEXT","before","undefined"],"mappings":"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","file":"js/chunk-vendors~70aabc29.b3049fad.js","sourcesContent":["/**\n * lodash 3.0.3 (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation \n * Based on Underscore.js 1.8.3 \n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && objectToString.call(value) == boolTag);\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isBoolean;\n","/*global module*/\nvar Buffer = require('buffer').Buffer;\n\nmodule.exports = function toString(obj) {\n if (typeof obj === 'string')\n return obj;\n if (typeof obj === 'number' || Buffer.isBuffer(obj))\n return obj.toString();\n return JSON.stringify(obj);\n};\n","/*global module*/\nvar Buffer = require('safe-buffer').Buffer;\nvar DataStream = require('./data-stream');\nvar jwa = require('jwa');\nvar Stream = require('stream');\nvar toString = require('./tostring');\nvar util = require('util');\nvar JWS_REGEX = /^[a-zA-Z0-9\\-_]+?\\.[a-zA-Z0-9\\-_]+?\\.([a-zA-Z0-9\\-_]+)?$/;\n\nfunction isObject(thing) {\n return Object.prototype.toString.call(thing) === '[object Object]';\n}\n\nfunction safeJsonParse(thing) {\n if (isObject(thing))\n return thing;\n try { return JSON.parse(thing); }\n catch (e) { return undefined; }\n}\n\nfunction headerFromJWS(jwsSig) {\n var encodedHeader = jwsSig.split('.', 1)[0];\n return safeJsonParse(Buffer.from(encodedHeader, 'base64').toString('binary'));\n}\n\nfunction securedInputFromJWS(jwsSig) {\n return jwsSig.split('.', 2).join('.');\n}\n\nfunction signatureFromJWS(jwsSig) {\n return jwsSig.split('.')[2];\n}\n\nfunction payloadFromJWS(jwsSig, encoding) {\n encoding = encoding || 'utf8';\n var payload = jwsSig.split('.')[1];\n return Buffer.from(payload, 'base64').toString(encoding);\n}\n\nfunction isValidJws(string) {\n return JWS_REGEX.test(string) && !!headerFromJWS(string);\n}\n\nfunction jwsVerify(jwsSig, algorithm, secretOrKey) {\n if (!algorithm) {\n var err = new Error(\"Missing algorithm parameter for jws.verify\");\n err.code = \"MISSING_ALGORITHM\";\n throw err;\n }\n jwsSig = toString(jwsSig);\n var signature = signatureFromJWS(jwsSig);\n var securedInput = securedInputFromJWS(jwsSig);\n var algo = jwa(algorithm);\n return algo.verify(securedInput, signature, secretOrKey);\n}\n\nfunction jwsDecode(jwsSig, opts) {\n opts = opts || {};\n jwsSig = toString(jwsSig);\n\n if (!isValidJws(jwsSig))\n return null;\n\n var header = headerFromJWS(jwsSig);\n\n if (!header)\n return null;\n\n var payload = payloadFromJWS(jwsSig);\n if (header.typ === 'JWT' || opts.json)\n payload = JSON.parse(payload, opts.encoding);\n\n return {\n header: header,\n payload: payload,\n signature: signatureFromJWS(jwsSig)\n };\n}\n\nfunction VerifyStream(opts) {\n opts = opts || {};\n var secretOrKey = opts.secret||opts.publicKey||opts.key;\n var secretStream = new DataStream(secretOrKey);\n this.readable = true;\n this.algorithm = opts.algorithm;\n this.encoding = opts.encoding;\n this.secret = this.publicKey = this.key = secretStream;\n this.signature = new DataStream(opts.signature);\n this.secret.once('close', function () {\n if (!this.signature.writable && this.readable)\n this.verify();\n }.bind(this));\n\n this.signature.once('close', function () {\n if (!this.secret.writable && this.readable)\n this.verify();\n }.bind(this));\n}\nutil.inherits(VerifyStream, Stream);\nVerifyStream.prototype.verify = function verify() {\n try {\n var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer);\n var obj = jwsDecode(this.signature.buffer, this.encoding);\n this.emit('done', valid, obj);\n this.emit('data', valid);\n this.emit('end');\n this.readable = false;\n return valid;\n } catch (e) {\n this.readable = false;\n this.emit('error', e);\n this.emit('close');\n }\n};\n\nVerifyStream.decode = jwsDecode;\nVerifyStream.isValid = isValidJws;\nVerifyStream.verify = jwsVerify;\n\nmodule.exports = VerifyStream;\n","/*global exports*/\nvar SignStream = require('./lib/sign-stream');\nvar VerifyStream = require('./lib/verify-stream');\n\nvar ALGORITHMS = [\n 'HS256', 'HS384', 'HS512',\n 'RS256', 'RS384', 'RS512',\n 'PS256', 'PS384', 'PS512',\n 'ES256', 'ES384', 'ES512'\n];\n\nexports.ALGORITHMS = ALGORITHMS;\nexports.sign = SignStream.sign;\nexports.verify = VerifyStream.verify;\nexports.decode = VerifyStream.decode;\nexports.isValid = VerifyStream.isValid;\nexports.createSign = function createSign(opts) {\n return new SignStream(opts);\n};\nexports.createVerify = function createVerify(opts) {\n return new VerifyStream(opts);\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\nfunction isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = isInteger;\n","/**\n * lodash 3.0.3 (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation \n * Based on Underscore.js 1.8.3 \n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified\n * as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && objectToString.call(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","/*global module*/\nvar Buffer = require('safe-buffer').Buffer;\nvar DataStream = require('./data-stream');\nvar jwa = require('jwa');\nvar Stream = require('stream');\nvar toString = require('./tostring');\nvar util = require('util');\n\nfunction base64url(string, encoding) {\n return Buffer\n .from(string, encoding)\n .toString('base64')\n .replace(/=/g, '')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_');\n}\n\nfunction jwsSecuredInput(header, payload, encoding) {\n encoding = encoding || 'utf8';\n var encodedHeader = base64url(toString(header), 'binary');\n var encodedPayload = base64url(toString(payload), encoding);\n return util.format('%s.%s', encodedHeader, encodedPayload);\n}\n\nfunction jwsSign(opts) {\n var header = opts.header;\n var payload = opts.payload;\n var secretOrKey = opts.secret || opts.privateKey;\n var encoding = opts.encoding;\n var algo = jwa(header.alg);\n var securedInput = jwsSecuredInput(header, payload, encoding);\n var signature = algo.sign(securedInput, secretOrKey);\n return util.format('%s.%s', securedInput, signature);\n}\n\nfunction SignStream(opts) {\n var secret = opts.secret||opts.privateKey||opts.key;\n var secretStream = new DataStream(secret);\n this.readable = true;\n this.header = opts.header;\n this.encoding = opts.encoding;\n this.secret = this.privateKey = this.key = secretStream;\n this.payload = new DataStream(opts.payload);\n this.secret.once('close', function () {\n if (!this.payload.writable && this.readable)\n this.sign();\n }.bind(this));\n\n this.payload.once('close', function () {\n if (!this.secret.writable && this.readable)\n this.sign();\n }.bind(this));\n}\nutil.inherits(SignStream, Stream);\n\nSignStream.prototype.sign = function sign() {\n try {\n var signature = jwsSign({\n header: this.header,\n payload: this.payload.buffer,\n secret: this.secret.buffer,\n encoding: this.encoding\n });\n this.emit('done', signature);\n this.emit('data', signature);\n this.emit('end');\n this.readable = false;\n return signature;\n } catch (e) {\n this.readable = false;\n this.emit('error', e);\n this.emit('close');\n }\n};\n\nSignStream.sign = jwsSign;\n\nmodule.exports = SignStream;\n","var bufferEqual = require('buffer-equal-constant-time');\nvar Buffer = require('safe-buffer').Buffer;\nvar crypto = require('crypto');\nvar formatEcdsa = require('ecdsa-sig-formatter');\nvar util = require('util');\n\nvar MSG_INVALID_ALGORITHM = '\"%s\" is not a valid algorithm.\\n Supported algorithms are:\\n \"HS256\", \"HS384\", \"HS512\", \"RS256\", \"RS384\", \"RS512\", \"PS256\", \"PS384\", \"PS512\", \"ES256\", \"ES384\", \"ES512\" and \"none\".'\nvar MSG_INVALID_SECRET = 'secret must be a string or buffer';\nvar MSG_INVALID_VERIFIER_KEY = 'key must be a string or a buffer';\nvar MSG_INVALID_SIGNER_KEY = 'key must be a string, a buffer or an object';\n\nvar supportsKeyObjects = typeof crypto.createPublicKey === 'function';\nif (supportsKeyObjects) {\n MSG_INVALID_VERIFIER_KEY += ' or a KeyObject';\n MSG_INVALID_SECRET += 'or a KeyObject';\n}\n\nfunction checkIsPublicKey(key) {\n if (Buffer.isBuffer(key)) {\n return;\n }\n\n if (typeof key === 'string') {\n return;\n }\n\n if (!supportsKeyObjects) {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key !== 'object') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key.type !== 'string') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key.asymmetricKeyType !== 'string') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key.export !== 'function') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n};\n\nfunction checkIsPrivateKey(key) {\n if (Buffer.isBuffer(key)) {\n return;\n }\n\n if (typeof key === 'string') {\n return;\n }\n\n if (typeof key === 'object') {\n return;\n }\n\n throw typeError(MSG_INVALID_SIGNER_KEY);\n};\n\nfunction checkIsSecretKey(key) {\n if (Buffer.isBuffer(key)) {\n return;\n }\n\n if (typeof key === 'string') {\n return key;\n }\n\n if (!supportsKeyObjects) {\n throw typeError(MSG_INVALID_SECRET);\n }\n\n if (typeof key !== 'object') {\n throw typeError(MSG_INVALID_SECRET);\n }\n\n if (key.type !== 'secret') {\n throw typeError(MSG_INVALID_SECRET);\n }\n\n if (typeof key.export !== 'function') {\n throw typeError(MSG_INVALID_SECRET);\n }\n}\n\nfunction fromBase64(base64) {\n return base64\n .replace(/=/g, '')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_');\n}\n\nfunction toBase64(base64url) {\n base64url = base64url.toString();\n\n var padding = 4 - base64url.length % 4;\n if (padding !== 4) {\n for (var i = 0; i < padding; ++i) {\n base64url += '=';\n }\n }\n\n return base64url\n .replace(/\\-/g, '+')\n .replace(/_/g, '/');\n}\n\nfunction typeError(template) {\n var args = [].slice.call(arguments, 1);\n var errMsg = util.format.bind(util, template).apply(null, args);\n return new TypeError(errMsg);\n}\n\nfunction bufferOrString(obj) {\n return Buffer.isBuffer(obj) || typeof obj === 'string';\n}\n\nfunction normalizeInput(thing) {\n if (!bufferOrString(thing))\n thing = JSON.stringify(thing);\n return thing;\n}\n\nfunction createHmacSigner(bits) {\n return function sign(thing, secret) {\n checkIsSecretKey(secret);\n thing = normalizeInput(thing);\n var hmac = crypto.createHmac('sha' + bits, secret);\n var sig = (hmac.update(thing), hmac.digest('base64'))\n return fromBase64(sig);\n }\n}\n\nfunction createHmacVerifier(bits) {\n return function verify(thing, signature, secret) {\n var computedSig = createHmacSigner(bits)(thing, secret);\n return bufferEqual(Buffer.from(signature), Buffer.from(computedSig));\n }\n}\n\nfunction createKeySigner(bits) {\n return function sign(thing, privateKey) {\n checkIsPrivateKey(privateKey);\n thing = normalizeInput(thing);\n // Even though we are specifying \"RSA\" here, this works with ECDSA\n // keys as well.\n var signer = crypto.createSign('RSA-SHA' + bits);\n var sig = (signer.update(thing), signer.sign(privateKey, 'base64'));\n return fromBase64(sig);\n }\n}\n\nfunction createKeyVerifier(bits) {\n return function verify(thing, signature, publicKey) {\n checkIsPublicKey(publicKey);\n thing = normalizeInput(thing);\n signature = toBase64(signature);\n var verifier = crypto.createVerify('RSA-SHA' + bits);\n verifier.update(thing);\n return verifier.verify(publicKey, signature, 'base64');\n }\n}\n\nfunction createPSSKeySigner(bits) {\n return function sign(thing, privateKey) {\n checkIsPrivateKey(privateKey);\n thing = normalizeInput(thing);\n var signer = crypto.createSign('RSA-SHA' + bits);\n var sig = (signer.update(thing), signer.sign({\n key: privateKey,\n padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n }, 'base64'));\n return fromBase64(sig);\n }\n}\n\nfunction createPSSKeyVerifier(bits) {\n return function verify(thing, signature, publicKey) {\n checkIsPublicKey(publicKey);\n thing = normalizeInput(thing);\n signature = toBase64(signature);\n var verifier = crypto.createVerify('RSA-SHA' + bits);\n verifier.update(thing);\n return verifier.verify({\n key: publicKey,\n padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n }, signature, 'base64');\n }\n}\n\nfunction createECDSASigner(bits) {\n var inner = createKeySigner(bits);\n return function sign() {\n var signature = inner.apply(null, arguments);\n signature = formatEcdsa.derToJose(signature, 'ES' + bits);\n return signature;\n };\n}\n\nfunction createECDSAVerifer(bits) {\n var inner = createKeyVerifier(bits);\n return function verify(thing, signature, publicKey) {\n signature = formatEcdsa.joseToDer(signature, 'ES' + bits).toString('base64');\n var result = inner(thing, signature, publicKey);\n return result;\n };\n}\n\nfunction createNoneSigner() {\n return function sign() {\n return '';\n }\n}\n\nfunction createNoneVerifier() {\n return function verify(thing, signature) {\n return signature === '';\n }\n}\n\nmodule.exports = function jwa(algorithm) {\n var signerFactories = {\n hs: createHmacSigner,\n rs: createKeySigner,\n ps: createPSSKeySigner,\n es: createECDSASigner,\n none: createNoneSigner,\n }\n var verifierFactories = {\n hs: createHmacVerifier,\n rs: createKeyVerifier,\n ps: createPSSKeyVerifier,\n es: createECDSAVerifer,\n none: createNoneVerifier,\n }\n var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);\n if (!match)\n throw typeError(MSG_INVALID_ALGORITHM, algorithm);\n var algo = (match[1] || match[3]).toLowerCase();\n var bits = match[2];\n\n return {\n sign: signerFactories[algo](bits),\n verify: verifierFactories[algo](bits),\n }\n};\n","/**\n * lodash 4.0.1 (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation \n * Based on Underscore.js 1.8.3 \n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license \n */\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @type Function\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object ? baseValues(object, keys(object)) : [];\n}\n\nmodule.exports = includes;\n","/*global module, process*/\nvar Buffer = require('safe-buffer').Buffer;\nvar Stream = require('stream');\nvar util = require('util');\n\nfunction DataStream(data) {\n this.buffer = null;\n this.writable = true;\n this.readable = true;\n\n // No input\n if (!data) {\n this.buffer = Buffer.alloc(0);\n return this;\n }\n\n // Stream\n if (typeof data.pipe === 'function') {\n this.buffer = Buffer.alloc(0);\n data.pipe(this);\n return this;\n }\n\n // Buffer or String\n // or Object (assumedly a passworded key)\n if (data.length || typeof data === 'object') {\n this.buffer = data;\n this.writable = false;\n process.nextTick(function () {\n this.emit('end', data);\n this.readable = false;\n this.emit('close');\n }.bind(this));\n return this;\n }\n\n throw new TypeError('Unexpected data type ('+ typeof data + ')');\n}\nutil.inherits(DataStream, Stream);\n\nDataStream.prototype.write = function write(data) {\n this.buffer = Buffer.concat([this.buffer, Buffer.from(data)]);\n this.emit('data', data);\n};\n\nDataStream.prototype.end = function end(data) {\n if (data)\n this.write(data);\n this.emit('end', data);\n this.emit('close');\n this.writable = false;\n this.readable = false;\n};\n\nmodule.exports = DataStream;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = once;\n"],"sourceRoot":""}