{"version":3,"file":"history.js","mappings":"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","sources":["webpack://@qlik-trial/history/./src/index.js","webpack://@qlik-trial/history/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@qlik-trial/history/./node_modules/resolve-pathname/esm/resolve-pathname.js","webpack://@qlik-trial/history/./node_modules/value-equal/esm/value-equal.js","webpack://@qlik-trial/history/./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack://@qlik-trial/history/./node_modules/history/esm/history.js","webpack://@qlik-trial/history/webpack/bootstrap","webpack://@qlik-trial/history/webpack/runtime/define property getters","webpack://@qlik-trial/history/webpack/runtime/hasOwnProperty shorthand","webpack://@qlik-trial/history/webpack/runtime/make namespace object","webpack://@qlik-trial/history/webpack/startup"],"sourcesContent":["const {\n createBrowserHistory,\n createHashHistory,\n createMemoryHistory,\n createLocation,\n locationsAreEqual,\n createPath,\n parsePath,\n} = require(\"history\");\n\n/**\n * Patch for avoiding that single-spa posts an event when routes are changed to the\n * qmfe component that caused the event.\n */\nfunction patchedCreateBrowserHistory(options) {\n const browserHistory = createBrowserHistory(options);\n const ORIGINAL_BROWSER_HISTORY_LISTEN = browserHistory.listen;\n browserHistory.listen = (listener) => {\n let lastLocation;\n const wrappedListener = (location, action) => {\n if (\n !lastLocation ||\n lastLocation.pathname !== location.pathname ||\n lastLocation.search !== location.search ||\n lastLocation.hash !== location.hash ||\n action !== \"POP\"\n ) {\n lastLocation = location;\n listener(location, action);\n } else {\n lastLocation = location;\n }\n };\n return ORIGINAL_BROWSER_HISTORY_LISTEN.call(\n browserHistory,\n wrappedListener\n );\n };\n return browserHistory;\n}\n\nmodule.exports = {\n createBrowserHistory: patchedCreateBrowserHistory,\n createHashHistory,\n createMemoryHistory,\n createLocation,\n locationsAreEqual,\n createPath,\n parsePath,\n};\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(579);\n"],"names":["createBrowserHistory","createHashHistory","createMemoryHistory","createLocation","locationsAreEqual","createPath","parsePath","require","module","exports","options","browserHistory","ORIGINAL_BROWSER_HISTORY_LISTEN","listen","listener","lastLocation","call","location","action","pathname","search","hash","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","apply","this","isAbsolute","charAt","spliceOne","list","index","k","n","pop","obj","valueOf","valueEqual","a","b","Array","isArray","every","item","aValue","bValue","keys","invariant","condition","message","Error","addLeadingSlash","path","stripLeadingSlash","substr","stripBasename","prefix","toLowerCase","indexOf","hasBasename","stripTrailingSlash","slice","hashIndex","searchIndex","state","currentLocation","undefined","decodeURI","e","URIError","to","from","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","last","up","part","unshift","result","join","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","callback","appendListener","fn","isActive","push","filter","notifyListeners","_len","args","_key","forEach","canUseDOM","window","document","createElement","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","props","ua","globalHistory","canUseHistory","navigator","userAgent","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","event","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replace","replaceState","goBack","goForward","block","unblock","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","substring","replaceHashPath","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","map","entry","nextIndex","nextEntries","splice","canGo","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","prop","r","Symbol","toStringTag","value"],"sourceRoot":""}