{"version":3,"sources":["common/constants/attributes.js","../node_modules/lodash/isObject.js","../node_modules/lodash/_root.js","../node_modules/lodash/isObjectLike.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/webpack/buildin/global.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/eq.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_getMapData.js","common/constants/env.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/isArrayLike.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","common/utils/event.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/webpack/buildin/module.js","common/constants/event.js","common/constants/user-agent.js","../node_modules/lodash/isArray.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/keysIn.js","player/utils/score.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_assignMergeValue.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/_safeGet.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/identity.js","../node_modules/lodash/merge.js","../node_modules/events/events.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_assignValue.js","../node_modules/regenerator-runtime/runtime.js","styles/player.scss","../node_modules/lodash/_baseMerge.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_baseMergeDeep.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/isArrayLikeObject.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/toPlainObject.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_createAssigner.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/constant.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_isIterateeCall.js","player/i18n lazy /^/.*$/ groupOptions: {} namespace object","player/activities lazy /^/.*/index$/ groupOptions: {} namespace object","serviceWorker.js","player/utils/hooks.js","index.player.js"],"names":["INIT_ACTIVITIES","ACTIVITY_STATES_KEY","ATTRIBUTE_ACTIVITY","SCORE_DATA","TOOLTIP_CONTAINER","FOCUSABLE_ELEMENTS","module","exports","value","type","freeGlobal","freeSelf","self","Object","root","Function","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","protoProps","staticProps","prototype","g","this","e","window","Symbol","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","undefined","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","index","clear","entry","set","get","has","eq","array","other","nativeCreate","getNative","isKeyable","map","data","__data__","isDevelopment","process","isDemoMode","baseIsNative","getValue","object","isFunction","isLength","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","args","arguments","apply","err","GlobalEmitter","EventEmitter","getClientPosition","touches","changedTouches","getEventOptions","x","pageX","y","pageY","baseGetTag","isObject","asyncTag","funcTag","genTag","proxyTag","tag","webpackPolyfill","deprecate","paths","children","l","isFirefox","PointerEvents","document","documentElement","DOWN","MOVE","UP","GlobalEvents","SAVE_ACTIVITY","CANCEL_ACTIVITY","CLOSE_ACTIVITY","SCROLLING_ACTIVITY","SHOW_PREVIEW","LOAD_CKEDTITOR","INIT_CKEDTITOR","SELECT_FILES","INIT_SCORE","CHANGE_SCORE","isPhoneScreen","matchMedia","matches","isIE","documentMode","isEdge","test","navigator","userAgent","isMSBrowser","isSafari","vendor","indexOf","match","isMobile","isPhone","isPhonePortrait","isTablet","isArray","Array","objectProto","Ctor","constructor","arrayLikeKeys","baseKeysIn","isArrayLike","attachScoreListeners","on","id","currentScore","totalScore","sendScore","result","setActivityResults","Map","getPrototype","overArg","getPrototypeOf","stubFalse","freeExports","nodeType","freeModule","Buffer","isBuffer","global","baseAssignValue","func","baseIsArguments","isObjectLike","hasOwnProperty","propertyIsEnumerable","isArguments","call","MAX_SAFE_INTEGER","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","reIsUint","baseMerge","merge","createAssigner","source","srcIndex","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","init","_events","_eventsCount","_maxListeners","defaultMaxListeners","$getMaxListeners","that","_addListener","listener","prepend","m","events","existing","warning","create","newListener","emit","unshift","push","warned","w","Error","String","name","emitter","count","console","warn","onceWrapper","fired","removeListener","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","arr","ret","unwrapListeners","arrayClone","listenerCount","n","copy","RangeError","setMaxListeners","getMaxListeners","doError","er","message","context","handler","len","listeners","addListener","prependListener","once","prependOnceListener","list","position","originalListener","shift","pop","spliceOne","off","removeAllListeners","keys","rawListeners","eventNames","assignValue","customizer","isNew","newValue","Uint8Array","arrayBuffer","byteLength","transform","freeProcess","types","require","binding","baseTimes","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","size","funcToString","toString","allocUnsafe","buffer","isDeep","slice","cloneArrayBuffer","typedArray","byteOffset","baseCreate","isPrototype","objValue","runtime","Op","hasOwn","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","method","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","obj","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","reverse","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","assignMergeValue","baseFor","baseMergeDeep","keysIn","safeGet","stack","srcValue","assocIndexOf","splice","MapCache","LARGE_ARRAY_SIZE","pairs","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","RegExp","replace","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","uid","exec","IE_PROTO","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","HASH_UNDEFINED","getMapData","createBaseFor","fromRight","iteratee","keysFunc","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","isPlainObject","toPlainObject","mergeFunc","stacked","isCommon","isTyped","objectCreate","proto","argsTag","objectTag","objectCtorString","typedArrayTags","copyObject","nativeKeysIn","isProto","baseRest","isIterateeCall","assigner","sources","guard","identity","overRest","setToString","start","nativeMax","Math","max","otherArgs","thisArg","baseSetToString","shortOut","constant","string","HOT_COUNT","HOT_SPAN","nativeNow","Date","now","lastCalled","stamp","remaining","webpackAsyncContext","req","__webpack_require__","o","code","ids","t","all","isLocalhost","Boolean","location","hostname","register","config","URL","href","origin","addEventListener","swUrl","fetch","response","contentType","headers","status","serviceWorker","ready","registration","unregister","reload","registerValidSW","catch","log","checkValidServiceWorker","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","addLessonSidebarHook","sidebar","getElementById","toggleSidebarButton","hookId","matchedIndents","previousSidebarIndent","getSidebarIndent","parseFloat","getComputedStyle","marginLeft","random","sidebarToggleHook","hide","dispatchEvent","CustomEvent","currentSidebarIndent","abs","floor","offsetWidth","requestAnimationFrame","App","lang","getAttribute","language","userLanguage","tooltipContainer","createElement","style","cssText","body","appendChild","locale","activityContainers","from","querySelectorAll","node","stateId","bootstrap","Proxy","prop","common","app","attachServiceWorker","appendGlobalContainers","loadLocale","bootstrapActivies","manualControl"],"mappings":"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","file":"static/js/main.js","sourcesContent":["export const INIT_ACTIVITIES = \"InitActivities\";\r\nexport const APPLICATION_ACTIVITIES = \"AppActivities\";\r\nexport const PROVIDER = \"ActivityProvider\";\r\nexport const ACTIVITY_STATES_KEY = \"ActivityResources\";\r\nexport const ATTRIBUTE_ACTIVITY = \"data-activity\";\r\nexport const SCORE_DATA = \"scoreData\";\r\nexport const ACTIVITY_CONTAINER = \"activityContainer\";\r\nexport const TOOLTIP_CONTAINER = \"tooltipContainer\";\r\nexport const COLOR_PICKER_CONTAINER = \"colorPickerContainer\";\r\nexport const FOCUSABLE_ELEMENTS = [\r\n \".focusable\",\r\n \"a[href]\",\r\n \"input:not([disabled])\",\r\n \"select:not([disabled])\",\r\n \"textarea:not([disabled])\",\r\n \"button:not([disabled])\",\r\n \"[contenteditable]\",\r\n '[tabindex]:not([tabindex^=\"-\"])'\r\n];\r\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 != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;","var freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","/**\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 != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;","module.exports = require(\"regenerator-runtime\");\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `ListCache`.\n\n\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\nmodule.exports = ListCache;","var eq = require('./eq');\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction assocIndexOf(array, key) {\n var length = array.length;\n\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n\n return -1;\n}\n\nmodule.exports = assocIndexOf;","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n\nmodule.exports = eq;","var getNative = require('./_getNative');\n/* Built-in method references that are verified to be native. */\n\n\nvar nativeCreate = getNative(Object, 'create');\nmodule.exports = nativeCreate;","var isKeyable = require('./_isKeyable');\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n\n\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n\nmodule.exports = getMapData;","export const isDevelopment = process.env.NODE_ENV === \"development\";\r\nexport const isDemoMode = process.env.REACT_APP_DEMO === \"true\";\r\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n\n\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\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 */\n\n\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import { EventEmitter } from \"events\";\r\n\r\nexport const GlobalEmitter = new EventEmitter();\r\n\r\nexport class SinglePurposeEmitter {\r\n #handlers = new Set();\r\n\r\n attach(callback) {\r\n this.#handlers.add(callback);\r\n }\r\n\r\n detach(callback) {\r\n this.#handlers.delete(callback);\r\n }\r\n\r\n emit(e) {\r\n for (const handler of this.#handlers) handler(e);\r\n }\r\n}\r\n\r\nexport const getEventOptions = e => {\r\n let target;\r\n\r\n switch (e.type) {\r\n case \"touchmove\":\r\n target = e.touches[0];\r\n break;\r\n case \"touchend\":\r\n case \"touchstart\":\r\n target = e.changedTouches[0];\r\n break;\r\n default:\r\n target = e;\r\n }\r\n\r\n return target;\r\n};\r\n\r\nexport const getClientPosition = e => {\r\n const target = getEventOptions(e);\r\n\r\n return {\r\n x: target.pageX,\r\n y: target.pageY\r\n };\r\n};\r\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n/** `Object#toString` result references. */\n\n\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\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 */\n\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n } // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\n\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;","var defineProperty = require('./_defineProperty');\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n\n\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","import { isFirefox } from \"./user-agent\";\r\n\r\nexport const mouseWheel = isFirefox ? \"DOMMouseScroll\" : \"mousewheel\";\r\n\r\nexport const PointerEvents = {};\r\n\r\nif (\"ontouchstart\" in document.documentElement) {\r\n PointerEvents.DOWN = \"touchstart\";\r\n PointerEvents.MOVE = \"touchmove\";\r\n PointerEvents.UP = \"touchend\";\r\n} else {\r\n PointerEvents.DOWN = \"mousedown\";\r\n PointerEvents.MOVE = \"mousemove\";\r\n PointerEvents.UP = \"mouseup\";\r\n}\r\n\r\nexport const GlobalEvents = {\r\n // editor\r\n SAVE_ACTIVITY: \"activity:save\",\r\n CANCEL_ACTIVITY: \"activity:cancel\",\r\n CLOSE_ACTIVITY: \"activity:close\",\r\n SCROLLING_ACTIVITY: \"activity:scrolling\",\r\n SHOW_PREVIEW: \"preview:show\",\r\n LOAD_CKEDTITOR: \"ckeditor:load\",\r\n INIT_CKEDTITOR: \"ckeditor:init\",\r\n SELECT_FILES: \"files:select\",\r\n\r\n // player\r\n INIT_SCORE: \"score:init\",\r\n CHANGE_SCORE: \"score:change\"\r\n};\r\n","export const isPhoneScreen = () => window.matchMedia(\"only screen and (max-width: 668px)\").matches;\r\nexport const isPortrait = () => window.matchMedia(\"(orientation: portrait)\").matches;\r\nexport const isLandscape = () => window.matchMedia(\"(orientation: landscape)\").matches;\r\n\r\nexport const isIE = !!document.documentMode;\r\n\r\nexport const isEdge = /Edge/.test(navigator.userAgent);\r\n\r\nexport const isMSBrowser = isIE || isEdge;\r\n\r\nexport const isFirefox = /Firefox/i.test(navigator.userAgent);\r\n\r\nexport const isSafari =\r\n navigator.vendor &&\r\n navigator.vendor.indexOf(\"Apple\") > -1 &&\r\n navigator.userAgent &&\r\n !navigator.userAgent.match(\"CriOS\");\r\n\r\nexport const isAndroid = /android/i.test(navigator.userAgent);\r\n\r\nexport const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n navigator.userAgent\r\n);\r\n\r\nexport const isPhone = () => isMobile && isPhoneScreen();\r\nexport const isPhonePortrait = () => isPhone() && isPortrait();\r\nexport const isPhoneLandscape = () => isPhone() && isLandscape();\r\n\r\nexport const isTablet = () => isMobile && !isPhoneScreen();\r\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;\nmodule.exports = isArray;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 */\n\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;\n return value === proto;\n}\n\nmodule.exports = isPrototype;","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\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 * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n\n\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;","import { GlobalEmitter } from \"../../common/utils/event\";\r\nimport { SCORE_DATA } from \"../../common/constants/attributes\";\r\nimport { GlobalEvents } from \"../../common/constants/event\";\r\n\r\nexport const attachScoreListeners = () => {\r\n window[SCORE_DATA] = {};\r\n\r\n GlobalEmitter.on(GlobalEvents.INIT_SCORE, data => {\r\n window[SCORE_DATA][data.id].currentScore = data.currentScore;\r\n });\r\n\r\n GlobalEmitter.on(GlobalEvents.CHANGE_SCORE, data => {\r\n window[SCORE_DATA][data.id] = {\r\n currentScore: data.currentScore,\r\n totalScore: data.totalScore\r\n };\r\n });\r\n};\r\n\r\nexport const sendScore = result => {\r\n if (typeof window.setActivityResults === \"function\") {\r\n window.setActivityResults(result);\r\n }\r\n};\r\n","var getNative = require('./_getNative'),\n root = require('./_root');\n/* Built-in method references that are verified to be native. */\n\n\nvar Map = getNative(root, 'Map');\nmodule.exports = Map;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar Symbol = root.Symbol;\nmodule.exports = Symbol;","var overArg = require('./_overArg');\n/** Built-in value references. */\n\n\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\nmodule.exports = getPrototype;","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n/** Detect free variable `exports`. */\n\n\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */\n\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */\n\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n/** Built-in value references. */\n\nvar Buffer = moduleExports ? root.Buffer : undefined;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n\nvar isBuffer = nativeIsBuffer || stubFalse;\nmodule.exports = isBuffer;","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n\n\nfunction assignMergeValue(object, key, value) {\n if (value !== undefined && !eq(object[key], value) || value === undefined && !(key in object)) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;","var getNative = require('./_getNative');\n\nvar defineProperty = function () {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}();\n\nmodule.exports = defineProperty;","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Built-in value references. */\n\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\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 */\n\nvar isArguments = baseIsArguments(function () {\n return arguments;\n}()) ? baseIsArguments : function (value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n};\nmodule.exports = isArguments;","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\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 */\n\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n/* Node.js helper references. */\n\n\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\nmodule.exports = isTypedArray;","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/** Used to detect unsigned integer values. */\n\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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 */\n\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n\n\nvar merge = createAssigner(function (object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\nmodule.exports = merge;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null;\nvar ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar ReflectOwnKeys;\n\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys;\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n};\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\n\nmodule.exports = EventEmitter; // Backwards-compat with node 0.10.x\n\nEventEmitter.EventEmitter = EventEmitter;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined; // By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\n\nvar defaultMaxListeners = 10;\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function get() {\n return defaultMaxListeners;\n },\n set: function set(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function () {\n if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}; // Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\n\n\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n\n for (var i = 1; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var doError = type === 'error';\n var events = this._events;\n if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false; // If there is no 'error' event listener then throw.\n\n if (doError) {\n var er;\n if (args.length > 0) er = args[0];\n\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n } // At least give some kind of context to the user\n\n\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n if (handler === undefined) return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n\n for (var i = 0; i < len; ++i) {\n ReflectApply(listeners[i], this, args);\n }\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = target._events;\n\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type, listener.listener ? listener.listener : listener); // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n\n events = target._events;\n }\n\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] = prepend ? [listener, existing] : [existing, listener]; // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n } // Check for listener leak\n\n\n m = $getMaxListeners(target);\n\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true; // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n\n var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n};\n\nfunction onceWrapper() {\n var args = [];\n\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n ReflectApply(this.listener, this.target, args);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = {\n fired: false,\n wrapFn: undefined,\n target: target,\n type: type,\n listener: listener\n };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n}; // Emits a 'removeListener' event if and only if the listener was removed.\n\n\nEventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = this._events;\n if (events === undefined) return this;\n list = events[type];\n if (list === undefined) return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else {\n delete events[type];\n if (events.removeListener) this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0) return this;\n if (position === 0) list.shift();else {\n spliceOne(list, position);\n }\n if (list.length === 1) events[type] = list[0];\n if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === undefined) return this; // not listening for removeListener, no need to emit\n\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];\n }\n\n return this;\n } // emit removeListener for all listeners on all events\n\n\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n};\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === undefined) return [];\n var evlistener = events[type];\n if (evlistener === undefined) return [];\n if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function (emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\n\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n\n for (var i = 0; i < n; ++i) {\n copy[i] = arr[i];\n }\n\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++) {\n list[index] = list[index + 1];\n }\n\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n\n return ret;\n}","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n\n\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n\n return object;\n}\n\nmodule.exports = copyObject;","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n array || (array = Array(length));\n\n while (++index < length) {\n array[index] = source[index];\n }\n\n return array;\n}\n\nmodule.exports = copyArray;","var Uint8Array = require('./_Uint8Array');\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n\n\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;","/**\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\nmodule.exports = overArg;","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function (value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;","var freeGlobal = require('./_freeGlobal');\n/** Detect free variable `exports`. */\n\n\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */\n\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */\n\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n/** Detect free variable `process` from Node.js. */\n\nvar freeProcess = moduleExports && freeGlobal.process;\n/** Used to access faster Node.js helpers. */\n\nvar nodeUtil = function () {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n } // Legacy `process.binding('util')` for Node.js < 10.\n\n\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}();\n\nmodule.exports = nodeUtil;","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\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 */\n\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers.\n isBuff && (key == 'offset' || key == 'parent') || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || // Skip index properties.\n isIndex(key, length)))) {\n result.push(key);\n }\n }\n\n return result;\n}\n\nmodule.exports = arrayLikeKeys;","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n} // Add methods to `Stack`.\n\n\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\nmodule.exports = Stack;","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n\n try {\n return func + '';\n } catch (e) {}\n }\n\n return '';\n}\n\nmodule.exports = toSource;","var root = require('./_root');\n/** Detect free variable `exports`. */\n\n\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */\n\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */\n\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n/** Built-in value references. */\n\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n\n\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n\n\nfunction initCloneObject(object) {\n return typeof object.constructor == 'function' && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};\n}\n\nmodule.exports = initCloneObject;","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;","/**\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 */\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\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 || []); // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap; // 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\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\"; // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n\n var ContinueSentinel = {}; // 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\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && 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 = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\"; // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n\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 ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\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\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && typeof value === \"object\" && 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 = // 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(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n } // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator; // 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\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? 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 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 } // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\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 } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\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 ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted; // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n\n context.method = \"throw\";\n context.arg = record.arg;\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\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\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(\"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; // Resume execution at the desired location (see delegateYield).\n\n context.next = delegate.nextLoc; // 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\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n } // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n\n\n context.delegate = null;\n return ContinueSentinel;\n } // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\"; // 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\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 = {\n tryLoc: locs[0]\n };\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 = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse(); // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\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\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\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,\n 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 return next;\n };\n\n return next.next = next;\n }\n } // Return an iterator with no values.\n\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0; // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\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\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\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 } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && 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 complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || 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 finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n } // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(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 }; // 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\n return exports;\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.\ntypeof module === \"object\" ? module.exports : {});\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}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContentWidth\":\"800px\",\"primaryColor\":\"#000\",\"secondaryColor\":\"#c0c0c0\"};","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n\n\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n\n baseFor(source, function (srcValue, key) {\n stack || (stack = new Stack());\n\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n } else {\n var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + '', object, source, stack) : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;","var assocIndexOf = require('./_assocIndexOf');\n/** Used for built-in method references. */\n\n\nvar arrayProto = Array.prototype;\n/** Built-in value references. */\n\nvar splice = arrayProto.splice;\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n\n var lastIndex = data.length - 1;\n\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;","var assocIndexOf = require('./_assocIndexOf');\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n\n\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;","var assocIndexOf = require('./_assocIndexOf');\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n\n\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;","var assocIndexOf = require('./_assocIndexOf');\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n\n\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n\n return this;\n}\n\nmodule.exports = listCacheSet;","var ListCache = require('./_ListCache');\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n\n\nfunction stackClear() {\n this.__data__ = new ListCache();\n this.size = 0;\n}\n\nmodule.exports = stackClear;","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n/** Used as the size to enable large array optimizations. */\n\n\nvar LARGE_ARRAY_SIZE = 200;\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n\nfunction stackSet(key, value) {\n var data = this.__data__;\n\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n\n if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n\n data = this.__data__ = new MapCache(pairs);\n }\n\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n\n\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n/** Used to detect host constructors (Safari). */\n\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n/** Used for built-in method references. */\n\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Used to detect if a method is native. */\n\nvar reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&').replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;","var Symbol = require('./_Symbol');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n\n return result;\n}\n\nmodule.exports = getRawTag;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;","var coreJsData = require('./_coreJsData');\n/** Used to detect methods masquerading as native. */\n\n\nvar maskSrcKey = function () {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? 'Symbol(src)_1.' + uid : '';\n}();\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n\n\nfunction isMasked(func) {\n return !!maskSrcKey && maskSrcKey in func;\n}\n\nmodule.exports = isMasked;","var root = require('./_root');\n/** Used to detect overreaching core-js shims. */\n\n\nvar coreJsData = root['__core-js_shared__'];\nmodule.exports = coreJsData;","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `MapCache`.\n\n\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\nmodule.exports = MapCache;","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n\n\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash(),\n 'map': new (Map || ListCache)(),\n 'string': new Hash()\n };\n}\n\nmodule.exports = mapCacheClear;","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `Hash`.\n\n\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\nmodule.exports = Hash;","var nativeCreate = require('./_nativeCreate');\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n\n\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;","var nativeCreate = require('./_nativeCreate');\n/** Used to stand-in for `undefined` hash values. */\n\n\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n\nfunction hashGet(key) {\n var data = this.__data__;\n\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;","var nativeCreate = require('./_nativeCreate');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;","var nativeCreate = require('./_nativeCreate');\n/** Used to stand-in for `undefined` hash values. */\n\n\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;","var getMapData = require('./_getMapData');\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n\n\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;\n}\n\nmodule.exports = isKeyable;","var getMapData = require('./_getMapData');\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n\n\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;","var getMapData = require('./_getMapData');\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n\n\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;","var getMapData = require('./_getMapData');\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n\n\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;","var createBaseFor = require('./_createBaseFor');\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n\n\nvar baseFor = createBaseFor();\nmodule.exports = baseFor;","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function (object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n\n return object;\n };\n}\n\nmodule.exports = createBaseFor;","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n\n\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n\n var newValue = customizer ? customizer(objValue, srcValue, key + '', object, source, stack) : undefined;\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n newValue = srcValue;\n\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n } else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n } else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n } else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n } else {\n newValue = [];\n }\n } else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n } else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n } else {\n isCommon = false;\n }\n }\n\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar Uint8Array = root.Uint8Array;\nmodule.exports = Uint8Array;","var isObject = require('./isObject');\n/** Built-in value references. */\n\n\nvar objectCreate = Object.create;\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n\nvar baseCreate = function () {\n function object() {}\n\n return function (proto) {\n if (!isObject(proto)) {\n return {};\n }\n\n if (objectCreate) {\n return objectCreate(proto);\n }\n\n object.prototype = proto;\n var result = new object();\n object.prototype = undefined;\n return result;\n };\n}();\n\nmodule.exports = baseCreate;","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar argsTag = '[object Arguments]';\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\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 */\n\n\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar objectTag = '[object Object]';\n/** Used for built-in method references. */\n\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Used to infer the `Object` constructor. */\n\nvar objectCtorString = funcToString.call(Object);\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 */\n\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n\n var proto = getPrototype(value);\n\n if (proto === null) {\n return true;\n }\n\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n/** Used to identify `toStringTag` values of typed arrays. */\n\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n\n\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;","/**\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\n return result;\n}\n\nmodule.exports = baseTimes;","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * The base implementation of `_.keysIn` 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 */\n\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n\n return result;\n}\n\nmodule.exports = baseKeysIn;","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n\n return result;\n}\n\nmodule.exports = nativeKeysIn;","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n\n\nfunction createAssigner(assigner) {\n return baseRest(function (object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n customizer = assigner.length > 3 && typeof customizer == 'function' ? (length--, customizer) : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n\n object = Object(object);\n\n while (++index < length) {\n var source = sources[index];\n\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n\n return object;\n });\n}\n\nmodule.exports = createAssigner;","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n\n\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;","var apply = require('./_apply');\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\n\nvar nativeMax = Math.max;\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? func.length - 1 : start, 0);\n return function () {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n\n index = -1;\n var otherArgs = Array(start + 1);\n\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0:\n return func.call(thisArg);\n\n case 1:\n return func.call(thisArg, args[0]);\n\n case 2:\n return func.call(thisArg, args[0], args[1]);\n\n case 3:\n return func.call(thisArg, args[0], args[1], args[2]);\n }\n\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n\n\nvar setToString = shortOut(baseSetToString);\nmodule.exports = setToString;","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n\n\nvar baseSetToString = !defineProperty ? identity : function (func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\nmodule.exports = baseSetToString;","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function () {\n return value;\n };\n}\n\nmodule.exports = constant;","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeNow = Date.now;\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n return function () {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n lastCalled = stamp;\n\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n\n\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n\n var type = typeof index;\n\n if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) {\n return eq(object[index], value);\n }\n\n return false;\n}\n\nmodule.exports = isIterateeCall;","var map = {\n\t\"./en\": [\n\t\t123,\n\t\t3\n\t],\n\t\"./en.json\": [\n\t\t123,\n\t\t3\n\t],\n\t\"./ru\": [\n\t\t124,\n\t\t4\n\t],\n\t\"./ru.json\": [\n\t\t124,\n\t\t4\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 231;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./_dragndrop/index\": [\n\t\t241,\n\t\t0,\n\t\t6,\n\t\t1,\n\t\t8,\n\t\t10\n\t],\n\t\"./flashcards/index\": [\n\t\t236,\n\t\t0,\n\t\t9,\n\t\t1,\n\t\t11\n\t],\n\t\"./hotspot/index\": [\n\t\t240,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t7,\n\t\t12\n\t],\n\t\"./imagemap/index\": [\n\t\t242,\n\t\t0,\n\t\t1,\n\t\t7,\n\t\t13\n\t],\n\t\"./labeling/index\": [\n\t\t239,\n\t\t0,\n\t\t2,\n\t\t6,\n\t\t1,\n\t\t8,\n\t\t14\n\t],\n\t\"./matching/index\": [\n\t\t238,\n\t\t0,\n\t\t2,\n\t\t1,\n\t\t16\n\t],\n\t\"./slideshow/index\": [\n\t\t235,\n\t\t0,\n\t\t2,\n\t\t9,\n\t\t1,\n\t\t18\n\t],\n\t\"./timeline/index\": [\n\t\t237,\n\t\t0,\n\t\t1,\n\t\t19\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 232;\nmodule.exports = webpackAsyncContext;","import { isDevelopment } from \"./common/constants/env\";\r\n\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\nexport function register(config) {\r\n if (!isDevelopment && \"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit http://bit.ly/CRA-PWA\"\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See http://bit.ly/CRA-PWA.\"\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\"No internet connection found. App is running in offline mode.\");\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","export const addLessonSidebarHook = () => {\r\n const sidebar = document.getElementById(\"sidebar\");\r\n const toggleSidebarButton = document.getElementById(\"sidebar-toggle-btn\");\r\n\r\n if (sidebar && toggleSidebarButton) {\r\n let hookId;\r\n let matchedIndents;\r\n let previousSidebarIndent;\r\n const maxMatchedIndents = 5;\r\n\r\n const getSidebarIndent = () => parseFloat(getComputedStyle(sidebar).marginLeft);\r\n const sidebarToggleHook = (id, hide) => {\r\n if (id === hookId) {\r\n window.dispatchEvent(new CustomEvent(\"resize\"));\r\n\r\n const currentSidebarIndent = getSidebarIndent();\r\n matchedIndents = previousSidebarIndent === currentSidebarIndent ? matchedIndents + 1 : 0;\r\n previousSidebarIndent = currentSidebarIndent;\r\n\r\n const condition = hide\r\n ? Math.abs(Math.floor(currentSidebarIndent)) !== sidebar.offsetWidth\r\n : currentSidebarIndent !== 0;\r\n if (condition && matchedIndents < maxMatchedIndents) {\r\n requestAnimationFrame(() => sidebarToggleHook(id, hide));\r\n }\r\n }\r\n };\r\n\r\n toggleSidebarButton.addEventListener(\"click\", () => {\r\n matchedIndents = 0;\r\n hookId = Math.random();\r\n previousSidebarIndent = getSidebarIndent();\r\n sidebarToggleHook(hookId, previousSidebarIndent === 0);\r\n });\r\n }\r\n};\r\n","import \"./styles/player.scss\";\r\nimport merge from \"lodash/merge\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport { attachScoreListeners } from \"./player/utils/score\";\r\nimport { addLessonSidebarHook } from \"./player/utils/hooks\";\r\nimport {\r\n ATTRIBUTE_ACTIVITY,\r\n ACTIVITY_STATES_KEY,\r\n INIT_ACTIVITIES,\r\n TOOLTIP_CONTAINER\r\n} from \"./common/constants/attributes\";\r\nimport { isDevelopment } from \"./common/constants/env\";\r\n\r\nclass App {\r\n static async bootstrap() {\r\n const app = new App();\r\n app.attachServiceWorker();\r\n app.appendGlobalContainers();\r\n addLessonSidebarHook();\r\n attachScoreListeners();\r\n\r\n const locale = await app.loadLocale().catch(() => app.loadLocale(\"en\"));\r\n await app.bootstrapActivies(locale);\r\n }\r\n\r\n loadLocale(lang) {\r\n return import(\r\n /* webpackChunkName: \"[request]\" */ `./player/i18n/${lang ||\r\n document.documentElement.getAttribute(\"lang\") ||\r\n navigator.language ||\r\n navigator.userLanguage}`\r\n );\r\n }\r\n\r\n attachServiceWorker() {\r\n if (isDevelopment) {\r\n serviceWorker.unregister();\r\n } else {\r\n serviceWorker.register();\r\n }\r\n }\r\n\r\n appendGlobalContainers() {\r\n const tooltipContainer = document.createElement(\"div\");\r\n\r\n tooltipContainer.id = TOOLTIP_CONTAINER;\r\n tooltipContainer.style.cssText = \"position: absolute; z-index: 9999\";\r\n\r\n document.body.appendChild(tooltipContainer);\r\n }\r\n\r\n async bootstrapActivies(locale) {\r\n const activityContainers = Array.from(\r\n document.querySelectorAll(\"*[\" + ATTRIBUTE_ACTIVITY + \"]\")\r\n );\r\n\r\n for (let node of activityContainers) {\r\n const stateId = node.getAttribute(ATTRIBUTE_ACTIVITY);\r\n const state = window[ACTIVITY_STATES_KEY][stateId];\r\n\r\n if (state) {\r\n const activity = await import(\r\n /* webpackChunkName: \"[request]\" */ `./player/activities/${state.type}/index`\r\n );\r\n\r\n activity.bootstrap(\r\n node,\r\n state,\r\n new Proxy(locale, {\r\n get(target, prop) {\r\n return target.common && target[prop]\r\n ? merge({}, target.common, target[prop])\r\n : target[prop];\r\n }\r\n })\r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\nif (window.manualControl) {\r\n window[INIT_ACTIVITIES] = App.bootstrap;\r\n} else {\r\n document.addEventListener(\"DOMContentLoaded\", App.bootstrap);\r\n}\r\n"],"sourceRoot":""}