{ "version": 3, "sources": ["../../../node_modules/history/esm/history.js", "../../../node_modules/resolve-pathname/esm/resolve-pathname.js", "../../../node_modules/value-equal/esm/value-equal.js", "../../../node_modules/history/node_modules/tiny-invariant/dist/esm/tiny-invariant.js"], "sourcesContent": ["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", "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 ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n"], "mappings": "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", "names": ["init_virtual_process_polyfill", "init_buffer", "init_virtual_process_polyfill", "init_buffer", "isAbsolute", "pathname", "__name", "spliceOne", "list", "index", "i", "k", "n", "resolvePathname", "to", "from", "toParts", "fromParts", "isToAbs", "isFromAbs", "mustEndAbs", "hasTrailingSlash", "last", "up", "part", "result", "resolve_pathname_default", "init_virtual_process_polyfill", "init_buffer", "valueOf", "obj", "__name", "valueEqual", "a", "b", "item", "index", "aValue", "bValue", "key", "value_equal_default", "init_virtual_process_polyfill", "init_buffer", "isProduction", "prefix", "invariant", "condition", "message", "provided", "value", "__name", "addLeadingSlash", "path", "__name", "stripLeadingSlash", "hasBasename", "prefix", "stripBasename", "stripTrailingSlash", "parsePath", "pathname", "search", "hash", "hashIndex", "searchIndex", "createPath", "location", "createLocation", "state", "key", "currentLocation", "_extends", "e", "resolve_pathname_default", "locationsAreEqual", "a", "b", "value_equal_default", "createTransitionManager", "prompt", "setPrompt", "nextPrompt", "confirmTransitionTo", "action", "getUserConfirmation", "callback", "result", "listeners", "appendListener", "fn", "isActive", "listener", "item", "notifyListeners", "_len", "args", "_key", "canUseDOM", "getConfirmation", "message", "supportsHistory", "ua", "supportsPopStateOnHashChange", "supportsGoWithoutReloadUsingHash", "isExtraneousPopstateEvent", "event", "PopStateEvent", "HashChangeEvent", "getHistoryState", "createBrowserHistory", "props", "invariant", "globalHistory", "canUseHistory", "needsHashChangeListener", "_props", "_props$forceRefresh", "forceRefresh", "_props$getUserConfirm", "_props$keyLength", "keyLength", "basename", "getDOMLocation", "historyState", "_ref", "_window$location", "createKey", "transitionManager", "setState", "nextState", "history", "handlePopState", "handlePop", "handleHashChange", "forceNextPop", "ok", "revertPop", "fromLocation", "toLocation", "toIndex", "allKeys", "fromIndex", "delta", "go", "initialLocation", "createHref", "push", "href", "prevIndex", "nextKeys", "replace", "n", "goBack", "goForward", "listenerCount", "checkDOMListeners", "isBlocked", "block", "unblock", "listen", "unlisten", "HashChangeEvent$1", "HashPathCoders", "stripHash", "url", "getHashPath", "pushHashPath", "replaceHashPath", "createHashHistory", "canGoWithoutReload", "_props$hashType", "hashType", "_HashPathCoders$hashT", "encodePath", "decodePath", "ignorePath", "locationsAreEqual$$1", "encodedPath", "prevLocation", "allPaths", "baseTag", "hashChanged", "nextPaths", "clamp", "lowerBound", "upperBound", "createMemoryHistory", "_props$initialEntries", "initialEntries", "_props$initialIndex", "initialIndex", "index", "entries", "entry", "nextIndex", "nextEntries", "canGo"] }