Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

history

Package Overview
Dependencies
Maintainers
1
Versions
101
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

history - npm Package Compare versions

Comparing version 3.0.0-0 to 3.0.0-1

26

CHANGES.md
## [HEAD]
- **Feature:** Added `history.getCurrentLocation()` method
- Added `locationsAreEqual` to top-level exports
- **Breakage:** Removed support for `<base href>` as `basename` ([#94])
- Removed dependency on `deep-equal`
[HEAD]: https://github.com/mjackson/history/compare/latest...HEAD
[#94]: https://github.com/mjackson/history/issues/94
## [3.0.0-0]
> Mar 19, 2016
- Added `history.getCurrentLocation()` method
- **Breakage:** `history.listen` no longer calls the callback synchronously once.

@@ -18,3 +28,3 @@ Use `history.getCurrentLocation` instead

[HEAD]: https://github.com/mjackson/history/compare/latest...HEAD
[3.0.0-0]: https://github.com/mjackson/history/compare/v2.0.0...v3.0.0-0
[#163]: https://github.com/mjackson/history/issues/163

@@ -73,4 +83,4 @@

- **Bugfix:** Silence all warnings that were introduced since 1.13 (see [reactjs/react-router#2682])
- **Deprecation:** Deprecate the `createLocation` method in the top-level exports
- **Deprecation:** Deprecate the `state` arg to `history.createLocation`
- Deprecate the `createLocation` method in the top-level exports
- Deprecate the `state` arg to `history.createLocation`

@@ -83,4 +93,4 @@ [v1.16.0]: https://github.com/mjackson/history/compare/v1.15.0...v1.16.0

- **Feature:** Accept location descriptors in `createPath` and `createHref` ([#173])
- **Deprecation:** Deprecate the `query` arg to `createPath` and `createHref` in favor of using location descriptor objects ([#173])
- Accept location descriptors in `createPath` and `createHref` ([#173])
- Deprecate the `query` arg to `createPath` and `createHref` in favor of using location descriptor objects ([#173])

@@ -93,4 +103,4 @@ [v1.15.0]: https://github.com/mjackson/history/compare/v1.14.0...v1.15.0

- **Feature:** Accept objects in `history.push` and `history.replace` ([#141])
- **Deprecation:** Deprecate `history.pushState` and `history.replaceState` in favor of passing objects to `history.push` and `history.replace` ([#168])
- Accept objects in `history.push` and `history.replace` ([#141])
- Deprecate `history.pushState` and `history.replaceState` in favor of passing objects to `history.push` and `history.replace` ([#168])
- **Bugfix:** Disable browser history on Chrome iOS ([#146])

@@ -97,0 +107,0 @@ - **Bugfix:** Do not convert same-path PUSH to REPLACE if the hash has changed ([#167])

@@ -43,3 +43,3 @@ "use strict";

hasNext = false;
work.call(undefined, currentTurn++, next, done);
work(currentTurn++, next, done);
}

@@ -46,0 +46,0 @@

@@ -19,2 +19,4 @@ 'use strict';

var PopStateEvent = 'popstate';
var _createLocation = function _createLocation(historyState) {

@@ -39,4 +41,2 @@ var key = historyState && historyState.key;

var PopStateEvent = 'popstate';
var startListener = exports.startListener = function startListener(listener) {

@@ -43,0 +43,0 @@ var handlePopState = function handlePopState(event) {

@@ -66,3 +66,2 @@ 'use strict';

/* eslint-ignore prefer-const */
var listenerCount = 0,

@@ -69,0 +68,0 @@ stopListener = void 0;

@@ -7,6 +7,2 @@ 'use strict';

var _deepEqual = require('deep-equal');
var _deepEqual2 = _interopRequireDefault(_deepEqual);
var _AsyncUtils = require('./AsyncUtils');

@@ -120,3 +116,3 @@

if (nextPath === prevPath && (0, _deepEqual2.default)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;
if (nextPath === prevPath && (0, _LocationUtils.statesAreEqual)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;
}

@@ -123,0 +119,0 @@

@@ -106,4 +106,5 @@ 'use strict';

var entries = options.entries;
var current = options.current;
var _options = options;
var entries = _options.entries;
var current = _options.current;

@@ -110,0 +111,0 @@

@@ -22,3 +22,3 @@ 'use strict';

var supportsHistory = exports.supportsHistory = function supportsHistory() {
var ua = navigator.userAgent;
var ua = window.navigator.userAgent;

@@ -34,3 +34,3 @@ 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;

var supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {
return navigator.userAgent.indexOf('Firefox') === -1;
return window.navigator.userAgent.indexOf('Firefox') === -1;
};

@@ -37,2 +37,4 @@ 'use strict';

var HashChangeEvent = 'hashchange';
var getHashPath = function getHashPath() {

@@ -80,3 +82,2 @@ // We can't use window.location.hash here because it's not

var HashChangeEvent = 'hashchange';
var prevLocation = void 0;

@@ -83,0 +84,0 @@

@@ -6,4 +6,13 @@ 'use strict';

});
exports.Actions = exports.useQueries = exports.useBeforeUnload = exports.useBasename = exports.createMemoryHistory = exports.createHashHistory = exports.createHistory = undefined;
exports.locationsAreEqual = exports.Actions = exports.useQueries = exports.useBeforeUnload = exports.useBasename = exports.createMemoryHistory = exports.createHashHistory = exports.createHistory = undefined;
var _LocationUtils = require('./LocationUtils');
Object.defineProperty(exports, 'locationsAreEqual', {
enumerable: true,
get: function get() {
return _LocationUtils.locationsAreEqual;
}
});
var _createBrowserHistory = require('./createBrowserHistory');

@@ -10,0 +19,0 @@

@@ -6,8 +6,10 @@ 'use strict';

});
exports.createLocation = exports.locationsAreEqual = undefined;
exports.locationsAreEqual = exports.statesAreEqual = exports.createLocation = undefined;
var _deepEqual = require('deep-equal');
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
var _deepEqual2 = _interopRequireDefault(_deepEqual);
var _invariant = require('invariant');
var _invariant2 = _interopRequireDefault(_invariant);
var _PathUtils = require('./PathUtils');

@@ -19,8 +21,2 @@

var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {
return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash &&
// a.action === b.action && // Different action !== location change.
a.key === b.key && (0, _deepEqual2.default)(a.state, b.state);
};
var createLocation = exports.createLocation = function createLocation() {

@@ -46,2 +42,40 @@ var input = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0];

};
};
var isDate = function isDate(object) {
return Object.prototype.toString.call(object) === '[object Date]';
};
var statesAreEqual = exports.statesAreEqual = function statesAreEqual(a, b) {
if (a === b) return true;
var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a);
var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b);
if (typeofA !== typeofB) return false;
!(typeofA !== 'function') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store functions in location state') : (0, _invariant2.default)(false) : void 0;
// Not the same object, but same type.
if (typeofA === 'object') {
!!(isDate(a) && isDate(b)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store Date objects in location state') : (0, _invariant2.default)(false) : void 0;
if (!Array.isArray(a)) return Object.keys(a).every(function (key) {
return statesAreEqual(a[key], b[key]);
});
return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {
return statesAreEqual(item, b[index]);
});
}
// All other serializable types (string, number, boolean)
// should be strict equal.
return false;
};
var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {
return a.key === b.key &&
// a.action === b.action && // Different action !== location change.
a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state);
};

@@ -9,4 +9,2 @@ 'use strict';

var _ExecutionEnvironment = require('./ExecutionEnvironment');
var _runTransitionHook = require('./runTransitionHook');

@@ -27,11 +25,3 @@

// Automatically use the value of <base href> in HTML
// documents as basename if it's not explicitly given.
if (basename == null && _ExecutionEnvironment.canUseDOM) {
var base = document.getElementsByTagName('base')[0];
if (base) basename = base.getAttribute('href');
}
var addBasename = function addBasename(location) {

@@ -38,0 +28,0 @@ if (!location) return location;

@@ -9,8 +9,2 @@ 'use strict';

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
var _queryString = require('query-string');

@@ -32,10 +26,2 @@

var isNestedObject = function isNestedObject(object) {
for (var p in object) {
if (object.hasOwnProperty(p) && _typeof(object[p]) === 'object' && !Array.isArray(object[p]) && object[p] !== null) return true;
}
return false;
};
/**

@@ -69,4 +55,2 @@ * Returns a new createHistory function that may be used to create

process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(stringifyQuery !== defaultStringifyQuery || !isNestedObject(query), 'useQueries does not stringify nested query objects by default; ' + 'use a custom stringifyQuery function') : void 0;
var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;

@@ -73,0 +57,0 @@ var queryString = stringifyQuery(query);

@@ -43,3 +43,3 @@ "use strict";

hasNext = false;
work.call(undefined, currentTurn++, next, done);
work(currentTurn++, next, done);
}

@@ -46,0 +46,0 @@

@@ -19,2 +19,4 @@ 'use strict';

var PopStateEvent = 'popstate';
var _createLocation = function _createLocation(historyState) {

@@ -39,4 +41,2 @@ var key = historyState && historyState.key;

var PopStateEvent = 'popstate';
var startListener = exports.startListener = function startListener(listener) {

@@ -43,0 +43,0 @@ var handlePopState = function handlePopState(event) {

@@ -66,3 +66,2 @@ 'use strict';

/* eslint-ignore prefer-const */
var listenerCount = 0,

@@ -69,0 +68,0 @@ stopListener = void 0;

@@ -7,6 +7,2 @@ 'use strict';

var _deepEqual = require('deep-equal');
var _deepEqual2 = _interopRequireDefault(_deepEqual);
var _AsyncUtils = require('./AsyncUtils');

@@ -120,3 +116,3 @@

if (nextPath === prevPath && (0, _deepEqual2.default)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;
if (nextPath === prevPath && (0, _LocationUtils.statesAreEqual)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;
}

@@ -123,0 +119,0 @@

@@ -106,4 +106,5 @@ 'use strict';

var entries = options.entries;
var current = options.current;
var _options = options;
var entries = _options.entries;
var current = _options.current;

@@ -110,0 +111,0 @@

@@ -22,3 +22,3 @@ 'use strict';

var supportsHistory = exports.supportsHistory = function supportsHistory() {
var ua = navigator.userAgent;
var ua = window.navigator.userAgent;

@@ -34,3 +34,3 @@ 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;

var supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {
return navigator.userAgent.indexOf('Firefox') === -1;
return window.navigator.userAgent.indexOf('Firefox') === -1;
};

@@ -37,2 +37,4 @@ 'use strict';

var HashChangeEvent = 'hashchange';
var getHashPath = function getHashPath() {

@@ -80,3 +82,2 @@ // We can't use window.location.hash here because it's not

var HashChangeEvent = 'hashchange';
var prevLocation = void 0;

@@ -83,0 +84,0 @@

@@ -6,4 +6,13 @@ 'use strict';

});
exports.Actions = exports.useQueries = exports.useBeforeUnload = exports.useBasename = exports.createMemoryHistory = exports.createHashHistory = exports.createHistory = undefined;
exports.locationsAreEqual = exports.Actions = exports.useQueries = exports.useBeforeUnload = exports.useBasename = exports.createMemoryHistory = exports.createHashHistory = exports.createHistory = undefined;
var _LocationUtils = require('./LocationUtils');
Object.defineProperty(exports, 'locationsAreEqual', {
enumerable: true,
get: function get() {
return _LocationUtils.locationsAreEqual;
}
});
var _createBrowserHistory = require('./createBrowserHistory');

@@ -10,0 +19,0 @@

@@ -6,8 +6,10 @@ 'use strict';

});
exports.createLocation = exports.locationsAreEqual = undefined;
exports.locationsAreEqual = exports.statesAreEqual = exports.createLocation = undefined;
var _deepEqual = require('deep-equal');
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
var _deepEqual2 = _interopRequireDefault(_deepEqual);
var _invariant = require('invariant');
var _invariant2 = _interopRequireDefault(_invariant);
var _PathUtils = require('./PathUtils');

@@ -19,8 +21,2 @@

var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {
return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash &&
// a.action === b.action && // Different action !== location change.
a.key === b.key && (0, _deepEqual2.default)(a.state, b.state);
};
var createLocation = exports.createLocation = function createLocation() {

@@ -46,2 +42,40 @@ var input = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0];

};
};
var isDate = function isDate(object) {
return Object.prototype.toString.call(object) === '[object Date]';
};
var statesAreEqual = exports.statesAreEqual = function statesAreEqual(a, b) {
if (a === b) return true;
var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a);
var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b);
if (typeofA !== typeofB) return false;
!(typeofA !== 'function') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store functions in location state') : (0, _invariant2.default)(false) : void 0;
// Not the same object, but same type.
if (typeofA === 'object') {
!!(isDate(a) && isDate(b)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store Date objects in location state') : (0, _invariant2.default)(false) : void 0;
if (!Array.isArray(a)) return Object.keys(a).every(function (key) {
return statesAreEqual(a[key], b[key]);
});
return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {
return statesAreEqual(item, b[index]);
});
}
// All other serializable types (string, number, boolean)
// should be strict equal.
return false;
};
var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {
return a.key === b.key &&
// a.action === b.action && // Different action !== location change.
a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state);
};

@@ -9,4 +9,2 @@ 'use strict';

var _ExecutionEnvironment = require('./ExecutionEnvironment');
var _runTransitionHook = require('./runTransitionHook');

@@ -27,11 +25,3 @@

// Automatically use the value of <base href> in HTML
// documents as basename if it's not explicitly given.
if (basename == null && _ExecutionEnvironment.canUseDOM) {
var base = document.getElementsByTagName('base')[0];
if (base) basename = base.getAttribute('href');
}
var addBasename = function addBasename(location) {

@@ -38,0 +28,0 @@ if (!location) return location;

@@ -9,8 +9,2 @@ 'use strict';

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
var _queryString = require('query-string');

@@ -32,10 +26,2 @@

var isNestedObject = function isNestedObject(object) {
for (var p in object) {
if (object.hasOwnProperty(p) && _typeof(object[p]) === 'object' && !Array.isArray(object[p]) && object[p] !== null) return true;
}
return false;
};
/**

@@ -69,4 +55,2 @@ * Returns a new createHistory function that may be used to create

process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(stringifyQuery !== defaultStringifyQuery || !isNestedObject(query), 'useQueries does not stringify nested query objects by default; ' + 'use a custom stringifyQuery function') : void 0;
var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;

@@ -73,0 +57,0 @@ var queryString = stringifyQuery(query);

{
"name": "history",
"version": "3.0.0-0",
"version": "3.0.0-1",
"description": "Manage browser history with JavaScript",
"author": "Michael Jackson",
"license": "MIT",
"webpack": "lib",
"browser": "umd/history.min.js",
"main": "lib",

@@ -33,3 +31,2 @@ "jsnext:main": "es6/index",

"dependencies": {
"deep-equal": "^1.0.0",
"invariant": "^2.0.0",

@@ -41,3 +38,3 @@ "query-string": "^3.0.0",

"babel-cli": "^6.6.5",
"babel-eslint": "^5.0.0",
"babel-eslint": "^6.0.0",
"babel-loader": "^6.2.4",

@@ -47,6 +44,5 @@ "babel-plugin-dev-expression": "^0.2.1",

"babel-preset-stage-1": "^6.5.0",
"eslint": "^2.2.0",
"eslint": "^2.5.1",
"eslint-config-airbnb": "^6.0.2",
"eslint-plugin-react": "^4.1.0",
"estraverse-fb": "^1.3.1",
"expect": "^1.12.0",

@@ -75,3 +71,12 @@ "gzip-size": "^3.0.0",

"location"
]
],
"babel": {
"presets": [
"es2015",
"stage-1"
],
"plugins": [
"dev-expression"
]
}
}

@@ -62,29 +62,38 @@ (function webpackUniversalModuleDefinition(root, factory) {

});
exports.Actions = exports.useQueries = exports.useBeforeUnload = exports.useBasename = exports.createMemoryHistory = exports.createHashHistory = exports.createHistory = undefined;
exports.locationsAreEqual = exports.Actions = exports.useQueries = exports.useBeforeUnload = exports.useBasename = exports.createMemoryHistory = exports.createHashHistory = exports.createHistory = undefined;
var _createBrowserHistory = __webpack_require__(1);
var _LocationUtils = __webpack_require__(1);
Object.defineProperty(exports, 'locationsAreEqual', {
enumerable: true,
get: function get() {
return _LocationUtils.locationsAreEqual;
}
});
var _createBrowserHistory = __webpack_require__(6);
var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);
var _createHashHistory2 = __webpack_require__(18);
var _createHashHistory2 = __webpack_require__(15);
var _createHashHistory3 = _interopRequireDefault(_createHashHistory2);
var _createMemoryHistory2 = __webpack_require__(20);
var _createMemoryHistory2 = __webpack_require__(17);
var _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2);
var _useBasename2 = __webpack_require__(21);
var _useBasename2 = __webpack_require__(18);
var _useBasename3 = _interopRequireDefault(_useBasename2);
var _useBeforeUnload2 = __webpack_require__(22);
var _useBeforeUnload2 = __webpack_require__(19);
var _useBeforeUnload3 = _interopRequireDefault(_useBeforeUnload2);
var _useQueries2 = __webpack_require__(23);
var _useQueries2 = __webpack_require__(20);
var _useQueries3 = _interopRequireDefault(_useQueries2);
var _Actions2 = __webpack_require__(11);
var _Actions2 = __webpack_require__(5);

@@ -112,4 +121,5 @@ var _Actions3 = _interopRequireDefault(_Actions2);

});
exports.locationsAreEqual = exports.statesAreEqual = exports.createLocation = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };

@@ -120,87 +130,68 @@ var _invariant = __webpack_require__(2);

var _ExecutionEnvironment = __webpack_require__(3);
var _PathUtils = __webpack_require__(3);
var _BrowserProtocol = __webpack_require__(4);
var _Actions = __webpack_require__(5);
var BrowserProtocol = _interopRequireWildcard(_BrowserProtocol);
var _RefreshProtocol = __webpack_require__(14);
var RefreshProtocol = _interopRequireWildcard(_RefreshProtocol);
var _DOMUtils = __webpack_require__(12);
var _createHistory = __webpack_require__(15);
var _createHistory2 = _interopRequireDefault(_createHistory);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Creates and returns a history object that uses HTML5's history API
* (pushState, replaceState, and the popstate event) to manage history.
* This is the recommended method of managing history in browsers because
* it provides the cleanest URLs.
*
* Note: In browsers that do not support the HTML5 history API full
* page reloads will be used to preserve clean URLs. You can force this
* behavior using { forceRefresh: true } in options.
*/
var createBrowserHistory = function createBrowserHistory() {
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var createLocation = exports.createLocation = function createLocation() {
var input = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0];
var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1];
var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];
!_ExecutionEnvironment.canUseDOM ? false ? (0, _invariant2.default)(false, 'Browser history needs a DOM') : (0, _invariant2.default)(false) : void 0;
var object = typeof input === 'string' ? (0, _PathUtils.parsePath)(input) : input;
var useRefresh = options.forceRefresh || !(0, _DOMUtils.supportsHistory)();
var Protocol = useRefresh ? RefreshProtocol : BrowserProtocol;
var pathname = object.pathname || '/';
var search = object.search || '';
var hash = object.hash || '';
var state = object.state;
var getUserConfirmation = Protocol.getUserConfirmation;
var getCurrentLocation = Protocol.getCurrentLocation;
var pushLocation = Protocol.pushLocation;
var replaceLocation = Protocol.replaceLocation;
var go = Protocol.go;
return {
pathname: pathname,
search: search,
hash: hash,
state: state,
action: action,
key: key
};
};
var isDate = function isDate(object) {
return Object.prototype.toString.call(object) === '[object Date]';
};
var history = (0, _createHistory2.default)(_extends({
getUserConfirmation: getUserConfirmation }, options, {
getCurrentLocation: getCurrentLocation,
pushLocation: pushLocation,
replaceLocation: replaceLocation,
go: go
}));
var statesAreEqual = exports.statesAreEqual = function statesAreEqual(a, b) {
if (a === b) return true;
/* eslint-ignore prefer-const */
var listenerCount = 0,
stopListener = void 0;
var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a);
var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b);
var startListener = function startListener(listener, before) {
if (++listenerCount === 1) stopListener = BrowserProtocol.startListener(history.transitionTo);
if (typeofA !== typeofB) return false;
var unlisten = before ? history.listenBefore(listener) : history.listen(listener);
!(typeofA !== 'function') ? false ? (0, _invariant2.default)(false, 'You must not store functions in location state') : (0, _invariant2.default)(false) : void 0;
return function () {
unlisten();
// Not the same object, but same type.
if (typeofA === 'object') {
!!(isDate(a) && isDate(b)) ? false ? (0, _invariant2.default)(false, 'You must not store Date objects in location state') : (0, _invariant2.default)(false) : void 0;
if (--listenerCount === 0) stopListener();
};
};
if (!Array.isArray(a)) return Object.keys(a).every(function (key) {
return statesAreEqual(a[key], b[key]);
});
var listenBefore = function listenBefore(listener) {
return startListener(listener, true);
};
return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {
return statesAreEqual(item, b[index]);
});
}
var listen = function listen(listener) {
return startListener(listener, false);
};
// All other serializable types (string, number, boolean)
// should be strict equal.
return false;
};
return _extends({}, history, {
listenBefore: listenBefore,
listen: listen
});
var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {
return a.key === b.key &&
// a.action === b.action && // Different action !== location change.
a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state);
};
exports.default = createBrowserHistory;
/***/ },

@@ -265,13 +256,2 @@ /* 2 */

/* 3 */
/***/ function(module, exports) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
/***/ },
/* 4 */
/***/ function(module, exports, __webpack_require__) {

@@ -284,277 +264,5 @@

});
exports.go = exports.replaceLocation = exports.pushLocation = exports.startListener = exports.getUserConfirmation = exports.getCurrentLocation = undefined;
var _LocationUtils = __webpack_require__(5);
var _DOMUtils = __webpack_require__(12);
var _DOMStateStorage = __webpack_require__(13);
var _PathUtils = __webpack_require__(9);
/* eslint-disable no-alert */
var _createLocation = function _createLocation(historyState) {
var key = historyState && historyState.key;
return (0, _LocationUtils.createLocation)({
pathname: window.location.pathname,
search: window.location.search,
hash: window.location.hash,
state: key ? (0, _DOMStateStorage.readState)(key) : undefined
}, undefined, key);
};
var getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {
return _createLocation(window.history.state);
};
var getUserConfirmation = exports.getUserConfirmation = function getUserConfirmation(message, callback) {
return callback(window.confirm(message));
};
var PopStateEvent = 'popstate';
var startListener = exports.startListener = function startListener(listener) {
var handlePopState = function handlePopState(event) {
if (event.state !== undefined) // Ignore extraneous popstate events in WebKit
listener(_createLocation(event.state));
};
(0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);
return function () {
return (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);
};
};
var updateLocation = function updateLocation(location, updateState) {
var state = location.state;
var key = location.key;
if (state !== undefined) (0, _DOMStateStorage.saveState)(key, state);
updateState({ key: key }, (0, _PathUtils.createPath)(location));
};
var pushLocation = exports.pushLocation = function pushLocation(location) {
return updateLocation(location, function (state, path) {
return window.history.pushState(state, null, path);
});
};
var replaceLocation = exports.replaceLocation = function replaceLocation(location) {
return updateLocation(location, function (state, path) {
return window.history.replaceState(state, null, path);
});
};
var go = exports.go = function go(n) {
if (n) window.history.go(n);
};
/***/ },
/* 5 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createLocation = exports.locationsAreEqual = undefined;
var _deepEqual = __webpack_require__(6);
var _deepEqual2 = _interopRequireDefault(_deepEqual);
var _PathUtils = __webpack_require__(9);
var _Actions = __webpack_require__(11);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {
return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash &&
// a.action === b.action && // Different action !== location change.
a.key === b.key && (0, _deepEqual2.default)(a.state, b.state);
};
var createLocation = exports.createLocation = function createLocation() {
var input = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0];
var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1];
var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];
var object = typeof input === 'string' ? (0, _PathUtils.parsePath)(input) : input;
var pathname = object.pathname || '/';
var search = object.search || '';
var hash = object.hash || '';
var state = object.state;
return {
pathname: pathname,
search: search,
hash: hash,
state: state,
action: action,
key: key
};
};
/***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) {
var pSlice = Array.prototype.slice;
var objectKeys = __webpack_require__(7);
var isArguments = __webpack_require__(8);
var deepEqual = module.exports = function (actual, expected, opts) {
if (!opts) opts = {};
// 7.1. All identical values are equivalent, as determined by ===.
if (actual === expected) {
return true;
} else if (actual instanceof Date && expected instanceof Date) {
return actual.getTime() === expected.getTime();
// 7.3. Other pairs that do not both pass typeof value == 'object',
// equivalence is determined by ==.
} else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {
return opts.strict ? actual === expected : actual == expected;
// 7.4. For all other Object pairs, including Array objects, equivalence is
// determined by having the same number of owned properties (as verified
// with Object.prototype.hasOwnProperty.call), the same set of keys
// (although not necessarily the same order), equivalent values for every
// corresponding key, and an identical 'prototype' property. Note: this
// accounts for both named and indexed properties on Arrays.
} else {
return objEquiv(actual, expected, opts);
}
}
function isUndefinedOrNull(value) {
return value === null || value === undefined;
}
function isBuffer (x) {
if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;
if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {
return false;
}
if (x.length > 0 && typeof x[0] !== 'number') return false;
return true;
}
function objEquiv(a, b, opts) {
var i, key;
if (isUndefinedOrNull(a) || isUndefinedOrNull(b))
return false;
// an identical 'prototype' property.
if (a.prototype !== b.prototype) return false;
//~~~I've managed to break Object.keys through screwy arguments passing.
// Converting to array solves the problem.
if (isArguments(a)) {
if (!isArguments(b)) {
return false;
}
a = pSlice.call(a);
b = pSlice.call(b);
return deepEqual(a, b, opts);
}
if (isBuffer(a)) {
if (!isBuffer(b)) {
return false;
}
if (a.length !== b.length) return false;
for (i = 0; i < a.length; i++) {
if (a[i] !== b[i]) return false;
}
return true;
}
try {
var ka = objectKeys(a),
kb = objectKeys(b);
} catch (e) {//happens when one is a string literal and the other isn't
return false;
}
// having the same number of owned properties (keys incorporates
// hasOwnProperty)
if (ka.length != kb.length)
return false;
//the same set of keys (although not necessarily the same order),
ka.sort();
kb.sort();
//~~~cheap key test
for (i = ka.length - 1; i >= 0; i--) {
if (ka[i] != kb[i])
return false;
}
//equivalent values for every corresponding key, and
//~~~possibly expensive deep test
for (i = ka.length - 1; i >= 0; i--) {
key = ka[i];
if (!deepEqual(a[key], b[key], opts)) return false;
}
return typeof a === typeof b;
}
/***/ },
/* 7 */
/***/ function(module, exports) {
exports = module.exports = typeof Object.keys === 'function'
? Object.keys : shim;
exports.shim = shim;
function shim (obj) {
var keys = [];
for (var key in obj) keys.push(key);
return keys;
}
/***/ },
/* 8 */
/***/ function(module, exports) {
var supportsArgumentsClass = (function(){
return Object.prototype.toString.call(arguments)
})() == '[object Arguments]';
exports = module.exports = supportsArgumentsClass ? supported : unsupported;
exports.supported = supported;
function supported(object) {
return Object.prototype.toString.call(object) == '[object Arguments]';
};
exports.unsupported = unsupported;
function unsupported(object){
return object &&
typeof object == 'object' &&
typeof object.length == 'number' &&
Object.prototype.hasOwnProperty.call(object, 'callee') &&
!Object.prototype.propertyIsEnumerable.call(object, 'callee') ||
false;
};
/***/ },
/* 9 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createPath = exports.parsePath = exports.getQueryStringValueFromPath = exports.stripQueryStringValueFromPath = exports.addQueryStringValueToPath = exports.isAbsolutePath = undefined;
var _warning = __webpack_require__(10);
var _warning = __webpack_require__(4);

@@ -661,3 +369,3 @@ var _warning2 = _interopRequireDefault(_warning);

/***/ },
/* 10 */
/* 4 */
/***/ function(module, exports, __webpack_require__) {

@@ -728,3 +436,3 @@

/***/ },
/* 11 */
/* 5 */
/***/ function(module, exports) {

@@ -758,3 +466,103 @@

/***/ },
/* 12 */
/* 6 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _invariant = __webpack_require__(2);
var _invariant2 = _interopRequireDefault(_invariant);
var _ExecutionEnvironment = __webpack_require__(7);
var _BrowserProtocol = __webpack_require__(8);
var BrowserProtocol = _interopRequireWildcard(_BrowserProtocol);
var _RefreshProtocol = __webpack_require__(11);
var RefreshProtocol = _interopRequireWildcard(_RefreshProtocol);
var _DOMUtils = __webpack_require__(9);
var _createHistory = __webpack_require__(12);
var _createHistory2 = _interopRequireDefault(_createHistory);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Creates and returns a history object that uses HTML5's history API
* (pushState, replaceState, and the popstate event) to manage history.
* This is the recommended method of managing history in browsers because
* it provides the cleanest URLs.
*
* Note: In browsers that do not support the HTML5 history API full
* page reloads will be used to preserve clean URLs. You can force this
* behavior using { forceRefresh: true } in options.
*/
var createBrowserHistory = function createBrowserHistory() {
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
!_ExecutionEnvironment.canUseDOM ? false ? (0, _invariant2.default)(false, 'Browser history needs a DOM') : (0, _invariant2.default)(false) : void 0;
var useRefresh = options.forceRefresh || !(0, _DOMUtils.supportsHistory)();
var Protocol = useRefresh ? RefreshProtocol : BrowserProtocol;
var getUserConfirmation = Protocol.getUserConfirmation;
var getCurrentLocation = Protocol.getCurrentLocation;
var pushLocation = Protocol.pushLocation;
var replaceLocation = Protocol.replaceLocation;
var go = Protocol.go;
var history = (0, _createHistory2.default)(_extends({
getUserConfirmation: getUserConfirmation }, options, {
getCurrentLocation: getCurrentLocation,
pushLocation: pushLocation,
replaceLocation: replaceLocation,
go: go
}));
var listenerCount = 0,
stopListener = void 0;
var startListener = function startListener(listener, before) {
if (++listenerCount === 1) stopListener = BrowserProtocol.startListener(history.transitionTo);
var unlisten = before ? history.listenBefore(listener) : history.listen(listener);
return function () {
unlisten();
if (--listenerCount === 0) stopListener();
};
};
var listenBefore = function listenBefore(listener) {
return startListener(listener, true);
};
var listen = function listen(listener) {
return startListener(listener, false);
};
return _extends({}, history, {
listenBefore: listenBefore,
listen: listen
});
};
exports.default = createBrowserHistory;
/***/ },
/* 7 */
/***/ function(module, exports) {

@@ -767,2 +575,95 @@

});
var canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
/***/ },
/* 8 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.go = exports.replaceLocation = exports.pushLocation = exports.startListener = exports.getUserConfirmation = exports.getCurrentLocation = undefined;
var _LocationUtils = __webpack_require__(1);
var _DOMUtils = __webpack_require__(9);
var _DOMStateStorage = __webpack_require__(10);
var _PathUtils = __webpack_require__(3);
/* eslint-disable no-alert */
var PopStateEvent = 'popstate';
var _createLocation = function _createLocation(historyState) {
var key = historyState && historyState.key;
return (0, _LocationUtils.createLocation)({
pathname: window.location.pathname,
search: window.location.search,
hash: window.location.hash,
state: key ? (0, _DOMStateStorage.readState)(key) : undefined
}, undefined, key);
};
var getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {
return _createLocation(window.history.state);
};
var getUserConfirmation = exports.getUserConfirmation = function getUserConfirmation(message, callback) {
return callback(window.confirm(message));
};
var startListener = exports.startListener = function startListener(listener) {
var handlePopState = function handlePopState(event) {
if (event.state !== undefined) // Ignore extraneous popstate events in WebKit
listener(_createLocation(event.state));
};
(0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);
return function () {
return (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);
};
};
var updateLocation = function updateLocation(location, updateState) {
var state = location.state;
var key = location.key;
if (state !== undefined) (0, _DOMStateStorage.saveState)(key, state);
updateState({ key: key }, (0, _PathUtils.createPath)(location));
};
var pushLocation = exports.pushLocation = function pushLocation(location) {
return updateLocation(location, function (state, path) {
return window.history.pushState(state, null, path);
});
};
var replaceLocation = exports.replaceLocation = function replaceLocation(location) {
return updateLocation(location, function (state, path) {
return window.history.replaceState(state, null, path);
});
};
var go = exports.go = function go(n) {
if (n) window.history.go(n);
};
/***/ },
/* 9 */
/***/ function(module, exports) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {

@@ -784,3 +685,3 @@ return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);

var supportsHistory = exports.supportsHistory = function supportsHistory() {
var ua = navigator.userAgent;
var ua = window.navigator.userAgent;

@@ -796,7 +697,7 @@ 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;

var supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {
return navigator.userAgent.indexOf('Firefox') === -1;
return window.navigator.userAgent.indexOf('Firefox') === -1;
};
/***/ },
/* 13 */
/* 10 */
/***/ function(module, exports, __webpack_require__) {

@@ -811,3 +712,3 @@

var _warning = __webpack_require__(10);
var _warning = __webpack_require__(4);

@@ -881,3 +782,3 @@ var _warning2 = _interopRequireDefault(_warning);

/***/ },
/* 14 */
/* 11 */
/***/ function(module, exports, __webpack_require__) {

@@ -892,3 +793,3 @@

var _BrowserProtocol = __webpack_require__(4);
var _BrowserProtocol = __webpack_require__(8);

@@ -908,5 +809,5 @@ Object.defineProperty(exports, 'getUserConfirmation', {

var _LocationUtils = __webpack_require__(5);
var _LocationUtils = __webpack_require__(1);
var _PathUtils = __webpack_require__(9);
var _PathUtils = __webpack_require__(3);

@@ -928,3 +829,3 @@ var getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {

/***/ },
/* 15 */
/* 12 */
/***/ function(module, exports, __webpack_require__) {

@@ -938,17 +839,13 @@

var _deepEqual = __webpack_require__(6);
var _AsyncUtils = __webpack_require__(13);
var _deepEqual2 = _interopRequireDefault(_deepEqual);
var _PathUtils = __webpack_require__(3);
var _AsyncUtils = __webpack_require__(16);
var _runTransitionHook = __webpack_require__(14);
var _PathUtils = __webpack_require__(9);
var _runTransitionHook = __webpack_require__(17);
var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);
var _Actions = __webpack_require__(11);
var _Actions = __webpack_require__(5);
var _LocationUtils = __webpack_require__(5);
var _LocationUtils = __webpack_require__(1);

@@ -1051,3 +948,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

if (nextPath === prevPath && (0, _deepEqual2.default)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;
if (nextPath === prevPath && (0, _LocationUtils.statesAreEqual)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;
}

@@ -1120,3 +1017,3 @@

/***/ },
/* 16 */
/* 13 */
/***/ function(module, exports) {

@@ -1166,3 +1063,3 @@

hasNext = false;
work.call(undefined, currentTurn++, next, done);
work(currentTurn++, next, done);
}

@@ -1188,3 +1085,3 @@

/***/ },
/* 17 */
/* 14 */
/***/ function(module, exports, __webpack_require__) {

@@ -1198,3 +1095,3 @@

var _warning = __webpack_require__(10);
var _warning = __webpack_require__(4);

@@ -1220,3 +1117,3 @@ var _warning2 = _interopRequireDefault(_warning);

/***/ },
/* 18 */
/* 15 */
/***/ function(module, exports, __webpack_require__) {

@@ -1232,3 +1129,3 @@

var _warning = __webpack_require__(10);
var _warning = __webpack_require__(4);

@@ -1241,11 +1138,11 @@ var _warning2 = _interopRequireDefault(_warning);

var _ExecutionEnvironment = __webpack_require__(3);
var _ExecutionEnvironment = __webpack_require__(7);
var _DOMUtils = __webpack_require__(12);
var _DOMUtils = __webpack_require__(9);
var _HashProtocol = __webpack_require__(19);
var _HashProtocol = __webpack_require__(16);
var HashProtocol = _interopRequireWildcard(_HashProtocol);
var _createHistory = __webpack_require__(15);
var _createHistory = __webpack_require__(12);

@@ -1341,3 +1238,3 @@ var _createHistory2 = _interopRequireDefault(_createHistory);

/***/ },
/* 19 */
/* 16 */
/***/ function(module, exports, __webpack_require__) {

@@ -1352,3 +1249,3 @@

var _BrowserProtocol = __webpack_require__(4);
var _BrowserProtocol = __webpack_require__(8);

@@ -1368,16 +1265,18 @@ Object.defineProperty(exports, 'getUserConfirmation', {

var _warning = __webpack_require__(10);
var _warning = __webpack_require__(4);
var _warning2 = _interopRequireDefault(_warning);
var _LocationUtils = __webpack_require__(5);
var _LocationUtils = __webpack_require__(1);
var _DOMUtils = __webpack_require__(12);
var _DOMUtils = __webpack_require__(9);
var _DOMStateStorage = __webpack_require__(13);
var _DOMStateStorage = __webpack_require__(10);
var _PathUtils = __webpack_require__(9);
var _PathUtils = __webpack_require__(3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var HashChangeEvent = 'hashchange';
var getHashPath = function getHashPath() {

@@ -1425,3 +1324,2 @@ // We can't use window.location.hash here because it's not

var HashChangeEvent = 'hashchange';
var prevLocation = void 0;

@@ -1483,3 +1381,3 @@

/***/ },
/* 20 */
/* 17 */
/***/ function(module, exports, __webpack_require__) {

@@ -1495,3 +1393,3 @@

var _warning = __webpack_require__(10);
var _warning = __webpack_require__(4);

@@ -1504,11 +1402,11 @@ var _warning2 = _interopRequireDefault(_warning);

var _LocationUtils = __webpack_require__(5);
var _LocationUtils = __webpack_require__(1);
var _PathUtils = __webpack_require__(9);
var _PathUtils = __webpack_require__(3);
var _createHistory = __webpack_require__(15);
var _createHistory = __webpack_require__(12);
var _createHistory2 = _interopRequireDefault(_createHistory);
var _Actions = __webpack_require__(11);
var _Actions = __webpack_require__(5);

@@ -1594,4 +1492,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var entries = options.entries;
var current = options.current;
var _options = options;
var entries = _options.entries;
var current = _options.current;

@@ -1631,3 +1530,3 @@

/***/ },
/* 21 */
/* 18 */
/***/ function(module, exports, __webpack_require__) {

@@ -1643,9 +1542,7 @@

var _ExecutionEnvironment = __webpack_require__(3);
var _runTransitionHook = __webpack_require__(14);
var _runTransitionHook = __webpack_require__(17);
var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);
var _PathUtils = __webpack_require__(9);
var _PathUtils = __webpack_require__(3);

@@ -1661,11 +1558,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// Automatically use the value of <base href> in HTML
// documents as basename if it's not explicitly given.
if (basename == null && _ExecutionEnvironment.canUseDOM) {
var base = document.getElementsByTagName('base')[0];
if (base) basename = base.getAttribute('href');
}
var addBasename = function addBasename(location) {

@@ -1760,3 +1649,3 @@ if (!location) return location;

/***/ },
/* 22 */
/* 19 */
/***/ function(module, exports, __webpack_require__) {

@@ -1776,5 +1665,5 @@

var _DOMUtils = __webpack_require__(12);
var _DOMUtils = __webpack_require__(9);
var _ExecutionEnvironment = __webpack_require__(3);
var _ExecutionEnvironment = __webpack_require__(7);

@@ -1847,3 +1736,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/***/ },
/* 23 */
/* 20 */
/***/ function(module, exports, __webpack_require__) {

@@ -1859,15 +1748,9 @@

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
var _queryString = __webpack_require__(21);
var _warning = __webpack_require__(10);
var _runTransitionHook = __webpack_require__(14);
var _warning2 = _interopRequireDefault(_warning);
var _queryString = __webpack_require__(24);
var _runTransitionHook = __webpack_require__(17);
var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);
var _PathUtils = __webpack_require__(9);
var _PathUtils = __webpack_require__(3);

@@ -1882,10 +1765,2 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var isNestedObject = function isNestedObject(object) {
for (var p in object) {
if (object.hasOwnProperty(p) && _typeof(object[p]) === 'object' && !Array.isArray(object[p]) && object[p] !== null) return true;
}
return false;
};
/**

@@ -1919,4 +1794,2 @@ * Returns a new createHistory function that may be used to create

false ? (0, _warning2.default)(stringifyQuery !== defaultStringifyQuery || !isNestedObject(query), 'useQueries does not stringify nested query objects by default; ' + 'use a custom stringifyQuery function') : void 0;
var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;

@@ -1993,7 +1866,7 @@ var queryString = stringifyQuery(query);

/***/ },
/* 24 */
/* 21 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var strictUriEncode = __webpack_require__(25);
var strictUriEncode = __webpack_require__(22);

@@ -2066,3 +1939,3 @@ exports.extract = function (str) {

/***/ },
/* 25 */
/* 22 */
/***/ function(module, exports) {

@@ -2069,0 +1942,0 @@

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.History=t():e.History=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Actions=t.useQueries=t.useBeforeUnload=t.useBasename=t.createMemoryHistory=t.createHashHistory=t.createHistory=void 0;var o=n(16),i=r(o),u=n(17),a=r(u),c=n(18),f=r(c),s=n(19),l=r(s),d=n(20),p=r(d),h=n(21),v=r(h),y=n(5),g=r(y);t.createHistory=i["default"],t.createHashHistory=a["default"],t.createMemoryHistory=f["default"],t.useBasename=l["default"],t.useBeforeUnload=p["default"],t.useQueries=v["default"],t.Actions=g["default"]},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPath=t.parsePath=t.getQueryStringValueFromPath=t.stripQueryStringValueFromPath=t.addQueryStringValueToPath=t.isAbsolutePath=void 0;var o=n(2),i=(r(o),t.isAbsolutePath=function(e){return"string"==typeof e&&"/"===e.charAt(0)},t.addQueryStringValueToPath=function(e,t,n){var r=u(e),o=r.pathname,i=r.search,c=r.hash;return a({pathname:o,search:i+(-1===i.indexOf("?")?"?":"&")+t+"="+n,hash:c})},t.stripQueryStringValueFromPath=function(e,t){var n=u(e),r=n.pathname,o=n.search,i=n.hash;return a({pathname:r,search:o.replace(new RegExp("([?&])"+t+"=[a-zA-Z0-9]+(&?)"),function(e,t,n){return"?"===t?t:n}),hash:i})},t.getQueryStringValueFromPath=function(e,t){var n=u(e),r=n.search,o=r.match(new RegExp("[?&]"+t+"=([a-zA-Z0-9]+)"));return o&&o[1]},function(e){var t=e.match(/^https?:\/\/[^\/]*/);return null==t?e:e.substring(t[0].length)}),u=t.parsePath=function(e){var t=i(e),n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substring(o),t=t.substring(0,o));var u=t.indexOf("?");return-1!==u&&(n=t.substring(u),t=t.substring(0,u)),""===t&&(t="/"),{pathname:t,search:n,hash:r}},a=t.createPath=function(e){if(null==e||"string"==typeof e)return e;var t=e.basename,n=e.pathname,r=e.search,o=e.hash,i=(t||"")+n;return r&&"?"!==r&&(i+=r),o&&(i+=o),i}},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.addEventListener=function(e,t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,n)},t.removeEventListener=function(e,t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent("on"+t,n)},t.supportsHistory=function(){var e=navigator.userAgent;return-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone")?window.history&&"pushState"in window.history:!1},t.supportsGoWithoutReloadUsingHash=function(){return-1===navigator.userAgent.indexOf("Firefox")}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.createLocation=t.locationsAreEqual=void 0;var o=n(12),i=r(o),u=n(1),a=n(5);t.locationsAreEqual=function(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&(0,i["default"])(e.state,t.state)},t.createLocation=function(){var e=arguments.length<=0||void 0===arguments[0]?"/":arguments[0],t=arguments.length<=1||void 0===arguments[1]?a.POP:arguments[1],n=arguments.length<=2||void 0===arguments[2]?null:arguments[2],r="string"==typeof e?(0,u.parsePath)(e):e,o=r.pathname||"/",i=r.search||"",c=r.hash||"",f=r.state;return{pathname:o,search:i,hash:c,state:f,action:t,key:n}}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.PUSH="PUSH",t.REPLACE="REPLACE",t.POP="POP"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement)},function(e,t,n){"use strict";var r=function(e,t,n,r,o,i,u,a){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[n,r,o,i,u,a],s=0;c=new Error(t.replace(/%s/g,function(){return f[s++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}};e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.go=t.replaceLocation=t.pushLocation=t.startListener=t.getUserConfirmation=t.getCurrentLocation=void 0;var r=n(4),o=n(3),i=n(11),u=n(1),a=function(e){var t=e&&e.key;return(0,r.createLocation)({pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,state:t?(0,i.readState)(t):void 0},void 0,t)},c=(t.getCurrentLocation=function(){return a(window.history.state)},t.getUserConfirmation=function(e,t){return t(window.confirm(e))},"popstate"),f=(t.startListener=function(e){var t=function(t){void 0!==t.state&&e(a(t.state))};return(0,o.addEventListener)(window,c,t),function(){return(0,o.removeEventListener)(window,c,t)}},function(e,t){var n=e.state,r=e.key;void 0!==n&&(0,i.saveState)(r,n),t({key:r},(0,u.createPath)(e))});t.pushLocation=function(e){return f(e,function(e,t){return window.history.pushState(e,null,t)})},t.replaceLocation=function(e){return f(e,function(e,t){return window.history.replaceState(e,null,t)})},t.go=function(e){e&&window.history.go(e)}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),u=r(i),a=n(13),c=n(1),f=n(10),s=r(f),l=n(5),d=n(4),p=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.getCurrentLocation,n=e.getUserConfirmation,r=e.pushLocation,i=e.replaceLocation,f=e.go,p=e.keyLength,h=void 0,v=void 0,y=[],g=[],m=[],P=function(){return v&&v.action===l.POP?m.indexOf(v.key):h?m.indexOf(h.key):-1},b=function(e){h=e;var t=P();h.action===l.PUSH?m=[].concat(o(m.slice(0,t+1)),[h.key]):h.action===l.REPLACE&&(m[t]=h.key),g.forEach(function(e){return e(h)})},O=function(e){return y.push(e),function(){return y=y.filter(function(t){return t!==e})}},w=function(e){return g.push(e),function(){return g=g.filter(function(t){return t!==e})}},L=function(e,t){(0,a.loopAsync)(y.length,function(t,n,r){(0,s["default"])(y[t],e,function(e){return null!=e?r(e):n()})},function(e){n&&"string"==typeof e?n(e,function(e){return t(e!==!1)}):t(e!==!1)})},_=function(e){h&&(0,d.locationsAreEqual)(h,e)||v&&(0,d.locationsAreEqual)(v,e)||(v=e,L(e,function(t){if(v===e)if(v=null,t){if(e.action===l.PUSH){var n=(0,c.createPath)(h),o=(0,c.createPath)(e);o===n&&(0,u["default"])(h.state,e.state)&&(e.action=l.REPLACE)}e.action===l.POP?b(e):e.action===l.PUSH?r(e)!==!1&&b(e):e.action===l.REPLACE&&i(e)!==!1&&b(e)}else if(h&&e.action===l.POP){var a=m.indexOf(h.key),s=m.indexOf(e.key);-1!==a&&-1!==s&&f(a-s)}}))},j=function(e){return _(x(e,l.PUSH))},A=function(e){return _(x(e,l.REPLACE))},E=function(){return f(-1)},M=function(){return f(1)},C=function(){return Math.random().toString(36).substr(2,p||6)},S=function(e){return(0,c.createPath)(e)},x=function(e,t){var n=arguments.length<=2||void 0===arguments[2]?C():arguments[2];return(0,d.createLocation)(e,t,n)};return{getCurrentLocation:t,listenBefore:O,listen:w,transitionTo:_,push:j,replace:A,go:f,goBack:E,goForward:M,createKey:C,createPath:c.createPath,createHref:S,createLocation:x}};t["default"]=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),i=(r(o),function(e,t,n){var r=e(t,n);e.length<2&&n(r)});t["default"]=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.readState=t.saveState=void 0;var o=n(2),i=(r(o),["QuotaExceededError","QUOTA_EXCEEDED_ERR"]),u="SecurityError",a="@@History/",c=function(e){return a+e};t.saveState=function(e,t){try{null==t?window.sessionStorage.removeItem(c(e)):window.sessionStorage.setItem(c(e),JSON.stringify(t))}catch(n){if(n.name===u)return;if(i.indexOf(n.name)>=0&&0===window.sessionStorage.length)return;throw n}},t.readState=function(e){var t=void 0;try{t=window.sessionStorage.getItem(c(e))}catch(n){if(n.name===u)return}if(t)try{return JSON.parse(t)}catch(n){}}},function(e,t,n){function r(e){return null===e||void 0===e}function o(e){return e&&"object"==typeof e&&"number"==typeof e.length?"function"!=typeof e.copy||"function"!=typeof e.slice?!1:!(e.length>0&&"number"!=typeof e[0]):!1}function i(e,t,n){var i,s;if(r(e)||r(t))return!1;if(e.prototype!==t.prototype)return!1;if(c(e))return c(t)?(e=u.call(e),t=u.call(t),f(e,t,n)):!1;if(o(e)){if(!o(t))return!1;if(e.length!==t.length)return!1;for(i=0;i<e.length;i++)if(e[i]!==t[i])return!1;return!0}try{var l=a(e),d=a(t)}catch(p){return!1}if(l.length!=d.length)return!1;for(l.sort(),d.sort(),i=l.length-1;i>=0;i--)if(l[i]!=d[i])return!1;for(i=l.length-1;i>=0;i--)if(s=l[i],!f(e[s],t[s],n))return!1;return typeof e==typeof t}var u=Array.prototype.slice,a=n(23),c=n(22),f=e.exports=function(e,t,n){return n||(n={}),e===t?!0:e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||"object"!=typeof e&&"object"!=typeof t?n.strict?e===t:e==t:i(e,t,n)}},function(e,t){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,"__esModule",{value:!0});t.loopAsync=function(e,t,r){var o=0,i=!1,u=!1,a=!1,c=void 0,f=function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return i=!0,u?void(c=t):void r.apply(void 0,t)},s=function l(){if(!i&&(a=!0,!u)){for(u=!0;!i&&e>o&&a;)a=!1,t.call(void 0,o++,l,f);return u=!1,i?void r.apply(void 0,n(c)):void(o>=e&&a&&(i=!0,r()))}};s()}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.replaceLocation=t.pushLocation=t.startListener=t.getCurrentLocation=t.go=t.getUserConfirmation=void 0;var o=n(8);Object.defineProperty(t,"getUserConfirmation",{enumerable:!0,get:function(){return o.getUserConfirmation}}),Object.defineProperty(t,"go",{enumerable:!0,get:function(){return o.go}});var i=n(2),u=(r(i),n(4)),a=n(3),c=n(11),f=n(1),s=function(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)},l=function(e){return window.location.hash=e},d=function(e){return window.location.replace(window.location.pathname+window.location.search+"#"+e)},p=function(){var e=s();return(0,f.isAbsolutePath)(e)?!0:(d("/"+e),!1)},h=t.getCurrentLocation=function(e){var t=s(),n=(0,f.getQueryStringValueFromPath)(t,e),r=void 0;n&&(t=(0,f.stripQueryStringValueFromPath)(t,e),r=(0,c.readState)(n));var o=(0,f.parsePath)(t);return o.state=r,(0,u.createLocation)(o,void 0,n)},v="hashchange",y=void 0,g=(t.startListener=function(e,t){var n=function(){if(p()){var n=h(t);y&&n.key&&y.key===n.key||(y=n,e(n))}};return p(),(0,a.addEventListener)(window,v,n),function(){return(0,a.removeEventListener)(window,v,n)}},function(e,t,n){var r=e.state,o=e.key,i=(0,f.createPath)(e);void 0!==r&&(i=(0,f.addQueryStringValueToPath)(i,t,o),(0,c.saveState)(o,r)),y=e,n(i)});t.pushLocation=function(e,t){return g(e,t,function(e){s()!==e&&l(e)})},t.replaceLocation=function(e,t){return g(e,t,function(e){s()!==e&&d(e)})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceLocation=t.pushLocation=t.getCurrentLocation=t.go=t.getUserConfirmation=void 0;var r=n(8);Object.defineProperty(t,"getUserConfirmation",{enumerable:!0,get:function(){return r.getUserConfirmation}}),Object.defineProperty(t,"go",{enumerable:!0,get:function(){return r.go}});var o=n(4),i=n(1);t.getCurrentLocation=function(){return(0,o.createLocation)(window.location)},t.pushLocation=function(e){return window.location.href=(0,i.createPath)(e),!1},t.replaceLocation=function(e){return window.location.replace((0,i.createPath)(e)),!1}},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(7),a=o(u),c=n(6),f=n(8),s=r(f),l=n(15),d=r(l),p=n(3),h=n(9),v=o(h),y=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];c.canUseDOM?void 0:(0,a["default"])(!1);var t=e.forceRefresh||!(0,p.supportsHistory)(),n=t?d:s,r=n.getUserConfirmation,o=n.getCurrentLocation,u=n.pushLocation,f=n.replaceLocation,l=n.go,h=(0,v["default"])(i({getUserConfirmation:r},e,{getCurrentLocation:o,pushLocation:u,replaceLocation:f,go:l})),y=0,g=void 0,m=function(e,t){1===++y&&(g=s.startListener(h.transitionTo));var n=t?h.listenBefore(e):h.listen(e);return function(){n(),0===--y&&g()}},P=function(e){return m(e,!0)},b=function(e){return m(e,!1)};return i({},h,{listenBefore:P,listen:b})};t["default"]=y},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(2),a=(o(u),n(7)),c=o(a),f=n(6),s=n(3),l=n(14),d=r(l),p=n(9),h=o(p),v="_k",y=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];f.canUseDOM?void 0:(0,c["default"])(!1);var t=e.queryKey;"string"!=typeof t&&(t=v);var n=d.getUserConfirmation,r=function(){return d.getCurrentLocation(t)},o=function(e){return d.pushLocation(e,t)},u=function(e){return d.replaceLocation(e,t)},a=(0,h["default"])(i({getUserConfirmation:n},e,{getCurrentLocation:r,pushLocation:o,replaceLocation:u,go:d.go})),l=0,p=void 0,y=function(e,n){1===++l&&(p=d.startListener(a.transitionTo,t));var r=n?a.listenBefore(e):a.listen(e);return function(){r(),0===--l&&p()}},g=function(e){return y(e,!0)},m=function(e){return y(e,!1)},P=((0,s.supportsGoWithoutReloadUsingHash)(),function(e){a.go(e)}),b=function(e){return"#"+a.createHref(e)};return i({},a,{listenBefore:g,listen:m,go:P,createHref:b})};t["default"]=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(2),u=(r(i),n(7)),a=r(u),c=n(4),f=n(1),s=n(9),l=r(s),d=n(5),p=function(e){return e.filter(function(e){return e.state}).reduce(function(e,t){return e[t.key]=t.state,e},{})},h=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];Array.isArray(e)?e={entries:e}:"string"==typeof e&&(e={entries:[e]});var t=function(){var e=h[v],t=(0,f.createPath)(e),n=void 0,r=void 0;e.key&&(n=e.key,r=m(n));var i=(0,f.parsePath)(t);return(0,c.createLocation)(o({},i,{state:r}),void 0,n)},n=function(e){var t=v+e;return t>=0&&t<h.length},r=function(e){if(e&&n(e)){v+=e;var r=t();s.transitionTo(o({},r,{action:d.POP}))}},i=function(e){v+=1,v<h.length&&h.splice(v),h.push(e),g(e.key,e.state)},u=function(e){h[v]=e,g(e.key,e.state)},s=(0,l["default"])(o({},e,{getCurrentLocation:t,pushLocation:i,replaceLocation:u,go:r})),h=e.entries,v=e.current;"string"==typeof h?h=[h]:Array.isArray(h)||(h=["/"]),h=h.map(function(e){return(0,c.createLocation)(e)}),null==v?v=h.length-1:v>=0&&v<h.length?void 0:(0,a["default"])(!1);var y=p(h),g=function(e,t){return y[e]=t},m=function(e){return y[e]};return s};t["default"]=h},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(6),u=n(10),a=r(u),c=n(1),f=function(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e(t),r=t.basename;if(null==r&&i.canUseDOM){var u=document.getElementsByTagName("base")[0];u&&(r=u.getAttribute("href"))}var f=function(e){return e?(r&&null==e.basename&&(0===e.pathname.indexOf(r)?(e.pathname=e.pathname.substring(r.length),e.basename=r,""===e.pathname&&(e.pathname="/")):e.basename=""),e):e},s=function(e){if(!r)return e;var t="string"==typeof e?(0,c.parsePath)(e):e,n=t.pathname,i="/"===r.slice(-1)?r:r+"/",u="/"===n.charAt(0)?n.slice(1):n,a=i+u;return o({},e,{pathname:a})},l=function(){return f(n.getCurrentLocation())},d=function(e){return n.listenBefore(function(t,n){return(0,a["default"])(e,f(t),n)})},p=function(e){return n.listen(function(t){return e(f(t))})},h=function(e){return n.push(s(e))},v=function(e){return n.replace(s(e))},y=function(e){return n.createPath(s(e))},g=function(e){return n.createHref(s(e))},m=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;t>o;o++)r[o-1]=arguments[o];return f(n.createLocation.apply(n,[s(e)].concat(r)))};return o({},n,{getCurrentLocation:l,listenBefore:d,listen:p,push:h,replace:v,createPath:y,createHref:g,createLocation:m})}};t["default"]=f},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(7),u=r(i),a=n(3),c=n(6),f=function(e){var t=function(t){var n=e();return"string"==typeof n?((t||window.event).returnValue=n,n):void 0};return(0,a.addEventListener)(window,"beforeunload",t),function(){return(0,a.removeEventListener)(window,"beforeunload",t)}},s=function(e){return c.canUseDOM?void 0:(0,u["default"])(!1),function(t){var n=e(t),r=[],i=void 0,u=function(){for(var e=void 0,t=0,n=r.length;null==e&&n>t;++t)e=r[t].call();return e},a=function(e){return 1===r.push(e)&&(i=f(u)),function(){r=r.filter(function(t){return t!==e}),0===r.length&&i&&(i(),i=null)}};return o({},n,{listenBeforeUnload:a})}};t["default"]=s},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n(2)),u=(r(i),n(24)),a=n(10),c=r(a),f=n(1),s=function(e){return(0,u.stringify)(e).replace(/%20/g,"+")},l=u.parse,d=function(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e(t),r=t.stringifyQuery,i=t.parseQueryString;"function"!=typeof r&&(r=s),"function"!=typeof i&&(i=l);var u=function(e){return e?(null==e.query&&(e.query=i(e.search.substring(1))),e):e},a=function(e,t){if(null==t)return e;var n="string"==typeof e?(0,f.parsePath)(e):e,i=r(t),u=i?"?"+i:"";return o({},n,{search:u})},d=function(){return u(n.getCurrentLocation())},p=function(e){return n.listenBefore(function(t,n){return(0,c["default"])(e,u(t),n)})},h=function(e){return n.listen(function(t){return e(u(t))})},v=function(e){return n.push(a(e,e.query))},y=function(e){return n.replace(a(e,e.query))},g=function(e){return n.createPath(a(e,e.query))},m=function(e){return n.createHref(a(e,e.query))},P=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;t>o;o++)r[o-1]=arguments[o];var i=n.createLocation.apply(n,[a(e,e.query)].concat(r));return e.query&&(i.query=e.query),u(i)};return o({},n,{getCurrentLocation:d,listenBefore:p,listen:h,push:v,replace:y,createPath:g,createHref:m,createLocation:P})}};t["default"]=d},function(e,t){function n(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function r(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,"callee")&&!Object.prototype.propertyIsEnumerable.call(e,"callee")||!1}var o="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();t=e.exports=o?n:r,t.supported=n,t.unsupported=r},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}t=e.exports="function"==typeof Object.keys?Object.keys:n,t.shim=n},function(e,t,n){"use strict";var r=n(25);t.extract=function(e){return e.split("?")[1]||""},t.parse=function(e){return"string"!=typeof e?{}:(e=e.trim().replace(/^(\?|#|&)/,""),e?e.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),r=n.shift(),o=n.length>0?n.join("="):void 0;return r=decodeURIComponent(r),o=void 0===o?null:decodeURIComponent(o),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]:e[r]=o,e},{}):{})},t.stringify=function(e){return e?Object.keys(e).sort().map(function(t){var n=e[t];return void 0===n?"":null===n?t:Array.isArray(n)?n.slice().sort().map(function(e){return r(t)+"="+r(e)}).join("&"):r(t)+"="+r(n)}).filter(function(e){return e.length>0}).join("&"):""}},function(e,t){"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.History=t():e.History=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.locationsAreEqual=t.Actions=t.useQueries=t.useBeforeUnload=t.useBasename=t.createMemoryHistory=t.createHashHistory=t.createHistory=void 0;var o=n(2);Object.defineProperty(t,"locationsAreEqual",{enumerable:!0,get:function(){return o.locationsAreEqual}});var i=n(15),a=r(i),u=n(16),c=r(u),f=n(17),s=r(f),l=n(18),d=r(l),p=n(19),v=r(p),h=n(20),y=r(h),g=n(6),m=r(g);t.createHistory=a["default"],t.createHashHistory=c["default"],t.createMemoryHistory=s["default"],t.useBasename=d["default"],t.useBeforeUnload=v["default"],t.useQueries=y["default"],t.Actions=m["default"]},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPath=t.parsePath=t.getQueryStringValueFromPath=t.stripQueryStringValueFromPath=t.addQueryStringValueToPath=t.isAbsolutePath=void 0;var o=n(3),i=(r(o),t.isAbsolutePath=function(e){return"string"==typeof e&&"/"===e.charAt(0)},t.addQueryStringValueToPath=function(e,t,n){var r=a(e),o=r.pathname,i=r.search,c=r.hash;return u({pathname:o,search:i+(-1===i.indexOf("?")?"?":"&")+t+"="+n,hash:c})},t.stripQueryStringValueFromPath=function(e,t){var n=a(e),r=n.pathname,o=n.search,i=n.hash;return u({pathname:r,search:o.replace(new RegExp("([?&])"+t+"=[a-zA-Z0-9]+(&?)"),function(e,t,n){return"?"===t?t:n}),hash:i})},t.getQueryStringValueFromPath=function(e,t){var n=a(e),r=n.search,o=r.match(new RegExp("[?&]"+t+"=([a-zA-Z0-9]+)"));return o&&o[1]},function(e){var t=e.match(/^https?:\/\/[^\/]*/);return null==t?e:e.substring(t[0].length)}),a=t.parsePath=function(e){var t=i(e),n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substring(o),t=t.substring(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substring(a),t=t.substring(0,a)),""===t&&(t="/"),{pathname:t,search:n,hash:r}},u=t.createPath=function(e){if(null==e||"string"==typeof e)return e;var t=e.basename,n=e.pathname,r=e.search,o=e.hash,i=(t||"")+n;return r&&"?"!==r&&(i+=r),o&&(i+=o),i}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.locationsAreEqual=t.statesAreEqual=t.createLocation=void 0;var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},i=n(5),a=r(i),u=n(1),c=n(6),f=(t.createLocation=function(){var e=arguments.length<=0||void 0===arguments[0]?"/":arguments[0],t=arguments.length<=1||void 0===arguments[1]?c.POP:arguments[1],n=arguments.length<=2||void 0===arguments[2]?null:arguments[2],r="string"==typeof e?(0,u.parsePath)(e):e,o=r.pathname||"/",i=r.search||"",a=r.hash||"",f=r.state;return{pathname:o,search:i,hash:a,state:f,action:t,key:n}},function(e){return"[object Date]"===Object.prototype.toString.call(e)}),s=t.statesAreEqual=function l(e,t){if(e===t)return!0;var n="undefined"==typeof e?"undefined":o(e),r="undefined"==typeof t?"undefined":o(t);return n!==r?!1:("function"===n?(0,a["default"])(!1):void 0,"object"===n?(f(e)&&f(t)?(0,a["default"])(!1):void 0,Array.isArray(e)?Array.isArray(t)&&e.length===t.length&&e.every(function(e,n){return l(e,t[n])}):Object.keys(e).every(function(n){return l(e[n],t[n])})):!1)};t.locationsAreEqual=function(e,t){return e.key===t.key&&e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&s(e.state,t.state)}},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.addEventListener=function(e,t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,n)},t.removeEventListener=function(e,t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent("on"+t,n)},t.supportsHistory=function(){var e=window.navigator.userAgent;return-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone")?window.history&&"pushState"in window.history:!1},t.supportsGoWithoutReloadUsingHash=function(){return-1===window.navigator.userAgent.indexOf("Firefox")}},function(e,t,n){"use strict";var r=function(e,t,n,r,o,i,a,u){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[n,r,o,i,a,u],s=0;c=new Error(t.replace(/%s/g,function(){return f[s++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}};e.exports=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.PUSH="PUSH",t.REPLACE="REPLACE",t.POP="POP"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.go=t.replaceLocation=t.pushLocation=t.startListener=t.getUserConfirmation=t.getCurrentLocation=void 0;var r=n(2),o=n(4),i=n(11),a=n(1),u="popstate",c=function(e){var t=e&&e.key;return(0,r.createLocation)({pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,state:t?(0,i.readState)(t):void 0},void 0,t)},f=(t.getCurrentLocation=function(){return c(window.history.state)},t.getUserConfirmation=function(e,t){return t(window.confirm(e))},t.startListener=function(e){var t=function(t){void 0!==t.state&&e(c(t.state))};return(0,o.addEventListener)(window,u,t),function(){return(0,o.removeEventListener)(window,u,t)}},function(e,t){var n=e.state,r=e.key;void 0!==n&&(0,i.saveState)(r,n),t({key:r},(0,a.createPath)(e))});t.pushLocation=function(e){return f(e,function(e,t){return window.history.pushState(e,null,t)})},t.replaceLocation=function(e){return f(e,function(e,t){return window.history.replaceState(e,null,t)})},t.go=function(e){e&&window.history.go(e)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),a=n(1),u=n(10),c=r(u),f=n(6),s=n(2),l=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.getCurrentLocation,n=e.getUserConfirmation,r=e.pushLocation,u=e.replaceLocation,l=e.go,d=e.keyLength,p=void 0,v=void 0,h=[],y=[],g=[],m=function(){return v&&v.action===f.POP?g.indexOf(v.key):p?g.indexOf(p.key):-1},P=function(e){p=e;var t=m();p.action===f.PUSH?g=[].concat(o(g.slice(0,t+1)),[p.key]):p.action===f.REPLACE&&(g[t]=p.key),y.forEach(function(e){return e(p)})},w=function(e){return h.push(e),function(){return h=h.filter(function(t){return t!==e})}},O=function(e){return y.push(e),function(){return y=y.filter(function(t){return t!==e})}},L=function(e,t){(0,i.loopAsync)(h.length,function(t,n,r){(0,c["default"])(h[t],e,function(e){return null!=e?r(e):n()})},function(e){n&&"string"==typeof e?n(e,function(e){return t(e!==!1)}):t(e!==!1)})},b=function(e){p&&(0,s.locationsAreEqual)(p,e)||v&&(0,s.locationsAreEqual)(v,e)||(v=e,L(e,function(t){if(v===e)if(v=null,t){if(e.action===f.PUSH){var n=(0,a.createPath)(p),o=(0,a.createPath)(e);o===n&&(0,s.statesAreEqual)(p.state,e.state)&&(e.action=f.REPLACE)}e.action===f.POP?P(e):e.action===f.PUSH?r(e)!==!1&&P(e):e.action===f.REPLACE&&u(e)!==!1&&P(e)}else if(p&&e.action===f.POP){var i=g.indexOf(p.key),c=g.indexOf(e.key);-1!==i&&-1!==c&&l(i-c)}}))},_=function(e){return b(S(e,f.PUSH))},A=function(e){return b(S(e,f.REPLACE))},E=function(){return l(-1)},j=function(){return l(1)},C=function(){return Math.random().toString(36).substr(2,d||6)},M=function(e){return(0,a.createPath)(e)},S=function(e,t){var n=arguments.length<=2||void 0===arguments[2]?C():arguments[2];return(0,s.createLocation)(e,t,n)};return{getCurrentLocation:t,listenBefore:w,listen:O,transitionTo:b,push:_,replace:A,go:l,goBack:E,goForward:j,createKey:C,createPath:a.createPath,createHref:M,createLocation:S}};t["default"]=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(3),i=(r(o),function(e,t,n){var r=e(t,n);e.length<2&&n(r)});t["default"]=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.readState=t.saveState=void 0;var o=n(3),i=(r(o),["QuotaExceededError","QUOTA_EXCEEDED_ERR"]),a="SecurityError",u="@@History/",c=function(e){return u+e};t.saveState=function(e,t){try{null==t?window.sessionStorage.removeItem(c(e)):window.sessionStorage.setItem(c(e),JSON.stringify(t))}catch(n){if(n.name===a)return;if(i.indexOf(n.name)>=0&&0===window.sessionStorage.length)return;throw n}},t.readState=function(e){var t=void 0;try{t=window.sessionStorage.getItem(c(e))}catch(n){if(n.name===a)return}if(t)try{return JSON.parse(t)}catch(n){}}},function(e,t){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,"__esModule",{value:!0});t.loopAsync=function(e,t,r){var o=0,i=!1,a=!1,u=!1,c=void 0,f=function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return i=!0,a?void(c=t):void r.apply(void 0,t)},s=function l(){if(!i&&(u=!0,!a)){for(a=!0;!i&&e>o&&u;)u=!1,t(o++,l,f);return a=!1,i?void r.apply(void 0,n(c)):void(o>=e&&u&&(i=!0,r()))}};s()}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.replaceLocation=t.pushLocation=t.startListener=t.getCurrentLocation=t.go=t.getUserConfirmation=void 0;var o=n(7);Object.defineProperty(t,"getUserConfirmation",{enumerable:!0,get:function(){return o.getUserConfirmation}}),Object.defineProperty(t,"go",{enumerable:!0,get:function(){return o.go}});var i=n(3),a=(r(i),n(2)),u=n(4),c=n(11),f=n(1),s="hashchange",l=function(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)},d=function(e){return window.location.hash=e},p=function(e){return window.location.replace(window.location.pathname+window.location.search+"#"+e)},v=function(){var e=l();return(0,f.isAbsolutePath)(e)?!0:(p("/"+e),!1)},h=t.getCurrentLocation=function(e){var t=l(),n=(0,f.getQueryStringValueFromPath)(t,e),r=void 0;n&&(t=(0,f.stripQueryStringValueFromPath)(t,e),r=(0,c.readState)(n));var o=(0,f.parsePath)(t);return o.state=r,(0,a.createLocation)(o,void 0,n)},y=void 0,g=(t.startListener=function(e,t){var n=function(){if(v()){var n=h(t);y&&n.key&&y.key===n.key||(y=n,e(n))}};return v(),(0,u.addEventListener)(window,s,n),function(){return(0,u.removeEventListener)(window,s,n)}},function(e,t,n){var r=e.state,o=e.key,i=(0,f.createPath)(e);void 0!==r&&(i=(0,f.addQueryStringValueToPath)(i,t,o),(0,c.saveState)(o,r)),y=e,n(i)});t.pushLocation=function(e,t){return g(e,t,function(e){l()!==e&&d(e)})},t.replaceLocation=function(e,t){return g(e,t,function(e){l()!==e&&p(e)})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceLocation=t.pushLocation=t.getCurrentLocation=t.go=t.getUserConfirmation=void 0;var r=n(7);Object.defineProperty(t,"getUserConfirmation",{enumerable:!0,get:function(){return r.getUserConfirmation}}),Object.defineProperty(t,"go",{enumerable:!0,get:function(){return r.go}});var o=n(2),i=n(1);t.getCurrentLocation=function(){return(0,o.createLocation)(window.location)},t.pushLocation=function(e){return window.location.href=(0,i.createPath)(e),!1},t.replaceLocation=function(e){return window.location.replace((0,i.createPath)(e)),!1}},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(5),u=o(a),c=n(8),f=n(7),s=r(f),l=n(14),d=r(l),p=n(4),v=n(9),h=o(v),y=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];c.canUseDOM?void 0:(0,u["default"])(!1);var t=e.forceRefresh||!(0,p.supportsHistory)(),n=t?d:s,r=n.getUserConfirmation,o=n.getCurrentLocation,a=n.pushLocation,f=n.replaceLocation,l=n.go,v=(0,h["default"])(i({getUserConfirmation:r},e,{getCurrentLocation:o,pushLocation:a,replaceLocation:f,go:l})),y=0,g=void 0,m=function(e,t){1===++y&&(g=s.startListener(v.transitionTo));var n=t?v.listenBefore(e):v.listen(e);return function(){n(),0===--y&&g()}},P=function(e){return m(e,!0)},w=function(e){return m(e,!1)};return i({},v,{listenBefore:P,listen:w})};t["default"]=y},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(3),u=(o(a),n(5)),c=o(u),f=n(8),s=n(4),l=n(13),d=r(l),p=n(9),v=o(p),h="_k",y=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];f.canUseDOM?void 0:(0,c["default"])(!1);var t=e.queryKey;"string"!=typeof t&&(t=h);var n=d.getUserConfirmation,r=function(){return d.getCurrentLocation(t)},o=function(e){return d.pushLocation(e,t)},a=function(e){return d.replaceLocation(e,t)},u=(0,v["default"])(i({getUserConfirmation:n},e,{getCurrentLocation:r,pushLocation:o,replaceLocation:a,go:d.go})),l=0,p=void 0,y=function(e,n){1===++l&&(p=d.startListener(u.transitionTo,t));var r=n?u.listenBefore(e):u.listen(e);return function(){r(),0===--l&&p()}},g=function(e){return y(e,!0)},m=function(e){return y(e,!1)},P=((0,s.supportsGoWithoutReloadUsingHash)(),function(e){u.go(e)}),w=function(e){return"#"+u.createHref(e)};return i({},u,{listenBefore:g,listen:m,go:P,createHref:w})};t["default"]=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(3),a=(r(i),n(5)),u=r(a),c=n(2),f=n(1),s=n(9),l=r(s),d=n(6),p=function(e){return e.filter(function(e){return e.state}).reduce(function(e,t){return e[t.key]=t.state,e},{})},v=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];Array.isArray(e)?e={entries:e}:"string"==typeof e&&(e={entries:[e]});var t=function(){var e=h[y],t=(0,f.createPath)(e),n=void 0,r=void 0;e.key&&(n=e.key,r=P(n));var i=(0,f.parsePath)(t);return(0,c.createLocation)(o({},i,{state:r}),void 0,n)},n=function(e){var t=y+e;return t>=0&&t<h.length},r=function(e){if(e&&n(e)){y+=e;var r=t();s.transitionTo(o({},r,{action:d.POP}))}},i=function(e){y+=1,y<h.length&&h.splice(y),h.push(e),m(e.key,e.state)},a=function(e){h[y]=e,m(e.key,e.state)},s=(0,l["default"])(o({},e,{getCurrentLocation:t,pushLocation:i,replaceLocation:a,go:r})),v=e,h=v.entries,y=v.current;"string"==typeof h?h=[h]:Array.isArray(h)||(h=["/"]),h=h.map(function(e){return(0,c.createLocation)(e)}),null==y?y=h.length-1:y>=0&&y<h.length?void 0:(0,u["default"])(!1);var g=p(h),m=function(e,t){return g[e]=t},P=function(e){return g[e]};return s};t["default"]=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(10),a=r(i),u=n(1),c=function(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e(t),r=t.basename,i=function(e){return e?(r&&null==e.basename&&(0===e.pathname.indexOf(r)?(e.pathname=e.pathname.substring(r.length),e.basename=r,""===e.pathname&&(e.pathname="/")):e.basename=""),e):e},c=function(e){if(!r)return e;var t="string"==typeof e?(0,u.parsePath)(e):e,n=t.pathname,i="/"===r.slice(-1)?r:r+"/",a="/"===n.charAt(0)?n.slice(1):n,c=i+a;return o({},e,{pathname:c})},f=function(){return i(n.getCurrentLocation())},s=function(e){return n.listenBefore(function(t,n){return(0,a["default"])(e,i(t),n)})},l=function(e){return n.listen(function(t){return e(i(t))})},d=function(e){return n.push(c(e))},p=function(e){return n.replace(c(e))},v=function(e){return n.createPath(c(e))},h=function(e){return n.createHref(c(e))},y=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;t>o;o++)r[o-1]=arguments[o];return i(n.createLocation.apply(n,[c(e)].concat(r)))};return o({},n,{getCurrentLocation:f,listenBefore:s,listen:l,push:d,replace:p,createPath:v,createHref:h,createLocation:y})}};t["default"]=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(5),a=r(i),u=n(4),c=n(8),f=function(e){var t=function(t){var n=e();return"string"==typeof n?((t||window.event).returnValue=n,n):void 0};return(0,u.addEventListener)(window,"beforeunload",t),function(){return(0,u.removeEventListener)(window,"beforeunload",t)}},s=function(e){return c.canUseDOM?void 0:(0,a["default"])(!1),function(t){var n=e(t),r=[],i=void 0,a=function(){for(var e=void 0,t=0,n=r.length;null==e&&n>t;++t)e=r[t].call();return e},u=function(e){return 1===r.push(e)&&(i=f(a)),function(){r=r.filter(function(t){return t!==e}),0===r.length&&i&&(i(),i=null)}};return o({},n,{listenBeforeUnload:u})}};t["default"]=s},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(21),a=n(10),u=r(a),c=n(1),f=function(e){return(0,i.stringify)(e).replace(/%20/g,"+")},s=i.parse,l=function(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=e(t),r=t.stringifyQuery,i=t.parseQueryString;"function"!=typeof r&&(r=f),"function"!=typeof i&&(i=s);var a=function(e){return e?(null==e.query&&(e.query=i(e.search.substring(1))),e):e},l=function(e,t){if(null==t)return e;var n="string"==typeof e?(0,c.parsePath)(e):e,i=r(t),a=i?"?"+i:"";return o({},n,{search:a})},d=function(){return a(n.getCurrentLocation())},p=function(e){return n.listenBefore(function(t,n){return(0,u["default"])(e,a(t),n)})},v=function(e){return n.listen(function(t){return e(a(t))})},h=function(e){return n.push(l(e,e.query))},y=function(e){return n.replace(l(e,e.query))},g=function(e){return n.createPath(l(e,e.query))},m=function(e){return n.createHref(l(e,e.query))},P=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;t>o;o++)r[o-1]=arguments[o];var i=n.createLocation.apply(n,[l(e,e.query)].concat(r));return e.query&&(i.query=e.query),a(i)};return o({},n,{getCurrentLocation:d,listenBefore:p,listen:v,push:h,replace:y,createPath:g,createHref:m,createLocation:P})}};t["default"]=l},function(e,t,n){"use strict";var r=n(22);t.extract=function(e){return e.split("?")[1]||""},t.parse=function(e){return"string"!=typeof e?{}:(e=e.trim().replace(/^(\?|#|&)/,""),e?e.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),r=n.shift(),o=n.length>0?n.join("="):void 0;return r=decodeURIComponent(r),o=void 0===o?null:decodeURIComponent(o),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]:e[r]=o,e},{}):{})},t.stringify=function(e){return e?Object.keys(e).sort().map(function(t){var n=e[t];return void 0===n?"":null===n?t:Array.isArray(n)?n.slice().sort().map(function(e){return r(t)+"="+r(e)}).join("&"):r(t)+"="+r(n)}).filter(function(e){return e.length>0}).join("&"):""}},function(e,t){"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}}])});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc