{"version":3,"file":"static/js/vendors-history-c5fe9be2aa3c98d8214b.js","mappings":"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","sources":["webpack://leadsbridge/./node_modules/history/esm/history.js","webpack://leadsbridge/./node_modules/@sentry-internal/browser-utils/src/instrument/history.ts"],"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","import { addHandler, fill, maybeInstrument, supportsHistory, triggerHandlers } from '@sentry/core';\nimport type { HandlerDataHistory } from '@sentry/core';\nimport { WINDOW } from '../types';\n\nlet lastHref: string | undefined;\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addHistoryInstrumentationHandler(handler: (data: HandlerDataHistory) => void): void {\n const type = 'history';\n addHandler(type, handler);\n maybeInstrument(type, instrumentHistory);\n}\n\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = WINDOW.onpopstate;\n WINDOW.onpopstate = function (this: WindowEventHandlers, ...args: unknown[]) {\n const to = WINDOW.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n const handlerData: HandlerDataHistory = { from, to };\n triggerHandlers('history', handlerData);\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function (this: History, ...args: unknown[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n const handlerData: HandlerDataHistory = { from, to };\n triggerHandlers('history', handlerData);\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(WINDOW.history, 'pushState', historyReplacementFunction);\n fill(WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n"],"names":["addLeadingSlash","path","charAt","stripLeadingSlash","substr","stripBasename","prefix","toLowerCase","indexOf","length","hasBasename","stripTrailingSlash","slice","createPath","location","search","hash","pathname","createLocation","state","key","currentLocation","hashIndex","searchIndex","parsePath","undefined","decodeURI","e","URIError","locationsAreEqual","a","b","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","result","appendListener","fn","isActive","listener","apply","arguments","push","filter","item","notifyListeners","_len","args","Array","_key","forEach","canUseDOM","window","document","createElement","getConfirmation","message","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","props","ua","globalHistory","canUseHistory","navigator","userAgent","needsHashChangeListener","_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","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","n","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replace","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","index","map","entry","nextIndex","nextEntries","splice","canGo","lastHref","addHistoryInstrumentationHandler","handler","type","instrumentHistory","oldOnPopState","historyReplacementFunction","originalHistoryFunction","from","to","String","this","_oO"],"sourceRoot":""}